public class org.eclipse.jdt.internal.compiler.lookup.InferenceContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.lookup.InferenceContext
  super_class: java.lang.Object
{
  private org.eclipse.jdt.internal.compiler.lookup.TypeBinding[][][] collectedSubstitutes;
    descriptor: [[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  boolean hasExplicitExpectedType;
    descriptor: Z
    flags: (0x0000) 

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

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

  static final int FAILED;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public void <init>(org.eclipse.jdt.internal.compiler.lookup.MethodBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding genericMethod
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 32
            aload 0 /* this */
            aload 1 /* genericMethod */
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.genericMethod:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
         2: .line 33
            aload 1 /* genericMethod */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            astore 2 /* typeVariables */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] typeVariables
         3: .line 34
            aload 2 /* typeVariables */
            arraylength
            istore 3 /* varLength */
        start local 3 // int varLength
         4: .line 35
            aload 0 /* this */
            iload 3 /* varLength */
            iconst_3
            multianewarray [[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding; 2
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.collectedSubstitutes:[[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
         5: .line 36
            aload 0 /* this */
            iload 3 /* varLength */
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            putfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.substitutes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
         6: .line 37
            return
        end local 3 // int varLength
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] typeVariables
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding genericMethod
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext;
            0    7     1  genericMethod  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            3    7     2  typeVariables  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            4    7     3      varLength  I
    MethodParameters:
               Name  Flags
      genericMethod  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] getSubstitutes(org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding, int);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;I)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding typeVariable
        start local 2 // int constraint
         0: .line 40
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.collectedSubstitutes:[[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* typeVariable */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.rank:I
            aaload
            iload 2 /* constraint */
            aaload
            areturn
        end local 2 // int constraint
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding typeVariable
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext;
            0    1     1  typeVariable  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0    1     2    constraint  I
    MethodParameters:
              Name  Flags
      typeVariable  
      constraint    

  public boolean hasUnresolvedTypeArgument();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext this
         0: .line 47
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.substitutes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            arraylength
            istore 2 /* varLength */
        start local 2 // int varLength
         2: goto 6
         3: .line 48
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.substitutes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 1 /* i */
            aaload
            ifnonnull 5
         4: .line 49
            iconst_1
            ireturn
         5: .line 47
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* i */
            iload 2 /* varLength */
            if_icmplt 3
        end local 2 // int varLength
        end local 1 // int i
         7: .line 52
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext;
            1    7     1          i  I
            2    7     2  varLength  I

  public void recordSubstitute(org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, int);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding typeVariable
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding actualType
        start local 3 // int constraint
         0: .line 56
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.collectedSubstitutes:[[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* typeVariable */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.rank:I
            aaload
            astore 4 /* variableSubstitutes */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[][] variableSubstitutes
         1: .line 58
            aload 4 /* variableSubstitutes */
            iload 3 /* constraint */
            aaload
            astore 5 /* constraintSubstitutes */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] constraintSubstitutes
         2: .line 60
            aload 5 /* constraintSubstitutes */
            ifnonnull 6
         3: .line 61
            iconst_0
            istore 6 /* length */
        start local 6 // int length
         4: .line 62
            iconst_1
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            astore 5 /* constraintSubstitutes */
         5: .line 63
            goto 17
        end local 6 // int length
         6: .line 64
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[][] org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            aload 5 /* constraintSubstitutes */
            arraylength
            istore 6 /* length */
        start local 6 // int length
         7: .line 65
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         8: goto 15
         9: .line 66
      StackMap locals: int int
      StackMap stack:
            aload 5 /* constraintSubstitutes */
            iload 7 /* i */
            aaload
            astore 8 /* substitute */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitute
        10: .line 67
            aload 8 /* substitute */
            aload 2 /* actualType */
            if_acmpne 11
            return
        11: .line 68
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 8 /* substitute */
            ifnonnull 14
        12: .line 69
            aload 5 /* constraintSubstitutes */
            iload 7 /* i */
            aload 2 /* actualType */
            aastore
        13: .line 70
            goto 19
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitute
        14: .line 65
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 7 /* i */
            iload 6 /* length */
            if_icmplt 9
        end local 7 // int i
        16: .line 74
            aload 5 /* constraintSubstitutes */
            iconst_0
            iload 6 /* length */
            iconst_1
            iadd
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            dup
            astore 5 /* constraintSubstitutes */
            iconst_0
            iload 6 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 76
      StackMap locals:
      StackMap stack:
            aload 5 /* constraintSubstitutes */
            iload 6 /* length */
            aload 2 /* actualType */
            aastore
        18: .line 77
            aload 4 /* variableSubstitutes */
            iload 3 /* constraint */
            aload 5 /* constraintSubstitutes */
            aastore
        end local 6 // int length
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] constraintSubstitutes
        19: .line 79
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[][] variableSubstitutes
        end local 3 // int constraint
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding actualType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding typeVariable
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   20     0                   this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext;
            0   20     1           typeVariable  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   20     2             actualType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   20     3             constraint  I
            1   20     4    variableSubstitutes  [[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            2   19     5  constraintSubstitutes  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            4    6     6                 length  I
            7   19     6                 length  I
            8   16     7                      i  I
           10   14     8             substitute  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
              Name  Flags
      typeVariable  
      actualType    
      constraint    

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext this
         0: .line 82
            new java.lang.StringBuffer
            dup
            bipush 20
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuffer buffer
         1: .line 83
            aload 1 /* buffer */
            ldc "InferenceContex for "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 84
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.genericMethod:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            arraylength
            istore 3 /* length */
        start local 3 // int length
         4: goto 7
         5: .line 85
      StackMap locals: java.lang.StringBuffer int int
      StackMap stack:
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.genericMethod:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            iload 2 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
         6: .line 84
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 5
        end local 3 // int length
        end local 2 // int i
         8: .line 87
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.genericMethod:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
         9: .line 88
            aload 1 /* buffer */
            ldc "\n\t[status="
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 89
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.status:I
            tableswitch { // 0 - 1
                    0: 11
                    1: 13
              default: 14
          }
        11: .line 91
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            ldc "ok]"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 92
            goto 14
        13: .line 94
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            ldc "failed]"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        14: .line 97
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnonnull 17
        15: .line 98
            aload 1 /* buffer */
            ldc " [expectedType=null]"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        16: .line 99
            goto 18
        17: .line 100
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            ldc " [expectedType="
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.expectedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.shortReadableName:()[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            bipush 93
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        18: .line 102
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            ldc " [depth="
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.depth:I
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            bipush 93
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        19: .line 103
            aload 1 /* buffer */
            ldc "\n\t[collected={"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        20: .line 104
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        21: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.collectedSubstitutes:[[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnonnull 22
            iconst_0
            goto 23
      StackMap locals: int
      StackMap stack:
        22: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.collectedSubstitutes:[[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            arraylength
      StackMap locals:
      StackMap stack: int
        23: istore 3 /* length */
        start local 3 // int length
        24: goto 47
        25: .line 105
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.collectedSubstitutes:[[[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 2 /* i */
            aaload
            astore 4 /* collected */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[][] collected
        26: .line 106
            iconst_0
            istore 5 /* j */
        start local 5 // int j
        27: goto 45
        28: .line 107
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[][] int
      StackMap stack:
            aload 4 /* collected */
            iload 5 /* j */
            aaload
            astore 6 /* constraintCollected */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] constraintCollected
        29: .line 108
            aload 6 /* constraintCollected */
            ifnull 44
        30: .line 109
            iconst_0
            istore 7 /* k */
        start local 7 // int k
        31: aload 6 /* constraintCollected */
            arraylength
            istore 8 /* clength */
        start local 8 // int clength
        32: goto 43
        33: .line 110
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int int
      StackMap stack:
            aload 1 /* buffer */
            ldc "\n\t\t"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.genericMethod:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            iload 2 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.sourceName:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        34: .line 111
            iload 5 /* j */
            tableswitch { // 0 - 2
                    0: 35
                    1: 37
                    2: 39
              default: 40
          }
        35: .line 113
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            ldc "="
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        36: .line 114
            goto 40
        37: .line 116
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            ldc "<:"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        38: .line 117
            goto 40
        39: .line 119
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            ldc ">:"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        40: .line 122
      StackMap locals:
      StackMap stack:
            aload 6 /* constraintCollected */
            iload 7 /* k */
            aaload
            ifnull 42
        41: .line 123
            aload 1 /* buffer */
            aload 6 /* constraintCollected */
            iload 7 /* k */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.shortReadableName:()[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        42: .line 109
      StackMap locals:
      StackMap stack:
            iinc 7 /* k */ 1
      StackMap locals:
      StackMap stack:
        43: iload 7 /* k */
            iload 8 /* clength */
            if_icmplt 33
        end local 8 // int clength
        end local 7 // int k
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] constraintCollected
        44: .line 106
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        45: iload 5 /* j */
            iconst_2
            if_icmple 28
        end local 5 // int j
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[][] collected
        46: .line 104
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        47: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 25
        end local 3 // int length
        end local 2 // int i
        48: .line 129
            aload 1 /* buffer */
            ldc "}]"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        49: .line 130
            aload 1 /* buffer */
            ldc "\n\t[inferred="
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        50: .line 131
            iconst_0
            istore 2 /* count */
        start local 2 // int count
        51: .line 132
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        52: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.substitutes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnonnull 53
            iconst_0
            goto 54
      StackMap locals:
      StackMap stack:
        53: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.substitutes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            arraylength
      StackMap locals:
      StackMap stack: int
        54: istore 4 /* length */
        start local 4 // int length
        55: goto 61
        56: .line 133
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.substitutes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 3 /* i */
            aaload
            ifnonnull 57
            goto 60
        57: .line 134
      StackMap locals:
      StackMap stack:
            iinc 2 /* count */ 1
        58: .line 135
            aload 1 /* buffer */
            bipush 123
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.genericMethod:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            iload 3 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.sourceName:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        59: .line 136
            aload 1 /* buffer */
            ldc "="
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.substitutes:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 3 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.shortReadableName:()[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            bipush 125
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        60: .line 132
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        61: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 56
        end local 4 // int length
        end local 3 // int i
        62: .line 138
            iload 2 /* count */
            ifne 63
            aload 1 /* buffer */
            ldc "{}"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        63: .line 139
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            bipush 93
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        64: .line 140
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // int count
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   65     0                 this  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext;
            1   65     1               buffer  Ljava/lang/StringBuffer;
            3    8     2                    i  I
            4    8     3               length  I
           21   48     2                    i  I
           24   48     3               length  I
           26   46     4            collected  [[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           27   46     5                    j  I
           29   44     6  constraintCollected  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           31   44     7                    k  I
           32   44     8              clength  I
           51   65     2                count  I
           52   62     3                    i  I
           55   62     4               length  I
}
SourceFile: "InferenceContext.java"