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

  public char[] selector;
    descriptor: [C
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.ast.Expression[] arguments;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.lookup.MethodBinding binding;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.lookup.MethodBinding syntheticAccessor;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC

  public long nameSourcePosition;
    descriptor: J
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding actualReceiverType;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding valueCast;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC

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

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] genericTypeArguments;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC

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

  private org.eclipse.jdt.internal.compiler.util.SimpleLookupTable inferenceContexts;
    descriptor: Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
    flags: (0x0002) ACC_PRIVATE

  private java.util.HashMap<org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.MethodBinding> solutionsPerTargetType;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;>;

  private org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 outerInferenceContext;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
    flags: (0x0002) ACC_PRIVATE

  private boolean receiverIsType;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  protected boolean argsContainCast;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] argumentTypes;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC

  public boolean argumentsHaveErrors;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  private static final int TRUE_ASSERTION;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int FALSE_ASSERTION;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int NULL_ASSERTION;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int NONNULL_ASSERTION;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
         0: .line 115
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.ast.Expression.<init>:()V
         1: .line 130
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.ast.ExpressionContext.VANILLA_CONTEXT:Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expressionContext:Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;
         2: .line 139
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_PARAMETERS:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
         3: .line 140
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentsHaveErrors:Z
         4: .line 115
            return
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;

  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=7, locals=12, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend 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 145
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isStatic:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: istore 4 /* nonStatic */
        start local 4 // boolean nonStatic
         3: .line 146
            aload 2 /* flowContext */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
            sipush 4096
            iand
            ifeq 4
            iconst_1
            goto 5
      StackMap locals: int
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 5 /* wasInsideAssert */
        start local 5 // boolean wasInsideAssert
         6: .line 147
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            iload 4 /* nonStatic */
            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;Z)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 3 /* flowInfo */
         7: .line 149
            aload 0 /* this */
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.yieldQualifiedCheck:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         8: .line 151
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            astore 6 /* compilerOptions */
        start local 6 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
         9: .line 152
            aload 6 /* compilerOptions */
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.analyseResourceLeaks:Z
            istore 7 /* analyseResources */
        start local 7 // boolean analyseResources
        10: .line 153
            iload 7 /* analyseResources */
            ifeq 30
        11: .line 154
            iload 4 /* nonStatic */
            ifeq 15
        12: .line 156
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.CLOSE:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 30
        13: .line 157
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.recordCallingClose:(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/ast/Expression;)V
        14: .line 159
            goto 30
      StackMap locals: int org.eclipse.jdt.internal.compiler.impl.CompilerOptions int
      StackMap stack:
        15: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 30
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            ifle 30
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iconst_0
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.isAnyCloseable:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 30
        16: .line 161
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        17: goto 29
        18: .line 162
      StackMap locals: int
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.closeMethods:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$CloseMethodRecord;
            iload 8 /* i */
            aaload
            astore 9 /* record */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeConstants$CloseMethodRecord record
        19: .line 163
            aload 9 /* record */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeConstants$CloseMethodRecord.selector:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 28
        20: .line 164
            aload 9 /* record */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeConstants$CloseMethodRecord.typeName:[[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.compoundName:[[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([[C[[C)Z
            ifeq 28
        21: .line 166
            aload 9 /* record */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeConstants$CloseMethodRecord.numCloseableArgs:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            invokestatic java.lang.Math.min:(II)I
            istore 10 /* len */
        start local 10 // int len
        22: .line 167
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        23: goto 26
        24: .line 168
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeConstants$CloseMethodRecord int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 11 /* j */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.recordCallingClose:(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/ast/Expression;)V
        25: .line 167
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
        26: iload 11 /* j */
            iload 10 /* len */
            if_icmplt 24
        end local 11 // int j
        27: .line 169
            goto 30
        end local 10 // int len
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeConstants$CloseMethodRecord record
        28: .line 161
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 8 /* i */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.closeMethods:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$CloseMethodRecord;
            arraylength
            if_icmplt 18
        end local 8 // int i
        30: .line 174
      StackMap locals:
      StackMap stack:
            aload 6 /* compilerOptions */
            getstatic org.eclipse.jdt.internal.compiler.impl.IrritantSet.UNLIKELY_ARGUMENT_TYPE:Lorg/eclipse/jdt/internal/compiler/impl/IrritantSet;
            invokevirtual org.eclipse.jdt.internal.compiler.impl.CompilerOptions.isAnyEnabled:(Lorg/eclipse/jdt/internal/compiler/impl/IrritantSet;)Z
            ifeq 48
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isValidBinding:()Z
            ifeq 48
        31: .line 175
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 48
        32: .line 176
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            iconst_1
            if_icmpne 40
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isStatic:()Z
            ifne 40
        33: .line 178
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_0
            aaload
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        34: .line 177
            invokestatic org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.determineCheckForNonStaticSingleArgumentMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;[CLorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/ast/UnlikelyArgumentCheck;
            astore 8 /* argumentChecks */
        start local 8 // org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck argumentChecks
        35: .line 180
            aload 8 /* argumentChecks */
            ifnull 48
            aload 8 /* argumentChecks */
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.isDangerous:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
            ifeq 48
        36: .line 181
            aload 1 /* currentScope */
            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.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iconst_0
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
        37: .line 182
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_0
            aaload
            aload 8 /* argumentChecks */
            getfield org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.typeToReport:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 8 /* argumentChecks */
            getfield org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.dangerousMethod:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$DangerousMethod;
        38: .line 181
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unlikelyArgumentType:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$DangerousMethod;)V
        end local 8 // org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck argumentChecks
        39: .line 184
            goto 48
      StackMap locals:
      StackMap stack:
        40: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            iconst_2
            if_icmpne 48
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isStatic:()Z
            ifeq 48
        41: .line 186
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_1
            aaload
            aload 1 /* currentScope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_0
            aaload
        42: .line 187
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        43: .line 185
            invokestatic org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.determineCheckForStaticTwoArgumentMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;[CLorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/ast/UnlikelyArgumentCheck;
            astore 8 /* argumentChecks */
        start local 8 // org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck argumentChecks
        44: .line 189
            aload 8 /* argumentChecks */
            ifnull 48
            aload 8 /* argumentChecks */
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.isDangerous:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
            ifeq 48
        45: .line 190
            aload 1 /* currentScope */
            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.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iconst_1
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
        46: .line 191
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_1
            aaload
            aload 8 /* argumentChecks */
            getfield org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.typeToReport:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 8 /* argumentChecks */
            getfield org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck.dangerousMethod:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$DangerousMethod;
        47: .line 190
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unlikelyArgumentType:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$DangerousMethod;)V
        end local 8 // org.eclipse.jdt.internal.compiler.ast.UnlikelyArgumentCheck argumentChecks
        48: .line 196
      StackMap locals:
      StackMap stack:
            iload 4 /* nonStatic */
            ifeq 53
        49: .line 197
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
            ldc 1048576
            iand
            ifeq 50
            iconst_3
            goto 51
      StackMap locals:
      StackMap stack:
        50: iconst_2
      StackMap locals:
      StackMap stack: int
        51: istore 8 /* timeToLive */
        start local 8 // int timeToLive
        52: .line 198
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            iload 8 /* timeToLive */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkNPE:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;I)Z
            pop
        end local 8 // int timeToLive
        53: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 74
        54: .line 202
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            istore 8 /* length */
        start local 8 // int length
        55: .line 203
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        56: goto 72
        57: .line 204
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 9 /* i */
            aaload
            astore 10 /* argument */
        start local 10 // org.eclipse.jdt.internal.compiler.ast.Expression argument
        58: .line 205
            aload 10 /* argument */
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.checkNPEbyUnboxing:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
        59: .line 206
            aload 0 /* this */
            iload 9 /* i */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.detectAssertionUtility:(I)I
            tableswitch { // 1 - 4
                    1: 60
                    2: 62
                    3: 66
                    4: 64
              default: 68
          }
        60: .line 208
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 10 /* argument */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            iload 5 /* wasInsideAssert */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.analyseBooleanAssertion:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;ZZ)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            astore 3 /* flowInfo */
        61: .line 209
            goto 69
        62: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 10 /* argument */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            iload 5 /* wasInsideAssert */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.analyseBooleanAssertion:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;ZZ)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            astore 3 /* flowInfo */
        63: .line 212
            goto 69
        64: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 10 /* argument */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.analyseNullAssertion:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Z)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            astore 3 /* flowInfo */
        65: .line 215
            goto 69
        66: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 10 /* argument */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.analyseNullAssertion:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Z)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            astore 3 /* flowInfo */
        67: .line 218
            goto 69
        68: .line 220
      StackMap locals:
      StackMap stack:
            aload 10 /* argument */
            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;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 3 /* flowInfo */
        69: .line 222
      StackMap locals:
      StackMap stack:
            iload 7 /* analyseResources */
            ifeq 71
        70: .line 224
            aload 1 /* currentScope */
            aload 10 /* argument */
            aload 3 /* flowInfo */
            aload 2 /* flowContext */
            iconst_0
            invokestatic org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.markPassedToOutside:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Z)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            astore 3 /* flowInfo */
        end local 10 // org.eclipse.jdt.internal.compiler.ast.Expression argument
        71: .line 203
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        72: iload 9 /* i */
            iload 8 /* length */
            if_icmplt 57
        end local 9 // int i
        73: .line 227
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 2 /* flowContext */
            aload 3 /* flowInfo */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.analyseArguments:(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/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
        end local 8 // int length
        74: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.thrownExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            dup
            astore 8 /* thrownExceptions */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] thrownExceptions
        75: getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_EXCEPTIONS:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            if_acmpeq 79
        76: .line 231
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
            ldc 65536
            iand
            ifeq 78
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.genericTypeArguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnonnull 78
        77: .line 233
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.thrownExceptions:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iconst_1
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.convertToRawTypes:([Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;ZZ)[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 8 /* thrownExceptions */
        78: .line 236
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[]
      StackMap stack:
            aload 2 /* flowContext */
            aload 8 /* thrownExceptions */
            aload 0 /* this */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.checkExceptionHandlers:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
        79: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* currentScope */
            aload 3 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.manageSyntheticAccessIfNecessary:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
        80: .line 243
            aload 2 /* flowContext */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordAbruptExit:()V
        81: .line 244
            aload 2 /* flowContext */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.expireNullCheckedFieldInfo:()V
        82: .line 245
            aload 3 /* flowInfo */
            areturn
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] thrownExceptions
        end local 7 // boolean analyseResources
        end local 6 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
        end local 5 // boolean wasInsideAssert
        end local 4 // boolean nonStatic
        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.MessageSend this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   83     0              this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   83     1      currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   83     2       flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   83     3          flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            3   83     4         nonStatic  Z
            6   83     5   wasInsideAssert  Z
            9   83     6   compilerOptions  Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
           10   83     7  analyseResources  Z
           17   30     8                 i  I
           19   28     9            record  Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$CloseMethodRecord;
           22   28    10               len  I
           23   27    11                 j  I
           35   39     8    argumentChecks  Lorg/eclipse/jdt/internal/compiler/ast/UnlikelyArgumentCheck;
           44   48     8    argumentChecks  Lorg/eclipse/jdt/internal/compiler/ast/UnlikelyArgumentCheck;
           52   53     8        timeToLive  I
           55   74     8            length  I
           56   73     9                 i  I
           58   71    10          argument  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
           75   83     8  thrownExceptions  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    MethodParameters:
              Name  Flags
      currentScope  
      flowContext   
      flowInfo      

  private void yieldQualifiedCheck(org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
         0: .line 248
            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.sourceLevel:J
            lstore 2 /* sourceLevel */
        start local 2 // long sourceLevel
         1: .line 249
            lload 2 /* sourceLevel */
            ldc 3735552
            lcmp
            iflt 2
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.receiverIsImplicitThis:()Z
            ifne 3
         2: .line 250
      StackMap locals: long
      StackMap stack:
            return
         3: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            ifnull 4
            ldc "yield"
            new java.lang.String
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 252
      StackMap locals:
      StackMap stack:
            return
         5: .line 253
      StackMap locals:
      StackMap stack:
            lload 2 /* sourceLevel */
            ldc 3735552
            lcmp
            ifne 8
            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.enablePreviewFeatures:Z
            ifeq 8
         6: .line 254
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.switchExpressionsYieldUnqualifiedMethodError:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
         7: .line 255
            goto 9
         8: .line 256
      StackMap locals:
      StackMap stack:
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.switchExpressionsYieldUnqualifiedMethodWarning:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
         9: .line 258
      StackMap locals:
      StackMap stack:
            return
        end local 2 // long sourceLevel
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   10     1  currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            1   10     2   sourceLevel  J
    MethodParameters:
              Name  Flags
      currentScope  

  private void recordCallingClose(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.ast.Expression);
    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/ast/Expression;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend 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
        start local 4 // org.eclipse.jdt.internal.compiler.ast.Expression closeTarget
         0: .line 260
            aload 4 /* closeTarget */
            aload 3 /* flowInfo */
            aload 2 /* flowContext */
            invokestatic org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.getCloseTrackingVariable:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;
            astore 5 /* trackingVariable */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable trackingVariable
         1: .line 261
            aload 5 /* trackingVariable */
            ifnull 6
         2: .line 262
            aload 5 /* trackingVariable */
            getfield org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.methodScope:Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            if_acmpne 5
         3: .line 263
            aload 5 /* trackingVariable */
            aload 3 /* flowInfo */
            aload 2 /* flowContext */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.markClose:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)V
         4: .line 264
            goto 6
         5: .line 265
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable
      StackMap stack:
            aload 5 /* trackingVariable */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable.markClosedInNestedMethod:()V
         6: .line 268
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.eclipse.jdt.internal.compiler.ast.FakedTrackingVariable trackingVariable
        end local 4 // org.eclipse.jdt.internal.compiler.ast.Expression closeTarget
        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.MessageSend this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0    7     1      currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0    7     2       flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0    7     3          flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            0    7     4       closeTarget  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            1    7     5  trackingVariable  Lorg/eclipse/jdt/internal/compiler/ast/FakedTrackingVariable;
    MethodParameters:
              Name  Flags
      currentScope  
      flowContext   
      flowInfo      
      closeTarget   

  private int detectAssertionUtility(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // int argumentIdx
         0: .line 279
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 2 /* parameters */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
         1: .line 280
            iload 1 /* argumentIdx */
            aload 2 /* parameters */
            arraylength
            if_icmpge 42
         2: .line 281
            aload 2 /* parameters */
            iload 1 /* argumentIdx */
            aaload
            astore 3 /* parameterType */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding parameterType
         3: .line 282
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 4 /* declaringClass */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding declaringClass
         4: .line 283
            aload 4 /* declaringClass */
            ifnull 42
            aload 3 /* parameterType */
            ifnull 42
         5: .line 284
            aload 4 /* declaringClass */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            tableswitch { // 68 - 74
                   68: 6
                   69: 10
                   70: 10
                   71: 20
                   72: 26
                   73: 32
                   74: 39
              default: 42
          }
         6: .line 286
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 3 /* parameterType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_5
            if_icmpne 8
         7: .line 287
            iconst_1
            ireturn
         8: .line 288
      StackMap locals:
      StackMap stack:
            aload 3 /* parameterType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_1
            if_icmpne 42
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.IS_NOTNULL:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 42
         9: .line 289
            iconst_4
            ireturn
        10: .line 293
      StackMap locals:
      StackMap stack:
            aload 3 /* parameterType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_5
            if_icmpne 15
        11: .line 294
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.ASSERT_TRUE:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 13
        12: .line 295
            iconst_1
            ireturn
        13: .line 296
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.ASSERT_FALSE:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 42
        14: .line 297
            iconst_2
            ireturn
        15: .line 298
      StackMap locals:
      StackMap stack:
            aload 3 /* parameterType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_1
            if_icmpne 42
        16: .line 299
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.ASSERT_NOTNULL:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 18
        17: .line 300
            iconst_4
            ireturn
        18: .line 301
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.ASSERT_NULL:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 42
        19: .line 302
            iconst_3
            ireturn
        20: .line 306
      StackMap locals:
      StackMap stack:
            aload 3 /* parameterType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_5
            if_icmpne 23
        21: .line 307
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.IS_TRUE:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 42
        22: .line 308
            iconst_1
            ireturn
        23: .line 309
      StackMap locals:
      StackMap stack:
            aload 3 /* parameterType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_1
            if_icmpne 42
        24: .line 310
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.NOT_NULL:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 42
        25: .line 311
            iconst_4
            ireturn
        26: .line 315
      StackMap locals:
      StackMap stack:
            aload 3 /* parameterType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_5
            if_icmpne 29
        27: .line 316
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.IS_TRUE:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 42
        28: .line 317
            iconst_1
            ireturn
        29: .line 318
      StackMap locals:
      StackMap stack:
            aload 3 /* parameterType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isTypeVariable:()Z
            ifeq 42
        30: .line 319
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.NOT_NULL:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 42
        31: .line 320
            iconst_4
            ireturn
        32: .line 324
      StackMap locals:
      StackMap stack:
            aload 3 /* parameterType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_5
            if_icmpne 36
        33: .line 325
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.CHECK_ARGUMENT:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifne 35
        34: .line 326
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.CHECK_STATE:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 42
        35: .line 327
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        36: .line 328
      StackMap locals:
      StackMap stack:
            aload 3 /* parameterType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isTypeVariable:()Z
            ifeq 42
        37: .line 329
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.CHECK_NOT_NULL:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 42
        38: .line 330
            iconst_4
            ireturn
        39: .line 334
      StackMap locals:
      StackMap stack:
            aload 3 /* parameterType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isTypeVariable:()Z
            ifeq 42
        40: .line 335
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.REQUIRE_NON_NULL:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 42
        41: .line 336
            iconst_4
            ireturn
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding declaringClass
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding parameterType
        42: .line 342
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
        end local 1 // int argumentIdx
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   43     0            this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   43     1     argumentIdx  I
            1   43     2      parameters  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3   42     3   parameterType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            4   42     4  declaringClass  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
             Name  Flags
      argumentIdx  

  private org.eclipse.jdt.internal.compiler.flow.FlowInfo analyseBooleanAssertion(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo, boolean, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;ZZ)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=16, args_size=7
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Expression argument
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        start local 5 // boolean wasInsideAssert
        start local 6 // boolean passOnTrue
         0: .line 348
            aload 2 /* argument */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.optimizedBooleanConstant:()Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            astore 7 /* cst */
        start local 7 // org.eclipse.jdt.internal.compiler.impl.Constant cst
         1: .line 349
            aload 7 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 2
            aload 7 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.Constant
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 8 /* isOptimizedTrueAssertion */
        start local 8 // boolean isOptimizedTrueAssertion
         4: .line 350
            aload 7 /* cst */
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 5
            aload 7 /* cst */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            ifne 5
            iconst_1
            goto 6
      StackMap locals: int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 9 /* isOptimizedFalseAssertion */
        start local 9 // boolean isOptimizedFalseAssertion
         7: .line 351
            aload 3 /* flowContext */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
            istore 10 /* tagBitsSave */
        start local 10 // int tagBitsSave
         8: .line 352
            aload 3 /* flowContext */
            dup
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
            sipush 4096
            ior
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
         9: .line 353
            iload 6 /* passOnTrue */
            ifne 11
        10: .line 354
            aload 3 /* flowContext */
            dup
            getfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
            iconst_4
            ior
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
        11: .line 355
      StackMap locals: int int
      StackMap stack:
            aload 2 /* argument */
            aload 1 /* currentScope */
            aload 3 /* flowContext */
            aload 4 /* flowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.copy:()Lorg/eclipse/jdt/internal/compiler/flow/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;
            astore 11 /* conditionFlowInfo */
        start local 11 // org.eclipse.jdt.internal.compiler.flow.FlowInfo conditionFlowInfo
        12: .line 356
            aload 3 /* flowContext */
            iconst_2
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.extendTimeToLiveForNullCheckedField:(I)V
        13: .line 357
            aload 3 /* flowContext */
            iload 10 /* tagBitsSave */
            putfield org.eclipse.jdt.internal.compiler.flow.FlowContext.tagBits:I
        14: .line 363
            iload 6 /* passOnTrue */
            ifeq 20
        15: .line 364
            aload 11 /* conditionFlowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenTrue:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 12 /* assertWhenPassInfo */
        start local 12 // org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo assertWhenPassInfo
        16: .line 365
            aload 11 /* conditionFlowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenFalse:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            astore 13 /* assertWhenFailInfo */
        start local 13 // org.eclipse.jdt.internal.compiler.flow.FlowInfo assertWhenFailInfo
        17: .line 366
            iload 8 /* isOptimizedTrueAssertion */
            istore 14 /* isOptimizedPassing */
        start local 14 // boolean isOptimizedPassing
        18: .line 367
            iload 9 /* isOptimizedFalseAssertion */
            istore 15 /* isOptimizedFailing */
        start local 15 // boolean isOptimizedFailing
        19: .line 368
            goto 24
        end local 15 // boolean isOptimizedFailing
        end local 14 // boolean isOptimizedPassing
        end local 13 // org.eclipse.jdt.internal.compiler.flow.FlowInfo assertWhenFailInfo
        end local 12 // org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo assertWhenPassInfo
        20: .line 369
      StackMap locals: org.eclipse.jdt.internal.compiler.flow.FlowInfo
      StackMap stack:
            aload 11 /* conditionFlowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenFalse:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 12 /* assertWhenPassInfo */
        start local 12 // org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo assertWhenPassInfo
        21: .line 370
            aload 11 /* conditionFlowInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.initsWhenTrue:()Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            astore 13 /* assertWhenFailInfo */
        start local 13 // org.eclipse.jdt.internal.compiler.flow.FlowInfo assertWhenFailInfo
        22: .line 371
            iload 9 /* isOptimizedFalseAssertion */
            istore 14 /* isOptimizedPassing */
        start local 14 // boolean isOptimizedPassing
        23: .line 372
            iload 8 /* isOptimizedTrueAssertion */
            istore 15 /* isOptimizedFailing */
        start local 15 // boolean isOptimizedFailing
        24: .line 374
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int int org.eclipse.jdt.internal.compiler.impl.Constant int int int org.eclipse.jdt.internal.compiler.flow.FlowInfo org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo org.eclipse.jdt.internal.compiler.flow.FlowInfo int int
      StackMap stack:
            iload 14 /* isOptimizedPassing */
            ifeq 26
        25: .line 375
            aload 13 /* assertWhenFailInfo */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            pop
        26: .line 377
      StackMap locals:
      StackMap stack:
            iload 15 /* isOptimizedFailing */
            ifne 30
        27: .line 385
            aload 4 /* flowInfo */
            aload 13 /* assertWhenFailInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.nullInfoLessUnconditionalCopy:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.mergedWith:(Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
        28: .line 386
            aload 12 /* assertWhenPassInfo */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.discardInitializationInfo:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo.addInitializationsFrom:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
        29: .line 385
            astore 4 /* flowInfo */
        30: .line 388
      StackMap locals:
      StackMap stack:
            aload 4 /* flowInfo */
            areturn
        end local 15 // boolean isOptimizedFailing
        end local 14 // boolean isOptimizedPassing
        end local 13 // org.eclipse.jdt.internal.compiler.flow.FlowInfo assertWhenFailInfo
        end local 12 // org.eclipse.jdt.internal.compiler.flow.UnconditionalFlowInfo assertWhenPassInfo
        end local 11 // org.eclipse.jdt.internal.compiler.flow.FlowInfo conditionFlowInfo
        end local 10 // int tagBitsSave
        end local 9 // boolean isOptimizedFalseAssertion
        end local 8 // boolean isOptimizedTrueAssertion
        end local 7 // org.eclipse.jdt.internal.compiler.impl.Constant cst
        end local 6 // boolean passOnTrue
        end local 5 // boolean wasInsideAssert
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Expression argument
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   31     0                       this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   31     1               currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   31     2                   argument  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   31     3                flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   31     4                   flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            0   31     5            wasInsideAssert  Z
            0   31     6                 passOnTrue  Z
            1   31     7                        cst  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            4   31     8   isOptimizedTrueAssertion  Z
            7   31     9  isOptimizedFalseAssertion  Z
            8   31    10                tagBitsSave  I
           12   31    11          conditionFlowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
           16   20    12         assertWhenPassInfo  Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
           21   31    12         assertWhenPassInfo  Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
           17   20    13         assertWhenFailInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
           22   31    13         assertWhenFailInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
           18   20    14         isOptimizedPassing  Z
           23   31    14         isOptimizedPassing  Z
           19   20    15         isOptimizedFailing  Z
           24   31    15         isOptimizedFailing  Z
    MethodParameters:
                 Name  Flags
      currentScope     
      argument         
      flowContext      
      flowInfo         
      wasInsideAssert  
      passOnTrue       

  private org.eclipse.jdt.internal.compiler.flow.FlowInfo analyseNullAssertion(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Z)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Expression argument
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        start local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        start local 5 // boolean expectingNull
         0: .line 393
            aload 2 /* argument */
            aload 4 /* flowInfo */
            aload 3 /* flowContext */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.nullStatus:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)I
            istore 6 /* nullStatus */
        start local 6 // int nullStatus
         1: .line 394
            iload 6 /* nullStatus */
            iload 5 /* expectingNull */
            ifeq 2
            iconst_4
            goto 3
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int int
      StackMap stack: int
         2: iconst_2
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.flow.FlowContext org.eclipse.jdt.internal.compiler.flow.FlowInfo int int
      StackMap stack: int int
         3: if_icmpne 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 7 /* willFail */
        start local 7 // boolean willFail
         6: .line 395
            aload 2 /* argument */
            aload 1 /* currentScope */
            aload 3 /* flowContext */
            aload 4 /* 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;
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.unconditionalInits:()Lorg/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo;
            astore 4 /* flowInfo */
         7: .line 396
            aload 2 /* argument */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.localVariableBinding:()Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            astore 8 /* local */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
         8: .line 397
            aload 8 /* local */
            ifnull 13
         9: .line 398
            iload 5 /* expectingNull */
            ifeq 11
        10: .line 399
            aload 4 /* flowInfo */
            aload 8 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsDefinitelyNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
            goto 19
        11: .line 401
      StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding
      StackMap stack:
            aload 4 /* flowInfo */
            aload 8 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.markAsDefinitelyNonNull:(Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;)V
        12: .line 402
            goto 19
        13: .line 403
      StackMap locals:
      StackMap stack:
            iload 5 /* expectingNull */
            ifne 19
        14: .line 404
            aload 2 /* argument */
            instanceof org.eclipse.jdt.internal.compiler.ast.Reference
            ifeq 19
        15: .line 405
            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 19
        16: .line 407
            aload 2 /* argument */
            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 9 /* field */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding field
        17: .line 408
            aload 9 /* field */
            ifnull 19
            aload 9 /* 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 19
        18: .line 409
            aload 3 /* flowContext */
            aload 2 /* argument */
            checkcast org.eclipse.jdt.internal.compiler.ast.Reference
            iconst_3
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowContext.recordNullCheckedFieldReference:(Lorg/eclipse/jdt/internal/compiler/ast/Reference;I)V
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding field
        19: .line 413
      StackMap locals:
      StackMap stack:
            iload 7 /* willFail */
            ifeq 21
        20: .line 414
            aload 4 /* flowInfo */
            iconst_2
            invokevirtual org.eclipse.jdt.internal.compiler.flow.FlowInfo.setReachMode:(I)Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            pop
        21: .line 415
      StackMap locals:
      StackMap stack:
            aload 4 /* flowInfo */
            areturn
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding local
        end local 7 // boolean willFail
        end local 6 // int nullStatus
        end local 5 // boolean expectingNull
        end local 4 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 3 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Expression argument
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0           this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   22     1   currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   22     2       argument  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   22     3    flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   22     4       flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            0   22     5  expectingNull  Z
            1   22     6     nullStatus  I
            6   22     7       willFail  Z
            8   22     8          local  Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
           17   19     9          field  Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
    MethodParameters:
               Name  Flags
      currentScope   
      argument       
      flowContext    
      flowInfo       
      expectingNull  

  public boolean checkNPE(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowContext, org.eclipse.jdt.internal.compiler.flow.FlowInfo, int);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        start local 3 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        start local 4 // int ttlForFieldCheck
         0: .line 421
            aload 0 /* this */
            aload 3 /* flowInfo */
            aload 2 /* flowContext */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.nullStatus:(Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)I
            istore 5 /* nullStatus */
        start local 5 // int nullStatus
         1: .line 422
            iload 5 /* nullStatus */
            bipush 16
            iand
            ifeq 7
         2: .line 423
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isTypeVariable:()Z
            ifeq 5
            iload 5 /* nullStatus */
            bipush 48
            if_icmpne 5
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            getfield org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.globalOptions:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.pessimisticNullAnalysisForFreeTypeVariablesEnabled:Z
            ifeq 5
         3: .line 424
            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.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.methodReturnTypeFreeTypeVariableReference:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
         4: .line 425
            goto 11
         5: .line 426
      StackMap locals: int
      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.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.messageSendPotentialNullReference:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
         6: .line 428
            goto 11
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            ldc 72057594037927936
            land
            lconst_0
            lcmp
            ifeq 11
         8: .line 429
            aload 0 /* this */
            invokestatic org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.okNonNullStatus:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching;
            astore 6 /* nonNullStatus */
        start local 6 // org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching nonNullStatus
         9: .line 430
            aload 6 /* nonNullStatus */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.wantToReport:()Z
            ifeq 11
        10: .line 431
            aload 6 /* nonNullStatus */
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.report:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)V
        end local 6 // org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching nonNullStatus
        11: .line 433
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // int nullStatus
        end local 4 // int ttlForFieldCheck
        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 scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   12     1             scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   12     2       flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            0   12     3          flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            0   12     4  ttlForFieldCheck  I
            1   12     5        nullStatus  I
            9   11     6     nonNullStatus  Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching;
    MethodParameters:
                  Name  Flags
      scope             
      flowContext       
      flowInfo          
      ttlForFieldCheck  

  public void computeConversion(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding runtimeTimeType
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding compileTimeType
         0: .line 440
            aload 2 /* runtimeTimeType */
            ifnull 1
            aload 3 /* compileTimeType */
            ifnonnull 2
         1: .line 441
      StackMap locals:
      StackMap stack:
            return
         2: .line 443
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            ifnull 26
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isValidBinding:()Z
            ifeq 26
         3: .line 444
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 4 /* originalBinding */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding originalBinding
         4: .line 445
            aload 4 /* originalBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 5 /* originalType */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalType
         5: .line 447
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.isArrayClone:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifeq 10
         6: .line 448
            aload 2 /* runtimeTimeType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_1
            if_icmpeq 10
         7: .line 449
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
            ldc 3211264
            lcmp
            iflt 10
         8: .line 451
            aload 0 /* this */
            aload 2 /* runtimeTimeType */
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.valueCast:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
         9: .line 452
            goto 16
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
        10: aload 5 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.leafComponentType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isTypeVariable:()Z
            ifeq 16
        11: .line 453
            aload 3 /* compileTimeType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifne 13
            aload 2 /* runtimeTimeType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 13
        12: .line 454
            aload 3 /* compileTimeType */
            goto 14
        13: .line 455
      StackMap locals:
      StackMap stack:
            aload 2 /* runtimeTimeType */
        14: .line 453
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            astore 6 /* targetType */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        15: .line 456
            aload 0 /* this */
            aload 5 /* originalType */
            aload 6 /* targetType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.genericCast:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.valueCast:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        16: .line 458
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.valueCast:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            ifeq 26
        17: .line 459
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.valueCast:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 6 /* referenceCast */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding referenceCast
        18: .line 460
            aload 6 /* referenceCast */
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.canBeSeenBy:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
            ifne 26
        19: .line 461
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
        20: .line 462
            new org.eclipse.jdt.internal.compiler.lookup.ProblemReferenceBinding
            dup
        21: .line 463
            bipush 46
            aload 6 /* referenceCast */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.shortReadableName:()[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitOn:(C[C)[[C
        22: .line 464
            aload 6 /* referenceCast */
        23: .line 465
            iconst_2
        24: .line 462
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ProblemReferenceBinding.<init>:([[CLorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;I)V
        25: .line 461
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.invalidType:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding referenceCast
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalType
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding originalBinding
        26: .line 469
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            aload 2 /* runtimeTimeType */
            aload 3 /* compileTimeType */
            invokespecial org.eclipse.jdt.internal.compiler.ast.Expression.computeConversion:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        27: .line 470
            return
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding compileTimeType
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding runtimeTimeType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   28     0             this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   28     1            scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0   28     2  runtimeTimeType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   28     3  compileTimeType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            4   26     4  originalBinding  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            5   26     5     originalType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           15   16     6       targetType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           18   26     6    referenceCast  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    MethodParameters:
                 Name  Flags
      scope            
      runtimeTimeType  
      compileTimeType  

  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=5, locals=9, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend 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 481
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.cleanUpInferenceContexts:()V
         1: .line 482
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 4 /* pc */
        start local 4 // int pc
         2: .line 484
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.PolymorphicMethodBinding
            ifeq 3
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            goto 4
      StackMap locals: int
      StackMap stack:
         3: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
         4: astore 5 /* codegenBinding */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding codegenBinding
         5: .line 485
            aload 5 /* codegenBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isStatic:()Z
            istore 6 /* isStatic */
        start local 6 // boolean isStatic
         6: .line 486
            iload 6 /* isStatic */
            ifeq 9
         7: .line 487
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            iconst_0
            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
         8: .line 488
            goto 17
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding int
      StackMap stack:
         9: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
            sipush 8160
            iand
            ifeq 14
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isImplicitThis:()Z
            ifeq 14
        10: .line 490
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingSourceType:()Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
            sipush 8160
            iand
            iconst_5
            ishr
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.enclosingTypeAt:(I)Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 7 /* targetType */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding targetType
        11: .line 491
            aload 1 /* currentScope */
            aload 7 /* targetType */
            iconst_1
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getEmulationPath:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;ZZ)[Ljava/lang/Object;
            astore 8 /* path */
        start local 8 // java.lang.Object[] path
        12: .line 492
            aload 2 /* codeStream */
            aload 8 /* path */
            aload 0 /* this */
            aload 7 /* targetType */
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateOuterAccess:([Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/Binding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)V
        end local 8 // java.lang.Object[] path
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding targetType
        13: .line 493
            goto 17
        14: .line 494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver: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
        15: .line 495
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
            ldc 262144
            iand
            ifeq 17
        16: .line 496
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.checkcast:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        17: .line 499
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 4 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.sourceStart:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        18: .line 501
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* currentScope */
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.generateArguments:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;)V
        19: .line 502
            aload 2 /* codeStream */
            getfield org.eclipse.jdt.internal.compiler.codegen.CodeStream.position:I
            istore 4 /* pc */
        20: .line 504
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.syntheticAccessor:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            ifnonnull 34
        21: .line 505
            aload 1 /* currentScope */
            aload 5 /* codegenBinding */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isImplicitThis:()Z
            invokestatic org.eclipse.jdt.internal.compiler.codegen.CodeStream.getConstantPoolDeclaringClass:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* constantPoolDeclaringClass */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding constantPoolDeclaringClass
        22: .line 506
            iload 6 /* isStatic */
            ifeq 25
        23: .line 507
            aload 2 /* codeStream */
            bipush -72
            aload 5 /* codegenBinding */
            aload 7 /* constantPoolDeclaringClass */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invoke:(BLorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;)V
        24: .line 508
            goto 35
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
        25: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isSuper:()Z
            ifne 27
        26: .line 509
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingSourceType:()Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.isNestmateOf:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ifne 29
            aload 5 /* codegenBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isPrivate:()Z
            ifeq 29
        27: .line 510
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            bipush -73
            aload 5 /* codegenBinding */
            aload 7 /* constantPoolDeclaringClass */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invoke:(BLorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;)V
        28: .line 511
            goto 35
      StackMap locals:
      StackMap stack:
        29: aload 7 /* constantPoolDeclaringClass */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isInterface:()Z
            ifeq 32
        30: .line 512
            aload 2 /* codeStream */
            bipush -71
            aload 5 /* codegenBinding */
            aload 7 /* constantPoolDeclaringClass */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invoke:(BLorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;)V
        31: .line 513
            goto 35
        32: .line 514
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            bipush -74
            aload 5 /* codegenBinding */
            aload 7 /* constantPoolDeclaringClass */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invoke:(BLorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;)V
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding constantPoolDeclaringClass
        33: .line 516
            goto 35
        34: .line 517
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            bipush -72
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.syntheticAccessor:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aconst_null
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.invoke:(BLorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;)V
        35: .line 520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.valueCast:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 36
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.valueCast:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.checkcast:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        36: .line 521
      StackMap locals:
      StackMap stack:
            iload 3 /* valueRequired */
            ifeq 39
        37: .line 523
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
        38: .line 524
            goto 50
        39: .line 525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.implicitConversion:I
            sipush 1024
            iand
            ifeq 40
            iconst_1
            goto 41
      StackMap locals:
      StackMap stack:
        40: iconst_0
      StackMap locals:
      StackMap stack: int
        41: istore 7 /* isUnboxing */
        start local 7 // boolean isUnboxing
        42: .line 527
            iload 7 /* isUnboxing */
            ifeq 43
            aload 2 /* codeStream */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.implicitConversion:I
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.generateImplicitConversion:(I)V
        43: .line 528
      StackMap locals: int
      StackMap stack:
            iload 7 /* isUnboxing */
            ifeq 44
            aload 0 /* this */
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.postConversionType:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            goto 45
      StackMap locals:
      StackMap stack:
        44: aload 5 /* codegenBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
      StackMap locals:
      StackMap stack: int
        45: tableswitch { // 6 - 8
                    6: 48
                    7: 46
                    8: 46
              default: 49
          }
        46: .line 531
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pop2:()V
        47: .line 532
            goto 50
        48: .line 534
      StackMap locals:
      StackMap stack:
            goto 50
        49: .line 536
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.pop:()V
        end local 7 // boolean isUnboxing
        50: .line 539
      StackMap locals:
      StackMap stack:
            aload 2 /* codeStream */
            iload 4 /* pc */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.nameSourcePosition:J
            bipush 32
            lushr
            l2i
            invokevirtual org.eclipse.jdt.internal.compiler.codegen.CodeStream.recordPositionsFrom:(II)V
        51: .line 540
            return
        end local 6 // boolean isStatic
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding codegenBinding
        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.MessageSend this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   52     0                        this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   52     1                currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   52     2                  codeStream  Lorg/eclipse/jdt/internal/compiler/codegen/CodeStream;
            0   52     3               valueRequired  Z
            2   52     4                          pc  I
            5   52     5              codegenBinding  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            6   52     6                    isStatic  Z
           11   13     7                  targetType  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           12   13     8                        path  [Ljava/lang/Object;
           22   33     7  constantPoolDeclaringClass  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           42   50     7                  isUnboxing  Z
    MethodParameters:
               Name  Flags
      currentScope   
      codeStream     
      valueRequired  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] genericTypeArguments();
    descriptor: ()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
         0: .line 546
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.genericTypeArguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;

  public boolean isSuperAccess();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
         0: .line 551
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isSuper:()Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;

  public boolean isTypeAccess();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
         0: .line 555
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isTypeReference:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;

  public void manageSyntheticAccessIfNecessary(org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.flow.FlowInfo);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
         0: .line 559
            aload 2 /* flowInfo */
            getfield org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBits:I
            iconst_1
            iand
            ifeq 1
            return
         1: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 3 /* codegenBinding */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding codegenBinding
         2: .line 563
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isPrivate:()Z
            ifeq 13
         3: .line 564
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingSourceType:()Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
            aload 3 /* codegenBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.isNestmateOf:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ifeq 6
         4: .line 565
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            instanceof org.eclipse.jdt.internal.compiler.ast.QualifiedSuperReference
            ifne 6
         5: .line 564
            iconst_1
            goto 7
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 4 /* useNesting */
        start local 4 // boolean useNesting
         8: .line 567
            iload 4 /* useNesting */
            ifne 30
         9: .line 568
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingSourceType:()Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
            aload 3 /* codegenBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 30
        10: .line 569
            aload 0 /* this */
            aload 3 /* codegenBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding
            aload 3 /* codegenBinding */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.addSyntheticMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Z)Lorg/eclipse/jdt/internal/compiler/lookup/SyntheticMethodBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.syntheticAccessor:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
        11: .line 570
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 3 /* codegenBinding */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.needToEmulateMethodAccess:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        12: .line 571
            return
        end local 4 // boolean useNesting
        13: .line 574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            instanceof org.eclipse.jdt.internal.compiler.ast.QualifiedSuperReference
            ifeq 20
        14: .line 575
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isInterface:()Z
            ifeq 16
        15: .line 576
            return
        16: .line 578
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            checkcast org.eclipse.jdt.internal.compiler.ast.QualifiedSuperReference
            getfield org.eclipse.jdt.internal.compiler.ast.QualifiedSuperReference.currentCompatibleType:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding
            astore 4 /* destinationType */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding destinationType
        17: .line 579
            aload 0 /* this */
            aload 4 /* destinationType */
            aload 3 /* codegenBinding */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.isSuperAccess:()Z
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.addSyntheticMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Z)Lorg/eclipse/jdt/internal/compiler/lookup/SyntheticMethodBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.syntheticAccessor:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
        18: .line 580
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 3 /* codegenBinding */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.needToEmulateMethodAccess:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        19: .line 581
            return
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding destinationType
        20: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isProtected:()Z
            ifeq 30
        21: .line 586
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
            sipush 8160
            iand
            ifeq 30
        22: .line 587
            aload 3 /* codegenBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.getPackage:()Lorg/eclipse/jdt/internal/compiler/lookup/PackageBinding;
        23: .line 588
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.enclosingSourceType:()Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
            dup
            astore 4 /* enclosingSourceType */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding enclosingSourceType
        24: invokevirtual org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.getPackage:()Lorg/eclipse/jdt/internal/compiler/lookup/PackageBinding;
        25: .line 587
            if_acmpeq 30
        26: .line 590
            aload 4 /* enclosingSourceType */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
            sipush 8160
            iand
            iconst_5
            ishr
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.enclosingTypeAt:(I)Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding
            astore 5 /* currentCompatibleType */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding currentCompatibleType
        27: .line 591
            aload 0 /* this */
            aload 5 /* currentCompatibleType */
            aload 3 /* codegenBinding */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.isSuperAccess:()Z
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.addSyntheticMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Z)Lorg/eclipse/jdt/internal/compiler/lookup/SyntheticMethodBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.syntheticAccessor:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
        28: .line 592
            aload 1 /* currentScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 3 /* codegenBinding */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.needToEmulateMethodAccess:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        29: .line 593
            return
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding currentCompatibleType
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding enclosingSourceType
        30: .line 596
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding codegenBinding
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope currentScope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   31     0                   this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   31     1           currentScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   31     2               flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            2   31     3         codegenBinding  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            8   13     4             useNesting  Z
           17   20     4        destinationType  Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
           24   30     4    enclosingSourceType  Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
           27   30     5  currentCompatibleType  Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
    MethodParameters:
              Name  Flags
      currentScope  
      flowInfo      

  public int nullStatus(org.eclipse.jdt.internal.compiler.flow.FlowInfo, org.eclipse.jdt.internal.compiler.flow.FlowContext);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        start local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
         0: .line 599
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.implicitConversion:I
            sipush 512
            iand
            ifeq 2
         1: .line 600
            iconst_4
            ireturn
         2: .line 601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isValidBinding:()Z
            ifeq 9
         3: .line 603
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
            lstore 3 /* tagBits */
        start local 3 // long tagBits
         4: .line 604
            lload 3 /* tagBits */
            ldc 108086391056891904
            land
            lconst_0
            lcmp
            ifne 6
         5: .line 605
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            ldc 108086391056891904
            land
            lstore 3 /* tagBits */
         6: .line 606
      StackMap locals: long
      StackMap stack:
            lload 3 /* tagBits */
            lconst_0
            lcmp
            ifne 8
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isFreeTypeVariable:()Z
            ifeq 8
         7: .line 607
            bipush 48
            ireturn
         8: .line 609
      StackMap locals:
      StackMap stack:
            lload 3 /* tagBits */
            invokestatic org.eclipse.jdt.internal.compiler.flow.FlowInfo.tagBitsToNullStatus:(J)I
            ireturn
        end local 3 // long tagBits
         9: .line 611
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.flow.FlowContext flowContext
        end local 1 // org.eclipse.jdt.internal.compiler.flow.FlowInfo flowInfo
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   10     1     flowInfo  Lorg/eclipse/jdt/internal/compiler/flow/FlowInfo;
            0   10     2  flowContext  Lorg/eclipse/jdt/internal/compiler/flow/FlowContext;
            4    9     3      tagBits  J
    MethodParameters:
             Name  Flags
      flowInfo     
      flowContext  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding postConversionType(org.eclipse.jdt.internal.compiler.lookup.Scope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
         0: .line 618
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 2 /* convertedType */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding convertedType
         1: .line 619
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.valueCast:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 3
         2: .line 620
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.valueCast:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 2 /* convertedType */
         3: .line 621
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.implicitConversion:I
            sipush 255
            iand
            iconst_4
            ishr
            istore 3 /* runtimeType */
        start local 3 // int runtimeType
         4: .line 622
            iload 3 /* runtimeType */
            tableswitch { // 2 - 10
                    2: 11
                    3: 7
                    4: 9
                    5: 5
                    6: 20
                    7: 17
                    8: 19
                    9: 15
                   10: 13
              default: 20
          }
         5: .line 624
      StackMap locals: int
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.BOOLEAN:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
         6: .line 625
            goto 20
         7: .line 627
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.BYTE:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
         8: .line 628
            goto 20
         9: .line 630
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.SHORT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
        10: .line 631
            goto 20
        11: .line 633
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.CHAR:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
        12: .line 634
            goto 20
        13: .line 636
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.INT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
        14: .line 637
            goto 20
        15: .line 639
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.FLOAT:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
        16: .line 640
            goto 20
        17: .line 642
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.LONG:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
        18: .line 643
            goto 20
        19: .line 645
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.DOUBLE:Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
            astore 2 /* convertedType */
        20: .line 649
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.implicitConversion:I
            sipush 512
            iand
            ifeq 22
        21: .line 650
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 2 /* convertedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.computeBoxingType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 2 /* convertedType */
        22: .line 652
      StackMap locals:
      StackMap stack:
            aload 2 /* convertedType */
            areturn
        end local 3 // int runtimeType
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding convertedType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0           this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   23     1          scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            1   23     2  convertedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            4   23     3    runtimeType  I
    MethodParameters:
       Name  Flags
      scope  

  public java.lang.StringBuffer printExpression(int, java.lang.StringBuffer);
    descriptor: (ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // int indent
        start local 2 // java.lang.StringBuffer output
         0: .line 658
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isImplicitThis:()Z
            ifne 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iconst_0
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.printExpression:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         1: .line 659
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            ifnull 12
         2: .line 660
            aload 2 /* output */
            bipush 60
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         3: .line 661
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            arraylength
            iconst_1
            isub
            istore 3 /* max */
        start local 3 // int max
         4: .line 662
            iconst_0
            istore 4 /* j */
        start local 4 // int j
         5: goto 9
         6: .line 663
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            iload 4 /* j */
            aaload
            iconst_0
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.print:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
         7: .line 664
            aload 2 /* output */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 662
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* j */
            iload 3 /* max */
            if_icmplt 6
        end local 4 // int j
        10: .line 666
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            iload 3 /* max */
            aaload
            iconst_0
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.print:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
        11: .line 667
            aload 2 /* output */
            bipush 62
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 3 // int max
        12: .line 669
      StackMap locals:
      StackMap stack:
            aload 2 /* output */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            bipush 40
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        13: .line 670
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 20
        14: .line 671
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        15: goto 19
        16: .line 672
      StackMap locals: int
      StackMap stack:
            iload 3 /* i */
            ifle 17
            aload 2 /* output */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        17: .line 673
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 3 /* i */
            aaload
            iconst_0
            aload 2 /* output */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.printExpression:(ILjava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
        18: .line 671
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 3 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            if_icmplt 16
        end local 3 // int i
        20: .line 676
      StackMap locals:
      StackMap stack:
            aload 2 /* output */
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)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.MessageSend this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   21     1  indent  I
            0   21     2  output  Ljava/lang/StringBuffer;
            4   12     3     max  I
            5   10     4       j  I
           15   20     3       i  I
    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=8, locals=9, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 683
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 87
         1: .line 684
            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.MessageSend.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
         2: .line 685
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
            lstore 2 /* sourceLevel */
        start local 2 // long sourceLevel
         3: .line 686
            iconst_0
            istore 4 /* receiverCast */
        start local 4 // boolean receiverCast
         4: .line 687
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            instanceof org.eclipse.jdt.internal.compiler.ast.CastExpression
            ifeq 7
         5: .line 688
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
            bipush 32
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
         6: .line 689
            iconst_1
            istore 4 /* receiverCast */
         7: .line 691
      StackMap locals: long int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver: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;
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
         8: .line 692
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            ifeq 10
         9: .line 693
            aconst_null
            areturn
        10: .line 695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            instanceof org.eclipse.jdt.internal.compiler.ast.NameReference
            ifeq 11
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            checkcast org.eclipse.jdt.internal.compiler.ast.NameReference
            getfield org.eclipse.jdt.internal.compiler.ast.NameReference.bits:I
            iconst_4
            iand
            ifeq 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.MessageSend
        11: iconst_0
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.BlockScope long int
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.MessageSend int
        12: putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiverIsType:Z
        13: .line 696
            iload 4 /* receiverCast */
            ifeq 18
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 18
        14: .line 698
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            checkcast org.eclipse.jdt.internal.compiler.ast.CastExpression
            getfield org.eclipse.jdt.internal.compiler.ast.CastExpression.expression:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 5 /* resolvedType2 */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding resolvedType2
        15: .line 699
            aload 5 /* resolvedType2 */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 18
        16: .line 700
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.usesNullTypeAnnotations:()Z
            ifeq 17
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 5 /* resolvedType2 */
            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
            ifne 18
        17: .line 701
      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.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            checkcast org.eclipse.jdt.internal.compiler.ast.CastExpression
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unnecessaryCast:(Lorg/eclipse/jdt/internal/compiler/ast/CastExpression;)V
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding resolvedType2
        18: .line 706
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            ifnull 42
        19: .line 707
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            arraylength
            istore 5 /* length */
        start local 5 // int length
        20: .line 708
            aload 0 /* this */
            lload 2 /* sourceLevel */
            ldc 3211264
            lcmp
            ifge 21
            iconst_1
            goto 22
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.BlockScope long int int
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.MessageSend
        21: iconst_0
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.BlockScope long int int
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.MessageSend int
        22: putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentsHaveErrors:Z
        23: .line 709
            aload 0 /* this */
            iload 5 /* length */
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.genericTypeArguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        24: .line 710
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        25: goto 32
        26: .line 711
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            iload 6 /* i */
            aaload
            astore 7 /* typeReference */
        start local 7 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
        27: .line 712
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.genericTypeArguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 6 /* i */
            aload 7 /* typeReference */
            aload 1 /* scope */
            iconst_1
            bipush 64
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;ZI)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            dup_x2
            aastore
            ifnonnull 29
        28: .line 713
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentsHaveErrors:Z
        29: .line 715
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.TypeReference
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentsHaveErrors:Z
            ifeq 31
            aload 7 /* typeReference */
            instanceof org.eclipse.jdt.internal.compiler.ast.Wildcard
            ifeq 31
        30: .line 716
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 7 /* typeReference */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.illegalUsageOfWildcard:(Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;)V
        end local 7 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
        31: .line 710
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 6 /* i */
            iload 5 /* length */
            if_icmplt 26
        end local 6 // int i
        33: .line 719
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentsHaveErrors:Z
            ifeq 42
        34: .line 720
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 41
        35: .line 721
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        36: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            istore 7 /* max */
        start local 7 // int max
        37: goto 40
        38: .line 722
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 6 /* i */
            aaload
            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;
            pop
        39: .line 721
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        40: iload 6 /* i */
            iload 7 /* max */
            if_icmplt 38
        end local 7 // int max
        end local 6 // int i
        41: .line 725
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // int length
        42: .line 729
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 82
        43: .line 730
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentsHaveErrors:Z
        44: .line 731
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            istore 5 /* length */
        start local 5 // int length
        45: .line 732
            aload 0 /* this */
            iload 5 /* length */
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        46: .line 733
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        47: goto 58
        48: .line 734
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 6 /* i */
            aaload
            astore 7 /* argument */
        start local 7 // org.eclipse.jdt.internal.compiler.ast.Expression argument
        49: .line 735
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 6 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 51
        50: .line 736
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            ldc "Argument was unexpectedly found resolved"
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.genericInferenceError:(Ljava/lang/String;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)V
        51: .line 737
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression
      StackMap stack:
            aload 7 /* argument */
            instanceof org.eclipse.jdt.internal.compiler.ast.CastExpression
            ifeq 54
        52: .line 738
            aload 7 /* argument */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
            bipush 32
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
        53: .line 739
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argsContainCast:Z
        54: .line 741
      StackMap locals:
      StackMap stack:
            aload 7 /* argument */
            getstatic org.eclipse.jdt.internal.compiler.ast.ExpressionContext.INVOCATION_CONTEXT:Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.setExpressionContext:(Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;)V
        55: .line 742
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 6 /* i */
            aload 7 /* argument */
            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;
            dup_x2
            aastore
            ifnonnull 57
        56: .line 743
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentsHaveErrors:Z
        end local 7 // org.eclipse.jdt.internal.compiler.ast.Expression argument
        57: .line 733
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        58: iload 6 /* i */
            iload 5 /* length */
            if_icmplt 48
        end local 6 // int i
        59: .line 746
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentsHaveErrors:Z
            ifeq 82
        60: .line 747
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            ifeq 81
        61: .line 749
            iload 5 /* length */
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            astore 6 /* pseudoArgs */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] pseudoArgs
        62: .line 750
            iload 5 /* length */
            istore 7 /* i */
        start local 7 // int i
        63: goto 67
        64: .line 751
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.BlockScope long int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
      StackMap stack:
            aload 6 /* pseudoArgs */
            iload 7 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 7 /* i */
            aaload
            ifnonnull 65
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
            goto 66
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.BlockScope long int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
        65: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 7 /* i */
            aaload
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.BlockScope long int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int org.eclipse.jdt.internal.compiler.lookup.TypeBinding
        66: aastore
        67: .line 750
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ -1
            iload 7 /* i */
            ifge 64
        end local 7 // int i
        68: .line 753
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isImplicitThis:()Z
            ifeq 70
        69: .line 754
            aload 1 /* scope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            aload 6 /* pseudoArgs */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getImplicitMethod:([C[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            goto 71
        70: .line 755
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.BlockScope long int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.MessageSend
            aload 1 /* scope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            aload 6 /* pseudoArgs */
            aload 0 /* this */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.findMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[C[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Z)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
        71: .line 753
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.BlockScope long int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.MethodBinding
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
        72: .line 757
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            ifnull 81
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isValidBinding:()Z
            ifne 81
        73: .line 758
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding
            getfield org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding.closestMatch:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 7 /* closestMatch */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding closestMatch
        74: .line 760
            aload 7 /* closestMatch */
            ifnull 81
        75: .line 761
            aload 7 /* closestMatch */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_TYPE_VARIABLES:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            if_acmpeq 77
        76: .line 763
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 7 /* closestMatch */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aconst_null
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createParameterizedGenericMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/RawTypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding;
            astore 7 /* closestMatch */
        77: .line 765
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
      StackMap stack:
            aload 0 /* this */
            aload 7 /* closestMatch */
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
        78: .line 766
            aload 7 /* closestMatch */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 8 /* closestMatchOriginal */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding closestMatchOriginal
        79: .line 767
            aload 8 /* closestMatchOriginal */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isOrEnclosedByPrivateType:()Z
            ifeq 81
            aload 1 /* scope */
            aload 8 /* closestMatchOriginal */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.isDefinedInMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifne 81
        80: .line 769
            aload 8 /* closestMatchOriginal */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.modifiers:I
            ldc 134217728
            ior
            putfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.modifiers:I
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding closestMatchOriginal
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding closestMatch
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] pseudoArgs
        81: .line 774
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // int length
        82: .line 777
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnonnull 84
        83: .line 778
            aconst_null
            areturn
        84: .line 781
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 87
        85: .line 782
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.errorNoMethodFor:(Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        86: .line 783
            aconst_null
            areturn
        end local 4 // boolean receiverCast
        end local 2 // long sourceLevel
        87: .line 787
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.findMethodBinding:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 2 /* methodType */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding methodType
        88: .line 788
            aload 2 /* methodType */
            ifnull 91
            aload 2 /* methodType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPolyType:()Z
            ifeq 91
        89: .line 789
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* scope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.sourceStart:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.capture:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;II)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        90: .line 790
            aload 2 /* methodType */
            areturn
        91: .line 793
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isValidBinding:()Z
            ifne 125
        92: .line 794
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnonnull 98
        93: .line 795
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            ifeq 96
        94: .line 796
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            putfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
        95: .line 797
            goto 98
        96: .line 798
      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 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.errorNoMethodFor:(Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        97: .line 799
            aconst_null
            areturn
        98: .line 804
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 3 /* declaringClass */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding declaringClass
        99: .line 805
            aload 3 /* declaringClass */
            ifnull 103
       100: .line 806
            aload 3 /* declaringClass */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isAnonymousType:()Z
            ifeq 103
       101: .line 807
            aload 3 /* declaringClass */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.superclass:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.MissingTypeBinding
            ifeq 103
       102: .line 805
            iconst_1
            goto 104
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
      StackMap stack:
       103: iconst_0
      StackMap locals:
      StackMap stack: int
       104: istore 4 /* avoidSecondary */
        start local 4 // boolean avoidSecondary
       105: .line 808
            iload 4 /* avoidSecondary */
            ifne 107
       106: .line 809
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.invalidMethod:(Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)V
       107: .line 810
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding
            getfield org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding.closestMatch:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 5 /* closestMatch */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding closestMatch
       108: .line 811
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.problemId:()I
            lookupswitch { // 9
                    2: 112
                    3: 109
                    6: 112
                    7: 112
                    8: 112
                   10: 112
                   23: 110
                   25: 114
                   27: 110
              default: 116
          }
       109: .line 813
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
      StackMap stack:
            goto 116
       110: .line 817
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expressionContext:Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;
            getstatic org.eclipse.jdt.internal.compiler.ast.ExpressionContext.INVOCATION_CONTEXT:Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;
            if_acmpeq 112
       111: .line 818
            goto 116
       112: .line 826
      StackMap locals:
      StackMap stack:
            aload 5 /* closestMatch */
            ifnull 116
            aload 0 /* this */
            aload 5 /* closestMatch */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
       113: .line 827
            goto 116
       114: .line 829
      StackMap locals:
      StackMap stack:
            aload 5 /* closestMatch */
            ifnull 116
            aload 5 /* closestMatch */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 116
       115: .line 830
            aload 0 /* this */
            aload 5 /* closestMatch */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.withoutToplevelNullAnnotation:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
       116: .line 834
      StackMap locals:
      StackMap stack:
            aload 5 /* closestMatch */
            ifnull 121
       117: .line 835
            aload 0 /* this */
            aload 5 /* closestMatch */
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
       118: .line 836
            aload 5 /* closestMatch */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 6 /* closestMatchOriginal */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding closestMatchOriginal
       119: .line 837
            aload 6 /* closestMatchOriginal */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isOrEnclosedByPrivateType:()Z
            ifeq 121
            aload 1 /* scope */
            aload 6 /* closestMatchOriginal */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.isDefinedInMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifne 121
       120: .line 839
            aload 6 /* closestMatchOriginal */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.modifiers:I
            ldc 134217728
            ior
            putfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.modifiers:I
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding closestMatchOriginal
       121: .line 842
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 123
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            ldc 128
            land
            lconst_0
            lcmp
            ifne 123
       122: .line 843
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            goto 124
       123: .line 844
      StackMap locals:
      StackMap stack:
            aconst_null
       124: .line 842
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            areturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding closestMatch
        end local 4 // boolean avoidSecondary
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding declaringClass
       125: .line 846
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.compilerOptions:()Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            astore 3 /* compilerOptions */
        start local 3 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
       126: .line 847
            aload 3 /* compilerOptions */
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.complianceLevel:J
            ldc 3276800
            lcmp
            ifgt 130
       127: .line 848
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isPolymorphic:()Z
            ifeq 130
       128: .line 849
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.polymorphicMethodNotBelow17:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
       129: .line 850
            aconst_null
            areturn
       130: .line 853
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.CompilerOptions
      StackMap stack:
            aload 3 /* compilerOptions */
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.isAnnotationBasedNullAnalysisEnabled:Z
            ifeq 140
       131: .line 854
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 1 /* scope */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ImplicitNullAnnotationVerifier.ensureNullnessIsKnown:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)V
       132: .line 855
            aload 3 /* compilerOptions */
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.sourceLevel:J
            ldc 3407872
            lcmp
            iflt 140
       133: .line 856
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding
            ifeq 140
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            ifnull 140
       134: .line 857
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            astore 4 /* typeVariables */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] typeVariables
       135: .line 858
            iconst_0
            istore 5 /* i */
        start local 5 // int i
       136: goto 139
       137: .line 859
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            iload 5 /* i */
            aaload
            aload 1 /* scope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding
            aload 4 /* typeVariables */
            iload 5 /* i */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.checkNullConstraints:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
       138: .line 858
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
       139: iload 5 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            arraylength
            if_icmplt 137
        end local 5 // int i
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] typeVariables
       140: .line 864
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
            ldc 1048576
            iand
            ifeq 143
       141: .line 865
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isPolymorphic:()Z
            ifeq 143
       142: .line 867
            aload 0 /* this */
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.PolymorphicMethodBinding
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.VOID:Lorg/eclipse/jdt/internal/compiler/lookup/VoidTypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.updatePolymorphicMethodReturnType:(Lorg/eclipse/jdt/internal/compiler/lookup/PolymorphicMethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
       143: .line 869
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.tagBits:J
            ldc 128
            land
            lconst_0
            lcmp
            ifeq 145
       144: .line 870
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.missingTypeInMethod:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
       145: .line 872
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isStatic:()Z
            ifne 159
       146: .line 874
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiverIsType:Z
            ifeq 153
       147: .line 875
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.mustUseAStaticMethod:(Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
       148: .line 876
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isRawType:()Z
            ifeq 167
       149: .line 877
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.bits:I
            ldc 1073741824
            iand
            ifne 167
       150: .line 878
            aload 3 /* compilerOptions */
            ldc 536936448
            invokevirtual org.eclipse.jdt.internal.compiler.impl.CompilerOptions.getSeverity:(I)I
            sipush 256
            if_icmpeq 167
       151: .line 879
            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.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.rawTypeReference:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
       152: .line 881
            goto 167
       153: .line 884
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* oldReceiverType */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding oldReceiverType
       154: .line 885
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getErasureCompatibleType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
       155: .line 886
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.computeConversion:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
       156: .line 887
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 4 /* oldReceiverType */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 167
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.postConversionType:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 167
       157: .line 888
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
            ldc 262144
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding oldReceiverType
       158: .line 891
            goto 167
       159: .line 893
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isInterface:()Z
            ifeq 163
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.isTypeAccess:()Z
            ifne 160
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isImplicitThis:()Z
            ifeq 161
      StackMap locals:
      StackMap stack:
       160: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifne 163
       161: .line 894
      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 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.nonStaticOrAlienTypeReceiver:(Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
       162: .line 895
            goto 165
      StackMap locals:
      StackMap stack:
       163: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isImplicitThis:()Z
            ifne 165
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isSuper:()Z
            ifne 165
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiverIsType:Z
            ifne 165
       164: .line 896
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.nonStaticAccessToStaticMethod:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
       165: .line 898
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isImplicitThis:()Z
            ifne 167
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 167
       166: .line 899
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.indirectAccessToStaticMethod:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
       167: .line 902
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argsContainCast:Z
            aload 0 /* this */
            invokestatic org.eclipse.jdt.internal.compiler.ast.MessageSend.checkInvocationArguments:(Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/ast/Expression;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;ZLorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)Z
            ifeq 169
       168: .line 903
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
            ldc 65536
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
       169: .line 907
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isAbstract:()Z
            ifeq 172
       170: .line 908
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isSuper:()Z
            ifeq 172
       171: .line 909
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.cannotDireclyInvokeAbstractMethod:(Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
       172: .line 913
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 1 /* scope */
            iconst_1
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.isMethodUseDeprecated:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;ZLorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)Z
            ifeq 174
       173: .line 914
            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.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.deprecatedMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
       174: .line 917
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
            ldc 65536
            iand
            ifeq 179
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.genericTypeArguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnonnull 179
       175: .line 919
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* returnType */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding returnType
       176: .line 920
            aload 4 /* returnType */
            ifnull 182
       177: .line 921
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 4 /* returnType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.erasure:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.convertToRawType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* returnType */
       178: .line 923
            goto 182
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding returnType
       179: .line 924
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* returnType */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding returnType
       180: .line 925
            aload 4 /* returnType */
            ifnull 182
       181: .line 926
            aload 4 /* returnType */
            aload 1 /* scope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.sourceStart:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.capture:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;II)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* returnType */
       182: .line 929
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            aload 4 /* returnType */
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
       183: .line 930
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isSuper:()Z
            ifeq 192
            aload 3 /* compilerOptions */
            ldc 537919488
            invokevirtual org.eclipse.jdt.internal.compiler.impl.CompilerOptions.getSeverity:(I)I
            sipush 256
            if_icmpeq 192
       184: .line 931
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodScope.referenceContext:Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;
            astore 5 /* referenceContext */
        start local 5 // org.eclipse.jdt.internal.compiler.impl.ReferenceContext referenceContext
       185: .line 932
            aload 5 /* referenceContext */
            instanceof org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
            ifeq 192
       186: .line 933
            aload 5 /* referenceContext */
            checkcast org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
            astore 6 /* abstractMethodDeclaration */
        start local 6 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration abstractMethodDeclaration
       187: .line 934
            aload 6 /* abstractMethodDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 7 /* enclosingMethodBinding */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding enclosingMethodBinding
       188: .line 935
            aload 7 /* enclosingMethodBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isOverriding:()Z
            ifeq 192
       189: .line 936
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.selector:[C
            aload 7 /* enclosingMethodBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.selector:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 192
       190: .line 937
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 7 /* enclosingMethodBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.areParametersEqual:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifeq 192
       191: .line 938
            aload 6 /* abstractMethodDeclaration */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.bits:I
            bipush 16
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.bits:I
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding enclosingMethodBinding
        end local 6 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration abstractMethodDeclaration
        end local 5 // org.eclipse.jdt.internal.compiler.impl.ReferenceContext referenceContext
       192: .line 942
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isSuper:()Z
            ifeq 194
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isInterface:()Z
            ifeq 194
       193: .line 944
            aload 1 /* scope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.checkAppropriateMethodAgainstSupers:([CLorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)V
       194: .line 946
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            ifnull 196
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_TYPE_VARIABLES:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            if_acmpne 196
       195: .line 947
            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.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.genericTypeArguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.unnecessaryTypeArgumentsForMethodInvocation:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;)V
       196: .line 949
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            ldc 128
            land
            lconst_0
            lcmp
            ifne 198
       197: .line 950
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            goto 199
       198: .line 951
      StackMap locals:
      StackMap stack:
            aconst_null
       199: .line 949
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding returnType
        end local 3 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions compilerOptions
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding methodType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0  200     0                       this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0  200     1                      scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            3   87     2                sourceLevel  J
            4   87     4               receiverCast  Z
           15   18     5              resolvedType2  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           20   42     5                     length  I
           25   33     6                          i  I
           27   31     7              typeReference  Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
           36   41     6                          i  I
           37   41     7                        max  I
           45   82     5                     length  I
           47   59     6                          i  I
           49   57     7                   argument  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
           62   81     6                 pseudoArgs  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           63   68     7                          i  I
           74   81     7               closestMatch  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           79   81     8       closestMatchOriginal  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           88  200     2                 methodType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           99  125     3             declaringClass  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
          105  125     4             avoidSecondary  Z
          108  125     5               closestMatch  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
          119  121     6       closestMatchOriginal  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
          126  200     3            compilerOptions  Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
          135  140     4              typeVariables  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
          136  140     5                          i  I
          154  158     4            oldReceiverType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          176  179     4                 returnType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          180  200     4                 returnType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          185  192     5           referenceContext  Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;
          187  192     6  abstractMethodDeclaration  Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
          188  192     7     enclosingMethodBinding  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
    MethodParameters:
       Name  Flags
      scope  

  protected org.eclipse.jdt.internal.compiler.lookup.TypeBinding findMethodBinding(org.eclipse.jdt.internal.compiler.lookup.BlockScope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
         0: .line 955
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodScope.referenceContext:Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;
            astore 2 /* referenceContext */
        start local 2 // org.eclipse.jdt.internal.compiler.impl.ReferenceContext referenceContext
         1: .line 956
            aload 2 /* referenceContext */
            instanceof org.eclipse.jdt.internal.compiler.ast.LambdaExpression
            ifeq 3
         2: .line 957
            aload 0 /* this */
            aload 2 /* referenceContext */
            checkcast org.eclipse.jdt.internal.compiler.ast.LambdaExpression
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.inferenceContext:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.outerInferenceContext:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
         3: .line 960
      StackMap locals: org.eclipse.jdt.internal.compiler.impl.ReferenceContext
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 5
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.PolyParameterizedGenericMethodBinding
            ifeq 5
         4: .line 961
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.solutionsPerTargetType:Ljava/util/HashMap;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.MethodBinding
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
         5: .line 963
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            ifnonnull 13
         6: .line 964
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isImplicitThis:()Z
            ifeq 8
         7: .line 965
            aload 1 /* scope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getImplicitMethod:([C[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            goto 9
         8: .line 966
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.MessageSend
            aload 1 /* scope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.selector:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.getMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[C[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
         9: .line 964
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.impl.ReferenceContext
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.MethodBinding
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
        10: .line 968
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.PolyParameterizedGenericMethodBinding
            ifeq 13
        11: .line 969
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.solutionsPerTargetType:Ljava/util/HashMap;
        12: .line 970
            new org.eclipse.jdt.internal.compiler.lookup.PolyTypeBinding
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.PolyTypeBinding.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;)V
            areturn
        13: .line 973
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* scope */
            invokestatic org.eclipse.jdt.internal.compiler.ast.MessageSend.resolvePolyExpressionArguments:(Lorg/eclipse/jdt/internal/compiler/ast/Invocation;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
        14: .line 974
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.impl.ReferenceContext referenceContext
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BlockScope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   15     1             scope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            1   15     2  referenceContext  Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;
    MethodParameters:
       Name  Flags
      scope  

  public void setActualReceiverType(org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding receiverType
         0: .line 979
            aload 1 /* receiverType */
            ifnonnull 1
            return
         1: .line 980
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* receiverType */
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.actualReceiverType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
         2: .line 981
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding receiverType
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0    3     1  receiverType  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    MethodParameters:
              Name  Flags
      receiverType  

  public void setDepth(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // int depth
         0: .line 984
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
            sipush -8161
            iand
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
         1: .line 985
            iload 1 /* depth */
            ifle 3
         2: .line 986
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
            iload 1 /* depth */
            sipush 255
            iand
            iconst_5
            ishl
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
         3: .line 988
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int depth
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0    4     1  depth  I
    MethodParameters:
       Name  Flags
      depth  

  public void setExpectedType(org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
         0: .line 995
            aload 0 /* this */
            aload 1 /* expectedType */
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
         1: .line 996
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0    2     1  expectedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
              Name  Flags
      expectedType  

  public void setExpressionContext(org.eclipse.jdt.internal.compiler.ast.ExpressionContext);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.ExpressionContext context
         0: .line 1000
            aload 0 /* this */
            aload 1 /* context */
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expressionContext:Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;
         1: .line 1001
            return
        end local 1 // org.eclipse.jdt.internal.compiler.ast.ExpressionContext context
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0    2     1  context  Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;
    MethodParameters:
         Name  Flags
      context  

  public boolean isPolyExpression();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
         0: .line 1013
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.isPolyExpression:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;

  public boolean isBoxingCompatibleWith(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.Scope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
         0: .line 1018
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentsHaveErrors:Z
            ifne 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isValidBinding:()Z
            ifeq 1
            aload 1 /* targetType */
            ifnull 1
            aload 2 /* scope */
            ifnonnull 2
         1: .line 1019
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 1020
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.isPolyExpression:()Z
            ifeq 4
            aload 1 /* targetType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPrimitiveOrBoxedPrimitiveType:()Z
            ifne 4
         3: .line 1021
            iconst_0
            ireturn
         4: .line 1022
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 3 /* originalExpectedType */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalExpectedType
         5: .line 1024
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.solutionsPerTargetType:Ljava/util/HashMap;
            ifnull 6
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.solutionsPerTargetType:Ljava/util/HashMap;
            aload 1 /* targetType */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.MethodBinding
            goto 7
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
         6: aconst_null
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
         7: astore 4 /* method */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
         8: .line 1025
            aload 4 /* method */
            ifnonnull 14
         9: .line 1026
            aload 0 /* this */
            aload 1 /* targetType */
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        10: .line 1028
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.isPolyExpression:()Z
            ifeq 11
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.shallowOriginal:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 2 /* scope */
            aload 0 /* this */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding.computeCompatibleMethod18:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            goto 12
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
      StackMap stack:
        11: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
        12: astore 4 /* method */
        13: .line 1029
            aload 0 /* this */
            aload 1 /* targetType */
            aload 4 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.registerResult:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
        14: .line 1031
      StackMap locals:
      StackMap stack:
            aload 4 /* method */
            ifnull 15
            aload 4 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isValidBinding:()Z
            ifeq 15
            aload 4 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 15
            aload 4 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isValidBinding:()Z
            ifne 17
        15: .line 1035
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* originalExpectedType */
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        16: .line 1032
            iconst_0
            ireturn
        17: .line 1033
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 2 /* scope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.sourceStart:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.capture:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;II)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* targetType */
            aload 0 /* this */
            aload 2 /* scope */
            invokespecial org.eclipse.jdt.internal.compiler.ast.Expression.isBoxingCompatible:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
            istore 6
        18: .line 1035
            aload 0 /* this */
            aload 3 /* originalExpectedType */
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        19: .line 1033
            iload 6
            ireturn
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        20: .line 1034
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: java.lang.Throwable
            astore 5
        21: .line 1035
            aload 0 /* this */
            aload 3 /* originalExpectedType */
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        22: .line 1036
            aload 5
            athrow
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalExpectedType
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   23     0                  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   23     1            targetType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   23     2                 scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            5   23     3  originalExpectedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            8   20     4                method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
      Exception table:
        from    to  target  type
           5    15      20  any
          17    18      20  any
    MethodParameters:
            Name  Flags
      targetType  
      scope       

  public boolean isCompatibleWith(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.Scope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
         0: .line 1041
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentsHaveErrors:Z
            ifne 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isValidBinding:()Z
            ifeq 1
            aload 1 /* targetType */
            ifnull 1
            aload 2 /* scope */
            ifnonnull 2
         1: .line 1042
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 1043
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 3 /* originalExpectedType */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalExpectedType
         3: .line 1045
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.solutionsPerTargetType:Ljava/util/HashMap;
            ifnull 4
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.solutionsPerTargetType:Ljava/util/HashMap;
            aload 1 /* targetType */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.MethodBinding
            goto 5
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
         4: aconst_null
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
         5: astore 4 /* method */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
         6: .line 1046
            aload 4 /* method */
            ifnonnull 12
         7: .line 1047
            aload 0 /* this */
            aload 1 /* targetType */
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
         8: .line 1049
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.isPolyExpression:()Z
            ifeq 9
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.shallowOriginal:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.argumentTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 2 /* scope */
            aload 0 /* this */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding.computeCompatibleMethod18:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            goto 10
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
      StackMap stack:
         9: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
        10: astore 4 /* method */
        11: .line 1050
            aload 0 /* this */
            aload 1 /* targetType */
            aload 4 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.registerResult:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
        12: .line 1053
      StackMap locals:
      StackMap stack:
            aload 4 /* method */
            ifnull 14
            aload 4 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isValidBinding:()Z
            ifeq 14
            aload 4 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            dup
            astore 5 /* returnType */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding returnType
        13: ifnull 14
            aload 5 /* returnType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isValidBinding:()Z
            ifne 16
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding returnType
        14: .line 1059
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* originalExpectedType */
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        15: .line 1054
            iconst_0
            ireturn
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding returnType
        16: .line 1055
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
            ldc 65536
            iand
            ifeq 18
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.genericTypeArguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnonnull 18
        17: .line 1056
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 5 /* returnType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.erasure:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.convertToRawType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 5 /* returnType */
        18: .line 1057
      StackMap locals:
      StackMap stack:
            aload 5 /* returnType */
            aload 2 /* scope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.sourceStart:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.capture:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;II)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* targetType */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
            istore 7
        19: .line 1059
            aload 0 /* this */
            aload 3 /* originalExpectedType */
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        20: .line 1057
            iload 7
            ireturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding returnType
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        21: .line 1058
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MessageSend org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: java.lang.Throwable
            astore 6
        22: .line 1059
            aload 0 /* this */
            aload 3 /* originalExpectedType */
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        23: .line 1060
            aload 6
            athrow
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalExpectedType
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   24     0                  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   24     1            targetType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   24     2                 scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            3   24     3  originalExpectedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            6   21     4                method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           13   14     5            returnType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           16   21     5            returnType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
      Exception table:
        from    to  target  type
           3    14      21  any
          16    19      21  any
    MethodParameters:
            Name  Flags
      targetType  
      scope       final

  public boolean isPolyExpression(org.eclipse.jdt.internal.compiler.lookup.MethodBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding resolutionCandidate
         0: .line 1066
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expressionContext:Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;
            getstatic org.eclipse.jdt.internal.compiler.ast.ExpressionContext.ASSIGNMENT_CONTEXT:Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;
            if_acmpeq 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expressionContext:Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;
            getstatic org.eclipse.jdt.internal.compiler.ast.ExpressionContext.INVOCATION_CONTEXT:Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;
            if_acmpeq 2
         1: .line 1067
            iconst_0
            ireturn
         2: .line 1069
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            ifnull 4
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            arraylength
            ifle 4
         3: .line 1070
            iconst_0
            ireturn
         4: .line 1072
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.constant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            getstatic org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant:Lorg/eclipse/jdt/internal/compiler/impl/Constant;
            if_acmpeq 6
         5: .line 1073
            new java.lang.UnsupportedOperationException
            dup
            ldc "Unresolved MessageSend can't be queried if it is a polyexpression"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1075
      StackMap locals:
      StackMap stack:
            aload 1 /* resolutionCandidate */
            ifnull 14
         7: .line 1076
            aload 1 /* resolutionCandidate */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding
            ifeq 11
         8: .line 1077
            aload 1 /* resolutionCandidate */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding
            astore 2 /* pgmb */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding pgmb
         9: .line 1078
            aload 2 /* pgmb */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding.inferredReturnType:Z
            ifeq 11
        10: .line 1079
            iconst_1
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding pgmb
        11: .line 1081
      StackMap locals:
      StackMap stack:
            aload 1 /* resolutionCandidate */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 14
        12: .line 1083
            aload 1 /* resolutionCandidate */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 2 /* candidateOriginal */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding candidateOriginal
        13: .line 1084
            aload 2 /* candidateOriginal */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 2 /* candidateOriginal */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            iconst_m1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.mentionsAny:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Z
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding candidateOriginal
        14: .line 1088
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding resolutionCandidate
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   15     0                 this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   15     1  resolutionCandidate  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            9   11     2                 pgmb  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding;
           13   14     2    candidateOriginal  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
    MethodParameters:
                     Name  Flags
      resolutionCandidate  

  public boolean sIsMoreSpecific(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.Scope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
         0: .line 1093
            aload 0 /* this */
            aload 1 /* s */
            aload 2 /* t */
            aload 3 /* scope */
            invokespecial org.eclipse.jdt.internal.compiler.ast.Expression.sIsMoreSpecific:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
            ifeq 2
         1: .line 1094
            iconst_1
            ireturn
         2: .line 1095
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.MessageSend.isPolyExpression:()Z
            ifeq 4
            aload 1 /* s */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifne 3
            aload 2 /* t */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 3
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         3: iconst_0
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: ireturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0    6     1      s  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    6     2      t  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    6     3  scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
    MethodParameters:
       Name  Flags
      s      
      t      
      scope  

  public void setFieldIndex(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // int depth
         0: .line 1101
            return
        end local 1 // int depth
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0    1     1  depth  I
    MethodParameters:
       Name  Flags
      depth  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding invocationTargetType();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
         0: .line 1104
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;

  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=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
         0: .line 1109
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* blockScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)Z
            ifeq 16
         1: .line 1110
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 1 /* visitor */
            aload 2 /* blockScope */
            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 1111
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            ifnull 9
         3: .line 1112
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            arraylength
            istore 4 /* typeArgumentsLength */
        start local 4 // int typeArgumentsLength
         5: goto 8
         6: .line 1113
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.typeArguments:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            iload 3 /* i */
            aaload
            aload 1 /* visitor */
            aload 2 /* blockScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
         7: .line 1112
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 4 /* typeArgumentsLength */
            if_icmplt 6
        end local 4 // int typeArgumentsLength
        end local 3 // int i
         9: .line 1116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnull 16
        10: .line 1117
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            istore 3 /* argumentsLength */
        start local 3 // int argumentsLength
        11: .line 1118
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        12: goto 15
        13: .line 1119
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 4 /* i */
            aaload
            aload 1 /* visitor */
            aload 2 /* blockScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.traverse:(Lorg/eclipse/jdt/internal/compiler/ASTVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
        14: .line 1118
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            iload 3 /* argumentsLength */
            if_icmplt 13
        end local 4 // int i
        end local 3 // int argumentsLength
        16: .line 1122
      StackMap locals:
      StackMap stack:
            aload 1 /* visitor */
            aload 0 /* this */
            aload 2 /* blockScope */
            invokevirtual org.eclipse.jdt.internal.compiler.ASTVisitor.endVisit:(Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;)V
        17: .line 1123
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
        end local 1 // org.eclipse.jdt.internal.compiler.ASTVisitor visitor
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   18     0                 this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0   18     1              visitor  Lorg/eclipse/jdt/internal/compiler/ASTVisitor;
            0   18     2           blockScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            4    9     3                    i  I
            5    9     4  typeArgumentsLength  I
           11   16     3      argumentsLength  I
           12   16     4                    i  I
    MethodParameters:
            Name  Flags
      visitor     
      blockScope  

  public boolean statementExpression();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
         0: .line 1126
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.bits:I
            ldc 534773760
            iand
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;

  public boolean receiverIsImplicitThis();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
         0: .line 1130
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isImplicitThis:()Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;

  public org.eclipse.jdt.internal.compiler.lookup.MethodBinding binding();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
         0: .line 1135
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.binding:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;

  public void registerInferenceContext(org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding, org.eclipse.jdt.internal.compiler.lookup.InferenceContext18);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding method
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 infCtx18
         0: .line 1140
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.inferenceContexts:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            ifnonnull 2
         1: .line 1141
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.util.SimpleLookupTable
            dup
            invokespecial org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.<init>:()V
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.inferenceContexts:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
         2: .line 1142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.inferenceContexts:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* method */
            aload 2 /* infCtx18 */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1143
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 infCtx18
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding method
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0    4     1    method  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding;
            0    4     2  infCtx18  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
    MethodParameters:
          Name  Flags
      method    
      infCtx18  

  public void registerResult(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.MethodBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
         0: .line 1147
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.solutionsPerTargetType:Ljava/util/HashMap;
            ifnonnull 2
         1: .line 1148
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.solutionsPerTargetType:Ljava/util/HashMap;
         2: .line 1149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.solutionsPerTargetType:Ljava/util/HashMap;
            aload 1 /* targetType */
            aload 2 /* method */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1150
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0    4     1  targetType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    4     2      method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
    MethodParameters:
            Name  Flags
      targetType  
      method      

  public org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 getInferenceContext(org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding method
         0: .line 1154
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.inferenceContexts:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            ifnonnull 2
         1: .line 1155
            aconst_null
            areturn
         2: .line 1156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.inferenceContexts:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceContext18
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding method
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0    3     1  method  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding;
    MethodParameters:
        Name  Flags
      method  

  public void cleanUpInferenceContexts();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
         0: .line 1160
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.inferenceContexts:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            ifnonnull 2
         1: .line 1161
            return
         2: .line 1162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.inferenceContexts:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.valueTable:[Ljava/lang/Object;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 7
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MessageSend top int int java.lang.Object[]
      StackMap stack:
         3: aload 4
            iload 2
            aaload
            astore 1 /* value */
        start local 1 // java.lang.Object value
         4: .line 1163
            aload 1 /* value */
            ifnull 6
         5: .line 1164
            aload 1 /* value */
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceContext18
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.cleanUp:()V
        end local 1 // java.lang.Object value
         6: .line 1162
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         7: iload 2
            iload 3
            if_icmplt 3
         8: .line 1165
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.inferenceContexts:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
         9: .line 1166
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.outerInferenceContext:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
        10: .line 1167
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.ast.MessageSend.solutionsPerTargetType:Ljava/util/HashMap;
        11: .line 1168
            return
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            4    6     1  value  Ljava/lang/Object;

  public org.eclipse.jdt.internal.compiler.ast.Expression[] arguments();
    descriptor: ()[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
         0: .line 1171
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;

  public org.eclipse.jdt.internal.compiler.ast.ExpressionContext getExpressionContext();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
         0: .line 1175
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.expressionContext:Lorg/eclipse/jdt/internal/compiler/ast/ExpressionContext;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;

  public org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 freshInferenceContext(org.eclipse.jdt.internal.compiler.lookup.Scope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
         0: .line 1180
            new org.eclipse.jdt.internal.compiler.lookup.InferenceContext18
            dup
            aload 1 /* scope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.outerInferenceContext:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            invokespecial org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;[Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)V
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
            0    1     1  scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
    MethodParameters:
       Name  Flags
      scope  

  public boolean isQualifiedSuper();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
         0: .line 1184
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.receiver:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isQualifiedSuper:()Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;

  public int nameSourceStart();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
         0: .line 1188
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.nameSourcePosition:J
            bipush 32
            lushr
            l2i
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;

  public int nameSourceEnd();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
         0: .line 1192
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.ast.MessageSend.nameSourcePosition:J
            l2i
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.ast.MessageSend this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/ast/MessageSend;
}
SourceFile: "MessageSend.java"
InnerClasses:
  public CloseMethodRecord = org.eclipse.jdt.internal.compiler.lookup.TypeConstants$CloseMethodRecord of org.eclipse.jdt.internal.compiler.lookup.TypeConstants
  public final DangerousMethod = org.eclipse.jdt.internal.compiler.lookup.TypeConstants$DangerousMethod of org.eclipse.jdt.internal.compiler.lookup.TypeConstants