public class org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding extends org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
  super_class: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
{
  public org.eclipse.jdt.internal.compiler.lookup.Binding declaringElement;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
    flags: (0x0001) ACC_PUBLIC

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

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

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

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

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

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

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

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

  public void <init>(char[], org.eclipse.jdt.internal.compiler.lookup.Binding, int, org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment);
    descriptor: ([CLorg/eclipse/jdt/internal/compiler/lookup/Binding;ILorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // char[] sourceName
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.Binding declaringElement
        start local 3 // int rank
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
         0: .line 80
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.<init>:()V
         1: .line 593
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
         2: .line 608
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveProjectionFunction:Z
         3: .line 81
            aload 0 /* this */
            aload 1 /* sourceName */
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.sourceName:[C
         4: .line 82
            aload 0 /* this */
            aload 2 /* declaringElement */
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
         5: .line 83
            aload 0 /* this */
            iload 3 /* rank */
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.rank:I
         6: .line 84
            aload 0 /* this */
            ldc 1073741825
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.modifiers:I
         7: .line 85
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            ldc 536870912
            lor
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
         8: .line 86
            aload 0 /* this */
            aload 4 /* environment */
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
         9: .line 87
            aload 0 /* this */
            ldc 134217728
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.typeBits:I
        10: .line 88
            aload 0 /* this */
            aload 4 /* environment */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.computeId:(Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
        11: .line 89
            return
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
        end local 3 // int rank
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.Binding declaringElement
        end local 1 // char[] sourceName
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   12     1        sourceName  [C
            0   12     2  declaringElement  Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            0   12     3              rank  I
            0   12     4       environment  Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
    MethodParameters:
                  Name  Flags
      sourceName        
      declaringElement  
      rank              
      environment       

  protected void <init>(char[], org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment);
    descriptor: ([CLorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // char[] sourceName
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
         0: .line 92
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.<init>:()V
         1: .line 593
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
         2: .line 608
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveProjectionFunction:Z
         3: .line 93
            aload 0 /* this */
            aload 1 /* sourceName */
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.sourceName:[C
         4: .line 94
            aload 0 /* this */
            ldc 1073741825
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.modifiers:I
         5: .line 95
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            ldc 536870912
            lor
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
         6: .line 96
            aload 0 /* this */
            aload 2 /* environment */
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
         7: .line 97
            aload 0 /* this */
            ldc 134217728
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.typeBits:I
         8: .line 99
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
        end local 1 // char[] sourceName
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0    9     1   sourceName  [C
            0    9     2  environment  Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
    MethodParameters:
             Name  Flags
      sourceName   
      environment  

  public void <init>(org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding prototype
         0: .line 102
            aload 0 /* this */
            aload 1 /* prototype */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)V
         1: .line 593
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
         2: .line 608
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveProjectionFunction:Z
         3: .line 103
            aload 0 /* this */
            aload 1 /* prototype */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
         4: .line 104
            aload 0 /* this */
            aload 1 /* prototype */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.rank:I
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.rank:I
         5: .line 105
            aload 0 /* this */
            aload 1 /* prototype */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
         6: .line 106
            aload 0 /* this */
            aload 1 /* prototype */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
         7: .line 107
            aload 1 /* prototype */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 12
         8: .line 108
            aload 1 /* prototype */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            istore 2 /* len */
        start local 2 // int len
         9: .line 109
            iload 2 /* len */
            ifle 11
        10: .line 110
            aload 1 /* prototype */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iconst_0
            aload 0 /* this */
            iload 2 /* len */
            anewarray org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iconst_0
            iload 2 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
            goto 12
        11: .line 112
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding int
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_SUPERINTERFACES:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
        end local 2 // int len
        12: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* prototype */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.genericTypeSignature:[C
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.genericTypeSignature:[C
        13: .line 115
            aload 0 /* this */
            aload 1 /* prototype */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
        14: .line 116
            aload 1 /* prototype */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            ldc 8388608
            lor
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
        15: .line 117
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            ldc -8388609
            land
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
        16: .line 118
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding prototype
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   17     1  prototype  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            9   12     2        len  I
    MethodParameters:
           Name  Flags
      prototype  

  public org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus boundCheck(org.eclipse.jdt.internal.compiler.lookup.Substitution, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.ast.ASTNode);
    descriptor: (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;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitution
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding argumentType
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 4 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
         0: .line 125
            aload 0 /* this */
            aload 1 /* substitution */
            aload 2 /* argumentType */
            aload 3 /* scope */
            aload 4 /* location */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.internalBoundCheck:(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;
            astore 5 /* code */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus code
         1: .line 126
            aload 5 /* code */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.MISMATCH:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            if_acmpne 7
         2: .line 127
            aload 2 /* argumentType */
            instanceof org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            ifeq 7
            aload 3 /* scope */
            ifnull 7
         3: .line 128
            aload 2 /* argumentType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 6 /* bound */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bound
         4: .line 129
            aload 6 /* bound */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            ifeq 7
         5: .line 130
            aload 0 /* this */
            aload 1 /* substitution */
            aload 6 /* bound */
            aload 3 /* scope */
            iconst_m1
            iconst_m1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.capture:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;II)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 3 /* scope */
            aload 4 /* location */
            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;
            astore 7 /* code2 */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus code2
         6: .line 131
            aload 5 /* code */
            aload 7 /* code2 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.betterOf:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus code2
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bound
         7: .line 135
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus
      StackMap stack:
            aload 5 /* code */
            areturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus code
        end local 4 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding argumentType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitution
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0    8     1  substitution  Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;
            0    8     2  argumentType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    8     3         scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0    8     4      location  Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            1    8     5          code  Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            4    7     6         bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            6    7     7         code2  Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
    MethodParameters:
              Name  Flags
      substitution  
      argumentType  
      scope         
      location      

  private org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus internalBoundCheck(org.eclipse.jdt.internal.compiler.lookup.Substitution, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.ast.ASTNode);
    descriptor: (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;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=17, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitution
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding argumentType
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 4 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
         0: .line 138
            aload 2 /* argumentType */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
            if_acmpeq 1
            aload 2 /* argumentType */
            aload 0 /* this */
            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 139
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.OK:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
         2: .line 141
      StackMap locals:
      StackMap stack:
            aload 1 /* substitution */
            ifnull 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* hasSubstitution */
        start local 5 // boolean hasSubstitution
         5: .line 142
            aload 2 /* argumentType */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            ifne 7
            aload 2 /* argumentType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isArrayType:()Z
            ifne 7
         6: .line 143
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.MISMATCH:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
         7: .line 146
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnonnull 9
         8: .line 147
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.OK:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
         9: .line 149
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.OK:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            astore 6 /* nullStatus */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus nullStatus
        10: .line 150
            aload 3 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.usesNullTypeAnnotations:()Z
            ifeq 12
            aload 4 /* location */
            ifnull 11
            aload 4 /* location */
            getfield org.eclipse.jdt.internal.compiler.ast.ASTNode.bits:I
            ldc 32768
            iand
            ifne 12
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus
      StackMap stack:
        11: iconst_1
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 7 /* checkNullAnnotations */
        start local 7 // boolean checkNullAnnotations
        14: .line 152
            aload 2 /* argumentType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
            sipush 516
            if_icmpne 82
        15: .line 153
            aload 2 /* argumentType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.WildcardBinding
            astore 8 /* wildcard */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.WildcardBinding wildcard
        16: .line 154
            aload 8 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.boundKind:I
            tableswitch { // 0 - 2
                    0: 79
                    1: 17
                    2: 70
              default: 81
          }
        17: .line 156
      StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.WildcardBinding
      StackMap stack:
            iconst_0
            istore 9 /* checkedAsOK */
        start local 9 // boolean checkedAsOK
        18: .line 157
            aload 8 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.bound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 10 /* wildcardBound */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding wildcardBound
        19: .line 158
            aload 10 /* wildcardBound */
            aload 0 /* this */
            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 21
        20: .line 159
            iconst_1
            istore 9 /* checkedAsOK */
        21: .line 160
      StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 10 /* wildcardBound */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isArrayType:()Z
            istore 11 /* isArrayBound */
        start local 11 // boolean isArrayBound
        22: .line 161
            aload 10 /* wildcardBound */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isInterface:()Z
            ifne 45
        23: .line 162
            iload 5 /* hasSubstitution */
            ifeq 24
            aload 1 /* substitution */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            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;
            goto 25
      StackMap locals: int
      StackMap stack:
        24: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
        25: astore 12 /* substitutedSuperType */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedSuperType
        26: .line 163
            iload 9 /* checkedAsOK */
            ifne 43
        27: .line 164
            aload 12 /* substitutedSuperType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_1
            if_icmpeq 43
        28: .line 165
            iload 11 /* isArrayBound */
            ifeq 31
        29: .line 166
            aload 10 /* wildcardBound */
            aload 12 /* substitutedSuperType */
            aload 3 /* 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
            ifne 43
        30: .line 167
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.MISMATCH:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
        31: .line 169
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 10 /* wildcardBound */
            aload 12 /* substitutedSuperType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 13 /* match */
        start local 13 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
        32: .line 170
            aload 13 /* match */
            ifnull 35
        33: .line 171
            aload 12 /* substitutedSuperType */
            aload 13 /* match */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProvablyDistinct:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 43
        34: .line 172
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.MISMATCH:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
        35: .line 175
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 12 /* substitutedSuperType */
            aload 10 /* wildcardBound */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 13 /* match */
        36: .line 176
            aload 13 /* match */
            ifnull 39
        37: .line 177
            aload 13 /* match */
            aload 10 /* wildcardBound */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProvablyDistinct:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 43
        38: .line 178
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.MISMATCH:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
        39: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* wildcardBound */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.denotesRelevantSuperClass:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 41
            aload 0 /* this */
            aload 12 /* substitutedSuperType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.denotesRelevantSuperClass:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 41
        40: .line 183
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.MISMATCH:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
        41: .line 192
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            dup
            iconst_0
            aload 12 /* substitutedSuperType */
            aastore
            dup
            iconst_1
            aload 10 /* wildcardBound */
            aastore
            aload 3 /* scope */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.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;
            ifnonnull 43
        42: .line 193
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.MISMATCH:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
        end local 13 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
        43: .line 200
      StackMap locals:
      StackMap stack:
            iload 7 /* checkNullAnnotations */
            ifeq 45
            aload 2 /* argumentType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.hasNullTypeAnnotations:()Z
            ifeq 45
        44: .line 201
            aload 0 /* this */
            aload 3 /* scope */
            aload 2 /* argumentType */
            aload 12 /* substitutedSuperType */
            aload 1 /* substitution */
            aload 4 /* location */
            aload 6 /* nullStatus */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.nullBoundCheck:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            astore 6 /* nullStatus */
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedSuperType
        45: .line 204
      StackMap locals:
      StackMap stack:
            iload 11 /* isArrayBound */
            ifne 46
            aload 10 /* wildcardBound */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isFinal:()Z
            ifne 46
            iconst_0
            goto 47
      StackMap locals:
      StackMap stack:
        46: iconst_1
      StackMap locals:
      StackMap stack: int
        47: istore 12 /* mustImplement */
        start local 12 // boolean mustImplement
        48: .line 205
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        49: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            istore 14 /* length */
        start local 14 // int length
        50: goto 67
        51: .line 206
      StackMap locals: int int int
      StackMap stack:
            iload 5 /* hasSubstitution */
            ifeq 52
            aload 1 /* substitution */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 13 /* i */
            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;
            goto 53
      StackMap locals:
      StackMap stack:
        52: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 13 /* i */
            aaload
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
        53: astore 15 /* substitutedSuperType */
        start local 15 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedSuperType
        54: .line 207
            iload 9 /* checkedAsOK */
            ifne 64
        55: .line 208
            iload 11 /* isArrayBound */
            ifeq 58
        56: .line 209
            aload 10 /* wildcardBound */
            aload 15 /* substitutedSuperType */
            aload 3 /* 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
            ifne 64
        57: .line 210
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.MISMATCH:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
        58: .line 212
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 10 /* wildcardBound */
            aload 15 /* substitutedSuperType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 16 /* match */
        start local 16 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
        59: .line 213
            aload 16 /* match */
            ifnull 62
        60: .line 214
            aload 15 /* substitutedSuperType */
            aload 16 /* match */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProvablyDistinct:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 64
        61: .line 215
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.MISMATCH:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
        62: .line 217
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            iload 12 /* mustImplement */
            ifeq 64
        63: .line 218
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.MISMATCH:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
        end local 16 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
        64: .line 222
      StackMap locals:
      StackMap stack:
            iload 7 /* checkNullAnnotations */
            ifeq 66
            aload 2 /* argumentType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.hasNullTypeAnnotations:()Z
            ifeq 66
        65: .line 223
            aload 0 /* this */
            aload 3 /* scope */
            aload 2 /* argumentType */
            aload 15 /* substitutedSuperType */
            aload 1 /* substitution */
            aload 4 /* location */
            aload 6 /* nullStatus */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.nullBoundCheck:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            astore 6 /* nullStatus */
        end local 15 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedSuperType
        66: .line 205
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        67: iload 13 /* i */
            iload 14 /* length */
            if_icmplt 51
        end local 14 // int length
        end local 13 // int i
        68: .line 226
            aload 6 /* nullStatus */
            ifnull 81
        69: .line 227
            aload 6 /* nullStatus */
            areturn
        end local 12 // boolean mustImplement
        end local 11 // boolean isArrayBound
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding wildcardBound
        end local 9 // boolean checkedAsOK
        70: .line 232
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding org.eclipse.jdt.internal.compiler.lookup.Substitution org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.ast.ASTNode int org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus int org.eclipse.jdt.internal.compiler.lookup.WildcardBinding
      StackMap stack:
            aload 8 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.bound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isTypeVariable:()Z
            ifeq 72
            aload 8 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.bound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.id:I
            iconst_1
            if_icmpne 72
        71: .line 233
            aload 0 /* this */
            aload 3 /* scope */
            aload 2 /* argumentType */
            aconst_null
            aload 1 /* substitution */
            aload 4 /* location */
            aload 6 /* nullStatus */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.nullBoundCheck:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
        72: .line 235
      StackMap locals:
      StackMap stack:
            aload 8 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.bound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 13 /* bound */
        start local 13 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bound
        73: .line 236
            iload 7 /* checkNullAnnotations */
            ifeq 75
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 8 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.typeAnnotations:[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.containsNullTypeAnnotation:([Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Z
            ifeq 75
        74: .line 237
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 13 /* bound */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.withoutToplevelNullAnnotation:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 8 /* wildcard */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.getTypeAnnotations:()[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createAnnotatedType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 13 /* bound */
        75: .line 238
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding org.eclipse.jdt.internal.compiler.lookup.Substitution org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.ast.ASTNode int org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus int org.eclipse.jdt.internal.compiler.lookup.WildcardBinding top top top top org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            aload 1 /* substitution */
            aload 13 /* bound */
            aload 3 /* scope */
            aconst_null
            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;
            astore 14 /* status */
        start local 14 // org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus status
        76: .line 239
            aload 14 /* status */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.NULL_PROBLEM:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            if_acmpne 78
            aload 4 /* location */
            ifnull 78
        77: .line 240
            aload 3 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 8 /* wildcard */
            aload 4 /* location */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.nullityMismatchTypeArgument:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
        78: .line 241
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus
      StackMap stack:
            aload 14 /* status */
            areturn
        end local 14 // org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus status
        end local 13 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bound
        79: .line 244
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding org.eclipse.jdt.internal.compiler.lookup.Substitution org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.ast.ASTNode int org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus int org.eclipse.jdt.internal.compiler.lookup.WildcardBinding
      StackMap stack:
            iload 7 /* checkNullAnnotations */
            ifeq 81
            aload 2 /* argumentType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.hasNullTypeAnnotations:()Z
            ifeq 81
        80: .line 245
            aload 0 /* this */
            aload 3 /* scope */
            aload 2 /* argumentType */
            aconst_null
            aload 1 /* substitution */
            aload 4 /* location */
            aload 6 /* nullStatus */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.nullBoundCheck:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
        81: .line 249
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.OK:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.WildcardBinding wildcard
        82: .line 251
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* unchecked */
        start local 8 // boolean unchecked
        83: .line 252
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.id:I
            iconst_1
            if_icmpeq 96
        84: .line 253
            iload 5 /* hasSubstitution */
            ifeq 85
            aload 1 /* substitution */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            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;
            goto 86
      StackMap locals: int
      StackMap stack:
        85: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
        86: astore 9 /* substitutedSuperType */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedSuperType
        87: .line 254
            aload 9 /* substitutedSuperType */
            aload 2 /* argumentType */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 94
        88: .line 255
            aload 2 /* argumentType */
            aload 9 /* substitutedSuperType */
            aload 3 /* 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
            ifne 90
        89: .line 256
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.MISMATCH:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
        90: .line 258
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 2 /* argumentType */
            aload 9 /* substitutedSuperType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 10 /* match */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
        91: .line 259
            aload 10 /* match */
            ifnull 94
        92: .line 261
            aload 10 /* match */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isRawType:()Z
            ifeq 94
            aload 9 /* substitutedSuperType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBoundParameterizedType:()Z
            ifeq 94
        93: .line 262
            iconst_1
            istore 8 /* unchecked */
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
        94: .line 265
      StackMap locals:
      StackMap stack:
            iload 7 /* checkNullAnnotations */
            ifeq 96
        95: .line 266
            aload 0 /* this */
            aload 3 /* scope */
            aload 2 /* argumentType */
            aload 9 /* substitutedSuperType */
            aload 1 /* substitution */
            aload 4 /* location */
            aload 6 /* nullStatus */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.nullBoundCheck:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            astore 6 /* nullStatus */
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedSuperType
        96: .line 269
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        97: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            istore 10 /* length */
        start local 10 // int length
        98: goto 112
        99: .line 270
      StackMap locals: int int
      StackMap stack:
            iload 5 /* hasSubstitution */
            ifeq 100
            aload 1 /* substitution */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 9 /* i */
            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;
            goto 101
      StackMap locals:
      StackMap stack:
       100: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 9 /* i */
            aaload
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
       101: astore 11 /* substitutedSuperType */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedSuperType
       102: .line 271
            aload 11 /* substitutedSuperType */
            aload 2 /* argumentType */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 109
       103: .line 272
            aload 2 /* argumentType */
            aload 11 /* substitutedSuperType */
            aload 3 /* 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
            ifne 105
       104: .line 273
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.MISMATCH:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
       105: .line 275
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 2 /* argumentType */
            aload 11 /* substitutedSuperType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 12 /* match */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
       106: .line 276
            aload 12 /* match */
            ifnull 109
       107: .line 278
            aload 12 /* match */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isRawType:()Z
            ifeq 109
            aload 11 /* substitutedSuperType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBoundParameterizedType:()Z
            ifeq 109
       108: .line 279
            iconst_1
            istore 8 /* unchecked */
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding match
       109: .line 282
      StackMap locals:
      StackMap stack:
            iload 7 /* checkNullAnnotations */
            ifeq 111
       110: .line 283
            aload 0 /* this */
            aload 3 /* scope */
            aload 2 /* argumentType */
            aload 11 /* substitutedSuperType */
            aload 1 /* substitution */
            aload 4 /* location */
            aload 6 /* nullStatus */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.nullBoundCheck:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            astore 6 /* nullStatus */
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedSuperType
       111: .line 269
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
       112: iload 9 /* i */
            iload 10 /* length */
            if_icmplt 99
        end local 10 // int length
        end local 9 // int i
       113: .line 286
            iload 7 /* checkNullAnnotations */
            ifeq 119
            aload 6 /* nullStatus */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.NULL_PROBLEM:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            if_acmpeq 119
       114: .line 287
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            ldc 108086391056891904
            land
            lstore 9 /* nullBits */
        start local 9 // long nullBits
       115: .line 288
            lload 9 /* nullBits */
            lconst_0
            lcmp
            ifeq 119
            lload 9 /* nullBits */
            aload 2 /* argumentType */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            ldc 108086391056891904
            land
            lcmp
            ifeq 119
       116: .line 289
            aload 4 /* location */
            ifnull 118
       117: .line 290
            aload 3 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 2 /* argumentType */
            aload 4 /* location */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.nullityMismatchTypeArgument:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
       118: .line 291
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding org.eclipse.jdt.internal.compiler.lookup.Substitution org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.Scope org.eclipse.jdt.internal.compiler.ast.ASTNode int org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus int int long
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.NULL_PROBLEM:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            astore 6 /* nullStatus */
        end local 9 // long nullBits
       119: .line 294
      StackMap locals:
      StackMap stack:
            iload 8 /* unchecked */
            ifeq 120
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.UNCHECKED:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            goto 122
      StackMap locals:
      StackMap stack:
       120: aload 6 /* nullStatus */
            ifnull 121
            aload 6 /* nullStatus */
            goto 122
      StackMap locals:
      StackMap stack:
       121: getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.OK:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus
       122: areturn
        end local 8 // boolean unchecked
        end local 7 // boolean checkNullAnnotations
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus nullStatus
        end local 5 // boolean hasSubstitution
        end local 4 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding argumentType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitution
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  123     0                  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0  123     1          substitution  Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;
            0  123     2          argumentType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0  123     3                 scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0  123     4              location  Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            5  123     5       hasSubstitution  Z
           10  123     6            nullStatus  Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
           14  123     7  checkNullAnnotations  Z
           16   82     8              wildcard  Lorg/eclipse/jdt/internal/compiler/lookup/WildcardBinding;
           18   70     9           checkedAsOK  Z
           19   70    10         wildcardBound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           22   70    11          isArrayBound  Z
           26   45    12  substitutedSuperType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           32   43    13                 match  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           48   70    12         mustImplement  Z
           49   68    13                     i  I
           50   68    14                length  I
           54   66    15  substitutedSuperType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           59   64    16                 match  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           73   79    13                 bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           76   79    14                status  Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
           83  123     8             unchecked  Z
           87   96     9  substitutedSuperType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           91   94    10                 match  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           97  113     9                     i  I
           98  113    10                length  I
          102  111    11  substitutedSuperType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          106  109    12                 match  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          115  119     9              nullBits  J
    MethodParameters:
              Name  Flags
      substitution  
      argumentType  
      scope         
      location      

  private org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus nullBoundCheck(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.Substitution, org.eclipse.jdt.internal.compiler.ast.ASTNode, org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding argumentType
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedSuperType
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitution
        start local 5 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus previousStatus
         0: .line 298
            aload 0 /* this */
            aload 2 /* argumentType */
            aload 3 /* substitutedSuperType */
            aload 4 /* substitution */
            iconst_m1
            aconst_null
            getstatic org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching$CheckMode.BOUND_CHECK:Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching$CheckMode;
            invokestatic org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.analyse:(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/Substitution;ILorg/eclipse/jdt/internal/compiler/ast/Expression;Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching$CheckMode;)Lorg/eclipse/jdt/internal/compiler/ast/NullAnnotationMatching;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.isAnyMismatch:()Z
            ifeq 4
         1: .line 299
            aload 5 /* location */
            ifnull 3
         2: .line 300
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 0 /* this */
            aload 2 /* argumentType */
            aload 5 /* location */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.nullityMismatchTypeArgument:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;)V
         3: .line 301
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus.NULL_PROBLEM:Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
            areturn
         4: .line 303
      StackMap locals:
      StackMap stack:
            aload 6 /* previousStatus */
            areturn
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus previousStatus
        end local 5 // org.eclipse.jdt.internal.compiler.ast.ASTNode location
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitution
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedSuperType
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding argumentType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0                  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0    5     1                 scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0    5     2          argumentType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    5     3  substitutedSuperType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    5     4          substitution  Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;
            0    5     5              location  Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
            0    5     6        previousStatus  Lorg/eclipse/jdt/internal/compiler/lookup/TypeConstants$BoundCheckStatus;
    MethodParameters:
                      Name  Flags
      scope                 
      argumentType          
      substitutedSuperType  
      substitution          
      location              
      previousStatus        

  boolean denotesRelevantSuperClass(org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
         0: .line 307
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isTypeVariable:()Z
            ifne 2
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isInterface:()Z
            ifne 2
            aload 1 /* type */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_1
            if_icmpeq 2
         1: .line 308
            iconst_1
            ireturn
         2: .line 309
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.superclass:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 2 /* aSuperClass */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding aSuperClass
         3: .line 310
            aload 2 /* aSuperClass */
            ifnull 4
            aload 2 /* aSuperClass */
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.id:I
            iconst_1
            if_icmpeq 4
            aload 2 /* aSuperClass */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isTypeVariable:()Z
            ifne 4
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding aSuperClass
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0    5     1         type  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3    5     2  aSuperClass  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    MethodParameters:
      Name  Flags
      type  

  public int boundsCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 314
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnonnull 2
         1: .line 315
            iconst_0
            ireturn
         2: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isInterface:()Z
            ifeq 4
         3: .line 317
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            ireturn
         4: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            iconst_1
            iadd
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public boolean canBeInstantiated();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 326
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public void collectSubstitutes(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.InferenceContext, int);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding actualType
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext inferenceContext
        start local 4 // int constraint
         0: .line 340
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            aload 3 /* inferenceContext */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext.genericMethod:Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            if_acmpeq 1
            return
         1: .line 343
      StackMap locals:
      StackMap stack:
            aload 2 /* actualType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
            lookupswitch { // 3
                  132: 2
                  516: 7
                65540: 7
              default: 8
          }
         2: .line 345
      StackMap locals:
      StackMap stack:
            aload 2 /* actualType */
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.NULL:Lorg/eclipse/jdt/internal/compiler/lookup/NullTypeBinding;
            if_acmpne 3
            return
         3: .line 346
      StackMap locals:
      StackMap stack:
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 2 /* actualType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.computeBoxingType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 5 /* boxedType */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding boxedType
         4: .line 347
            aload 5 /* boxedType */
            aload 2 /* actualType */
            if_acmpne 5
            return
         5: .line 348
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 5 /* boxedType */
            astore 2 /* actualType */
         6: .line 349
            goto 8
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding boxedType
         7: .line 352
      StackMap locals:
      StackMap stack:
            return
         8: .line 357
      StackMap locals:
      StackMap stack:
            iload 4 /* constraint */
            tableswitch { // 0 - 1
                    0: 9
                    1: 11
              default: 13
          }
         9: .line 359
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* variableConstraint */
        start local 5 // int variableConstraint
        10: .line 360
            goto 14
        end local 5 // int variableConstraint
        11: .line 362
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 5 /* variableConstraint */
        start local 5 // int variableConstraint
        12: .line 363
            goto 14
        end local 5 // int variableConstraint
        13: .line 366
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* variableConstraint */
        start local 5 // int variableConstraint
        14: .line 369
      StackMap locals: int
      StackMap stack:
            aload 3 /* inferenceContext */
            aload 0 /* this */
            aload 2 /* actualType */
            iload 5 /* variableConstraint */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceContext.recordSubstitute:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
        15: .line 370
            return
        end local 5 // int variableConstraint
        end local 4 // int constraint
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext inferenceContext
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding actualType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   16     1               scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0   16     2          actualType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   16     3    inferenceContext  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext;
            0   16     4          constraint  I
            4    7     5           boxedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           10   11     5  variableConstraint  I
           12   13     5  variableConstraint  I
           14   16     5  variableConstraint  I
    MethodParameters:
                  Name  Flags
      scope             
      actualType        
      inferenceContext  
      constraint        

  public char[] computeUniqueKey(boolean);
    descriptor: (Z)[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // boolean isLeaf
         0: .line 379
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* buffer */
        start local 2 // java.lang.StringBuffer buffer
         1: .line 380
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            astore 3 /* declaring */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.Binding declaring
         2: .line 381
            iload 1 /* isLeaf */
            ifne 19
            aload 3 /* declaring */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Binding.kind:()I
            bipush 8
            if_icmpne 19
         3: .line 382
            aload 3 /* declaring */
            checkcast org.eclipse.jdt.internal.compiler.lookup.MethodBinding
            astore 4 /* methodBinding */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding methodBinding
         4: .line 383
            aload 4 /* methodBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 5 /* declaringClass */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding declaringClass
         5: .line 384
            aload 2 /* buffer */
            aload 5 /* declaringClass */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.computeUniqueKey:(Z)[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         6: .line 385
            aload 2 /* buffer */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 386
            aload 5 /* declaringClass */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.methods:()[Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 6 /* methods */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] methods
         8: .line 387
            aload 6 /* methods */
            ifnull 21
         9: .line 388
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        10: aload 6 /* methods */
            arraylength
            istore 8 /* length */
        start local 8 // int length
        11: goto 17
        12: .line 389
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding int java.lang.StringBuffer org.eclipse.jdt.internal.compiler.lookup.Binding org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] int int
      StackMap stack:
            aload 6 /* methods */
            iload 7 /* i */
            aaload
            astore 9 /* binding */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding binding
        13: .line 390
            aload 9 /* binding */
            aload 4 /* methodBinding */
            if_acmpne 16
        14: .line 391
            aload 2 /* buffer */
            iload 7 /* i */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
        15: .line 392
            goto 21
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding binding
        16: .line 388
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            iload 8 /* length */
            if_icmplt 12
        end local 8 // int length
        end local 7 // int i
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding[] methods
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding declaringClass
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding methodBinding
        18: .line 395
            goto 21
        19: .line 396
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding int java.lang.StringBuffer org.eclipse.jdt.internal.compiler.lookup.Binding
      StackMap stack:
            aload 2 /* buffer */
            aload 3 /* declaring */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Binding.computeUniqueKey:(Z)[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        20: .line 397
            aload 2 /* buffer */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        21: .line 399
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.genericTypeSignature:()[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        22: .line 400
            aload 2 /* buffer */
            invokevirtual java.lang.StringBuffer.length:()I
            istore 4 /* length */
        start local 4 // int length
        23: .line 401
            iload 4 /* length */
            newarray 5
            astore 5 /* uniqueKey */
        start local 5 // char[] uniqueKey
        24: .line 402
            aload 2 /* buffer */
            iconst_0
            iload 4 /* length */
            aload 5 /* uniqueKey */
            iconst_0
            invokevirtual java.lang.StringBuffer.getChars:(II[CI)V
        25: .line 403
            aload 5 /* uniqueKey */
            areturn
        end local 5 // char[] uniqueKey
        end local 4 // int length
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.Binding declaring
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // boolean isLeaf
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   26     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   26     1          isLeaf  Z
            1   26     2          buffer  Ljava/lang/StringBuffer;
            2   26     3       declaring  Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            4   18     4   methodBinding  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            5   18     5  declaringClass  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            8   18     6         methods  [Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           10   18     7               i  I
           11   18     8          length  I
           13   16     9         binding  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           23   26     4          length  I
           24   26     5       uniqueKey  [C
    MethodParameters:
        Name  Flags
      isLeaf  

  public char[] constantPoolName();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 407
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 2
         1: .line 408
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.constantPoolName:()[C
            areturn
         2: .line 410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.constantPoolName:()[C
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding clone(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=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding enclosingType
         0: .line 415
            new org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;)V
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding enclosingType
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0    1     1  enclosingType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
               Name  Flags
      enclosingType  

  public java.lang.String annotatedDebugName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 419
            new java.lang.StringBuffer
            dup
            bipush 10
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuffer buffer
         1: .line 420
            aload 1 /* buffer */
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.annotatedDebugName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 421
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
            ifne 22
         3: .line 422
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
         4: .line 424
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 6
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            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
         5: .line 425
            aload 1 /* buffer */
            ldc " extends "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.annotatedDebugName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 427
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 21
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_SUPERINTERFACES:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            if_acmpeq 21
         7: .line 428
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 9
         8: .line 429
            aload 1 /* buffer */
            ldc " extends "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         9: .line 431
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        10: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            istore 3 /* length */
        start local 3 // int length
        11: goto 16
        12: .line 432
      StackMap locals: int int
      StackMap stack:
            iload 2 /* i */
            ifgt 13
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            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 14
        13: .line 433
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            ldc " & "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        14: .line 435
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 2 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.annotatedDebugName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 431
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 12
        end local 3 // int length
        end local 2 // int i
        17: .line 438
            goto 21
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding java.lang.StringBuffer
      StackMap stack: java.lang.Throwable
        18: astore 4
        19: .line 439
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        20: .line 440
            aload 4
            athrow
        21: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        22: .line 442
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0    this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            1   23     1  buffer  Ljava/lang/StringBuffer;
           10   17     2       i  I
           11   17     3  length  I
      Exception table:
        from    to  target  type
           4    18      18  any

  public java.lang.String debugName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 449
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.hasTypeAnnotations:()Z
            ifeq 2
         1: .line 450
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.annotatedDebugName:()Ljava/lang/String;
            areturn
         2: .line 451
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.sourceName:[C
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding erasure();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 455
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 2
         1: .line 456
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.erasure:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
         2: .line 458
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public char[] genericSignature();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 465
            new java.lang.StringBuffer
            dup
            bipush 10
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 1 /* sig */
        start local 1 // java.lang.StringBuffer sig
         1: .line 466
            aload 1 /* sig */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.sourceName:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         2: .line 467
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnonnull 3
            iconst_0
            goto 4
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
         3: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
      StackMap locals:
      StackMap stack: int
         4: istore 2 /* interfaceLength */
        start local 2 // int interfaceLength
         5: .line 468
            iload 2 /* interfaceLength */
            ifeq 6
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            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 469
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 8
         7: .line 470
            aload 1 /* sig */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.genericTypeSignature:()[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         8: .line 472
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 12
        10: .line 473
      StackMap locals: int
      StackMap stack:
            aload 1 /* sig */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 3 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.genericTypeSignature:()[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        11: .line 472
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* interfaceLength */
            if_icmplt 10
        end local 3 // int i
        13: .line 475
            aload 1 /* sig */
            invokevirtual java.lang.StringBuffer.length:()I
            istore 3 /* sigLength */
        start local 3 // int sigLength
        14: .line 476
            iload 3 /* sigLength */
            newarray 5
            astore 4 /* genericSignature */
        start local 4 // char[] genericSignature
        15: .line 477
            aload 1 /* sig */
            iconst_0
            iload 3 /* sigLength */
            aload 4 /* genericSignature */
            iconst_0
            invokevirtual java.lang.StringBuffer.getChars:(II[CI)V
        16: .line 478
            aload 4 /* genericSignature */
            areturn
        end local 4 // char[] genericSignature
        end local 3 // int sigLength
        end local 2 // int interfaceLength
        end local 1 // java.lang.StringBuffer sig
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            1   17     1               sig  Ljava/lang/StringBuffer;
            5   17     2   interfaceLength  I
            9   13     3                 i  I
           14   17     3         sigLength  I
           15   17     4  genericSignature  [C

  public char[] genericTypeSignature();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 486
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.genericTypeSignature:[C
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.genericTypeSignature:[C
            areturn
         1: .line 487
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 84
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.sourceName:[C
            bipush 59
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:(C[CC)[C
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.genericTypeSignature:[C
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  org.eclipse.jdt.internal.compiler.lookup.TypeBound[] getTypeBounds(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution theta
         0: .line 494
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.boundsCount:()I
            istore 3 /* n */
        start local 3 // int n
         1: .line 495
            iload 3 /* n */
            ifne 3
         2: .line 496
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.NO_TYPE_BOUNDS:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            areturn
         3: .line 497
      StackMap locals: int
      StackMap stack:
            iload 3 /* n */
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBound
            astore 4 /* bounds */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] bounds
         4: .line 498
            iconst_0
            istore 5 /* idx */
        start local 5 // int idx
         5: .line 499
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isInterface:()Z
            ifne 7
         6: .line 500
            aload 4 /* bounds */
            iload 5 /* idx */
            iinc 5 /* idx */ 1
            aload 2 /* theta */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* variable */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBound.createBoundOrDependency:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            aastore
         7: .line 501
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBound[] int
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: goto 11
         9: .line 502
      StackMap locals: int
      StackMap stack:
            aload 4 /* bounds */
            iload 5 /* idx */
            iinc 5 /* idx */ 1
            aload 2 /* theta */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 6 /* i */
            aaload
            aload 1 /* variable */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBound.createBoundOrDependency:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            aastore
        10: .line 501
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            if_icmplt 9
        end local 6 // int i
        12: .line 503
            aload 4 /* bounds */
            areturn
        end local 5 // int idx
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] bounds
        end local 3 // int n
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution theta
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   13     1  variable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            0   13     2     theta  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;
            1   13     3         n  I
            4   13     4    bounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            5   13     5       idx  I
            8   12     6         i  I
    MethodParameters:
          Name  Flags
      variable  
      theta     

  boolean hasOnlyRawBounds();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 507
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 3
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            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 3
         1: .line 508
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isRawType:()Z
            ifne 3
         2: .line 509
            iconst_0
            ireturn
         3: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 11
         4: .line 512
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         5: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            istore 2 /* l */
        start local 2 // int l
         6: goto 10
         7: .line 513
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 1 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isRawType:()Z
            ifne 9
         8: .line 514
            iconst_0
            ireturn
         9: .line 512
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 1 /* i */
            iload 2 /* l */
            if_icmplt 7
        end local 2 // int l
        end local 1 // int i
        11: .line 516
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            5   11     1     i  I
            6   11     2     l  I

  public boolean hasTypeBit(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // int bit
         0: .line 521
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.typeBits:I
            ldc 134217728
            if_icmpne 12
         1: .line 523
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.typeBits:I
         2: .line 524
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 4
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ldc -134217729
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.hasTypeBit:(I)Z
            ifeq 4
         3: .line 525
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.typeBits:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.typeBits:I
            sipush 1811
            iand
            ior
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.typeBits:I
         4: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 12
         5: .line 527
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         6: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            istore 3 /* l */
        start local 3 // int l
         7: goto 11
         8: .line 528
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 2 /* i */
            aaload
            ldc -134217729
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.hasTypeBit:(I)Z
            ifeq 10
         9: .line 529
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.typeBits:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 2 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.typeBits:I
            sipush 1811
            iand
            ior
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.typeBits:I
        10: .line 527
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            iload 3 /* l */
            if_icmplt 8
        end local 3 // int l
        end local 2 // int i
        12: .line 531
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.typeBits:I
            iload 1 /* bit */
            iand
            ifeq 13
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        13: iconst_0
            ireturn
        end local 1 // int bit
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   14     1   bit  I
            6   12     2     i  I
            7   12     3     l  I
    MethodParameters:
      Name  Flags
      bit   

  public boolean isErasureBoundTo(org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
         0: .line 538
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.erasure:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* type */
            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 539
            iconst_1
            ireturn
         2: .line 540
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            istore 3 /* length */
        start local 3 // int length
         4: goto 8
         5: .line 541
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 2 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.erasure:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* type */
            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 7
         6: .line 542
            iconst_1
            ireturn
         7: .line 540
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 5
        end local 3 // int length
        end local 2 // int i
         9: .line 544
            iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   10     1    type  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3    9     2       i  I
            4    9     3  length  I
    MethodParameters:
      Name  Flags
      type  

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

  public boolean isInterchangeableWith(org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding, org.eclipse.jdt.internal.compiler.lookup.Substitution);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding otherVariable
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitute
         0: .line 558
            aload 0 /* this */
            aload 1 /* otherVariable */
            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 559
            iconst_1
            ireturn
         2: .line 560
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            istore 3 /* length */
        start local 3 // int length
         3: .line 561
            iload 3 /* length */
            aload 1 /* otherVariable */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            if_icmpeq 5
         4: .line 562
            iconst_0
            ireturn
         5: .line 564
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 2 /* substitute */
            aload 1 /* otherVariable */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            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;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 7
         6: .line 565
            iconst_0
            ireturn
         7: .line 567
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 18
         9: .line 568
      StackMap locals: int
      StackMap stack:
            aload 2 /* substitute */
            aload 1 /* otherVariable */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 4 /* i */
            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;
            astore 5 /* superType */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding superType
        10: .line 569
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        11: goto 15
        12: .line 570
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
      StackMap stack:
            aload 5 /* superType */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            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 14
        13: .line 571
            goto 17
        14: .line 569
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        15: iload 6 /* j */
            iload 3 /* length */
            if_icmplt 12
        end local 6 // int j
        16: .line 572
            iconst_0
            ireturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding superType
        17: .line 567
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 4 /* i */
            iload 3 /* length */
            if_icmplt 9
        end local 4 // int i
        19: .line 574
            iconst_1
            ireturn
        end local 3 // int length
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitute
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding otherVariable
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   20     1  otherVariable  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   20     2     substitute  Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;
            3   20     3         length  I
            8   19     4              i  I
           10   17     5      superType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           11   16     6              j  I
    MethodParameters:
               Name  Flags
      otherVariable  
      substitute     

  public boolean isSubtypeOf(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding other
        start local 2 // boolean simulatingBugJDK8026527
         0: .line 579
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.isSubTypeOfRTL:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 2
         1: .line 580
            iconst_1
            ireturn
         2: .line 581
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 4
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* other */
            iload 2 /* simulatingBugJDK8026527 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isSubtypeOf:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            ifeq 4
         3: .line 582
            iconst_1
            ireturn
         4: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 6
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 1 /* other */
            iload 2 /* simulatingBugJDK8026527 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isSubtypeOf:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            ifeq 6
         5: .line 584
            iconst_1
            ireturn
         6: .line 585
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 14
         7: .line 586
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            istore 4 /* l */
        start local 4 // int l
         9: goto 13
        10: .line 587
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 3 /* i */
            aaload
            aload 1 /* other */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isSubtypeOf:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Z
            ifeq 12
        11: .line 588
            iconst_1
            ireturn
        12: .line 586
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            iload 4 /* l */
            if_icmplt 10
        end local 4 // int l
        end local 3 // int i
        14: .line 589
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_1
            if_icmpne 15
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        15: iconst_0
            ireturn
        end local 2 // boolean simulatingBugJDK8026527
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding other
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   16     0                     this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   16     1                    other  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   16     2  simulatingBugJDK8026527  Z
            8   14     3                        i  I
            9   14     4                        l  I
    MethodParameters:
                         Name  Flags
      other                    
      simulatingBugJDK8026527  

  public boolean enterRecursiveFunction();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 597
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
            ifeq 2
         1: .line 598
            iconst_0
            ireturn
         2: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
         3: .line 600
            iconst_1
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public void exitRecursiveFunction();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 604
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
         1: .line 605
            return
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public boolean enterRecursiveProjectionFunction();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 611
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveProjectionFunction:Z
            ifeq 2
         1: .line 612
            iconst_0
            ireturn
         2: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveProjectionFunction:Z
         3: .line 614
            iconst_1
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public void exitRecursiveProjectionFunction();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 617
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveProjectionFunction:Z
         1: .line 618
            return
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public boolean isProperType(boolean);
    descriptor: (Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // boolean admitCapture18
         0: .line 623
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
            ifeq 2
         1: .line 624
            iconst_1
            ireturn
         2: .line 626
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
         3: .line 628
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 6
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 1 /* admitCapture18 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isProperType:(Z)Z
            ifne 6
         4: .line 638
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
         5: .line 629
            iconst_0
            ireturn
         6: .line 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 15
         7: .line 632
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         8: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            istore 3 /* l */
        start local 3 // int l
         9: goto 14
        10: .line 633
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 2 /* i */
            aaload
            iload 1 /* admitCapture18 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isProperType:(Z)Z
            ifne 13
        11: .line 638
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        12: .line 634
            iconst_0
            ireturn
        13: .line 632
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 2 /* i */
            iload 3 /* l */
            if_icmplt 10
        end local 3 // int l
        end local 2 // int i
        15: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        16: .line 636
            iconst_1
            ireturn
        17: .line 637
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        18: .line 638
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        19: .line 639
            aload 4
            athrow
        end local 1 // boolean admitCapture18
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   20     1  admitCapture18  Z
            8   15     2               i  I
            9   15     3               l  I
      Exception table:
        from    to  target  type
           3     4      17  any
           6    11      17  any
          13    15      17  any
    MethodParameters:
                Name  Flags
      admitCapture18  

  org.eclipse.jdt.internal.compiler.lookup.TypeBinding substituteInferenceVariable(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0000) 
    Code:
      stack=6, locals=11, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable var
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substituteType
         0: .line 644
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
            ifeq 1
            aload 0 /* this */
            areturn
         1: .line 645
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
         2: .line 647
            iconst_0
            istore 3 /* haveSubstitution */
        start local 3 // boolean haveSubstitution
         3: .line 648
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 4 /* currentSuperclass */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding currentSuperclass
         4: .line 649
            aload 4 /* currentSuperclass */
            ifnull 7
         5: .line 650
            aload 4 /* currentSuperclass */
            aload 1 /* var */
            aload 2 /* substituteType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.substituteInferenceVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 4 /* currentSuperclass */
         6: .line 651
            iload 3 /* haveSubstitution */
            aload 4 /* currentSuperclass */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ior
            istore 3 /* haveSubstitution */
         7: .line 653
      StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
      StackMap stack:
            aconst_null
            astore 5 /* currentSuperInterfaces */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] currentSuperInterfaces
         8: .line 654
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 24
         9: .line 655
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            istore 6 /* length */
        start local 6 // int length
        10: .line 656
            iload 3 /* haveSubstitution */
            ifeq 12
        11: .line 657
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iconst_0
            iload 6 /* length */
            anewarray org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            dup
            astore 5 /* currentSuperInterfaces */
            iconst_0
            iload 6 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 658
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        13: goto 23
        14: .line 659
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 7 /* i */
            aaload
            astore 8 /* currentSuperInterface */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding currentSuperInterface
        15: .line 660
            aload 8 /* currentSuperInterface */
            ifnull 22
        16: .line 661
            aload 8 /* currentSuperInterface */
            aload 1 /* var */
            aload 2 /* substituteType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.substituteInferenceVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 8 /* currentSuperInterface */
        17: .line 662
            aload 8 /* currentSuperInterface */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 7 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 22
        18: .line 663
            aload 5 /* currentSuperInterfaces */
            ifnonnull 20
        19: .line 664
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iconst_0
            iload 6 /* length */
            anewarray org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            dup
            astore 5 /* currentSuperInterfaces */
            iconst_0
            iload 6 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        20: .line 665
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
      StackMap stack:
            aload 5 /* currentSuperInterfaces */
            iload 7 /* i */
            aload 8 /* currentSuperInterface */
            aastore
        21: .line 666
            iconst_1
            istore 3 /* haveSubstitution */
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding currentSuperInterface
        22: .line 658
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 7 /* i */
            iload 6 /* length */
            if_icmplt 14
        end local 7 // int i
        end local 6 // int length
        24: .line 671
      StackMap locals:
      StackMap stack:
            iload 3 /* haveSubstitution */
            ifeq 32
        25: .line 672
            new org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.sourceName:[C
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.rank:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokespecial org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.<init>:([CLorg/eclipse/jdt/internal/compiler/lookup/Binding;ILorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
            astore 6 /* newVar */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding newVar
        26: .line 673
            aload 6 /* newVar */
            aload 4 /* currentSuperclass */
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
        27: .line 674
            aload 6 /* newVar */
            aload 5 /* currentSuperInterfaces */
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
        28: .line 675
            aload 6 /* newVar */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
        29: .line 676
            aload 6 /* newVar */
            astore 10
        30: .line 680
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        31: .line 676
            aload 10
            areturn
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding newVar
        32: .line 678
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            astore 10
        33: .line 680
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        34: .line 678
            aload 10
            areturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] currentSuperInterfaces
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding currentSuperclass
        end local 3 // boolean haveSubstitution
        35: .line 679
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: java.lang.Throwable
            astore 9
        36: .line 680
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        37: .line 681
            aload 9
            athrow
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substituteType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable var
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   38     0                    this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   38     1                     var  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            0   38     2          substituteType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3   35     3        haveSubstitution  Z
            4   35     4       currentSuperclass  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            8   35     5  currentSuperInterfaces  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           10   24     6                  length  I
           13   24     7                       i  I
           15   22     8   currentSuperInterface  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           26   32     6                  newVar  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
      Exception table:
        from    to  target  type
           2    30      35  any
          32    33      35  any
    MethodParameters:
                Name  Flags
      var             
      substituteType  

  public boolean isTypeVariable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 689
            iconst_1
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public int kind();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 715
            sipush 4100
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public boolean mentionsAny(org.eclipse.jdt.internal.compiler.lookup.TypeBinding[], int);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
        start local 2 // int idx
         0: .line 720
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
            ifeq 2
         1: .line 721
            iconst_0
            ireturn
         2: .line 722
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
         3: .line 724
            aload 0 /* this */
            aload 1 /* parameters */
            iload 2 /* idx */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.mentionsAny:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Z
            ifeq 6
         4: .line 735
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
         5: .line 725
            iconst_1
            ireturn
         6: .line 726
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 9
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 1 /* parameters */
            iload 2 /* idx */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.mentionsAny:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Z
            ifeq 9
         7: .line 735
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
         8: .line 727
            iconst_1
            ireturn
         9: .line 728
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 17
        10: .line 729
            iconst_0
            istore 3 /* j */
        start local 3 // int j
        11: goto 16
        12: .line 730
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 3 /* j */
            aaload
            aload 1 /* parameters */
            iload 2 /* idx */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.mentionsAny:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Z
            ifeq 15
        13: .line 735
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        14: .line 731
            iconst_1
            ireturn
        15: .line 729
      StackMap locals:
      StackMap stack:
            iinc 3 /* j */ 1
      StackMap locals:
      StackMap stack:
        16: iload 3 /* j */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            if_icmplt 12
        end local 3 // int j
        17: .line 735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        18: .line 733
            iconst_0
            ireturn
        19: .line 734
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        20: .line 735
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        21: .line 736
            aload 4
            athrow
        end local 2 // int idx
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   22     1  parameters  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   22     2         idx  I
           11   17     3           j  I
      Exception table:
        from    to  target  type
           3     4      19  any
           6     7      19  any
           9    13      19  any
          15    17      19  any
    MethodParameters:
            Name  Flags
      parameters  
      idx         

  void collectInferenceVariables(java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // java.util.Set variables
         0: .line 741
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
            ifeq 2
         1: .line 742
            return
         2: .line 743
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
         3: .line 745
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 5
         4: .line 746
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 1 /* variables */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.collectInferenceVariables:(Ljava/util/Set;)V
         5: .line 747
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 15
         6: .line 748
            iconst_0
            istore 2 /* j */
        start local 2 // int j
         7: goto 10
         8: .line 749
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 2 /* j */
            aaload
            aload 1 /* variables */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.collectInferenceVariables:(Ljava/util/Set;)V
         9: .line 748
            iinc 2 /* j */ 1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* j */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            if_icmplt 8
        end local 2 // int j
        11: .line 751
            goto 15
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding java.util.Set
      StackMap stack: java.lang.Throwable
        12: astore 3
        13: .line 752
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        14: .line 753
            aload 3
            athrow
        15: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        16: .line 754
            return
        end local 1 // java.util.Set variables
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   17     1  variables  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            7   11     2          j  I
      Exception table:
        from    to  target  type
           3    12      12  any
    Signature: (Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;)V
    MethodParameters:
           Name  Flags
      variables  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] otherUpperBounds();
    descriptor: ()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 757
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnonnull 2
         1: .line 758
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_TYPES:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
         2: .line 759
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            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 4
         3: .line 760
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            areturn
         4: .line 761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            iconst_1
            isub
            istore 1 /* otherLength */
        start local 1 // int otherLength
         5: .line 762
            iload 1 /* otherLength */
            ifle 9
         6: .line 764
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iconst_1
            iload 1 /* otherLength */
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            dup
            astore 2 /* otherBounds */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] otherBounds
         7: iconst_0
            iload 1 /* otherLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 765
            aload 2 /* otherBounds */
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] otherBounds
         9: .line 767
      StackMap locals: int
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_TYPES:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
        end local 1 // int otherLength
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            5   10     1  otherLength  I
            7    9     2  otherBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;

  public char[] readableName();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 775
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.sourceName:[C
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding resolve();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    flags: (0x0000) 
    Code:
      stack=7, locals=11, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 778
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.modifiers:I
            ldc 33554432
            iand
            ifne 2
         1: .line 779
            aload 0 /* this */
            areturn
         2: .line 781
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            ldc 108086391056891904
            land
            lstore 1 /* nullTagBits */
        start local 1 // long nullTagBits
         3: .line 783
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 3 /* oldSuperclass */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding oldSuperclass
         4: aconst_null
            astore 4 /* oldFirstInterface */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding oldFirstInterface
         5: .line 784
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 14
         6: .line 785
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            iconst_1
            invokestatic org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;Z)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 5 /* resolveType */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding resolveType
         7: .line 786
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            aload 5 /* resolveType */
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.tagBits:J
            ldc 2048
            land
            lor
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
         8: .line 787
            aload 5 /* resolveType */
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.tagBits:J
            ldc 108086391056891904
            land
            lstore 6 /* superNullTagBits */
        start local 6 // long superNullTagBits
         9: .line 788
            lload 6 /* superNullTagBits */
            lconst_0
            lcmp
            ifeq 13
        10: .line 789
            lload 1 /* nullTagBits */
            lconst_0
            lcmp
            ifne 13
        11: .line 790
            lload 6 /* superNullTagBits */
            ldc 72057594037927936
            land
            lconst_0
            lcmp
            ifeq 13
        12: .line 791
            lload 6 /* superNullTagBits */
            lstore 1 /* nullTagBits */
        13: .line 797
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding long org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding long
      StackMap stack:
            aload 0 /* this */
            aload 5 /* resolveType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.setSuperClass:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            pop
        end local 6 // long superNullTagBits
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding resolveType
        14: .line 799
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 5 /* interfaces */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] interfaces
        15: .line 801
            aload 5 /* interfaces */
            arraylength
            dup
            istore 6 /* length */
        start local 6 // int length
        16: ifeq 29
        17: .line 802
            aload 5 /* interfaces */
            iconst_0
            aaload
            astore 4 /* oldFirstInterface */
        18: .line 803
            iload 6 /* length */
            istore 7 /* i */
        start local 7 // int i
        19: goto 28
        20: .line 804
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int int
      StackMap stack:
            aload 5 /* interfaces */
            iload 7 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            iconst_1
            invokestatic org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;Z)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 8 /* resolveType */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding resolveType
        21: .line 805
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            aload 8 /* resolveType */
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.tagBits:J
            ldc 2048
            land
            lor
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
        22: .line 806
            aload 8 /* resolveType */
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.tagBits:J
            ldc 108086391056891904
            land
            lstore 9 /* superNullTagBits */
        start local 9 // long superNullTagBits
        23: .line 807
            lload 9 /* superNullTagBits */
            lconst_0
            lcmp
            ifeq 27
        24: .line 808
            lload 1 /* nullTagBits */
            lconst_0
            lcmp
            ifne 27
        25: .line 809
            lload 9 /* superNullTagBits */
            ldc 72057594037927936
            land
            lconst_0
            lcmp
            ifeq 27
        26: .line 810
            lload 9 /* superNullTagBits */
            lstore 1 /* nullTagBits */
        27: .line 816
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding long
      StackMap stack:
            aload 5 /* interfaces */
            iload 7 /* i */
            aload 8 /* resolveType */
            aastore
        end local 9 // long superNullTagBits
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding resolveType
        28: .line 803
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ -1
            iload 7 /* i */
            ifge 20
        end local 7 // int i
        29: .line 819
      StackMap locals:
      StackMap stack:
            lload 1 /* nullTagBits */
            lconst_0
            lcmp
            ifeq 31
        30: .line 820
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            lload 1 /* nullTagBits */
            ldc 1048576
            lor
            lor
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
        31: .line 823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 37
        32: .line 824
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 3 /* oldSuperclass */
            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 35
        33: .line 825
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.setFirstBound:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            pop
        34: .line 826
            goto 37
      StackMap locals:
      StackMap stack:
        35: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 4 /* oldFirstInterface */
            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 37
        36: .line 827
            aload 0 /* this */
            aload 5 /* interfaces */
            iconst_0
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.setFirstBound:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            pop
        37: .line 830
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.modifiers:I
            ldc -33554433
            iand
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.modifiers:I
        38: .line 831
            aload 0 /* this */
            areturn
        end local 6 // int length
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] interfaces
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding oldFirstInterface
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding oldSuperclass
        end local 1 // long nullTagBits
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   39     0               this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            3   39     1        nullTagBits  J
            4   39     3      oldSuperclass  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            5   39     4  oldFirstInterface  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            7   14     5        resolveType  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            9   14     6   superNullTagBits  J
           15   39     5         interfaces  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           16   39     6             length  I
           19   29     7                  i  I
           21   28     8        resolveType  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           23   28     9   superNullTagBits  J

  public void setTypeAnnotations(org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding[], boolean);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding[] annotations
        start local 2 // boolean evalNullAnnotations
         0: .line 836
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            if_acmpne 3
         1: .line 840
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            getfield org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.typeSystem:Lorg/eclipse/jdt/internal/compiler/lookup/TypeSystem;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeSystem.forceRegisterAsDerived:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
         2: .line 841
            goto 4
         3: .line 842
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getUnannotatedType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            pop
         4: .line 844
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* annotations */
            iload 2 /* evalNullAnnotations */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.setTypeAnnotations:([Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;Z)V
         5: .line 845
            return
        end local 2 // boolean evalNullAnnotations
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding[] annotations
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0    6     1          annotations  [Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            0    6     2  evalNullAnnotations  Z
    MethodParameters:
                     Name  Flags
      annotations          
      evalNullAnnotations  

  public char[] shortReadableName();
    descriptor: ()[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 851
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.readableName:()[C
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

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

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

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 868
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.hasTypeAnnotations:()Z
            ifeq 2
         1: .line 869
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.annotatedDebugName:()Ljava/lang/String;
            areturn
         2: .line 870
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            bipush 10
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuffer buffer
         3: .line 871
            aload 1 /* buffer */
            bipush 60
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.sourceName:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         4: .line 872
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 6
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            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
         5: .line 873
            aload 1 /* buffer */
            ldc " extends "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.debugName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 875
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 17
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_SUPERINTERFACES:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            if_acmpeq 17
         7: .line 876
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 9
         8: .line 877
            aload 1 /* buffer */
            ldc " extends "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         9: .line 879
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        10: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            istore 3 /* length */
        start local 3 // int length
        11: goto 16
        12: .line 880
      StackMap locals: int int
      StackMap stack:
            iload 2 /* i */
            ifgt 13
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            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 14
        13: .line 881
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            ldc " & "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        14: .line 883
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 2 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.debugName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 879
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 12
        end local 3 // int length
        end local 2 // int i
        17: .line 886
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            bipush 62
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        18: .line 887
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0    this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            3   19     1  buffer  Ljava/lang/StringBuffer;
           10   17     2       i  I
           11   17     3  length  I

  public char[] nullAnnotatedReadableName(org.eclipse.jdt.internal.compiler.impl.CompilerOptions, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;Z)[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions options
        start local 2 // boolean shortNames
         0: .line 892
            new java.lang.StringBuffer
            dup
            bipush 10
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 3 /* nameBuffer */
        start local 3 // java.lang.StringBuffer nameBuffer
         1: .line 893
            aload 0 /* this */
            aload 3 /* nameBuffer */
            aload 1 /* options */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.appendNullAnnotation:(Ljava/lang/StringBuffer;Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;)V
         2: .line 894
            aload 3 /* nameBuffer */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.sourceName:()[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         3: .line 895
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
            ifne 23
         4: .line 896
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
         5: .line 898
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 7
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            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 7
         6: .line 899
            aload 3 /* nameBuffer */
            ldc " extends "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 1 /* options */
            iload 2 /* shortNames */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.nullAnnotatedReadableName:(Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;Z)[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         7: .line 901
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 22
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_SUPERINTERFACES:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            if_acmpeq 22
         8: .line 902
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 10
         9: .line 903
            aload 3 /* nameBuffer */
            ldc " extends "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 905
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            istore 5 /* length */
        start local 5 // int length
        12: goto 17
        13: .line 906
      StackMap locals: int int
      StackMap stack:
            iload 4 /* i */
            ifgt 14
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            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 15
        14: .line 907
      StackMap locals:
      StackMap stack:
            aload 3 /* nameBuffer */
            ldc " & "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 909
      StackMap locals:
      StackMap stack:
            aload 3 /* nameBuffer */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 4 /* i */
            aaload
            aload 1 /* options */
            iload 2 /* shortNames */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.nullAnnotatedReadableName:(Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;Z)[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        16: .line 905
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 13
        end local 5 // int length
        end local 4 // int i
        18: .line 912
            goto 22
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding org.eclipse.jdt.internal.compiler.impl.CompilerOptions int java.lang.StringBuffer
      StackMap stack: java.lang.Throwable
        19: astore 6
        20: .line 913
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        21: .line 914
            aload 6
            athrow
        22: .line 913
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        23: .line 916
      StackMap locals:
      StackMap stack:
            aload 3 /* nameBuffer */
            invokevirtual java.lang.StringBuffer.length:()I
            istore 4 /* nameLength */
        start local 4 // int nameLength
        24: .line 917
            iload 4 /* nameLength */
            newarray 5
            astore 5 /* readableName */
        start local 5 // char[] readableName
        25: .line 918
            aload 3 /* nameBuffer */
            iconst_0
            iload 4 /* nameLength */
            aload 5 /* readableName */
            iconst_0
            invokevirtual java.lang.StringBuffer.getChars:(II[CI)V
        26: .line 919
            aload 5 /* readableName */
            areturn
        end local 5 // char[] readableName
        end local 4 // int nameLength
        end local 3 // java.lang.StringBuffer nameBuffer
        end local 2 // boolean shortNames
        end local 1 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions options
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0          this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   27     1       options  Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            0   27     2    shortNames  Z
            1   27     3    nameBuffer  Ljava/lang/StringBuffer;
           11   18     4             i  I
           12   18     5        length  I
           24   27     4    nameLength  I
           25   27     5  readableName  [C
      Exception table:
        from    to  target  type
           5    19      19  any
    MethodParameters:
            Name  Flags
      options     
      shortNames  

  protected void appendNullAnnotation(java.lang.StringBuffer, org.eclipse.jdt.internal.compiler.impl.CompilerOptions);
    descriptor: (Ljava/lang/StringBuffer;Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // java.lang.StringBuffer nameBuffer
        start local 2 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions options
         0: .line 924
            aload 1 /* nameBuffer */
            invokevirtual java.lang.StringBuffer.length:()I
            istore 3 /* oldSize */
        start local 3 // int oldSize
         1: .line 925
            aload 0 /* this */
            aload 1 /* nameBuffer */
            aload 2 /* options */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.appendNullAnnotation:(Ljava/lang/StringBuffer;Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;)V
         2: .line 926
            iload 3 /* oldSize */
            aload 1 /* nameBuffer */
            invokevirtual java.lang.StringBuffer.length:()I
            if_icmpne 14
         3: .line 927
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.hasNullTypeAnnotations:()Z
            ifeq 14
         4: .line 929
            aconst_null
            astore 4 /* typeVariables */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] typeVariables
         5: .line 930
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            ifeq 8
         6: .line 931
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.typeVariables:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            astore 4 /* typeVariables */
         7: .line 932
            goto 10
      StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[]
      StackMap stack:
         8: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.MethodBinding
            ifeq 10
         9: .line 933
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.MethodBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            astore 4 /* typeVariables */
        10: .line 935
      StackMap locals:
      StackMap stack:
            aload 4 /* typeVariables */
            ifnull 14
            aload 4 /* typeVariables */
            arraylength
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.rank:I
            if_icmple 14
        11: .line 936
            aload 4 /* typeVariables */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.rank:I
            aaload
            astore 5 /* prototype */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding prototype
        12: .line 937
            aload 5 /* prototype */
            aload 0 /* this */
            if_acmpeq 14
        13: .line 938
            aload 5 /* prototype */
            aload 1 /* nameBuffer */
            aload 2 /* options */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.appendNullAnnotation:(Ljava/lang/StringBuffer;Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;)V
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding prototype
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] typeVariables
        14: .line 942
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int oldSize
        end local 2 // org.eclipse.jdt.internal.compiler.impl.CompilerOptions options
        end local 1 // java.lang.StringBuffer nameBuffer
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   15     1     nameBuffer  Ljava/lang/StringBuffer;
            0   15     2        options  Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            1   15     3        oldSize  I
            5   14     4  typeVariables  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
           12   14     5      prototype  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
    MethodParameters:
            Name  Flags
      nameBuffer  
      options     

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding unannotated();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 946
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.hasTypeAnnotations:()Z
            ifeq 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getUnannotatedType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
         2: areturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding withoutToplevelNullAnnotation();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 951
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.hasNullTypeAnnotations:()Z
            ifne 2
         1: .line 952
            aload 0 /* this */
            areturn
         2: .line 953
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getUnannotatedType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 1 /* unannotated */
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding unannotated
         3: .line 954
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.typeAnnotations:[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.filterNullTypeAnnotations:([Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            astore 2 /* newAnnotations */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding[] newAnnotations
         4: .line 955
            aload 2 /* newAnnotations */
            arraylength
            ifle 6
         5: .line 956
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 1 /* unannotated */
            aload 2 /* newAnnotations */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createAnnotatedType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
         6: .line 957
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding[]
      StackMap stack:
            aload 1 /* unannotated */
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding[] newAnnotations
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding unannotated
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            3    7     1     unannotated  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            4    7     2  newAnnotations  [Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding upperBound();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 963
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 2
         1: .line 964
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
         2: .line 966
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] allUpperBounds();
    descriptor: ()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 970
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnonnull 2
         1: .line 971
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            areturn
         2: .line 972
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 3
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            ifne 4
         3: .line 973
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            dup
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aastore
            areturn
         4: .line 974
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            arraylength
            istore 1 /* nInterfaces */
        start local 1 // int nInterfaces
         5: .line 975
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iload 1 /* nInterfaces */
            iconst_1
            iadd
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
            astore 2 /* all */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] all
         6: .line 976
            aload 2 /* all */
            iload 1 /* nInterfaces */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aastore
         7: .line 977
            aload 2 /* all */
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] all
        end local 1 // int nInterfaces
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            5    8     1  nInterfaces  I
            6    8     2          all  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;

  public void evaluateNullAnnotations(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.ast.TypeParameter);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=11, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 2 // org.eclipse.jdt.internal.compiler.ast.TypeParameter parameter
         0: .line 981
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            invokestatic org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.validNullTagBits:(J)J
            lstore 3 /* nullTagBits */
        start local 3 // long nullTagBits
         1: .line 982
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 11
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isValidBinding:()Z
            ifeq 11
         2: .line 983
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            invokestatic org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.validNullTagBits:(J)J
            lstore 5 /* superNullTagBits */
        start local 5 // long superNullTagBits
         3: .line 984
            lload 5 /* superNullTagBits */
            lconst_0
            lcmp
            ifeq 11
         4: .line 985
            lload 3 /* nullTagBits */
            lconst_0
            lcmp
            ifne 8
         5: .line 986
            lload 5 /* superNullTagBits */
            ldc 72057594037927936
            land
            lconst_0
            lcmp
            ifeq 11
         6: .line 987
            lload 5 /* superNullTagBits */
            lstore 3 /* nullTagBits */
         7: .line 989
            goto 11
      StackMap locals: long long
      StackMap stack:
         8: lload 5 /* superNullTagBits */
            lload 3 /* nullTagBits */
            lcmp
            ifeq 11
         9: .line 990
            aload 2 /* parameter */
            ifnull 11
        10: .line 991
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* parameter */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            lload 5 /* superNullTagBits */
            lload 3 /* nullTagBits */
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.nullMismatchOnBound:(Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;JJLorg/eclipse/jdt/internal/compiler/lookup/Scope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        end local 5 // long superNullTagBits
        11: .line 995
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 5 /* interfaces */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] interfaces
        12: .line 997
            aload 5 /* interfaces */
            ifnull 27
            aload 5 /* interfaces */
            arraylength
            dup
            istore 6 /* length */
        start local 6 // int length
        13: ifeq 27
        14: .line 998
            iload 6 /* length */
            istore 7 /* i */
        start local 7 // int i
        15: goto 26
        16: .line 999
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int int
      StackMap stack:
            aload 5 /* interfaces */
            iload 7 /* i */
            aaload
            astore 8 /* resolveType */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding resolveType
        17: .line 1000
            aload 8 /* resolveType */
            getfield org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.tagBits:J
            invokestatic org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching.validNullTagBits:(J)J
            lstore 9 /* superNullTagBits */
        start local 9 // long superNullTagBits
        18: .line 1001
            lload 9 /* superNullTagBits */
            lconst_0
            lcmp
            ifeq 26
        19: .line 1002
            lload 3 /* nullTagBits */
            lconst_0
            lcmp
            ifne 23
        20: .line 1003
            lload 9 /* superNullTagBits */
            ldc 72057594037927936
            land
            lconst_0
            lcmp
            ifeq 26
        21: .line 1004
            lload 9 /* superNullTagBits */
            lstore 3 /* nullTagBits */
        22: .line 1006
            goto 26
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding long
      StackMap stack:
        23: lload 9 /* superNullTagBits */
            lload 3 /* nullTagBits */
            lcmp
            ifeq 26
        24: .line 1007
            aload 2 /* parameter */
            ifnull 26
        25: .line 1008
            aload 5 /* interfaces */
            iload 7 /* i */
            aload 0 /* this */
            aload 2 /* parameter */
            aload 8 /* resolveType */
            lload 9 /* superNullTagBits */
            lload 3 /* nullTagBits */
            aload 1 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.nullMismatchOnBound:(Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;JJLorg/eclipse/jdt/internal/compiler/lookup/Scope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            aastore
        end local 9 // long superNullTagBits
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding resolveType
        26: .line 998
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ -1
            iload 7 /* i */
            ifge 16
        end local 7 // int i
        end local 6 // int length
        27: .line 1013
      StackMap locals:
      StackMap stack:
            lload 3 /* nullTagBits */
            lconst_0
            lcmp
            ifeq 29
        28: .line 1014
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            lload 3 /* nullTagBits */
            ldc 1048576
            lor
            lor
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
        29: .line 1015
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] interfaces
        end local 3 // long nullTagBits
        end local 2 // org.eclipse.jdt.internal.compiler.ast.TypeParameter parameter
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   30     0              this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   30     1             scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0   30     2         parameter  Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;
            1   30     3       nullTagBits  J
            3   11     5  superNullTagBits  J
           12   30     5        interfaces  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           13   27     6            length  I
           15   27     7                 i  I
           17   26     8       resolveType  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           18   26     9  superNullTagBits  J
    MethodParameters:
           Name  Flags
      scope      
      parameter  

  private org.eclipse.jdt.internal.compiler.lookup.TypeBinding nullMismatchOnBound(org.eclipse.jdt.internal.compiler.ast.TypeParameter, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, long, long, org.eclipse.jdt.internal.compiler.lookup.Scope);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;JJLorg/eclipse/jdt/internal/compiler/lookup/Scope;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.ast.TypeParameter parameter
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding boundType
        start local 3 // long superNullTagBits
        start local 5 // long nullTagBits
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
         0: .line 1018
            aload 0 /* this */
            aload 2 /* boundType */
            aload 1 /* parameter */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.findBound:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;)Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            astore 8 /* bound */
        start local 8 // org.eclipse.jdt.internal.compiler.ast.TypeReference bound
         1: .line 1019
            aload 8 /* bound */
            lload 3 /* superNullTagBits */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.findAnnotation:(J)Lorg/eclipse/jdt/internal/compiler/ast/Annotation;
            astore 9 /* ann */
        start local 9 // org.eclipse.jdt.internal.compiler.ast.Annotation ann
         2: .line 1020
            aload 9 /* ann */
            ifnull 6
         3: .line 1022
            aload 7 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope.problemReporter:()Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            aload 9 /* ann */
            lload 5 /* nullTagBits */
            invokevirtual org.eclipse.jdt.internal.compiler.problem.ProblemReporter.contradictoryNullAnnotationsOnBounds:(Lorg/eclipse/jdt/internal/compiler/ast/Annotation;J)V
         4: .line 1023
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            ldc -108086391056891905
            land
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
         5: .line 1024
            goto 7
         6: .line 1026
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.TypeReference org.eclipse.jdt.internal.compiler.ast.Annotation
      StackMap stack:
            aload 2 /* boundType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.withoutToplevelNullAnnotation:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
         7: .line 1028
      StackMap locals:
      StackMap stack:
            aload 2 /* boundType */
            areturn
        end local 9 // org.eclipse.jdt.internal.compiler.ast.Annotation ann
        end local 8 // org.eclipse.jdt.internal.compiler.ast.TypeReference bound
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 5 // long nullTagBits
        end local 3 // long superNullTagBits
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding boundType
        end local 1 // org.eclipse.jdt.internal.compiler.ast.TypeParameter parameter
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0    8     1         parameter  Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;
            0    8     2         boundType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    8     3  superNullTagBits  J
            0    8     5       nullTagBits  J
            0    8     7             scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            1    8     8             bound  Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            2    8     9               ann  Lorg/eclipse/jdt/internal/compiler/ast/Annotation;
    MethodParameters:
                  Name  Flags
      parameter         
      boundType         
      superNullTagBits  
      nullTagBits       
      scope             

  private org.eclipse.jdt.internal.compiler.ast.TypeReference findBound(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.ast.TypeParameter);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;)Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bound
        start local 2 // org.eclipse.jdt.internal.compiler.ast.TypeParameter parameter
         0: .line 1031
            aload 2 /* parameter */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeParameter.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            ifnull 2
            aload 2 /* parameter */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeParameter.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            getfield org.eclipse.jdt.internal.compiler.ast.TypeReference.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* bound */
            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 1032
            aload 2 /* parameter */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeParameter.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            areturn
         2: .line 1033
      StackMap locals:
      StackMap stack:
            aload 2 /* parameter */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeParameter.bounds:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            astore 3 /* bounds */
        start local 3 // org.eclipse.jdt.internal.compiler.ast.TypeReference[] bounds
         3: .line 1034
            aload 3 /* bounds */
            ifnull 10
         4: .line 1035
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 9
         6: .line 1036
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.TypeReference[] int
      StackMap stack:
            aload 3 /* bounds */
            iload 4 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.ast.TypeReference.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* bound */
            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
         7: .line 1037
            aload 3 /* bounds */
            iload 4 /* i */
            aaload
            areturn
         8: .line 1035
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 3 /* bounds */
            arraylength
            if_icmplt 6
        end local 4 // int i
        10: .line 1040
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.ast.TypeReference[] bounds
        end local 2 // org.eclipse.jdt.internal.compiler.ast.TypeParameter parameter
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bound
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   11     1      bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   11     2  parameter  Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;
            3   11     3     bounds  [Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            5   10     4          i  I
    MethodParameters:
           Name  Flags
      bound      
      parameter  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding setFirstBound(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=5, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding firstBound
         0: .line 1047
            aload 0 /* this */
            aload 1 /* firstBound */
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
         1: .line 1048
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            ldc 8388608
            land
            lconst_0
            lcmp
            ifeq 12
         2: .line 1049
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.getDerivedTypesForDeferredInitialization:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 2 /* annotatedTypes */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] annotatedTypes
         3: .line 1050
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: aload 2 /* annotatedTypes */
            ifnonnull 5
            iconst_0
            goto 6
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
      StackMap stack:
         5: aload 2 /* annotatedTypes */
            arraylength
      StackMap locals:
      StackMap stack: int
         6: istore 4 /* length */
        start local 4 // int length
         7: goto 11
         8: .line 1051
      StackMap locals: int
      StackMap stack:
            aload 2 /* annotatedTypes */
            iload 3 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            astore 5 /* annotatedType */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding annotatedType
         9: .line 1052
            aload 5 /* annotatedType */
            aload 1 /* firstBound */
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding annotatedType
        10: .line 1050
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 8
        end local 4 // int length
        end local 3 // int i
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] annotatedTypes
        12: .line 1055
      StackMap locals:
      StackMap stack:
            aload 1 /* firstBound */
            ifnull 14
            aload 1 /* firstBound */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.hasNullTypeAnnotations:()Z
            ifeq 14
        13: .line 1056
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            ldc 1048576
            lor
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
        14: .line 1057
      StackMap locals:
      StackMap stack:
            aload 1 /* firstBound */
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding firstBound
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   15     1      firstBound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3   12     2  annotatedTypes  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            4   12     3               i  I
            7   12     4          length  I
            9   10     5   annotatedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
    MethodParameters:
            Name  Flags
      firstBound  

  public org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding setSuperClass(org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding superclass
         0: .line 1063
            aload 0 /* this */
            aload 1 /* superclass */
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
         1: .line 1064
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            ldc 8388608
            land
            lconst_0
            lcmp
            ifeq 12
         2: .line 1065
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.getDerivedTypesForDeferredInitialization:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 2 /* annotatedTypes */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] annotatedTypes
         3: .line 1066
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: aload 2 /* annotatedTypes */
            ifnonnull 5
            iconst_0
            goto 6
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
      StackMap stack:
         5: aload 2 /* annotatedTypes */
            arraylength
      StackMap locals:
      StackMap stack: int
         6: istore 4 /* length */
        start local 4 // int length
         7: goto 11
         8: .line 1067
      StackMap locals: int
      StackMap stack:
            aload 2 /* annotatedTypes */
            iload 3 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            astore 5 /* annotatedType */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding annotatedType
         9: .line 1068
            aload 5 /* annotatedType */
            aload 1 /* superclass */
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding annotatedType
        10: .line 1066
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 8
        end local 4 // int length
        end local 3 // int i
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] annotatedTypes
        12: .line 1071
      StackMap locals:
      StackMap stack:
            aload 1 /* superclass */
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding superclass
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   13     1      superclass  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            3   12     2  annotatedTypes  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            4   12     3               i  I
            7   12     4          length  I
            9   10     5   annotatedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
    MethodParameters:
            Name  Flags
      superclass  

  public org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] setSuperInterfaces(org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] superInterfaces
         0: .line 1077
            aload 0 /* this */
            aload 1 /* superInterfaces */
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
         1: .line 1078
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            ldc 8388608
            land
            lconst_0
            lcmp
            ifeq 12
         2: .line 1079
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.getDerivedTypesForDeferredInitialization:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 2 /* annotatedTypes */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] annotatedTypes
         3: .line 1080
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: aload 2 /* annotatedTypes */
            ifnonnull 5
            iconst_0
            goto 6
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int
      StackMap stack:
         5: aload 2 /* annotatedTypes */
            arraylength
      StackMap locals:
      StackMap stack: int
         6: istore 4 /* length */
        start local 4 // int length
         7: goto 11
         8: .line 1081
      StackMap locals: int
      StackMap stack:
            aload 2 /* annotatedTypes */
            iload 3 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            astore 5 /* annotatedType */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding annotatedType
         9: .line 1082
            aload 5 /* annotatedType */
            aload 1 /* superInterfaces */
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding annotatedType
        10: .line 1080
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 8
        end local 4 // int length
        end local 3 // int i
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] annotatedTypes
        12: .line 1085
      StackMap locals:
      StackMap stack:
            aload 1 /* superInterfaces */
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] superInterfaces
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   13     1  superInterfaces  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            3   12     2   annotatedTypes  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            4   12     3                i  I
            7   12     4           length  I
            9   10     5    annotatedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
    MethodParameters:
                 Name  Flags
      superInterfaces  

  protected org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] getDerivedTypesForDeferredInitialization();
    descriptor: ()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 1089
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getAnnotatedTypes:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding combineTypeAnnotations(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=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitute
         0: .line 1093
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.hasTypeAnnotations:()Z
            ifeq 5
         1: .line 1095
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.hasRelevantTypeUseNullAnnotations:()Z
            ifeq 3
         2: .line 1097
            aload 1 /* substitute */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.withoutToplevelNullAnnotation:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 1 /* substitute */
         3: .line 1099
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.typeAnnotations:[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_ANNOTATIONS:[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            if_acmpeq 5
         4: .line 1100
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 1 /* substitute */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.typeAnnotations:[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createAnnotatedType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
         5: .line 1103
      StackMap locals:
      StackMap stack:
            aload 1 /* substitute */
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitute
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0    6     1  substitute  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
            Name  Flags
      substitute  

  private boolean hasRelevantTypeUseNullAnnotations();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 1108
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            ifeq 3
         1: .line 1109
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.typeVariables:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            astore 1 /* parameters */
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] parameters
         2: .line 1110
            goto 7
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] parameters
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.MethodBinding
            ifeq 6
         4: .line 1111
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.MethodBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.typeVariables:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            astore 1 /* parameters */
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] parameters
         5: .line 1112
            goto 7
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] parameters
         6: .line 1113
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected declaring element:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Binding.readableName:()[C
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] parameters
         7: .line 1115
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[]
      StackMap stack:
            aload 1 /* parameters */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.rank:I
            aaload
            astore 2 /* parameter */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding parameter
         8: .line 1117
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            ldc 108086391056891904
            land
            lstore 3 /* currentNullBits */
        start local 3 // long currentNullBits
         9: .line 1118
            aload 2 /* parameter */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            ldc 108086391056891904
            land
            lstore 5 /* declarationNullBits */
        start local 5 // long declarationNullBits
        10: .line 1119
            lload 3 /* currentNullBits */
            lload 5 /* declarationNullBits */
            ldc -1
            lxor
            land
            lconst_0
            lcmp
            ifeq 11
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding long long
      StackMap stack:
        11: iconst_0
            ireturn
        end local 5 // long declarationNullBits
        end local 3 // long currentNullBits
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding parameter
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] parameters
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   12     0                 this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            2    3     1           parameters  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            5    6     1           parameters  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            7   12     1           parameters  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            8   12     2            parameter  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            9   12     3      currentNullBits  J
           10   12     5  declarationNullBits  J

  public boolean acceptsNonNullDefault();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 1124
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public long updateTagBits();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 1129
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
            ifne 15
         1: .line 1130
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
         2: .line 1132
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 4
         3: .line 1133
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.updateTagBits:()J
            lor
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
         4: .line 1134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnull 14
         5: .line 1135
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 9
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding top int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
         6: aload 4
            iload 2
            aaload
            astore 1 /* superIfc */
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding superIfc
         7: .line 1136
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            aload 1 /* superIfc */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.updateTagBits:()J
            lor
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding superIfc
         8: .line 1135
            iinc 2 1
      StackMap locals:
      StackMap stack:
         9: iload 2
            iload 3
            if_icmplt 6
        10: .line 1137
            goto 14
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
      StackMap stack: java.lang.Throwable
        11: astore 5
        12: .line 1138
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        13: .line 1139
            aload 5
            athrow
        14: .line 1138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.inRecursiveFunction:Z
        15: .line 1141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.updateTagBits:()J
            lreturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            7    8     1  superIfc  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
      Exception table:
        from    to  target  type
           2    11      11  any

  public boolean isFreeTypeVariable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
         0: .line 1146
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.usesNullTypeAnnotations:()Z
            ifeq 4
         1: .line 1147
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            getfield org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.globalOptions:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.pessimisticNullAnalysisForFreeTypeVariablesEnabled:Z
            ifeq 4
         2: .line 1148
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.tagBits:J
            ldc 108086391056891904
            land
            lconst_0
            lcmp
            ifne 4
         3: .line 1146
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;

  public org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding upwardsProjection(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] mentionedTypeVariables
         0: .line 1153
            aload 0 /* this */
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] mentionedTypeVariables
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    1     0                    this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0    1     1                   scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0    1     2  mentionedTypeVariables  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
                        Name  Flags
      scope                   
      mentionedTypeVariables  

  public org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding downwardsProjection(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] mentionedTypeVariables
         0: .line 1158
            aload 0 /* this */
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] mentionedTypeVariables
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Scope scope
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    1     0                    this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0    1     1                   scope  Lorg/eclipse/jdt/internal/compiler/lookup/Scope;
            0    1     2  mentionedTypeVariables  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
                        Name  Flags
      scope                   
      mentionedTypeVariables  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding upwardsProjection(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.upwardsProjection:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding downwardsProjection(org.eclipse.jdt.internal.compiler.lookup.Scope, org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Scope;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.downwardsProjection:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "TypeVariableBinding.java"
InnerClasses:
  public CheckMode = org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching$CheckMode of org.eclipse.jdt.internal.compiler.ast.NullAnnotationMatching
  public final BoundCheckStatus = org.eclipse.jdt.internal.compiler.lookup.TypeConstants$BoundCheckStatus of org.eclipse.jdt.internal.compiler.lookup.TypeConstants