public class org.springframework.expression.spel.ast.OperatorInstanceof extends org.springframework.expression.spel.ast.Operator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.expression.spel.ast.OperatorInstanceof
  super_class: org.springframework.expression.spel.ast.Operator
{
  private java.lang.Class<?> type;
    descriptor: Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void <init>(int, int, org.springframework.expression.spel.ast.SpelNodeImpl[]);
    descriptor: (II[Lorg/springframework/expression/spel/ast/SpelNodeImpl;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.springframework.expression.spel.ast.OperatorInstanceof this
        start local 1 // int startPos
        start local 2 // int endPos
        start local 3 // org.springframework.expression.spel.ast.SpelNodeImpl[] operands
         0: .line 45
            aload 0 /* this */
            ldc "instanceof"
            iload 1 /* startPos */
            iload 2 /* endPos */
            aload 3 /* operands */
            invokespecial org.springframework.expression.spel.ast.Operator.<init>:(Ljava/lang/String;II[Lorg/springframework/expression/spel/ast/SpelNodeImpl;)V
         1: .line 46
            return
        end local 3 // org.springframework.expression.spel.ast.SpelNodeImpl[] operands
        end local 2 // int endPos
        end local 1 // int startPos
        end local 0 // org.springframework.expression.spel.ast.OperatorInstanceof this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/expression/spel/ast/OperatorInstanceof;
            0    2     1  startPos  I
            0    2     2    endPos  I
            0    2     3  operands  [Lorg/springframework/expression/spel/ast/SpelNodeImpl;
    MethodParameters:
          Name  Flags
      startPos  
      endPos    
      operands  

  public org.springframework.expression.spel.support.BooleanTypedValue getValueInternal(org.springframework.expression.spel.ExpressionState);
    descriptor: (Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/spel/support/BooleanTypedValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=2
        start local 0 // org.springframework.expression.spel.ast.OperatorInstanceof this
        start local 1 // org.springframework.expression.spel.ExpressionState state
         0: .line 59
            aload 0 /* this */
            invokevirtual org.springframework.expression.spel.ast.OperatorInstanceof.getRightOperand:()Lorg/springframework/expression/spel/ast/SpelNodeImpl;
            astore 2 /* rightOperand */
        start local 2 // org.springframework.expression.spel.ast.SpelNodeImpl rightOperand
         1: .line 60
            aload 0 /* this */
            invokevirtual org.springframework.expression.spel.ast.OperatorInstanceof.getLeftOperand:()Lorg/springframework/expression/spel/ast/SpelNodeImpl;
            aload 1 /* state */
            invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getValueInternal:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
            astore 3 /* left */
        start local 3 // org.springframework.expression.TypedValue left
         2: .line 61
            aload 2 /* rightOperand */
            aload 1 /* state */
            invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getValueInternal:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
            astore 4 /* right */
        start local 4 // org.springframework.expression.TypedValue right
         3: .line 62
            aload 3 /* left */
            invokevirtual org.springframework.expression.TypedValue.getValue:()Ljava/lang/Object;
            astore 5 /* leftValue */
        start local 5 // java.lang.Object leftValue
         4: .line 63
            aload 4 /* right */
            invokevirtual org.springframework.expression.TypedValue.getValue:()Ljava/lang/Object;
            astore 6 /* rightValue */
        start local 6 // java.lang.Object rightValue
         5: .line 65
            aload 6 /* rightValue */
            instanceof java.lang.Class
            ifne 11
         6: .line 66
            new org.springframework.expression.spel.SpelEvaluationException
            dup
            aload 0 /* this */
            invokevirtual org.springframework.expression.spel.ast.OperatorInstanceof.getRightOperand:()Lorg/springframework/expression/spel/ast/SpelNodeImpl;
            invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getStartPosition:()I
         7: .line 67
            getstatic org.springframework.expression.spel.SpelMessage.INSTANCEOF_OPERATOR_NEEDS_CLASS_OPERAND:Lorg/springframework/expression/spel/SpelMessage;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         8: .line 68
            aload 6 /* rightValue */
            ifnonnull 9
            ldc "null"
            goto 10
      StackMap locals: org.springframework.expression.spel.ast.OperatorInstanceof org.springframework.expression.spel.ExpressionState org.springframework.expression.spel.ast.SpelNodeImpl org.springframework.expression.TypedValue org.springframework.expression.TypedValue java.lang.Object java.lang.Object
      StackMap stack: new 6 new 6 int org.springframework.expression.spel.SpelMessage java.lang.Object[] java.lang.Object[] int
         9: aload 6 /* rightValue */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        10: .line 66
      StackMap locals: org.springframework.expression.spel.ast.OperatorInstanceof org.springframework.expression.spel.ExpressionState org.springframework.expression.spel.ast.SpelNodeImpl org.springframework.expression.TypedValue org.springframework.expression.TypedValue java.lang.Object java.lang.Object
      StackMap stack: new 6 new 6 int org.springframework.expression.spel.SpelMessage java.lang.Object[] java.lang.Object[] int java.lang.String
            aastore
            invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(ILorg/springframework/expression/spel/SpelMessage;[Ljava/lang/Object;)V
            athrow
        11: .line 70
      StackMap locals:
      StackMap stack:
            aload 6 /* rightValue */
            checkcast java.lang.Class
            astore 8 /* rightClass */
        start local 8 // java.lang.Class rightClass
        12: .line 71
            aload 5 /* leftValue */
            ifnonnull 15
        13: .line 72
            getstatic org.springframework.expression.spel.support.BooleanTypedValue.FALSE:Lorg/springframework/expression/spel/support/BooleanTypedValue;
            astore 7 /* result */
        start local 7 // org.springframework.expression.spel.support.BooleanTypedValue result
        14: .line 73
            goto 16
        end local 7 // org.springframework.expression.spel.support.BooleanTypedValue result
        15: .line 75
      StackMap locals: org.springframework.expression.spel.ast.OperatorInstanceof org.springframework.expression.spel.ExpressionState org.springframework.expression.spel.ast.SpelNodeImpl org.springframework.expression.TypedValue org.springframework.expression.TypedValue java.lang.Object java.lang.Object top java.lang.Class
      StackMap stack:
            aload 8 /* rightClass */
            aload 5 /* leftValue */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            invokestatic org.springframework.expression.spel.support.BooleanTypedValue.forValue:(Z)Lorg/springframework/expression/spel/support/BooleanTypedValue;
            astore 7 /* result */
        start local 7 // org.springframework.expression.spel.support.BooleanTypedValue result
        16: .line 77
      StackMap locals: org.springframework.expression.spel.ast.OperatorInstanceof org.springframework.expression.spel.ExpressionState org.springframework.expression.spel.ast.SpelNodeImpl org.springframework.expression.TypedValue org.springframework.expression.TypedValue java.lang.Object java.lang.Object org.springframework.expression.spel.support.BooleanTypedValue java.lang.Class
      StackMap stack:
            aload 0 /* this */
            aload 8 /* rightClass */
            putfield org.springframework.expression.spel.ast.OperatorInstanceof.type:Ljava/lang/Class;
        17: .line 78
            aload 2 /* rightOperand */
            instanceof org.springframework.expression.spel.ast.TypeReference
            ifeq 19
        18: .line 81
            aload 0 /* this */
            ldc "Z"
            putfield org.springframework.expression.spel.ast.OperatorInstanceof.exitTypeDescriptor:Ljava/lang/String;
        19: .line 83
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            areturn
        end local 8 // java.lang.Class rightClass
        end local 7 // org.springframework.expression.spel.support.BooleanTypedValue result
        end local 6 // java.lang.Object rightValue
        end local 5 // java.lang.Object leftValue
        end local 4 // org.springframework.expression.TypedValue right
        end local 3 // org.springframework.expression.TypedValue left
        end local 2 // org.springframework.expression.spel.ast.SpelNodeImpl rightOperand
        end local 1 // org.springframework.expression.spel.ExpressionState state
        end local 0 // org.springframework.expression.spel.ast.OperatorInstanceof this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Lorg/springframework/expression/spel/ast/OperatorInstanceof;
            0   20     1         state  Lorg/springframework/expression/spel/ExpressionState;
            1   20     2  rightOperand  Lorg/springframework/expression/spel/ast/SpelNodeImpl;
            2   20     3          left  Lorg/springframework/expression/TypedValue;
            3   20     4         right  Lorg/springframework/expression/TypedValue;
            4   20     5     leftValue  Ljava/lang/Object;
            5   20     6    rightValue  Ljava/lang/Object;
           14   15     7        result  Lorg/springframework/expression/spel/support/BooleanTypedValue;
           16   20     7        result  Lorg/springframework/expression/spel/support/BooleanTypedValue;
           12   20     8    rightClass  Ljava/lang/Class<*>;
    Exceptions:
      throws org.springframework.expression.EvaluationException
    MethodParameters:
       Name  Flags
      state  

  public boolean isCompilable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.expression.spel.ast.OperatorInstanceof this
         0: .line 88
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.OperatorInstanceof.exitTypeDescriptor:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            invokevirtual org.springframework.expression.spel.ast.OperatorInstanceof.getLeftOperand:()Lorg/springframework/expression/spel/ast/SpelNodeImpl;
            invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.isCompilable:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.springframework.expression.spel.ast.OperatorInstanceof this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/expression/spel/ast/OperatorInstanceof;

  public void generateCode(org.springframework.asm.MethodVisitor, org.springframework.expression.spel.CodeFlow);
    descriptor: (Lorg/springframework/asm/MethodVisitor;Lorg/springframework/expression/spel/CodeFlow;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.expression.spel.ast.OperatorInstanceof this
        start local 1 // org.springframework.asm.MethodVisitor mv
        start local 2 // org.springframework.expression.spel.CodeFlow cf
         0: .line 93
            aload 0 /* this */
            invokevirtual org.springframework.expression.spel.ast.OperatorInstanceof.getLeftOperand:()Lorg/springframework/expression/spel/ast/SpelNodeImpl;
            aload 1 /* mv */
            aload 2 /* cf */
            invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.generateCode:(Lorg/springframework/asm/MethodVisitor;Lorg/springframework/expression/spel/CodeFlow;)V
         1: .line 94
            aload 1 /* mv */
            aload 2 /* cf */
            invokevirtual org.springframework.expression.spel.CodeFlow.lastDescriptor:()Ljava/lang/String;
            invokestatic org.springframework.expression.spel.CodeFlow.insertBoxIfNecessary:(Lorg/springframework/asm/MethodVisitor;Ljava/lang/String;)V
         2: .line 95
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.OperatorInstanceof.type:Ljava/lang/Class;
            ifnull 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: ldc "No type available"
            invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
         5: .line 96
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.OperatorInstanceof.type:Ljava/lang/Class;
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 9
         6: .line 99
            aload 1 /* mv */
            bipush 87
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
         7: .line 100
            aload 1 /* mv */
            iconst_3
            invokevirtual org.springframework.asm.MethodVisitor.visitInsn:(I)V
         8: .line 101
            goto 10
         9: .line 103
      StackMap locals:
      StackMap stack:
            aload 1 /* mv */
            sipush 193
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.OperatorInstanceof.type:Ljava/lang/Class;
            invokestatic org.springframework.asm.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual org.springframework.asm.MethodVisitor.visitTypeInsn:(ILjava/lang/String;)V
        10: .line 105
      StackMap locals:
      StackMap stack:
            aload 2 /* cf */
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.OperatorInstanceof.exitTypeDescriptor:Ljava/lang/String;
            invokevirtual org.springframework.expression.spel.CodeFlow.pushDescriptor:(Ljava/lang/String;)V
        11: .line 106
            return
        end local 2 // org.springframework.expression.spel.CodeFlow cf
        end local 1 // org.springframework.asm.MethodVisitor mv
        end local 0 // org.springframework.expression.spel.ast.OperatorInstanceof this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/springframework/expression/spel/ast/OperatorInstanceof;
            0   12     1    mv  Lorg/springframework/asm/MethodVisitor;
            0   12     2    cf  Lorg/springframework/expression/spel/CodeFlow;
    MethodParameters:
      Name  Flags
      mv    
      cf    

  public org.springframework.expression.TypedValue getValueInternal(org.springframework.expression.spel.ExpressionState);
    descriptor: (Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.springframework.expression.spel.ast.OperatorInstanceof.getValueInternal:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/spel/support/BooleanTypedValue;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws org.springframework.expression.EvaluationException
}
SourceFile: "OperatorInstanceof.java"