public class org.eclipse.jdt.internal.core.BinaryType extends org.eclipse.jdt.internal.core.BinaryMember implements org.eclipse.jdt.core.IType, org.eclipse.jdt.internal.compiler.util.SuffixConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.BinaryType
  super_class: org.eclipse.jdt.internal.core.BinaryMember
{
  private static final org.eclipse.jdt.core.IField[] NO_FIELDS;
    descriptor: [Lorg/eclipse/jdt/core/IField;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.eclipse.jdt.core.IMethod[] NO_METHODS;
    descriptor: [Lorg/eclipse/jdt/core/IMethod;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.eclipse.jdt.core.IType[] NO_TYPES;
    descriptor: [Lorg/eclipse/jdt/core/IType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.eclipse.jdt.core.IInitializer[] NO_INITIALIZERS;
    descriptor: [Lorg/eclipse/jdt/core/IInitializer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final org.eclipse.jdt.internal.core.JavadocContents EMPTY_JAVADOC;
    descriptor: Lorg/eclipse/jdt/internal/core/JavadocContents;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 49
            iconst_0
            anewarray org.eclipse.jdt.core.IField
            putstatic org.eclipse.jdt.internal.core.BinaryType.NO_FIELDS:[Lorg/eclipse/jdt/core/IField;
         1: .line 50
            iconst_0
            anewarray org.eclipse.jdt.core.IMethod
            putstatic org.eclipse.jdt.internal.core.BinaryType.NO_METHODS:[Lorg/eclipse/jdt/core/IMethod;
         2: .line 51
            iconst_0
            anewarray org.eclipse.jdt.core.IType
            putstatic org.eclipse.jdt.internal.core.BinaryType.NO_TYPES:[Lorg/eclipse/jdt/core/IType;
         3: .line 52
            iconst_0
            anewarray org.eclipse.jdt.core.IInitializer
            putstatic org.eclipse.jdt.internal.core.BinaryType.NO_INITIALIZERS:[Lorg/eclipse/jdt/core/IInitializer;
         4: .line 53
            new org.eclipse.jdt.internal.core.JavadocContents
            dup
            aconst_null
            getstatic org.eclipse.jdt.internal.compiler.util.Util.EMPTY_STRING:Ljava/lang/String;
            invokespecial org.eclipse.jdt.internal.core.JavadocContents.<init>:(Lorg/eclipse/jdt/internal/core/BinaryType;Ljava/lang/String;)V
            putstatic org.eclipse.jdt.internal.core.BinaryType.EMPTY_JAVADOC:Lorg/eclipse/jdt/internal/core/JavadocContents;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.eclipse.jdt.internal.core.JavaElement, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.jdt.internal.core.JavaElement parent
        start local 2 // java.lang.String name
         0: .line 56
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* name */
            invokespecial org.eclipse.jdt.internal.core.BinaryMember.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
         1: .line 57
            return
        end local 2 // java.lang.String name
        end local 1 // org.eclipse.jdt.internal.core.JavaElement parent
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    2     1  parent  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    2     2    name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      parent  
      name    

  protected void closing(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // java.lang.Object info
         0: .line 63
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getClassFileInfo:()Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            astore 2 /* cfi */
        start local 2 // org.eclipse.jdt.internal.core.ClassFileInfo cfi
         1: .line 64
            aload 2 /* cfi */
            invokevirtual org.eclipse.jdt.internal.core.ClassFileInfo.removeBinaryChildren:()V
         2: .line 65
            return
        end local 2 // org.eclipse.jdt.internal.core.ClassFileInfo cfi
        end local 1 // java.lang.Object info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    3     1  info  Ljava/lang/Object;
            1    3     2   cfi  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      info  

  public void codeComplete(char[], int, int, char[][], char[][], int[], boolean, org.eclipse.jdt.core.ICompletionRequestor);
    descriptor: ([CII[[C[[C[IZLorg/eclipse/jdt/core/ICompletionRequestor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=9, args_size=9
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // char[] snippet
        start local 2 // int insertion
        start local 3 // int position
        start local 4 // char[][] localVariableTypeNames
        start local 5 // char[][] localVariableNames
        start local 6 // int[] localVariableModifiers
        start local 7 // boolean isStatic
        start local 8 // org.eclipse.jdt.core.ICompletionRequestor requestor
         0: .line 73
            aload 0 /* this */
            aload 1 /* snippet */
            iload 2 /* insertion */
            iload 3 /* position */
            aload 4 /* localVariableTypeNames */
            aload 5 /* localVariableNames */
            aload 6 /* localVariableModifiers */
            iload 7 /* isStatic */
            aload 8 /* requestor */
            getstatic org.eclipse.jdt.internal.core.DefaultWorkingCopyOwner.PRIMARY:Lorg/eclipse/jdt/internal/core/DefaultWorkingCopyOwner;
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.codeComplete:([CII[[C[[C[IZLorg/eclipse/jdt/core/ICompletionRequestor;Lorg/eclipse/jdt/core/WorkingCopyOwner;)V
         1: .line 74
            return
        end local 8 // org.eclipse.jdt.core.ICompletionRequestor requestor
        end local 7 // boolean isStatic
        end local 6 // int[] localVariableModifiers
        end local 5 // char[][] localVariableNames
        end local 4 // char[][] localVariableTypeNames
        end local 3 // int position
        end local 2 // int insertion
        end local 1 // char[] snippet
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    2     1                 snippet  [C
            0    2     2               insertion  I
            0    2     3                position  I
            0    2     4  localVariableTypeNames  [[C
            0    2     5      localVariableNames  [[C
            0    2     6  localVariableModifiers  [I
            0    2     7                isStatic  Z
            0    2     8               requestor  Lorg/eclipse/jdt/core/ICompletionRequestor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                        Name  Flags
      snippet                 
      insertion               
      position                
      localVariableTypeNames  
      localVariableNames      
      localVariableModifiers  
      isStatic                
      requestor               

  public void codeComplete(char[], int, int, char[][], char[][], int[], boolean, org.eclipse.jdt.core.ICompletionRequestor, org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: ([CII[[C[[C[IZLorg/eclipse/jdt/core/ICompletionRequestor;Lorg/eclipse/jdt/core/WorkingCopyOwner;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=10, args_size=10
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // char[] snippet
        start local 2 // int insertion
        start local 3 // int position
        start local 4 // char[][] localVariableTypeNames
        start local 5 // char[][] localVariableNames
        start local 6 // int[] localVariableModifiers
        start local 7 // boolean isStatic
        start local 8 // org.eclipse.jdt.core.ICompletionRequestor requestor
        start local 9 // org.eclipse.jdt.core.WorkingCopyOwner owner
         0: .line 82
            aload 8 /* requestor */
            ifnonnull 2
         1: .line 83
            new java.lang.IllegalArgumentException
            dup
            ldc "Completion requestor cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* snippet */
            iload 2 /* insertion */
            iload 3 /* position */
            aload 4 /* localVariableTypeNames */
            aload 5 /* localVariableNames */
            aload 6 /* localVariableModifiers */
            iload 7 /* isStatic */
            new org.eclipse.jdt.internal.codeassist.CompletionRequestorWrapper
            dup
            aload 8 /* requestor */
            invokespecial org.eclipse.jdt.internal.codeassist.CompletionRequestorWrapper.<init>:(Lorg/eclipse/jdt/core/ICompletionRequestor;)V
            aload 9 /* owner */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.codeComplete:([CII[[C[[C[IZLorg/eclipse/jdt/core/CompletionRequestor;Lorg/eclipse/jdt/core/WorkingCopyOwner;)V
         3: .line 86
            return
        end local 9 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 8 // org.eclipse.jdt.core.ICompletionRequestor requestor
        end local 7 // boolean isStatic
        end local 6 // int[] localVariableModifiers
        end local 5 // char[][] localVariableNames
        end local 4 // char[][] localVariableTypeNames
        end local 3 // int position
        end local 2 // int insertion
        end local 1 // char[] snippet
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    4     0                    this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    4     1                 snippet  [C
            0    4     2               insertion  I
            0    4     3                position  I
            0    4     4  localVariableTypeNames  [[C
            0    4     5      localVariableNames  [[C
            0    4     6  localVariableModifiers  [I
            0    4     7                isStatic  Z
            0    4     8               requestor  Lorg/eclipse/jdt/core/ICompletionRequestor;
            0    4     9                   owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                        Name  Flags
      snippet                 
      insertion               
      position                
      localVariableTypeNames  
      localVariableNames      
      localVariableModifiers  
      isStatic                
      requestor               
      owner                   

  public void codeComplete(char[], int, int, char[][], char[][], int[], boolean, org.eclipse.jdt.core.CompletionRequestor);
    descriptor: ([CII[[C[[C[IZLorg/eclipse/jdt/core/CompletionRequestor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=9, args_size=9
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // char[] snippet
        start local 2 // int insertion
        start local 3 // int position
        start local 4 // char[][] localVariableTypeNames
        start local 5 // char[][] localVariableNames
        start local 6 // int[] localVariableModifiers
        start local 7 // boolean isStatic
        start local 8 // org.eclipse.jdt.core.CompletionRequestor requestor
         0: .line 90
            aload 0 /* this */
            aload 1 /* snippet */
            iload 2 /* insertion */
            iload 3 /* position */
            aload 4 /* localVariableTypeNames */
            aload 5 /* localVariableNames */
            aload 6 /* localVariableModifiers */
            iload 7 /* isStatic */
            aload 8 /* requestor */
            getstatic org.eclipse.jdt.internal.core.DefaultWorkingCopyOwner.PRIMARY:Lorg/eclipse/jdt/internal/core/DefaultWorkingCopyOwner;
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.codeComplete:([CII[[C[[C[IZLorg/eclipse/jdt/core/CompletionRequestor;Lorg/eclipse/jdt/core/WorkingCopyOwner;)V
         1: .line 91
            return
        end local 8 // org.eclipse.jdt.core.CompletionRequestor requestor
        end local 7 // boolean isStatic
        end local 6 // int[] localVariableModifiers
        end local 5 // char[][] localVariableNames
        end local 4 // char[][] localVariableTypeNames
        end local 3 // int position
        end local 2 // int insertion
        end local 1 // char[] snippet
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    2     1                 snippet  [C
            0    2     2               insertion  I
            0    2     3                position  I
            0    2     4  localVariableTypeNames  [[C
            0    2     5      localVariableNames  [[C
            0    2     6  localVariableModifiers  [I
            0    2     7                isStatic  Z
            0    2     8               requestor  Lorg/eclipse/jdt/core/CompletionRequestor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                        Name  Flags
      snippet                 
      insertion               
      position                
      localVariableTypeNames  
      localVariableNames      
      localVariableModifiers  
      isStatic                
      requestor               

  public void codeComplete(char[], int, int, char[][], char[][], int[], boolean, org.eclipse.jdt.core.CompletionRequestor, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([CII[[C[[C[IZLorg/eclipse/jdt/core/CompletionRequestor;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=10, args_size=10
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // char[] snippet
        start local 2 // int insertion
        start local 3 // int position
        start local 4 // char[][] localVariableTypeNames
        start local 5 // char[][] localVariableNames
        start local 6 // int[] localVariableModifiers
        start local 7 // boolean isStatic
        start local 8 // org.eclipse.jdt.core.CompletionRequestor requestor
        start local 9 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 95
            aload 0 /* this */
            aload 1 /* snippet */
            iload 2 /* insertion */
            iload 3 /* position */
            aload 4 /* localVariableTypeNames */
            aload 5 /* localVariableNames */
            aload 6 /* localVariableModifiers */
            iload 7 /* isStatic */
            aload 8 /* requestor */
            getstatic org.eclipse.jdt.internal.core.DefaultWorkingCopyOwner.PRIMARY:Lorg/eclipse/jdt/internal/core/DefaultWorkingCopyOwner;
            aload 9 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.codeComplete:([CII[[C[[C[IZLorg/eclipse/jdt/core/CompletionRequestor;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)V
         1: .line 96
            return
        end local 9 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 8 // org.eclipse.jdt.core.CompletionRequestor requestor
        end local 7 // boolean isStatic
        end local 6 // int[] localVariableModifiers
        end local 5 // char[][] localVariableNames
        end local 4 // char[][] localVariableTypeNames
        end local 3 // int position
        end local 2 // int insertion
        end local 1 // char[] snippet
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    2     1                 snippet  [C
            0    2     2               insertion  I
            0    2     3                position  I
            0    2     4  localVariableTypeNames  [[C
            0    2     5      localVariableNames  [[C
            0    2     6  localVariableModifiers  [I
            0    2     7                isStatic  Z
            0    2     8               requestor  Lorg/eclipse/jdt/core/CompletionRequestor;
            0    2     9                 monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                        Name  Flags
      snippet                 
      insertion               
      position                
      localVariableTypeNames  
      localVariableNames      
      localVariableModifiers  
      isStatic                
      requestor               
      monitor                 

  public void codeComplete(char[], int, int, char[][], char[][], int[], boolean, org.eclipse.jdt.core.CompletionRequestor, org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: ([CII[[C[[C[IZLorg/eclipse/jdt/core/CompletionRequestor;Lorg/eclipse/jdt/core/WorkingCopyOwner;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=10, args_size=10
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // char[] snippet
        start local 2 // int insertion
        start local 3 // int position
        start local 4 // char[][] localVariableTypeNames
        start local 5 // char[][] localVariableNames
        start local 6 // int[] localVariableModifiers
        start local 7 // boolean isStatic
        start local 8 // org.eclipse.jdt.core.CompletionRequestor requestor
        start local 9 // org.eclipse.jdt.core.WorkingCopyOwner owner
         0: .line 100
            aload 0 /* this */
            aload 1 /* snippet */
            iload 2 /* insertion */
            iload 3 /* position */
            aload 4 /* localVariableTypeNames */
            aload 5 /* localVariableNames */
            aload 6 /* localVariableModifiers */
            iload 7 /* isStatic */
            aload 8 /* requestor */
            aload 9 /* owner */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.codeComplete:([CII[[C[[C[IZLorg/eclipse/jdt/core/CompletionRequestor;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)V
         1: .line 101
            return
        end local 9 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 8 // org.eclipse.jdt.core.CompletionRequestor requestor
        end local 7 // boolean isStatic
        end local 6 // int[] localVariableModifiers
        end local 5 // char[][] localVariableNames
        end local 4 // char[][] localVariableTypeNames
        end local 3 // int position
        end local 2 // int insertion
        end local 1 // char[] snippet
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    2     1                 snippet  [C
            0    2     2               insertion  I
            0    2     3                position  I
            0    2     4  localVariableTypeNames  [[C
            0    2     5      localVariableNames  [[C
            0    2     6  localVariableModifiers  [I
            0    2     7                isStatic  Z
            0    2     8               requestor  Lorg/eclipse/jdt/core/CompletionRequestor;
            0    2     9                   owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                        Name  Flags
      snippet                 
      insertion               
      position                
      localVariableTypeNames  
      localVariableNames      
      localVariableModifiers  
      isStatic                
      requestor               
      owner                   

  public void codeComplete(char[], int, int, char[][], char[][], int[], boolean, org.eclipse.jdt.core.CompletionRequestor, org.eclipse.jdt.core.WorkingCopyOwner, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([CII[[C[[C[IZLorg/eclipse/jdt/core/CompletionRequestor;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=19, args_size=11
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // char[] snippet
        start local 2 // int insertion
        start local 3 // int position
        start local 4 // char[][] localVariableTypeNames
        start local 5 // char[][] localVariableNames
        start local 6 // int[] localVariableModifiers
        start local 7 // boolean isStatic
        start local 8 // org.eclipse.jdt.core.CompletionRequestor requestor
        start local 9 // org.eclipse.jdt.core.WorkingCopyOwner owner
        start local 10 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 115
            aload 8 /* requestor */
            ifnonnull 2
         1: .line 116
            new java.lang.IllegalArgumentException
            dup
            ldc "Completion requestor cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            checkcast org.eclipse.jdt.internal.core.JavaProject
            astore 11 /* project */
        start local 11 // org.eclipse.jdt.internal.core.JavaProject project
         3: .line 119
            aload 11 /* project */
            aload 9 /* owner */
            aload 8 /* requestor */
            invokevirtual org.eclipse.jdt.core.CompletionRequestor.isTestCodeExcluded:()Z
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newSearchableNameEnvironment:(Lorg/eclipse/jdt/core/WorkingCopyOwner;Z)Lorg/eclipse/jdt/internal/core/SearchableEnvironment;
            astore 12 /* environment */
        start local 12 // org.eclipse.jdt.internal.core.SearchableEnvironment environment
         4: .line 120
            new org.eclipse.jdt.internal.codeassist.CompletionEngine
            dup
            aload 12 /* environment */
            aload 8 /* requestor */
            aload 11 /* project */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOptions:(Z)Ljava/util/Map;
            aload 11 /* project */
            aload 9 /* owner */
            aload 10 /* monitor */
            invokespecial org.eclipse.jdt.internal.codeassist.CompletionEngine.<init>:(Lorg/eclipse/jdt/internal/core/SearchableEnvironment;Lorg/eclipse/jdt/core/CompletionRequestor;Ljava/util/Map;Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)V
            astore 13 /* engine */
        start local 13 // org.eclipse.jdt.internal.codeassist.CompletionEngine engine
         5: .line 122
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getClassFile:()Lorg/eclipse/jdt/core/IOrdinaryClassFile;
            invokeinterface org.eclipse.jdt.core.IOrdinaryClassFile.getSource:()Ljava/lang/String;
            astore 14 /* source */
        start local 14 // java.lang.String source
         6: .line 123
            aload 14 /* source */
            ifnull 19
            iload 2 /* insertion */
            iconst_m1
            if_icmple 19
            iload 2 /* insertion */
            aload 14 /* source */
            invokevirtual java.lang.String.length:()I
            if_icmpge 19
         7: .line 126
            aload 14 /* source */
            iconst_0
            iload 2 /* insertion */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            iconst_1
            newarray 5
            dup
            iconst_0
            bipush 123
            castore
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([C[C)[C
            astore 15 /* prefix */
        start local 15 // char[] prefix
         8: .line 127
            iconst_1
            newarray 5
            dup
            iconst_0
            bipush 125
            castore
            aload 14 /* source */
            iload 2 /* insertion */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([C[C)[C
            astore 16 /* suffix */
        start local 16 // char[] suffix
         9: .line 128
            aload 15 /* prefix */
            aload 1 /* snippet */
            aload 16 /* suffix */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([C[C[C)[C
            astore 17 /* fakeSource */
        start local 17 // char[] fakeSource
        10: .line 131
            new org.eclipse.jdt.internal.core.BasicCompilationUnit
            dup
        11: .line 132
            aload 17 /* fakeSource */
        12: .line 133
            aconst_null
        13: .line 134
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementName:()Ljava/lang/String;
        14: .line 135
            aload 11 /* project */
        15: .line 131
            invokespecial org.eclipse.jdt.internal.core.BasicCompilationUnit.<init>:([C[[CLjava/lang/String;Lorg/eclipse/jdt/core/IJavaElement;)V
        16: .line 130
            astore 18 /* cu */
        start local 18 // org.eclipse.jdt.internal.core.BasicCompilationUnit cu
        17: .line 137
            aload 13 /* engine */
            aload 18 /* cu */
            aload 15 /* prefix */
            arraylength
            iload 3 /* position */
            iadd
            aload 15 /* prefix */
            arraylength
            aconst_null
            invokevirtual org.eclipse.jdt.internal.codeassist.CompletionEngine.complete:(Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;IILorg/eclipse/jdt/core/ITypeRoot;)V
        end local 18 // org.eclipse.jdt.internal.core.BasicCompilationUnit cu
        end local 17 // char[] fakeSource
        end local 16 // char[] suffix
        end local 15 // char[] prefix
        18: .line 138
            goto 20
        19: .line 139
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType char[] int int char[][] char[][] int[] int org.eclipse.jdt.core.CompletionRequestor org.eclipse.jdt.core.WorkingCopyOwner org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.SearchableEnvironment org.eclipse.jdt.internal.codeassist.CompletionEngine java.lang.String
      StackMap stack:
            aload 13 /* engine */
            aload 0 /* this */
            aload 1 /* snippet */
            iload 3 /* position */
            aload 4 /* localVariableTypeNames */
            aload 5 /* localVariableNames */
            aload 6 /* localVariableModifiers */
            iload 7 /* isStatic */
            invokevirtual org.eclipse.jdt.internal.codeassist.CompletionEngine.complete:(Lorg/eclipse/jdt/core/IType;[CI[[C[[C[IZ)V
        20: .line 141
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.NameLookup.VERBOSE:Z
            ifeq 23
        21: .line 142
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " TIME SPENT in NameLoopkup#seekTypesInSourcePackage: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* environment */
            getfield org.eclipse.jdt.internal.core.SearchableEnvironment.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
            getfield org.eclipse.jdt.internal.core.NameLookup.timeSpentInSeekTypesInSourcePackage:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "ms"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        22: .line 143
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " TIME SPENT in NameLoopkup#seekTypesInBinaryPackage: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* environment */
            getfield org.eclipse.jdt.internal.core.SearchableEnvironment.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
            getfield org.eclipse.jdt.internal.core.NameLookup.timeSpentInSeekTypesInBinaryPackage:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "ms"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        23: .line 145
      StackMap locals:
      StackMap stack:
            return
        end local 14 // java.lang.String source
        end local 13 // org.eclipse.jdt.internal.codeassist.CompletionEngine engine
        end local 12 // org.eclipse.jdt.internal.core.SearchableEnvironment environment
        end local 11 // org.eclipse.jdt.internal.core.JavaProject project
        end local 10 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 9 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 8 // org.eclipse.jdt.core.CompletionRequestor requestor
        end local 7 // boolean isStatic
        end local 6 // int[] localVariableModifiers
        end local 5 // char[][] localVariableNames
        end local 4 // char[][] localVariableTypeNames
        end local 3 // int position
        end local 2 // int insertion
        end local 1 // char[] snippet
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   24     0                    this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0   24     1                 snippet  [C
            0   24     2               insertion  I
            0   24     3                position  I
            0   24     4  localVariableTypeNames  [[C
            0   24     5      localVariableNames  [[C
            0   24     6  localVariableModifiers  [I
            0   24     7                isStatic  Z
            0   24     8               requestor  Lorg/eclipse/jdt/core/CompletionRequestor;
            0   24     9                   owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0   24    10                 monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            3   24    11                 project  Lorg/eclipse/jdt/internal/core/JavaProject;
            4   24    12             environment  Lorg/eclipse/jdt/internal/core/SearchableEnvironment;
            5   24    13                  engine  Lorg/eclipse/jdt/internal/codeassist/CompletionEngine;
            6   24    14                  source  Ljava/lang/String;
            8   18    15                  prefix  [C
            9   18    16                  suffix  [C
           10   18    17              fakeSource  [C
           17   18    18                      cu  Lorg/eclipse/jdt/internal/core/BasicCompilationUnit;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                        Name  Flags
      snippet                 
      insertion               
      position                
      localVariableTypeNames  
      localVariableNames      
      localVariableModifiers  
      isStatic                
      requestor               
      owner                   
      monitor                 

  public org.eclipse.jdt.core.IField createField(java.lang.String, org.eclipse.jdt.core.IJavaElement, boolean, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaElement;ZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // java.lang.String contents
        start local 2 // org.eclipse.jdt.core.IJavaElement sibling
        start local 3 // boolean force
        start local 4 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 149
            new org.eclipse.jdt.core.JavaModelException
            dup
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            sipush 976
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILorg/eclipse/jdt/core/IJavaElement;)V
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/jdt/core/IJavaModelStatus;)V
            athrow
        end local 4 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 3 // boolean force
        end local 2 // org.eclipse.jdt.core.IJavaElement sibling
        end local 1 // java.lang.String contents
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    1     1  contents  Ljava/lang/String;
            0    1     2   sibling  Lorg/eclipse/jdt/core/IJavaElement;
            0    1     3     force  Z
            0    1     4   monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      contents  
      sibling   
      force     
      monitor   

  public org.eclipse.jdt.core.IInitializer createInitializer(java.lang.String, org.eclipse.jdt.core.IJavaElement, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaElement;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IInitializer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // java.lang.String contents
        start local 2 // org.eclipse.jdt.core.IJavaElement sibling
        start local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 154
            new org.eclipse.jdt.core.JavaModelException
            dup
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            sipush 976
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILorg/eclipse/jdt/core/IJavaElement;)V
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/jdt/core/IJavaModelStatus;)V
            athrow
        end local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 2 // org.eclipse.jdt.core.IJavaElement sibling
        end local 1 // java.lang.String contents
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    1     1  contents  Ljava/lang/String;
            0    1     2   sibling  Lorg/eclipse/jdt/core/IJavaElement;
            0    1     3   monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      contents  
      sibling   
      monitor   

  public org.eclipse.jdt.core.IMethod createMethod(java.lang.String, org.eclipse.jdt.core.IJavaElement, boolean, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaElement;ZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // java.lang.String contents
        start local 2 // org.eclipse.jdt.core.IJavaElement sibling
        start local 3 // boolean force
        start local 4 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 159
            new org.eclipse.jdt.core.JavaModelException
            dup
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            sipush 976
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILorg/eclipse/jdt/core/IJavaElement;)V
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/jdt/core/IJavaModelStatus;)V
            athrow
        end local 4 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 3 // boolean force
        end local 2 // org.eclipse.jdt.core.IJavaElement sibling
        end local 1 // java.lang.String contents
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    1     1  contents  Ljava/lang/String;
            0    1     2   sibling  Lorg/eclipse/jdt/core/IJavaElement;
            0    1     3     force  Z
            0    1     4   monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      contents  
      sibling   
      force     
      monitor   

  public org.eclipse.jdt.core.IType createType(java.lang.String, org.eclipse.jdt.core.IJavaElement, boolean, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaElement;ZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // java.lang.String contents
        start local 2 // org.eclipse.jdt.core.IJavaElement sibling
        start local 3 // boolean force
        start local 4 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 164
            new org.eclipse.jdt.core.JavaModelException
            dup
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            sipush 976
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILorg/eclipse/jdt/core/IJavaElement;)V
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/jdt/core/IJavaModelStatus;)V
            athrow
        end local 4 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 3 // boolean force
        end local 2 // org.eclipse.jdt.core.IJavaElement sibling
        end local 1 // java.lang.String contents
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    1     1  contents  Ljava/lang/String;
            0    1     2   sibling  Lorg/eclipse/jdt/core/IJavaElement;
            0    1     3     force  Z
            0    1     4   monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      contents  
      sibling   
      force     
      monitor   

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // java.lang.Object o
         0: .line 168
            aload 1 /* o */
            instanceof org.eclipse.jdt.internal.core.BinaryType
            ifne 1
            iconst_0
            ireturn
         1: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* o */
            invokespecial org.eclipse.jdt.internal.core.BinaryMember.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object o
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    2     1     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  public org.eclipse.jdt.core.IMethod[] findMethods(org.eclipse.jdt.core.IMethod);
    descriptor: (Lorg/eclipse/jdt/core/IMethod;)[Lorg/eclipse/jdt/core/IMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.jdt.core.IMethod method
         0: .line 175
            aload 1 /* method */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getMethods:()[Lorg/eclipse/jdt/core/IMethod;
            invokestatic org.eclipse.jdt.internal.core.BinaryType.findMethods:(Lorg/eclipse/jdt/core/IMethod;[Lorg/eclipse/jdt/core/IMethod;)[Lorg/eclipse/jdt/core/IMethod;
         1: areturn
         2: .line 176
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
         3: .line 178
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.core.IMethod method
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    4     1  method  Lorg/eclipse/jdt/core/IMethod;
      Exception table:
        from    to  target  type
           0     1       2  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
        Name  Flags
      method  

  public org.eclipse.jdt.core.IAnnotation[] getAnnotations();
    descriptor: ()[Lorg/eclipse/jdt/core/IAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 183
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         1: .line 184
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getAnnotations:()[Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            astore 2 /* binaryAnnotations */
        start local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] binaryAnnotations
         2: .line 185
            aload 0 /* this */
            aload 2 /* binaryAnnotations */
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getTagBits:()J
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getAnnotations:([Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;J)[Lorg/eclipse/jdt/core/IAnnotation;
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation[] binaryAnnotations
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    3     1               info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            2    3     2  binaryAnnotations  [Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IJavaElement[] getChildren();
    descriptor: ()[Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 190
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getClassFileInfo:()Lorg/eclipse/jdt/internal/core/ClassFileInfo;
            astore 1 /* cfi */
        start local 1 // org.eclipse.jdt.internal.core.ClassFileInfo cfi
         1: .line 191
            aload 1 /* cfi */
            getfield org.eclipse.jdt.internal.core.ClassFileInfo.binaryChildren:[Lorg/eclipse/jdt/internal/core/JavaElement;
            areturn
        end local 1 // org.eclipse.jdt.internal.core.ClassFileInfo cfi
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    2     1   cfi  Lorg/eclipse/jdt/internal/core/ClassFileInfo;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IJavaElement[] getChildrenForCategory(java.lang.String);
    descriptor: (Ljava/lang/String;)[Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // java.lang.String category
         0: .line 195
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getChildren:()[Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* children */
        start local 2 // org.eclipse.jdt.core.IJavaElement[] children
         1: .line 196
            aload 2 /* children */
            arraylength
            istore 3 /* length */
        start local 3 // int length
         2: .line 197
            iload 3 /* length */
            ifne 3
            aload 2 /* children */
            areturn
         3: .line 198
      StackMap locals: org.eclipse.jdt.core.IJavaElement[] int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getSourceMapper:()Lorg/eclipse/jdt/internal/core/SourceMapper;
            astore 4 /* mapper */
        start local 4 // org.eclipse.jdt.internal.core.SourceMapper mapper
         4: .line 199
            aload 4 /* mapper */
            ifnull 28
         5: .line 201
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getClassFile:()Lorg/eclipse/jdt/core/IOrdinaryClassFile;
            invokeinterface org.eclipse.jdt.core.IOrdinaryClassFile.getBuffer:()Lorg/eclipse/jdt/core/IBuffer;
            pop
         6: .line 203
            aload 4 /* mapper */
            getfield org.eclipse.jdt.internal.core.SourceMapper.categories:Ljava/util/HashMap;
            astore 5 /* categories */
        start local 5 // java.util.HashMap categories
         7: .line 204
            iload 3 /* length */
            anewarray org.eclipse.jdt.core.IJavaElement
            astore 6 /* result */
        start local 6 // org.eclipse.jdt.core.IJavaElement[] result
         8: .line 205
            iconst_0
            istore 7 /* index */
        start local 7 // int index
         9: .line 206
            aload 5 /* categories */
            ifnull 25
        10: .line 207
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        11: goto 24
        12: .line 208
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType java.lang.String org.eclipse.jdt.core.IJavaElement[] int org.eclipse.jdt.internal.core.SourceMapper java.util.HashMap org.eclipse.jdt.core.IJavaElement[] int int
      StackMap stack:
            aload 2 /* children */
            iload 8 /* i */
            aaload
            astore 9 /* child */
        start local 9 // org.eclipse.jdt.core.IJavaElement child
        13: .line 209
            aload 5 /* categories */
            aload 9 /* child */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 10 /* cats */
        start local 10 // java.lang.String[] cats
        14: .line 210
            aload 10 /* cats */
            ifnull 23
        15: .line 211
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        16: aload 10 /* cats */
            arraylength
            istore 12 /* length2 */
        start local 12 // int length2
        17: goto 22
        18: .line 212
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType java.lang.String org.eclipse.jdt.core.IJavaElement[] int org.eclipse.jdt.internal.core.SourceMapper java.util.HashMap org.eclipse.jdt.core.IJavaElement[] int int org.eclipse.jdt.core.IJavaElement java.lang.String[] int int
      StackMap stack:
            aload 10 /* cats */
            iload 11 /* j */
            aaload
            aload 1 /* category */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        19: .line 213
            aload 6 /* result */
            iload 7 /* index */
            iinc 7 /* index */ 1
            aload 9 /* child */
            aastore
        20: .line 214
            goto 23
        21: .line 211
      StackMap locals:
      StackMap stack:
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
        22: iload 11 /* j */
            iload 12 /* length2 */
            if_icmplt 18
        end local 12 // int length2
        end local 11 // int j
        end local 10 // java.lang.String[] cats
        end local 9 // org.eclipse.jdt.core.IJavaElement child
        23: .line 207
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType java.lang.String org.eclipse.jdt.core.IJavaElement[] int org.eclipse.jdt.internal.core.SourceMapper java.util.HashMap org.eclipse.jdt.core.IJavaElement[] int int
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 8 /* i */
            iload 3 /* length */
            if_icmplt 12
        end local 8 // int i
        25: .line 220
      StackMap locals:
      StackMap stack:
            iload 7 /* index */
            iload 3 /* length */
            if_icmpge 27
        26: .line 221
            aload 6 /* result */
            iconst_0
            iload 7 /* index */
            anewarray org.eclipse.jdt.core.IJavaElement
            dup
            astore 6 /* result */
            iconst_0
            iload 7 /* index */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        27: .line 222
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            areturn
        end local 7 // int index
        end local 6 // org.eclipse.jdt.core.IJavaElement[] result
        end local 5 // java.util.HashMap categories
        28: .line 224
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.BinaryType.NO_ELEMENTS:[Lorg/eclipse/jdt/internal/core/JavaElement;
            areturn
        end local 4 // org.eclipse.jdt.internal.core.SourceMapper mapper
        end local 3 // int length
        end local 2 // org.eclipse.jdt.core.IJavaElement[] children
        end local 1 // java.lang.String category
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   29     0        this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0   29     1    category  Ljava/lang/String;
            1   29     2    children  [Lorg/eclipse/jdt/core/IJavaElement;
            2   29     3      length  I
            4   29     4      mapper  Lorg/eclipse/jdt/internal/core/SourceMapper;
            7   28     5  categories  Ljava/util/HashMap;
            8   28     6      result  [Lorg/eclipse/jdt/core/IJavaElement;
            9   28     7       index  I
           11   25     8           i  I
           13   23     9       child  Lorg/eclipse/jdt/core/IJavaElement;
           14   23    10        cats  [Ljava/lang/String;
           16   23    11           j  I
           17   23    12     length2  I
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      category  

  protected org.eclipse.jdt.internal.core.ClassFileInfo getClassFileInfo();
    descriptor: ()Lorg/eclipse/jdt/internal/core/ClassFileInfo;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 227
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryType.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.ClassFileInfo
            areturn
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IOrdinaryClassFile getClassFile();
    descriptor: ()Lorg/eclipse/jdt/core/IOrdinaryClassFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 231
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.BinaryMember.getClassFile:()Lorg/eclipse/jdt/core/IClassFile;
            checkcast org.eclipse.jdt.core.IOrdinaryClassFile
            areturn
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;

  public org.eclipse.jdt.core.IType getDeclaringType();
    descriptor: ()Lorg/eclipse/jdt/core/IType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 235
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getClassFile:()Lorg/eclipse/jdt/core/IOrdinaryClassFile;
            astore 1 /* classFile */
        start local 1 // org.eclipse.jdt.core.IOrdinaryClassFile classFile
         1: .line 236
            aload 1 /* classFile */
            invokeinterface org.eclipse.jdt.core.IOrdinaryClassFile.isOpen:()Z
            ifeq 13
         2: .line 238
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getEnclosingTypeName:()[C
            astore 2 /* enclosingTypeName */
        start local 2 // char[] enclosingTypeName
         3: .line 239
            aload 2 /* enclosingTypeName */
            ifnonnull 5
         4: .line 240
            aconst_null
            areturn
         5: .line 242
      StackMap locals: org.eclipse.jdt.core.IOrdinaryClassFile char[]
      StackMap stack:
            aload 2 /* enclosingTypeName */
            invokestatic org.eclipse.jdt.internal.core.ClassFile.unqualifiedName:([C)[C
            astore 2 /* enclosingTypeName */
         6: .line 246
            aload 1 /* classFile */
            invokeinterface org.eclipse.jdt.core.IOrdinaryClassFile.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            aload 2 /* enclosingTypeName */
            arraylength
            iconst_1
            iadd
            if_icmple 9
         7: .line 247
            aload 1 /* classFile */
            invokeinterface org.eclipse.jdt.core.IOrdinaryClassFile.getElementName:()Ljava/lang/String;
            aload 2 /* enclosingTypeName */
            arraylength
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isDigit:(C)Z
            ifeq 9
         8: .line 248
            aconst_null
            areturn
         9: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getPackageFragment:()Lorg/eclipse/jdt/core/IPackageFragment;
            new java.lang.StringBuilder
            dup
            new java.lang.String
            dup
            aload 2 /* enclosingTypeName */
            invokespecial java.lang.String.<init>:([C)V
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getOrdinaryClassFile:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IOrdinaryClassFile;
            invokeinterface org.eclipse.jdt.core.IOrdinaryClassFile.getType:()Lorg/eclipse/jdt/core/IType;
        10: areturn
        end local 2 // char[] enclosingTypeName
        11: .line 252
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.core.IOrdinaryClassFile
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
        12: .line 253
            aconst_null
            areturn
        13: .line 259
      StackMap locals:
      StackMap stack:
            aload 1 /* classFile */
            invokeinterface org.eclipse.jdt.core.IOrdinaryClassFile.getElementName:()Ljava/lang/String;
            astore 2 /* classFileName */
        start local 2 // java.lang.String classFileName
        14: .line 260
            iconst_m1
            istore 3 /* lastDollar */
        start local 3 // int lastDollar
        15: .line 261
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        16: aload 2 /* classFileName */
            invokevirtual java.lang.String.length:()I
            istore 5 /* length */
        start local 5 // int length
        17: goto 24
        18: .line 262
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.core.IOrdinaryClassFile java.lang.String int int int
      StackMap stack:
            aload 2 /* classFileName */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
        19: .line 263
            iload 6 /* c */
            invokestatic java.lang.Character.isDigit:(C)Z
            ifeq 21
            iload 3 /* lastDollar */
            iload 4 /* i */
            iconst_1
            isub
            if_icmpne 21
        20: .line 265
            aconst_null
            areturn
        21: .line 266
      StackMap locals: int
      StackMap stack:
            iload 6 /* c */
            bipush 36
            if_icmpne 23
        22: .line 267
            iload 4 /* i */
            istore 3 /* lastDollar */
        end local 6 // char c
        23: .line 261
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 18
        end local 5 // int length
        end local 4 // int i
        25: .line 270
            iload 3 /* lastDollar */
            iconst_m1
            if_icmpne 27
        26: .line 271
            aconst_null
            areturn
        27: .line 273
      StackMap locals:
      StackMap stack:
            aload 2 /* classFileName */
            iconst_0
            iload 3 /* lastDollar */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* enclosingName */
        start local 4 // java.lang.String enclosingName
        28: .line 274
            new java.lang.StringBuilder
            dup
            aload 4 /* enclosingName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* enclosingClassFileName */
        start local 5 // java.lang.String enclosingClassFileName
        29: .line 276
            new org.eclipse.jdt.internal.core.BinaryType
            dup
        30: .line 277
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getPackageFragment:()Lorg/eclipse/jdt/core/IPackageFragment;
            aload 5 /* enclosingClassFileName */
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getClassFile:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IClassFile;
            checkcast org.eclipse.jdt.internal.core.JavaElement
        31: .line 278
            aload 4 /* enclosingName */
            aload 4 /* enclosingName */
            bipush 36
            invokevirtual java.lang.String.lastIndexOf:(I)I
            aload 4 /* enclosingName */
            invokevirtual java.lang.String.length:()I
            invokestatic org.eclipse.jdt.internal.core.util.Util.localTypeName:(Ljava/lang/String;II)Ljava/lang/String;
        32: .line 276
            invokespecial org.eclipse.jdt.internal.core.BinaryType.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
        33: .line 275
            areturn
        end local 5 // java.lang.String enclosingClassFileName
        end local 4 // java.lang.String enclosingName
        end local 3 // int lastDollar
        end local 2 // java.lang.String classFileName
        end local 1 // org.eclipse.jdt.core.IOrdinaryClassFile classFile
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   34     0                    this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1   34     1               classFile  Lorg/eclipse/jdt/core/IOrdinaryClassFile;
            3   11     2       enclosingTypeName  [C
           14   34     2           classFileName  Ljava/lang/String;
           15   34     3              lastDollar  I
           16   25     4                       i  I
           17   25     5                  length  I
           19   23     6                       c  C
           28   34     4           enclosingName  Ljava/lang/String;
           29   34     5  enclosingClassFileName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     4      11  Class org.eclipse.jdt.core.JavaModelException
           5     8      11  Class org.eclipse.jdt.core.JavaModelException
           9    10      11  Class org.eclipse.jdt.core.JavaModelException

  public java.lang.Object getElementInfo(org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 284
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 2 /* manager */
        start local 2 // org.eclipse.jdt.internal.core.JavaModelManager manager
         1: .line 285
            aload 2 /* manager */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getInfo:(Lorg/eclipse/jdt/core/IJavaElement;)Ljava/lang/Object;
            astore 3 /* info */
        start local 3 // java.lang.Object info
         2: .line 286
            aload 3 /* info */
            ifnull 3
            aload 3 /* info */
            getstatic org.eclipse.jdt.internal.core.JavaModelCache.NON_EXISTING_JAR_TYPE_INFO:Ljava/lang/Object;
            if_acmpeq 3
            aload 3 /* info */
            areturn
         3: .line 287
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.createElementInfo:()Ljava/lang/Object;
            iconst_0
            aload 1 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.openWhenClosed:(Ljava/lang/Object;ZLorg/eclipse/core/runtime/IProgressMonitor;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Object info
        end local 2 // org.eclipse.jdt.internal.core.JavaModelManager manager
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    4     1  monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1    4     2  manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            2    4     3     info  Ljava/lang/Object;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      monitor  

  public int getElementType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 294
            bipush 7
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;

  public org.eclipse.jdt.core.IField getField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/core/IField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // java.lang.String fieldName
         0: .line 299
            new org.eclipse.jdt.internal.core.BinaryField
            dup
            aload 0 /* this */
            aload 1 /* fieldName */
            invokespecial org.eclipse.jdt.internal.core.BinaryField.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String fieldName
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    1     1  fieldName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      fieldName  

  public org.eclipse.jdt.core.IField[] getFields();
    descriptor: ()[Lorg/eclipse/jdt/core/IField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 304
            aload 0 /* this */
            bipush 8
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getChildrenOfType:(I)Ljava/util/ArrayList;
            astore 1 /* list */
        start local 1 // java.util.ArrayList list
         1: .line 306
            aload 1 /* list */
            invokevirtual java.util.ArrayList.size:()I
            dup
            istore 2 /* size */
        start local 2 // int size
         2: ifne 4
         3: .line 307
            getstatic org.eclipse.jdt.internal.core.BinaryType.NO_FIELDS:[Lorg/eclipse/jdt/core/IField;
            areturn
         4: .line 309
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            iload 2 /* size */
            anewarray org.eclipse.jdt.core.IField
            astore 3 /* array */
        start local 3 // org.eclipse.jdt.core.IField[] array
         5: .line 310
            aload 1 /* list */
            aload 3 /* array */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
         6: .line 311
            aload 3 /* array */
            areturn
        end local 3 // org.eclipse.jdt.core.IField[] array
        end local 2 // int size
        end local 1 // java.util.ArrayList list
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    7     1   list  Ljava/util/ArrayList;
            2    7     2   size  I
            5    7     3  array  [Lorg/eclipse/jdt/core/IField;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public int getFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 317
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         1: .line 318
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getModifiers:()I
            bipush -33
            iand
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    2     1  info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.lang.String getFullyQualifiedName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 323
            aload 0 /* this */
            bipush 36
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getFullyQualifiedName:(C)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;

  public java.lang.String getFullyQualifiedName(char);
    descriptor: (C)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // char enclosingTypeSeparator
         0: .line 329
            aload 0 /* this */
            iload 1 /* enclosingTypeSeparator */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getFullyQualifiedName:(CZ)Ljava/lang/String;
         1: areturn
         2: .line 330
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
         3: .line 332
            aconst_null
            areturn
        end local 1 // char enclosingTypeSeparator
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    4     0                    this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    4     1  enclosingTypeSeparator  C
      Exception table:
        from    to  target  type
           0     1       2  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                        Name  Flags
      enclosingTypeSeparator  

  public java.lang.String getFullyQualifiedParameterizedName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 338
            aload 0 /* this */
            bipush 46
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getFullyQualifiedName:(CZ)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IJavaElement getHandleFromMemento(java.lang.String, org.eclipse.jdt.internal.core.util.MementoTokenizer, org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=18, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // java.lang.String token
        start local 2 // org.eclipse.jdt.internal.core.util.MementoTokenizer memento
        start local 3 // org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner
         0: .line 346
            aload 1 /* token */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 7
                   33: 1
                   91: 35
                   93: 50
                   94: 2
                  124: 6
                  125: 54
                  126: 10
              default: 58
          }
         1: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* memento */
            aload 3 /* workingCopyOwner */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getHandleUpdatingCountFromMemento:(Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
         2: .line 350
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.hasMoreTokens:()Z
            ifne 3
            aload 0 /* this */
            areturn
         3: .line 351
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.nextToken:()Ljava/lang/String;
            astore 4 /* fieldName */
        start local 4 // java.lang.String fieldName
         4: .line 352
            aload 0 /* this */
            aload 4 /* fieldName */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getField:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IField;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            astore 5 /* field */
        start local 5 // org.eclipse.jdt.internal.core.JavaElement field
         5: .line 353
            aload 5 /* field */
            aload 2 /* memento */
            aload 3 /* workingCopyOwner */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleFromMemento:(Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        end local 5 // org.eclipse.jdt.internal.core.JavaElement field
        end local 4 // java.lang.String fieldName
         6: .line 355
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.hasMoreTokens:()Z
            ifne 7
            aload 0 /* this */
            areturn
         7: .line 356
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.nextToken:()Ljava/lang/String;
            astore 6 /* count */
        start local 6 // java.lang.String count
         8: .line 357
            aload 0 /* this */
            aload 6 /* count */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getInitializer:(I)Lorg/eclipse/jdt/core/IInitializer;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            astore 7 /* initializer */
        start local 7 // org.eclipse.jdt.internal.core.JavaElement initializer
         9: .line 358
            aload 7 /* initializer */
            aload 2 /* memento */
            aload 3 /* workingCopyOwner */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleFromMemento:(Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        end local 7 // org.eclipse.jdt.internal.core.JavaElement initializer
        end local 6 // java.lang.String count
        10: .line 360
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.hasMoreTokens:()Z
            ifne 11
            aload 0 /* this */
            areturn
        11: .line 361
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.nextToken:()Ljava/lang/String;
            astore 8 /* selector */
        start local 8 // java.lang.String selector
        12: .line 362
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* params */
        start local 9 // java.util.ArrayList params
        13: .line 363
            goto 28
        14: .line 364
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType java.lang.String org.eclipse.jdt.internal.core.util.MementoTokenizer org.eclipse.jdt.core.WorkingCopyOwner top top top top java.lang.String java.util.ArrayList
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.nextToken:()Ljava/lang/String;
            astore 1 /* token */
        15: .line 365
            aload 1 /* token */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 4
                   91: 16
                   93: 16
                  125: 16
                  126: 17
              default: 27
          }
        16: .line 369
      StackMap locals:
      StackMap stack:
            goto 29
        17: .line 371
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.hasMoreTokens:()Z
            ifne 18
            aload 0 /* this */
            areturn
        18: .line 372
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.nextToken:()Ljava/lang/String;
            astore 10 /* param */
        start local 10 // java.lang.String param
        19: .line 373
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 11 /* buffer */
        start local 11 // java.lang.StringBuffer buffer
        20: .line 374
            goto 24
        21: .line 375
      StackMap locals: java.lang.String java.lang.StringBuffer
      StackMap stack:
            aload 11 /* buffer */
            bipush 91
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        22: .line 376
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.hasMoreTokens:()Z
            ifne 23
            aload 0 /* this */
            areturn
        23: .line 377
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.nextToken:()Ljava/lang/String;
            astore 10 /* param */
        24: .line 374
      StackMap locals:
      StackMap stack:
            aload 10 /* param */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 25
            bipush 91
            aload 10 /* param */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 21
        25: .line 379
      StackMap locals:
      StackMap stack:
            aload 9 /* params */
            new java.lang.StringBuilder
            dup
            aload 11 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* param */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        26: .line 380
            goto 28
        end local 11 // java.lang.StringBuffer buffer
        end local 10 // java.lang.String param
        27: .line 382
      StackMap locals:
      StackMap stack:
            goto 29
        28: .line 363
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.hasMoreTokens:()Z
            ifne 14
        29: .line 385
      StackMap locals:
      StackMap stack:
            aload 9 /* params */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            astore 10 /* parameters */
        start local 10 // java.lang.String[] parameters
        30: .line 386
            aload 9 /* params */
            aload 10 /* parameters */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        31: .line 387
            aload 0 /* this */
            aload 8 /* selector */
            aload 10 /* parameters */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getMethod:(Ljava/lang/String;[Ljava/lang/String;)Lorg/eclipse/jdt/core/IMethod;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            astore 11 /* method */
        start local 11 // org.eclipse.jdt.internal.core.JavaElement method
        32: .line 388
            aload 1 /* token */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 5
                   41: 33
                   64: 33
                   91: 33
                   93: 33
                  125: 33
              default: 34
          }
        33: .line 394
      StackMap locals: java.lang.String[] org.eclipse.jdt.internal.core.JavaElement
      StackMap stack:
            aload 11 /* method */
            aload 1 /* token */
            aload 2 /* memento */
            aload 3 /* workingCopyOwner */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleFromMemento:(Ljava/lang/String;Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        34: .line 396
      StackMap locals:
      StackMap stack:
            aload 11 /* method */
            areturn
        end local 11 // org.eclipse.jdt.internal.core.JavaElement method
        end local 10 // java.lang.String[] parameters
        end local 9 // java.util.ArrayList params
        end local 8 // java.lang.String selector
        35: .line 400
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType java.lang.String org.eclipse.jdt.internal.core.util.MementoTokenizer org.eclipse.jdt.core.WorkingCopyOwner
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.hasMoreTokens:()Z
            ifeq 44
        36: .line 401
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.nextToken:()Ljava/lang/String;
            astore 12 /* typeName */
        start local 12 // java.lang.String typeName
        37: .line 402
            aload 12 /* typeName */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 13 /* firstChar */
        start local 13 // char firstChar
        38: .line 403
            iload 13 /* firstChar */
            bipush 94
            if_icmpeq 39
            iload 13 /* firstChar */
            bipush 124
            if_icmpeq 39
            iload 13 /* firstChar */
            bipush 126
            if_icmpeq 39
            iload 13 /* firstChar */
            bipush 91
            if_icmpeq 39
            iload 13 /* firstChar */
            bipush 33
            if_icmpne 42
        39: .line 404
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType java.lang.String org.eclipse.jdt.internal.core.util.MementoTokenizer org.eclipse.jdt.core.WorkingCopyOwner top top top top top top top top java.lang.String int
      StackMap stack:
            aload 12 /* typeName */
            astore 1 /* token */
        40: .line 405
            ldc ""
            astore 12 /* typeName */
        41: .line 406
            goto 46
        42: .line 407
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* token */
        end local 13 // char firstChar
        43: .line 409
            goto 46
        end local 12 // java.lang.String typeName
        44: .line 410
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType java.lang.String org.eclipse.jdt.internal.core.util.MementoTokenizer org.eclipse.jdt.core.WorkingCopyOwner
      StackMap stack:
            ldc ""
            astore 12 /* typeName */
        start local 12 // java.lang.String typeName
        45: .line 411
            aconst_null
            astore 1 /* token */
        46: .line 413
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType java.lang.String org.eclipse.jdt.internal.core.util.MementoTokenizer org.eclipse.jdt.core.WorkingCopyOwner top top top top top top top top java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 12 /* typeName */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getType:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IType;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            astore 13 /* type */
        start local 13 // org.eclipse.jdt.internal.core.JavaElement type
        47: .line 414
            aload 1 /* token */
            ifnonnull 49
        48: .line 415
            aload 13 /* type */
            aload 2 /* memento */
            aload 3 /* workingCopyOwner */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleFromMemento:(Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        49: .line 417
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement
      StackMap stack:
            aload 13 /* type */
            aload 1 /* token */
            aload 2 /* memento */
            aload 3 /* workingCopyOwner */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleFromMemento:(Ljava/lang/String;Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        end local 13 // org.eclipse.jdt.internal.core.JavaElement type
        end local 12 // java.lang.String typeName
        50: .line 420
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType java.lang.String org.eclipse.jdt.internal.core.util.MementoTokenizer org.eclipse.jdt.core.WorkingCopyOwner
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.hasMoreTokens:()Z
            ifne 51
            aload 0 /* this */
            areturn
        51: .line 421
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.nextToken:()Ljava/lang/String;
            astore 14 /* typeParameterName */
        start local 14 // java.lang.String typeParameterName
        52: .line 422
            new org.eclipse.jdt.internal.core.TypeParameter
            dup
            aload 0 /* this */
            aload 14 /* typeParameterName */
            invokespecial org.eclipse.jdt.internal.core.TypeParameter.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
            astore 15 /* typeParameter */
        start local 15 // org.eclipse.jdt.internal.core.JavaElement typeParameter
        53: .line 423
            aload 15 /* typeParameter */
            aload 2 /* memento */
            aload 3 /* workingCopyOwner */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleFromMemento:(Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        end local 15 // org.eclipse.jdt.internal.core.JavaElement typeParameter
        end local 14 // java.lang.String typeParameterName
        54: .line 425
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.hasMoreTokens:()Z
            ifne 55
            aload 0 /* this */
            areturn
        55: .line 426
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.nextToken:()Ljava/lang/String;
            astore 16 /* annotationName */
        start local 16 // java.lang.String annotationName
        56: .line 427
            new org.eclipse.jdt.internal.core.Annotation
            dup
            aload 0 /* this */
            aload 16 /* annotationName */
            invokespecial org.eclipse.jdt.internal.core.Annotation.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
            astore 17 /* annotation */
        start local 17 // org.eclipse.jdt.internal.core.JavaElement annotation
        57: .line 428
            aload 17 /* annotation */
            aload 2 /* memento */
            aload 3 /* workingCopyOwner */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleFromMemento:(Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        end local 17 // org.eclipse.jdt.internal.core.JavaElement annotation
        end local 16 // java.lang.String annotationName
        58: .line 430
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner
        end local 2 // org.eclipse.jdt.internal.core.util.MementoTokenizer memento
        end local 1 // java.lang.String token
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   59     0               this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0   59     1              token  Ljava/lang/String;
            0   59     2            memento  Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;
            0   59     3   workingCopyOwner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            4    6     4          fieldName  Ljava/lang/String;
            5    6     5              field  Lorg/eclipse/jdt/internal/core/JavaElement;
            8   10     6              count  Ljava/lang/String;
            9   10     7        initializer  Lorg/eclipse/jdt/internal/core/JavaElement;
           12   35     8           selector  Ljava/lang/String;
           13   35     9             params  Ljava/util/ArrayList;
           19   27    10              param  Ljava/lang/String;
           20   27    11             buffer  Ljava/lang/StringBuffer;
           30   35    10         parameters  [Ljava/lang/String;
           32   35    11             method  Lorg/eclipse/jdt/internal/core/JavaElement;
           37   44    12           typeName  Ljava/lang/String;
           45   50    12           typeName  Ljava/lang/String;
           38   43    13          firstChar  C
           47   50    13               type  Lorg/eclipse/jdt/internal/core/JavaElement;
           52   54    14  typeParameterName  Ljava/lang/String;
           53   54    15      typeParameter  Lorg/eclipse/jdt/internal/core/JavaElement;
           56   58    16     annotationName  Ljava/lang/String;
           57   58    17         annotation  Lorg/eclipse/jdt/internal/core/JavaElement;
    MethodParameters:
                  Name  Flags
      token             
      memento           
      workingCopyOwner  

  public org.eclipse.jdt.core.IInitializer getInitializer(int);
    descriptor: (I)Lorg/eclipse/jdt/core/IInitializer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // int count
         0: .line 435
            new org.eclipse.jdt.internal.core.Initializer
            dup
            aload 0 /* this */
            iload 1 /* count */
            invokespecial org.eclipse.jdt.internal.core.Initializer.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;I)V
            areturn
        end local 1 // int count
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    1     1  count  I
    MethodParameters:
       Name  Flags
      count  

  public org.eclipse.jdt.core.IInitializer[] getInitializers();
    descriptor: ()[Lorg/eclipse/jdt/core/IInitializer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 440
            getstatic org.eclipse.jdt.internal.core.BinaryType.NO_INITIALIZERS:[Lorg/eclipse/jdt/core/IInitializer;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;

  public java.lang.String getKey(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // boolean forceOpen
         0: .line 444
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* forceOpen */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getKey:(Lorg/eclipse/jdt/core/IType;Z)Ljava/lang/String;
            areturn
        end local 1 // boolean forceOpen
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    1     1  forceOpen  Z
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
           Name  Flags
      forceOpen  

  public org.eclipse.jdt.core.IMethod getMethod(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)Lorg/eclipse/jdt/core/IMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // java.lang.String selector
        start local 2 // java.lang.String[] parameterTypeSignatures
         0: .line 449
            new org.eclipse.jdt.internal.core.BinaryMethod
            dup
            aload 0 /* this */
            aload 1 /* selector */
            aload 2 /* parameterTypeSignatures */
            invokespecial org.eclipse.jdt.internal.core.BinaryMethod.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;[Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String[] parameterTypeSignatures
        end local 1 // java.lang.String selector
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    1     0                     this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    1     1                 selector  Ljava/lang/String;
            0    1     2  parameterTypeSignatures  [Ljava/lang/String;
    MethodParameters:
                         Name  Flags
      selector                 
      parameterTypeSignatures  

  public org.eclipse.jdt.core.IMethod[] getMethods();
    descriptor: ()[Lorg/eclipse/jdt/core/IMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 454
            aload 0 /* this */
            bipush 9
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getChildrenOfType:(I)Ljava/util/ArrayList;
            astore 1 /* list */
        start local 1 // java.util.ArrayList list
         1: .line 456
            aload 1 /* list */
            invokevirtual java.util.ArrayList.size:()I
            dup
            istore 2 /* size */
        start local 2 // int size
         2: ifne 4
         3: .line 457
            getstatic org.eclipse.jdt.internal.core.BinaryType.NO_METHODS:[Lorg/eclipse/jdt/core/IMethod;
            areturn
         4: .line 459
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            iload 2 /* size */
            anewarray org.eclipse.jdt.core.IMethod
            astore 3 /* array */
        start local 3 // org.eclipse.jdt.core.IMethod[] array
         5: .line 460
            aload 1 /* list */
            aload 3 /* array */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
         6: .line 461
            aload 3 /* array */
            areturn
        end local 3 // org.eclipse.jdt.core.IMethod[] array
        end local 2 // int size
        end local 1 // java.util.ArrayList list
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    7     1   list  Ljava/util/ArrayList;
            2    7     2   size  I
            5    7     3  array  [Lorg/eclipse/jdt/core/IMethod;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IPackageFragment getPackageFragment();
    descriptor: ()Lorg/eclipse/jdt/core/IPackageFragment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 467
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryType.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            astore 1 /* parentElement */
        start local 1 // org.eclipse.jdt.core.IJavaElement parentElement
         1: .line 468
            goto 5
         2: .line 469
      StackMap locals: org.eclipse.jdt.core.IJavaElement
      StackMap stack:
            aload 1 /* parentElement */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            iconst_4
            if_icmpne 4
         3: .line 470
            aload 1 /* parentElement */
            checkcast org.eclipse.jdt.core.IPackageFragment
            areturn
         4: .line 473
      StackMap locals:
      StackMap stack:
            aload 1 /* parentElement */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            astore 1 /* parentElement */
         5: .line 468
      StackMap locals:
      StackMap stack:
            aload 1 /* parentElement */
            ifnonnull 2
         6: .line 476
            iconst_0
            invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
         7: .line 477
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.core.IJavaElement parentElement
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    8     1  parentElement  Lorg/eclipse/jdt/core/IJavaElement;

  public java.lang.String getSuperclassTypeSignature();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 486
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         1: .line 487
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getGenericSignature:()[C
            astore 2 /* genericSignature */
        start local 2 // char[] genericSignature
         2: .line 488
            aload 2 /* genericSignature */
            ifnull 18
         3: .line 489
            aload 2 /* genericSignature */
            arraylength
            istore 3 /* signatureLength */
        start local 3 // int signatureLength
         4: .line 491
            iconst_0
            istore 4 /* index */
        start local 4 // int index
         5: .line 492
            aload 2 /* genericSignature */
            iconst_0
            caload
            bipush 60
            if_icmpne 14
         6: .line 493
            iconst_1
            istore 5 /* count */
        start local 5 // int count
         7: .line 494
            goto 12
         8: .line 495
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.internal.compiler.env.IBinaryType char[] int int int
      StackMap stack:
            aload 2 /* genericSignature */
            iload 4 /* index */
            caload
            tableswitch { // 60 - 62
                   60: 9
                   61: 12
                   62: 11
              default: 12
          }
         9: .line 497
      StackMap locals:
      StackMap stack:
            iinc 5 /* count */ 1
        10: .line 498
            goto 12
        11: .line 500
      StackMap locals:
      StackMap stack:
            iinc 5 /* count */ -1
        12: .line 494
      StackMap locals:
      StackMap stack:
            iload 5 /* count */
            ifle 13
            iinc 4 /* index */ 1
            iload 4 /* index */
            iload 3 /* signatureLength */
            if_icmplt 8
        13: .line 504
      StackMap locals:
      StackMap stack:
            iinc 4 /* index */ 1
        end local 5 // int count
        14: .line 506
      StackMap locals:
      StackMap stack:
            iload 4 /* index */
            istore 5 /* start */
        start local 5 // int start
        15: .line 507
            aload 2 /* genericSignature */
            iload 5 /* start */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.scanClassTypeSignature:([CI)I
            iconst_1
            iadd
            istore 4 /* index */
        16: .line 508
            aload 2 /* genericSignature */
            iload 5 /* start */
            iload 4 /* index */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            astore 6 /* superclassSig */
        start local 6 // char[] superclassSig
        17: .line 509
            new java.lang.String
            dup
            aload 6 /* superclassSig */
            invokestatic org.eclipse.jdt.internal.core.ClassFile.translatedName:([C)[C
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 6 // char[] superclassSig
        end local 5 // int start
        end local 4 // int index
        end local 3 // int signatureLength
        18: .line 511
      StackMap locals:
      StackMap stack:
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getSuperclassName:()[C
            astore 3 /* superclassName */
        start local 3 // char[] superclassName
        19: .line 512
            aload 3 /* superclassName */
            ifnonnull 21
        20: .line 513
            aconst_null
            areturn
        21: .line 515
      StackMap locals: char[]
      StackMap stack:
            aload 3 /* superclassName */
            invokestatic org.eclipse.jdt.internal.core.ClassFile.translatedName:([C)[C
            iconst_1
            invokestatic org.eclipse.jdt.core.Signature.createTypeSignature:([CZ)Ljava/lang/String;
            areturn
        end local 3 // char[] superclassName
        end local 2 // char[] genericSignature
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0              this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1   22     1              info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            2   22     2  genericSignature  [C
            4   18     3   signatureLength  I
            5   18     4             index  I
            7   14     5             count  I
           15   18     5             start  I
           17   18     6     superclassSig  [C
           19   22     3    superclassName  [C
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.lang.String getSourceFileName(org.eclipse.jdt.internal.compiler.env.IBinaryType);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         0: .line 520
            aload 1 /* info */
            ifnonnull 11
         1: .line 522
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 1 /* info */
         2: .line 523
            goto 11
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
         3: pop
         4: .line 525
            aload 0 /* this */
            astore 2 /* type */
        start local 2 // org.eclipse.jdt.core.IType type
         5: .line 526
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            astore 3 /* enclosingType */
        start local 3 // org.eclipse.jdt.core.IType enclosingType
         6: .line 527
            goto 9
         7: .line 528
      StackMap locals: org.eclipse.jdt.core.IType org.eclipse.jdt.core.IType
      StackMap stack:
            aload 3 /* enclosingType */
            astore 2 /* type */
         8: .line 529
            aload 2 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            astore 3 /* enclosingType */
         9: .line 527
      StackMap locals:
      StackMap stack:
            aload 3 /* enclosingType */
            ifnonnull 7
        10: .line 531
            new java.lang.StringBuilder
            dup
            aload 2 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic org.eclipse.jdt.internal.core.util.Util.defaultJavaExtension:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // org.eclipse.jdt.core.IType enclosingType
        end local 2 // org.eclipse.jdt.core.IType type
        11: .line 534
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* info */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.sourceFileName:(Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Ljava/lang/String;
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0   12     1           info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            5   11     2           type  Lorg/eclipse/jdt/core/IType;
            6   11     3  enclosingType  Lorg/eclipse/jdt/core/IType;
      Exception table:
        from    to  target  type
           1     2       3  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      info  

  public java.lang.String getSuperclassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 539
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         1: .line 540
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getSuperclassName:()[C
            astore 2 /* superclassName */
        start local 2 // char[] superclassName
         2: .line 541
            aload 2 /* superclassName */
            ifnonnull 4
         3: .line 542
            aconst_null
            areturn
         4: .line 544
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryType char[]
      StackMap stack:
            new java.lang.String
            dup
            aload 2 /* superclassName */
            invokestatic org.eclipse.jdt.internal.core.ClassFile.translatedName:([C)[C
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 2 // char[] superclassName
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    5     1            info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            2    5     2  superclassName  [C
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.lang.String[] getSuperInterfaceNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 549
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         1: .line 550
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getInterfaceNames:()[[C
            astore 2 /* names */
        start local 2 // char[][] names
         2: .line 552
            aload 2 /* names */
            ifnull 4
            aload 2 /* names */
            arraylength
            dup
            istore 3 /* length */
        start local 3 // int length
         3: ifne 5
        end local 3 // int length
         4: .line 553
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryType char[][]
      StackMap stack:
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            areturn
        start local 3 // int length
         5: .line 555
      StackMap locals: int
      StackMap stack:
            aload 2 /* names */
            invokestatic org.eclipse.jdt.internal.core.ClassFile.translatedNames:([[C)[[C
            astore 2 /* names */
         6: .line 556
            iload 3 /* length */
            anewarray java.lang.String
            astore 4 /* strings */
        start local 4 // java.lang.String[] strings
         7: .line 557
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: goto 11
         9: .line 558
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 4 /* strings */
            iload 5 /* i */
            new java.lang.String
            dup
            aload 2 /* names */
            iload 5 /* i */
            aaload
            invokespecial java.lang.String.<init>:([C)V
            aastore
        10: .line 557
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            iload 3 /* length */
            if_icmplt 9
        end local 5 // int i
        12: .line 560
            aload 4 /* strings */
            areturn
        end local 4 // java.lang.String[] strings
        end local 3 // int length
        end local 2 // char[][] names
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1   13     1     info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            2   13     2    names  [[C
            3    4     3   length  I
            5   13     3   length  I
            7   13     4  strings  [Ljava/lang/String;
            8   12     5        i  I
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.lang.String[] getSuperInterfaceTypeSignatures();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 569
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         1: .line 570
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getGenericSignature:()[C
            astore 2 /* genericSignature */
        start local 2 // char[] genericSignature
         2: .line 571
            aload 2 /* genericSignature */
            ifnull 26
         3: .line 572
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* interfaces */
        start local 3 // java.util.ArrayList interfaces
         4: .line 573
            aload 2 /* genericSignature */
            arraylength
            istore 4 /* signatureLength */
        start local 4 // int signatureLength
         5: .line 575
            iconst_0
            istore 5 /* index */
        start local 5 // int index
         6: .line 576
            aload 2 /* genericSignature */
            iconst_0
            caload
            bipush 60
            if_icmpne 15
         7: .line 577
            iconst_1
            istore 6 /* count */
        start local 6 // int count
         8: .line 578
            goto 13
         9: .line 579
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.internal.compiler.env.IBinaryType char[] java.util.ArrayList int int int
      StackMap stack:
            aload 2 /* genericSignature */
            iload 5 /* index */
            caload
            tableswitch { // 60 - 62
                   60: 10
                   61: 13
                   62: 12
              default: 13
          }
        10: .line 581
      StackMap locals:
      StackMap stack:
            iinc 6 /* count */ 1
        11: .line 582
            goto 13
        12: .line 584
      StackMap locals:
      StackMap stack:
            iinc 6 /* count */ -1
        13: .line 578
      StackMap locals:
      StackMap stack:
            iload 6 /* count */
            ifle 14
            iinc 5 /* index */ 1
            iload 5 /* index */
            iload 4 /* signatureLength */
            if_icmplt 9
        14: .line 588
      StackMap locals:
      StackMap stack:
            iinc 5 /* index */ 1
        end local 6 // int count
        15: .line 591
      StackMap locals:
      StackMap stack:
            aload 2 /* genericSignature */
            iload 5 /* index */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.scanClassTypeSignature:([CI)I
            iconst_1
            iadd
            istore 5 /* index */
        16: .line 592
            goto 21
        17: .line 593
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            istore 6 /* start */
        start local 6 // int start
        18: .line 594
            aload 2 /* genericSignature */
            iload 6 /* start */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.scanClassTypeSignature:([CI)I
            iconst_1
            iadd
            istore 5 /* index */
        19: .line 595
            aload 2 /* genericSignature */
            iload 6 /* start */
            iload 5 /* index */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            astore 7 /* interfaceSig */
        start local 7 // char[] interfaceSig
        20: .line 596
            aload 3 /* interfaces */
            new java.lang.String
            dup
            aload 7 /* interfaceSig */
            invokestatic org.eclipse.jdt.internal.core.ClassFile.translatedName:([C)[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // char[] interfaceSig
        end local 6 // int start
        21: .line 592
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            iload 4 /* signatureLength */
            if_icmplt 17
        22: .line 598
            aload 3 /* interfaces */
            invokevirtual java.util.ArrayList.size:()I
            istore 6 /* size */
        start local 6 // int size
        23: .line 599
            iload 6 /* size */
            anewarray java.lang.String
            astore 7 /* result */
        start local 7 // java.lang.String[] result
        24: .line 600
            aload 3 /* interfaces */
            aload 7 /* result */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        25: .line 601
            aload 7 /* result */
            areturn
        end local 7 // java.lang.String[] result
        end local 6 // int size
        end local 5 // int index
        end local 4 // int signatureLength
        end local 3 // java.util.ArrayList interfaces
        26: .line 603
      StackMap locals:
      StackMap stack:
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getInterfaceNames:()[[C
            astore 3 /* names */
        start local 3 // char[][] names
        27: .line 605
            aload 3 /* names */
            ifnull 29
            aload 3 /* names */
            arraylength
            dup
            istore 4 /* length */
        start local 4 // int length
        28: ifne 30
        end local 4 // int length
        29: .line 606
      StackMap locals: char[][]
      StackMap stack:
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            areturn
        start local 4 // int length
        30: .line 608
      StackMap locals: int
      StackMap stack:
            aload 3 /* names */
            invokestatic org.eclipse.jdt.internal.core.ClassFile.translatedNames:([[C)[[C
            astore 3 /* names */
        31: .line 609
            iload 4 /* length */
            anewarray java.lang.String
            astore 5 /* strings */
        start local 5 // java.lang.String[] strings
        32: .line 610
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        33: goto 36
        34: .line 611
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 5 /* strings */
            iload 6 /* i */
            aload 3 /* names */
            iload 6 /* i */
            aaload
            iconst_1
            invokestatic org.eclipse.jdt.core.Signature.createTypeSignature:([CZ)Ljava/lang/String;
            aastore
        35: .line 610
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 6 /* i */
            iload 4 /* length */
            if_icmplt 34
        end local 6 // int i
        37: .line 613
            aload 5 /* strings */
            areturn
        end local 5 // java.lang.String[] strings
        end local 4 // int length
        end local 3 // char[][] names
        end local 2 // char[] genericSignature
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   38     0              this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1   38     1              info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            2   38     2  genericSignature  [C
            4   26     3        interfaces  Ljava/util/ArrayList;
            5   26     4   signatureLength  I
            6   26     5             index  I
            8   15     6             count  I
           18   21     6             start  I
           20   21     7      interfaceSig  [C
           23   26     6              size  I
           24   26     7            result  [Ljava/lang/String;
           27   38     3             names  [[C
           28   29     4            length  I
           30   38     4            length  I
           32   38     5           strings  [Ljava/lang/String;
           33   37     6                 i  I
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.ITypeParameter[] getTypeParameters();
    descriptor: ()[Lorg/eclipse/jdt/core/ITypeParameter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 619
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getTypeParameterSignatures:()[Ljava/lang/String;
            astore 1 /* typeParameterSignatures */
        start local 1 // java.lang.String[] typeParameterSignatures
         1: .line 620
            aload 1 /* typeParameterSignatures */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         2: .line 621
            iload 2 /* length */
            ifne 3
            getstatic org.eclipse.jdt.internal.core.TypeParameter.NO_TYPE_PARAMETERS:[Lorg/eclipse/jdt/core/ITypeParameter;
            areturn
         3: .line 622
      StackMap locals: java.lang.String[] int
      StackMap stack:
            iload 2 /* length */
            anewarray org.eclipse.jdt.core.ITypeParameter
            astore 3 /* typeParameters */
        start local 3 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
         4: .line 623
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 9
         6: .line 624
      StackMap locals: org.eclipse.jdt.core.ITypeParameter[] int
      StackMap stack:
            aload 1 /* typeParameterSignatures */
            iload 4 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.Signature.getTypeVariable:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* typeParameterName */
        start local 5 // java.lang.String typeParameterName
         7: .line 625
            aload 3 /* typeParameters */
            iload 4 /* i */
            new org.eclipse.jdt.internal.core.TypeParameter
            dup
            aload 0 /* this */
            aload 5 /* typeParameterName */
            invokespecial org.eclipse.jdt.internal.core.TypeParameter.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
            aastore
        end local 5 // java.lang.String typeParameterName
         8: .line 623
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 1 /* typeParameterSignatures */
            arraylength
            if_icmplt 6
        end local 4 // int i
        10: .line 627
            aload 3 /* typeParameters */
            areturn
        end local 3 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
        end local 2 // int length
        end local 1 // java.lang.String[] typeParameterSignatures
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   11     0                     this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1   11     1  typeParameterSignatures  [Ljava/lang/String;
            2   11     2                   length  I
            4   11     3           typeParameters  [Lorg/eclipse/jdt/core/ITypeParameter;
            5   10     4                        i  I
            7    8     5        typeParameterName  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.lang.String[] getTypeParameterSignatures();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 636
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         1: .line 637
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getGenericSignature:()[C
            astore 2 /* genericSignature */
        start local 2 // char[] genericSignature
         2: .line 638
            aload 2 /* genericSignature */
            ifnonnull 4
         3: .line 639
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            areturn
         4: .line 641
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryType char[]
      StackMap stack:
            aload 2 /* genericSignature */
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replaceOnCopy:([CCC)[C
            astore 3 /* dotBaseSignature */
        start local 3 // char[] dotBaseSignature
         5: .line 642
            aload 3 /* dotBaseSignature */
            invokestatic org.eclipse.jdt.core.Signature.getTypeParameters:([C)[[C
            astore 4 /* typeParams */
        start local 4 // char[][] typeParams
         6: .line 643
            aload 4 /* typeParams */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toStrings:([[C)[Ljava/lang/String;
            areturn
        end local 4 // char[][] typeParams
        end local 3 // char[] dotBaseSignature
        end local 2 // char[] genericSignature
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    7     1              info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            2    7     2  genericSignature  [C
            5    7     3  dotBaseSignature  [C
            6    7     4        typeParams  [[C
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IType getType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/core/IType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // java.lang.String typeName
         0: .line 648
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getPackageFragment:()Lorg/eclipse/jdt/core/IPackageFragment;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getTypeQualifiedName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "$"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* typeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getClassFile:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IClassFile;
            astore 2 /* classFile */
        start local 2 // org.eclipse.jdt.core.IClassFile classFile
         1: .line 649
            new org.eclipse.jdt.internal.core.BinaryType
            dup
            aload 2 /* classFile */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 1 /* typeName */
            invokespecial org.eclipse.jdt.internal.core.BinaryType.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
            areturn
        end local 2 // org.eclipse.jdt.core.IClassFile classFile
        end local 1 // java.lang.String typeName
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    2     1   typeName  Ljava/lang/String;
            1    2     2  classFile  Lorg/eclipse/jdt/core/IClassFile;
    MethodParameters:
          Name  Flags
      typeName  

  public org.eclipse.jdt.core.ITypeParameter getTypeParameter(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/core/ITypeParameter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // java.lang.String typeParameterName
         0: .line 653
            new org.eclipse.jdt.internal.core.TypeParameter
            dup
            aload 0 /* this */
            aload 1 /* typeParameterName */
            invokespecial org.eclipse.jdt.internal.core.TypeParameter.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String typeParameterName
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    1     1  typeParameterName  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      typeParameterName  

  public java.lang.String getTypeQualifiedName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 658
            aload 0 /* this */
            bipush 36
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getTypeQualifiedName:(C)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;

  public java.lang.String getTypeQualifiedName(char);
    descriptor: (C)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // char enclosingTypeSeparator
         0: .line 664
            aload 0 /* this */
            iload 1 /* enclosingTypeSeparator */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getTypeQualifiedName:(CZ)Ljava/lang/String;
         1: areturn
         2: .line 665
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
         3: .line 667
            aconst_null
            areturn
        end local 1 // char enclosingTypeSeparator
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    4     0                    this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    4     1  enclosingTypeSeparator  C
      Exception table:
        from    to  target  type
           0     1       2  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                        Name  Flags
      enclosingTypeSeparator  

  public org.eclipse.jdt.core.IType[] getTypes();
    descriptor: ()[Lorg/eclipse/jdt/core/IType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 673
            aload 0 /* this */
            bipush 7
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getChildrenOfType:(I)Ljava/util/ArrayList;
            astore 1 /* list */
        start local 1 // java.util.ArrayList list
         1: .line 675
            aload 1 /* list */
            invokevirtual java.util.ArrayList.size:()I
            dup
            istore 2 /* size */
        start local 2 // int size
         2: ifne 4
         3: .line 676
            getstatic org.eclipse.jdt.internal.core.BinaryType.NO_TYPES:[Lorg/eclipse/jdt/core/IType;
            areturn
         4: .line 678
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            iload 2 /* size */
            anewarray org.eclipse.jdt.core.IType
            astore 3 /* array */
        start local 3 // org.eclipse.jdt.core.IType[] array
         5: .line 679
            aload 1 /* list */
            aload 3 /* array */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
         6: .line 680
            aload 3 /* array */
            areturn
        end local 3 // org.eclipse.jdt.core.IType[] array
        end local 2 // int size
        end local 1 // java.util.ArrayList list
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    7     1   list  Ljava/util/ArrayList;
            2    7     2   size  I
            5    7     3  array  [Lorg/eclipse/jdt/core/IType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public boolean isAnonymous();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 686
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         1: .line 687
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.isAnonymous:()Z
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    2     1  info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public boolean isClass();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 692
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         1: .line 693
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getModifiers:()I
            invokestatic org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.kind:(I)I
            iconst_1
            if_icmpne 2
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryType
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    3     1  info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public boolean isEnum();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 703
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         1: .line 704
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getModifiers:()I
            invokestatic org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.kind:(I)I
            iconst_3
            if_icmpne 2
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryType
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    3     1  info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public boolean isInterface();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 709
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         1: .line 710
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getModifiers:()I
            invokestatic org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.kind:(I)I
            tableswitch { // 2 - 4
                    2: 2
                    3: 3
                    4: 2
              default: 3
          }
         2: .line 713
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryType
      StackMap stack:
            iconst_1
            ireturn
         3: .line 715
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    4     1  info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public boolean isAnnotation();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 723
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         1: .line 724
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.getModifiers:()I
            invokestatic org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.kind:(I)I
            iconst_4
            if_icmpne 2
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.internal.compiler.env.IBinaryType
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    3     1  info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public boolean isLocal();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 729
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         1: .line 730
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.isLocal:()Z
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    2     1  info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public boolean isMember();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
         0: .line 735
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryType
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         1: .line 736
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.isMember:()Z
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/BinaryType;
            1    2     1  info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

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

  public org.eclipse.jdt.core.ITypeHierarchy loadTypeHierachy(java.io.InputStream, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/io/InputStream;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // java.io.InputStream input
        start local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 748
            aload 0 /* this */
            aload 1 /* input */
            getstatic org.eclipse.jdt.internal.core.DefaultWorkingCopyOwner.PRIMARY:Lorg/eclipse/jdt/internal/core/DefaultWorkingCopyOwner;
            aload 2 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.loadTypeHierachy:(Ljava/io/InputStream;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
            areturn
        end local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 1 // java.io.InputStream input
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    1     1    input  Ljava/io/InputStream;
            0    1     2  monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      input    
      monitor  

  public org.eclipse.jdt.core.ITypeHierarchy loadTypeHierachy(java.io.InputStream, org.eclipse.jdt.core.WorkingCopyOwner, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/io/InputStream;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // java.io.InputStream input
        start local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
        start local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 754
            aload 0 /* this */
            aload 1 /* input */
            aload 2 /* owner */
            invokestatic org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.load:(Lorg/eclipse/jdt/core/IType;Ljava/io/InputStream;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/ITypeHierarchy;
            areturn
        end local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 1 // java.io.InputStream input
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    1     1    input  Ljava/io/InputStream;
            0    1     2    owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0    1     3  monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      input    
      owner    
      monitor  

  public org.eclipse.jdt.core.ITypeHierarchy newSupertypeHierarchy(org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 759
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.DefaultWorkingCopyOwner.PRIMARY:Lorg/eclipse/jdt/internal/core/DefaultWorkingCopyOwner;
            aload 1 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.newSupertypeHierarchy:(Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
            areturn
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    1     1  monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      monitor  

  public org.eclipse.jdt.core.ITypeHierarchy newSupertypeHierarchy(org.eclipse.jdt.core.ICompilationUnit[], org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        start local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 768
            new org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation
            dup
            aload 0 /* this */
            aload 1 /* workingCopies */
            invokestatic org.eclipse.jdt.core.search.SearchEngine.createWorkspaceScope:()Lorg/eclipse/jdt/core/search/IJavaSearchScope;
            iconst_0
            invokespecial org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.<init>:(Lorg/eclipse/jdt/core/IType;[Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/jdt/core/search/IJavaSearchScope;Z)V
            astore 3 /* op */
        start local 3 // org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation op
         1: .line 769
            aload 3 /* op */
            aload 2 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.runOperation:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         2: .line 770
            aload 3 /* op */
            invokevirtual org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.getResult:()Lorg/eclipse/jdt/core/ITypeHierarchy;
            areturn
        end local 3 // org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation op
        end local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 1 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    3     1  workingCopies  [Lorg/eclipse/jdt/core/ICompilationUnit;
            0    3     2        monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1    3     3             op  Lorg/eclipse/jdt/internal/core/CreateTypeHierarchyOperation;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
               Name  Flags
      workingCopies  
      monitor        

  public org.eclipse.jdt.core.ITypeHierarchy newSupertypeHierarchy(org.eclipse.jdt.core.IWorkingCopy[], org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/core/IWorkingCopy;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.jdt.core.IWorkingCopy[] workingCopies
        start local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 789
            aload 1 /* workingCopies */
            ifnonnull 3
         1: .line 790
            aconst_null
            astore 3 /* copies */
        start local 3 // org.eclipse.jdt.core.ICompilationUnit[] copies
         2: .line 791
            goto 6
        end local 3 // org.eclipse.jdt.core.ICompilationUnit[] copies
         3: .line 792
      StackMap locals:
      StackMap stack:
            aload 1 /* workingCopies */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         4: .line 793
            aload 1 /* workingCopies */
            iconst_0
            iload 4 /* length */
            anewarray org.eclipse.jdt.core.ICompilationUnit
            dup
            astore 3 /* copies */
        start local 3 // org.eclipse.jdt.core.ICompilationUnit[] copies
         5: iconst_0
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 4 // int length
         6: .line 795
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit[]
      StackMap stack:
            aload 0 /* this */
            aload 3 /* copies */
            aload 2 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.newSupertypeHierarchy:([Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
            areturn
        end local 3 // org.eclipse.jdt.core.ICompilationUnit[] copies
        end local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 1 // org.eclipse.jdt.core.IWorkingCopy[] workingCopies
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    7     1  workingCopies  [Lorg/eclipse/jdt/core/IWorkingCopy;
            0    7     2        monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            2    3     3         copies  [Lorg/eclipse/jdt/core/ICompilationUnit;
            5    7     3         copies  [Lorg/eclipse/jdt/core/ICompilationUnit;
            4    6     4         length  I
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
               Name  Flags
      workingCopies  
      monitor        

  public org.eclipse.jdt.core.ITypeHierarchy newSupertypeHierarchy(org.eclipse.jdt.core.WorkingCopyOwner, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.jdt.core.WorkingCopyOwner owner
        start local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 804
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 1 /* owner */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getWorkingCopies:(Lorg/eclipse/jdt/core/WorkingCopyOwner;Z)[Lorg/eclipse/jdt/core/ICompilationUnit;
            astore 3 /* workingCopies */
        start local 3 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
         1: .line 805
            new org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation
            dup
            aload 0 /* this */
            aload 3 /* workingCopies */
            invokestatic org.eclipse.jdt.core.search.SearchEngine.createWorkspaceScope:()Lorg/eclipse/jdt/core/search/IJavaSearchScope;
            iconst_0
            invokespecial org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.<init>:(Lorg/eclipse/jdt/core/IType;[Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/jdt/core/search/IJavaSearchScope;Z)V
            astore 4 /* op */
        start local 4 // org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation op
         2: .line 806
            aload 4 /* op */
            aload 2 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.runOperation:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         3: .line 807
            aload 4 /* op */
            invokevirtual org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.getResult:()Lorg/eclipse/jdt/core/ITypeHierarchy;
            areturn
        end local 4 // org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation op
        end local 3 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        end local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 1 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    4     1          owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0    4     2        monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1    4     3  workingCopies  [Lorg/eclipse/jdt/core/ICompilationUnit;
            2    4     4             op  Lorg/eclipse/jdt/internal/core/CreateTypeHierarchyOperation;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      owner    
      monitor  

  public org.eclipse.jdt.core.ITypeHierarchy newTypeHierarchy(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 812
            aload 0 /* this */
            aload 1 /* project */
            getstatic org.eclipse.jdt.internal.core.DefaultWorkingCopyOwner.PRIMARY:Lorg/eclipse/jdt/internal/core/DefaultWorkingCopyOwner;
            aload 2 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.newTypeHierarchy:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
            areturn
        end local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    1     1  project  Lorg/eclipse/jdt/core/IJavaProject;
            0    1     2  monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      project  
      monitor  

  public org.eclipse.jdt.core.ITypeHierarchy newTypeHierarchy(org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.WorkingCopyOwner, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
        start local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 817
            aload 1 /* project */
            ifnonnull 2
         1: .line 818
            new java.lang.IllegalArgumentException
            dup
            getstatic org.eclipse.jdt.internal.core.util.Messages.hierarchy_nullProject:Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 820
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 2 /* owner */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getWorkingCopies:(Lorg/eclipse/jdt/core/WorkingCopyOwner;Z)[Lorg/eclipse/jdt/core/ICompilationUnit;
            astore 4 /* workingCopies */
        start local 4 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
         3: .line 821
            aconst_null
            astore 5 /* projectWCs */
        start local 5 // org.eclipse.jdt.core.ICompilationUnit[] projectWCs
         4: .line 822
            aload 4 /* workingCopies */
            ifnull 17
         5: .line 823
            aload 4 /* workingCopies */
            arraylength
            istore 6 /* length */
        start local 6 // int length
         6: .line 824
            iload 6 /* length */
            anewarray org.eclipse.jdt.core.ICompilationUnit
            astore 5 /* projectWCs */
         7: .line 825
            iconst_0
            istore 7 /* index */
        start local 7 // int index
         8: .line 826
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         9: goto 14
        10: .line 827
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.WorkingCopyOwner org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.core.ICompilationUnit[] org.eclipse.jdt.core.ICompilationUnit[] int int int
      StackMap stack:
            aload 4 /* workingCopies */
            iload 8 /* i */
            aaload
            astore 9 /* wc */
        start local 9 // org.eclipse.jdt.core.ICompilationUnit wc
        11: .line 828
            aload 1 /* project */
            aload 9 /* wc */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 829
            aload 5 /* projectWCs */
            iload 7 /* index */
            iinc 7 /* index */ 1
            aload 9 /* wc */
            aastore
        end local 9 // org.eclipse.jdt.core.ICompilationUnit wc
        13: .line 826
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 8 /* i */
            iload 6 /* length */
            if_icmplt 10
        end local 8 // int i
        15: .line 832
            iload 7 /* index */
            iload 6 /* length */
            if_icmpeq 17
        16: .line 833
            aload 5 /* projectWCs */
            iconst_0
            iload 7 /* index */
            anewarray org.eclipse.jdt.core.ICompilationUnit
            dup
            astore 5 /* projectWCs */
            iconst_0
            iload 7 /* index */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 7 // int index
        end local 6 // int length
        17: .line 836
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation
            dup
        18: .line 837
            aload 0 /* this */
        19: .line 838
            aload 5 /* projectWCs */
        20: .line 839
            aload 1 /* project */
        21: .line 840
            iconst_1
        22: .line 836
            invokespecial org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.<init>:(Lorg/eclipse/jdt/core/IType;[Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/jdt/core/IJavaProject;Z)V
            astore 6 /* op */
        start local 6 // org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation op
        23: .line 841
            aload 6 /* op */
            aload 3 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.runOperation:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
        24: .line 842
            aload 6 /* op */
            invokevirtual org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.getResult:()Lorg/eclipse/jdt/core/ITypeHierarchy;
            areturn
        end local 6 // org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation op
        end local 5 // org.eclipse.jdt.core.ICompilationUnit[] projectWCs
        end local 4 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        end local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0           this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0   25     1        project  Lorg/eclipse/jdt/core/IJavaProject;
            0   25     2          owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0   25     3        monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            3   25     4  workingCopies  [Lorg/eclipse/jdt/core/ICompilationUnit;
            4   25     5     projectWCs  [Lorg/eclipse/jdt/core/ICompilationUnit;
            6   17     6         length  I
            8   17     7          index  I
            9   15     8              i  I
           11   13     9             wc  Lorg/eclipse/jdt/core/ICompilationUnit;
           23   25     6             op  Lorg/eclipse/jdt/internal/core/CreateTypeHierarchyOperation;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      project  
      owner    
      monitor  

  public org.eclipse.jdt.core.ITypeHierarchy newTypeHierarchy(org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 857
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.DefaultWorkingCopyOwner.PRIMARY:Lorg/eclipse/jdt/internal/core/DefaultWorkingCopyOwner;
            aload 1 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.newTypeHierarchy:(Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
            areturn
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    1     1  monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      monitor  

  public org.eclipse.jdt.core.ITypeHierarchy newTypeHierarchy(org.eclipse.jdt.core.ICompilationUnit[], org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        start local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 866
            new org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation
            dup
            aload 0 /* this */
            aload 1 /* workingCopies */
            invokestatic org.eclipse.jdt.core.search.SearchEngine.createWorkspaceScope:()Lorg/eclipse/jdt/core/search/IJavaSearchScope;
            iconst_1
            invokespecial org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.<init>:(Lorg/eclipse/jdt/core/IType;[Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/jdt/core/search/IJavaSearchScope;Z)V
            astore 3 /* op */
        start local 3 // org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation op
         1: .line 867
            aload 3 /* op */
            aload 2 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.runOperation:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         2: .line 868
            aload 3 /* op */
            invokevirtual org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.getResult:()Lorg/eclipse/jdt/core/ITypeHierarchy;
            areturn
        end local 3 // org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation op
        end local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 1 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    3     1  workingCopies  [Lorg/eclipse/jdt/core/ICompilationUnit;
            0    3     2        monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1    3     3             op  Lorg/eclipse/jdt/internal/core/CreateTypeHierarchyOperation;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
               Name  Flags
      workingCopies  
      monitor        

  public org.eclipse.jdt.core.ITypeHierarchy newTypeHierarchy(org.eclipse.jdt.core.IWorkingCopy[], org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/core/IWorkingCopy;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.jdt.core.IWorkingCopy[] workingCopies
        start local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 881
            aload 1 /* workingCopies */
            ifnonnull 3
         1: .line 882
            aconst_null
            astore 3 /* copies */
        start local 3 // org.eclipse.jdt.core.ICompilationUnit[] copies
         2: .line 883
            goto 6
        end local 3 // org.eclipse.jdt.core.ICompilationUnit[] copies
         3: .line 884
      StackMap locals:
      StackMap stack:
            aload 1 /* workingCopies */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         4: .line 885
            aload 1 /* workingCopies */
            iconst_0
            iload 4 /* length */
            anewarray org.eclipse.jdt.core.ICompilationUnit
            dup
            astore 3 /* copies */
        start local 3 // org.eclipse.jdt.core.ICompilationUnit[] copies
         5: iconst_0
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 4 // int length
         6: .line 887
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit[]
      StackMap stack:
            aload 0 /* this */
            aload 3 /* copies */
            aload 2 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.newTypeHierarchy:([Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
            areturn
        end local 3 // org.eclipse.jdt.core.ICompilationUnit[] copies
        end local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 1 // org.eclipse.jdt.core.IWorkingCopy[] workingCopies
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    7     1  workingCopies  [Lorg/eclipse/jdt/core/IWorkingCopy;
            0    7     2        monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            2    3     3         copies  [Lorg/eclipse/jdt/core/ICompilationUnit;
            5    7     3         copies  [Lorg/eclipse/jdt/core/ICompilationUnit;
            4    6     4         length  I
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
               Name  Flags
      workingCopies  
      monitor        

  public org.eclipse.jdt.core.ITypeHierarchy newTypeHierarchy(org.eclipse.jdt.core.WorkingCopyOwner, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.jdt.core.WorkingCopyOwner owner
        start local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 896
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 1 /* owner */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getWorkingCopies:(Lorg/eclipse/jdt/core/WorkingCopyOwner;Z)[Lorg/eclipse/jdt/core/ICompilationUnit;
            astore 3 /* workingCopies */
        start local 3 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
         1: .line 897
            new org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation
            dup
            aload 0 /* this */
            aload 3 /* workingCopies */
            invokestatic org.eclipse.jdt.core.search.SearchEngine.createWorkspaceScope:()Lorg/eclipse/jdt/core/search/IJavaSearchScope;
            iconst_1
            invokespecial org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.<init>:(Lorg/eclipse/jdt/core/IType;[Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/jdt/core/search/IJavaSearchScope;Z)V
            astore 4 /* op */
        start local 4 // org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation op
         2: .line 898
            aload 4 /* op */
            aload 2 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.runOperation:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         3: .line 899
            aload 4 /* op */
            invokevirtual org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.getResult:()Lorg/eclipse/jdt/core/ITypeHierarchy;
            areturn
        end local 4 // org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation op
        end local 3 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        end local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 1 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    4     1          owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0    4     2        monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1    4     3  workingCopies  [Lorg/eclipse/jdt/core/ICompilationUnit;
            2    4     4             op  Lorg/eclipse/jdt/internal/core/CreateTypeHierarchyOperation;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      owner    
      monitor  

  public org.eclipse.jdt.internal.core.JavaElement resolved(org.eclipse.jdt.internal.compiler.lookup.Binding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Binding;)Lorg/eclipse/jdt/internal/core/JavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Binding binding
         0: .line 903
            new org.eclipse.jdt.internal.core.ResolvedBinaryType
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryType.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryType.name:Ljava/lang/String;
            new java.lang.String
            dup
            aload 1 /* binding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.Binding.computeUniqueKey:()[C
            invokespecial java.lang.String.<init>:([C)V
            invokespecial org.eclipse.jdt.internal.core.ResolvedBinaryType.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* resolvedHandle */
        start local 2 // org.eclipse.jdt.internal.core.SourceRefElement resolvedHandle
         1: .line 904
            aload 2 /* resolvedHandle */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.BinaryType.occurrenceCount:I
            putfield org.eclipse.jdt.internal.core.SourceRefElement.occurrenceCount:I
         2: .line 905
            aload 2 /* resolvedHandle */
            areturn
        end local 2 // org.eclipse.jdt.internal.core.SourceRefElement resolvedHandle
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Binding binding
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    3     1         binding  Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            1    3     2  resolvedHandle  Lorg/eclipse/jdt/internal/core/SourceRefElement;
    MethodParameters:
         Name  Flags
      binding  

  public java.lang.String sourceFileName(org.eclipse.jdt.internal.compiler.env.IBinaryType);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
         0: .line 912
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.sourceFileName:()[C
            astore 2 /* sourceFileName */
        start local 2 // char[] sourceFileName
         1: .line 913
            aload 2 /* sourceFileName */
            ifnonnull 15
         2: .line 919
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.isMember:()Z
            ifeq 8
         3: .line 920
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            astore 3 /* enclosingType */
        start local 3 // org.eclipse.jdt.core.IType enclosingType
         4: .line 921
            aload 3 /* enclosingType */
            ifnonnull 6
            aconst_null
            areturn
         5: .line 923
      StackMap locals: char[] org.eclipse.jdt.core.IType
      StackMap stack:
            aload 3 /* enclosingType */
            invokeinterface org.eclipse.jdt.core.IType.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            astore 3 /* enclosingType */
         6: .line 922
      StackMap locals:
      StackMap stack:
            aload 3 /* enclosingType */
            invokeinterface org.eclipse.jdt.core.IType.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            ifnonnull 5
         7: .line 925
            new java.lang.StringBuilder
            dup
            aload 3 /* enclosingType */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic org.eclipse.jdt.internal.core.util.Util.defaultJavaExtension:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // org.eclipse.jdt.core.IType enclosingType
         8: .line 926
      StackMap locals:
      StackMap stack:
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.isLocal:()Z
            ifne 9
            aload 1 /* info */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryType.isAnonymous:()Z
            ifeq 14
         9: .line 927
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getTypeQualifiedName:()Ljava/lang/String;
            astore 3 /* typeQualifiedName */
        start local 3 // java.lang.String typeQualifiedName
        10: .line 928
            aload 3 /* typeQualifiedName */
            bipush 36
            invokevirtual java.lang.String.indexOf:(I)I
            istore 4 /* dollar */
        start local 4 // int dollar
        11: .line 929
            iload 4 /* dollar */
            iconst_m1
            if_icmpne 13
        12: .line 931
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic org.eclipse.jdt.internal.core.util.Util.defaultJavaExtension:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        13: .line 933
      StackMap locals: java.lang.String int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* typeQualifiedName */
            iconst_0
            iload 4 /* dollar */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic org.eclipse.jdt.internal.core.util.Util.defaultJavaExtension:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // int dollar
        end local 3 // java.lang.String typeQualifiedName
        14: .line 935
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic org.eclipse.jdt.internal.core.util.Util.defaultJavaExtension:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        15: .line 938
      StackMap locals:
      StackMap stack:
            bipush 47
            aload 2 /* sourceFileName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.lastIndexOf:(C[C)I
            istore 3 /* index */
        start local 3 // int index
        16: .line 939
            new java.lang.String
            dup
            aload 2 /* sourceFileName */
            iload 3 /* index */
            iconst_1
            iadd
            aload 2 /* sourceFileName */
            arraylength
            iload 3 /* index */
            isub
            iconst_1
            isub
            invokespecial java.lang.String.<init>:([CII)V
            areturn
        end local 3 // int index
        end local 2 // char[] sourceFileName
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryType info
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0   17     1               info  Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;
            1   17     2     sourceFileName  [C
            4    8     3      enclosingType  Lorg/eclipse/jdt/core/IType;
           10   14     3  typeQualifiedName  Ljava/lang/String;
           11   14     4             dollar  I
           16   17     3              index  I
    MethodParameters:
      Name  Flags
      info  

  protected void toStringInfo(int, java.lang.StringBuffer, java.lang.Object, boolean);
    descriptor: (ILjava/lang/StringBuffer;Ljava/lang/Object;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // int tab
        start local 2 // java.lang.StringBuffer buffer
        start local 3 // java.lang.Object info
        start local 4 // boolean showResolvedInfo
         0: .line 947
            aload 2 /* buffer */
            aload 0 /* this */
            iload 1 /* tab */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.tabString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 948
            aload 3 /* info */
            ifnonnull 5
         2: .line 949
            aload 0 /* this */
            aload 2 /* buffer */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.toStringName:(Ljava/lang/StringBuffer;)V
         3: .line 950
            aload 2 /* buffer */
            ldc " (not open)"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 951
            goto 22
      StackMap locals:
      StackMap stack:
         5: aload 3 /* info */
            getstatic org.eclipse.jdt.internal.core.BinaryType.NO_INFO:Ljava/lang/Object;
            if_acmpne 8
         6: .line 952
            aload 0 /* this */
            aload 2 /* buffer */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.toStringName:(Ljava/lang/StringBuffer;)V
         7: .line 953
            goto 22
         8: .line 955
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.isAnnotation:()Z
            ifeq 11
         9: .line 956
            aload 2 /* buffer */
            ldc "@interface "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 957
            goto 18
      StackMap locals:
      StackMap stack:
        11: aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.isEnum:()Z
            ifeq 14
        12: .line 958
            aload 2 /* buffer */
            ldc "enum "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 959
            goto 18
      StackMap locals:
      StackMap stack:
        14: aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.isInterface:()Z
            ifeq 17
        15: .line 960
            aload 2 /* buffer */
            ldc "interface "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        16: .line 961
            goto 18
        17: .line 962
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            ldc "class "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        18: .line 964
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* buffer */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.toStringName:(Ljava/lang/StringBuffer;)V
        19: .line 965
            goto 22
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        20: pop
        21: .line 966
            aload 2 /* buffer */
            new java.lang.StringBuilder
            dup
            ldc "<JavaModelException in toString of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        22: .line 969
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean showResolvedInfo
        end local 3 // java.lang.Object info
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // int tab
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   23     0              this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0   23     1               tab  I
            0   23     2            buffer  Ljava/lang/StringBuffer;
            0   23     3              info  Ljava/lang/Object;
            0   23     4  showResolvedInfo  Z
      Exception table:
        from    to  target  type
           8    19      20  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                  Name  Flags
      tab               
      buffer            
      info              
      showResolvedInfo  

  protected void toStringName(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // java.lang.StringBuffer buffer
         0: .line 972
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 2
         1: .line 973
            aload 0 /* this */
            aload 1 /* buffer */
            invokespecial org.eclipse.jdt.internal.core.BinaryMember.toStringName:(Ljava/lang/StringBuffer;)V
            goto 3
         2: .line 975
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            ldc "<anonymous>"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 976
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    4     1  buffer  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      buffer  

  public java.lang.String getAttachedJavadoc(org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 979
            aload 0 /* this */
            aload 1 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getJavadocContents:(Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/core/JavadocContents;
            astore 2 /* javadocContents */
        start local 2 // org.eclipse.jdt.internal.core.JavadocContents javadocContents
         1: .line 980
            aload 2 /* javadocContents */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 981
      StackMap locals: org.eclipse.jdt.internal.core.JavadocContents
      StackMap stack:
            aload 2 /* javadocContents */
            invokevirtual org.eclipse.jdt.internal.core.JavadocContents.getTypeDoc:()Ljava/lang/String;
            areturn
        end local 2 // org.eclipse.jdt.internal.core.JavadocContents javadocContents
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0    3     1          monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1    3     2  javadocContents  Lorg/eclipse/jdt/internal/core/JavadocContents;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      monitor  

  public org.eclipse.jdt.internal.core.JavadocContents getJavadocContents(org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/core/JavadocContents;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.BinaryType this
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 984
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfoCheckExistence:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 2 /* projectInfo */
        start local 2 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
         1: .line 985
            aconst_null
            astore 3 /* cachedJavadoc */
        start local 3 // org.eclipse.jdt.internal.core.JavadocContents cachedJavadoc
         2: .line 986
            aload 2 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.javadocCache:Lorg/eclipse/jdt/internal/core/util/LRUCache;
            dup
            astore 4
            monitorenter
         3: .line 987
            aload 2 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.javadocCache:Lorg/eclipse/jdt/internal/core/util/LRUCache;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavadocContents
            astore 3 /* cachedJavadoc */
         4: .line 986
            aload 4
            monitorexit
         5: goto 8
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.jdt.internal.core.JavadocContents org.eclipse.jdt.internal.core.util.LRUCache
      StackMap stack: java.lang.Throwable
         6: aload 4
            monitorexit
         7: athrow
         8: .line 990
      StackMap locals:
      StackMap stack:
            aload 3 /* cachedJavadoc */
            ifnull 10
            aload 3 /* cachedJavadoc */
            getstatic org.eclipse.jdt.internal.core.BinaryType.EMPTY_JAVADOC:Lorg/eclipse/jdt/internal/core/JavadocContents;
            if_acmpeq 10
         9: .line 991
            aload 3 /* cachedJavadoc */
            areturn
        10: .line 993
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getJavadocBaseLocation:()Ljava/net/URL;
            astore 4 /* baseLocation */
        start local 4 // java.net.URL baseLocation
        11: .line 994
            aload 4 /* baseLocation */
            ifnonnull 13
        12: .line 995
            aconst_null
            areturn
        13: .line 997
      StackMap locals: java.net.URL
      StackMap stack:
            new java.lang.StringBuffer
            dup
            aload 4 /* baseLocation */
            invokevirtual java.net.URL.toExternalForm:()Ljava/lang/String;
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 5 /* pathBuffer */
        start local 5 // java.lang.StringBuffer pathBuffer
        14: .line 999
            aload 5 /* pathBuffer */
            aload 5 /* pathBuffer */
            invokevirtual java.lang.StringBuffer.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuffer.charAt:(I)C
            bipush 47
            if_icmpeq 16
        15: .line 1000
            aload 5 /* pathBuffer */
            bipush 47
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        16: .line 1002
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getPackageFragment:()Lorg/eclipse/jdt/core/IPackageFragment;
            astore 6 /* pack */
        start local 6 // org.eclipse.jdt.core.IPackageFragment pack
        17: .line 1003
            aconst_null
            astore 7 /* typeQualifiedName */
        start local 7 // java.lang.String typeQualifiedName
        18: .line 1004
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.isMember:()Z
            ifeq 29
        19: .line 1005
            aload 0 /* this */
            astore 8 /* currentType */
        start local 8 // org.eclipse.jdt.core.IType currentType
        20: .line 1006
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 9 /* typeName */
        start local 9 // java.lang.StringBuffer typeName
        21: .line 1007
            goto 26
        22: .line 1008
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.jdt.internal.core.JavadocContents java.net.URL java.lang.StringBuffer org.eclipse.jdt.core.IPackageFragment java.lang.String org.eclipse.jdt.core.IType java.lang.StringBuffer
      StackMap stack:
            aload 9 /* typeName */
            iconst_0
            aload 8 /* currentType */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.insert:(ILjava/lang/String;)Ljava/lang/StringBuffer;
            pop
        23: .line 1009
            aload 8 /* currentType */
            invokeinterface org.eclipse.jdt.core.IType.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            astore 8 /* currentType */
        24: .line 1010
            aload 8 /* currentType */
            ifnull 26
        25: .line 1011
            aload 9 /* typeName */
            iconst_0
            bipush 46
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
        26: .line 1007
      StackMap locals:
      StackMap stack:
            aload 8 /* currentType */
            ifnonnull 22
        27: .line 1014
            aload 9 /* typeName */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 7 /* typeQualifiedName */
        end local 9 // java.lang.StringBuffer typeName
        end local 8 // org.eclipse.jdt.core.IType currentType
        28: .line 1015
            goto 30
        29: .line 1016
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getElementName:()Ljava/lang/String;
            astore 7 /* typeQualifiedName */
        30: .line 1019
      StackMap locals:
      StackMap stack:
            aload 5 /* pathBuffer */
            aload 6 /* pack */
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getElementName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            bipush 47
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            aload 7 /* typeQualifiedName */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            ldc ".html"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        31: .line 1020
            aload 1 /* monitor */
            ifnull 32
            aload 1 /* monitor */
            invokeinterface org.eclipse.core.runtime.IProgressMonitor.isCanceled:()Z
            ifeq 32
            new org.eclipse.core.runtime.OperationCanceledException
            dup
            invokespecial org.eclipse.core.runtime.OperationCanceledException.<init>:()V
            athrow
        32: .line 1021
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* baseLocation */
            aload 5 /* pathBuffer */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getURLContents:(Ljava/net/URL;Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* contents */
        start local 8 // java.lang.String contents
        33: .line 1022
            new org.eclipse.jdt.internal.core.JavadocContents
            dup
            aload 0 /* this */
            aload 8 /* contents */
            invokespecial org.eclipse.jdt.internal.core.JavadocContents.<init>:(Lorg/eclipse/jdt/internal/core/BinaryType;Ljava/lang/String;)V
            astore 9 /* javadocContents */
        start local 9 // org.eclipse.jdt.internal.core.JavadocContents javadocContents
        34: .line 1023
            aload 2 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.javadocCache:Lorg/eclipse/jdt/internal/core/util/LRUCache;
            dup
            astore 10
            monitorenter
        35: .line 1024
            aload 2 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.javadocCache:Lorg/eclipse/jdt/internal/core/util/LRUCache;
            aload 0 /* this */
            aload 9 /* javadocContents */
            invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        36: .line 1023
            aload 10
            monitorexit
        37: goto 40
      StackMap locals: org.eclipse.jdt.internal.core.BinaryType org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.jdt.internal.core.JavadocContents java.net.URL java.lang.StringBuffer org.eclipse.jdt.core.IPackageFragment java.lang.String java.lang.String org.eclipse.jdt.internal.core.JavadocContents org.eclipse.jdt.internal.core.util.LRUCache
      StackMap stack: java.lang.Throwable
        38: aload 10
            monitorexit
        39: athrow
        40: .line 1026
      StackMap locals:
      StackMap stack:
            aload 9 /* javadocContents */
            areturn
        end local 9 // org.eclipse.jdt.internal.core.JavadocContents javadocContents
        end local 8 // java.lang.String contents
        end local 7 // java.lang.String typeQualifiedName
        end local 6 // org.eclipse.jdt.core.IPackageFragment pack
        end local 5 // java.lang.StringBuffer pathBuffer
        end local 4 // java.net.URL baseLocation
        end local 3 // org.eclipse.jdt.internal.core.JavadocContents cachedJavadoc
        end local 2 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // org.eclipse.jdt.internal.core.BinaryType this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   41     0               this  Lorg/eclipse/jdt/internal/core/BinaryType;
            0   41     1            monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1   41     2        projectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            2   41     3      cachedJavadoc  Lorg/eclipse/jdt/internal/core/JavadocContents;
           11   41     4       baseLocation  Ljava/net/URL;
           14   41     5         pathBuffer  Ljava/lang/StringBuffer;
           17   41     6               pack  Lorg/eclipse/jdt/core/IPackageFragment;
           18   41     7  typeQualifiedName  Ljava/lang/String;
           20   28     8        currentType  Lorg/eclipse/jdt/core/IType;
           21   28     9           typeName  Ljava/lang/StringBuffer;
           33   41     8           contents  Ljava/lang/String;
           34   41     9    javadocContents  Lorg/eclipse/jdt/internal/core/JavadocContents;
      Exception table:
        from    to  target  type
           3     5       6  any
           6     7       6  any
          35    37      38  any
          38    39      38  any
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      monitor  

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

  public org.eclipse.jdt.core.IClassFile getClassFile();
    descriptor: ()Lorg/eclipse/jdt/core/IClassFile;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.eclipse.jdt.internal.core.BinaryType.getClassFile:()Lorg/eclipse/jdt/core/IOrdinaryClassFile;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "BinaryType.java"
InnerClasses:
  public PerProjectInfo = org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo of org.eclipse.jdt.internal.core.JavaModelManager