public class org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression extends org.eclipse.jdt.internal.compiler.ast.OperatorExpression
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression
  super_class: org.eclipse.jdt.internal.compiler.ast.OperatorExpression
{
  public org.eclipse.jdt.internal.compiler.ast.Expression expression;
    descriptor: Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.ast.TypeReference type;
    descriptor: Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
    flags: (0x0001) ACC_PUBLIC

  public void <init>(org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.compiler.ast.TypeReference);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        start local 2 // org.eclipse.jdt.internal.compiler.ast.TypeReference type
         0: .line 39
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.ast.OperatorExpression.<init>:()V
         1: .line 40
            aload 0 /* this */
            aload 1 /* expression */
            putfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         2: .line 41
            aload 0 /* this */
            aload 2 /* type */
            putfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
         3: .line 42
            aload 2 /* type */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.TypeReference.bits:I
            ldc 1073741824
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.TypeReference.bits:I
         4: .line 43
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.bits:I
            sipush 1984
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.bits:I
         5: .line 44
            aload 0 /* this */
            aload 1 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceStart:I
            putfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.sourceStart:I
         6: .line 45
            aload 0 /* this */
            aload 2 /* type */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeReference.sourceEnd:I
            putfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.sourceEnd:I
         7: .line 46
            return
        end local 2 // org.eclipse.jdt.internal.compiler.ast.TypeReference type
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        end local 0 // org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/eclipse/jdt/internal/compiler/ast/InstanceOfExpression;
            0    8     1  expression  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    8     2        type  Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
    MethodParameters:
            Name  Flags
      expression  
      type        

  public org.eclipse.jdt.internal.compiler.flow.FlowInfo analyseCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 50
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.localVariableBinding:()Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            astore 4 /* local */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
         1: .line 51
            aload 4 /* local */
            ifnull 11
            aload 4 /* local */
            getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            ldc 2
            land
            lconst_0
            lcmp
            ifne 11
         2: .line 52
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
         3: .line 53
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
         4: .line 52
            astore 3 /* flowInfo */
         5: .line 54
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            astore 5 /* initsWhenTrue */
        start local 5 // org.eclipse.jdt.internal.compiler.flow.FlowInfo initsWhenTrue
         6: .line 55
            aload 5 /* initsWhenTrue */
            aload 4 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsComparedEqualToNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
         7: .line 56
            aload 2 /* flowContext */
            aload 1 /* currentScope */
            aload 4 /* local */
         8: .line 57
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            sipush 1025
            aload 3 /* flowInfo */
         9: .line 56
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordUsingNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;ILorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
        10: .line 59
            aload 5 /* initsWhenTrue */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            invokestatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.conditional:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            areturn
        end local 5 // org.eclipse.jdt.internal.compiler.flow.FlowInfo initsWhenTrue
        11: .line 61
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            instanceof org.eclipse.jdt.internal.compiler.ast.Reference
            ifeq 15
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.enableSyntacticNullAnalysisForFields:Z
            ifeq 15
        12: .line 62
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            checkcast org.eclipse.jdt.internal.compiler.ast.Reference
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Reference.lastFieldBinding:()Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
            astore 5 /* field */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding field
        13: .line 63
            aload 5 /* field */
            ifnull 15
            aload 5 /* field */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            ldc 2
            land
            lconst_0
            lcmp
            ifne 15
        14: .line 64
            aload 2 /* flowContext */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            checkcast org.eclipse.jdt.internal.compiler.ast.Reference
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordNullCheckedFieldReference:(Lorg/eclipse/jdt/internal/compiler/ast/Reference;I)V
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding field
        15: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.analyseCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
        16: .line 68
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
        17: .line 67
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Lorg/eclipse/jdt/internal/compiler/ast/InstanceOfExpression;
            0   18     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   18     2    flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   18     3       flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            1   18     4          local  Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            6   11     5  initsWhenTrue  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
           13   15     5          field  Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
    MethodParameters:
              Name  Flags
      currentScope  
      flowContext   
      flowInfo      

  public void generateCode(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.codegen.CodeStream, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        start local 3 // boolean valueRequired
         0: .line 80
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 4 /* pc */
        start local 4 // int pc
         1: .line 81
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.generateCode:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;Z)V
         2: .line 82
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            getfield org.eclipse.jdt.internal.compiler.ast.TypeReference.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.instance_of:(Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
         3: .line 83
            iload 3 /* valueRequired */
            ifeq 6
         4: .line 84
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
         5: .line 85
            goto 7
         6: .line 86
      StackMap locals: int
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pop:()V
         7: .line 88
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 4 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
         8: .line 89
            return
        end local 4 // int pc
        end local 3 // boolean valueRequired
        end local 2 // org.eclipse.jdt.internal.compiler.codegen.CodeStream codeStream
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/eclipse/jdt/internal/compiler/ast/InstanceOfExpression;
            0    9     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0    9     2     codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0    9     3  valueRequired  Z
            1    9     4             pc  I
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      valueRequired  

  public java.lang.StringBuffer printExpressionNoParenthesis(int, java.lang.StringBuffer);
    descriptor: (ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression this
        start local 1 // int indent
        start local 2 // java.lang.StringBuffer output
         0: .line 93
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 1 /* indent */
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.printExpression:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            ldc " instanceof "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 94
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            iconst_0
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.print:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            areturn
        end local 2 // java.lang.StringBuffer output
        end local 1 // int indent
        end local 0 // org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/eclipse/jdt/internal/compiler/ast/InstanceOfExpression;
            0    2     1  indent  I
            0    2     2  output  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      indent  
      output  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding resolveType(org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 99
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            putfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
         1: .line 100
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            aload 1 /* scope */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Z)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 2 /* checkedType */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding checkedType
         2: .line 101
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            instanceof org.eclipse.jdt.internal.compiler.ast.CastExpression
            ifeq 4
         3: .line 102
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            checkcast org.eclipse.jdt.internal.compiler.ast.CastExpression
            aload 2 /* checkedType */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.CastExpression.setInstanceofType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
         4: .line 104
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.resolveType:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 3 /* expressionType */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expressionType
         5: .line 105
            aload 3 /* expressionType */
            ifnull 8
            aload 2 /* checkedType */
            ifnull 8
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            getstatic org.eclipse.jdt.internal.compiler.ast.TypeReference$AnnotationPosition.ANY:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference$AnnotationPosition;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.hasNullTypeAnnotation:(Lorg/eclipse/jdt/internal/compiler/ast/TypeReference$AnnotationPosition;)Z
            ifeq 8
         6: .line 107
            aload 3 /* expressionType */
            aload 2 /* checkedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 7
            aload 2 /* checkedType */
            aload 3 /* expressionType */
            iconst_m1
            invokestatic org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.analyse:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.isAnyMismatch:()Z
            ifeq 8
         7: .line 108
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.nullAnnotationUnsupportedLocation:(Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;)V
         8: .line 110
      StackMap locals:
      StackMap stack:
            aload 3 /* expressionType */
            ifnull 9
            aload 2 /* checkedType */
            ifnonnull 10
         9: .line 111
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        10: .line 113
      StackMap locals:
      StackMap stack:
            aload 2 /* checkedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isReifiable:()Z
            ifne 13
        11: .line 114
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 2 /* checkedType */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.illegalInstanceOfGenericType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        12: .line 115
            goto 17
      StackMap locals:
      StackMap stack:
        13: aload 2 /* checkedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isValidBinding:()Z
            ifeq 17
        14: .line 117
            aload 3 /* expressionType */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
            if_acmpeq 15
            aload 3 /* expressionType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifne 16
        15: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* checkedType */
            aload 3 /* expressionType */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.checkCastTypesCompatibility:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
            ifne 17
        16: .line 119
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 3 /* expressionType */
            aload 2 /* checkedType */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.notCompatibleTypesError:(Lorg/eclipse/jdt/internal/compiler/ast/InstanceOfExpression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        17: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.BOOLEAN:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expressionType
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding checkedType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Lorg/eclipse/jdt/internal/compiler/ast/InstanceOfExpression;
            0   18     1           scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            2   18     2     checkedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            5   18     3  expressionType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
       Name  Flags
      scope  

  public void tagAsUnnecessaryCast(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding castType
         0: .line 131
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
            if_acmpeq 2
         1: .line 132
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 2 /* castType */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unnecessaryInstanceof:(Lorg/eclipse/jdt/internal/compiler/ast/InstanceOfExpression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
         2: .line 133
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding castType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/eclipse/jdt/internal/compiler/ast/InstanceOfExpression;
            0    3     1     scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0    3     2  castType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
          Name  Flags
      scope     
      castType  

  public void traverse(org.eclipse.jdt.internal.compiler.ASTVisitor, org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression this
        start local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 137
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/ast/InstanceOfExpression;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
            ifeq 3
         1: .line 138
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* visitor */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         2: .line 139
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            aload 1 /* visitor */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         3: .line 141
      StackMap locals:
      StackMap stack:
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit:(Lorg/eclipse/jdt/internal/compiler/ast/InstanceOfExpression;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         4: .line 142
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        end local 0 // org.eclipse.jdt.internal.compiler.ast.InstanceOfExpression this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/eclipse/jdt/internal/compiler/ast/InstanceOfExpression;
            0    5     1  visitor  Lorg/eclipse/jdt/internal/compiler/ASTVisitor;
            0    5     2    scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
    MethodParameters:
         Name  Flags
      visitor  
      scope    
}
SourceFile: "InstanceOfExpression.java"
InnerClasses:
  public final AnnotationPosition = org.eclipse.jdt.internal.compiler.ast.TypeReference$AnnotationPosition of org.eclipse.jdt.internal.compiler.ast.TypeReference