public class org.eclipse.jdt.internal.compiler.lookup.InferenceContext18
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18
  super_class: java.lang.Object
{
  static final boolean SIMULATE_BUG_JDK_8026527;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final boolean SHOULD_WORKAROUND_BUG_JDK_8054721;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final boolean SHOULD_WORKAROUND_BUG_JDK_8153748;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final boolean ARGUMENT_CONSTRAINTS_ARE_SOFT;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  org.eclipse.jdt.internal.compiler.lookup.InvocationSite currentInvocation;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
    flags: (0x0000) 

  org.eclipse.jdt.internal.compiler.ast.Expression[] invocationArguments;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    flags: (0x0000) 

  org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] inferenceVariables;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
    flags: (0x0000) 

  org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula[] initialConstraints;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
    flags: (0x0000) 

  org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula[] finalConstraints;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;
    flags: (0x0000) 

  org.eclipse.jdt.internal.compiler.lookup.BoundSet currentBounds;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
    flags: (0x0000) 

  int inferenceKind;
    descriptor: I
    flags: (0x0000) 

  public int stepCompleted;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public static final int NOT_INFERRED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int APPLICABILITY_INFERRED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int TYPE_INFERRED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int TYPE_INFERRED_FINAL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public java.util.List<org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula> constraintsWithUncheckedConversion;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;

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

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

  private java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceContext18> seenInnerContexts;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;>;

  org.eclipse.jdt.internal.compiler.lookup.Scope scope;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
    flags: (0x0000) 

  org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
    flags: (0x0000) 

  org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding object;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    flags: (0x0000) 

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

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

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

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

  private java.lang.Runnable pushToOuterJob;
    descriptor: Ljava/lang/Runnable;
    flags: (0x0002) ACC_PRIVATE

  public static final int CHECK_UNKNOWN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int CHECK_STRICT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int CHECK_LOOSE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int CHECK_VARARG;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  int captureId;
    descriptor: I
    flags: (0x0000) 

  public static boolean isSameSite(org.eclipse.jdt.internal.compiler.lookup.InvocationSite, org.eclipse.jdt.internal.compiler.lookup.InvocationSite);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite site1
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite site2
         0: .line 177
            aload 0 /* site1 */
            aload 1 /* site2 */
            if_acmpne 2
         1: .line 178
            iconst_1
            ireturn
         2: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* site1 */
            ifnull 3
            aload 1 /* site2 */
            ifnonnull 4
         3: .line 180
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* site1 */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.InvocationSite.sourceStart:()I
            aload 1 /* site2 */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.InvocationSite.sourceStart:()I
            if_icmpne 6
            aload 0 /* site1 */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.InvocationSite.sourceEnd:()I
            aload 1 /* site2 */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.InvocationSite.sourceEnd:()I
            if_icmpne 6
         5: .line 182
            iconst_1
            ireturn
         6: .line 183
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite site2
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite site1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  site1  Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            0    7     1  site2  Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
    MethodParameters:
       Name  Flags
      site1  
      site2  

  public void <init>(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.ast.Expression[], org.eclipse.jdt.internal.compiler.lookup.InvocationSite, org.eclipse.jdt.internal.compiler.lookup.InferenceContext18);
    descriptor: (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
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Expression[] arguments
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite site
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 outerContext
         0: .line 207
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.stepCompleted:I
         2: .line 172
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.directlyAcceptingInnerBounds:Z
         3: .line 174
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.pushToOuterJob:Ljava/lang/Runnable;
         4: .line 1292
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.captureId:I
         5: .line 208
            aload 0 /* this */
            aload 1 /* scope */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
         6: .line 209
            aload 0 /* this */
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
         7: .line 210
            aload 0 /* this */
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.getJavaLangObject:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.object:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
         8: .line 211
            aload 0 /* this */
            aload 2 /* arguments */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         9: .line 212
            aload 0 /* this */
            aload 3 /* site */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentInvocation:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
        10: .line 213
            aload 0 /* this */
            aload 4 /* outerContext */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.outerContext:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
        11: .line 214
            aload 3 /* site */
            instanceof org.eclipse.jdt.internal.compiler.ast.Invocation
            ifeq 13
        12: .line 215
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.compilationUnitScope:()Lorg/eclipse/jdt/internal/compiler/lookup/CompilationUnitScope;
            aload 3 /* site */
            checkcast org.eclipse.jdt.internal.compiler.ast.Invocation
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.registerInferredInvocation:(Lorg/eclipse/jdt/internal/compiler/ast/Invocation;)V
        13: .line 216
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.ast.Expression[] org.eclipse.jdt.internal.compiler.lookup.InvocationSite org.eclipse.jdt.internal.compiler.lookup.InferenceContext18
      StackMap stack:
            return
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 outerContext
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite site
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Expression[] arguments
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   14     1         scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0   14     2     arguments  [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   14     3          site  Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            0   14     4  outerContext  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
    MethodParameters:
              Name  Flags
      scope         
      arguments     
      site          
      outerContext  

  public void <init>(org.eclipse.jdt.internal.compiler.lookup.Scope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
         0: .line 218
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.stepCompleted:I
         2: .line 172
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.directlyAcceptingInnerBounds:Z
         3: .line 174
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.pushToOuterJob:Ljava/lang/Runnable;
         4: .line 1292
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.captureId:I
         5: .line 219
            aload 0 /* this */
            aload 1 /* scope */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
         6: .line 220
            aload 0 /* this */
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
         7: .line 221
            aload 0 /* this */
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.getJavaLangObject:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.object:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
         8: .line 222
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    9     1  scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
    MethodParameters:
       Name  Flags
      scope  

  public org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] createInitialBoundSet(org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] typeParameters
         0: .line 230
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            ifnonnull 2
         1: .line 231
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.lookup.BoundSet
            dup
            invokespecial org.eclipse.jdt.internal.compiler.lookup.BoundSet.<init>:()V
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
         2: .line 233
      StackMap locals:
      StackMap stack:
            aload 1 /* typeParameters */
            ifnull 6
         3: .line 234
            aload 0 /* this */
            aload 1 /* typeParameters */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addInitialTypeVariableSubstitutions:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            astore 2 /* newInferenceVariables */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] newInferenceVariables
         4: .line 235
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            aload 1 /* typeParameters */
            aload 2 /* newInferenceVariables */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBoundsFromTypeParameters:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)V
         5: .line 236
            aload 2 /* newInferenceVariables */
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] newInferenceVariables
         6: .line 238
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_INFERENCE_VARIABLES:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] typeParameters
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    7     0                   this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    7     1         typeParameters  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            4    6     2  newInferenceVariables  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
    MethodParameters:
                Name  Flags
      typeParameters  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitute(org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
         0: .line 245
            new org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)V
            astore 2 /* inferenceSubstitution */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution inferenceSubstitution
         1: .line 246
            aload 2 /* inferenceSubstitution */
            aload 2 /* inferenceSubstitution */
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution inferenceSubstitution
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    2     1                   type  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            1    2     2  inferenceSubstitution  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;
    MethodParameters:
      Name  Flags
      type  

  public void createInitialConstraintsForParameters(org.eclipse.jdt.internal.compiler.lookup.TypeBinding[], boolean, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.MethodBinding);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;ZLorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=11, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
        start local 2 // boolean checkVararg
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding varArgsType
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
         0: .line 251
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            ifnonnull 2
         1: .line 252
            return
         2: .line 253
      StackMap locals:
      StackMap stack:
            iload 2 /* checkVararg */
            ifeq 3
            aload 1 /* parameters */
            arraylength
            iconst_1
            isub
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 1 /* parameters */
            arraylength
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            invokestatic java.lang.Math.min:(II)I
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* len */
        start local 5 // int len
         5: .line 254
            iload 2 /* checkVararg */
            ifeq 6
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iload 5 /* len */
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* maxConstraints */
        start local 6 // int maxConstraints
         8: .line 255
            iconst_0
            istore 7 /* numConstraints */
        start local 7 // int numConstraints
         9: .line 257
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            ifnonnull 13
        10: .line 258
            aload 0 /* this */
            iload 6 /* maxConstraints */
            anewarray org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
        11: .line 259
            iconst_1
            istore 8 /* ownConstraints */
        start local 8 // boolean ownConstraints
        12: .line 260
            goto 19
        end local 8 // boolean ownConstraints
        13: .line 261
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            arraylength
            istore 7 /* numConstraints */
        14: .line 262
            iload 6 /* maxConstraints */
            iload 7 /* numConstraints */
            iadd
            istore 6 /* maxConstraints */
        15: .line 263
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            iconst_0
        16: .line 264
            aload 0 /* this */
            iload 6 /* maxConstraints */
            anewarray org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            iconst_0
            iload 7 /* numConstraints */
        17: .line 263
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 265
            iconst_0
            istore 8 /* ownConstraints */
        start local 8 // boolean ownConstraints
        19: .line 267
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        20: goto 28
        21: .line 268
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parameters */
            iload 9 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 10 /* thetaF */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding thetaF
        22: .line 269
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 9 /* i */
            aaload
            aload 1 /* parameters */
            iload 9 /* i */
            aaload
            aload 4 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isPertinentToApplicability:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifeq 25
        23: .line 270
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            iload 7 /* numConstraints */
            iinc 7 /* numConstraints */ 1
            new org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 9 /* i */
            aaload
            aload 10 /* thetaF */
            iconst_1
            iconst_0
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)V
            aastore
        24: .line 271
            goto 27
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
        25: aload 0 /* this */
            aload 1 /* parameters */
            iload 9 /* i */
            aaload
            aload 4 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.isTypeVariableOfCandidate:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifne 27
        26: .line 272
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            iload 7 /* numConstraints */
            iinc 7 /* numConstraints */ 1
            new org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 9 /* i */
            aaload
            aload 10 /* thetaF */
            bipush 8
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
            aastore
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding thetaF
        27: .line 267
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 9 /* i */
            iload 5 /* len */
            if_icmplt 21
        end local 9 // int i
        29: .line 275
            iload 2 /* checkVararg */
            ifeq 41
            aload 3 /* varArgsType */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
            ifeq 41
        30: .line 276
            aload 3 /* varArgsType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.elementsType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 3 /* varArgsType */
        31: .line 277
            aload 0 /* this */
            aload 3 /* varArgsType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 9 /* thetaF */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding thetaF
        32: .line 278
            iload 5 /* len */
            istore 10 /* i */
        start local 10 // int i
        33: goto 40
        34: .line 279
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding int int int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 10 /* i */
            aaload
            aload 3 /* varArgsType */
            aload 4 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isPertinentToApplicability:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifeq 37
        35: .line 280
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            iload 7 /* numConstraints */
            iinc 7 /* numConstraints */ 1
            new org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 10 /* i */
            aaload
            aload 9 /* thetaF */
            iconst_1
            iconst_0
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)V
            aastore
        36: .line 281
            goto 39
      StackMap locals:
      StackMap stack:
        37: aload 0 /* this */
            aload 3 /* varArgsType */
            aload 4 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.isTypeVariableOfCandidate:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifne 39
        38: .line 282
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            iload 7 /* numConstraints */
            iinc 7 /* numConstraints */ 1
            new org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 10 /* i */
            aaload
            aload 9 /* thetaF */
            bipush 8
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
            aastore
        39: .line 278
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        40: iload 10 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            arraylength
            if_icmplt 34
        end local 10 // int i
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding thetaF
        41: .line 286
      StackMap locals:
      StackMap stack:
            iload 7 /* numConstraints */
            ifne 43
        42: .line 287
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula.NO_CONSTRAINTS:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            goto 45
        43: .line 288
      StackMap locals:
      StackMap stack:
            iload 7 /* numConstraints */
            iload 6 /* maxConstraints */
            if_icmpge 45
        44: .line 289
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            iconst_0
            aload 0 /* this */
            iload 7 /* numConstraints */
            anewarray org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            iconst_0
            iload 7 /* numConstraints */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        45: .line 290
      StackMap locals:
      StackMap stack:
            iload 8 /* ownConstraints */
            ifeq 48
        46: .line 291
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            arraylength
            istore 9 /* length */
        start local 9 // int length
        47: .line 292
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            iconst_0
            aload 0 /* this */
            iload 9 /* length */
            anewarray org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.finalConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;
            iconst_0
            iload 9 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 9 // int length
        48: .line 294
      StackMap locals:
      StackMap stack:
            return
        end local 8 // boolean ownConstraints
        end local 7 // int numConstraints
        end local 6 // int maxConstraints
        end local 5 // int len
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding varArgsType
        end local 2 // boolean checkVararg
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   49     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   49     1      parameters  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   49     2     checkVararg  Z
            0   49     3     varArgsType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   49     4          method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            5   49     5             len  I
            8   49     6  maxConstraints  I
            9   49     7  numConstraints  I
           12   13     8  ownConstraints  Z
           19   49     8  ownConstraints  Z
           20   29     9               i  I
           22   27    10          thetaF  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           32   41     9          thetaF  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           33   41    10               i  I
           47   48     9          length  I
    MethodParameters:
             Name  Flags
      parameters   
      checkVararg  
      varArgsType  
      method       

  private boolean isTypeVariableOfCandidate(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;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding candidate
         0: .line 298
            aload 1 /* type */
            instanceof org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            ifeq 6
         1: .line 299
            aload 1 /* type */
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            astore 3 /* declaringElement */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.Binding declaringElement
         2: .line 300
            aload 3 /* declaringElement */
            aload 2 /* candidate */
            if_acmpne 4
         3: .line 301
            iconst_1
            ireturn
         4: .line 302
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.Binding
      StackMap stack:
            aload 2 /* candidate */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isConstructor:()Z
            ifeq 6
            aload 3 /* declaringElement */
            aload 2 /* candidate */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            if_acmpne 6
         5: .line 303
            iconst_1
            ireturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.Binding declaringElement
         6: .line 305
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding candidate
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    7     1              type  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    7     2         candidate  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            2    6     3  declaringElement  Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
    MethodParameters:
           Name  Flags
      type       
      candidate  

  private org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] addInitialTypeVariableSubstitutions(org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] typeVariables
         0: .line 309
            aload 1 /* typeVariables */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         1: .line 310
            iload 2 /* len */
            ifne 5
         2: .line 311
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            ifnonnull 4
         3: .line 312
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_INFERENCE_VARIABLES:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
         4: .line 313
      StackMap locals: int
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_INFERENCE_VARIABLES:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            areturn
         5: .line 315
      StackMap locals:
      StackMap stack:
            iload 2 /* len */
            anewarray org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            astore 3 /* newVariables */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] newVariables
         6: .line 316
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 10
         8: .line 317
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] int
      StackMap stack:
            aload 3 /* newVariables */
            iload 4 /* i */
            aload 1 /* typeVariables */
            iload 4 /* i */
            aaload
            iload 4 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentInvocation:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.object:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iconst_1
            invokestatic org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.get:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;ILorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Z)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            aastore
         9: .line 316
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            iload 2 /* len */
            if_icmplt 8
        end local 4 // int i
        11: .line 318
            aload 0 /* this */
            aload 3 /* newVariables */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addInferenceVariables:([Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)V
        12: .line 319
            aload 3 /* newVariables */
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] newVariables
        end local 2 // int len
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] typeVariables
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   13     1  typeVariables  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            1   13     2            len  I
            6   13     3   newVariables  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            7   11     4              i  I
    MethodParameters:
               Name  Flags
      typeVariables  

  private void addInferenceVariables(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] newVariables
         0: .line 323
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            arraylength
            ifne 3
         1: .line 324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newVariables */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
         2: .line 325
            goto 7
         3: .line 327
      StackMap locals:
      StackMap stack:
            aload 1 /* newVariables */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         4: .line 328
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            arraylength
            istore 3 /* prev */
        start local 3 // int prev
         5: .line 329
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iconst_0
            aload 0 /* this */
            iload 2 /* len */
            iload 3 /* prev */
            iadd
            anewarray org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iconst_0
            iload 3 /* prev */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 330
            aload 1 /* newVariables */
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iload 3 /* prev */
            iload 2 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 3 // int prev
        end local 2 // int len
         7: .line 332
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] newVariables
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    8     1  newVariables  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            4    7     2           len  I
            5    7     3          prev  I
    MethodParameters:
              Name  Flags
      newVariables  

  public org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] addTypeVariableSubstitutions(org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] typeVariables
         0: .line 336
            aload 1 /* typeVariables */
            arraylength
            istore 2 /* len2 */
        start local 2 // int len2
         1: .line 337
            iload 2 /* len2 */
            anewarray org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            astore 3 /* newVariables */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] newVariables
         2: .line 338
            iload 2 /* len2 */
            anewarray org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            astore 4 /* toAdd */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] toAdd
         3: .line 339
            iconst_0
            istore 5 /* numToAdd */
        start local 5 // int numToAdd
         4: .line 340
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 12
         6: .line 341
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] int int
      StackMap stack:
            aload 1 /* typeVariables */
            iload 6 /* i */
            aaload
            instanceof org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            ifeq 8
         7: .line 342
            aload 3 /* newVariables */
            iload 6 /* i */
            aload 1 /* typeVariables */
            iload 6 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            aastore
            goto 11
         8: .line 344
      StackMap locals:
      StackMap stack:
            aload 4 /* toAdd */
            iload 5 /* numToAdd */
            iinc 5 /* numToAdd */ 1
         9: .line 345
            aload 3 /* newVariables */
            iload 6 /* i */
            aload 1 /* typeVariables */
            iload 6 /* i */
            aaload
            iload 6 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentInvocation:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.object:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iconst_0
            invokestatic org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.get:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;ILorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Z)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            dup_x2
            aastore
        10: .line 344
            aastore
        11: .line 340
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            aload 1 /* typeVariables */
            arraylength
            if_icmplt 6
        end local 6 // int i
        13: .line 347
            iload 5 /* numToAdd */
            ifle 22
        14: .line 348
            iconst_0
            istore 6 /* start */
        start local 6 // int start
        15: .line 349
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            ifnull 20
        16: .line 350
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            arraylength
            istore 7 /* len1 */
        start local 7 // int len1
        17: .line 351
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iconst_0
            aload 0 /* this */
            iload 7 /* len1 */
            iload 5 /* numToAdd */
            iadd
            anewarray org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iconst_0
            iload 7 /* len1 */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 352
            iload 7 /* len1 */
            istore 6 /* start */
        end local 7 // int len1
        19: .line 353
            goto 21
        20: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* numToAdd */
            anewarray org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
        21: .line 356
      StackMap locals:
      StackMap stack:
            aload 4 /* toAdd */
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iload 6 /* start */
            iload 5 /* numToAdd */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 6 // int start
        22: .line 358
      StackMap locals:
      StackMap stack:
            aload 3 /* newVariables */
            areturn
        end local 5 // int numToAdd
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] toAdd
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] newVariables
        end local 2 // int len2
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] typeVariables
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0           this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   23     1  typeVariables  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            1   23     2           len2  I
            2   23     3   newVariables  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            3   23     4          toAdd  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            4   23     5       numToAdd  I
            5   13     6              i  I
           15   22     6          start  I
           17   19     7           len1  I
    MethodParameters:
               Name  Flags
      typeVariables  

  public void addThrowsContraints(org.eclipse.jdt.internal.compiler.lookup.TypeBinding[], org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[], org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] variables
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] thrownExceptions
         0: .line 363
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 11
         2: .line 364
      StackMap locals: int
      StackMap stack:
            aload 1 /* parameters */
            iload 4 /* i */
            aaload
            astore 5 /* parameter */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding parameter
         3: .line 365
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         4: goto 9
         5: .line 366
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
      StackMap stack:
            aload 5 /* parameter */
            aload 3 /* thrownExceptions */
            iload 6 /* j */
            aaload
            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 8
         6: .line 367
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.inThrows:Ljava/util/Set;
            aload 2 /* variables */
            iload 4 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.prototype:()Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 368
            goto 10
         8: .line 365
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* j */
            aload 3 /* thrownExceptions */
            arraylength
            if_icmplt 5
        end local 6 // int j
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding parameter
        10: .line 363
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            aload 1 /* parameters */
            arraylength
            if_icmplt 2
        end local 4 // int i
        12: .line 372
            return
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] thrownExceptions
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] variables
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   13     1        parameters  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   13     2         variables  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            0   13     3  thrownExceptions  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            1   12     4                 i  I
            3   10     5         parameter  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            4   10     6                 j  I
    MethodParameters:
                  Name  Flags
      parameters        
      variables         
      thrownExceptions  

  public void inferInvocationApplicability(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding[], boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] arguments
        start local 3 // boolean isDiamond
         0: .line 376
            aload 0 /* this */
            aload 1 /* method */
            aload 2 /* arguments */
            iload 3 /* isDiamond */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceKind:I
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.inferInvocationApplicability:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;ZI)V
         1: .line 377
            return
        end local 3 // boolean isDiamond
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] arguments
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    2     1     method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            0    2     2  arguments  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    2     3  isDiamond  Z
    MethodParameters:
           Name  Flags
      method     
      arguments  
      isDiamond  

  boolean computeB3(org.eclipse.jdt.internal.compiler.lookup.InvocationSite, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.MethodBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite invocationSite
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
         0: .line 383
            aload 0 /* this */
            aload 1 /* invocationSite */
            aload 2 /* targetType */
            aload 3 /* method */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.inferPolyInvocationType:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            istore 4 /* result */
        start local 4 // boolean result
         1: .line 384
            iload 4 /* result */
            ifeq 5
         2: .line 385
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.mergeInnerBounds:()V
         3: .line 386
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.b3:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            ifnonnull 5
         4: .line 387
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.copy:()Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.b3:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
         5: .line 389
      StackMap locals: int
      StackMap stack:
            iload 4 /* result */
            ireturn
        end local 4 // boolean result
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite invocationSite
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    6     1  invocationSite  Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            0    6     2      targetType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    6     3          method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            1    6     4          result  Z
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
                Name  Flags
      invocationSite  
      targetType      
      method          

  public org.eclipse.jdt.internal.compiler.lookup.BoundSet inferInvocationType(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.InvocationSite, org.eclipse.jdt.internal.compiler.lookup.MethodBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=15, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite invocationSite
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
         0: .line 397
            aload 1 /* expectedType */
            ifnonnull 2
            aload 3 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 2
         1: .line 398
            aload 0 /* this */
            aload 3 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            pop
         2: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.b2:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.copy:()Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
         3: .line 402
            aload 1 /* expectedType */
            ifnull 4
            aload 1 /* expectedType */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProperType:(Z)Z
            ifeq 5
      StackMap locals:
      StackMap stack:
         4: iconst_3
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_2
      StackMap locals:
      StackMap stack: int
         6: istore 4 /* step */
        start local 4 // int step
         7: .line 406
            aload 1 /* expectedType */
            ifnull 14
         8: .line 407
            aload 1 /* expectedType */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.VOID:Lorg/eclipse/jdt/internal/compiler/lookup/VoidTypeBinding;
            if_acmpeq 14
         9: .line 408
            aload 2 /* invocationSite */
            instanceof org.eclipse.jdt.internal.compiler.ast.Expression
            ifeq 14
            aload 2 /* invocationSite */
            checkcast org.eclipse.jdt.internal.compiler.ast.Expression
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isTrulyExpression:()Z
            ifeq 14
        10: .line 409
            aload 2 /* invocationSite */
            checkcast org.eclipse.jdt.internal.compiler.ast.Expression
            aload 3 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isPolyExpression:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifeq 14
        11: .line 412
            aload 0 /* this */
            aload 2 /* invocationSite */
            aload 1 /* expectedType */
            aload 3 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.computeB3:(Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifne 16
        12: .line 484
            aload 0 /* this */
            iload 4 /* step */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.stepCompleted:I
        13: .line 413
            aconst_null
            areturn
        14: .line 416
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.mergeInnerBounds:()V
        15: .line 417
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.copy:()Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.b3:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
        16: .line 421
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 3 /* method */
            new org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)V
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromInvocation:([Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;)Lorg/eclipse/jdt/internal/compiler/lookup/ReductionResult;
            astore 5 /* jdk8153748result */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ReductionResult jdk8153748result
        17: .line 422
            aload 5 /* jdk8153748result */
            ifnull 21
        18: .line 423
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Z
            ifne 21
        19: .line 484
            aload 0 /* this */
            iload 4 /* step */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.stepCompleted:I
        20: .line 424
            aconst_null
            areturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ReductionResult jdk8153748result
        21: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.pushBoundsToOuter:()V
        22: .line 429
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.directlyAcceptingInnerBounds:Z
        23: .line 432
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* c */
        start local 5 // java.util.Set c
        24: .line 433
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 5 /* c */
            aload 3 /* method */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceKind:I
            aload 2 /* invocationSite */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addConstraintsToC:([Lorg/eclipse/jdt/internal/compiler/ast/Expression;Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;ILorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)Z
            ifne 27
        25: .line 484
            aload 0 /* this */
            iload 4 /* step */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.stepCompleted:I
        26: .line 434
            aconst_null
            areturn
        27: .line 436
      StackMap locals: java.util.Set
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.computeConnectedComponents:([Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Ljava/util/List;
            astore 6 /* components */
        start local 6 // java.util.List components
        28: .line 437
            goto 56
        29: .line 439
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 5 /* c */
            aload 0 /* this */
            aload 5 /* c */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.allOutputVariables:(Ljava/util/Set;)Ljava/util/Set;
            aload 6 /* components */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.findBottomSet:(Ljava/util/Set;Ljava/util/Set;Ljava/util/List;)Ljava/util/Set;
            astore 7 /* bottomSet */
        start local 7 // java.util.Set bottomSet
        30: .line 440
            aload 7 /* bottomSet */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 32
        31: .line 441
            aload 7 /* bottomSet */
            aload 0 /* this */
            aload 5 /* c */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.pickFromCycle:(Ljava/util/Set;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        32: .line 444
      StackMap locals: java.util.Set
      StackMap stack:
            aload 5 /* c */
            aload 7 /* bottomSet */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
        33: .line 446
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 8 /* allInputs */
        start local 8 // java.util.Set allInputs
        34: .line 447
            aload 7 /* bottomSet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9 /* bottomIt */
        start local 9 // java.util.Iterator bottomIt
        35: .line 448
            goto 37
        36: .line 449
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 8 /* allInputs */
            aload 9 /* bottomIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula.inputVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Ljava/util/Collection;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        37: .line 448
      StackMap locals:
      StackMap stack:
            aload 9 /* bottomIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 36
        38: .line 451
            aload 8 /* allInputs */
            aload 8 /* allInputs */
            invokeinterface java.util.Set.size:()I
            anewarray org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]
            astore 10 /* variablesArray */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] variablesArray
        39: .line 453
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Z
            ifne 42
        40: .line 484
            aload 0 /* this */
            iload 4 /* step */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.stepCompleted:I
        41: .line 454
            aconst_null
            areturn
        42: .line 455
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]
      StackMap stack:
            aload 0 /* this */
            aload 10 /* variablesArray */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.resolve:([Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            astore 11 /* solution */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.BoundSet solution
        43: .line 458
            aload 11 /* solution */
            ifnonnull 45
        44: .line 459
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.resolve:([Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            astore 11 /* solution */
        45: .line 461
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet
      StackMap stack:
            aload 7 /* bottomSet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9 /* bottomIt */
        46: .line 462
            goto 55
        47: .line 463
      StackMap locals:
      StackMap stack:
            aload 9 /* bottomIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            astore 12 /* constraint */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula constraint
        48: .line 464
            aload 11 /* solution */
            ifnull 52
        49: .line 465
            aload 12 /* constraint */
            aload 11 /* solution */
            aload 10 /* variablesArray */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula.applySubstitution:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Z
            ifne 52
        50: .line 484
            aload 0 /* this */
            iload 4 /* step */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.stepCompleted:I
        51: .line 466
            aconst_null
            areturn
        52: .line 468
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            aload 12 /* constraint */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.reduceOneConstraint:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ifne 55
        53: .line 484
            aload 0 /* this */
            iload 4 /* step */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.stepCompleted:I
        54: .line 469
            aconst_null
            areturn
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula constraint
        55: .line 462
      StackMap locals:
      StackMap stack:
            aload 9 /* bottomIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 47
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.BoundSet solution
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] variablesArray
        end local 9 // java.util.Iterator bottomIt
        end local 8 // java.util.Set allInputs
        end local 7 // java.util.Set bottomSet
        56: .line 437
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.InvocationSite org.eclipse.jdt.internal.compiler.lookup.MethodBinding int java.util.Set java.util.List
      StackMap stack:
            aload 5 /* c */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 29
        57: .line 473
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.solve:()Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            astore 7 /* solution */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.BoundSet solution
        58: .line 474
            aload 7 /* solution */
            ifnull 59
            aload 0 /* this */
            aload 7 /* solution */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.isResolved:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;)Z
            ifne 62
        59: .line 475
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.b2:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
        60: .line 484
            aload 0 /* this */
            iload 4 /* step */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.stepCompleted:I
        61: .line 476
            aconst_null
            areturn
        62: .line 479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* solution */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.reportUncheckedConversions:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;)V
        63: .line 480
            iload 4 /* step */
            iconst_3
            if_icmpne 65
        64: .line 481
            aload 0 /* this */
            aload 7 /* solution */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
        65: .line 482
      StackMap locals:
      StackMap stack:
            aload 7 /* solution */
            astore 14
        66: .line 484
            aload 0 /* this */
            iload 4 /* step */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.stepCompleted:I
        67: .line 482
            aload 14
            areturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.BoundSet solution
        end local 6 // java.util.List components
        end local 5 // java.util.Set c
        68: .line 483
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.InvocationSite org.eclipse.jdt.internal.compiler.lookup.MethodBinding int
      StackMap stack: java.lang.Throwable
            astore 13
        69: .line 484
            aload 0 /* this */
            iload 4 /* step */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.stepCompleted:I
        70: .line 485
            aload 13
            athrow
        end local 4 // int step
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite invocationSite
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   71     0              this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   71     1      expectedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   71     2    invocationSite  Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            0   71     3            method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            7   71     4              step  I
           17   21     5  jdk8153748result  Lorg/eclipse/jdt/internal/compiler/lookup/ReductionResult;
           24   68     5                 c  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
           28   68     6        components  Ljava/util/List<Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;>;
           30   56     7         bottomSet  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
           34   56     8         allInputs  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
           35   56     9          bottomIt  Ljava/util/Iterator<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
           39   56    10    variablesArray  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
           43   56    11          solution  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
           48   55    12        constraint  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
           58   68     7          solution  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
      Exception table:
        from    to  target  type
           7    12      68  any
          14    19      68  any
          21    25      68  any
          27    40      68  any
          42    50      68  any
          52    53      68  any
          55    60      68  any
          62    66      68  any
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
                Name  Flags
      expectedType    
      invocationSite  
      method          

  private void pushBoundsToOuter();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
         0: .line 491
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.outerContext:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.pushBoundsTo:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)V
         1: .line 492
            return
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;

  public void pushBoundsTo(org.eclipse.jdt.internal.compiler.lookup.InferenceContext18);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 outer
         0: .line 496
            aload 1 /* outer */
            ifnull 10
            aload 1 /* outer */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.stepCompleted:I
            iconst_1
            if_icmplt 10
         1: .line 497
            aload 1 /* outer */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentInvocation:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            instanceof org.eclipse.jdt.internal.compiler.ast.Invocation
            istore 2 /* deferred */
        start local 2 // boolean deferred
         2: .line 498
            iload 2 /* deferred */
            ifeq 3
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.copy:()Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            goto 4
      StackMap locals: int
      StackMap stack:
         3: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.BoundSet
         4: astore 3 /* toPush */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.BoundSet toPush
         5: .line 499
            aload 0 /* this */
            aload 1 /* outer */
            aload 3 /* toPush */
            iload 2 /* deferred */
            invokedynamic run(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Z)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  org/eclipse/jdt/internal/compiler/lookup/InferenceContext18.lambda$0(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Z)V (7)
                  ()V
            astore 4 /* job */
        start local 4 // java.lang.Runnable job
         6: .line 508
            iload 2 /* deferred */
            ifeq 9
         7: .line 509
            aload 0 /* this */
            aload 4 /* job */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.pushToOuterJob:Ljava/lang/Runnable;
         8: .line 510
            goto 10
         9: .line 511
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet java.lang.Runnable
      StackMap stack:
            aload 4 /* job */
            invokeinterface java.lang.Runnable.run:()V
        end local 4 // java.lang.Runnable job
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.BoundSet toPush
        end local 2 // boolean deferred
        10: .line 514
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 outer
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   11     1     outer  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            2   10     2  deferred  Z
            5   10     3    toPush  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            6   10     4       job  Ljava/lang/Runnable;
    MethodParameters:
       Name  Flags
      outer  

  public void flushBoundOutbox();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
         0: .line 517
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.pushToOuterJob:Ljava/lang/Runnable;
            ifnull 3
         1: .line 518
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.pushToOuterJob:Ljava/lang/Runnable;
            invokeinterface java.lang.Runnable.run:()V
         2: .line 519
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.pushToOuterJob:Ljava/lang/Runnable;
         3: .line 521
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;

  private void mergeInnerBounds();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
         0: .line 524
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.innerInbox:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            ifnull 3
         1: .line 525
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.innerInbox:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
         2: .line 526
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.innerInbox:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
         3: .line 528
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;

  private boolean collectingInnerBounds(org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$InferenceOperation);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18$InferenceOperation;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$InferenceOperation operation
         0: .line 535
            aload 1 /* operation */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$InferenceOperation.perform:()Z
            istore 2 /* result */
        start local 2 // boolean result
         1: .line 536
            iload 2 /* result */
            ifeq 3
         2: .line 537
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.mergeInnerBounds:()V
            goto 4
         3: .line 539
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.innerInbox:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
         4: .line 540
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // boolean result
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$InferenceOperation operation
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    5     1  operation  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18$InferenceOperation;
            1    5     2     result  Z
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
           Name  Flags
      operation  

  private org.eclipse.jdt.internal.compiler.lookup.ReductionResult addJDK_8153748ConstraintsFromInvocation(org.eclipse.jdt.internal.compiler.ast.Expression[], org.eclipse.jdt.internal.compiler.lookup.MethodBinding, org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;)Lorg/eclipse/jdt/internal/compiler/lookup/ReductionResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Expression[] arguments
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution substitution
         0: .line 548
            iconst_0
            istore 4 /* constraintAdded */
        start local 4 // boolean constraintAdded
         1: .line 549
            aload 1 /* arguments */
            ifnull 14
         2: .line 550
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 13
         4: .line 551
      StackMap locals: int int
      StackMap stack:
            aload 1 /* arguments */
            iload 5 /* i */
            aaload
            astore 6 /* argument */
        start local 6 // org.eclipse.jdt.internal.compiler.ast.Expression argument
         5: .line 552
            aload 2 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 5 /* i */
            aload 2 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isVarargs:()Z
            invokestatic org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.getParameter:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* parameter */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding parameter
         6: .line 553
            aload 3 /* substitution */
            aload 3 /* substitution */
            aload 7 /* parameter */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* parameter */
         7: .line 554
            aload 0 /* this */
            aload 6 /* argument */
            aload 7 /* parameter */
            aload 2 /* method */
            aload 3 /* substitution */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromExpression:(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/lookup/InferenceSubstitution;)Lorg/eclipse/jdt/internal/compiler/lookup/ReductionResult;
            astore 8 /* result */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.ReductionResult result
         8: .line 555
            aload 8 /* result */
            getstatic org.eclipse.jdt.internal.compiler.lookup.ReductionResult.FALSE:Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            if_acmpne 10
         9: .line 556
            getstatic org.eclipse.jdt.internal.compiler.lookup.ReductionResult.FALSE:Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
        10: .line 557
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.ReductionResult
      StackMap stack:
            aload 8 /* result */
            getstatic org.eclipse.jdt.internal.compiler.lookup.ReductionResult.TRUE:Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            if_acmpne 12
        11: .line 558
            iconst_1
            istore 4 /* constraintAdded */
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.ReductionResult result
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding parameter
        end local 6 // org.eclipse.jdt.internal.compiler.ast.Expression argument
        12: .line 550
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            aload 1 /* arguments */
            arraylength
            if_icmplt 4
        end local 5 // int i
        14: .line 561
      StackMap locals:
      StackMap stack:
            iload 4 /* constraintAdded */
            ifeq 15
            getstatic org.eclipse.jdt.internal.compiler.lookup.ReductionResult.TRUE:Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            goto 16
      StackMap locals:
      StackMap stack:
        15: aconst_null
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula
        16: areturn
        end local 4 // boolean constraintAdded
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution substitution
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Expression[] arguments
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   17     0             this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   17     1        arguments  [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   17     2           method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            0   17     3     substitution  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;
            1   17     4  constraintAdded  Z
            3   14     5                i  I
            5   12     6         argument  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            6   12     7        parameter  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            8   12     8           result  Lorg/eclipse/jdt/internal/compiler/lookup/ReductionResult;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
              Name  Flags
      arguments     
      method        
      substitution  

  private org.eclipse.jdt.internal.compiler.lookup.ReductionResult addJDK_8153748ConstraintsFromExpression(org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.MethodBinding, org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution);
    descriptor: (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/lookup/InferenceSubstitution;)Lorg/eclipse/jdt/internal/compiler/lookup/ReductionResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Expression argument
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding parameter
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution substitution
         0: .line 568
            aload 1 /* argument */
            instanceof org.eclipse.jdt.internal.compiler.ast.FunctionalExpression
            ifeq 2
         1: .line 569
            aload 0 /* this */
            aload 1 /* argument */
            checkcast org.eclipse.jdt.internal.compiler.ast.FunctionalExpression
            aload 2 /* parameter */
            aload 3 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromFunctionalExpr:(Lorg/eclipse/jdt/internal/compiler/ast/FunctionalExpression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ReductionResult;
            areturn
         2: .line 570
      StackMap locals:
      StackMap stack:
            aload 1 /* argument */
            instanceof org.eclipse.jdt.internal.compiler.ast.Invocation
            ifeq 9
            aload 1 /* argument */
            aload 3 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isPolyExpression:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifeq 9
         3: .line 571
            aload 1 /* argument */
            checkcast org.eclipse.jdt.internal.compiler.ast.Invocation
            astore 5 /* invocation */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.Invocation invocation
         4: .line 572
            aload 5 /* invocation */
            invokeinterface org.eclipse.jdt.internal.compiler.ast.Invocation.arguments:()[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            astore 6 /* innerArgs */
        start local 6 // org.eclipse.jdt.internal.compiler.ast.Expression[] innerArgs
         5: .line 573
            aload 5 /* invocation */
            invokeinterface org.eclipse.jdt.internal.compiler.ast.Invocation.binding:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 7 /* innerMethod */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding innerMethod
         6: .line 574
            aload 7 /* innerMethod */
            ifnull 24
            aload 7 /* innerMethod */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isValidBinding:()Z
            ifeq 24
         7: .line 575
            aload 0 /* this */
            aload 4 /* substitution */
            aload 5 /* invocation */
            aload 7 /* innerMethod */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.enrichSubstitution:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;Lorg/eclipse/jdt/internal/compiler/ast/Invocation;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;
            astore 4 /* substitution */
         8: .line 576
            aload 0 /* this */
            aload 6 /* innerArgs */
            aload 7 /* innerMethod */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.shallowOriginal:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 4 /* substitution */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromInvocation:([Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;)Lorg/eclipse/jdt/internal/compiler/lookup/ReductionResult;
            areturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding innerMethod
        end local 6 // org.eclipse.jdt.internal.compiler.ast.Expression[] innerArgs
        end local 5 // org.eclipse.jdt.internal.compiler.ast.Invocation invocation
         9: .line 578
      StackMap locals:
      StackMap stack:
            aload 1 /* argument */
            instanceof org.eclipse.jdt.internal.compiler.ast.ConditionalExpression
            ifeq 14
        10: .line 579
            aload 1 /* argument */
            checkcast org.eclipse.jdt.internal.compiler.ast.ConditionalExpression
            astore 5 /* ce */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.ConditionalExpression ce
        11: .line 580
            aload 0 /* this */
            aload 5 /* ce */
            getfield org.eclipse.jdt.internal.compiler.ast.ConditionalExpression.valueIfTrue:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 2 /* parameter */
            aload 3 /* method */
            aload 4 /* substitution */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromExpression:(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/lookup/InferenceSubstitution;)Lorg/eclipse/jdt/internal/compiler/lookup/ReductionResult;
            getstatic org.eclipse.jdt.internal.compiler.lookup.ReductionResult.FALSE:Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            if_acmpne 13
        12: .line 581
            getstatic org.eclipse.jdt.internal.compiler.lookup.ReductionResult.FALSE:Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
        13: .line 582
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.ConditionalExpression
      StackMap stack:
            aload 0 /* this */
            aload 5 /* ce */
            getfield org.eclipse.jdt.internal.compiler.ast.ConditionalExpression.valueIfFalse:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 2 /* parameter */
            aload 3 /* method */
            aload 4 /* substitution */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromExpression:(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/lookup/InferenceSubstitution;)Lorg/eclipse/jdt/internal/compiler/lookup/ReductionResult;
            areturn
        end local 5 // org.eclipse.jdt.internal.compiler.ast.ConditionalExpression ce
        14: .line 583
      StackMap locals:
      StackMap stack:
            aload 1 /* argument */
            instanceof org.eclipse.jdt.internal.compiler.ast.SwitchExpression
            ifeq 24
        15: .line 584
            aload 1 /* argument */
            checkcast org.eclipse.jdt.internal.compiler.ast.SwitchExpression
            astore 5 /* se */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.SwitchExpression se
        16: .line 585
            getstatic org.eclipse.jdt.internal.compiler.lookup.ReductionResult.FALSE:Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            astore 6 /* result */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.ReductionResult result
        17: .line 586
            aload 5 /* se */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchExpression.resultExpressions:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 22
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution org.eclipse.jdt.internal.compiler.ast.SwitchExpression org.eclipse.jdt.internal.compiler.lookup.ReductionResult top java.util.Iterator
      StackMap stack:
        18: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.ast.Expression
            astore 7 /* re */
        start local 7 // org.eclipse.jdt.internal.compiler.ast.Expression re
        19: .line 587
            aload 0 /* this */
            aload 7 /* re */
            aload 2 /* parameter */
            aload 3 /* method */
            aload 4 /* substitution */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addJDK_8153748ConstraintsFromExpression:(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/lookup/InferenceSubstitution;)Lorg/eclipse/jdt/internal/compiler/lookup/ReductionResult;
            astore 6 /* result */
        20: .line 588
            aload 6 /* result */
            getstatic org.eclipse.jdt.internal.compiler.lookup.ReductionResult.FALSE:Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            if_acmpne 22
        21: .line 589
            goto 23
        end local 7 // org.eclipse.jdt.internal.compiler.ast.Expression re
        22: .line 586
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        23: .line 591
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution org.eclipse.jdt.internal.compiler.ast.SwitchExpression org.eclipse.jdt.internal.compiler.lookup.ReductionResult
      StackMap stack:
            aload 6 /* result */
            areturn
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.ReductionResult result
        end local 5 // org.eclipse.jdt.internal.compiler.ast.SwitchExpression se
        24: .line 593
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution substitution
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding parameter
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Expression argument
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0          this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   25     1      argument  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   25     2     parameter  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   25     3        method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            0   25     4  substitution  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;
            4    9     5    invocation  Lorg/eclipse/jdt/internal/compiler/ast/Invocation;
            5    9     6     innerArgs  [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            6    9     7   innerMethod  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           11   14     5            ce  Lorg/eclipse/jdt/internal/compiler/ast/ConditionalExpression;
           16   24     5            se  Lorg/eclipse/jdt/internal/compiler/ast/SwitchExpression;
           17   24     6        result  Lorg/eclipse/jdt/internal/compiler/lookup/ReductionResult;
           19   22     7            re  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
              Name  Flags
      argument      
      parameter     
      method        
      substitution  

  private org.eclipse.jdt.internal.compiler.lookup.ReductionResult addJDK_8153748ConstraintsFromFunctionalExpr(org.eclipse.jdt.internal.compiler.ast.FunctionalExpression, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.MethodBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/FunctionalExpression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ReductionResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.FunctionalExpression functionalExpr
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
         0: .line 597
            aload 1 /* functionalExpr */
            aload 2 /* targetType */
            aload 3 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.FunctionalExpression.isPertinentToApplicability:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifne 9
         1: .line 598
            new org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
            dup
            aload 1 /* functionalExpr */
            aload 2 /* targetType */
            iconst_1
            iconst_0
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)V
            astore 4 /* exprConstraint */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula exprConstraint
         2: .line 599
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* exprConstraint */
            invokedynamic perform(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18$InferenceOperation;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Z
                  org/eclipse/jdt/internal/compiler/lookup/InferenceContext18.lambda$1(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z (7)
                  ()Z
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.collectingInnerBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18$InferenceOperation;)Z
            ifeq 9
         3: .line 600
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* exprConstraint */
            invokedynamic perform(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18$InferenceOperation;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Z
                  org/eclipse/jdt/internal/compiler/lookup/InferenceContext18.lambda$2(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z (7)
                  ()Z
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.collectingInnerBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18$InferenceOperation;)Z
            ifne 5
         4: .line 601
            getstatic org.eclipse.jdt.internal.compiler.lookup.ReductionResult.FALSE:Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
         5: .line 602
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.lookup.ConstraintExceptionFormula
            dup
            aload 1 /* functionalExpr */
            aload 2 /* targetType */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ConstraintExceptionFormula.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/FunctionalExpression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
            astore 5 /* excConstraint */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula excConstraint
         6: .line 603
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* excConstraint */
            invokedynamic perform(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18$InferenceOperation;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Z
                  org/eclipse/jdt/internal/compiler/lookup/InferenceContext18.lambda$3(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z (7)
                  ()Z
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.collectingInnerBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18$InferenceOperation;)Z
            ifne 8
         7: .line 604
            getstatic org.eclipse.jdt.internal.compiler.lookup.ReductionResult.FALSE:Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
         8: .line 605
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.ReductionResult.TRUE:Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula excConstraint
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula exprConstraint
         9: .line 608
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        end local 1 // org.eclipse.jdt.internal.compiler.ast.FunctionalExpression functionalExpr
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   10     1  functionalExpr  Lorg/eclipse/jdt/internal/compiler/ast/FunctionalExpression;
            0   10     2      targetType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   10     3          method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            2    9     4  exprConstraint  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            6    9     5   excConstraint  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
                Name  Flags
      functionalExpr  
      targetType      
      method          

  org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution enrichSubstitution(org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution, org.eclipse.jdt.internal.compiler.ast.Invocation, org.eclipse.jdt.internal.compiler.lookup.MethodBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;Lorg/eclipse/jdt/internal/compiler/ast/Invocation;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution substitution
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Invocation innerInvocation
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding innerMethod
         0: .line 612
            aload 3 /* innerMethod */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding
            ifeq 4
         1: .line 613
            aload 2 /* innerInvocation */
            aload 3 /* innerMethod */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding
            invokeinterface org.eclipse.jdt.internal.compiler.ast.Invocation.getInferenceContext:(Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            astore 4 /* innerContext */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 innerContext
         2: .line 614
            aload 4 /* innerContext */
            ifnull 4
         3: .line 615
            aload 1 /* substitution */
            aload 4 /* innerContext */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution.addContext:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 innerContext
         4: .line 617
      StackMap locals:
      StackMap stack:
            aload 1 /* substitution */
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding innerMethod
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Invocation innerInvocation
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution substitution
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    5     1     substitution  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;
            0    5     2  innerInvocation  Lorg/eclipse/jdt/internal/compiler/ast/Invocation;
            0    5     3      innerMethod  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            2    4     4     innerContext  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
    MethodParameters:
                 Name  Flags
      substitution     
      innerInvocation  
      innerMethod      

  private boolean addConstraintsToC(org.eclipse.jdt.internal.compiler.ast.Expression[], java.util.Set<org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula>, org.eclipse.jdt.internal.compiler.lookup.MethodBinding, int, org.eclipse.jdt.internal.compiler.lookup.InvocationSite);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/ast/Expression;Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;ILorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Expression[] exprs
        start local 2 // java.util.Set c
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        start local 4 // int inferenceKindForMethod
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite site
         0: .line 624
            aload 1 /* exprs */
            ifnull 22
         1: .line 625
            aload 1 /* exprs */
            arraylength
            istore 7 /* k */
        start local 7 // int k
         2: .line 626
            aload 3 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            arraylength
            istore 8 /* p */
        start local 8 // int p
         3: .line 627
            aload 3 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isVarargs:()Z
            ifeq 5
         4: .line 628
            iload 7 /* k */
            iload 8 /* p */
            iconst_1
            isub
            if_icmpge 7
            iconst_0
            ireturn
         5: .line 629
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.Expression[] java.util.Set org.eclipse.jdt.internal.compiler.lookup.MethodBinding int org.eclipse.jdt.internal.compiler.lookup.InvocationSite top int int
      StackMap stack:
            iload 7 /* k */
            iload 8 /* p */
            if_icmpeq 7
         6: .line 630
            iconst_0
            ireturn
         7: .line 632
      StackMap locals:
      StackMap stack:
            iload 4 /* inferenceKindForMethod */
            tableswitch { // 1 - 3
                    1: 8
                    2: 8
                    3: 10
              default: 12
          }
         8: .line 635
      StackMap locals:
      StackMap stack:
            aload 3 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 6 /* fs */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] fs
         9: .line 636
            goto 13
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] fs
        10: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 7 /* k */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.varArgTypes:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 6 /* fs */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] fs
        11: .line 639
            goto 13
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] fs
        12: .line 641
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected checkKind "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceKind:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] fs
        13: .line 643
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.Expression[] java.util.Set org.eclipse.jdt.internal.compiler.lookup.MethodBinding int org.eclipse.jdt.internal.compiler.lookup.InvocationSite org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int int
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        14: goto 21
        15: .line 644
      StackMap locals: int
      StackMap stack:
            aload 6 /* fs */
            iload 9 /* i */
            iload 8 /* p */
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            aaload
            astore 10 /* fsi */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding fsi
        16: .line 645
            new org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            aload 5 /* site */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)V
            astore 11 /* inferenceSubstitution */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution inferenceSubstitution
        17: .line 646
            aload 11 /* inferenceSubstitution */
            aload 11 /* inferenceSubstitution */
            aload 10 /* fsi */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 12 /* substF */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substF
        18: .line 647
            aload 0 /* this */
            aload 1 /* exprs */
            iload 9 /* i */
            aaload
            aload 2 /* c */
            aload 10 /* fsi */
            aload 12 /* substF */
            aload 3 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addConstraintsToC_OneExpr:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifne 20
        19: .line 648
            iconst_0
            ireturn
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substF
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution inferenceSubstitution
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding fsi
        20: .line 643
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 9 /* i */
            iload 7 /* k */
            if_icmplt 15
        end local 9 // int i
        end local 8 // int p
        end local 7 // int k
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] fs
        22: .line 651
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.Expression[] java.util.Set org.eclipse.jdt.internal.compiler.lookup.MethodBinding int org.eclipse.jdt.internal.compiler.lookup.InvocationSite
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite site
        end local 4 // int inferenceKindForMethod
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 2 // java.util.Set c
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Expression[] exprs
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   23     0                    this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   23     1                   exprs  [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   23     2                       c  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
            0   23     3                  method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            0   23     4  inferenceKindForMethod  I
            0   23     5                    site  Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            9   10     6                      fs  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           11   12     6                      fs  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           13   22     6                      fs  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            2   22     7                       k  I
            3   22     8                       p  I
           14   22     9                       i  I
           16   20    10                     fsi  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           17   20    11   inferenceSubstitution  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;
           18   20    12                  substF  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    Signature: ([Lorg/eclipse/jdt/internal/compiler/ast/Expression;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;ILorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)Z
    MethodParameters:
                        Name  Flags
      exprs                   
      c                       
      method                  
      inferenceKindForMethod  
      site                    

  private boolean addConstraintsToC_OneExpr(org.eclipse.jdt.internal.compiler.ast.Expression, java.util.Set<org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula>, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.MethodBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Expression;Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=17, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Expression expri
        start local 2 // java.util.Set c
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding fsi
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substF
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
         0: .line 657
            aload 4 /* substF */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProperType:(Z)Z
            istore 6 /* substFIsProperType */
        start local 6 // boolean substFIsProperType
         1: .line 659
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.b3:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.getResultSubstitution:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;)Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;
            aload 4 /* substF */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.Scope.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* substF */
         2: .line 663
            aload 1 /* expri */
            aload 3 /* fsi */
            aload 5 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isPertinentToApplicability:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifne 4
         3: .line 664
            aload 2 /* c */
            new org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
            dup
            aload 1 /* expri */
            aload 4 /* substF */
            iconst_1
            iconst_0
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 666
      StackMap locals: int
      StackMap stack:
            aload 1 /* expri */
            instanceof org.eclipse.jdt.internal.compiler.ast.FunctionalExpression
            ifeq 29
         5: .line 667
            aload 2 /* c */
            new org.eclipse.jdt.internal.compiler.lookup.ConstraintExceptionFormula
            dup
            aload 1 /* expri */
            checkcast org.eclipse.jdt.internal.compiler.ast.FunctionalExpression
            aload 4 /* substF */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ConstraintExceptionFormula.<init>:(Lorg/eclipse/jdt/internal/compiler/ast/FunctionalExpression;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         6: .line 668
            aload 1 /* expri */
            instanceof org.eclipse.jdt.internal.compiler.ast.LambdaExpression
            ifeq 75
         7: .line 670
            aload 1 /* expri */
            checkcast org.eclipse.jdt.internal.compiler.ast.LambdaExpression
            astore 7 /* lambda */
        start local 7 // org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambda
         8: .line 671
            aload 7 /* lambda */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.enclosingScope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            astore 8 /* skope */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.BlockScope skope
         9: .line 672
            aload 4 /* substF */
            aload 8 /* skope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isFunctionalInterface:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
            ifeq 75
        10: .line 673
            aload 4 /* substF */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 9 /* t */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding t
        11: .line 674
            aload 9 /* t */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.parameterizedWithWildcard:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            astore 10 /* withWildCards */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding withWildCards
        12: .line 675
            aload 10 /* withWildCards */
            ifnull 14
        13: .line 676
            aload 0 /* this */
            aload 8 /* skope */
            aload 7 /* lambda */
            aload 10 /* withWildCards */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.findGroundTargetType:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 9 /* t */
        14: .line 679
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.Expression java.util.Set org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding int org.eclipse.jdt.internal.compiler.ast.LambdaExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
      StackMap stack:
            aload 9 /* t */
            ifnull 75
            aload 9 /* t */
            aload 8 /* skope */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.getSingleAbstractMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Z)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            dup
            astore 11 /* functionType */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding functionType
        15: ifnull 75
            aload 7 /* lambda */
            aload 9 /* t */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.LambdaExpression.resolveExpressionExpecting:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;
            dup
            astore 7 /* lambda */
            ifnull 75
        16: .line 680
            aload 11 /* functionType */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 12 /* r */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding r
        17: .line 681
            aload 7 /* lambda */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.LambdaExpression.resultExpressions:()[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            astore 13 /* resultExpressions */
        start local 13 // org.eclipse.jdt.internal.compiler.ast.Expression[] resultExpressions
        18: .line 682
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        19: aload 13 /* resultExpressions */
            ifnonnull 20
            iconst_0
            goto 21
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.Expression java.util.Set org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding int org.eclipse.jdt.internal.compiler.ast.LambdaExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression[] int
      StackMap stack:
        20: aload 13 /* resultExpressions */
            arraylength
      StackMap locals:
      StackMap stack: int
        21: istore 15 /* length */
        start local 15 // int length
        22: goto 27
        23: .line 683
      StackMap locals: int
      StackMap stack:
            aload 13 /* resultExpressions */
            iload 14 /* i */
            aaload
            astore 16 /* resultExpression */
        start local 16 // org.eclipse.jdt.internal.compiler.ast.Expression resultExpression
        24: .line 684
            aload 0 /* this */
            aload 16 /* resultExpression */
            aload 2 /* c */
            aload 12 /* r */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 12 /* r */
            aload 5 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addConstraintsToC_OneExpr:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifne 26
        25: .line 685
            iconst_0
            ireturn
        end local 16 // org.eclipse.jdt.internal.compiler.ast.Expression resultExpression
        26: .line 682
      StackMap locals:
      StackMap stack:
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 14 /* i */
            iload 15 /* length */
            if_icmplt 23
        end local 15 // int length
        end local 14 // int i
        end local 13 // org.eclipse.jdt.internal.compiler.ast.Expression[] resultExpressions
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding r
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding functionType
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding withWildCards
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding t
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.BlockScope skope
        end local 7 // org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambda
        28: .line 690
            goto 75
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.Expression java.util.Set org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding int
      StackMap stack:
        29: aload 1 /* expri */
            instanceof org.eclipse.jdt.internal.compiler.ast.Invocation
            ifeq 61
            aload 1 /* expri */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isPolyExpression:()Z
            ifeq 61
        30: .line 692
            iload 6 /* substFIsProperType */
            ifeq 32
        31: .line 693
            iconst_1
            ireturn
        32: .line 695
      StackMap locals:
      StackMap stack:
            aload 1 /* expri */
            checkcast org.eclipse.jdt.internal.compiler.ast.Invocation
            astore 7 /* invocation */
        start local 7 // org.eclipse.jdt.internal.compiler.ast.Invocation invocation
        33: .line 696
            aload 7 /* invocation */
            invokeinterface org.eclipse.jdt.internal.compiler.ast.Invocation.binding:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 8 /* innerMethod */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding innerMethod
        34: .line 697
            aload 8 /* innerMethod */
            ifnonnull 36
        35: .line 698
            iconst_1
            ireturn
        36: .line 700
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Invocation org.eclipse.jdt.internal.compiler.lookup.MethodBinding
      StackMap stack:
            aload 7 /* invocation */
            invokeinterface org.eclipse.jdt.internal.compiler.ast.Invocation.arguments:()[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            astore 9 /* arguments */
        start local 9 // org.eclipse.jdt.internal.compiler.ast.Expression[] arguments
        37: .line 701
            aload 9 /* arguments */
            ifnonnull 38
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_PARAMETERS:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            goto 39
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression[]
      StackMap stack:
        38: aload 9 /* arguments */
            arraylength
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
        39: astore 10 /* argumentTypes */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] argumentTypes
        40: .line 702
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        41: goto 44
        42: .line 703
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
      StackMap stack:
            aload 10 /* argumentTypes */
            iload 11 /* i */
            aload 9 /* arguments */
            iload 11 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aastore
        43: .line 702
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 11 /* i */
            aload 10 /* argumentTypes */
            arraylength
            if_icmplt 42
        end local 11 // int i
        45: .line 704
            aconst_null
            astore 11 /* innerContext */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 innerContext
        46: .line 705
            aload 8 /* innerMethod */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding
            ifeq 48
        47: .line 706
            aload 7 /* invocation */
            aload 8 /* innerMethod */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding
            invokeinterface org.eclipse.jdt.internal.compiler.ast.Invocation.getInferenceContext:(Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            astore 11 /* innerContext */
        48: .line 708
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.Expression java.util.Set org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding int org.eclipse.jdt.internal.compiler.ast.Invocation org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.ast.Expression[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.InferenceContext18
      StackMap stack:
            aload 11 /* innerContext */
            ifnull 59
        49: .line 709
            aload 8 /* innerMethod */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.shallowOriginal:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 12 /* shallowMethod */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding shallowMethod
        50: .line 710
            aload 11 /* innerContext */
            aload 0 /* this */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.outerContext:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
        51: .line 711
            aload 11 /* innerContext */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.stepCompleted:I
            iconst_1
            if_icmpge 53
        52: .line 712
            aload 11 /* innerContext */
            aload 12 /* shallowMethod */
            aload 10 /* argumentTypes */
            aload 12 /* shallowMethod */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isConstructor:()Z
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferInvocationApplicability:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)V
        53: .line 713
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
      StackMap stack:
            aload 11 /* innerContext */
            aload 7 /* invocation */
            aload 4 /* substF */
            aload 12 /* shallowMethod */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.computeB3:(Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifne 55
        54: .line 714
            iconst_0
            ireturn
        55: .line 715
      StackMap locals:
      StackMap stack:
            aload 11 /* innerContext */
            aload 9 /* arguments */
            aload 2 /* c */
            aload 8 /* innerMethod */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.genericMethod:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 11 /* innerContext */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceKind:I
            aload 7 /* invocation */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addConstraintsToC:([Lorg/eclipse/jdt/internal/compiler/ast/Expression;Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;ILorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)Z
            ifeq 58
        56: .line 716
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 11 /* innerContext */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
        57: .line 717
            iconst_1
            ireturn
        58: .line 719
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding shallowMethod
        59: .line 721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* innerMethod */
            aload 10 /* argumentTypes */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.getInferenceKind:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)I
            istore 12 /* applicabilityKind */
        start local 12 // int applicabilityKind
        60: .line 722
            aload 0 /* this */
            aload 9 /* arguments */
            aload 2 /* c */
            aload 8 /* innerMethod */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.genericMethod:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            iload 12 /* applicabilityKind */
            aload 7 /* invocation */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addConstraintsToC:([Lorg/eclipse/jdt/internal/compiler/ast/Expression;Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;ILorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)Z
            ireturn
        end local 12 // int applicabilityKind
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 innerContext
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] argumentTypes
        end local 9 // org.eclipse.jdt.internal.compiler.ast.Expression[] arguments
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding innerMethod
        end local 7 // org.eclipse.jdt.internal.compiler.ast.Invocation invocation
        61: .line 724
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.Expression java.util.Set org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding int
      StackMap stack:
            aload 1 /* expri */
            instanceof org.eclipse.jdt.internal.compiler.ast.ConditionalExpression
            ifeq 67
        62: .line 725
            aload 1 /* expri */
            checkcast org.eclipse.jdt.internal.compiler.ast.ConditionalExpression
            astore 7 /* ce */
        start local 7 // org.eclipse.jdt.internal.compiler.ast.ConditionalExpression ce
        63: .line 726
            aload 0 /* this */
            aload 7 /* ce */
            getfield org.eclipse.jdt.internal.compiler.ast.ConditionalExpression.valueIfTrue:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 2 /* c */
            aload 3 /* fsi */
            aload 4 /* substF */
            aload 5 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addConstraintsToC_OneExpr:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifeq 66
        64: .line 727
            aload 0 /* this */
            aload 7 /* ce */
            getfield org.eclipse.jdt.internal.compiler.ast.ConditionalExpression.valueIfFalse:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 2 /* c */
            aload 3 /* fsi */
            aload 4 /* substF */
            aload 5 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addConstraintsToC_OneExpr:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifeq 66
        65: .line 726
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.ConditionalExpression
      StackMap stack:
        66: iconst_0
            ireturn
        end local 7 // org.eclipse.jdt.internal.compiler.ast.ConditionalExpression ce
        67: .line 728
      StackMap locals:
      StackMap stack:
            aload 1 /* expri */
            instanceof org.eclipse.jdt.internal.compiler.ast.SwitchExpression
            ifeq 75
        68: .line 729
            aload 1 /* expri */
            checkcast org.eclipse.jdt.internal.compiler.ast.SwitchExpression
            astore 7 /* se */
        start local 7 // org.eclipse.jdt.internal.compiler.ast.SwitchExpression se
        69: .line 730
            aload 7 /* se */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchExpression.resultExpressions:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 73
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.Expression java.util.Set org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding int org.eclipse.jdt.internal.compiler.ast.SwitchExpression top java.util.Iterator
      StackMap stack:
        70: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.ast.Expression
            astore 8 /* re */
        start local 8 // org.eclipse.jdt.internal.compiler.ast.Expression re
        71: .line 731
            aload 0 /* this */
            aload 8 /* re */
            aload 2 /* c */
            aload 3 /* fsi */
            aload 4 /* substF */
            aload 5 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addConstraintsToC_OneExpr:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
            ifne 73
        72: .line 732
            iconst_0
            ireturn
        end local 8 // org.eclipse.jdt.internal.compiler.ast.Expression re
        73: .line 730
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 70
        74: .line 734
            iconst_1
            ireturn
        end local 7 // org.eclipse.jdt.internal.compiler.ast.SwitchExpression se
        75: .line 736
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.Expression java.util.Set org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding int
      StackMap stack:
            iconst_1
            ireturn
        end local 6 // boolean substFIsProperType
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substF
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding fsi
        end local 2 // java.util.Set c
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Expression expri
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   76     0                this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   76     1               expri  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   76     2                   c  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
            0   76     3                 fsi  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   76     4              substF  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   76     5              method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            1   76     6  substFIsProperType  Z
            8   28     7              lambda  Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;
            9   28     8               skope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
           11   28     9                   t  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           12   28    10       withWildCards  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
           15   28    11        functionType  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           17   28    12                   r  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           18   28    13   resultExpressions  [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
           19   28    14                   i  I
           22   28    15              length  I
           24   26    16    resultExpression  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
           33   61     7          invocation  Lorg/eclipse/jdt/internal/compiler/ast/Invocation;
           34   61     8         innerMethod  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           37   61     9           arguments  [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
           40   61    10       argumentTypes  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           41   45    11                   i  I
           46   61    11        innerContext  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
           50   59    12       shallowMethod  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           60   61    12   applicabilityKind  I
           63   67     7                  ce  Lorg/eclipse/jdt/internal/compiler/ast/ConditionalExpression;
           69   75     7                  se  Lorg/eclipse/jdt/internal/compiler/ast/SwitchExpression;
           71   73     8                  re  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    Signature: (Lorg/eclipse/jdt/internal/compiler/ast/Expression;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)Z
    MethodParameters:
        Name  Flags
      expri   
      c       
      fsi     
      substF  
      method  

  protected int getInferenceKind(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding nonGenericMethod
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] argumentTypes
         0: .line 741
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            aload 1 /* nonGenericMethod */
            aload 2 /* argumentTypes */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.parameterCompatibilityLevel:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)I
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 743
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
         2: .line 745
      StackMap locals:
      StackMap stack:
            iconst_3
            ireturn
         3: .line 747
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] argumentTypes
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding nonGenericMethod
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    4     1  nonGenericMethod  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            0    4     2     argumentTypes  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
                  Name  Flags
      nonGenericMethod  
      argumentTypes     

  public org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding inferFunctionalInterfaceParameterization(org.eclipse.jdt.internal.compiler.ast.LambdaExpression, org.eclipse.jdt.internal.compiler.lookup.BlockScope, org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambda
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding targetTypeWithWildCards
         0: .line 757
            aload 0 /* this */
            aload 3 /* targetTypeWithWildCards */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.createBoundsForFunctionalInterfaceParameterizationInference:(Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* q */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] q
         1: .line 758
            aload 4 /* q */
            ifnull 16
            aload 4 /* q */
            arraylength
            aload 1 /* lambda */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.LambdaExpression.arguments:()[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
            arraylength
            if_icmpne 16
         2: .line 761
            aload 0 /* this */
            aload 1 /* lambda */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.LambdaExpression.argumentTypes:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 4 /* q */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.reduceWithEqualityConstraints:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 16
         3: .line 762
            aload 3 /* targetTypeWithWildCards */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.genericType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 5 /* genericType */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding genericType
         4: .line 763
            aload 3 /* targetTypeWithWildCards */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 6 /* a */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] a
         5: .line 764
            aload 0 /* this */
            aload 6 /* a */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.getFunctionInterfaceArgumentSolutions:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* aprime */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] aprime
         6: .line 766
            aload 2 /* blockScope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 5 /* genericType */
            aload 7 /* aprime */
            aload 3 /* targetTypeWithWildCards */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.enclosingType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createParameterizedType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            astore 8 /* ptb */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding ptb
         7: .line 767
            aload 8 /* ptb */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.genericType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.typeVariables:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            astore 9 /* vars */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] vars
         8: .line 768
            aload 8 /* ptb */
            aload 2 /* blockScope */
            aload 1 /* lambda */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.sourceStart:I
            aload 1 /* lambda */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.sourceEnd:I
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.capture:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;II)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            astore 10 /* captured */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding captured
         9: .line 769
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        10: goto 14
        11: .line 770
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.LambdaExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding int
      StackMap stack:
            aload 9 /* vars */
            iload 11 /* i */
            aaload
            aload 10 /* captured */
            aload 7 /* aprime */
            iload 11 /* i */
            aaload
            aload 2 /* blockScope */
            aload 1 /* lambda */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.boundCheck:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.MISMATCH:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            if_acmpne 13
        12: .line 771
            aconst_null
            areturn
        13: .line 769
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 11 /* i */
            aload 9 /* vars */
            arraylength
            if_icmplt 11
        end local 11 // int i
        15: .line 773
            aload 8 /* ptb */
            areturn
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding captured
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] vars
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding ptb
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] aprime
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] a
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding genericType
        16: .line 776
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.LambdaExpression org.eclipse.jdt.internal.compiler.lookup.BlockScope org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            aload 3 /* targetTypeWithWildCards */
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] q
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding targetTypeWithWildCards
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.BlockScope blockScope
        end local 1 // org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambda
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   17     0                     this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   17     1                   lambda  Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;
            0   17     2               blockScope  Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            0   17     3  targetTypeWithWildCards  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            1   17     4                        q  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            4   16     5              genericType  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            5   16     6                        a  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            6   16     7                   aprime  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            7   16     8                      ptb  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            8   16     9                     vars  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            9   16    10                 captured  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
           10   15    11                        i  I
    MethodParameters:
                         Name  Flags
      lambda                   
      blockScope               
      targetTypeWithWildCards  

  org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] createBoundsForFunctionalInterfaceParameterizationInference(org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding functionalInterface
         0: .line 785
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            ifnonnull 2
         1: .line 786
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.lookup.BoundSet
            dup
            invokespecial org.eclipse.jdt.internal.compiler.lookup.BoundSet.<init>:()V
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
         2: .line 787
      StackMap locals:
      StackMap stack:
            aload 1 /* functionalInterface */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 2 /* a */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] a
         3: .line 788
            aload 2 /* a */
            ifnonnull 5
         4: .line 789
            aconst_null
            areturn
         5: .line 790
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            aload 0 /* this */
            aload 2 /* a */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addInitialTypeVariableSubstitutions:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            astore 3 /* alpha */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] alpha
         6: .line 792
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 22
         8: .line 794
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] int
      StackMap stack:
            aload 2 /* a */
            iload 4 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
            sipush 516
            if_icmpne 19
         9: .line 795
            aload 2 /* a */
            iload 4 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.compiler.lookup.WildcardBinding
            astore 6 /* wildcard */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.WildcardBinding wildcard
        10: .line 796
            aload 6 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.boundKind:I
            tableswitch { // 0 - 2
                    0: 15
                    1: 11
                    2: 13
              default: 17
          }
        11: .line 798
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] int top org.eclipse.jdt.internal.compiler.lookup.WildcardBinding
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.lookup.TypeBound
            dup
            aload 3 /* alpha */
            iload 4 /* i */
            aaload
            aload 6 /* wildcard */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.allBounds:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_2
            invokespecial org.eclipse.jdt.internal.compiler.lookup.TypeBound.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
            astore 5 /* bound */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        12: .line 799
            goto 20
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        13: .line 801
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.lookup.TypeBound
            dup
            aload 3 /* alpha */
            iload 4 /* i */
            aaload
            aload 6 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.bound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_3
            invokespecial org.eclipse.jdt.internal.compiler.lookup.TypeBound.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
            astore 5 /* bound */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        14: .line 802
            goto 20
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        15: .line 804
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.lookup.TypeBound
            dup
            aload 3 /* alpha */
            iload 4 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.object:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iconst_2
            invokespecial org.eclipse.jdt.internal.compiler.lookup.TypeBound.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
            astore 5 /* bound */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        16: .line 805
            goto 20
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        17: .line 807
      StackMap locals:
      StackMap stack:
            goto 21
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.WildcardBinding wildcard
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        18: .line 809
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] int org.eclipse.jdt.internal.compiler.lookup.TypeBound
      StackMap stack:
            goto 20
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        19: .line 810
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.lookup.TypeBound
            dup
            aload 3 /* alpha */
            iload 4 /* i */
            aaload
            aload 2 /* a */
            iload 4 /* i */
            aaload
            iconst_4
            invokespecial org.eclipse.jdt.internal.compiler.lookup.TypeBound.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
            astore 5 /* bound */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        20: .line 812
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBound
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 5 /* bound */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBound:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        21: .line 792
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* i */
            aload 2 /* a */
            arraylength
            if_icmplt 8
        end local 4 // int i
        23: .line 814
            aload 0 /* this */
            aload 1 /* functionalInterface */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* falpha */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding falpha
        24: .line 815
            aload 4 /* falpha */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getSingleAbstractMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Z)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding falpha
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] alpha
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] a
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding functionalInterface
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   25     0                 this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   25     1  functionalInterface  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            3   25     2                    a  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            6   25     3                alpha  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            7   23     4                    i  I
           12   13     5                bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
           14   15     5                bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
           16   17     5                bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
           18   19     5                bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
           20   21     5                bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
           10   18     6             wildcard  Lorg/eclipse/jdt/internal/compiler/lookup/WildcardBinding;
           24   25     4               falpha  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
                     Name  Flags
      functionalInterface  

  public boolean reduceWithEqualityConstraints(org.eclipse.jdt.internal.compiler.lookup.TypeBinding[], org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] p
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] q
         0: .line 819
            aload 1 /* p */
            ifnull 9
         1: .line 820
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 822
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* p */
            iload 3 /* i */
            aaload
            aload 2 /* q */
            iload 3 /* i */
            aaload
            iconst_4
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.reduceAndIncorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ifne 7
         4: .line 823
            iconst_0
            ireturn
         5: .line 824
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
            pop
         6: .line 825
            iconst_0
            ireturn
         7: .line 820
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 1 /* p */
            arraylength
            if_icmplt 3
        end local 3 // int i
         9: .line 829
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] q
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] p
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   10     1     p  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   10     2     q  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            2    9     3     i  I
      Exception table:
        from    to  target  type
           3     4       5  Class org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
      Name  Flags
      p     
      q     

  public boolean isMoreSpecificThan(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, org.eclipse.jdt.internal.compiler.lookup.MethodBinding, boolean, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;ZZ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding m1
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding m2
        start local 3 // boolean isVarArgs
        start local 4 // boolean isVarArgs2
         0: .line 837
            iload 3 /* isVarArgs */
            iload 4 /* isVarArgs2 */
            if_icmpeq 2
         1: .line 838
            iload 4 /* isVarArgs2 */
            ireturn
         2: .line 840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            astore 5 /* arguments */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.Expression[] arguments
         3: .line 841
            aload 5 /* arguments */
            ifnonnull 4
            iconst_0
            goto 5
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression[]
      StackMap stack:
         4: aload 5 /* arguments */
            arraylength
      StackMap locals:
      StackMap stack: int
         5: istore 6 /* numInvocArgs */
        start local 6 // int numInvocArgs
         6: .line 842
            aload 2 /* m2 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            astore 7 /* p */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] p
         7: .line 843
            aload 1 /* m1 */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 8 /* s */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] s
         8: .line 844
            aload 2 /* m2 */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            arraylength
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            astore 9 /* t */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] t
         9: .line 845
            aload 0 /* this */
            aload 7 /* p */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.createInitialBoundSet:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            pop
        10: .line 846
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        11: goto 14
        12: .line 847
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding int int org.eclipse.jdt.internal.compiler.ast.Expression[] int org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
      StackMap stack:
            aload 9 /* t */
            iload 10 /* i */
            aload 0 /* this */
            aload 2 /* m2 */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 10 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aastore
        13: .line 846
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 10 /* i */
            aload 9 /* t */
            arraylength
            if_icmplt 12
        end local 10 // int i
        15: .line 850
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        16: goto 26
        17: .line 851
      StackMap locals:
      StackMap stack:
            aload 8 /* s */
            iload 10 /* i */
            iload 3 /* isVarArgs */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.getParameter:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 11 /* si */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding si
        18: .line 852
            aload 9 /* t */
            iload 10 /* i */
            iload 3 /* isVarArgs */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.getParameter:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 12 /* ti */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding ti
        19: .line 853
            aload 0 /* this */
            aload 11 /* si */
            aload 12 /* ti */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            iload 10 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.moreSpecificMain:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Ljava/lang/Boolean;
            astore 13 /* result */
        start local 13 // java.lang.Boolean result
        20: .line 854
            aload 13 /* result */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            if_acmpne 22
        21: .line 855
            iconst_0
            ireturn
        22: .line 856
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding java.lang.Boolean
      StackMap stack:
            aload 13 /* result */
            ifnonnull 25
        23: .line 857
            aload 0 /* this */
            aload 11 /* si */
            aload 12 /* ti */
            iconst_2
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.reduceAndIncorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ifne 25
        24: .line 858
            iconst_0
            ireturn
        end local 13 // java.lang.Boolean result
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding ti
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding si
        25: .line 850
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 10 /* i */
            iload 6 /* numInvocArgs */
            if_icmplt 17
        end local 10 // int i
        27: .line 860
            aload 9 /* t */
            arraylength
            iload 6 /* numInvocArgs */
            iconst_1
            iadd
            if_icmpne 32
        28: .line 861
            aload 8 /* s */
            iload 6 /* numInvocArgs */
            iconst_1
            invokestatic org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.getParameter:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 10 /* skplus1 */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding skplus1
        29: .line 862
            aload 9 /* t */
            iload 6 /* numInvocArgs */
            iconst_1
            invokestatic org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.getParameter:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 11 /* tkplus1 */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding tkplus1
        30: .line 863
            aload 0 /* this */
            aload 10 /* skplus1 */
            aload 11 /* tkplus1 */
            iconst_2
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.reduceAndIncorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ifne 32
        31: .line 864
            iconst_0
            ireturn
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding tkplus1
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding skplus1
        32: .line 866
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.solve:()Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            ifnull 33
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        33: iconst_0
        34: ireturn
        35: .line 867
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
            pop
        36: .line 868
            iconst_0
            ireturn
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] t
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] s
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] p
        end local 6 // int numInvocArgs
        end local 5 // org.eclipse.jdt.internal.compiler.ast.Expression[] arguments
        end local 4 // boolean isVarArgs2
        end local 3 // boolean isVarArgs
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding m2
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding m1
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   37     0          this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   37     1            m1  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            0   37     2            m2  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            0   37     3     isVarArgs  Z
            0   37     4    isVarArgs2  Z
            3   37     5     arguments  [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            6   37     6  numInvocArgs  I
            7   37     7             p  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            8   37     8             s  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            9   37     9             t  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           11   15    10             i  I
           16   27    10             i  I
           18   25    11            si  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           19   25    12            ti  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           20   25    13        result  Ljava/lang/Boolean;
           29   32    10       skplus1  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           30   32    11       tkplus1  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
      Exception table:
        from    to  target  type
          15    21      35  Class org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
          22    24      35  Class org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
          25    31      35  Class org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
          32    34      35  Class org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
            Name  Flags
      m1          
      m2          
      isVarArgs   
      isVarArgs2  

  private java.lang.Boolean moreSpecificMain(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.ast.Expression);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding si
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding ti
        start local 3 // org.eclipse.jdt.internal.compiler.ast.Expression expri
         0: .line 876
            aload 1 /* si */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProperType:(Z)Z
            ifeq 4
            aload 2 /* ti */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProperType:(Z)Z
            ifeq 4
         1: .line 877
            aload 3 /* expri */
            aload 1 /* si */
            aload 2 /* ti */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            invokevirtual 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
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            goto 3
      StackMap locals:
      StackMap stack:
         2: getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
      StackMap locals:
      StackMap stack: java.lang.Boolean
         3: areturn
         4: .line 880
      StackMap locals:
      StackMap stack:
            aload 2 /* ti */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isFunctionalInterface:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
            ifne 6
         5: .line 881
            aconst_null
            areturn
         6: .line 883
      StackMap locals:
      StackMap stack:
            aload 2 /* ti */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* funcI */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding funcI
         7: .line 886
            aload 1 /* si */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isFunctionalInterface:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
            ifeq 37
         8: .line 887
            aload 0 /* this */
            aload 1 /* si */
            aload 4 /* funcI */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.siSuperI:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifne 9
            aload 0 /* this */
            aload 1 /* si */
            aload 4 /* funcI */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.siSubI:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 10
         9: .line 888
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aconst_null
            areturn
        10: .line 889
      StackMap locals:
      StackMap stack:
            aload 1 /* si */
            instanceof org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18
            ifeq 25
        11: .line 890
            aload 1 /* si */
            checkcast org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18
            getfield org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18.intersectingTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 5 /* elements */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] elements
        12: .line 892
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        13: goto 17
        14: .line 893
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
      StackMap stack:
            aload 0 /* this */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            aload 4 /* funcI */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.siSuperI:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifne 16
        15: .line 894
            goto 19
        16: .line 892
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            aload 5 /* elements */
            arraylength
            if_icmplt 14
        end local 6 // int i
        18: .line 895
            aconst_null
            areturn
        19: .line 898
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        20: goto 24
        21: .line 899
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 5 /* elements */
            iload 6 /* i */
            aaload
            aload 4 /* funcI */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.siSubI:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 23
        22: .line 900
            aconst_null
            areturn
        23: .line 898
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 6 /* i */
            aload 5 /* elements */
            arraylength
            if_icmplt 21
        end local 6 // int i
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] elements
        25: .line 904
      StackMap locals:
      StackMap stack:
            aload 1 /* si */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            aload 3 /* expri */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceStart:I
            aload 3 /* expri */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.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 5 /* siCapture */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding siCapture
        26: .line 905
            aload 5 /* siCapture */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getSingleAbstractMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Z)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 6 /* sam */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding sam
        27: .line 906
            aload 6 /* sam */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* u */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] u
        28: .line 907
            aload 6 /* sam */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isConstructor:()Z
            ifeq 29
            aload 6 /* sam */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            goto 30
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
        29: aload 6 /* sam */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
        30: astore 8 /* r1 */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding r1
        31: .line 908
            aload 2 /* ti */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getSingleAbstractMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Z)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 6 /* sam */
        32: .line 909
            aload 6 /* sam */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 9 /* v */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] v
        33: .line 910
            aload 6 /* sam */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isConstructor:()Z
            ifeq 34
            aload 6 /* sam */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            goto 35
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
        34: aload 6 /* sam */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
        35: astore 10 /* r2 */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding r2
        36: .line 911
            aload 0 /* this */
            aload 3 /* expri */
            aload 7 /* u */
            aload 8 /* r1 */
            aload 9 /* v */
            aload 10 /* r2 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.checkExpression:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;[Lorg/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/lookup/TypeBinding;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding r2
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] v
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding r1
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] u
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding sam
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding siCapture
        37: .line 913
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aconst_null
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding funcI
        end local 3 // org.eclipse.jdt.internal.compiler.ast.Expression expri
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding ti
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding si
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   38     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   38     1         si  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   38     2         ti  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   38     3      expri  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            7   38     4      funcI  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           12   25     5   elements  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           13   18     6          i  I
           20   25     6          i  I
           26   37     5  siCapture  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           27   37     6        sam  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           28   37     7          u  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           31   37     8         r1  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           33   37     9          v  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           36   37    10         r2  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
       Name  Flags
      si     
      ti     
      expri  

  private boolean checkExpression(org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.compiler.lookup.TypeBinding[], org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding[], org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Expression;[Lorg/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/lookup/TypeBinding;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Expression expri
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] u
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding r1
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] v
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding r2
         0: .line 918
            aload 1 /* expri */
            instanceof org.eclipse.jdt.internal.compiler.ast.LambdaExpression
            ifeq 39
            aload 1 /* expri */
            checkcast org.eclipse.jdt.internal.compiler.ast.LambdaExpression
            invokevirtual org.eclipse.jdt.internal.compiler.ast.LambdaExpression.argumentsTypeElided:()Z
            ifne 39
         1: .line 919
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         2: goto 6
         3: .line 920
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* u */
            iload 6 /* i */
            aaload
            aload 4 /* v */
            iload 6 /* i */
            aaload
            iconst_4
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.reduceAndIncorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ifne 5
         4: .line 921
            iconst_0
            ireturn
         5: .line 919
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* i */
            aload 2 /* u */
            arraylength
            if_icmplt 3
        end local 6 // int i
         7: .line 923
            aload 5 /* r2 */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            bipush 6
            if_icmpne 9
         8: .line 924
            iconst_1
            ireturn
         9: .line 925
      StackMap locals:
      StackMap stack:
            aload 1 /* expri */
            checkcast org.eclipse.jdt.internal.compiler.ast.LambdaExpression
            astore 6 /* lambda */
        start local 6 // org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambda
        10: .line 926
            aload 6 /* lambda */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.LambdaExpression.resultExpressions:()[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            astore 7 /* results */
        start local 7 // org.eclipse.jdt.internal.compiler.ast.Expression[] results
        11: .line 927
            aload 7 /* results */
            getstatic org.eclipse.jdt.internal.compiler.ast.Expression.NO_EXPRESSIONS:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            if_acmpeq 38
        12: .line 928
            aload 3 /* r1 */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isFunctionalInterface:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
            ifeq 21
            aload 5 /* r2 */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isFunctionalInterface:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
            ifeq 21
        13: .line 929
            aload 3 /* r1 */
            aload 5 /* r2 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifne 21
            aload 5 /* r2 */
            aload 3 /* r1 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifne 21
        14: .line 932
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        15: goto 19
        16: .line 933
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.LambdaExpression org.eclipse.jdt.internal.compiler.ast.Expression[] int
      StackMap stack:
            aload 0 /* this */
            aload 7 /* results */
            iload 8 /* i */
            aaload
            aload 2 /* u */
            aload 3 /* r1 */
            aload 4 /* v */
            aload 5 /* r2 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.checkExpression:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;[Lorg/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/lookup/TypeBinding;)Z
            ifne 18
        17: .line 934
            iconst_0
            ireturn
        18: .line 932
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 8 /* i */
            aload 7 /* results */
            arraylength
            if_icmplt 16
        end local 8 // int i
        20: .line 936
            iconst_1
            ireturn
        21: .line 938
      StackMap locals:
      StackMap stack:
            aload 3 /* r1 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPrimitiveType:()Z
            ifeq 29
            aload 5 /* r2 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPrimitiveType:()Z
            ifne 29
        22: .line 940
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        23: goto 27
        24: .line 941
      StackMap locals: int
      StackMap stack:
            aload 7 /* results */
            iload 8 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isPolyExpression:()Z
            ifne 29
            aload 7 /* results */
            iload 8 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 26
            aload 7 /* results */
            iload 8 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPrimitiveType:()Z
            ifne 26
        25: .line 942
            goto 29
        26: .line 940
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 8 /* i */
            aload 7 /* results */
            arraylength
            if_icmplt 24
        end local 8 // int i
        28: .line 944
            iconst_1
            ireturn
        29: .line 946
      StackMap locals:
      StackMap stack:
            aload 5 /* r2 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPrimitiveType:()Z
            ifeq 38
            aload 3 /* r1 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPrimitiveType:()Z
            ifne 38
        30: .line 947
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        31: goto 36
        32: .line 950
      StackMap locals: int
      StackMap stack:
            aload 7 /* results */
            iload 8 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isPolyExpression:()Z
            ifne 33
            aload 7 /* results */
            iload 8 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 33
            aload 7 /* results */
            iload 8 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPrimitiveType:()Z
            ifeq 35
        33: .line 951
      StackMap locals:
      StackMap stack:
            aload 7 /* results */
            iload 8 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isPolyExpression:()Z
            ifne 35
        34: .line 952
            goto 38
        35: .line 947
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 8 /* i */
            aload 7 /* results */
            arraylength
            if_icmplt 32
        end local 8 // int i
        37: .line 954
            iconst_1
            ireturn
        38: .line 957
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* r1 */
            aload 5 /* r2 */
            iconst_2
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.reduceAndIncorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ireturn
        end local 7 // org.eclipse.jdt.internal.compiler.ast.Expression[] results
        end local 6 // org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambda
        39: .line 958
      StackMap locals:
      StackMap stack:
            aload 1 /* expri */
            instanceof org.eclipse.jdt.internal.compiler.ast.ReferenceExpression
            ifeq 58
            aload 1 /* expri */
            checkcast org.eclipse.jdt.internal.compiler.ast.ReferenceExpression
            invokevirtual org.eclipse.jdt.internal.compiler.ast.ReferenceExpression.isExactMethodReference:()Z
            ifeq 58
        40: .line 959
            aload 1 /* expri */
            checkcast org.eclipse.jdt.internal.compiler.ast.ReferenceExpression
            astore 6 /* reference */
        start local 6 // org.eclipse.jdt.internal.compiler.ast.ReferenceExpression reference
        41: .line 960
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        42: goto 46
        43: .line 961
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.ReferenceExpression int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* u */
            iload 7 /* i */
            aaload
            aload 4 /* v */
            iload 7 /* i */
            aaload
            iconst_4
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.reduceAndIncorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ifne 45
        44: .line 962
            iconst_0
            ireturn
        45: .line 960
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        46: iload 7 /* i */
            aload 2 /* u */
            arraylength
            if_icmplt 43
        end local 7 // int i
        47: .line 964
            aload 5 /* r2 */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            bipush 6
            if_icmpne 49
        48: .line 965
            iconst_1
            ireturn
        49: .line 966
      StackMap locals:
      StackMap stack:
            aload 6 /* reference */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.ReferenceExpression.getExactMethod:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 7 /* method */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        50: .line 967
            aload 7 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isConstructor:()Z
            ifeq 51
            aload 7 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            goto 52
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
      StackMap stack:
        51: aload 7 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
        52: astore 8 /* returnType */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding returnType
        53: .line 968
            aload 3 /* r1 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPrimitiveType:()Z
            ifeq 55
            aload 5 /* r2 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPrimitiveType:()Z
            ifne 55
            aload 8 /* returnType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPrimitiveType:()Z
            ifeq 55
        54: .line 969
            iconst_1
            ireturn
        55: .line 970
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 5 /* r2 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPrimitiveType:()Z
            ifeq 57
            aload 3 /* r1 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPrimitiveType:()Z
            ifne 57
            aload 8 /* returnType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isPrimitiveType:()Z
            ifne 57
        56: .line 971
            iconst_1
            ireturn
        57: .line 972
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* r1 */
            aload 5 /* r2 */
            iconst_2
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.reduceAndIncorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ireturn
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding returnType
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 6 // org.eclipse.jdt.internal.compiler.ast.ReferenceExpression reference
        58: .line 973
      StackMap locals:
      StackMap stack:
            aload 1 /* expri */
            instanceof org.eclipse.jdt.internal.compiler.ast.ConditionalExpression
            ifeq 62
        59: .line 974
            aload 1 /* expri */
            checkcast org.eclipse.jdt.internal.compiler.ast.ConditionalExpression
            astore 6 /* cond */
        start local 6 // org.eclipse.jdt.internal.compiler.ast.ConditionalExpression cond
        60: .line 975
            aload 0 /* this */
            aload 6 /* cond */
            getfield org.eclipse.jdt.internal.compiler.ast.ConditionalExpression.valueIfTrue:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 2 /* u */
            aload 3 /* r1 */
            aload 4 /* v */
            aload 5 /* r2 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.checkExpression:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;[Lorg/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/lookup/TypeBinding;)Z
            ifeq 61
            aload 0 /* this */
            aload 6 /* cond */
            getfield org.eclipse.jdt.internal.compiler.ast.ConditionalExpression.valueIfFalse:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 2 /* u */
            aload 3 /* r1 */
            aload 4 /* v */
            aload 5 /* r2 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.checkExpression:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;[Lorg/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/lookup/TypeBinding;)Z
            ifeq 61
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.ConditionalExpression
      StackMap stack:
        61: iconst_0
            ireturn
        end local 6 // org.eclipse.jdt.internal.compiler.ast.ConditionalExpression cond
        62: .line 976
      StackMap locals:
      StackMap stack:
            aload 1 /* expri */
            instanceof org.eclipse.jdt.internal.compiler.ast.SwitchExpression
            ifeq 70
        63: .line 977
            aload 1 /* expri */
            checkcast org.eclipse.jdt.internal.compiler.ast.SwitchExpression
            astore 6 /* se */
        start local 6 // org.eclipse.jdt.internal.compiler.ast.SwitchExpression se
        64: .line 978
            aload 6 /* se */
            getfield org.eclipse.jdt.internal.compiler.ast.SwitchExpression.resultExpressions:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 68
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.SwitchExpression top java.util.Iterator
      StackMap stack:
        65: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.ast.Expression
            astore 7 /* re */
        start local 7 // org.eclipse.jdt.internal.compiler.ast.Expression re
        66: .line 979
            aload 0 /* this */
            aload 7 /* re */
            aload 2 /* u */
            aload 3 /* r1 */
            aload 4 /* v */
            aload 5 /* r2 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.checkExpression:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;[Lorg/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/lookup/TypeBinding;)Z
            ifne 68
        67: .line 980
            iconst_0
            ireturn
        end local 7 // org.eclipse.jdt.internal.compiler.ast.Expression re
        68: .line 978
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 65
        69: .line 982
            iconst_1
            ireturn
        end local 6 // org.eclipse.jdt.internal.compiler.ast.SwitchExpression se
        70: .line 984
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding r2
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] v
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding r1
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] u
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Expression expri
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   71     0        this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   71     1       expri  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0   71     2           u  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   71     3          r1  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   71     4           v  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   71     5          r2  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            2    7     6           i  I
           10   39     6      lambda  Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;
           11   39     7     results  [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
           15   20     8           i  I
           23   28     8           i  I
           31   37     8           i  I
           41   58     6   reference  Lorg/eclipse/jdt/internal/compiler/ast/ReferenceExpression;
           42   47     7           i  I
           50   58     7      method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           53   58     8  returnType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           60   62     6        cond  Lorg/eclipse/jdt/internal/compiler/ast/ConditionalExpression;
           64   70     6          se  Lorg/eclipse/jdt/internal/compiler/ast/SwitchExpression;
           66   68     7          re  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
       Name  Flags
      expri  
      u      
      r1     
      v      
      r2     

  private boolean siSuperI(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding si
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding funcI
         0: .line 989
            aload 1 /* si */
            aload 2 /* funcI */
            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 1
            aload 1 /* si */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 2 /* funcI */
            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 2
         1: .line 990
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 991
      StackMap locals:
      StackMap stack:
            aload 2 /* funcI */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.superInterfaces:()[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 3 /* superIfcs */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] superIfcs
         3: .line 992
            aload 3 /* superIfcs */
            ifnonnull 4
            iconst_0
            ireturn
         4: .line 993
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 9
         6: .line 994
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* si */
            aload 3 /* superIfcs */
            iload 4 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.siSuperI:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 8
         7: .line 995
            iconst_1
            ireturn
         8: .line 993
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 3 /* superIfcs */
            arraylength
            if_icmplt 6
        end local 4 // int i
        10: .line 997
            iconst_0
            ireturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] superIfcs
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding funcI
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding si
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   11     1         si  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   11     2      funcI  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3   11     3  superIfcs  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            5   10     4          i  I
    MethodParameters:
       Name  Flags
      si     
      funcI  

  private boolean siSubI(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding si
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding funcI
         0: .line 1001
            aload 1 /* si */
            aload 2 /* funcI */
            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 1
            aload 1 /* si */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 2 /* funcI */
            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 2
         1: .line 1002
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 1003
      StackMap locals:
      StackMap stack:
            aload 1 /* si */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.superInterfaces:()[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 3 /* superIfcs */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] superIfcs
         3: .line 1004
            aload 3 /* superIfcs */
            ifnonnull 4
            iconst_0
            ireturn
         4: .line 1005
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 9
         6: .line 1006
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* superIfcs */
            iload 4 /* i */
            aaload
            aload 2 /* funcI */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.siSubI:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 8
         7: .line 1007
            iconst_1
            ireturn
         8: .line 1005
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 3 /* superIfcs */
            arraylength
            if_icmplt 6
        end local 4 // int i
        10: .line 1009
            iconst_0
            ireturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] superIfcs
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding funcI
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding si
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   11     1         si  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   11     2      funcI  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3   11     3  superIfcs  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            5   10     4          i  I
    MethodParameters:
       Name  Flags
      si     
      funcI  

  public org.eclipse.jdt.internal.compiler.lookup.BoundSet solve(boolean);
    descriptor: (Z)Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // boolean inferringApplicability
         0: .line 1021
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.reduce:()Z
            ifne 2
         1: .line 1022
            aconst_null
            areturn
         2: .line 1023
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Z
            ifne 4
         3: .line 1024
            aconst_null
            areturn
         4: .line 1025
      StackMap locals:
      StackMap stack:
            iload 1 /* inferringApplicability */
            ifeq 6
         5: .line 1026
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.copy:()Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.b2:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
         6: .line 1028
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.resolve:([Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            astore 2 /* solution */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BoundSet solution
         7: .line 1033
            iload 1 /* inferringApplicability */
            ifeq 17
            aload 2 /* solution */
            ifnull 17
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.finalConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;
            ifnull 17
         8: .line 1034
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.finalConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 16
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 int org.eclipse.jdt.internal.compiler.lookup.BoundSet top int int org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula[]
      StackMap stack:
         9: aload 6
            iload 4
            aaload
            astore 3 /* constraint */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula constraint
        10: .line 1035
            aload 3 /* constraint */
            getfield org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.isPolyExpression:()Z
            ifeq 12
        11: .line 1036
            goto 15
        12: .line 1037
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 int org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula int int org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula[]
      StackMap stack:
            aload 3 /* constraint */
            aload 2 /* solution */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.applySubstitution:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Z
            pop
        13: .line 1038
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            aload 3 /* constraint */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.reduceOneConstraint:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ifne 15
        14: .line 1039
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula constraint
        15: .line 1034
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 int org.eclipse.jdt.internal.compiler.lookup.BoundSet top int int org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        16: iload 4
            iload 5
            if_icmplt 9
        17: .line 1043
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 int org.eclipse.jdt.internal.compiler.lookup.BoundSet
      StackMap stack:
            aload 2 /* solution */
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.BoundSet solution
        end local 1 // boolean inferringApplicability
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   18     0                    this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   18     1  inferringApplicability  Z
            7   18     2                solution  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
           10   15     3              constraint  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
                        Name  Flags
      inferringApplicability  

  public org.eclipse.jdt.internal.compiler.lookup.BoundSet solve();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
         0: .line 1047
            aload 0 /* this */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.solve:(Z)Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException

  public org.eclipse.jdt.internal.compiler.lookup.BoundSet solve(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] toResolve
         0: .line 1051
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.reduce:()Z
            ifne 2
         1: .line 1052
            aconst_null
            areturn
         2: .line 1053
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Z
            ifne 4
         3: .line 1054
            aconst_null
            areturn
         4: .line 1056
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* toResolve */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.resolve:([Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] toResolve
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    5     1  toResolve  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
           Name  Flags
      toResolve  

  private boolean reduce();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
         0: .line 1065
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 9
         2: .line 1066
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            iload 1 /* i */
            aaload
            astore 2 /* currentConstraint */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula currentConstraint
         3: .line 1067
            aload 2 /* currentConstraint */
            ifnonnull 5
         4: .line 1068
            goto 8
         5: .line 1069
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            iload 1 /* i */
            aconst_null
            aastore
         6: .line 1070
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            aload 2 /* currentConstraint */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.reduceOneConstraint:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ifne 8
         7: .line 1071
            iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula currentConstraint
         8: .line 1065
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            ifnull 10
            iload 1 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            arraylength
            if_icmplt 2
        end local 1 // int i
        10: .line 1073
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
        11: .line 1074
            iconst_1
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            1   10     1                  i  I
            3    8     2  currentConstraint  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException

  public boolean isResolved(org.eclipse.jdt.internal.compiler.lookup.BoundSet);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet boundSet
         0: .line 1081
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            ifnull 7
         1: .line 1082
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 1083
      StackMap locals: int
      StackMap stack:
            aload 1 /* boundSet */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iload 2 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.isInstantiated:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Z
            ifne 5
         4: .line 1084
            iconst_0
            ireturn
         5: .line 1082
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            arraylength
            if_icmplt 3
        end local 2 // int i
         7: .line 1087
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet boundSet
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    8     1  boundSet  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            2    7     2         i  I
    MethodParameters:
          Name  Flags
      boundSet  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] getSolutions(org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[], org.eclipse.jdt.internal.compiler.lookup.InvocationSite, org.eclipse.jdt.internal.compiler.lookup.BoundSet);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] typeParameters
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite site
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.BoundSet boundSet
         0: .line 1097
            aload 1 /* typeParameters */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         1: .line 1098
            iload 4 /* len */
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            astore 5 /* substitutions */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] substitutions
         2: .line 1099
            aconst_null
            astore 6 /* outerVariables */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] outerVariables
         3: .line 1100
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.outerContext:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            ifnull 5
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.outerContext:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.stepCompleted:I
            iconst_2
            if_icmpge 5
         4: .line 1101
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.outerContext:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            astore 6 /* outerVariables */
         5: .line 1102
      StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 21
         7: .line 1103
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 8 /* j */
        start local 8 // int j
         8: goto 17
         9: .line 1104
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iload 8 /* j */
            aaload
            astore 9 /* variable */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        10: .line 1105
            aload 9 /* variable */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.site:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            aload 2 /* site */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.isSameSite:(Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)Z
            ifeq 16
            aload 9 /* variable */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.typeParameter:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* typeParameters */
            iload 7 /* i */
            aaload
            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 16
        11: .line 1106
            aconst_null
            astore 10 /* outerVar */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding outerVar
        12: .line 1107
            aload 6 /* outerVariables */
            ifnull 14
            aload 3 /* boundSet */
            aload 9 /* variable */
            aload 6 /* outerVariables */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.getEquivalentOuterVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            dup
            astore 10 /* outerVar */
            ifnull 14
        13: .line 1108
            aload 5 /* substitutions */
            iload 7 /* i */
            aload 10 /* outerVar */
            aastore
            goto 18
        14: .line 1110
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 5 /* substitutions */
            iload 7 /* i */
            aload 3 /* boundSet */
            aload 9 /* variable */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.getInstantiation:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aastore
        15: .line 1111
            goto 18
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding outerVar
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        16: .line 1103
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        17: iload 8 /* j */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            arraylength
            if_icmplt 9
        end local 8 // int j
        18: .line 1114
      StackMap locals:
      StackMap stack:
            aload 5 /* substitutions */
            iload 7 /* i */
            aaload
            ifnonnull 20
        19: .line 1115
            aconst_null
            areturn
        20: .line 1102
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 7 /* i */
            aload 1 /* typeParameters */
            arraylength
            if_icmplt 7
        end local 7 // int i
        22: .line 1117
            aload 5 /* substitutions */
            areturn
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] outerVariables
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] substitutions
        end local 4 // int len
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.BoundSet boundSet
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite site
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] typeParameters
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   23     1  typeParameters  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   23     2            site  Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            0   23     3        boundSet  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            1   23     4             len  I
            2   23     5   substitutions  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3   23     6  outerVariables  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            6   22     7               i  I
            8   18     8               j  I
           10   16     9        variable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
           12   16    10        outerVar  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
                Name  Flags
      typeParameters  
      site            
      boundSet        

  public boolean reduceAndIncorporate(org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula constraint
         0: .line 1122
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            aload 1 /* constraint */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.reduceOneConstraint:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula constraint
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    1     1  constraint  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
            Name  Flags
      constraint  

  private org.eclipse.jdt.internal.compiler.lookup.BoundSet resolve(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=20, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] toResolve
         0: .line 1131
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.captureId:I
         1: .line 1136
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            astore 2 /* tmpBoundSet */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BoundSet tmpBoundSet
         2: .line 1137
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            ifnull 102
         3: .line 1140
            goto 100
        start local 3 // java.util.Set variableSet
         4: .line 1141
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet java.util.Set
      StackMap stack:
            aload 2 /* tmpBoundSet */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.numUninstantiatedVariables:([Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)I
            istore 4 /* oldNumUninstantiated */
        start local 4 // int oldNumUninstantiated
         5: .line 1142
            aload 3 /* variableSet */
            invokeinterface java.util.Set.size:()I
            istore 5 /* numVars */
        start local 5 // int numVars
         6: .line 1143
            iload 5 /* numVars */
            ifle 100
         7: .line 1144
            aload 3 /* variableSet */
            iload 5 /* numVars */
            anewarray org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]
            astore 6 /* variables */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] variables
         8: .line 1145
            aload 2 /* tmpBoundSet */
            aload 3 /* variableSet */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.hasCaptureBound:(Ljava/util/Set;)Z
            ifne 47
         9: .line 1147
            aload 2 /* tmpBoundSet */
            astore 7 /* prevBoundSet */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.BoundSet prevBoundSet
        10: .line 1148
            aload 2 /* tmpBoundSet */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.copy:()Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            astore 2 /* tmpBoundSet */
        11: .line 1149
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        12: goto 43
        13: .line 1150
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.BoundSet java.util.Set int int org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.BoundSet int
      StackMap stack:
            aload 6 /* variables */
            iload 8 /* j */
            aaload
            astore 9 /* variable */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        14: .line 1152
            aload 2 /* tmpBoundSet */
            aload 9 /* variable */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.lowerBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Z)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 10 /* lowerBounds */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] lowerBounds
        15: .line 1153
            aload 10 /* lowerBounds */
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_TYPES:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            if_acmpeq 21
        16: .line 1154
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            aload 10 /* lowerBounds */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.lowerUpperBound:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 11 /* lub */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding lub
        17: .line 1155
            aload 11 /* lub */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.VOID:Lorg/eclipse/jdt/internal/compiler/lookup/VoidTypeBinding;
            if_acmpeq 18
            aload 11 /* lub */
            ifnonnull 19
        18: .line 1156
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aconst_null
            areturn
        19: .line 1157
      StackMap locals:
      StackMap stack:
            aload 2 /* tmpBoundSet */
            new org.eclipse.jdt.internal.compiler.lookup.TypeBound
            dup
            aload 9 /* variable */
            aload 11 /* lub */
            iconst_4
            invokespecial org.eclipse.jdt.internal.compiler.lookup.TypeBound.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBound:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding lub
        20: .line 1158
            goto 42
        21: .line 1159
      StackMap locals:
      StackMap stack:
            aload 2 /* tmpBoundSet */
            aload 9 /* variable */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.upperBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Z)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 11 /* upperBounds */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] upperBounds
        22: .line 1161
            aload 2 /* tmpBoundSet */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.inThrows:Ljava/util/Set;
            aload 9 /* variable */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.prototype:()Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 26
            aload 2 /* tmpBoundSet */
            aload 9 /* variable */
            aload 11 /* upperBounds */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.hasOnlyTrivialExceptionBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 26
        23: .line 1162
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.JAVA_LANG_RUNTIMEEXCEPTION:[[C
            iconst_3
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.getType:([[CI)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 12 /* runtimeException */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding runtimeException
        24: .line 1163
            aload 2 /* tmpBoundSet */
            new org.eclipse.jdt.internal.compiler.lookup.TypeBound
            dup
            aload 9 /* variable */
            aload 12 /* runtimeException */
            iconst_4
            invokespecial org.eclipse.jdt.internal.compiler.lookup.TypeBound.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBound:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding runtimeException
        25: .line 1164
            goto 42
        26: .line 1166
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.object:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 12 /* glb */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding glb
        27: .line 1167
            aload 11 /* upperBounds */
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_TYPES:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            if_acmpeq 41
        28: .line 1168
            aload 11 /* upperBounds */
            arraylength
            iconst_1
            if_icmpne 31
        29: .line 1169
            aload 11 /* upperBounds */
            iconst_0
            aaload
            astore 12 /* glb */
        30: .line 1170
            goto 41
        31: .line 1171
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 11 /* upperBounds */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.Scope.greaterLowerBound:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 13 /* glbs */
        start local 13 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] glbs
        32: .line 1172
            aload 13 /* glbs */
            ifnonnull 34
        33: .line 1173
            aconst_null
            areturn
        34: .line 1174
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            aload 13 /* glbs */
            arraylength
            iconst_1
            if_icmpne 37
        35: .line 1175
            aload 13 /* glbs */
            iconst_0
            aaload
            astore 12 /* glb */
        36: .line 1176
            goto 41
        37: .line 1177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 13 /* glbs */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.intersectionFromGlb:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 12 /* glb */
        38: .line 1178
            aload 12 /* glb */
            ifnonnull 41
        39: .line 1180
            aload 7 /* prevBoundSet */
            astore 2 /* tmpBoundSet */
        40: .line 1181
            goto 47
        end local 13 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] glbs
        41: .line 1186
      StackMap locals:
      StackMap stack:
            aload 2 /* tmpBoundSet */
            new org.eclipse.jdt.internal.compiler.lookup.TypeBound
            dup
            aload 9 /* variable */
            aload 12 /* glb */
            iconst_4
            invokespecial org.eclipse.jdt.internal.compiler.lookup.TypeBound.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBound:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding glb
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] upperBounds
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] lowerBounds
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        42: .line 1149
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.BoundSet java.util.Set int int org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.BoundSet int
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        43: iload 8 /* j */
            aload 6 /* variables */
            arraylength
            if_icmplt 13
        end local 8 // int j
        44: .line 1190
            aload 2 /* tmpBoundSet */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Z
            ifeq 46
        45: .line 1191
            goto 100
        46: .line 1192
      StackMap locals:
      StackMap stack:
            aload 7 /* prevBoundSet */
            astore 2 /* tmpBoundSet */
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.BoundSet prevBoundSet
        47: .line 1195
      StackMap locals:
      StackMap stack:
            aload 6 /* variables */
            invokestatic org.eclipse.jdt.internal.compiler.util.Sorting.sortInferenceVariables:([Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)V
        48: .line 1196
            iload 5 /* numVars */
            anewarray org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18
            astore 7 /* zs */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18[] zs
        49: .line 1197
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        50: goto 53
        51: .line 1198
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18[] int
      StackMap stack:
            aload 7 /* zs */
            iload 8 /* j */
            aload 0 /* this */
            aload 6 /* variables */
            iload 8 /* j */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.freshCapture:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Lorg/eclipse/jdt/internal/compiler/lookup/CaptureBinding18;
            aastore
        52: .line 1197
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        53: iload 8 /* j */
            iload 5 /* numVars */
            if_icmplt 51
        end local 8 // int j
        54: .line 1199
            aload 2 /* tmpBoundSet */
            astore 8 /* kurrentBoundSet */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.BoundSet kurrentBoundSet
        55: .line 1200
            new org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$1
            dup
            aload 0 /* this */
            iload 5 /* numVars */
            aload 6 /* variables */
            aload 7 /* zs */
            aload 8 /* kurrentBoundSet */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$1.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;I[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;[Lorg/eclipse/jdt/internal/compiler/lookup/CaptureBinding18;Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;)V
            astore 9 /* theta */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.Substitution theta
        56: .line 1227
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        57: goto 95
        58: .line 1228
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.BoundSet java.util.Set int int org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18[] org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.Substitution int
      StackMap stack:
            aload 6 /* variables */
            iload 10 /* j */
            aaload
            astore 11 /* variable */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        59: .line 1229
            aload 7 /* zs */
            iload 10 /* j */
            aaload
            astore 12 /* zsj */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18 zsj
        60: .line 1231
            aload 2 /* tmpBoundSet */
            aload 11 /* variable */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.lowerBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Z)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 13 /* lowerBounds */
        start local 13 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] lowerBounds
        61: .line 1232
            aload 13 /* lowerBounds */
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_TYPES:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            if_acmpeq 65
        62: .line 1233
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            aload 13 /* lowerBounds */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.lowerUpperBound:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 14 /* lub */
        start local 14 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding lub
        63: .line 1234
            aload 14 /* lub */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.VOID:Lorg/eclipse/jdt/internal/compiler/lookup/VoidTypeBinding;
            if_acmpeq 65
            aload 14 /* lub */
            ifnull 65
        64: .line 1235
            aload 12 /* zsj */
            aload 14 /* lub */
            putfield org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18.lowerBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        end local 14 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding lub
        65: .line 1238
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18 org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            aload 2 /* tmpBoundSet */
            aload 11 /* variable */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.upperBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Z)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 14 /* upperBounds */
        start local 14 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] upperBounds
        66: .line 1239
            aload 14 /* upperBounds */
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_TYPES:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            if_acmpeq 74
        67: .line 1240
            iconst_0
            istore 15 /* k */
        start local 15 // int k
        68: goto 71
        69: .line 1241
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
      StackMap stack:
            aload 14 /* upperBounds */
            iload 15 /* k */
            aload 9 /* theta */
            aload 14 /* upperBounds */
            iload 15 /* k */
            aaload
            invokestatic org.eclipse.jdt.internal.compiler.lookup.Scope.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aastore
        70: .line 1240
            iinc 15 /* k */ 1
      StackMap locals:
      StackMap stack:
        71: iload 15 /* k */
            aload 14 /* upperBounds */
            arraylength
            if_icmplt 69
        end local 15 // int k
        72: .line 1242
            aload 0 /* this */
            aload 12 /* zsj */
            aload 14 /* upperBounds */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.setUpperBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/CaptureBinding18;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifne 74
        73: .line 1243
            goto 94
        74: .line 1245
      StackMap locals:
      StackMap stack:
            aload 2 /* tmpBoundSet */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            if_acmpne 76
        75: .line 1246
            aload 2 /* tmpBoundSet */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.copy:()Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            astore 2 /* tmpBoundSet */
        76: .line 1247
      StackMap locals:
      StackMap stack:
            aload 2 /* tmpBoundSet */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.captures:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 15 /* captureKeys */
        start local 15 // java.util.Iterator captureKeys
        77: .line 1248
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 16 /* toRemove */
        start local 16 // java.util.Set toRemove
        78: .line 1249
            goto 88
        79: .line 1250
      StackMap locals: java.util.Iterator java.util.Set
      StackMap stack:
            aload 15 /* captureKeys */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            astore 17 /* key */
        start local 17 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding key
        80: .line 1251
            aload 17 /* key */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            arraylength
            istore 18 /* len */
        start local 18 // int len
        81: .line 1252
            iconst_0
            istore 19 /* i */
        start local 19 // int i
        82: goto 87
        83: .line 1253
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding int int
      StackMap stack:
            aload 17 /* key */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 19 /* i */
            aaload
            aload 11 /* variable */
            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 86
        84: .line 1254
            aload 16 /* toRemove */
            aload 17 /* key */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        85: .line 1255
            goto 88
        86: .line 1252
      StackMap locals:
      StackMap stack:
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
        87: iload 19 /* i */
            iload 18 /* len */
            if_icmplt 83
        end local 19 // int i
        end local 18 // int len
        end local 17 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding key
        88: .line 1249
      StackMap locals:
      StackMap stack:
            aload 15 /* captureKeys */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 79
        89: .line 1259
            aload 16 /* toRemove */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 15 /* captureKeys */
        90: .line 1260
            goto 92
        91: .line 1261
      StackMap locals:
      StackMap stack:
            aload 2 /* tmpBoundSet */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.captures:Ljava/util/HashMap;
            aload 15 /* captureKeys */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        92: .line 1260
      StackMap locals:
      StackMap stack:
            aload 15 /* captureKeys */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 91
        93: .line 1262
            aload 2 /* tmpBoundSet */
            new org.eclipse.jdt.internal.compiler.lookup.TypeBound
            dup
            aload 11 /* variable */
            aload 12 /* zsj */
            iconst_4
            invokespecial org.eclipse.jdt.internal.compiler.lookup.TypeBound.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBound:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
        end local 16 // java.util.Set toRemove
        end local 15 // java.util.Iterator captureKeys
        end local 14 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] upperBounds
        end local 13 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] lowerBounds
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18 zsj
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        94: .line 1227
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.BoundSet java.util.Set int int org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18[] org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.Substitution int
      StackMap stack:
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        95: iload 10 /* j */
            iload 5 /* numVars */
            if_icmplt 58
        end local 10 // int j
        96: .line 1264
            aload 2 /* tmpBoundSet */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Z
            ifeq 99
        97: .line 1265
            aload 2 /* tmpBoundSet */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.numUninstantiatedVariables:([Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)I
            iload 4 /* oldNumUninstantiated */
            if_icmpne 100
        98: .line 1266
            aconst_null
            areturn
        99: .line 1269
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.Substitution theta
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.BoundSet kurrentBoundSet
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18[] zs
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] variables
        end local 5 // int numVars
        end local 4 // int oldNumUninstantiated
        end local 3 // java.util.Set variableSet
       100: .line 1140
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.BoundSet
      StackMap stack:
            aload 0 /* this */
            aload 2 /* tmpBoundSet */
            aload 1 /* toResolve */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.getSmallestVariableSet:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Ljava/util/Set;
            dup
            astore 3 /* variableSet */
        start local 3 // java.util.Set variableSet
       101: ifnonnull 4
        end local 3 // java.util.Set variableSet
       102: .line 1273
      StackMap locals:
      StackMap stack:
            aload 2 /* tmpBoundSet */
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.BoundSet tmpBoundSet
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] toResolve
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  103     0                  this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0  103     1             toResolve  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            2  103     2           tmpBoundSet  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            4  100     3           variableSet  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
          101  102     3           variableSet  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            5  100     4  oldNumUninstantiated  I
            6  100     5               numVars  I
            8  100     6             variables  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
           10   47     7          prevBoundSet  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
           12   44     8                     j  I
           14   42     9              variable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
           15   42    10           lowerBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           17   20    11                   lub  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           22   42    11           upperBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           24   25    12      runtimeException  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           27   42    12                   glb  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           32   41    13                  glbs  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           49  100     7                    zs  [Lorg/eclipse/jdt/internal/compiler/lookup/CaptureBinding18;
           50   54     8                     j  I
           55  100     8       kurrentBoundSet  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
           56  100     9                 theta  Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;
           57   96    10                     j  I
           59   94    11              variable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
           60   94    12                   zsj  Lorg/eclipse/jdt/internal/compiler/lookup/CaptureBinding18;
           61   94    13           lowerBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           63   65    14                   lub  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           66   94    14           upperBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           68   72    15                     k  I
           77   94    15           captureKeys  Ljava/util/Iterator<Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;>;
           78   94    16              toRemove  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;>;
           80   88    17                   key  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
           81   88    18                   len  I
           82   88    19                     i  I
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
           Name  Flags
      toResolve  

  private org.eclipse.jdt.internal.compiler.lookup.TypeBinding intersectionFromGlb(org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] glbs
         0: .line 1277
            aload 1 /* glbs */
            arraylength
            anewarray org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 2 /* refGlbs */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] refGlbs
         1: .line 1278
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 9
         3: .line 1279
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int
      StackMap stack:
            aload 1 /* glbs */
            iload 3 /* i */
            aaload
            astore 4 /* typeBinding */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding typeBinding
         4: .line 1280
            aload 4 /* typeBinding */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            ifeq 7
         5: .line 1281
            aload 2 /* refGlbs */
            iload 3 /* i */
            aload 4 /* typeBinding */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            aastore
         6: .line 1282
            goto 8
         7: .line 1283
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aconst_null
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding typeBinding
         8: .line 1278
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 1 /* glbs */
            arraylength
            if_icmplt 3
        end local 3 // int i
        10: .line 1286
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 2 /* refGlbs */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createIntersectionType18:([Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18
            astore 3 /* intersection */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18 intersection
        11: .line 1287
            aload 3 /* intersection */
            getfield org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18.intersectingTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isConsistentIntersection:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 13
        12: .line 1288
            aload 3 /* intersection */
            areturn
        13: .line 1289
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18 intersection
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] refGlbs
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] glbs
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   14     1          glbs  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            1   14     2       refGlbs  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            2   10     3             i  I
            4    8     4   typeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           11   14     3  intersection  Lorg/eclipse/jdt/internal/compiler/lookup/IntersectionTypeBinding18;
    MethodParameters:
      Name  Flags
      glbs  

  private org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18 freshCapture(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Lorg/eclipse/jdt/internal/compiler/lookup/CaptureBinding18;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
         0: .line 1296
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.captureId:I
            dup_x1
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.captureId:I
            istore 2 /* id */
        start local 2 // int id
         1: .line 1297
            ldc "Z"
            invokevirtual java.lang.String.toCharArray:()[C
            bipush 35
            iload 2 /* id */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            bipush 45
            aload 1 /* variable */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.sourceName:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([CC[CC[C)[C
            astore 3 /* sourceName */
        start local 3 // char[] sourceName
         2: .line 1298
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentInvocation:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            ifnull 3
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentInvocation:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.InvocationSite.sourceStart:()I
            goto 4
      StackMap locals: int char[]
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* start */
        start local 4 // int start
         5: .line 1299
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentInvocation:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            ifnull 6
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentInvocation:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.InvocationSite.sourceEnd:()I
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 5 /* end */
        start local 5 // int end
         8: .line 1300
            new org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.enclosingSourceType:()Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
            aload 3 /* sourceName */
            aload 1 /* variable */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.typeParameter:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.shortReadableName:()[C
         9: .line 1301
            iload 4 /* start */
            iload 5 /* end */
            iload 2 /* id */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
        10: .line 1300
            invokespecial org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[C[CIIILorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
            areturn
        end local 5 // int end
        end local 4 // int start
        end local 3 // char[] sourceName
        end local 2 // int id
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   11     1    variable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            1   11     2          id  I
            2   11     3  sourceName  [C
            5   11     4       start  I
            8   11     5         end  I
    MethodParameters:
          Name  Flags
      variable  

  private boolean setUpperBounds(org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18, org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/CaptureBinding18;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18 typeVariable
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] substitutedUpperBounds
         0: .line 1307
            aload 2 /* substitutedUpperBounds */
            arraylength
            iconst_1
            if_icmpne 2
         1: .line 1308
            aload 1 /* typeVariable */
            aload 2 /* substitutedUpperBounds */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.object:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18.setUpperBounds:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ireturn
         2: .line 1310
      StackMap locals:
      StackMap stack:
            aload 2 /* substitutedUpperBounds */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.Scope.greaterLowerBound:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 3 /* glbs */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] glbs
         3: .line 1311
            aload 3 /* glbs */
            ifnonnull 5
         4: .line 1312
            iconst_0
            ireturn
         5: .line 1313
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            aload 1 /* typeVariable */
            getfield org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18.lowerBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 12
         6: .line 1314
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 11
         8: .line 1315
      StackMap locals: int
      StackMap stack:
            aload 1 /* typeVariable */
            getfield org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18.lowerBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 3 /* glbs */
            iload 4 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifne 10
         9: .line 1316
            iconst_0
            ireturn
        10: .line 1314
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            aload 3 /* glbs */
            arraylength
            if_icmplt 8
        end local 4 // int i
        12: .line 1320
      StackMap locals:
      StackMap stack:
            aload 3 /* glbs */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.sortTypes:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        13: .line 1321
            aload 1 /* typeVariable */
            aload 3 /* glbs */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.object:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18.setUpperBounds:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ifne 15
        14: .line 1322
            iconst_0
            ireturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] glbs
        15: .line 1324
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] substitutedUpperBounds
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.CaptureBinding18 typeVariable
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   16     0                    this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   16     1            typeVariable  Lorg/eclipse/jdt/internal/compiler/lookup/CaptureBinding18;
            0   16     2  substitutedUpperBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3   15     3                    glbs  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            7   12     4                       i  I
    MethodParameters:
                        Name  Flags
      typeVariable            
      substitutedUpperBounds  

  static void sortTypes(org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] types
         0: .line 1328
            aload 0 /* types */
            new org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$2
            dup
            invokespecial org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$2.<init>:()V
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
         1: .line 1335
            return
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] types
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  types  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
       Name  Flags
      types  

  private java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable> getSmallestVariableSet(org.eclipse.jdt.internal.compiler.lookup.BoundSet, org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet bounds
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] subSet
         0: .line 1344
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* v */
        start local 3 // java.util.Set v
         1: .line 1345
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* dependencies */
        start local 4 // java.util.Map dependencies
         2: .line 1346
            aload 2 /* subSet */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 9
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] java.util.Set java.util.Map top int int org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]
      StackMap stack:
         3: aload 8
            iload 6
            aaload
            astore 5 /* iv */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable iv
         4: .line 1347
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 9 /* tmp */
        start local 9 // java.util.Set tmp
         5: .line 1348
            aload 0 /* this */
            aload 1 /* bounds */
            aload 9 /* tmp */
            aload 5 /* iv */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addDependencies:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)V
         6: .line 1349
            aload 4 /* dependencies */
            aload 5 /* iv */
            aload 9 /* tmp */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 1350
            aload 3 /* v */
            aload 9 /* tmp */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 9 // java.util.Set tmp
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable iv
         8: .line 1346
            iinc 6 1
      StackMap locals:
      StackMap stack:
         9: iload 6
            iload 7
            if_icmplt 3
        10: .line 1355
            ldc 2147483647
            istore 5 /* min */
        start local 5 // int min
        11: .line 1356
            aconst_null
            astore 6 /* result */
        start local 6 // java.util.Set result
        12: .line 1358
            aload 3 /* v */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 24
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] java.util.Set java.util.Map int java.util.Set top java.util.Iterator
      StackMap stack:
        13: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            astore 7 /* currentVariable */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable currentVariable
        14: .line 1359
            aload 1 /* bounds */
            aload 7 /* currentVariable */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.isInstantiated:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Z
            ifne 24
        15: .line 1361
            aload 4 /* dependencies */
            aload 7 /* currentVariable */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 9 /* set */
        start local 9 // java.util.Set set
        16: .line 1362
            aload 9 /* set */
            ifnonnull 18
        17: .line 1363
            aload 0 /* this */
            aload 1 /* bounds */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            dup
            astore 9 /* set */
            aload 7 /* currentVariable */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addDependencies:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)V
        18: .line 1365
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] java.util.Set java.util.Map int java.util.Set org.eclipse.jdt.internal.compiler.lookup.InferenceVariable java.util.Iterator java.util.Set
      StackMap stack:
            aload 9 /* set */
            invokeinterface java.util.Set.size:()I
            istore 10 /* cur */
        start local 10 // int cur
        19: .line 1366
            iload 10 /* cur */
            iconst_1
            if_icmpne 21
        20: .line 1367
            aload 9 /* set */
            areturn
        21: .line 1368
      StackMap locals: int
      StackMap stack:
            iload 10 /* cur */
            iload 5 /* min */
            if_icmpge 24
        22: .line 1369
            aload 9 /* set */
            astore 6 /* result */
        23: .line 1370
            iload 10 /* cur */
            istore 5 /* min */
        end local 10 // int cur
        end local 9 // java.util.Set set
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable currentVariable
        24: .line 1358
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] java.util.Set java.util.Map int java.util.Set top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        25: .line 1374
            aload 6 /* result */
            areturn
        end local 6 // java.util.Set result
        end local 5 // int min
        end local 4 // java.util.Map dependencies
        end local 3 // java.util.Set v
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] subSet
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet bounds
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   26     0             this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   26     1           bounds  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   26     2           subSet  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            1   26     3                v  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            2   26     4     dependencies  Ljava/util/Map<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;>;
            4    8     5               iv  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            5    8     9              tmp  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
           11   26     5              min  I
           12   26     6           result  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
           14   24     7  currentVariable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
           16   24     9              set  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
           19   24    10              cur  I
    Signature: (Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
    MethodParameters:
        Name  Flags
      bounds  
      subSet  

  private void addDependencies(org.eclipse.jdt.internal.compiler.lookup.BoundSet, java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable>, org.eclipse.jdt.internal.compiler.lookup.InferenceVariable);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet boundSet
        start local 2 // java.util.Set variableSet
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable currentVariable
         0: .line 1378
            aload 1 /* boundSet */
            aload 3 /* currentVariable */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.isInstantiated:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Z
            ifeq 1
            return
         1: .line 1379
      StackMap locals:
      StackMap stack:
            aload 2 /* variableSet */
            aload 3 /* currentVariable */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 2
            return
         2: .line 1380
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* j */
        start local 4 // int j
         3: goto 9
         4: .line 1381
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iload 4 /* j */
            aaload
            astore 5 /* nextVariable */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable nextVariable
         5: .line 1382
            aload 5 /* nextVariable */
            aload 3 /* currentVariable */
            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 6
            goto 8
         6: .line 1383
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
      StackMap stack:
            aload 1 /* boundSet */
            aload 3 /* currentVariable */
            aload 5 /* nextVariable */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.dependsOnResolutionOf:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Z
            ifeq 8
         7: .line 1384
            aload 0 /* this */
            aload 1 /* boundSet */
            aload 2 /* variableSet */
            aload 5 /* nextVariable */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.addDependencies:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)V
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable nextVariable
         8: .line 1380
      StackMap locals:
      StackMap stack:
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* j */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            arraylength
            if_icmplt 4
        end local 4 // int j
        10: .line 1386
            return
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable currentVariable
        end local 2 // java.util.Set variableSet
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet boundSet
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   11     1         boundSet  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   11     2      variableSet  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            0   11     3  currentVariable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            3   10     4                j  I
            5    8     5     nextVariable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
    Signature: (Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)V
    MethodParameters:
                 Name  Flags
      boundSet         
      variableSet      
      currentVariable  

  private org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula pickFromCycle(java.util.Set<org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula>);
    descriptor: (Ljava/util/Set;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=17, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // java.util.Set c
         0: .line 1404
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* dependencies */
        start local 2 // java.util.HashMap dependencies
         1: .line 1405
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* cycles */
        start local 3 // java.util.Set cycles
         2: .line 1406
            aload 1 /* c */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 17
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            astore 4 /* constraint */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula constraint
         4: .line 1407
            aload 4 /* constraint */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula.inputVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Ljava/util/Collection;
            astore 6 /* infVars */
        start local 6 // java.util.Collection infVars
         5: .line 1408
            aload 1 /* c */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 16
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula java.util.Iterator java.util.Collection top java.util.Iterator
      StackMap stack:
         6: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            astore 7 /* other */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula other
         7: .line 1409
            aload 7 /* other */
            aload 4 /* constraint */
            if_acmpne 8
            goto 16
         8: .line 1410
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula java.util.Iterator java.util.Collection org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 6 /* infVars */
            aload 7 /* other */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula.outputVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Ljava/util/Collection;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.dependsOn:(Ljava/util/Collection;Ljava/util/Collection;)Z
            ifeq 16
         9: .line 1412
            aload 2 /* dependencies */
            aload 4 /* constraint */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 9 /* targetSet */
        start local 9 // java.util.Set targetSet
        10: .line 1413
            aload 9 /* targetSet */
            ifnonnull 12
        11: .line 1414
            aload 2 /* dependencies */
            aload 4 /* constraint */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            dup
            astore 9 /* targetSet */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 1415
      StackMap locals: java.util.Set
      StackMap stack:
            aload 9 /* targetSet */
            aload 7 /* other */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        13: .line 1417
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 10 /* nodesInCycle */
        start local 10 // java.util.Set nodesInCycle
        14: .line 1418
            aload 0 /* this */
            aload 2 /* dependencies */
            aload 7 /* other */
            aload 4 /* constraint */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            aload 10 /* nodesInCycle */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.isReachable:(Ljava/util/Map;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;Ljava/util/Set;Ljava/util/Set;)Z
            ifeq 16
        15: .line 1420
            aload 3 /* cycles */
            aload 10 /* nodesInCycle */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 10 // java.util.Set nodesInCycle
        end local 9 // java.util.Set targetSet
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula other
        16: .line 1408
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula java.util.Iterator java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 6 // java.util.Collection infVars
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula constraint
        17: .line 1406
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        18: .line 1425
            new java.util.HashSet
            dup
            aload 1 /* c */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 4 /* outside */
        start local 4 // java.util.Set outside
        19: .line 1426
            aload 4 /* outside */
            aload 3 /* cycles */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
        20: .line 1428
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* candidatesII */
        start local 5 // java.util.Set candidatesII
        21: .line 1430
            aload 3 /* cycles */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 30
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        22: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            astore 6 /* candidate */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula candidate
        23: .line 1431
            aload 6 /* candidate */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula.inputVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Ljava/util/Collection;
            astore 8 /* infVars */
        start local 8 // java.util.Collection infVars
        24: .line 1433
            aload 4 /* outside */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 28
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula java.util.Iterator java.util.Collection top java.util.Iterator
      StackMap stack:
        25: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            astore 9 /* out */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula out
        26: .line 1434
            aload 0 /* this */
            aload 8 /* infVars */
            aload 9 /* out */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula.outputVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Ljava/util/Collection;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.dependsOn:(Ljava/util/Collection;Ljava/util/Collection;)Z
            ifeq 28
        27: .line 1435
            goto 30
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula out
        28: .line 1433
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        29: .line 1437
            aload 5 /* candidatesII */
            aload 6 /* candidate */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.util.Collection infVars
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula candidate
        30: .line 1430
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        31: .line 1439
            aload 5 /* candidatesII */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 33
        32: .line 1440
            aload 1 /* c */
            astore 5 /* candidatesII */
        33: .line 1443
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* candidatesIII */
        start local 6 // java.util.Set candidatesIII
        34: .line 1444
            aload 5 /* candidatesII */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 38
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        35: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            astore 7 /* candidate */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula candidate
        36: .line 1445
            aload 7 /* candidate */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
            ifeq 38
        37: .line 1446
            aload 6 /* candidatesIII */
            aload 7 /* candidate */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula candidate
        38: .line 1444
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        39: .line 1448
            aload 6 /* candidatesIII */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 42
        40: .line 1449
            aload 5 /* candidatesII */
            astore 6 /* candidatesIII */
        41: .line 1450
            goto 78
        42: .line 1456
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set java.util.Set
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 7 /* expressionContainedBy */
        start local 7 // java.util.Map expressionContainedBy
        43: .line 1457
            aload 6 /* candidatesIII */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 57
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set java.util.Set java.util.Map top java.util.Iterator
      StackMap stack:
        44: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            astore 8 /* one */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula one
        45: .line 1458
            aload 8 /* one */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
            astore 10 /* oneCEF */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula oneCEF
        46: .line 1459
            aload 10 /* oneCEF */
            getfield org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            astore 11 /* exprOne */
        start local 11 // org.eclipse.jdt.internal.compiler.ast.Expression exprOne
        47: .line 1460
            aload 6 /* candidatesIII */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 13
            goto 56
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set java.util.Set java.util.Map org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula java.util.Iterator org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula org.eclipse.jdt.internal.compiler.ast.Expression top java.util.Iterator
      StackMap stack:
        48: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            astore 12 /* two */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula two
        49: .line 1461
            aload 8 /* one */
            aload 12 /* two */
            if_acmpne 50
            goto 56
        50: .line 1462
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set java.util.Set java.util.Map org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula java.util.Iterator org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula java.util.Iterator
      StackMap stack:
            aload 12 /* two */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
            astore 14 /* twoCEF */
        start local 14 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula twoCEF
        51: .line 1463
            aload 14 /* twoCEF */
            getfield org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            astore 15 /* exprTwo */
        start local 15 // org.eclipse.jdt.internal.compiler.ast.Expression exprTwo
        52: .line 1464
            aload 0 /* this */
            aload 11 /* exprOne */
            aload 15 /* exprTwo */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.doesExpressionContain:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
            ifeq 56
        53: .line 1465
            aload 7 /* expressionContainedBy */
            aload 12 /* two */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
            astore 16 /* previous */
        start local 16 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula previous
        54: .line 1466
            aload 16 /* previous */
            ifnull 55
            aload 0 /* this */
            aload 16 /* previous */
            getfield org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula.left:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 11 /* exprOne */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.doesExpressionContain:(Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
            ifeq 56
        55: .line 1467
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
      StackMap stack:
            aload 7 /* expressionContainedBy */
            aload 14 /* twoCEF */
            aload 10 /* oneCEF */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 16 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula previous
        end local 15 // org.eclipse.jdt.internal.compiler.ast.Expression exprTwo
        end local 14 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula twoCEF
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula two
        56: .line 1460
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set java.util.Set java.util.Map org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula java.util.Iterator org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula org.eclipse.jdt.internal.compiler.ast.Expression top java.util.Iterator
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        end local 11 // org.eclipse.jdt.internal.compiler.ast.Expression exprOne
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula oneCEF
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula one
        57: .line 1457
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set java.util.Set java.util.Map top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 44
        58: .line 1472
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 8 /* containmentForest */
        start local 8 // java.util.Map containmentForest
        59: .line 1473
            aload 7 /* expressionContainedBy */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 66
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set java.util.Set java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
        60: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 9 /* parentRelation */
        start local 9 // java.util.Map$Entry parentRelation
        61: .line 1474
            aload 9 /* parentRelation */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
            astore 11 /* parent */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula parent
        62: .line 1475
            aload 8 /* containmentForest */
            aload 11 /* parent */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 12 /* children */
        start local 12 // java.util.Set children
        63: .line 1476
            aload 12 /* children */
            ifnonnull 65
        64: .line 1477
            aload 8 /* containmentForest */
            aload 11 /* parent */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            dup
            astore 12 /* children */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        65: .line 1478
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set java.util.Set java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula java.util.Set
      StackMap stack:
            aload 12 /* children */
            aload 9 /* parentRelation */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // java.util.Set children
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula parent
        end local 9 // java.util.Map$Entry parentRelation
        66: .line 1473
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set java.util.Set java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 60
        67: .line 1482
            iconst_m1
            istore 9 /* bestRank */
        start local 9 // int bestRank
        68: .line 1483
            aconst_null
            astore 10 /* candidate */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula candidate
        69: .line 1484
            aload 8 /* containmentForest */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 12
            goto 75
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set java.util.Set java.util.Map java.util.Map int org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula top java.util.Iterator
      StackMap stack:
        70: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
            astore 11 /* parent */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula parent
        71: .line 1485
            aload 0 /* this */
            aload 11 /* parent */
            aload 7 /* expressionContainedBy */
            aload 8 /* containmentForest */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.rankNode:(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;Ljava/util/Map;Ljava/util/Map;)I
            istore 13 /* rank */
        start local 13 // int rank
        72: .line 1486
            iload 13 /* rank */
            iload 9 /* bestRank */
            if_icmple 75
        73: .line 1487
            iload 13 /* rank */
            istore 9 /* bestRank */
        74: .line 1488
            aload 11 /* parent */
            astore 10 /* candidate */
        end local 13 // int rank
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula parent
        75: .line 1484
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 70
        76: .line 1491
            aload 10 /* candidate */
            ifnull 78
        77: .line 1492
            aload 10 /* candidate */
            areturn
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula candidate
        end local 9 // int bestRank
        end local 8 // java.util.Map containmentForest
        end local 7 // java.util.Map expressionContainedBy
        78: .line 1495
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.HashMap java.util.Set java.util.Set java.util.Set java.util.Set
      StackMap stack:
            aload 6 /* candidatesIII */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 80
        79: .line 1496
            new java.lang.IllegalStateException
            dup
            ldc "cannot pick constraint from cyclic set"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        80: .line 1497
      StackMap locals:
      StackMap stack:
            aload 6 /* candidatesIII */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            areturn
        end local 6 // java.util.Set candidatesIII
        end local 5 // java.util.Set candidatesII
        end local 4 // java.util.Set outside
        end local 3 // java.util.Set cycles
        end local 2 // java.util.HashMap dependencies
        end local 1 // java.util.Set c
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   81     0                   this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   81     1                      c  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
            1   81     2           dependencies  Ljava/util/HashMap<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;>;
            2   81     3                 cycles  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
            4   17     4             constraint  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            5   17     6                infVars  Ljava/util/Collection<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            7   16     7                  other  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
           10   16     9              targetSet  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
           14   16    10           nodesInCycle  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
           19   81     4                outside  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
           21   81     5           candidatesII  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
           23   30     6              candidate  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
           24   30     8                infVars  Ljava/util/Collection<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
           26   28     9                    out  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
           34   81     6          candidatesIII  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
           36   38     7              candidate  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
           43   78     7  expressionContainedBy  Ljava/util/Map<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;>;
           45   57     8                    one  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
           46   57    10                 oneCEF  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;
           47   57    11                exprOne  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
           49   56    12                    two  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
           51   56    14                 twoCEF  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;
           52   56    15                exprTwo  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
           54   56    16               previous  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;
           59   78     8      containmentForest  Ljava/util/Map<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;>;>;
           61   66     9         parentRelation  Ljava/util/Map$Entry<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;>;
           62   66    11                 parent  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;
           63   66    12               children  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;>;
           68   78     9               bestRank  I
           69   78    10              candidate  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;
           71   75    11                 parent  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;
           72   75    13                   rank  I
    Signature: (Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
    MethodParameters:
      Name  Flags
      c     

  private boolean dependsOn(java.util.Collection<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable>, java.util.Collection<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable>);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // java.util.Collection inputsOfFirst
        start local 2 // java.util.Collection outputsOfOther
         0: .line 1505
            aload 1 /* inputsOfFirst */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Collection java.util.Collection top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            astore 3 /* iv */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable iv
         2: .line 1506
            aload 2 /* outputsOfOther */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 6
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Collection java.util.Collection org.eclipse.jdt.internal.compiler.lookup.InferenceVariable java.util.Iterator top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            astore 5 /* otherIV */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable otherIV
         4: .line 1507
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 3 /* iv */
            aload 5 /* otherIV */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.dependsOnResolutionOf:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Z
            ifeq 6
         5: .line 1508
            iconst_1
            ireturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable otherIV
         6: .line 1506
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable iv
         7: .line 1505
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Collection java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 1510
            iconst_0
            ireturn
        end local 2 // java.util.Collection outputsOfOther
        end local 1 // java.util.Collection inputsOfFirst
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    9     1   inputsOfFirst  Ljava/util/Collection<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            0    9     2  outputsOfOther  Ljava/util/Collection<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            2    7     3              iv  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            4    6     5         otherIV  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
    Signature: (Ljava/util/Collection<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;Ljava/util/Collection<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;)Z
    MethodParameters:
                Name  Flags
      inputsOfFirst   
      outputsOfOther  

  private boolean isReachable(java.util.Map<org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula, java.util.Set<org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula>>, org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula, org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula, java.util.Set<org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula>, java.util.Set<org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula>);
    descriptor: (Ljava/util/Map;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;Ljava/util/Set;Ljava/util/Set;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // java.util.Map deps
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula from
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula to
        start local 4 // java.util.Set nodesVisited
        start local 5 // java.util.Set nodesInCycle
         0: .line 1517
            aload 2 /* from */
            aload 3 /* to */
            if_acmpne 3
         1: .line 1518
            aload 5 /* nodesInCycle */
            aload 2 /* from */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1519
            iconst_1
            ireturn
         3: .line 1521
      StackMap locals:
      StackMap stack:
            aload 4 /* nodesVisited */
            aload 2 /* from */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 1522
            iconst_0
            ireturn
         5: .line 1523
      StackMap locals:
      StackMap stack:
            aload 1 /* deps */
            aload 2 /* from */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 6 /* targetSet */
        start local 6 // java.util.Set targetSet
         6: .line 1524
            aload 6 /* targetSet */
            ifnull 13
         7: .line 1525
            aload 6 /* targetSet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 12
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Map org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula java.util.Set java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
         8: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            astore 7 /* tgt */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula tgt
         9: .line 1526
            aload 0 /* this */
            aload 1 /* deps */
            aload 7 /* tgt */
            aload 3 /* to */
            aload 4 /* nodesVisited */
            aload 5 /* nodesInCycle */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.isReachable:(Ljava/util/Map;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;Ljava/util/Set;Ljava/util/Set;)Z
            ifeq 12
        10: .line 1527
            aload 5 /* nodesInCycle */
            aload 2 /* from */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 1528
            iconst_1
            ireturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula tgt
        12: .line 1525
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        13: .line 1532
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Map org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula java.util.Set java.util.Set java.util.Set
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // java.util.Set targetSet
        end local 5 // java.util.Set nodesInCycle
        end local 4 // java.util.Set nodesVisited
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula to
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula from
        end local 1 // java.util.Map deps
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   14     1          deps  Ljava/util/Map<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;>;
            0   14     2          from  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            0   14     3            to  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            0   14     4  nodesVisited  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
            0   14     5  nodesInCycle  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
            6   14     6     targetSet  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
            9   12     7           tgt  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
    Signature: (Ljava/util/Map<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;>;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;)Z
    MethodParameters:
              Name  Flags
      deps          
      from          
      to            
      nodesVisited  
      nodesInCycle  

  private boolean doesExpressionContain(org.eclipse.jdt.internal.compiler.ast.Expression, org.eclipse.jdt.internal.compiler.ast.Expression);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Expression exprOne
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Expression exprTwo
         0: .line 1537
            aload 2 /* exprTwo */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceStart:I
            aload 1 /* exprOne */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceStart:I
            if_icmple 3
         1: .line 1538
            aload 2 /* exprTwo */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceEnd:I
            aload 1 /* exprOne */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceEnd:I
            if_icmpgt 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 1539
      StackMap locals:
      StackMap stack:
            aload 2 /* exprTwo */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceStart:I
            aload 1 /* exprOne */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceStart:I
            if_icmpne 6
         4: .line 1540
            aload 2 /* exprTwo */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceEnd:I
            aload 1 /* exprOne */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceEnd:I
            if_icmpge 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
         6: .line 1542
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Expression exprTwo
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Expression exprOne
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    7     1  exprOne  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            0    7     2  exprTwo  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
    MethodParameters:
         Name  Flags
      exprOne  
      exprTwo  

  private int rankNode(org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula, java.util.Map<org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula, org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula>, java.util.Map<org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula, java.util.Set<org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula>>);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;Ljava/util/Map;Ljava/util/Map;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula parent
        start local 2 // java.util.Map expressionContainedBy
        start local 3 // java.util.Map containmentForest
         0: .line 1550
            aload 2 /* expressionContainedBy */
            aload 1 /* parent */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 2
         1: .line 1551
            iconst_m1
            ireturn
         2: .line 1552
      StackMap locals:
      StackMap stack:
            aload 3 /* containmentForest */
            aload 1 /* parent */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 4 /* children */
        start local 4 // java.util.Set children
         3: .line 1553
            aload 4 /* children */
            ifnonnull 5
         4: .line 1554
            iconst_1
            ireturn
         5: .line 1555
      StackMap locals: java.util.Set
      StackMap stack:
            iconst_1
            istore 5 /* sum */
        start local 5 // int sum
         6: .line 1556
            aload 4 /* children */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula java.util.Map java.util.Map java.util.Set int top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula
            astore 6 /* child */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula child
         8: .line 1557
            aload 0 /* this */
            aload 6 /* child */
            aload 2 /* expressionContainedBy */
            aload 3 /* containmentForest */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.rankNode:(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;Ljava/util/Map;Ljava/util/Map;)I
            istore 8 /* cRank */
        start local 8 // int cRank
         9: .line 1558
            iload 8 /* cRank */
            ifle 11
        10: .line 1559
            iload 5 /* sum */
            iload 8 /* cRank */
            iadd
            istore 5 /* sum */
        end local 8 // int cRank
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula child
        11: .line 1556
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        12: .line 1561
            iload 5 /* sum */
            ireturn
        end local 5 // int sum
        end local 4 // java.util.Set children
        end local 3 // java.util.Map containmentForest
        end local 2 // java.util.Map expressionContainedBy
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ConstraintExpressionFormula parent
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   13     0                   this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   13     1                 parent  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;
            0   13     2  expressionContainedBy  Ljava/util/Map<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;>;
            0   13     3      containmentForest  Ljava/util/Map<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;>;>;
            3   13     4               children  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;>;
            6   13     5                    sum  I
            8   11     6                  child  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;
            9   11     8                  cRank  I
    Signature: (Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;Ljava/util/Map<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;>;Ljava/util/Map<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintExpressionFormula;>;>;)I
    MethodParameters:
                       Name  Flags
      parent                 
      expressionContainedBy  
      containmentForest      

  private java.util.Set<org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula> findBottomSet(java.util.Set<org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula>, java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable>, java.util.List<java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable>>);
    descriptor: (Ljava/util/Set;Ljava/util/Set;Ljava/util/List;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // java.util.Set constraints
        start local 2 // java.util.Set allOutputVariables
        start local 3 // java.util.List components
         0: .line 1572
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* result */
        start local 4 // java.util.Set result
         1: .line 1574
            aload 1 /* constraints */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 9
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.Set java.util.List java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            astore 5 /* constraint */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula constraint
         3: .line 1575
            aload 5 /* constraint */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula.inputVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 7
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.Set java.util.List java.util.Set org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula java.util.Iterator top java.util.Iterator
      StackMap stack:
         4: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            astore 7 /* in */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable in
         5: .line 1576
            aload 0 /* this */
            aload 7 /* in */
            aload 2 /* allOutputVariables */
            aload 3 /* components */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.canInfluenceAnyOf:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Ljava/util/Set;Ljava/util/List;)Z
            ifeq 7
         6: .line 1577
            goto 9
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable in
         7: .line 1575
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 1579
            aload 4 /* result */
            aload 5 /* constraint */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula constraint
         9: .line 1574
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 java.util.Set java.util.Set java.util.List java.util.Set top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 1581
            aload 4 /* result */
            areturn
        end local 4 // java.util.Set result
        end local 3 // java.util.List components
        end local 2 // java.util.Set allOutputVariables
        end local 1 // java.util.Set constraints
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0                this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   11     1         constraints  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
            0   11     2  allOutputVariables  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            0   11     3          components  Ljava/util/List<Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;>;
            1   11     4              result  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
            3    9     5          constraint  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            5    7     7                  in  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
    Signature: (Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;Ljava/util/List<Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;>;)Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
    MethodParameters:
                    Name  Flags
      constraints         
      allOutputVariables  
      components          

  private boolean canInfluenceAnyOf(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable>, java.util.List<java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable>>);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Ljava/util/Set;Ljava/util/List;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable in
        start local 2 // java.util.Set allOuts
        start local 3 // java.util.List components
         0: .line 1586
            aload 3 /* components */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.InferenceVariable java.util.Set java.util.List top java.util.Iterator
      StackMap stack:
         1: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Set
            astore 4 /* component */
        start local 4 // java.util.Set component
         2: .line 1587
            aload 4 /* component */
            aload 1 /* in */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 9
         3: .line 1588
            aload 2 /* allOuts */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 7
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.InferenceVariable java.util.Set java.util.List java.util.Set java.util.Iterator top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            astore 6 /* out */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable out
         5: .line 1589
            aload 4 /* component */
            aload 6 /* out */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 1590
            iconst_1
            ireturn
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable out
         7: .line 1588
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 1591
            iconst_0
            ireturn
        end local 4 // java.util.Set component
         9: .line 1586
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.InferenceVariable java.util.Set java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 1594
            iconst_0
            ireturn
        end local 3 // java.util.List components
        end local 2 // java.util.Set allOuts
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable in
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   11     1          in  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            0   11     2     allOuts  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            0   11     3  components  Ljava/util/List<Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;>;
            2    9     4   component  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            5    7     6         out  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
    Signature: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;Ljava/util/List<Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;>;)Z
    MethodParameters:
            Name  Flags
      in          
      allOuts     
      components  

  java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable> allOutputVariables(java.util.Set<org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula>);
    descriptor: (Ljava/util/Set;)Ljava/util/Set;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // java.util.Set constraints
         0: .line 1598
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.Set result
         1: .line 1599
            aload 1 /* constraints */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         2: .line 1600
            goto 4
         3: .line 1601
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            aload 2 /* result */
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula.outputVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Ljava/util/Collection;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         4: .line 1600
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         5: .line 1603
            aload 2 /* result */
            areturn
        end local 3 // java.util.Iterator it
        end local 2 // java.util.Set result
        end local 1 // java.util.Set constraints
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    6     1  constraints  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
            1    6     2       result  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            2    6     3           it  Ljava/util/Iterator<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;
    Signature: (Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;>;)Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
    MethodParameters:
             Name  Flags
      constraints  

  private org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] varArgTypes(org.eclipse.jdt.internal.compiler.lookup.TypeBinding[], int);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
        start local 2 // int k
         0: .line 1607
            iload 2 /* k */
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            astore 3 /* types */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] types
         1: .line 1608
            aload 1 /* parameters */
            arraylength
            iconst_1
            isub
            istore 4 /* declaredLength */
        start local 4 // int declaredLength
         2: .line 1609
            aload 1 /* parameters */
            iconst_0
            aload 3 /* types */
            iconst_0
            iload 4 /* declaredLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 1610
            aload 1 /* parameters */
            iload 4 /* declaredLength */
            aaload
            checkcast org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.elementsType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 5 /* last */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding last
         4: .line 1611
            iload 4 /* declaredLength */
            istore 6 /* i */
        start local 6 // int i
         5: goto 8
         6: .line 1612
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
      StackMap stack:
            aload 3 /* types */
            iload 6 /* i */
            aload 5 /* last */
            aastore
         7: .line 1611
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            iload 2 /* k */
            if_icmplt 6
        end local 6 // int i
         9: .line 1613
            aload 3 /* types */
            areturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding last
        end local 4 // int declaredLength
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] types
        end local 2 // int k
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   10     1      parameters  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   10     2               k  I
            1   10     3           types  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            2   10     4  declaredLength  I
            4   10     5            last  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            5    9     6               i  I
    MethodParameters:
            Name  Flags
      parameters  
      k           

  public org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord enterPolyInvocation(org.eclipse.jdt.internal.compiler.lookup.InvocationSite, org.eclipse.jdt.internal.compiler.ast.Expression[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;[Lorg/eclipse/jdt/internal/compiler/ast/Expression;)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18$SuspendedInferenceRecord;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite invocation
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Expression[] innerArguments
         0: .line 1617
            new org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentInvocation:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceKind:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.usesUncheckedConversion:Z
            invokespecial org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;[Lorg/eclipse/jdt/internal/compiler/ast/Expression;[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;IZ)V
            astore 3 /* record */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord record
         1: .line 1618
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
         2: .line 1619
            aload 0 /* this */
            aload 2 /* innerArguments */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         3: .line 1620
            aload 0 /* this */
            aload 1 /* invocation */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentInvocation:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
         4: .line 1621
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.usesUncheckedConversion:Z
         5: .line 1622
            aload 3 /* record */
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord record
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Expression[] innerArguments
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InvocationSite invocation
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    6     1      invocation  Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            0    6     2  innerArguments  [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            1    6     3          record  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18$SuspendedInferenceRecord;
    MethodParameters:
                Name  Flags
      invocation      
      innerArguments  

  public org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord enterLambda(org.eclipse.jdt.internal.compiler.ast.LambdaExpression);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18$SuspendedInferenceRecord;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambda
         0: .line 1626
            new org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentInvocation:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceKind:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.usesUncheckedConversion:Z
            invokespecial org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;[Lorg/eclipse/jdt/internal/compiler/ast/Expression;[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;IZ)V
            astore 2 /* record */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord record
         1: .line 1627
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
         2: .line 1628
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
         3: .line 1629
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.usesUncheckedConversion:Z
         4: .line 1630
            aload 2 /* record */
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord record
        end local 1 // org.eclipse.jdt.internal.compiler.ast.LambdaExpression lambda
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    5     1  lambda  Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;
            1    5     2  record  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18$SuspendedInferenceRecord;
    MethodParameters:
        Name  Flags
      lambda  

  public void integrateInnerInferenceB2(org.eclipse.jdt.internal.compiler.lookup.InferenceContext18);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 innerCtx
         0: .line 1634
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 1 /* innerCtx */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.b2:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
         1: .line 1635
            aload 0 /* this */
            aload 1 /* innerCtx */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
         2: .line 1636
            aload 0 /* this */
            aload 1 /* innerCtx */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceKind:I
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceKind:I
         3: .line 1637
            aload 1 /* innerCtx */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentInvocation:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentInvocation:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.isSameSite:(Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;)Z
            ifne 5
         4: .line 1638
            aload 1 /* innerCtx */
            aload 0 /* this */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.outerContext:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
         5: .line 1639
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* innerCtx */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.usesUncheckedConversion:Z
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.usesUncheckedConversion:Z
         6: .line 1640
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 innerCtx
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    7     1  innerCtx  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
    MethodParameters:
          Name  Flags
      innerCtx  

  public void resumeSuspendedInference(org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord, org.eclipse.jdt.internal.compiler.lookup.InferenceContext18);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18$SuspendedInferenceRecord;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord record
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 innerContext
         0: .line 1644
            aload 0 /* this */
            aload 2 /* innerContext */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.collectInnerContext:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Z
            istore 3 /* firstTime */
        start local 3 // boolean firstTime
         1: .line 1645
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            ifnonnull 4
         2: .line 1646
            aload 0 /* this */
            aload 1 /* record */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
         3: .line 1647
            goto 14
      StackMap locals: int
      StackMap stack:
         4: iload 3 /* firstTime */
            ifne 10
         5: .line 1649
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 4 /* uniqueVariables */
        start local 4 // java.util.Set uniqueVariables
         6: .line 1650
            aload 4 /* uniqueVariables */
            aload 1 /* record */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 1651
            aload 4 /* uniqueVariables */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 1652
            aload 0 /* this */
            aload 4 /* uniqueVariables */
            aload 4 /* uniqueVariables */
            invokeinterface java.util.Set.size:()I
            anewarray org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
        end local 4 // java.util.Set uniqueVariables
         9: .line 1653
            goto 14
        10: .line 1654
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            arraylength
            istore 4 /* l1 */
        start local 4 // int l1
        11: .line 1655
            aload 1 /* record */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            arraylength
            istore 5 /* l2 */
        start local 5 // int l2
        12: .line 1656
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iconst_0
            aload 0 /* this */
            iload 4 /* l1 */
            iload 5 /* l2 */
            iadd
            anewarray org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iload 5 /* l2 */
            iload 4 /* l1 */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 1657
            aload 1 /* record */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iconst_0
            iload 5 /* l2 */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 5 // int l2
        end local 4 // int l1
        14: .line 1661
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* record */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord.site:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentInvocation:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
        15: .line 1662
            aload 0 /* this */
            aload 1 /* record */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.invocationArguments:[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
        16: .line 1663
            aload 0 /* this */
            aload 1 /* record */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord.inferenceKind:I
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceKind:I
        17: .line 1664
            aload 0 /* this */
            aload 1 /* record */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord.usesUncheckedConversion:Z
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.usesUncheckedConversion:Z
        18: .line 1665
            return
        end local 3 // boolean firstTime
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 innerContext
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord record
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   19     0             this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   19     1           record  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18$SuspendedInferenceRecord;
            0   19     2     innerContext  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            1   19     3        firstTime  Z
            6    9     4  uniqueVariables  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
           11   14     4               l1  I
           12   14     5               l2  I
    MethodParameters:
              Name  Flags
      record        
      innerContext  

  private boolean collectInnerContext(org.eclipse.jdt.internal.compiler.lookup.InferenceContext18);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 innerContext
         0: .line 1668
            aload 1 /* innerContext */
            ifnonnull 2
         1: .line 1669
            iconst_0
            ireturn
         2: .line 1671
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.seenInnerContexts:Ljava/util/Set;
            ifnonnull 4
         3: .line 1672
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.seenInnerContexts:Ljava/util/Set;
         4: .line 1674
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.seenInnerContexts:Ljava/util/Set;
            aload 1 /* innerContext */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 innerContext
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    5     1  innerContext  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
    MethodParameters:
              Name  Flags
      innerContext  final

  private org.eclipse.jdt.internal.compiler.lookup.Substitution getResultSubstitution(org.eclipse.jdt.internal.compiler.lookup.BoundSet);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;)Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet result
         0: .line 1678
            new org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$3
            dup
            aload 0 /* this */
            aload 1 /* result */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$3.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;)V
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet result
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    1     1  result  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
    MethodParameters:
        Name  Flags
      result  final

  public boolean isVarArgs();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
         0: .line 1700
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceKind:I
            iconst_3
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;

  public static org.eclipse.jdt.internal.compiler.lookup.TypeBinding getParameter(org.eclipse.jdt.internal.compiler.lookup.TypeBinding[], int, boolean);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
        start local 1 // int rank
        start local 2 // boolean isVarArgs
         0: .line 1709
            iload 2 /* isVarArgs */
            ifeq 3
         1: .line 1710
            iload 1 /* rank */
            aload 0 /* parameters */
            arraylength
            iconst_1
            isub
            if_icmplt 5
         2: .line 1711
            aload 0 /* parameters */
            aload 0 /* parameters */
            arraylength
            iconst_1
            isub
            aaload
            checkcast org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.elementsType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
         3: .line 1712
      StackMap locals:
      StackMap stack:
            iload 1 /* rank */
            aload 0 /* parameters */
            arraylength
            if_icmplt 5
         4: .line 1713
            aconst_null
            areturn
         5: .line 1715
      StackMap locals:
      StackMap stack:
            aload 0 /* parameters */
            iload 1 /* rank */
            aaload
            areturn
        end local 2 // boolean isVarArgs
        end local 1 // int rank
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0  parameters  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    6     1        rank  I
            0    6     2   isVarArgs  Z
    MethodParameters:
            Name  Flags
      parameters  
      rank        
      isVarArgs   

  public org.eclipse.jdt.internal.compiler.lookup.MethodBinding getReturnProblemMethodIfNeeded(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;)Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
         0: .line 1723
            aload 1 /* expectedType */
            ifnull 7
         1: .line 1724
            aload 2 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.SyntheticFactoryMethodBinding
            ifne 7
         2: .line 1725
            aload 2 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            ifne 3
            aload 2 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
            ifeq 7
         3: .line 1726
      StackMap locals:
      StackMap stack:
            aload 1 /* expectedType */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProperType:(Z)Z
            ifne 5
         4: .line 1727
            aconst_null
            areturn
         5: .line 1728
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 2 /* 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.erasure:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.convertToRawType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* expectedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 7
         6: .line 1729
            aload 2 /* method */
            areturn
         7: .line 1735
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding
            dup
            aload 2 /* method */
            aload 2 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.selector:[C
            aload 2 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            bipush 23
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[C[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
            astore 3 /* problemMethod */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding problemMethod
         8: .line 1736
            aload 3 /* problemMethod */
            aload 1 /* expectedType */
            ifnull 9
            aload 1 /* expectedType */
            goto 10
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding
         9: aload 2 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
        10: putfield org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        11: .line 1737
            aload 3 /* problemMethod */
            aload 0 /* this */
            putfield org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding.inferenceContext:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
        12: .line 1738
            aload 3 /* problemMethod */
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.ProblemMethodBinding problemMethod
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   13     1   expectedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   13     2         method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            8   13     3  problemMethod  Lorg/eclipse/jdt/internal/compiler/lookup/ProblemMethodBinding;
    MethodParameters:
              Name  Flags
      expectedType  
      method        

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
         0: .line 1744
            new java.lang.StringBuffer
            dup
            ldc "Inference Context"
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         1: .line 1745
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.stepCompleted:I
            tableswitch { // 0 - 3
                    0: 2
                    1: 3
                    2: 4
                    3: 5
              default: 6
          }
         2: .line 1746
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 1 /* buf */
            ldc " (initial)"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
            goto 6
         3: .line 1747
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc " (applicability inferred)"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
            goto 6
         4: .line 1748
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc " (type inferred)"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
            goto 6
         5: .line 1749
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc " (type inferred final)"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 1751
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceKind:I
            tableswitch { // 1 - 3
                    1: 7
                    2: 8
                    3: 9
              default: 10
          }
         7: .line 1752
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc " (strict)"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
            goto 10
         8: .line 1753
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc " (loose)"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
            goto 10
         9: .line 1754
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc " (vararg)"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 1756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            ifnull 12
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.isResolved:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;)Z
            ifeq 12
        11: .line 1757
            aload 1 /* buf */
            ldc " (resolved)"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 1758
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        13: .line 1759
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            ifnull 24
        14: .line 1760
            aload 1 /* buf */
            ldc "Inference Variables:\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 1761
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        16: goto 23
        17: .line 1762
      StackMap locals: int
      StackMap stack:
            aload 1 /* buf */
            bipush 9
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iload 2 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.sourceName:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            ldc "\t:\t"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        18: .line 1763
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            ifnull 20
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iload 2 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.isInstantiated:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Z
            ifeq 20
        19: .line 1764
            aload 1 /* buf */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iload 2 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.getInstantiation:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.readableName:()[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
            goto 21
        20: .line 1766
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "NOT INSTANTIATED"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        21: .line 1767
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        22: .line 1761
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 2 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            arraylength
            if_icmplt 17
        end local 2 // int i
        24: .line 1770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            ifnull 32
        25: .line 1771
            aload 1 /* buf */
            ldc "Initial Constraints:\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        26: .line 1772
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        27: goto 31
        28: .line 1773
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            iload 2 /* i */
            aaload
            ifnull 30
        29: .line 1774
            aload 1 /* buf */
            bipush 9
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            iload 2 /* i */
            aaload
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        30: .line 1772
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 2 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.initialConstraints:[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            arraylength
            if_icmplt 28
        end local 2 // int i
        32: .line 1776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            ifnull 34
        33: .line 1777
            aload 1 /* buf */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        34: .line 1778
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buf
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   35     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            1   35     1   buf  Ljava/lang/StringBuffer;
           16   24     2     i  I
           27   32     2     i  I

  public static org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding parameterizedWithWildcard(org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
         0: .line 1786
            aload 0 /* type */
            ifnull 1
            aload 0 /* type */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
            sipush 260
            if_icmpeq 2
         1: .line 1787
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 1788
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            astore 1 /* parameterizedType */
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding parameterizedType
         3: .line 1789
            aload 1 /* parameterizedType */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 2 /* arguments */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] arguments
         4: .line 1790
            aload 2 /* arguments */
            ifnull 11
         5: .line 1791
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 10
         7: .line 1792
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
      StackMap stack:
            aload 2 /* arguments */
            iload 3 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isWildcard:()Z
            ifeq 9
         8: .line 1793
            aload 1 /* parameterizedType */
            areturn
         9: .line 1791
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            aload 2 /* arguments */
            arraylength
            if_icmplt 7
        end local 3 // int i
        11: .line 1795
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] arguments
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding parameterizedType
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               type  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3   12     1  parameterizedType  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            4   12     2          arguments  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            6   11     3                  i  I
    MethodParameters:
      Name  Flags
      type  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] getFunctionInterfaceArgumentSolutions(org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] a
         0: .line 1799
            aload 1 /* a */
            arraylength
            istore 2 /* m */
        start local 2 // int m
         1: .line 1800
            iload 2 /* m */
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            astore 3 /* aprime */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] aprime
         2: .line 1801
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 10
         4: .line 1802
      StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iload 4 /* i */
            aaload
            astore 5 /* alphai */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alphai
         5: .line 1803
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 5 /* alphai */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.getInstantiation:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 6 /* t */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
         6: .line 1804
            aload 6 /* t */
            ifnull 8
         7: .line 1805
            aload 3 /* aprime */
            iload 4 /* i */
            aload 6 /* t */
            aastore
            goto 9
         8: .line 1807
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 3 /* aprime */
            iload 4 /* i */
            aload 1 /* a */
            iload 4 /* i */
            aaload
            aastore
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alphai
         9: .line 1801
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.inferenceVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            arraylength
            if_icmplt 4
        end local 4 // int i
        11: .line 1809
            aload 3 /* aprime */
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] aprime
        end local 2 // int m
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] a
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   12     1       a  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            1   12     2       m  I
            2   12     3  aprime  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3   11     4       i  I
            5    9     5  alphai  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            6    9     6       t  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
      Name  Flags
      a     

  public void recordUncheckedConversion(org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula constraint
         0: .line 1814
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.constraintsWithUncheckedConversion:Ljava/util/List;
            ifnonnull 2
         1: .line 1815
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.constraintsWithUncheckedConversion:Ljava/util/List;
         2: .line 1816
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.constraintsWithUncheckedConversion:Ljava/util/List;
            aload 1 /* constraint */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1817
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.usesUncheckedConversion:Z
         4: .line 1818
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula constraint
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0    5     1  constraint  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
    MethodParameters:
            Name  Flags
      constraint  

  void reportUncheckedConversions(org.eclipse.jdt.internal.compiler.lookup.BoundSet);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet solution
         0: .line 1821
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.constraintsWithUncheckedConversion:Ljava/util/List;
            ifnull 14
         1: .line 1822
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.constraintsWithUncheckedConversion:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 2 /* len */
        start local 2 // int len
         2: .line 1823
            aload 0 /* this */
            aload 1 /* solution */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.getResultSubstitution:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;)Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;
            astore 3 /* substitution */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitution
         3: .line 1824
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 13
         5: .line 1825
      StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.Substitution int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.constraintsWithUncheckedConversion:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula
            astore 5 /* constraint */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula constraint
         6: .line 1826
            aload 5 /* constraint */
            getfield org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 6 /* expectedType */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
         7: .line 1827
            aload 5 /* constraint */
            getfield org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.left:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* providedType */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding providedType
         8: .line 1828
            aload 6 /* expectedType */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProperType:(Z)Z
            ifne 10
         9: .line 1829
            aload 3 /* substitution */
            aload 6 /* expectedType */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.Scope.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 6 /* expectedType */
        10: .line 1831
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 7 /* providedType */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProperType:(Z)Z
            ifne 12
        11: .line 1832
            aload 3 /* substitution */
            aload 7 /* providedType */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.Scope.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding providedType
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding expectedType
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula constraint
        12: .line 1824
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iload 2 /* len */
            if_icmplt 5
        end local 4 // int i
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitution
        end local 2 // int len
        14: .line 1842
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet solution
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   15     1      solution  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            2   14     2           len  I
            3   14     3  substitution  Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;
            4   14     4             i  I
            6   12     5    constraint  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            7   12     6  expectedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            8   12     7  providedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
          Name  Flags
      solution  

  public boolean usesUncheckedConversion();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
         0: .line 1846
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.constraintsWithUncheckedConversion:Ljava/util/List;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;

  public static void missingImplementation(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String msg
         0: .line 1851
            new java.lang.UnsupportedOperationException
            dup
            aload 0 /* msg */
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  public void forwardResults(org.eclipse.jdt.internal.compiler.lookup.BoundSet, org.eclipse.jdt.internal.compiler.ast.Invocation, org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Lorg/eclipse/jdt/internal/compiler/ast/Invocation;Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=23, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet result
        start local 2 // org.eclipse.jdt.internal.compiler.ast.Invocation invocation
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding pmb
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
         0: .line 1855
            aload 4 /* targetType */
            ifnull 2
         1: .line 1856
            aload 2 /* invocation */
            aload 4 /* targetType */
            aload 3 /* pmb */
            invokeinterface org.eclipse.jdt.internal.compiler.ast.Invocation.registerResult:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
         2: .line 1857
      StackMap locals:
      StackMap stack:
            aload 2 /* invocation */
            invokeinterface org.eclipse.jdt.internal.compiler.ast.Invocation.arguments:()[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            astore 5 /* arguments */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.Expression[] arguments
         3: .line 1858
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: aload 5 /* arguments */
            ifnonnull 5
            iconst_0
            goto 6
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression[] int
      StackMap stack:
         5: aload 5 /* arguments */
            arraylength
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* length */
        start local 7 // int length
         7: goto 55
         8: .line 1859
      StackMap locals: int
      StackMap stack:
            aload 5 /* arguments */
            iload 6 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.ast.Expression.getPolyExpressions:()[Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            astore 8 /* expressions */
        start local 8 // org.eclipse.jdt.internal.compiler.ast.Expression[] expressions
         9: .line 1860
            iconst_0
            istore 9 /* j */
        start local 9 // int j
        10: aload 8 /* expressions */
            arraylength
            istore 10 /* jLength */
        start local 10 // int jLength
        11: goto 53
        12: .line 1861
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression[] int int
      StackMap stack:
            aload 8 /* expressions */
            iload 9 /* j */
            aaload
            astore 11 /* expression */
        start local 11 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        13: .line 1862
            aload 11 /* expression */
            instanceof org.eclipse.jdt.internal.compiler.ast.Invocation
            ifne 15
        14: .line 1863
            goto 52
        15: .line 1864
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Expression
      StackMap stack:
            aload 11 /* expression */
            checkcast org.eclipse.jdt.internal.compiler.ast.Invocation
            astore 12 /* polyInvocation */
        start local 12 // org.eclipse.jdt.internal.compiler.ast.Invocation polyInvocation
        16: .line 1865
            aload 12 /* polyInvocation */
            invokeinterface org.eclipse.jdt.internal.compiler.ast.Invocation.binding:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 13 /* binding */
        start local 13 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding binding
        17: .line 1866
            aload 13 /* binding */
            ifnull 52
            aload 13 /* binding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isValidBinding:()Z
            ifne 19
        18: .line 1867
            goto 52
        19: .line 1868
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.Invocation org.eclipse.jdt.internal.compiler.lookup.MethodBinding
      StackMap stack:
            aconst_null
            astore 14 /* methodSubstitute */
        start local 14 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding methodSubstitute
        20: .line 1869
            aload 13 /* binding */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding
            ifeq 27
        21: .line 1870
            aload 13 /* binding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.shallowOriginal:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 15 /* shallowOriginal */
        start local 15 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding shallowOriginal
        22: .line 1871
            aload 0 /* this */
            aload 15 /* shallowOriginal */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            aload 12 /* polyInvocation */
            aload 1 /* result */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.getSolutions:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 16 /* solutions */
        start local 16 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] solutions
        23: .line 1872
            aload 16 /* solutions */
            ifnonnull 25
        24: .line 1873
            goto 52
        25: .line 1874
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 15 /* shallowOriginal */
            aload 16 /* solutions */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createParameterizedGenericMethod:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedGenericMethodBinding;
            astore 14 /* methodSubstitute */
        end local 16 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] solutions
        end local 15 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding shallowOriginal
        26: .line 1875
            goto 42
        27: .line 1876
      StackMap locals:
      StackMap stack:
            aload 13 /* binding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isConstructor:()Z
            ifeq 52
            aload 13 /* binding */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding
            ifne 29
        28: .line 1877
            goto 52
        29: .line 1878
      StackMap locals:
      StackMap stack:
            aload 13 /* binding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.shallowOriginal:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 15 /* shallowOriginal */
        start local 15 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding shallowOriginal
        30: .line 1879
            aload 15 /* shallowOriginal */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 16 /* genericType */
        start local 16 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding genericType
        31: .line 1880
            aload 0 /* this */
            aload 16 /* genericType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.typeVariables:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            aload 12 /* polyInvocation */
            aload 1 /* result */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.getSolutions:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 17 /* solutions */
        start local 17 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] solutions
        32: .line 1881
            aload 17 /* solutions */
            ifnonnull 34
        33: .line 1882
            goto 52
        34: .line 1883
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 16 /* genericType */
            aload 17 /* solutions */
            aload 13 /* binding */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.enclosingType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createParameterizedType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            astore 18 /* parameterizedType */
        start local 18 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding parameterizedType
        35: .line 1884
            aload 18 /* parameterizedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.methods:()[Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            dup
            astore 22
            arraylength
            istore 21
            iconst_0
            istore 20
            goto 41
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.ast.Invocation org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression[] int int org.eclipse.jdt.internal.compiler.ast.Expression[] int int org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.ast.Invocation org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding top int int org.eclipse.jdt.internal.compiler.lookup.MethodBinding[]
      StackMap stack:
        36: aload 22
            iload 20
            aaload
            astore 19 /* parameterizedMethod */
        start local 19 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding parameterizedMethod
        37: .line 1885
            aload 19 /* parameterizedMethod */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            aload 15 /* shallowOriginal */
            if_acmpne 40
        38: .line 1886
            aload 19 /* parameterizedMethod */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding
            astore 14 /* methodSubstitute */
        39: .line 1887
            goto 42
        end local 19 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding parameterizedMethod
        40: .line 1884
      StackMap locals:
      StackMap stack:
            iinc 20 1
      StackMap locals:
      StackMap stack:
        41: iload 20
            iload 21
            if_icmplt 36
        end local 18 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding parameterizedType
        end local 17 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] solutions
        end local 16 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding genericType
        end local 15 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding shallowOriginal
        42: .line 1891
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.ast.Invocation org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression[] int int org.eclipse.jdt.internal.compiler.ast.Expression[] int int org.eclipse.jdt.internal.compiler.ast.Expression org.eclipse.jdt.internal.compiler.ast.Invocation org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding
      StackMap stack:
            aload 14 /* methodSubstitute */
            ifnull 52
            aload 14 /* methodSubstitute */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding.isValidBinding:()Z
            ifne 44
        43: .line 1892
            goto 52
        44: .line 1893
      StackMap locals:
      StackMap stack:
            aload 3 /* pmb */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding.isVarargs:()Z
            istore 15 /* variableArity */
        start local 15 // boolean variableArity
        45: .line 1894
            aload 3 /* pmb */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 16 /* parameters */
        start local 16 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
        46: .line 1895
            iload 15 /* variableArity */
            ifeq 50
            aload 16 /* parameters */
            arraylength
            aload 5 /* arguments */
            arraylength
            if_icmpne 50
            iload 6 /* i */
            iload 7 /* length */
            iconst_1
            isub
            if_icmpne 50
        47: .line 1896
            aload 14 /* methodSubstitute */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding.returnType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            aload 11 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.sourceStart:I
            aload 11 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.Expression.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 17 /* returnType */
        start local 17 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding returnType
        48: .line 1897
            aload 17 /* returnType */
            aload 16 /* parameters */
            aload 16 /* parameters */
            arraylength
            iconst_1
            isub
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.scope:Lorg/eclipse/jdt/internal/compiler/lookup/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
            ifeq 50
        49: .line 1898
            iconst_0
            istore 15 /* variableArity */
        end local 17 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding returnType
        50: .line 1901
      StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            aload 16 /* parameters */
            iload 6 /* i */
            iload 15 /* variableArity */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.getParameter:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 17 /* parameterType */
        start local 17 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding parameterType
        51: .line 1902
            aload 0 /* this */
            aload 1 /* result */
            aload 12 /* polyInvocation */
            aload 14 /* methodSubstitute */
            aload 17 /* parameterType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.forwardResults:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Lorg/eclipse/jdt/internal/compiler/ast/Invocation;Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        end local 17 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding parameterType
        end local 16 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
        end local 15 // boolean variableArity
        end local 14 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding methodSubstitute
        end local 13 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding binding
        end local 12 // org.eclipse.jdt.internal.compiler.ast.Invocation polyInvocation
        end local 11 // org.eclipse.jdt.internal.compiler.ast.Expression expression
        52: .line 1860
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.ast.Invocation org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.ast.Expression[] int int org.eclipse.jdt.internal.compiler.ast.Expression[] int int
      StackMap stack:
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        53: iload 9 /* j */
            iload 10 /* jLength */
            if_icmplt 12
        end local 10 // int jLength
        end local 9 // int j
        end local 8 // org.eclipse.jdt.internal.compiler.ast.Expression[] expressions
        54: .line 1858
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 6 /* i */
            iload 7 /* length */
            if_icmplt 8
        end local 7 // int length
        end local 6 // int i
        56: .line 1905
            return
        end local 5 // org.eclipse.jdt.internal.compiler.ast.Expression[] arguments
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedMethodBinding pmb
        end local 2 // org.eclipse.jdt.internal.compiler.ast.Invocation invocation
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet result
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   57     0                 this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   57     1               result  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   57     2           invocation  Lorg/eclipse/jdt/internal/compiler/ast/Invocation;
            0   57     3                  pmb  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding;
            0   57     4           targetType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3   57     5            arguments  [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            4   56     6                    i  I
            7   56     7               length  I
            9   54     8          expressions  [Lorg/eclipse/jdt/internal/compiler/ast/Expression;
           10   54     9                    j  I
           11   54    10              jLength  I
           13   52    11           expression  Lorg/eclipse/jdt/internal/compiler/ast/Expression;
           16   52    12       polyInvocation  Lorg/eclipse/jdt/internal/compiler/ast/Invocation;
           17   52    13              binding  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           20   52    14     methodSubstitute  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding;
           22   26    15      shallowOriginal  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           23   26    16            solutions  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           30   42    15      shallowOriginal  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           31   42    16          genericType  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           32   42    17            solutions  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           35   42    18    parameterizedType  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
           37   40    19  parameterizedMethod  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           45   52    15        variableArity  Z
           46   52    16           parameters  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           48   50    17           returnType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           51   52    17        parameterType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
            Name  Flags
      result      
      invocation  
      pmb         
      targetType  

  public void cleanUp();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
         0: .line 1908
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.b2:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
         1: .line 1909
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
         2: .line 1910
            return
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;

  private void lambda$0(org.eclipse.jdt.internal.compiler.lookup.InferenceContext18, org.eclipse.jdt.internal.compiler.lookup.BoundSet, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Z)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
         0: .line 500
            aload 1
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.directlyAcceptingInnerBounds:Z
            ifeq 3
         1: .line 501
            aload 1
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentBounds:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
         2: .line 502
            goto 9
      StackMap locals:
      StackMap stack:
         3: aload 1
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.innerInbox:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            ifnonnull 8
         4: .line 503
            aload 1
            iload 3
            ifeq 5
            aload 2
            goto 6
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18
         5: aload 2
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.copy:()Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.BoundSet int
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.BoundSet
         6: putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.innerInbox:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
         7: .line 504
            goto 9
         8: .line 505
      StackMap locals:
      StackMap stack:
            aload 1
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.innerInbox:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            aload 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
         9: .line 507
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;

  private boolean lambda$1(org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
         0: .line 599
            aload 1
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula.inputVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException

  private boolean lambda$2(org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
         0: .line 600
            aload 0 /* this */
            aload 1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.reduceAndIncorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException

  private boolean lambda$3(org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
         0: .line 603
            aload 0 /* this */
            aload 1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.reduceAndIncorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
}
SourceFile: "InferenceContext18.java"
NestMembers:
  org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$1  org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$2  org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$3  org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$InferenceOperation  org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$1
  org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$2
  org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$3
  abstract InferenceOperation = org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$InferenceOperation of org.eclipse.jdt.internal.compiler.lookup.InferenceContext18
  SuspendedInferenceRecord = org.eclipse.jdt.internal.compiler.lookup.InferenceContext18$SuspendedInferenceRecord of org.eclipse.jdt.internal.compiler.lookup.InferenceContext18
  public final BoundCheckStatus = org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus of org.eclipse.jdt.internal.compiler.lookup.TypeConstants