public class org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor
  super_class: java.lang.Object
{
  private org.eclipse.jdt.internal.compiler.util.SimpleLookupTable visitedCache;
    descriptor: Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
         0: .line 20
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
         0: .line 25
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visitedCache:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
         1: .line 26
            return
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;

  public boolean visit(org.eclipse.jdt.internal.compiler.lookup.BaseTypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BaseTypeBinding baseTypeBinding
         0: .line 29
            iconst_1
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BaseTypeBinding baseTypeBinding
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;
            0    1     1  baseTypeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;
    MethodParameters:
                 Name  Flags
      baseTypeBinding  

  public boolean visit(org.eclipse.jdt.internal.compiler.lookup.ArrayBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ArrayBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ArrayBinding arrayBinding
         0: .line 33
            iconst_1
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ArrayBinding arrayBinding
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;
            0    1     1  arrayBinding  Lorg/eclipse/jdt/internal/compiler/lookup/ArrayBinding;
    MethodParameters:
              Name  Flags
      arrayBinding  

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

  public boolean visit(org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding referenceBinding
         0: .line 41
            iconst_1
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding referenceBinding
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;
            0    1     1  referenceBinding  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    MethodParameters:
                  Name  Flags
      referenceBinding  

  public boolean visit(org.eclipse.jdt.internal.compiler.lookup.WildcardBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/WildcardBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.WildcardBinding wildcardBinding
         0: .line 45
            iconst_1
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.WildcardBinding wildcardBinding
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;
            0    1     1  wildcardBinding  Lorg/eclipse/jdt/internal/compiler/lookup/WildcardBinding;
    MethodParameters:
                 Name  Flags
      wildcardBinding  

  public boolean visit(org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding parameterizedTypeBinding
         0: .line 49
            iconst_1
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding parameterizedTypeBinding
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    1     0                      this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;
            0    1     1  parameterizedTypeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
    MethodParameters:
                          Name  Flags
      parameterizedTypeBinding  

  public boolean visit(org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/IntersectionTypeBinding18;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18 intersectionTypeBinding18
         0: .line 53
            iconst_1
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18 intersectionTypeBinding18
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    1     0                       this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;
            0    1     1  intersectionTypeBinding18  Lorg/eclipse/jdt/internal/compiler/lookup/IntersectionTypeBinding18;
    MethodParameters:
                           Name  Flags
      intersectionTypeBinding18  

  public boolean visit(org.eclipse.jdt.internal.compiler.lookup.RawTypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/RawTypeBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.RawTypeBinding rawTypeBinding
         0: .line 57
            iconst_1
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.RawTypeBinding rawTypeBinding
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;
            0    1     1  rawTypeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/RawTypeBinding;
    MethodParameters:
                Name  Flags
      rawTypeBinding  

  public boolean visit(org.eclipse.jdt.internal.compiler.lookup.PolyTypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/PolyTypeBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.PolyTypeBinding polyTypeBinding
         0: .line 61
            iconst_1
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.PolyTypeBinding polyTypeBinding
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;
            0    1     1  polyTypeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/PolyTypeBinding;
    MethodParameters:
                 Name  Flags
      polyTypeBinding  

  public static void visit(org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor, org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor visitor
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] types
         0: .line 65
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: aload 1 /* types */
            ifnonnull 2
            iconst_0
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 1 /* types */
            arraylength
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* length */
        start local 3 // int length
         4: goto 7
         5: .line 66
      StackMap locals: int
      StackMap stack:
            aload 0 /* visitor */
            aload 1 /* types */
            iload 2 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
         6: .line 65
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 5
        end local 3 // int length
        end local 2 // int i
         8: .line 68
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] types
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor visitor
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0  visitor  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;
            0    9     1    types  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            1    8     2        i  I
            4    8     3   length  I
    MethodParameters:
         Name  Flags
      visitor  
      types    

  public static void visit(org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor visitor
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
         0: .line 72
            aload 1 /* type */
            ifnonnull 2
         1: .line 73
            return
         2: .line 75
      StackMap locals:
      StackMap stack:
            aload 0 /* visitor */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visitedCache:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            astore 2 /* visitedCache */
        start local 2 // org.eclipse.jdt.internal.compiler.util.SimpleLookupTable visitedCache
         3: .line 76
            aload 2 /* visitedCache */
            ifnonnull 6
         4: .line 77
            aload 0 /* visitor */
            new org.eclipse.jdt.internal.compiler.util.SimpleLookupTable
            dup
            iconst_3
            invokespecial org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.<init>:(I)V
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visitedCache:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
         5: .line 78
            aload 0 /* visitor */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visitedCache:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            astore 2 /* visitedCache */
         6: .line 81
      StackMap locals: org.eclipse.jdt.internal.compiler.util.SimpleLookupTable
      StackMap stack:
            aload 2 /* visitedCache */
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         7: .line 82
            aload 3 /* result */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            if_acmpne 9
         8: .line 83
            return
         9: .line 84
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* visitedCache */
            aload 1 /* type */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 85
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
            lookupswitch { // 11
                    4: 36
                   68: 22
                  132: 32
                  260: 17
                  516: 26
                 1028: 34
                 2052: 36
                 4100: 11
                 8196: 26
                32772: 41
                65540: 45
              default: 47
          }
        11: .line 88
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            astore 4 /* typeVariableBinding */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding typeVariableBinding
        12: .line 89
            aload 0 /* visitor */
            aload 4 /* typeVariableBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;)Z
            ifeq 48
        13: .line 90
            aload 0 /* visitor */
            aload 4 /* typeVariableBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        14: .line 91
            aload 0 /* visitor */
            aload 4 /* typeVariableBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superclass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        15: .line 92
            aload 0 /* visitor */
            aload 4 /* typeVariableBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)V
        16: .line 94
            goto 48
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding typeVariableBinding
        17: .line 97
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            astore 5 /* parameterizedTypeBinding */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding parameterizedTypeBinding
        18: .line 98
            aload 0 /* visitor */
            aload 5 /* parameterizedTypeBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;)Z
            ifeq 48
        19: .line 99
            aload 0 /* visitor */
            aload 5 /* parameterizedTypeBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.enclosingType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        20: .line 100
            aload 0 /* visitor */
            aload 5 /* parameterizedTypeBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        21: .line 102
            goto 48
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding parameterizedTypeBinding
        22: .line 105
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
            astore 6 /* arrayBinding */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.ArrayBinding arrayBinding
        23: .line 106
            aload 0 /* visitor */
            aload 6 /* arrayBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/ArrayBinding;)Z
            ifeq 48
        24: .line 107
            aload 0 /* visitor */
            aload 6 /* arrayBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.leafComponentType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        25: .line 108
            goto 48
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.ArrayBinding arrayBinding
        26: .line 112
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            checkcast org.eclipse.jdt.internal.compiler.lookup.WildcardBinding
            astore 7 /* wildcard */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.WildcardBinding wildcard
        27: .line 113
            aload 0 /* visitor */
            aload 7 /* wildcard */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/WildcardBinding;)Z
            ifeq 48
        28: .line 114
            aload 7 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.boundKind:I
            ifeq 48
        29: .line 115
            aload 0 /* visitor */
            aload 7 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.bound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        30: .line 116
            aload 0 /* visitor */
            aload 7 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.otherBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        31: .line 119
            goto 48
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.WildcardBinding wildcard
        32: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* visitor */
            aload 1 /* type */
            checkcast org.eclipse.jdt.internal.compiler.lookup.BaseTypeBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/BaseTypeBinding;)Z
            pop
        33: .line 123
            goto 48
        34: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* visitor */
            aload 1 /* type */
            checkcast org.eclipse.jdt.internal.compiler.lookup.RawTypeBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/RawTypeBinding;)Z
            pop
        35: .line 127
            goto 48
        36: .line 131
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 8 /* referenceBinding */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding referenceBinding
        37: .line 132
            aload 0 /* visitor */
            aload 8 /* referenceBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ifeq 48
        38: .line 133
            aload 0 /* visitor */
            aload 8 /* referenceBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.enclosingType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        39: .line 134
            aload 0 /* visitor */
            aload 8 /* referenceBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.typeVariables:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)V
        40: .line 136
            goto 48
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding referenceBinding
        41: .line 139
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            checkcast org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18
            astore 9 /* intersectionTypeBinding18 */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18 intersectionTypeBinding18
        42: .line 140
            aload 0 /* visitor */
            aload 9 /* intersectionTypeBinding18 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/IntersectionTypeBinding18;)Z
            ifeq 48
        43: .line 141
            aload 0 /* visitor */
            aload 9 /* intersectionTypeBinding18 */
            getfield org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18.intersectingTypes:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)V
        44: .line 142
            goto 48
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18 intersectionTypeBinding18
        45: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* visitor */
            aload 1 /* type */
            checkcast org.eclipse.jdt.internal.compiler.lookup.PolyTypeBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/PolyTypeBinding;)Z
            pop
        46: .line 146
            goto 48
        47: .line 149
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            ldc "Unexpected binding type"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        48: .line 151
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object result
        end local 2 // org.eclipse.jdt.internal.compiler.util.SimpleLookupTable visitedCache
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding type
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor visitor
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   49     0                    visitor  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;
            0   49     1                       type  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3   49     2               visitedCache  Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            7   49     3                     result  Ljava/lang/Object;
           12   17     4        typeVariableBinding  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
           18   22     5   parameterizedTypeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
           23   26     6               arrayBinding  Lorg/eclipse/jdt/internal/compiler/lookup/ArrayBinding;
           27   32     7                   wildcard  Lorg/eclipse/jdt/internal/compiler/lookup/WildcardBinding;
           37   41     8           referenceBinding  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           42   45     9  intersectionTypeBinding18  Lorg/eclipse/jdt/internal/compiler/lookup/IntersectionTypeBinding18;
    MethodParameters:
         Name  Flags
      visitor  
      type     

  public static void visit(org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor, org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor visitor
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] types
         0: .line 154
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: aload 1 /* types */
            ifnonnull 2
            iconst_0
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 1 /* types */
            arraylength
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* length */
        start local 3 // int length
         4: goto 7
         5: .line 155
      StackMap locals: int
      StackMap stack:
            aload 0 /* visitor */
            aload 1 /* types */
            iload 2 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor.visit:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
         6: .line 154
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 5
        end local 3 // int length
        end local 2 // int i
         8: .line 157
            return
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] types
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBindingVisitor visitor
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0  visitor  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBindingVisitor;
            0    9     1    types  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            1    8     2        i  I
            4    8     3   length  I
    MethodParameters:
         Name  Flags
      visitor  
      types    
}
SourceFile: "TypeBindingVisitor.java"