public class org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor
  super_class: java.lang.Object
{
  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.Scope$Substitutor this
         0: .line 533
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/Scope$Substitutor;

  public org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] substitute(org.eclipse.jdt.internal.compiler.lookup.Substitution, org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitution
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] originalTypes
         0: .line 539
            aload 2 /* originalTypes */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 540
      StackMap locals:
      StackMap stack:
            aload 2 /* originalTypes */
            astore 3 /* substitutedTypes */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] substitutedTypes
         2: .line 541
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: aload 2 /* originalTypes */
            arraylength
            istore 5 /* length */
        start local 5 // int length
         4: goto 17
         5: .line 542
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int int
      StackMap stack:
            aload 2 /* originalTypes */
            iload 4 /* i */
            aaload
            astore 6 /* originalType */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding originalType
         6: .line 543
            aload 0 /* this */
            aload 1 /* substitution */
            aload 6 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* substitutedType */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedType
         7: .line 544
            aload 7 /* substitutedType */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            ifne 9
         8: .line 545
            aconst_null
            areturn
         9: .line 547
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 7 /* substitutedType */
            aload 6 /* originalType */
            if_acmpeq 14
        10: .line 548
            aload 3 /* substitutedTypes */
            aload 2 /* originalTypes */
            if_acmpne 12
        11: .line 549
            aload 2 /* originalTypes */
            iconst_0
            iload 5 /* length */
            anewarray org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            dup
            astore 3 /* substitutedTypes */
            iconst_0
            iload 4 /* i */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 551
      StackMap locals:
      StackMap stack:
            aload 3 /* substitutedTypes */
            iload 4 /* i */
            aload 7 /* substitutedType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            aastore
        13: .line 552
            goto 16
      StackMap locals:
      StackMap stack:
        14: aload 3 /* substitutedTypes */
            aload 2 /* originalTypes */
            if_acmpeq 16
        15: .line 553
            aload 3 /* substitutedTypes */
            iload 4 /* i */
            aload 6 /* originalType */
            aastore
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedType
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding originalType
        16: .line 541
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 5
        end local 5 // int length
        end local 4 // int i
        18: .line 556
            aload 3 /* substitutedTypes */
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] substitutedTypes
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] originalTypes
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitution
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   19     0              this  Lorg/eclipse/jdt/internal/compiler/lookup/Scope$Substitutor;
            0   19     1      substitution  Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;
            0   19     2     originalTypes  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            2   19     3  substitutedTypes  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            3   18     4                 i  I
            4   18     5            length  I
            6   16     6      originalType  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            7   16     7   substitutedType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
               Name  Flags
      substitution   
      originalTypes  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitute(org.eclipse.jdt.internal.compiler.lookup.Substitution, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=18, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitution
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalType
         0: .line 570
            aload 2 /* originalType */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 572
      StackMap locals:
      StackMap stack:
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
            lookupswitch { // 8
                    4: 52
                   68: 22
                  260: 3
                  516: 27
                 2052: 65
                 4100: 2
                 8196: 27
                32772: 46
              default: 79
          }
         2: .line 575
      StackMap locals:
      StackMap stack:
            aload 1 /* substitution */
            aload 2 /* originalType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.Substitution.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
         3: .line 578
      StackMap locals:
      StackMap stack:
            aload 2 /* originalType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            astore 3 /* originalParameterizedType */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding originalParameterizedType
         4: .line 579
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.enclosingType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 4 /* originalEnclosing */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding originalEnclosing
         5: .line 580
            aload 4 /* originalEnclosing */
            astore 5 /* substitutedEnclosing */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding substitutedEnclosing
         6: .line 581
            aload 4 /* originalEnclosing */
            ifnull 12
            aload 3 /* originalParameterizedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.hasEnclosingInstanceContext:()Z
            ifeq 12
         7: .line 582
            aload 0 /* this */
            aload 1 /* substitution */
            aload 4 /* originalEnclosing */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 5 /* substitutedEnclosing */
         8: .line 583
            aload 2 /* originalType */
            aload 5 /* substitutedEnclosing */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor.isMemberTypeOfRaw:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ifeq 12
         9: .line 584
            aload 3 /* originalParameterizedType */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
        10: .line 585
            aload 3 /* originalParameterizedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.genericType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 5 /* substitutedEnclosing */
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getTypeAnnotations:()[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
        11: .line 584
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createRawType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/RawTypeBinding;
            areturn
        12: .line 587
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
      StackMap stack:
            aload 3 /* originalParameterizedType */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 6 /* originalArguments */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] originalArguments
        13: .line 588
            aload 6 /* originalArguments */
            astore 7 /* substitutedArguments */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] substitutedArguments
        14: .line 589
            aload 6 /* originalArguments */
            ifnull 18
        15: .line 590
            aload 1 /* substitution */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.Substitution.isRawSubstitution:()Z
            ifeq 17
        16: .line 591
            aload 3 /* originalParameterizedType */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 3 /* originalParameterizedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.genericType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 5 /* substitutedEnclosing */
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getTypeAnnotations:()[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createRawType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/RawTypeBinding;
            areturn
        17: .line 593
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* substitution */
            aload 6 /* originalArguments */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* substitutedArguments */
        18: .line 595
      StackMap locals:
      StackMap stack:
            aload 7 /* substitutedArguments */
            aload 6 /* originalArguments */
            if_acmpne 19
            aload 5 /* substitutedEnclosing */
            aload 4 /* originalEnclosing */
            if_acmpeq 79
        19: .line 596
      StackMap locals:
      StackMap stack:
            aload 3 /* originalParameterizedType */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
        20: .line 597
            aload 3 /* originalParameterizedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.genericType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 7 /* substitutedArguments */
            aload 5 /* substitutedEnclosing */
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getTypeAnnotations:()[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
        21: .line 596
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createParameterizedType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            areturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] substitutedArguments
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] originalArguments
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding substitutedEnclosing
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding originalEnclosing
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding originalParameterizedType
        22: .line 602
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor org.eclipse.jdt.internal.compiler.lookup.Substitution org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 2 /* originalType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
            astore 8 /* originalArrayType */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.ArrayBinding originalArrayType
        23: .line 603
            aload 8 /* originalArrayType */
            getfield org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.leafComponentType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 9 /* originalLeafComponentType */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalLeafComponentType
        24: .line 604
            aload 0 /* this */
            aload 1 /* substitution */
            aload 9 /* originalLeafComponentType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 10 /* substitute */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitute
        25: .line 605
            aload 10 /* substitute */
            aload 9 /* originalLeafComponentType */
            if_acmpeq 79
        26: .line 606
            aload 8 /* originalArrayType */
            getfield org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 10 /* substitute */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.leafComponentType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 10 /* substitute */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.dimensions:()I
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.dimensions:()I
            iadd
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getTypeAnnotations:()[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createArrayType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ArrayBinding;
            areturn
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitute
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalLeafComponentType
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.ArrayBinding originalArrayType
        27: .line 612
      StackMap locals:
      StackMap stack:
            aload 2 /* originalType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.WildcardBinding
            astore 11 /* wildcard */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.WildcardBinding wildcard
        28: .line 613
            aload 11 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.boundKind:I
            ifeq 79
        29: .line 614
            aload 11 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.bound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 12 /* originalBound */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalBound
        30: .line 615
            aload 0 /* this */
            aload 1 /* substitution */
            aload 12 /* originalBound */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 13 /* substitutedBound */
        start local 13 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedBound
        31: .line 616
            aload 11 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.otherBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 14 /* originalOtherBounds */
        start local 14 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] originalOtherBounds
        32: .line 617
            aload 0 /* this */
            aload 1 /* substitution */
            aload 14 /* originalOtherBounds */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 15 /* substitutedOtherBounds */
        start local 15 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] substitutedOtherBounds
        33: .line 618
            aload 13 /* substitutedBound */
            aload 12 /* originalBound */
            if_acmpne 34
            aload 14 /* originalOtherBounds */
            aload 15 /* substitutedOtherBounds */
            if_acmpeq 79
        34: .line 619
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor org.eclipse.jdt.internal.compiler.lookup.Substitution org.eclipse.jdt.internal.compiler.lookup.TypeBinding top top top top top top top top org.eclipse.jdt.internal.compiler.lookup.WildcardBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            aload 14 /* originalOtherBounds */
            ifnull 45
        35: .line 624
            iconst_1
            aload 15 /* substitutedOtherBounds */
            arraylength
            iadd
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            astore 16 /* bounds */
        start local 16 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] bounds
        36: .line 625
            aload 16 /* bounds */
            iconst_0
            aload 13 /* substitutedBound */
            aastore
        37: .line 626
            aload 15 /* substitutedOtherBounds */
            iconst_0
            aload 16 /* bounds */
            iconst_1
            aload 15 /* substitutedOtherBounds */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        38: .line 627
            aload 16 /* bounds */
            aconst_null
            aload 1 /* substitution */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.Substitution.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.Scope.greaterLowerBound:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/Scope;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 17 /* glb */
        start local 17 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] glb
        39: .line 628
            aload 17 /* glb */
            ifnull 45
            aload 17 /* glb */
            aload 16 /* bounds */
            if_acmpeq 45
        40: .line 629
            aload 17 /* glb */
            iconst_0
            aaload
            astore 13 /* substitutedBound */
        41: .line 630
            aload 17 /* glb */
            arraylength
            iconst_1
            if_icmpne 44
        42: .line 631
            aconst_null
            astore 15 /* substitutedOtherBounds */
        43: .line 632
            goto 45
        44: .line 633
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            aload 17 /* glb */
            iconst_1
            aload 17 /* glb */
            arraylength
            iconst_1
            isub
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            dup
            astore 15 /* substitutedOtherBounds */
            iconst_0
            aload 17 /* glb */
            arraylength
            iconst_1
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 17 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] glb
        end local 16 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] bounds
        45: .line 637
      StackMap locals:
      StackMap stack:
            aload 11 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 11 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.genericType:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 11 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.rank:I
            aload 13 /* substitutedBound */
            aload 15 /* substitutedOtherBounds */
            aload 11 /* wildcard */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.boundKind:I
            aload 11 /* 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.createWildcard:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;ILorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/WildcardBinding;
            areturn
        end local 15 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] substitutedOtherBounds
        end local 14 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] originalOtherBounds
        end local 13 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedBound
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalBound
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.WildcardBinding wildcard
        46: .line 643
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor org.eclipse.jdt.internal.compiler.lookup.Substitution org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 2 /* originalType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18
            astore 12 /* intersection */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18 intersection
        47: .line 644
            aload 12 /* intersection */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18.getIntersectingTypes:()[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 13 /* types */
        start local 13 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] types
        48: .line 645
            aload 0 /* this */
            aload 1 /* substitution */
            aload 13 /* types */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 14 /* substitutes */
        start local 14 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] substitutes
        49: .line 646
            aload 14 /* substitutes */
            arraylength
            anewarray org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 15 /* refSubsts */
        start local 15 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] refSubsts
        50: .line 647
            aload 14 /* substitutes */
            iconst_0
            aload 15 /* refSubsts */
            iconst_0
            aload 14 /* substitutes */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        51: .line 648
            aload 1 /* substitution */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.Substitution.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 15 /* refSubsts */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createIntersectionType18:([Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
        end local 15 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] refSubsts
        end local 14 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] substitutes
        end local 13 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] types
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.IntersectionTypeBinding18 intersection
        52: .line 651
      StackMap locals:
      StackMap stack:
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isMemberType:()Z
            ifne 53
            goto 79
        53: .line 652
      StackMap locals:
      StackMap stack:
            aload 2 /* originalType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 16 /* originalReferenceType */
        start local 16 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding originalReferenceType
        54: .line 653
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.enclosingType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 4 /* originalEnclosing */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding originalEnclosing
        55: .line 654
            aload 4 /* originalEnclosing */
            astore 5 /* substitutedEnclosing */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding substitutedEnclosing
        56: .line 655
            aload 4 /* originalEnclosing */
            ifnull 60
        57: .line 656
            aload 0 /* this */
            aload 1 /* substitution */
            aload 4 /* originalEnclosing */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 5 /* substitutedEnclosing */
        58: .line 657
            aload 2 /* originalType */
            aload 5 /* substitutedEnclosing */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor.isMemberTypeOfRaw:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ifeq 60
        59: .line 658
            aload 1 /* substitution */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.Substitution.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 16 /* originalReferenceType */
            aload 5 /* substitutedEnclosing */
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getTypeAnnotations:()[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createRawType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/RawTypeBinding;
            areturn
        60: .line 662
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor org.eclipse.jdt.internal.compiler.lookup.Substitution org.eclipse.jdt.internal.compiler.lookup.TypeBinding top org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding top top top top top top top top top top org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
      StackMap stack:
            aload 5 /* substitutedEnclosing */
            aload 4 /* originalEnclosing */
            if_acmpeq 79
            aload 16 /* originalReferenceType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.hasEnclosingInstanceContext:()Z
            ifeq 79
        61: .line 663
            aload 1 /* substitution */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.Substitution.isRawSubstitution:()Z
            ifeq 63
        62: .line 664
            aload 1 /* substitution */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.Substitution.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 16 /* originalReferenceType */
            aload 5 /* substitutedEnclosing */
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getTypeAnnotations:()[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createRawType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/RawTypeBinding;
            goto 64
        63: .line 665
      StackMap locals:
      StackMap stack:
            aload 1 /* substitution */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.Substitution.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 16 /* originalReferenceType */
            aconst_null
            aload 5 /* substitutedEnclosing */
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getTypeAnnotations:()[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createParameterizedType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
        64: .line 663
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            areturn
        end local 16 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding originalReferenceType
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding substitutedEnclosing
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding originalEnclosing
        65: .line 669
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor org.eclipse.jdt.internal.compiler.lookup.Substitution org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.unannotated:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 16 /* originalReferenceType */
        start local 16 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding originalReferenceType
        66: .line 670
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.enclosingType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 4 /* originalEnclosing */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding originalEnclosing
        67: .line 671
            aload 4 /* originalEnclosing */
            astore 5 /* substitutedEnclosing */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding substitutedEnclosing
        68: .line 672
            aload 4 /* originalEnclosing */
            ifnull 74
        69: .line 673
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isStatic:()Z
            ifeq 70
            aload 1 /* substitution */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.Substitution.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 4 /* originalEnclosing */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.convertToRawType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            goto 71
        70: .line 674
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor org.eclipse.jdt.internal.compiler.lookup.Substitution org.eclipse.jdt.internal.compiler.lookup.TypeBinding top org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding top top top top top top top top top top org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
      StackMap stack:
            aload 0 /* this */
            aload 1 /* substitution */
            aload 4 /* originalEnclosing */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
        71: .line 673
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 5 /* substitutedEnclosing */
        72: .line 675
            aload 2 /* originalType */
            aload 5 /* substitutedEnclosing */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor.isMemberTypeOfRaw:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
            ifeq 74
        73: .line 676
            aload 1 /* substitution */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.Substitution.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 16 /* originalReferenceType */
            aload 5 /* substitutedEnclosing */
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getTypeAnnotations:()[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createRawType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/RawTypeBinding;
            areturn
        74: .line 679
      StackMap locals:
      StackMap stack:
            aload 1 /* substitution */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.Substitution.isRawSubstitution:()Z
            ifeq 76
        75: .line 680
            aload 1 /* substitution */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.Substitution.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 16 /* originalReferenceType */
            aload 5 /* substitutedEnclosing */
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getTypeAnnotations:()[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createRawType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/RawTypeBinding;
            areturn
        76: .line 683
      StackMap locals:
      StackMap stack:
            aload 16 /* originalReferenceType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.typeVariables:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            astore 6 /* originalArguments */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] originalArguments
        77: .line 684
            aload 0 /* this */
            aload 1 /* substitution */
            aload 6 /* originalArguments */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* substitutedArguments */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] substitutedArguments
        78: .line 685
            aload 1 /* substitution */
            invokeinterface org.eclipse.jdt.internal.compiler.lookup.Substitution.environment:()Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 16 /* originalReferenceType */
            aload 7 /* substitutedArguments */
            aload 5 /* substitutedEnclosing */
            aload 2 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.getTypeAnnotations:()[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createParameterizedType:(Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            areturn
        end local 16 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding originalReferenceType
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] substitutedArguments
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] originalArguments
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding substitutedEnclosing
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding originalEnclosing
        79: .line 687
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor org.eclipse.jdt.internal.compiler.lookup.Substitution org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 2 /* originalType */
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitution
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   80     0                       this  Lorg/eclipse/jdt/internal/compiler/lookup/Scope$Substitutor;
            0   80     1               substitution  Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;
            0   80     2               originalType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            4   22     3  originalParameterizedType  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            5   22     4          originalEnclosing  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           55   65     4          originalEnclosing  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           67   79     4          originalEnclosing  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            6   22     5       substitutedEnclosing  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           56   65     5       substitutedEnclosing  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           68   79     5       substitutedEnclosing  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           13   22     6          originalArguments  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           77   79     6          originalArguments  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           14   22     7       substitutedArguments  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           78   79     7       substitutedArguments  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           23   27     8          originalArrayType  Lorg/eclipse/jdt/internal/compiler/lookup/ArrayBinding;
           24   27     9  originalLeafComponentType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           25   27    10                 substitute  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           28   46    11                   wildcard  Lorg/eclipse/jdt/internal/compiler/lookup/WildcardBinding;
           30   46    12              originalBound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           31   46    13           substitutedBound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           32   46    14        originalOtherBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           33   46    15     substitutedOtherBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           36   45    16                     bounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           39   45    17                        glb  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           47   52    12               intersection  Lorg/eclipse/jdt/internal/compiler/lookup/IntersectionTypeBinding18;
           48   52    13                      types  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           49   52    14                substitutes  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           50   52    15                  refSubsts  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           54   65    16      originalReferenceType  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           66   79    16      originalReferenceType  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    MethodParameters:
              Name  Flags
      substitution  
      originalType  

  private static boolean isMemberTypeOfRaw(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalType
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding substitutedEnclosing
         0: .line 699
            aload 1 /* substitutedEnclosing */
            ifnull 3
            aload 1 /* substitutedEnclosing */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isRawType:()Z
            ifeq 3
         1: .line 700
            aload 0 /* originalType */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            ifeq 3
            aload 0 /* originalType */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isStatic:()Z
            ifne 3
         2: .line 699
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding substitutedEnclosing
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalType
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0          originalType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    4     1  substitutedEnclosing  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
    MethodParameters:
                      Name  Flags
      originalType          
      substitutedEnclosing  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] substitute(org.eclipse.jdt.internal.compiler.lookup.Substitution, org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitution
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] originalTypes
         0: .line 708
            aload 2 /* originalTypes */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 709
      StackMap locals:
      StackMap stack:
            aload 2 /* originalTypes */
            astore 3 /* substitutedTypes */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] substitutedTypes
         2: .line 710
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: aload 2 /* originalTypes */
            arraylength
            istore 5 /* length */
        start local 5 // int length
         4: goto 15
         5: .line 711
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int int
      StackMap stack:
            aload 2 /* originalTypes */
            iload 4 /* i */
            aaload
            astore 6 /* originalType */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalType
         6: .line 712
            aload 0 /* this */
            aload 1 /* substitution */
            aload 6 /* originalType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* substitutedParameter */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedParameter
         7: .line 713
            aload 7 /* substitutedParameter */
            aload 6 /* originalType */
            if_acmpeq 12
         8: .line 714
            aload 3 /* substitutedTypes */
            aload 2 /* originalTypes */
            if_acmpne 10
         9: .line 715
            aload 2 /* originalTypes */
            iconst_0
            iload 5 /* length */
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            dup
            astore 3 /* substitutedTypes */
            iconst_0
            iload 4 /* i */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 717
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 3 /* substitutedTypes */
            iload 4 /* i */
            aload 7 /* substitutedParameter */
            aastore
        11: .line 718
            goto 14
      StackMap locals:
      StackMap stack:
        12: aload 3 /* substitutedTypes */
            aload 2 /* originalTypes */
            if_acmpeq 14
        13: .line 719
            aload 3 /* substitutedTypes */
            iload 4 /* i */
            aload 6 /* originalType */
            aastore
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding substitutedParameter
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding originalType
        14: .line 710
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 5
        end local 5 // int length
        end local 4 // int i
        16: .line 722
            aload 3 /* substitutedTypes */
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] substitutedTypes
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] originalTypes
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Substitution substitution
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   17     0                  this  Lorg/eclipse/jdt/internal/compiler/lookup/Scope$Substitutor;
            0   17     1          substitution  Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;
            0   17     2         originalTypes  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            2   17     3      substitutedTypes  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3   16     4                     i  I
            4   16     5                length  I
            6   14     6          originalType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            7   14     7  substitutedParameter  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
               Name  Flags
      substitution   
      originalTypes  
}
SourceFile: "Scope.java"
NestHost: org.eclipse.jdt.internal.compiler.lookup.Scope
InnerClasses:
  public Substitutor = org.eclipse.jdt.internal.compiler.lookup.Scope$Substitutor of org.eclipse.jdt.internal.compiler.lookup.Scope