public class org.eclipse.jdt.internal.core.BinaryTypeConverter extends org.eclipse.jdt.internal.compiler.parser.TypeConverter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.BinaryTypeConverter
  super_class: org.eclipse.jdt.internal.compiler.parser.TypeConverter
{
  private org.eclipse.jdt.internal.compiler.CompilationResult compilationResult;
    descriptor: Lorg/eclipse/jdt/internal/compiler/CompilationResult;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.internal.core.util.HashSetOfCharArrayArray typeNames;
    descriptor: Lorg/eclipse/jdt/internal/core/util/HashSetOfCharArrayArray;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.eclipse.jdt.internal.compiler.problem.ProblemReporter, org.eclipse.jdt.internal.compiler.CompilationResult, org.eclipse.jdt.internal.core.util.HashSetOfCharArrayArray);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;Lorg/eclipse/jdt/internal/compiler/CompilationResult;Lorg/eclipse/jdt/internal/core/util/HashSetOfCharArrayArray;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.BinaryTypeConverter this
        start local 1 // org.eclipse.jdt.internal.compiler.problem.ProblemReporter problemReporter
        start local 2 // org.eclipse.jdt.internal.compiler.CompilationResult compilationResult
        start local 3 // org.eclipse.jdt.internal.core.util.HashSetOfCharArrayArray typeNames
         0: .line 55
            aload 0 /* this */
            aload 1 /* problemReporter */
            bipush 36
            invokespecial org.eclipse.jdt.internal.compiler.parser.TypeConverter.<init>:(Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;C)V
         1: .line 56
            aload 0 /* this */
            aload 2 /* compilationResult */
            putfield org.eclipse.jdt.internal.core.BinaryTypeConverter.compilationResult:Lorg/eclipse/jdt/internal/compiler/CompilationResult;
         2: .line 57
            aload 0 /* this */
            aload 3 /* typeNames */
            putfield org.eclipse.jdt.internal.core.BinaryTypeConverter.typeNames:Lorg/eclipse/jdt/internal/core/util/HashSetOfCharArrayArray;
         3: .line 58
            return
        end local 3 // org.eclipse.jdt.internal.core.util.HashSetOfCharArrayArray typeNames
        end local 2 // org.eclipse.jdt.internal.compiler.CompilationResult compilationResult
        end local 1 // org.eclipse.jdt.internal.compiler.problem.ProblemReporter problemReporter
        end local 0 // org.eclipse.jdt.internal.core.BinaryTypeConverter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lorg/eclipse/jdt/internal/core/BinaryTypeConverter;
            0    4     1    problemReporter  Lorg/eclipse/jdt/internal/compiler/problem/ProblemReporter;
            0    4     2  compilationResult  Lorg/eclipse/jdt/internal/compiler/CompilationResult;
            0    4     3          typeNames  Lorg/eclipse/jdt/internal/core/util/HashSetOfCharArrayArray;
    MethodParameters:
                   Name  Flags
      problemReporter    
      compilationResult  
      typeNames          

  public org.eclipse.jdt.internal.compiler.ast.ImportReference[] buildImports(org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;)[Lorg/eclipse/jdt/internal/compiler/ast/ImportReference;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=11, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryTypeConverter this
        start local 1 // org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader reader
         0: .line 63
            aload 1 /* reader */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.getConstantPoolOffsets:()[I
            astore 2 /* constantPoolOffsets */
        start local 2 // int[] constantPoolOffsets
         1: .line 64
            aload 2 /* constantPoolOffsets */
            arraylength
            istore 3 /* constantPoolCount */
        start local 3 // int constantPoolCount
         2: .line 65
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 17
         4: .line 66
      StackMap locals: int[] int int
      StackMap stack:
            aload 1 /* reader */
            aload 2 /* constantPoolOffsets */
            iload 4 /* i */
            iaload
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.u1At:(I)I
            istore 5 /* tag */
        start local 5 // int tag
         5: .line 67
            aconst_null
            astore 6 /* name */
        start local 6 // char[] name
         6: .line 68
            iload 5 /* tag */
            tableswitch { // 7 - 11
                    7: 11
                    8: 13
                    9: 13
                   10: 7
                   11: 7
              default: 13
          }
         7: .line 71
      StackMap locals: int char[]
      StackMap stack:
            aload 1 /* reader */
            aload 2 /* constantPoolOffsets */
            iload 4 /* i */
            iaload
            iconst_3
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.u2At:(I)I
            istore 7 /* constantPoolIndex */
        start local 7 // int constantPoolIndex
         8: .line 72
            aload 2 /* constantPoolOffsets */
            aload 1 /* reader */
            aload 2 /* constantPoolOffsets */
            iload 7 /* constantPoolIndex */
            iaload
            iconst_3
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.u2At:(I)I
            iaload
            istore 8 /* utf8Offset */
        start local 8 // int utf8Offset
         9: .line 73
            aload 1 /* reader */
            iload 8 /* utf8Offset */
            iconst_3
            iadd
            aload 1 /* reader */
            iload 8 /* utf8Offset */
            iconst_1
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.u2At:(I)I
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.utf8At:(II)[C
            astore 6 /* name */
        10: .line 74
            goto 13
        end local 8 // int utf8Offset
        end local 7 // int constantPoolIndex
        11: .line 76
      StackMap locals:
      StackMap stack:
            aload 2 /* constantPoolOffsets */
            aload 1 /* reader */
            aload 2 /* constantPoolOffsets */
            iload 4 /* i */
            iaload
            iconst_1
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.u2At:(I)I
            iaload
            istore 8 /* utf8Offset */
        start local 8 // int utf8Offset
        12: .line 77
            aload 1 /* reader */
            iload 8 /* utf8Offset */
            iconst_3
            iadd
            aload 1 /* reader */
            iload 8 /* utf8Offset */
            iconst_1
            iadd
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.u2At:(I)I
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.utf8At:(II)[C
            astore 6 /* name */
        end local 8 // int utf8Offset
        13: .line 80
      StackMap locals:
      StackMap stack:
            aload 6 /* name */
            ifnull 18
            aload 6 /* name */
            arraylength
            ifle 15
            aload 6 /* name */
            iconst_0
            caload
            bipush 91
            if_icmpne 15
        14: .line 81
            goto 18
        15: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryTypeConverter.typeNames:Lorg/eclipse/jdt/internal/core/util/HashSetOfCharArrayArray;
            bipush 47
            aload 6 /* name */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitOn:(C[C)[[C
            invokevirtual org.eclipse.jdt.internal.core.util.HashSetOfCharArrayArray.add:([[C)[[C
            pop
        end local 6 // char[] name
        end local 5 // int tag
        16: .line 65
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            iload 3 /* constantPoolCount */
            if_icmplt 4
        end local 4 // int i
        18: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryTypeConverter.typeNames:Lorg/eclipse/jdt/internal/core/util/HashSetOfCharArrayArray;
            invokevirtual org.eclipse.jdt.internal.core.util.HashSetOfCharArrayArray.size:()I
            istore 4 /* typeNamesLength */
        start local 4 // int typeNamesLength
        19: .line 87
            iload 4 /* typeNamesLength */
            anewarray org.eclipse.jdt.internal.compiler.ast.ImportReference
            astore 5 /* imports */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.ImportReference[] imports
        20: .line 88
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryTypeConverter.typeNames:Lorg/eclipse/jdt/internal/core/util/HashSetOfCharArrayArray;
            getfield org.eclipse.jdt.internal.core.util.HashSetOfCharArrayArray.set:[[[C
            astore 6 /* set */
        start local 6 // char[][][] set
        21: .line 89
            iconst_0
            istore 7 /* index */
        start local 7 // int index
        22: .line 90
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        23: aload 6 /* set */
            arraylength
            istore 9 /* length */
        start local 9 // int length
        24: goto 29
        25: .line 91
      StackMap locals: org.eclipse.jdt.internal.core.BinaryTypeConverter org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader int[] int int org.eclipse.jdt.internal.compiler.ast.ImportReference[] char[][][] int int int
      StackMap stack:
            aload 6 /* set */
            iload 8 /* i */
            aaload
            astore 10 /* typeName */
        start local 10 // char[][] typeName
        26: .line 92
            aload 10 /* typeName */
            ifnull 28
        27: .line 93
            aload 5 /* imports */
            iload 7 /* index */
            iinc 7 /* index */ 1
            new org.eclipse.jdt.internal.compiler.ast.ImportReference
            dup
            aload 10 /* typeName */
            aload 10 /* typeName */
            arraylength
            newarray 11
            iconst_0
            iconst_0
            invokespecial org.eclipse.jdt.internal.compiler.ast.ImportReference.<init>:([[C[JZI)V
            aastore
        end local 10 // char[][] typeName
        28: .line 90
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 8 /* i */
            iload 9 /* length */
            if_icmplt 25
        end local 9 // int length
        end local 8 // int i
        30: .line 96
            aload 5 /* imports */
            areturn
        end local 7 // int index
        end local 6 // char[][][] set
        end local 5 // org.eclipse.jdt.internal.compiler.ast.ImportReference[] imports
        end local 4 // int typeNamesLength
        end local 3 // int constantPoolCount
        end local 2 // int[] constantPoolOffsets
        end local 1 // org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader reader
        end local 0 // org.eclipse.jdt.internal.core.BinaryTypeConverter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   31     0                 this  Lorg/eclipse/jdt/internal/core/BinaryTypeConverter;
            0   31     1               reader  Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
            1   31     2  constantPoolOffsets  [I
            2   31     3    constantPoolCount  I
            3   18     4                    i  I
            5   16     5                  tag  I
            6   16     6                 name  [C
            8   11     7    constantPoolIndex  I
            9   11     8           utf8Offset  I
           12   13     8           utf8Offset  I
           19   31     4      typeNamesLength  I
           20   31     5              imports  [Lorg/eclipse/jdt/internal/compiler/ast/ImportReference;
           21   31     6                  set  [[[C
           22   31     7                index  I
           23   30     8                    i  I
           24   30     9               length  I
           26   28    10             typeName  [[C
    MethodParameters:
        Name  Flags
      reader  

  public org.eclipse.jdt.internal.compiler.ast.TypeDeclaration buildTypeDeclaration(org.eclipse.jdt.core.IType, org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration);
    descriptor: (Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;)Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryTypeConverter this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration compilationUnit
         0: .line 103
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getPackageFragment:()Lorg/eclipse/jdt/core/IPackageFragment;
            checkcast org.eclipse.jdt.internal.core.PackageFragment
            astore 3 /* pkg */
        start local 3 // org.eclipse.jdt.internal.core.PackageFragment pkg
         1: .line 104
            aload 3 /* pkg */
            getfield org.eclipse.jdt.internal.core.PackageFragment.names:[Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.toCharArrays:([Ljava/lang/String;)[[C
            astore 4 /* packageName */
        start local 4 // char[][] packageName
         2: .line 106
            aload 4 /* packageName */
            arraylength
            ifle 4
         3: .line 107
            aload 2 /* compilationUnit */
            new org.eclipse.jdt.internal.compiler.ast.ImportReference
            dup
            aload 4 /* packageName */
            iconst_1
            newarray 11
            iconst_0
            iconst_0
            invokespecial org.eclipse.jdt.internal.compiler.ast.ImportReference.<init>:([[C[JZI)V
            putfield org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.currentPackage:Lorg/eclipse/jdt/internal/compiler/ast/ImportReference;
         4: .line 111
      StackMap locals: org.eclipse.jdt.internal.core.PackageFragment char[][]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            aconst_null
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.BinaryTypeConverter.convert:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;)Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            astore 5 /* typeDeclaration */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration typeDeclaration
         5: .line 113
            aload 1 /* type */
            astore 6 /* alreadyComputedMember */
        start local 6 // org.eclipse.jdt.core.IType alreadyComputedMember
         6: .line 114
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            astore 7 /* parent */
        start local 7 // org.eclipse.jdt.core.IType parent
         7: .line 115
            aload 5 /* typeDeclaration */
            astore 8 /* previousDeclaration */
        start local 8 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration previousDeclaration
         8: .line 116
            goto 13
         9: .line 117
      StackMap locals: org.eclipse.jdt.internal.core.BinaryTypeConverter org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration org.eclipse.jdt.internal.core.PackageFragment char[][] org.eclipse.jdt.internal.compiler.ast.TypeDeclaration org.eclipse.jdt.core.IType org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.ast.TypeDeclaration
      StackMap stack:
            aload 0 /* this */
            aload 7 /* parent */
            aload 6 /* alreadyComputedMember */
            aload 8 /* previousDeclaration */
            invokevirtual org.eclipse.jdt.internal.core.BinaryTypeConverter.convert:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;)Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            astore 9 /* declaration */
        start local 9 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration declaration
        10: .line 119
            aload 7 /* parent */
            astore 6 /* alreadyComputedMember */
        11: .line 120
            aload 9 /* declaration */
            astore 8 /* previousDeclaration */
        12: .line 121
            aload 7 /* parent */
            invokeinterface org.eclipse.jdt.core.IType.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            astore 7 /* parent */
        end local 9 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration declaration
        13: .line 116
      StackMap locals:
      StackMap stack:
            aload 7 /* parent */
            ifnonnull 9
        14: .line 124
            aload 2 /* compilationUnit */
            iconst_1
            anewarray org.eclipse.jdt.internal.compiler.ast.TypeDeclaration
            dup
            iconst_0
            aload 8 /* previousDeclaration */
            aastore
            putfield org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.types:[Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
        15: .line 126
            aload 5 /* typeDeclaration */
            areturn
        end local 8 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration previousDeclaration
        end local 7 // org.eclipse.jdt.core.IType parent
        end local 6 // org.eclipse.jdt.core.IType alreadyComputedMember
        end local 5 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration typeDeclaration
        end local 4 // char[][] packageName
        end local 3 // org.eclipse.jdt.internal.core.PackageFragment pkg
        end local 2 // org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration compilationUnit
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.BinaryTypeConverter this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   16     0                   this  Lorg/eclipse/jdt/internal/core/BinaryTypeConverter;
            0   16     1                   type  Lorg/eclipse/jdt/core/IType;
            0   16     2        compilationUnit  Lorg/eclipse/jdt/internal/compiler/ast/CompilationUnitDeclaration;
            1   16     3                    pkg  Lorg/eclipse/jdt/internal/core/PackageFragment;
            2   16     4            packageName  [[C
            5   16     5        typeDeclaration  Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            6   16     6  alreadyComputedMember  Lorg/eclipse/jdt/core/IType;
            7   16     7                 parent  Lorg/eclipse/jdt/core/IType;
            8   16     8    previousDeclaration  Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
           10   13     9            declaration  Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                 Name  Flags
      type             
      compilationUnit  

  private org.eclipse.jdt.internal.compiler.ast.FieldDeclaration convert(org.eclipse.jdt.core.IField, org.eclipse.jdt.core.IType);
    descriptor: (Lorg/eclipse/jdt/core/IField;Lorg/eclipse/jdt/core/IType;)Lorg/eclipse/jdt/internal/compiler/ast/FieldDeclaration;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryTypeConverter this
        start local 1 // org.eclipse.jdt.core.IField field
        start local 2 // org.eclipse.jdt.core.IType type
         0: .line 130
            aload 0 /* this */
            aload 1 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getTypeSignature:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.BinaryTypeConverter.createTypeReference:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            astore 3 /* typeReference */
        start local 3 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
         1: .line 131
            aload 3 /* typeReference */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 132
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.TypeReference
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.ast.FieldDeclaration
            dup
            invokespecial org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.<init>:()V
            astore 4 /* fieldDeclaration */
        start local 4 // org.eclipse.jdt.internal.compiler.ast.FieldDeclaration fieldDeclaration
         3: .line 134
            aload 4 /* fieldDeclaration */
            aload 1 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            putfield org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.name:[C
         4: .line 135
            aload 4 /* fieldDeclaration */
            aload 3 /* typeReference */
            putfield org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
         5: .line 136
            aload 4 /* fieldDeclaration */
            aload 1 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getFlags:()I
            putfield org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.modifiers:I
         6: .line 138
            aload 4 /* fieldDeclaration */
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.ast.FieldDeclaration fieldDeclaration
        end local 3 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
        end local 2 // org.eclipse.jdt.core.IType type
        end local 1 // org.eclipse.jdt.core.IField field
        end local 0 // org.eclipse.jdt.internal.core.BinaryTypeConverter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/eclipse/jdt/internal/core/BinaryTypeConverter;
            0    7     1             field  Lorg/eclipse/jdt/core/IField;
            0    7     2              type  Lorg/eclipse/jdt/core/IType;
            1    7     3     typeReference  Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            3    7     4  fieldDeclaration  Lorg/eclipse/jdt/internal/compiler/ast/FieldDeclaration;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      field  
      type   

  private org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration convert(org.eclipse.jdt.core.IMethod, org.eclipse.jdt.core.IType);
    descriptor: (Lorg/eclipse/jdt/core/IMethod;Lorg/eclipse/jdt/core/IType;)Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=15, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryTypeConverter this
        start local 1 // org.eclipse.jdt.core.IMethod method
        start local 2 // org.eclipse.jdt.core.IType type
         0: .line 145
            aconst_null
            astore 4 /* typeParams */
        start local 4 // org.eclipse.jdt.internal.compiler.ast.TypeParameter[] typeParams
         1: .line 148
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryTypeConverter.has1_5Compliance:Z
            ifeq 19
         2: .line 150
            aload 1 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getTypeParameters:()[Lorg/eclipse/jdt/core/ITypeParameter;
            astore 5 /* typeParameters */
        start local 5 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
         3: .line 151
            aload 5 /* typeParameters */
            ifnull 19
            aload 5 /* typeParameters */
            arraylength
            ifle 19
         4: .line 152
            aload 5 /* typeParameters */
            arraylength
            istore 6 /* parameterCount */
        start local 6 // int parameterCount
         5: .line 153
            iload 6 /* parameterCount */
            anewarray org.eclipse.jdt.internal.compiler.ast.TypeParameter
            astore 4 /* typeParams */
         6: .line 154
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 18
         8: .line 155
      StackMap locals: org.eclipse.jdt.internal.core.BinaryTypeConverter org.eclipse.jdt.core.IMethod org.eclipse.jdt.core.IType top org.eclipse.jdt.internal.compiler.ast.TypeParameter[] org.eclipse.jdt.core.ITypeParameter[] int int
      StackMap stack:
            aload 5 /* typeParameters */
            iload 7 /* i */
            aaload
            astore 8 /* typeParameter */
        start local 8 // org.eclipse.jdt.core.ITypeParameter typeParameter
         9: .line 156
            aload 4 /* typeParams */
            iload 7 /* i */
        10: .line 157
            aload 0 /* this */
        11: .line 158
            aload 8 /* typeParameter */
            invokeinterface org.eclipse.jdt.core.ITypeParameter.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
        12: .line 159
            aload 8 /* typeParameter */
            invokeinterface org.eclipse.jdt.core.ITypeParameter.getBounds:()[Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.BinaryTypeConverter.stringArrayToCharArray:([Ljava/lang/String;)[[C
        13: .line 160
            iconst_0
        14: .line 161
            iconst_0
        15: .line 157
            invokevirtual org.eclipse.jdt.internal.core.BinaryTypeConverter.createTypeParameter:([C[[CII)Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;
        16: .line 156
            aastore
        end local 8 // org.eclipse.jdt.core.ITypeParameter typeParameter
        17: .line 154
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 7 /* i */
            iload 6 /* parameterCount */
            if_icmplt 8
        end local 7 // int i
        end local 6 // int parameterCount
        end local 5 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
        19: .line 166
      StackMap locals:
      StackMap stack:
            aload 1 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.isConstructor:()Z
            ifeq 25
        20: .line 167
            new org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryTypeConverter.compilationResult:Lorg/eclipse/jdt/internal/compiler/CompilationResult;
            invokespecial org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration.<init>:(Lorg/eclipse/jdt/internal/compiler/CompilationResult;)V
            astore 5 /* decl */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration decl
        21: .line 168
            aload 5 /* decl */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration.bits:I
            sipush -129
            iand
            putfield org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration.bits:I
        22: .line 169
            aload 5 /* decl */
            aload 4 /* typeParams */
            putfield org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration.typeParameters:[Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;
        23: .line 170
            aload 5 /* decl */
            astore 3 /* methodDeclaration */
        end local 5 // org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration decl
        start local 3 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration methodDeclaration
        24: .line 171
            goto 33
        end local 3 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration methodDeclaration
        25: .line 172
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            invokeinterface org.eclipse.jdt.core.IType.isAnnotation:()Z
            ifeq 26
            new org.eclipse.jdt.internal.compiler.ast.AnnotationMethodDeclaration
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryTypeConverter.compilationResult:Lorg/eclipse/jdt/internal/compiler/CompilationResult;
            invokespecial org.eclipse.jdt.internal.compiler.ast.AnnotationMethodDeclaration.<init>:(Lorg/eclipse/jdt/internal/compiler/CompilationResult;)V
            goto 27
      StackMap locals:
      StackMap stack:
        26: new org.eclipse.jdt.internal.compiler.ast.MethodDeclaration
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryTypeConverter.compilationResult:Lorg/eclipse/jdt/internal/compiler/CompilationResult;
            invokespecial org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.<init>:(Lorg/eclipse/jdt/internal/compiler/CompilationResult;)V
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.MethodDeclaration
        27: astore 5 /* decl */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.MethodDeclaration decl
        28: .line 174
            aload 0 /* this */
            aload 1 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getReturnType:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.BinaryTypeConverter.createTypeReference:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            astore 6 /* typeReference */
        start local 6 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
        29: .line 175
            aload 6 /* typeReference */
            ifnonnull 30
            aconst_null
            areturn
        30: .line 176
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.MethodDeclaration org.eclipse.jdt.internal.compiler.ast.TypeReference
      StackMap stack:
            aload 5 /* decl */
            aload 6 /* typeReference */
            putfield org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.returnType:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
        31: .line 177
            aload 5 /* decl */
            aload 4 /* typeParams */
            putfield org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.typeParameters:[Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;
        32: .line 178
            aload 5 /* decl */
            astore 3 /* methodDeclaration */
        end local 6 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
        end local 5 // org.eclipse.jdt.internal.compiler.ast.MethodDeclaration decl
        start local 3 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration methodDeclaration
        33: .line 180
      StackMap locals: org.eclipse.jdt.internal.core.BinaryTypeConverter org.eclipse.jdt.core.IMethod org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration org.eclipse.jdt.internal.compiler.ast.TypeParameter[]
      StackMap stack:
            aload 3 /* methodDeclaration */
            aload 1 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            putfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.selector:[C
        34: .line 181
            aload 1 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getFlags:()I
            istore 5 /* flags */
        start local 5 // int flags
        35: .line 182
            iload 5 /* flags */
            invokestatic org.eclipse.jdt.core.Flags.isVarargs:(I)Z
            istore 6 /* isVarargs */
        start local 6 // boolean isVarargs
        36: .line 183
            aload 3 /* methodDeclaration */
            iload 5 /* flags */
            sipush -129
            iand
            putfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.modifiers:I
        37: .line 186
            aload 1 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getParameterTypes:()[Ljava/lang/String;
            astore 7 /* argumentTypeNames */
        start local 7 // java.lang.String[] argumentTypeNames
        38: .line 187
            aload 1 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getParameterNames:()[Ljava/lang/String;
            astore 8 /* argumentNames */
        start local 8 // java.lang.String[] argumentNames
        39: .line 188
            aload 7 /* argumentTypeNames */
            ifnonnull 40
            iconst_0
            goto 41
      StackMap locals: org.eclipse.jdt.internal.core.BinaryTypeConverter org.eclipse.jdt.core.IMethod org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration org.eclipse.jdt.internal.compiler.ast.TypeParameter[] int int java.lang.String[] java.lang.String[]
      StackMap stack:
        40: aload 7 /* argumentTypeNames */
            arraylength
      StackMap locals:
      StackMap stack: int
        41: istore 9 /* argumentCount */
        start local 9 // int argumentCount
        42: .line 190
            aload 1 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.isConstructor:()Z
            ifeq 43
            aload 2 /* type */
            invokeinterface org.eclipse.jdt.core.IType.isMember:()Z
            ifeq 43
            aload 2 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getFlags:()I
            invokestatic org.eclipse.jdt.core.Flags.isStatic:(I)Z
            ifne 43
            iconst_1
            goto 44
      StackMap locals: int
      StackMap stack:
        43: iconst_0
      StackMap locals:
      StackMap stack: int
        44: istore 10 /* startIndex */
        start local 10 // int startIndex
        45: .line 191
            iload 9 /* argumentCount */
            iload 10 /* startIndex */
            isub
            istore 9 /* argumentCount */
        46: .line 192
            aload 3 /* methodDeclaration */
            iload 9 /* argumentCount */
            anewarray org.eclipse.jdt.internal.compiler.ast.Argument
            putfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
        47: .line 193
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        48: goto 61
        49: .line 194
      StackMap locals: int int
      StackMap stack:
            aload 7 /* argumentTypeNames */
            iload 10 /* startIndex */
            iload 11 /* i */
            iadd
            aaload
            astore 12 /* argumentTypeName */
        start local 12 // java.lang.String argumentTypeName
        50: .line 195
            aload 0 /* this */
            aload 12 /* argumentTypeName */
            invokevirtual org.eclipse.jdt.internal.core.BinaryTypeConverter.createTypeReference:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            astore 13 /* typeReference */
        start local 13 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
        51: .line 196
            aload 13 /* typeReference */
            ifnonnull 52
            aconst_null
            areturn
        52: .line 197
      StackMap locals: java.lang.String org.eclipse.jdt.internal.compiler.ast.TypeReference
      StackMap stack:
            iload 6 /* isVarargs */
            ifeq 54
            iload 11 /* i */
            iload 9 /* argumentCount */
            iconst_1
            isub
            if_icmpne 54
        53: .line 198
            aload 13 /* typeReference */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.TypeReference.bits:I
            sipush 16384
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.TypeReference.bits:I
        54: .line 200
      StackMap locals:
      StackMap stack:
            aload 3 /* methodDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
            iload 11 /* i */
            new org.eclipse.jdt.internal.compiler.ast.Argument
            dup
        55: .line 201
            aload 8 /* argumentNames */
            iload 11 /* i */
            aaload
            invokevirtual java.lang.String.toCharArray:()[C
        56: .line 202
            lconst_0
        57: .line 203
            aload 13 /* typeReference */
        58: .line 204
            iconst_0
            invokespecial org.eclipse.jdt.internal.compiler.ast.Argument.<init>:([CJLorg/eclipse/jdt/internal/compiler/ast/TypeReference;I)V
        59: .line 200
            aastore
        end local 13 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
        end local 12 // java.lang.String argumentTypeName
        60: .line 193
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        61: iload 11 /* i */
            iload 9 /* argumentCount */
            if_icmplt 49
        end local 11 // int i
        62: .line 209
            aload 1 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getExceptionTypes:()[Ljava/lang/String;
            astore 11 /* exceptionTypeNames */
        start local 11 // java.lang.String[] exceptionTypeNames
        63: .line 210
            aload 11 /* exceptionTypeNames */
            ifnonnull 64
            iconst_0
            goto 65
      StackMap locals: org.eclipse.jdt.internal.core.BinaryTypeConverter org.eclipse.jdt.core.IMethod org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration org.eclipse.jdt.internal.compiler.ast.TypeParameter[] int int java.lang.String[] java.lang.String[] int int java.lang.String[]
      StackMap stack:
        64: aload 11 /* exceptionTypeNames */
            arraylength
      StackMap locals:
      StackMap stack: int
        65: istore 12 /* exceptionCount */
        start local 12 // int exceptionCount
        66: .line 211
            iload 12 /* exceptionCount */
            ifle 75
        67: .line 212
            aload 3 /* methodDeclaration */
            iload 12 /* exceptionCount */
            anewarray org.eclipse.jdt.internal.compiler.ast.TypeReference
            putfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.thrownExceptions:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
        68: .line 213
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        69: goto 74
        70: .line 214
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 11 /* exceptionTypeNames */
            iload 13 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.BinaryTypeConverter.createTypeReference:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            astore 14 /* typeReference */
        start local 14 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
        71: .line 215
            aload 14 /* typeReference */
            ifnonnull 72
            aconst_null
            areturn
        72: .line 216
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.TypeReference
      StackMap stack:
            aload 3 /* methodDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.thrownExceptions:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            iload 13 /* i */
            aload 14 /* typeReference */
            aastore
        end local 14 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
        73: .line 213
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        74: iload 13 /* i */
            iload 12 /* exceptionCount */
            if_icmplt 70
        end local 13 // int i
        75: .line 219
      StackMap locals:
      StackMap stack:
            aload 3 /* methodDeclaration */
            areturn
        end local 12 // int exceptionCount
        end local 11 // java.lang.String[] exceptionTypeNames
        end local 10 // int startIndex
        end local 9 // int argumentCount
        end local 8 // java.lang.String[] argumentNames
        end local 7 // java.lang.String[] argumentTypeNames
        end local 6 // boolean isVarargs
        end local 5 // int flags
        end local 4 // org.eclipse.jdt.internal.compiler.ast.TypeParameter[] typeParams
        end local 3 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration methodDeclaration
        end local 2 // org.eclipse.jdt.core.IType type
        end local 1 // org.eclipse.jdt.core.IMethod method
        end local 0 // org.eclipse.jdt.internal.core.BinaryTypeConverter this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   76     0                this  Lorg/eclipse/jdt/internal/core/BinaryTypeConverter;
            0   76     1              method  Lorg/eclipse/jdt/core/IMethod;
            0   76     2                type  Lorg/eclipse/jdt/core/IType;
           24   25     3   methodDeclaration  Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
           33   76     3   methodDeclaration  Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
            1   76     4          typeParams  [Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;
            3   19     5      typeParameters  [Lorg/eclipse/jdt/core/ITypeParameter;
            5   19     6      parameterCount  I
            7   19     7                   i  I
            9   17     8       typeParameter  Lorg/eclipse/jdt/core/ITypeParameter;
           21   24     5                decl  Lorg/eclipse/jdt/internal/compiler/ast/ConstructorDeclaration;
           28   33     5                decl  Lorg/eclipse/jdt/internal/compiler/ast/MethodDeclaration;
           29   33     6       typeReference  Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
           35   76     5               flags  I
           36   76     6           isVarargs  Z
           38   76     7   argumentTypeNames  [Ljava/lang/String;
           39   76     8       argumentNames  [Ljava/lang/String;
           42   76     9       argumentCount  I
           45   76    10          startIndex  I
           48   62    11                   i  I
           50   60    12    argumentTypeName  Ljava/lang/String;
           51   60    13       typeReference  Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
           63   76    11  exceptionTypeNames  [Ljava/lang/String;
           66   76    12      exceptionCount  I
           69   75    13                   i  I
           71   73    14       typeReference  Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
        Name  Flags
      method  
      type    

  private org.eclipse.jdt.internal.compiler.ast.TypeDeclaration convert(org.eclipse.jdt.core.IType, org.eclipse.jdt.core.IType, org.eclipse.jdt.internal.compiler.ast.TypeDeclaration);
    descriptor: (Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;)Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=20, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.BinaryTypeConverter this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // org.eclipse.jdt.core.IType alreadyComputedMember
        start local 3 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration alreadyComputedMemberDeclaration
         0: .line 224
            new org.eclipse.jdt.internal.compiler.ast.TypeDeclaration
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryTypeConverter.compilationResult:Lorg/eclipse/jdt/internal/compiler/CompilationResult;
            invokespecial org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.<init>:(Lorg/eclipse/jdt/internal/compiler/CompilationResult;)V
            astore 4 /* typeDeclaration */
        start local 4 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration typeDeclaration
         1: .line 226
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            ifnull 3
         2: .line 227
            aload 4 /* typeDeclaration */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.bits:I
            sipush 1024
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.bits:I
         3: .line 229
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.TypeDeclaration
      StackMap stack:
            aload 4 /* typeDeclaration */
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            putfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.name:[C
         4: .line 230
            aload 4 /* typeDeclaration */
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getFlags:()I
            putfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.modifiers:I
         5: .line 234
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getSuperclassName:()Ljava/lang/String;
            ifnull 10
         6: .line 235
            aload 0 /* this */
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getSuperclassTypeSignature:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.BinaryTypeConverter.createTypeReference:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            astore 5 /* typeReference */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
         7: .line 236
            aload 5 /* typeReference */
            ifnull 10
         8: .line 237
            aload 4 /* typeDeclaration */
            aload 5 /* typeReference */
            putfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.superclass:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
         9: .line 238
            aload 4 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.superclass:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.TypeReference.bits:I
            bipush 16
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.TypeReference.bits:I
        end local 5 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
        10: .line 242
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getSuperInterfaceTypeSignatures:()[Ljava/lang/String;
            astore 5 /* interfaceTypes */
        start local 5 // java.lang.String[] interfaceTypes
        11: .line 243
            aload 5 /* interfaceTypes */
            ifnonnull 12
            iconst_0
            goto 13
      StackMap locals: java.lang.String[]
      StackMap stack:
        12: aload 5 /* interfaceTypes */
            arraylength
      StackMap locals:
      StackMap stack: int
        13: istore 6 /* interfaceCount */
        start local 6 // int interfaceCount
        14: .line 244
            aload 4 /* typeDeclaration */
            iload 6 /* interfaceCount */
            anewarray org.eclipse.jdt.internal.compiler.ast.TypeReference
            putfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
        15: .line 245
            iconst_0
            istore 7 /* count */
        start local 7 // int count
        16: .line 246
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        17: goto 23
        18: .line 247
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            aload 5 /* interfaceTypes */
            iload 8 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.BinaryTypeConverter.createTypeReference:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            astore 9 /* typeReference */
        start local 9 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
        19: .line 248
            aload 9 /* typeReference */
            ifnull 22
        20: .line 249
            aload 4 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            iload 7 /* count */
            aload 9 /* typeReference */
            aastore
        21: .line 250
            aload 4 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            iload 7 /* count */
            iinc 7 /* count */ 1
            aaload
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.TypeReference.bits:I
            bipush 16
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.TypeReference.bits:I
        end local 9 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
        22: .line 246
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 8 /* i */
            iload 6 /* interfaceCount */
            if_icmplt 18
        end local 8 // int i
        24: .line 253
            iload 7 /* count */
            iload 6 /* interfaceCount */
            if_icmpeq 26
        25: .line 254
            aload 4 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.fields:[Lorg/eclipse/jdt/internal/compiler/ast/FieldDeclaration;
            iconst_0
            aload 4 /* typeDeclaration */
            iload 6 /* interfaceCount */
            anewarray org.eclipse.jdt.internal.compiler.ast.TypeReference
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            iconst_0
            iload 6 /* interfaceCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        26: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryTypeConverter.has1_5Compliance:Z
            ifeq 45
        27: .line 261
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getTypeParameters:()[Lorg/eclipse/jdt/core/ITypeParameter;
            astore 8 /* typeParameters */
        start local 8 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
        28: .line 262
            aload 8 /* typeParameters */
            ifnull 45
            aload 8 /* typeParameters */
            arraylength
            ifle 45
        29: .line 263
            aload 8 /* typeParameters */
            arraylength
            istore 9 /* parameterCount */
        start local 9 // int parameterCount
        30: .line 264
            iload 9 /* parameterCount */
            anewarray org.eclipse.jdt.internal.compiler.ast.TypeParameter
            astore 10 /* typeParams */
        start local 10 // org.eclipse.jdt.internal.compiler.ast.TypeParameter[] typeParams
        31: .line 265
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        32: goto 43
        33: .line 266
      StackMap locals: org.eclipse.jdt.internal.core.BinaryTypeConverter org.eclipse.jdt.core.IType org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.ast.TypeDeclaration org.eclipse.jdt.internal.compiler.ast.TypeDeclaration java.lang.String[] int int org.eclipse.jdt.core.ITypeParameter[] int org.eclipse.jdt.internal.compiler.ast.TypeParameter[] int
      StackMap stack:
            aload 8 /* typeParameters */
            iload 11 /* i */
            aaload
            astore 12 /* typeParameter */
        start local 12 // org.eclipse.jdt.core.ITypeParameter typeParameter
        34: .line 267
            aload 10 /* typeParams */
            iload 11 /* i */
        35: .line 268
            aload 0 /* this */
        36: .line 269
            aload 12 /* typeParameter */
            invokeinterface org.eclipse.jdt.core.ITypeParameter.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
        37: .line 270
            aload 12 /* typeParameter */
            invokeinterface org.eclipse.jdt.core.ITypeParameter.getBounds:()[Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.BinaryTypeConverter.stringArrayToCharArray:([Ljava/lang/String;)[[C
        38: .line 271
            iconst_0
        39: .line 272
            iconst_0
        40: .line 268
            invokevirtual org.eclipse.jdt.internal.core.BinaryTypeConverter.createTypeParameter:([C[[CII)Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;
        41: .line 267
            aastore
        end local 12 // org.eclipse.jdt.core.ITypeParameter typeParameter
        42: .line 265
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 11 /* i */
            iload 9 /* parameterCount */
            if_icmplt 33
        end local 11 // int i
        44: .line 275
            aload 4 /* typeDeclaration */
            aload 10 /* typeParams */
            putfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.typeParameters:[Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;
        end local 10 // org.eclipse.jdt.internal.compiler.ast.TypeParameter[] typeParams
        end local 9 // int parameterCount
        end local 8 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
        45: .line 280
      StackMap locals: org.eclipse.jdt.internal.core.BinaryTypeConverter org.eclipse.jdt.core.IType org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.ast.TypeDeclaration org.eclipse.jdt.internal.compiler.ast.TypeDeclaration java.lang.String[] int int
      StackMap stack:
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getTypes:()[Lorg/eclipse/jdt/core/IType;
            astore 8 /* memberTypes */
        start local 8 // org.eclipse.jdt.core.IType[] memberTypes
        46: .line 281
            aload 8 /* memberTypes */
            ifnonnull 47
            iconst_0
            goto 48
      StackMap locals: org.eclipse.jdt.core.IType[]
      StackMap stack:
        47: aload 8 /* memberTypes */
            arraylength
      StackMap locals:
      StackMap stack: int
        48: istore 9 /* memberTypeCount */
        start local 9 // int memberTypeCount
        49: .line 282
            aload 4 /* typeDeclaration */
            iload 9 /* memberTypeCount */
            anewarray org.eclipse.jdt.internal.compiler.ast.TypeDeclaration
            putfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.memberTypes:[Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
        50: .line 283
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        51: goto 58
        52: .line 284
      StackMap locals: int int
      StackMap stack:
            aload 2 /* alreadyComputedMember */
            ifnull 55
            aload 2 /* alreadyComputedMember */
            invokeinterface org.eclipse.jdt.core.IType.getFullyQualifiedName:()Ljava/lang/String;
            aload 8 /* memberTypes */
            iload 10 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IType.getFullyQualifiedName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 55
        53: .line 285
            aload 4 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.memberTypes:[Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            iload 10 /* i */
            aload 3 /* alreadyComputedMemberDeclaration */
            aastore
        54: .line 286
            goto 56
        55: .line 287
      StackMap locals:
      StackMap stack:
            aload 4 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.memberTypes:[Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            iload 10 /* i */
            aload 0 /* this */
            aload 8 /* memberTypes */
            iload 10 /* i */
            aaload
            aconst_null
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.BinaryTypeConverter.convert:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;)Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            aastore
        56: .line 289
      StackMap locals:
      StackMap stack:
            aload 4 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.memberTypes:[Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            iload 10 /* i */
            aaload
            aload 4 /* typeDeclaration */
            putfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.enclosingType:Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
        57: .line 283
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        58: iload 10 /* i */
            iload 9 /* memberTypeCount */
            if_icmplt 52
        end local 10 // int i
        59: .line 293
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getFields:()[Lorg/eclipse/jdt/core/IField;
            astore 10 /* fields */
        start local 10 // org.eclipse.jdt.core.IField[] fields
        60: .line 294
            aload 10 /* fields */
            ifnonnull 61
            iconst_0
            goto 62
      StackMap locals: org.eclipse.jdt.internal.core.BinaryTypeConverter org.eclipse.jdt.core.IType org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.ast.TypeDeclaration org.eclipse.jdt.internal.compiler.ast.TypeDeclaration java.lang.String[] int int org.eclipse.jdt.core.IType[] int org.eclipse.jdt.core.IField[]
      StackMap stack:
        61: aload 10 /* fields */
            arraylength
      StackMap locals:
      StackMap stack: int
        62: istore 11 /* fieldCount */
        start local 11 // int fieldCount
        63: .line 295
            aload 4 /* typeDeclaration */
            iload 11 /* fieldCount */
            anewarray org.eclipse.jdt.internal.compiler.ast.FieldDeclaration
            putfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.fields:[Lorg/eclipse/jdt/internal/compiler/ast/FieldDeclaration;
        64: .line 296
            iconst_0
            istore 7 /* count */
        65: .line 297
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        66: goto 71
        67: .line 298
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 10 /* fields */
            iload 12 /* i */
            aaload
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.BinaryTypeConverter.convert:(Lorg/eclipse/jdt/core/IField;Lorg/eclipse/jdt/core/IType;)Lorg/eclipse/jdt/internal/compiler/ast/FieldDeclaration;
            astore 13 /* fieldDeclaration */
        start local 13 // org.eclipse.jdt.internal.compiler.ast.FieldDeclaration fieldDeclaration
        68: .line 299
            aload 13 /* fieldDeclaration */
            ifnull 70
        69: .line 300
            aload 4 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.fields:[Lorg/eclipse/jdt/internal/compiler/ast/FieldDeclaration;
            iload 7 /* count */
            iinc 7 /* count */ 1
            aload 13 /* fieldDeclaration */
            aastore
        end local 13 // org.eclipse.jdt.internal.compiler.ast.FieldDeclaration fieldDeclaration
        70: .line 297
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        71: iload 12 /* i */
            iload 11 /* fieldCount */
            if_icmplt 67
        end local 12 // int i
        72: .line 303
            iload 7 /* count */
            iload 11 /* fieldCount */
            if_icmpeq 74
        73: .line 304
            aload 4 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.fields:[Lorg/eclipse/jdt/internal/compiler/ast/FieldDeclaration;
            iconst_0
            aload 4 /* typeDeclaration */
            iload 7 /* count */
            anewarray org.eclipse.jdt.internal.compiler.ast.FieldDeclaration
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.fields:[Lorg/eclipse/jdt/internal/compiler/ast/FieldDeclaration;
            iconst_0
            iload 7 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        74: .line 308
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getMethods:()[Lorg/eclipse/jdt/core/IMethod;
            astore 12 /* methods */
        start local 12 // org.eclipse.jdt.core.IMethod[] methods
        75: .line 309
            aload 12 /* methods */
            ifnonnull 76
            iconst_0
            goto 77
      StackMap locals: org.eclipse.jdt.core.IMethod[]
      StackMap stack:
        76: aload 12 /* methods */
            arraylength
      StackMap locals:
      StackMap stack: int
        77: istore 13 /* methodCount */
        start local 13 // int methodCount
        78: .line 313
            iconst_1
            istore 14 /* neededCount */
        start local 14 // int neededCount
        79: .line 314
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        80: goto 85
        81: .line 315
      StackMap locals: int int int
      StackMap stack:
            aload 12 /* methods */
            iload 15 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IMethod.isConstructor:()Z
            ifeq 84
        82: .line 316
            iconst_0
            istore 14 /* neededCount */
        83: .line 318
            goto 86
        84: .line 314
      StackMap locals:
      StackMap stack:
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        85: iload 15 /* i */
            iload 13 /* methodCount */
            if_icmplt 81
        end local 15 // int i
        86: .line 321
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.isInterface:()Z
            istore 15 /* isInterface */
        start local 15 // boolean isInterface
        87: .line 322
            iload 15 /* isInterface */
            ifeq 88
            iconst_0
            goto 89
      StackMap locals: int
      StackMap stack:
        88: iload 14 /* neededCount */
      StackMap locals:
      StackMap stack: int
        89: istore 14 /* neededCount */
        90: .line 323
            aload 4 /* typeDeclaration */
            iload 13 /* methodCount */
            iload 14 /* neededCount */
            iadd
            anewarray org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
            putfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.methods:[Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
        91: .line 324
            iload 14 /* neededCount */
            ifeq 93
        92: .line 325
            aload 4 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.methods:[Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
            iconst_0
            aload 4 /* typeDeclaration */
            iconst_0
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.createDefaultConstructor:(ZZ)Lorg/eclipse/jdt/internal/compiler/ast/ConstructorDeclaration;
            aastore
        93: .line 327
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 16 /* hasAbstractMethods */
        start local 16 // boolean hasAbstractMethods
        94: .line 328
            iconst_0
            istore 7 /* count */
        95: .line 329
            iconst_0
            istore 17 /* i */
        start local 17 // int i
        96: goto 106
        97: .line 330
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 12 /* methods */
            iload 17 /* i */
            aaload
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.BinaryTypeConverter.convert:(Lorg/eclipse/jdt/core/IMethod;Lorg/eclipse/jdt/core/IType;)Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
            astore 18 /* method */
        start local 18 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration method
        98: .line 331
            aload 18 /* method */
            ifnull 105
        99: .line 333
            aload 18 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.isAbstract:()Z
            dup
            istore 19 /* isAbstract */
        start local 19 // boolean isAbstract
       100: ifne 101
            iload 15 /* isInterface */
            ifeq 102
       101: .line 334
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration int
      StackMap stack:
            aload 18 /* method */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.modifiers:I
            ldc 16777216
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.modifiers:I
       102: .line 336
      StackMap locals:
      StackMap stack:
            iload 19 /* isAbstract */
            ifeq 104
       103: .line 337
            iconst_1
            istore 16 /* hasAbstractMethods */
       104: .line 339
      StackMap locals:
      StackMap stack:
            aload 4 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.methods:[Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
            iload 14 /* neededCount */
            iload 7 /* count */
            iinc 7 /* count */ 1
            iadd
            aload 18 /* method */
            aastore
        end local 19 // boolean isAbstract
        end local 18 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration method
       105: .line 329
      StackMap locals:
      StackMap stack:
            iinc 17 /* i */ 1
      StackMap locals:
      StackMap stack:
       106: iload 17 /* i */
            iload 13 /* methodCount */
            if_icmplt 97
        end local 17 // int i
       107: .line 342
            iload 7 /* count */
            iload 13 /* methodCount */
            if_icmpeq 109
       108: .line 343
            aload 4 /* typeDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.methods:[Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
            iconst_0
            aload 4 /* typeDeclaration */
            iload 7 /* count */
            iload 14 /* neededCount */
            iadd
            anewarray org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.methods:[Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
            iconst_0
            iload 7 /* count */
            iload 14 /* neededCount */
            iadd
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       109: .line 345
      StackMap locals:
      StackMap stack:
            iload 16 /* hasAbstractMethods */
            ifeq 111
       110: .line 346
            aload 4 /* typeDeclaration */
            dup
            getfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.bits:I
            sipush 2048
            ior
            putfield org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.bits:I
       111: .line 348
      StackMap locals:
      StackMap stack:
            aload 4 /* typeDeclaration */
            areturn
        end local 16 // boolean hasAbstractMethods
        end local 15 // boolean isInterface
        end local 14 // int neededCount
        end local 13 // int methodCount
        end local 12 // org.eclipse.jdt.core.IMethod[] methods
        end local 11 // int fieldCount
        end local 10 // org.eclipse.jdt.core.IField[] fields
        end local 9 // int memberTypeCount
        end local 8 // org.eclipse.jdt.core.IType[] memberTypes
        end local 7 // int count
        end local 6 // int interfaceCount
        end local 5 // java.lang.String[] interfaceTypes
        end local 4 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration typeDeclaration
        end local 3 // org.eclipse.jdt.internal.compiler.ast.TypeDeclaration alreadyComputedMemberDeclaration
        end local 2 // org.eclipse.jdt.core.IType alreadyComputedMember
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.BinaryTypeConverter this
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0  112     0                              this  Lorg/eclipse/jdt/internal/core/BinaryTypeConverter;
            0  112     1                              type  Lorg/eclipse/jdt/core/IType;
            0  112     2             alreadyComputedMember  Lorg/eclipse/jdt/core/IType;
            0  112     3  alreadyComputedMemberDeclaration  Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            1  112     4                   typeDeclaration  Lorg/eclipse/jdt/internal/compiler/ast/TypeDeclaration;
            7   10     5                     typeReference  Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
           11  112     5                    interfaceTypes  [Ljava/lang/String;
           14  112     6                    interfaceCount  I
           16  112     7                             count  I
           17   24     8                                 i  I
           19   22     9                     typeReference  Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
           28   45     8                    typeParameters  [Lorg/eclipse/jdt/core/ITypeParameter;
           30   45     9                    parameterCount  I
           31   45    10                        typeParams  [Lorg/eclipse/jdt/internal/compiler/ast/TypeParameter;
           32   44    11                                 i  I
           34   42    12                     typeParameter  Lorg/eclipse/jdt/core/ITypeParameter;
           46  112     8                       memberTypes  [Lorg/eclipse/jdt/core/IType;
           49  112     9                   memberTypeCount  I
           51   59    10                                 i  I
           60  112    10                            fields  [Lorg/eclipse/jdt/core/IField;
           63  112    11                        fieldCount  I
           66   72    12                                 i  I
           68   70    13                  fieldDeclaration  Lorg/eclipse/jdt/internal/compiler/ast/FieldDeclaration;
           75  112    12                           methods  [Lorg/eclipse/jdt/core/IMethod;
           78  112    13                       methodCount  I
           79  112    14                       neededCount  I
           80   86    15                                 i  I
           87  112    15                       isInterface  Z
           94  112    16                hasAbstractMethods  Z
           96  107    17                                 i  I
           98  105    18                            method  Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
          100  105    19                        isAbstract  Z
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                                  Name  Flags
      type                              
      alreadyComputedMember             
      alreadyComputedMemberDeclaration  

  private static char[][] stringArrayToCharArray(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[[C
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.String[] strings
         0: .line 352
            aload 0 /* strings */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* strings */
            arraylength
            istore 1 /* length */
        start local 1 // int length
         2: .line 355
            iload 1 /* length */
            ifne 3
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_CHAR_CHAR:[[C
            areturn
         3: .line 357
      StackMap locals: int
      StackMap stack:
            iload 1 /* length */
            anewarray char[]
            astore 2 /* result */
        start local 2 // char[][] result
         4: .line 358
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 359
      StackMap locals: char[][] int
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            aload 0 /* strings */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.String.toCharArray:()[C
            aastore
         7: .line 358
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 6
        end local 3 // int i
         9: .line 362
            aload 2 /* result */
            areturn
        end local 2 // char[][] result
        end local 1 // int length
        end local 0 // java.lang.String[] strings
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0  strings  [Ljava/lang/String;
            2   10     1   length  I
            4   10     2   result  [[C
            5    9     3        i  I
    MethodParameters:
         Name  Flags
      strings  

  private org.eclipse.jdt.internal.compiler.ast.TypeReference createTypeReference(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryTypeConverter this
        start local 1 // java.lang.String typeSignature
         0: .line 366
            aload 0 /* this */
            aload 1 /* typeSignature */
            iconst_0
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.BinaryTypeConverter.createTypeReference:(Ljava/lang/String;II)Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            astore 2 /* result */
        start local 2 // org.eclipse.jdt.internal.compiler.ast.TypeReference result
         1: .line 367
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryTypeConverter.typeNames:Lorg/eclipse/jdt/internal/core/util/HashSetOfCharArrayArray;
            ifnull 3
            aload 2 /* result */
            instanceof org.eclipse.jdt.internal.compiler.ast.QualifiedTypeReference
            ifeq 3
         2: .line 368
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryTypeConverter.typeNames:Lorg/eclipse/jdt/internal/core/util/HashSetOfCharArrayArray;
            aload 2 /* result */
            checkcast org.eclipse.jdt.internal.compiler.ast.QualifiedTypeReference
            getfield org.eclipse.jdt.internal.compiler.ast.QualifiedTypeReference.tokens:[[C
            invokevirtual org.eclipse.jdt.internal.core.util.HashSetOfCharArrayArray.add:([[C)[[C
            pop
         3: .line 370
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.TypeReference
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.ast.TypeReference result
        end local 1 // java.lang.String typeSignature
        end local 0 // org.eclipse.jdt.internal.core.BinaryTypeConverter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/eclipse/jdt/internal/core/BinaryTypeConverter;
            0    4     1  typeSignature  Ljava/lang/String;
            1    4     2         result  Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
    MethodParameters:
               Name  Flags
      typeSignature  
}
SourceFile: "BinaryTypeConverter.java"