public class org.eclipse.jdt.internal.core.SelectionRequestor implements org.eclipse.jdt.internal.codeassist.ISelectionRequestor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.SelectionRequestor
  super_class: java.lang.Object
{
  protected org.eclipse.jdt.internal.core.NameLookup nameLookup;
    descriptor: Lorg/eclipse/jdt/internal/core/NameLookup;
    flags: (0x0004) ACC_PROTECTED

  protected org.eclipse.jdt.internal.core.Openable openable;
    descriptor: Lorg/eclipse/jdt/internal/core/Openable;
    flags: (0x0004) ACC_PROTECTED

  protected org.eclipse.jdt.core.IJavaElement[] elements;
    descriptor: [Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0004) ACC_PROTECTED

  protected int elementIndex;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected org.eclipse.jdt.internal.core.util.HandleFactory handleFactory;
    descriptor: Lorg/eclipse/jdt/internal/core/util/HandleFactory;
    flags: (0x0004) ACC_PROTECTED

  public void <init>(org.eclipse.jdt.internal.core.NameLookup, org.eclipse.jdt.internal.core.Openable);
    descriptor: (Lorg/eclipse/jdt/internal/core/NameLookup;Lorg/eclipse/jdt/internal/core/Openable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.internal.core.NameLookup nameLookup
        start local 2 // org.eclipse.jdt.internal.core.Openable openable
         0: .line 87
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 75
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.JavaElement.NO_ELEMENTS:[Lorg/eclipse/jdt/internal/core/JavaElement;
            putfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
         2: .line 76
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
         3: .line 78
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.util.HandleFactory
            dup
            invokespecial org.eclipse.jdt.internal.core.util.HandleFactory.<init>:()V
            putfield org.eclipse.jdt.internal.core.SelectionRequestor.handleFactory:Lorg/eclipse/jdt/internal/core/util/HandleFactory;
         4: .line 88
            aload 0 /* this */
            aload 1 /* nameLookup */
            putfield org.eclipse.jdt.internal.core.SelectionRequestor.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
         5: .line 89
            aload 0 /* this */
            aload 2 /* openable */
            putfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
         6: .line 90
            return
        end local 2 // org.eclipse.jdt.internal.core.Openable openable
        end local 1 // org.eclipse.jdt.internal.core.NameLookup nameLookup
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0    7     1  nameLookup  Lorg/eclipse/jdt/internal/core/NameLookup;
            0    7     2    openable  Lorg/eclipse/jdt/internal/core/Openable;
    MethodParameters:
            Name  Flags
      nameLookup  
      openable    

  private void acceptBinaryMethod(org.eclipse.jdt.core.IType, org.eclipse.jdt.core.IMethod, char[], boolean);
    descriptor: (Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/IMethod;[CZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // org.eclipse.jdt.core.IMethod method
        start local 3 // char[] uniqueKey
        start local 4 // boolean isConstructor
         0: .line 97
            iload 4 /* isConstructor */
            ifeq 1
            aload 2 /* method */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getClassFile:()Lorg/eclipse/jdt/core/IClassFile;
            invokeinterface org.eclipse.jdt.core.IClassFile.getBuffer:()Lorg/eclipse/jdt/core/IBuffer;
            ifnonnull 16
         1: .line 98
      StackMap locals:
      StackMap stack:
            aload 3 /* uniqueKey */
            ifnull 10
         2: .line 99
            new org.eclipse.jdt.internal.core.ResolvedBinaryMethod
            dup
         3: .line 100
            aload 2 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
         4: .line 101
            aload 2 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getElementName:()Ljava/lang/String;
         5: .line 102
            aload 2 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getParameterTypes:()[Ljava/lang/String;
         6: .line 103
            new java.lang.String
            dup
            aload 3 /* uniqueKey */
            invokespecial java.lang.String.<init>:([C)V
         7: .line 99
            invokespecial org.eclipse.jdt.internal.core.ResolvedBinaryMethod.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* resolvedMethod */
        start local 5 // org.eclipse.jdt.internal.core.ResolvedBinaryMethod resolvedMethod
         8: .line 104
            aload 5 /* resolvedMethod */
            aload 2 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getOccurrenceCount:()I
            putfield org.eclipse.jdt.internal.core.ResolvedBinaryMethod.occurrenceCount:I
         9: .line 105
            aload 5 /* resolvedMethod */
            astore 2 /* method */
        end local 5 // org.eclipse.jdt.internal.core.ResolvedBinaryMethod resolvedMethod
        10: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* method */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        11: .line 109
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 40
        12: .line 110
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept method("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        13: .line 111
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 2 /* method */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        14: .line 112
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 114
            goto 40
        16: .line 115
      StackMap locals:
      StackMap stack:
            aload 2 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getSourceRange:()Lorg/eclipse/jdt/core/ISourceRange;
            astore 5 /* range */
        start local 5 // org.eclipse.jdt.core.ISourceRange range
        17: .line 116
            aload 5 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            iconst_m1
            if_icmpeq 33
            aload 5 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getLength:()I
            ifeq 33
        18: .line 117
            aload 3 /* uniqueKey */
            ifnull 27
        19: .line 118
            new org.eclipse.jdt.internal.core.ResolvedBinaryMethod
            dup
        20: .line 119
            aload 2 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
        21: .line 120
            aload 2 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getElementName:()Ljava/lang/String;
        22: .line 121
            aload 2 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getParameterTypes:()[Ljava/lang/String;
        23: .line 122
            new java.lang.String
            dup
            aload 3 /* uniqueKey */
            invokespecial java.lang.String.<init>:([C)V
        24: .line 118
            invokespecial org.eclipse.jdt.internal.core.ResolvedBinaryMethod.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
            astore 6 /* resolvedMethod */
        start local 6 // org.eclipse.jdt.internal.core.ResolvedBinaryMethod resolvedMethod
        25: .line 123
            aload 6 /* resolvedMethod */
            aload 2 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getOccurrenceCount:()I
            putfield org.eclipse.jdt.internal.core.ResolvedBinaryMethod.occurrenceCount:I
        26: .line 124
            aload 6 /* resolvedMethod */
            astore 2 /* method */
        end local 6 // org.eclipse.jdt.internal.core.ResolvedBinaryMethod resolvedMethod
        27: .line 126
      StackMap locals: org.eclipse.jdt.core.ISourceRange
      StackMap stack:
            aload 0 /* this */
            aload 2 /* method */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        28: .line 127
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 40
        29: .line 128
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept method("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        30: .line 129
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 2 /* method */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        31: .line 130
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        32: .line 132
            goto 40
        33: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        34: .line 135
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 40
        35: .line 136
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept type("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        36: .line 137
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 1 /* type */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        37: .line 138
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 5 // org.eclipse.jdt.core.ISourceRange range
        38: .line 142
            goto 40
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor org.eclipse.jdt.core.IType org.eclipse.jdt.core.IMethod char[] int
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        39: pop
        40: .line 145
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean isConstructor
        end local 3 // char[] uniqueKey
        end local 2 // org.eclipse.jdt.core.IMethod method
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   41     0            this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   41     1            type  Lorg/eclipse/jdt/core/IType;
            0   41     2          method  Lorg/eclipse/jdt/core/IMethod;
            0   41     3       uniqueKey  [C
            0   41     4   isConstructor  Z
            8   10     5  resolvedMethod  Lorg/eclipse/jdt/internal/core/ResolvedBinaryMethod;
           17   38     5           range  Lorg/eclipse/jdt/core/ISourceRange;
           25   27     6  resolvedMethod  Lorg/eclipse/jdt/internal/core/ResolvedBinaryMethod;
      Exception table:
        from    to  target  type
           0    38      39  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
               Name  Flags
      type           
      method         
      uniqueKey      
      isConstructor  

  protected void acceptBinaryMethod(org.eclipse.jdt.core.IType, char[], char[][], char[][], java.lang.String[], char[][], char[][][], char[], boolean);
    descriptor: (Lorg/eclipse/jdt/core/IType;[C[[C[[C[Ljava/lang/String;[[C[[[C[CZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=13, args_size=10
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // char[] selector
        start local 3 // char[][] parameterPackageNames
        start local 4 // char[][] parameterTypeNames
        start local 5 // java.lang.String[] parameterSignatures
        start local 6 // char[][] typeParameterNames
        start local 7 // char[][][] typeParameterBoundNames
        start local 8 // char[] uniqueKey
        start local 9 // boolean isConstructor
         0: .line 161
            aload 1 /* type */
            new java.lang.String
            dup
            aload 2 /* selector */
            invokespecial java.lang.String.<init>:([C)V
            aload 5 /* parameterSignatures */
            invokeinterface org.eclipse.jdt.core.IType.getMethod:(Ljava/lang/String;[Ljava/lang/String;)Lorg/eclipse/jdt/core/IMethod;
            astore 10 /* method */
        start local 10 // org.eclipse.jdt.core.IMethod method
         1: .line 163
            aload 10 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.exists:()Z
            ifeq 13
         2: .line 164
            aload 6 /* typeParameterNames */
            ifnull 12
            aload 6 /* typeParameterNames */
            arraylength
            ifeq 12
         3: .line 165
            aload 1 /* type */
            aload 10 /* method */
            invokeinterface org.eclipse.jdt.core.IType.findMethods:(Lorg/eclipse/jdt/core/IMethod;)[Lorg/eclipse/jdt/core/IMethod;
            astore 11 /* methods */
        start local 11 // org.eclipse.jdt.core.IMethod[] methods
         4: .line 166
            aload 11 /* methods */
            ifnull 12
            aload 11 /* methods */
            arraylength
            iconst_1
            if_icmple 12
         5: .line 167
            iconst_0
            istore 12 /* i */
        start local 12 // int i
         6: goto 10
         7: .line 168
      StackMap locals: org.eclipse.jdt.core.IMethod org.eclipse.jdt.core.IMethod[] int
      StackMap stack:
            aload 0 /* this */
            aload 11 /* methods */
            iload 12 /* i */
            aaload
            aload 6 /* typeParameterNames */
            aload 7 /* typeParameterBoundNames */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.areTypeParametersCompatible:(Lorg/eclipse/jdt/core/IMethod;[[C[[[C)Z
            ifeq 9
         8: .line 169
            aload 0 /* this */
            aload 1 /* type */
            aload 10 /* method */
            aload 8 /* uniqueKey */
            iload 9 /* isConstructor */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.acceptBinaryMethod:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/IMethod;[CZ)V
         9: .line 167
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 12 /* i */
            aload 11 /* methods */
            arraylength
            if_icmplt 7
        end local 12 // int i
        11: .line 172
            return
        end local 11 // org.eclipse.jdt.core.IMethod[] methods
        12: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            aload 10 /* method */
            aload 8 /* uniqueKey */
            iload 9 /* isConstructor */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.acceptBinaryMethod:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/IMethod;[CZ)V
        13: .line 177
      StackMap locals:
      StackMap stack:
            return
        end local 10 // org.eclipse.jdt.core.IMethod method
        end local 9 // boolean isConstructor
        end local 8 // char[] uniqueKey
        end local 7 // char[][][] typeParameterBoundNames
        end local 6 // char[][] typeParameterNames
        end local 5 // java.lang.String[] parameterSignatures
        end local 4 // char[][] parameterTypeNames
        end local 3 // char[][] parameterPackageNames
        end local 2 // char[] selector
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   14     0                     this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   14     1                     type  Lorg/eclipse/jdt/core/IType;
            0   14     2                 selector  [C
            0   14     3    parameterPackageNames  [[C
            0   14     4       parameterTypeNames  [[C
            0   14     5      parameterSignatures  [Ljava/lang/String;
            0   14     6       typeParameterNames  [[C
            0   14     7  typeParameterBoundNames  [[[C
            0   14     8                uniqueKey  [C
            0   14     9            isConstructor  Z
            1   14    10                   method  Lorg/eclipse/jdt/core/IMethod;
            4   12    11                  methods  [Lorg/eclipse/jdt/core/IMethod;
            6   11    12                        i  I
    MethodParameters:
                         Name  Flags
      type                     
      selector                 
      parameterPackageNames    
      parameterTypeNames       
      parameterSignatures      
      typeParameterNames       
      typeParameterBoundNames  
      uniqueKey                
      isConstructor            

  public void acceptModule(char[], char[], int, int);
    descriptor: ([C[CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // char[] moduleName
        start local 2 // char[] uniqueKey
        start local 3 // int start
        start local 4 // int end
         0: .line 180
            aload 0 /* this */
            aload 1 /* moduleName */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.resolveModule:([C)Lorg/eclipse/jdt/core/IModuleDescription;
            astore 5 /* module */
        start local 5 // org.eclipse.jdt.core.IModuleDescription module
         1: .line 181
            aload 0 /* this */
            aload 5 /* module */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
         2: .line 182
            return
        end local 5 // org.eclipse.jdt.core.IModuleDescription module
        end local 4 // int end
        end local 3 // int start
        end local 2 // char[] uniqueKey
        end local 1 // char[] moduleName
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0    3     1  moduleName  [C
            0    3     2   uniqueKey  [C
            0    3     3       start  I
            0    3     4         end  I
            1    3     5      module  Lorg/eclipse/jdt/core/IModuleDescription;
    MethodParameters:
            Name  Flags
      moduleName  
      uniqueKey   
      start       
      end         

  public void acceptType(char[], char[], int, boolean, char[], int, int);
    descriptor: ([C[CIZ[CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=13, args_size=8
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // char[] packageName
        start local 2 // char[] typeName
        start local 3 // int modifiers
        start local 4 // boolean isDeclaration
        start local 5 // char[] uniqueKey
        start local 6 // int start
        start local 7 // int end
         0: .line 188
            iconst_0
            istore 8 /* acceptFlags */
        start local 8 // int acceptFlags
         1: .line 189
            iload 3 /* modifiers */
            sipush 25088
            iand
            istore 9 /* kind */
        start local 9 // int kind
         2: .line 190
            iload 9 /* kind */
            lookupswitch { // 4
                  512: 7
                 8192: 3
                 8704: 3
                16384: 5
              default: 9
          }
         3: .line 193
      StackMap locals: int int
      StackMap stack:
            bipush 16
            istore 8 /* acceptFlags */
         4: .line 194
            goto 10
         5: .line 196
      StackMap locals:
      StackMap stack:
            bipush 8
            istore 8 /* acceptFlags */
         6: .line 197
            goto 10
         7: .line 199
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 8 /* acceptFlags */
         8: .line 200
            goto 10
         9: .line 202
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 8 /* acceptFlags */
        10: .line 205
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 10 /* type */
        start local 10 // org.eclipse.jdt.core.IType type
        11: .line 206
            iload 4 /* isDeclaration */
            ifeq 14
        12: .line 207
            aload 0 /* this */
            aload 1 /* packageName */
            aload 2 /* typeName */
            iload 8 /* acceptFlags */
            iload 6 /* start */
            iload 7 /* end */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.resolveTypeByLocation:([C[CIII)Lorg/eclipse/jdt/core/IType;
            astore 10 /* type */
        13: .line 208
            goto 27
        14: .line 209
      StackMap locals: org.eclipse.jdt.core.IType
      StackMap stack:
            aload 0 /* this */
            aload 1 /* packageName */
            aload 2 /* typeName */
            iload 8 /* acceptFlags */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.resolveType:([C[CI)Lorg/eclipse/jdt/core/IType;
            astore 10 /* type */
        15: .line 210
            aload 10 /* type */
            ifnull 27
        16: .line 211
            aload 5 /* uniqueKey */
            ifnonnull 17
            aload 10 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getKey:()Ljava/lang/String;
            goto 18
      StackMap locals:
      StackMap stack:
        17: new java.lang.String
            dup
            aload 5 /* uniqueKey */
            invokespecial java.lang.String.<init>:([C)V
      StackMap locals:
      StackMap stack: java.lang.String
        18: astore 11 /* key */
        start local 11 // java.lang.String key
        19: .line 212
            aload 10 /* type */
            invokeinterface org.eclipse.jdt.core.IType.isBinary:()Z
            ifeq 24
        20: .line 213
            new org.eclipse.jdt.internal.core.ResolvedBinaryType
            dup
            aload 10 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 10 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            aload 11 /* key */
            invokespecial org.eclipse.jdt.internal.core.ResolvedBinaryType.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;)V
            astore 12 /* resolvedType */
        start local 12 // org.eclipse.jdt.internal.core.ResolvedBinaryType resolvedType
        21: .line 214
            aload 12 /* resolvedType */
            aload 10 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getOccurrenceCount:()I
            putfield org.eclipse.jdt.internal.core.ResolvedBinaryType.occurrenceCount:I
        22: .line 215
            aload 12 /* resolvedType */
            astore 10 /* type */
        end local 12 // org.eclipse.jdt.internal.core.ResolvedBinaryType resolvedType
        23: .line 216
            goto 27
        24: .line 217
      StackMap locals: java.lang.String
      StackMap stack:
            new org.eclipse.jdt.internal.core.ResolvedSourceType
            dup
            aload 10 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 10 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            aload 11 /* key */
            invokespecial org.eclipse.jdt.internal.core.ResolvedSourceType.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;)V
            astore 12 /* resolvedType */
        start local 12 // org.eclipse.jdt.internal.core.ResolvedSourceType resolvedType
        25: .line 218
            aload 12 /* resolvedType */
            aload 10 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getOccurrenceCount:()I
            putfield org.eclipse.jdt.internal.core.ResolvedSourceType.occurrenceCount:I
        26: .line 219
            aload 12 /* resolvedType */
            astore 10 /* type */
        end local 12 // org.eclipse.jdt.internal.core.ResolvedSourceType resolvedType
        end local 11 // java.lang.String key
        27: .line 224
      StackMap locals:
      StackMap stack:
            aload 10 /* type */
            ifnull 33
        28: .line 225
            aload 0 /* this */
            aload 10 /* type */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        29: .line 226
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 33
        30: .line 227
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept type("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        31: .line 228
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 10 /* type */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        32: .line 229
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        33: .line 232
      StackMap locals:
      StackMap stack:
            return
        end local 10 // org.eclipse.jdt.core.IType type
        end local 9 // int kind
        end local 8 // int acceptFlags
        end local 7 // int end
        end local 6 // int start
        end local 5 // char[] uniqueKey
        end local 4 // boolean isDeclaration
        end local 3 // int modifiers
        end local 2 // char[] typeName
        end local 1 // char[] packageName
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   34     0           this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   34     1    packageName  [C
            0   34     2       typeName  [C
            0   34     3      modifiers  I
            0   34     4  isDeclaration  Z
            0   34     5      uniqueKey  [C
            0   34     6          start  I
            0   34     7            end  I
            1   34     8    acceptFlags  I
            2   34     9           kind  I
           11   34    10           type  Lorg/eclipse/jdt/core/IType;
           19   27    11            key  Ljava/lang/String;
           21   23    12   resolvedType  Lorg/eclipse/jdt/internal/core/ResolvedBinaryType;
           25   27    12   resolvedType  Lorg/eclipse/jdt/internal/core/ResolvedSourceType;
    MethodParameters:
               Name  Flags
      packageName    
      typeName       
      modifiers      
      isDeclaration  
      uniqueKey      
      start          
      end            

  public void acceptType(org.eclipse.jdt.core.IType);
    descriptor: (Lorg/eclipse/jdt/core/IType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.core.IType type
         0: .line 237
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getKey:()Ljava/lang/String;
            astore 2 /* key */
        start local 2 // java.lang.String key
         1: .line 238
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.isBinary:()Z
            ifeq 6
         2: .line 239
            new org.eclipse.jdt.internal.core.ResolvedBinaryType
            dup
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            aload 2 /* key */
            invokespecial org.eclipse.jdt.internal.core.ResolvedBinaryType.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;)V
            astore 3 /* resolvedType */
        start local 3 // org.eclipse.jdt.internal.core.ResolvedBinaryType resolvedType
         3: .line 240
            aload 3 /* resolvedType */
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getOccurrenceCount:()I
            putfield org.eclipse.jdt.internal.core.ResolvedBinaryType.occurrenceCount:I
         4: .line 241
            aload 3 /* resolvedType */
            astore 1 /* type */
        end local 3 // org.eclipse.jdt.internal.core.ResolvedBinaryType resolvedType
         5: .line 242
            goto 9
         6: .line 243
      StackMap locals: java.lang.String
      StackMap stack:
            new org.eclipse.jdt.internal.core.ResolvedSourceType
            dup
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            aload 2 /* key */
            invokespecial org.eclipse.jdt.internal.core.ResolvedSourceType.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;)V
            astore 3 /* resolvedType */
        start local 3 // org.eclipse.jdt.internal.core.ResolvedSourceType resolvedType
         7: .line 244
            aload 3 /* resolvedType */
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getOccurrenceCount:()I
            putfield org.eclipse.jdt.internal.core.ResolvedSourceType.occurrenceCount:I
         8: .line 245
            aload 3 /* resolvedType */
            astore 1 /* type */
        end local 3 // org.eclipse.jdt.internal.core.ResolvedSourceType resolvedType
         9: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        10: .line 249
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 14
        11: .line 250
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept type("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        12: .line 251
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 1 /* type */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        13: .line 252
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        14: .line 254
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String key
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   15     1          type  Lorg/eclipse/jdt/core/IType;
            1   15     2           key  Ljava/lang/String;
            3    5     3  resolvedType  Lorg/eclipse/jdt/internal/core/ResolvedBinaryType;
            7    9     3  resolvedType  Lorg/eclipse/jdt/internal/core/ResolvedSourceType;
    MethodParameters:
      Name  Flags
      type  

  public void acceptError(org.eclipse.jdt.core.compiler.CategorizedProblem);
    descriptor: (Lorg/eclipse/jdt/core/compiler/CategorizedProblem;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.core.compiler.CategorizedProblem error
         0: .line 261
            return
        end local 1 // org.eclipse.jdt.core.compiler.CategorizedProblem error
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0    1     1  error  Lorg/eclipse/jdt/core/compiler/CategorizedProblem;
    MethodParameters:
       Name  Flags
      error  

  public void acceptField(char[], char[], char[], boolean, char[], int, int);
    descriptor: ([C[C[CZ[CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=13, args_size=8
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // char[] declaringTypePackageName
        start local 2 // char[] declaringTypeName
        start local 3 // char[] name
        start local 4 // boolean isDeclaration
        start local 5 // char[] uniqueKey
        start local 6 // int start
        start local 7 // int end
         0: .line 267
            iload 4 /* isDeclaration */
            ifeq 25
         1: .line 268
            aload 0 /* this */
            aload 1 /* declaringTypePackageName */
            aload 2 /* declaringTypeName */
         2: .line 269
            bipush 30
         3: .line 270
            iload 6 /* start */
            iload 7 /* end */
         4: .line 268
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.resolveTypeByLocation:([C[CIII)Lorg/eclipse/jdt/core/IType;
            astore 8 /* type */
        start local 8 // org.eclipse.jdt.core.IType type
         5: .line 271
            aload 8 /* type */
            ifnull 51
         6: .line 273
            aload 8 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getFields:()[Lorg/eclipse/jdt/core/IField;
            astore 9 /* fields */
        start local 9 // org.eclipse.jdt.core.IField[] fields
         7: .line 274
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         8: goto 21
         9: .line 275
      StackMap locals: org.eclipse.jdt.core.IType org.eclipse.jdt.core.IField[] int
      StackMap stack:
            aload 9 /* fields */
            iload 10 /* i */
            aaload
            astore 11 /* field */
        start local 11 // org.eclipse.jdt.core.IField field
        10: .line 276
            aload 11 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getNameRange:()Lorg/eclipse/jdt/core/ISourceRange;
            astore 12 /* range */
        start local 12 // org.eclipse.jdt.core.ISourceRange range
        11: .line 277
            aload 12 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            iload 6 /* start */
            if_icmpgt 20
        12: .line 278
            aload 12 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            aload 12 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getLength:()I
            iadd
            iload 7 /* end */
            if_icmplt 20
        13: .line 279
            aload 11 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getElementName:()Ljava/lang/String;
            new java.lang.String
            dup
            aload 3 /* name */
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        14: .line 280
            aload 0 /* this */
            aload 9 /* fields */
            iload 10 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        15: .line 281
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 19
        16: .line 282
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept field("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        17: .line 283
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 11 /* field */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        18: .line 284
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        19: .line 286
      StackMap locals: org.eclipse.jdt.core.IField org.eclipse.jdt.core.ISourceRange
      StackMap stack:
            return
        end local 12 // org.eclipse.jdt.core.ISourceRange range
        end local 11 // org.eclipse.jdt.core.IField field
        20: .line 274
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 10 /* i */
            aload 9 /* fields */
            arraylength
            if_icmplt 9
        end local 10 // int i
        end local 9 // org.eclipse.jdt.core.IField[] fields
        22: .line 289
            goto 51
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor char[] char[] char[] int char[] int int org.eclipse.jdt.core.IType
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        23: pop
        24: .line 290
            return
        end local 8 // org.eclipse.jdt.core.IType type
        25: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* declaringTypePackageName */
            aload 2 /* declaringTypeName */
            bipush 30
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.resolveType:([C[CI)Lorg/eclipse/jdt/core/IType;
            astore 8 /* type */
        start local 8 // org.eclipse.jdt.core.IType type
        26: .line 295
            aload 8 /* type */
            ifnull 51
        27: .line 296
            aload 8 /* type */
            new java.lang.String
            dup
            aload 3 /* name */
            invokespecial java.lang.String.<init>:([C)V
            invokeinterface org.eclipse.jdt.core.IType.getField:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IField;
            astore 9 /* field */
        start local 9 // org.eclipse.jdt.core.IField field
        28: .line 297
            aload 9 /* field */
            invokeinterface org.eclipse.jdt.core.IField.exists:()Z
            ifeq 51
        29: .line 298
            aload 5 /* uniqueKey */
            ifnull 46
        30: .line 299
            aload 9 /* field */
            invokeinterface org.eclipse.jdt.core.IField.isBinary:()Z
            ifeq 39
        31: .line 300
            new org.eclipse.jdt.internal.core.ResolvedBinaryField
            dup
        32: .line 301
            aload 9 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
        33: .line 302
            aload 9 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getElementName:()Ljava/lang/String;
        34: .line 303
            new java.lang.String
            dup
            aload 5 /* uniqueKey */
            invokespecial java.lang.String.<init>:([C)V
        35: .line 300
            invokespecial org.eclipse.jdt.internal.core.ResolvedBinaryField.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;)V
            astore 10 /* resolvedField */
        start local 10 // org.eclipse.jdt.internal.core.ResolvedBinaryField resolvedField
        36: .line 304
            aload 10 /* resolvedField */
            aload 9 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getOccurrenceCount:()I
            putfield org.eclipse.jdt.internal.core.ResolvedBinaryField.occurrenceCount:I
        37: .line 305
            aload 10 /* resolvedField */
            astore 9 /* field */
        end local 10 // org.eclipse.jdt.internal.core.ResolvedBinaryField resolvedField
        38: .line 306
            goto 46
        39: .line 307
      StackMap locals: org.eclipse.jdt.core.IType org.eclipse.jdt.core.IField
      StackMap stack:
            new org.eclipse.jdt.internal.core.ResolvedSourceField
            dup
        40: .line 308
            aload 9 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
        41: .line 309
            aload 9 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getElementName:()Ljava/lang/String;
        42: .line 310
            new java.lang.String
            dup
            aload 5 /* uniqueKey */
            invokespecial java.lang.String.<init>:([C)V
        43: .line 307
            invokespecial org.eclipse.jdt.internal.core.ResolvedSourceField.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;)V
            astore 10 /* resolvedField */
        start local 10 // org.eclipse.jdt.internal.core.ResolvedSourceField resolvedField
        44: .line 311
            aload 10 /* resolvedField */
            aload 9 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getOccurrenceCount:()I
            putfield org.eclipse.jdt.internal.core.ResolvedSourceField.occurrenceCount:I
        45: .line 312
            aload 10 /* resolvedField */
            astore 9 /* field */
        end local 10 // org.eclipse.jdt.internal.core.ResolvedSourceField resolvedField
        46: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* field */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        47: .line 316
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 51
        48: .line 317
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept field("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        49: .line 318
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 9 /* field */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        50: .line 319
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 9 // org.eclipse.jdt.core.IField field
        end local 8 // org.eclipse.jdt.core.IType type
        51: .line 324
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int end
        end local 6 // int start
        end local 5 // char[] uniqueKey
        end local 4 // boolean isDeclaration
        end local 3 // char[] name
        end local 2 // char[] declaringTypeName
        end local 1 // char[] declaringTypePackageName
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   52     0                      this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   52     1  declaringTypePackageName  [C
            0   52     2         declaringTypeName  [C
            0   52     3                      name  [C
            0   52     4             isDeclaration  Z
            0   52     5                 uniqueKey  [C
            0   52     6                     start  I
            0   52     7                       end  I
            5   25     8                      type  Lorg/eclipse/jdt/core/IType;
            7   22     9                    fields  [Lorg/eclipse/jdt/core/IField;
            8   22    10                         i  I
           10   20    11                     field  Lorg/eclipse/jdt/core/IField;
           11   20    12                     range  Lorg/eclipse/jdt/core/ISourceRange;
           26   51     8                      type  Lorg/eclipse/jdt/core/IType;
           28   51     9                     field  Lorg/eclipse/jdt/core/IField;
           36   38    10             resolvedField  Lorg/eclipse/jdt/internal/core/ResolvedBinaryField;
           44   46    10             resolvedField  Lorg/eclipse/jdt/internal/core/ResolvedSourceField;
      Exception table:
        from    to  target  type
           6    19      23  Class org.eclipse.jdt.core.JavaModelException
          20    22      23  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                          Name  Flags
      declaringTypePackageName  
      declaringTypeName         
      name                      
      isDeclaration             
      uniqueKey                 
      start                     
      end                       

  public void acceptLocalField(org.eclipse.jdt.internal.compiler.lookup.FieldBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding fieldBinding
         0: .line 327
            aload 1 /* fieldBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            ifeq 4
         1: .line 328
            aload 1 /* fieldBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.genericType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding
            astore 3 /* localTypeBinding */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding localTypeBinding
         2: .line 329
            aload 0 /* this */
            aload 3 /* localTypeBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding.sourceStart:()I
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.findLocalElement:(I)Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* res */
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding localTypeBinding
        start local 2 // org.eclipse.jdt.core.IJavaElement res
         3: .line 330
            goto 6
        end local 2 // org.eclipse.jdt.core.IJavaElement res
         4: .line 331
      StackMap locals:
      StackMap stack:
            aload 1 /* fieldBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding
            astore 3 /* typeBinding */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding typeBinding
         5: .line 332
            aload 0 /* this */
            aload 3 /* typeBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.sourceStart:()I
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.findLocalElement:(I)Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* res */
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding typeBinding
        start local 2 // org.eclipse.jdt.core.IJavaElement res
         6: .line 334
      StackMap locals: org.eclipse.jdt.core.IJavaElement
      StackMap stack:
            aload 2 /* res */
            ifnull 32
            aload 2 /* res */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            bipush 7
            if_icmpne 32
         7: .line 335
            aload 2 /* res */
            checkcast org.eclipse.jdt.core.IType
            astore 3 /* type */
        start local 3 // org.eclipse.jdt.core.IType type
         8: .line 336
            aload 3 /* type */
            new java.lang.String
            dup
            aload 1 /* fieldBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.name:[C
            invokespecial java.lang.String.<init>:([C)V
            invokeinterface org.eclipse.jdt.core.IType.getField:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IField;
            astore 4 /* field */
        start local 4 // org.eclipse.jdt.core.IField field
         9: .line 337
            aload 4 /* field */
            invokeinterface org.eclipse.jdt.core.IField.exists:()Z
            ifeq 32
        10: .line 338
            aload 1 /* fieldBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.FieldBinding.computeUniqueKey:()[C
            astore 5 /* uniqueKey */
        start local 5 // char[] uniqueKey
        11: .line 339
            aload 4 /* field */
            invokeinterface org.eclipse.jdt.core.IField.isBinary:()Z
            ifeq 20
        12: .line 340
            new org.eclipse.jdt.internal.core.ResolvedBinaryField
            dup
        13: .line 341
            aload 4 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
        14: .line 342
            aload 4 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getElementName:()Ljava/lang/String;
        15: .line 343
            new java.lang.String
            dup
            aload 5 /* uniqueKey */
            invokespecial java.lang.String.<init>:([C)V
        16: .line 340
            invokespecial org.eclipse.jdt.internal.core.ResolvedBinaryField.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;)V
            astore 6 /* resolvedField */
        start local 6 // org.eclipse.jdt.internal.core.ResolvedBinaryField resolvedField
        17: .line 344
            aload 6 /* resolvedField */
            aload 4 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getOccurrenceCount:()I
            putfield org.eclipse.jdt.internal.core.ResolvedBinaryField.occurrenceCount:I
        18: .line 345
            aload 6 /* resolvedField */
            astore 4 /* field */
        end local 6 // org.eclipse.jdt.internal.core.ResolvedBinaryField resolvedField
        19: .line 346
            goto 27
        20: .line 347
      StackMap locals: org.eclipse.jdt.core.IType org.eclipse.jdt.core.IField char[]
      StackMap stack:
            new org.eclipse.jdt.internal.core.ResolvedSourceField
            dup
        21: .line 348
            aload 4 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
        22: .line 349
            aload 4 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getElementName:()Ljava/lang/String;
        23: .line 350
            new java.lang.String
            dup
            aload 5 /* uniqueKey */
            invokespecial java.lang.String.<init>:([C)V
        24: .line 347
            invokespecial org.eclipse.jdt.internal.core.ResolvedSourceField.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;)V
            astore 6 /* resolvedField */
        start local 6 // org.eclipse.jdt.internal.core.ResolvedSourceField resolvedField
        25: .line 351
            aload 6 /* resolvedField */
            aload 4 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getOccurrenceCount:()I
            putfield org.eclipse.jdt.internal.core.ResolvedSourceField.occurrenceCount:I
        26: .line 352
            aload 6 /* resolvedField */
            astore 4 /* field */
        end local 6 // org.eclipse.jdt.internal.core.ResolvedSourceField resolvedField
        27: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* field */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        28: .line 355
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 32
        29: .line 356
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept field("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        30: .line 357
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 4 /* field */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        31: .line 358
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 5 // char[] uniqueKey
        end local 4 // org.eclipse.jdt.core.IField field
        end local 3 // org.eclipse.jdt.core.IType type
        32: .line 362
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.core.IJavaElement res
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding fieldBinding
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   33     0              this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   33     1      fieldBinding  Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
            3    4     2               res  Lorg/eclipse/jdt/core/IJavaElement;
            6   33     2               res  Lorg/eclipse/jdt/core/IJavaElement;
            2    3     3  localTypeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/LocalTypeBinding;
            5    6     3       typeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
            8   32     3              type  Lorg/eclipse/jdt/core/IType;
            9   32     4             field  Lorg/eclipse/jdt/core/IField;
           11   32     5         uniqueKey  [C
           17   19     6     resolvedField  Lorg/eclipse/jdt/internal/core/ResolvedBinaryField;
           25   27     6     resolvedField  Lorg/eclipse/jdt/internal/core/ResolvedSourceField;
    MethodParameters:
              Name  Flags
      fieldBinding  

  public void acceptLocalMethod(org.eclipse.jdt.internal.compiler.lookup.MethodBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding methodBinding
         0: .line 364
            aload 0 /* this */
            aload 1 /* methodBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.sourceStart:()I
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.findLocalElement:(I)Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* res */
        start local 2 // org.eclipse.jdt.core.IJavaElement res
         1: .line 365
            aload 2 /* res */
            ifnull 36
         2: .line 366
            aload 2 /* res */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            bipush 9
            if_icmpne 29
         3: .line 367
            aload 2 /* res */
            checkcast org.eclipse.jdt.core.IMethod
            astore 3 /* method */
        start local 3 // org.eclipse.jdt.core.IMethod method
         4: .line 369
            aload 1 /* methodBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.computeUniqueKey:()[C
            astore 4 /* uniqueKey */
        start local 4 // char[] uniqueKey
         5: .line 370
            aload 3 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.isBinary:()Z
            ifeq 15
         6: .line 371
            new org.eclipse.jdt.internal.core.ResolvedBinaryMethod
            dup
         7: .line 372
            aload 2 /* res */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
         8: .line 373
            aload 3 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getElementName:()Ljava/lang/String;
         9: .line 374
            aload 3 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getParameterTypes:()[Ljava/lang/String;
        10: .line 375
            new java.lang.String
            dup
            aload 4 /* uniqueKey */
            invokespecial java.lang.String.<init>:([C)V
        11: .line 371
            invokespecial org.eclipse.jdt.internal.core.ResolvedBinaryMethod.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* resolvedRes */
        start local 5 // org.eclipse.jdt.internal.core.ResolvedBinaryMethod resolvedRes
        12: .line 376
            aload 5 /* resolvedRes */
            aload 3 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getOccurrenceCount:()I
            putfield org.eclipse.jdt.internal.core.ResolvedBinaryMethod.occurrenceCount:I
        13: .line 377
            aload 5 /* resolvedRes */
            astore 2 /* res */
        end local 5 // org.eclipse.jdt.internal.core.ResolvedBinaryMethod resolvedRes
        14: .line 378
            goto 23
        15: .line 379
      StackMap locals: org.eclipse.jdt.core.IJavaElement org.eclipse.jdt.core.IMethod char[]
      StackMap stack:
            new org.eclipse.jdt.internal.core.ResolvedSourceMethod
            dup
        16: .line 380
            aload 2 /* res */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
        17: .line 381
            aload 3 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getElementName:()Ljava/lang/String;
        18: .line 382
            aload 3 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getParameterTypes:()[Ljava/lang/String;
        19: .line 383
            new java.lang.String
            dup
            aload 4 /* uniqueKey */
            invokespecial java.lang.String.<init>:([C)V
        20: .line 379
            invokespecial org.eclipse.jdt.internal.core.ResolvedSourceMethod.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* resolvedRes */
        start local 5 // org.eclipse.jdt.internal.core.ResolvedSourceMethod resolvedRes
        21: .line 384
            aload 5 /* resolvedRes */
            aload 3 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getOccurrenceCount:()I
            putfield org.eclipse.jdt.internal.core.ResolvedSourceMethod.occurrenceCount:I
        22: .line 385
            aload 5 /* resolvedRes */
            astore 2 /* res */
        end local 5 // org.eclipse.jdt.internal.core.ResolvedSourceMethod resolvedRes
        23: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* res */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        24: .line 388
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 36
        25: .line 389
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept method("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        26: .line 390
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 2 /* res */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        27: .line 391
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // char[] uniqueKey
        end local 3 // org.eclipse.jdt.core.IMethod method
        28: .line 393
            goto 36
      StackMap locals:
      StackMap stack:
        29: aload 1 /* methodBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.selector:[C
            getstatic org.eclipse.jdt.internal.compiler.lookup.TypeConstants.INIT:[C
            if_acmpne 36
            aload 2 /* res */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            bipush 7
            if_icmpne 36
        30: .line 395
            aload 2 /* res */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 1 /* methodBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.resolved:(Lorg/eclipse/jdt/internal/compiler/lookup/Binding;)Lorg/eclipse/jdt/internal/core/JavaElement;
            astore 2 /* res */
        31: .line 396
            aload 0 /* this */
            aload 2 /* res */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        32: .line 397
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 36
        33: .line 398
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept type("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        34: .line 399
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 2 /* res */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        35: .line 400
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        36: .line 404
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.core.IJavaElement res
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding methodBinding
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   37     0           this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   37     1  methodBinding  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            1   37     2            res  Lorg/eclipse/jdt/core/IJavaElement;
            4   28     3         method  Lorg/eclipse/jdt/core/IMethod;
            5   28     4      uniqueKey  [C
           12   14     5    resolvedRes  Lorg/eclipse/jdt/internal/core/ResolvedBinaryMethod;
           21   23     5    resolvedRes  Lorg/eclipse/jdt/internal/core/ResolvedSourceMethod;
    MethodParameters:
               Name  Flags
      methodBinding  

  public void acceptLocalType(org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding typeBinding
         0: .line 406
            aconst_null
            astore 2 /* res */
        start local 2 // org.eclipse.jdt.core.IJavaElement res
         1: .line 407
            aload 1 /* typeBinding */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            ifeq 5
         2: .line 408
            aload 1 /* typeBinding */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.genericType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding
            astore 3 /* localTypeBinding */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding localTypeBinding
         3: .line 409
            aload 0 /* this */
            aload 3 /* localTypeBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding.sourceStart:()I
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.findLocalElement:(I)Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* res */
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding localTypeBinding
         4: .line 410
            goto 7
      StackMap locals: org.eclipse.jdt.core.IJavaElement
      StackMap stack:
         5: aload 1 /* typeBinding */
            instanceof org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding
            ifeq 7
         6: .line 411
            aload 0 /* this */
            aload 1 /* typeBinding */
            checkcast org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.sourceStart:()I
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.findLocalElement:(I)Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* res */
         7: .line 413
      StackMap locals:
      StackMap stack:
            aload 2 /* res */
            ifnull 14
            aload 2 /* res */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            bipush 7
            if_icmpne 14
         8: .line 414
            aload 2 /* res */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 1 /* typeBinding */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.resolved:(Lorg/eclipse/jdt/internal/compiler/lookup/Binding;)Lorg/eclipse/jdt/internal/core/JavaElement;
            astore 2 /* res */
         9: .line 415
            aload 0 /* this */
            aload 2 /* res */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        10: .line 416
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 14
        11: .line 417
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept type("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        12: .line 418
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 2 /* res */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        13: .line 419
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        14: .line 422
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.core.IJavaElement res
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding typeBinding
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   15     1       typeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            1   15     2               res  Lorg/eclipse/jdt/core/IJavaElement;
            3    4     3  localTypeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/LocalTypeBinding;
    MethodParameters:
             Name  Flags
      typeBinding  

  public void acceptLocalTypeParameter(org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding typeVariableBinding
         0: .line 425
            aload 1 /* typeVariableBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            ifeq 4
         1: .line 426
            aload 1 /* typeVariableBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.genericType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding
            astore 3 /* localTypeBinding */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding localTypeBinding
         2: .line 427
            aload 0 /* this */
            aload 3 /* localTypeBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding.sourceStart:()I
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.findLocalElement:(I)Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* res */
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding localTypeBinding
        start local 2 // org.eclipse.jdt.core.IJavaElement res
         3: .line 428
            goto 6
        end local 2 // org.eclipse.jdt.core.IJavaElement res
         4: .line 429
      StackMap locals:
      StackMap stack:
            aload 1 /* typeVariableBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding
            astore 3 /* typeBinding */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding typeBinding
         5: .line 430
            aload 0 /* this */
            aload 3 /* typeBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.sourceStart:()I
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.findLocalElement:(I)Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* res */
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding typeBinding
        start local 2 // org.eclipse.jdt.core.IJavaElement res
         6: .line 432
      StackMap locals: org.eclipse.jdt.core.IJavaElement
      StackMap stack:
            aload 2 /* res */
            ifnull 15
            aload 2 /* res */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            bipush 7
            if_icmpne 15
         7: .line 433
            aload 2 /* res */
            checkcast org.eclipse.jdt.core.IType
            astore 3 /* type */
        start local 3 // org.eclipse.jdt.core.IType type
         8: .line 434
            aload 3 /* type */
            new java.lang.String
            dup
            aload 1 /* typeVariableBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.sourceName:[C
            invokespecial java.lang.String.<init>:([C)V
            invokeinterface org.eclipse.jdt.core.IType.getTypeParameter:(Ljava/lang/String;)Lorg/eclipse/jdt/core/ITypeParameter;
            astore 4 /* typeParameter */
        start local 4 // org.eclipse.jdt.core.ITypeParameter typeParameter
         9: .line 435
            aload 4 /* typeParameter */
            invokeinterface org.eclipse.jdt.core.ITypeParameter.exists:()Z
            ifeq 15
        10: .line 436
            aload 0 /* this */
            aload 4 /* typeParameter */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        11: .line 437
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 15
        12: .line 438
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept type parameter("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        13: .line 439
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 4 /* typeParameter */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        14: .line 440
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // org.eclipse.jdt.core.ITypeParameter typeParameter
        end local 3 // org.eclipse.jdt.core.IType type
        15: .line 444
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.core.IJavaElement res
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding typeVariableBinding
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   16     0                 this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   16     1  typeVariableBinding  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            3    4     2                  res  Lorg/eclipse/jdt/core/IJavaElement;
            6   16     2                  res  Lorg/eclipse/jdt/core/IJavaElement;
            2    3     3     localTypeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/LocalTypeBinding;
            5    6     3          typeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding;
            8   15     3                 type  Lorg/eclipse/jdt/core/IType;
            9   15     4        typeParameter  Lorg/eclipse/jdt/core/ITypeParameter;
    MethodParameters:
                     Name  Flags
      typeVariableBinding  

  public void acceptLocalMethodTypeParameter(org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding typeVariableBinding
         0: .line 446
            aload 1 /* typeVariableBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.MethodBinding
            astore 2 /* methodBinding */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding methodBinding
         1: .line 447
            aload 0 /* this */
            aload 2 /* methodBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.sourceStart:()I
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.findLocalElement:(I)Lorg/eclipse/jdt/core/IJavaElement;
            astore 3 /* res */
        start local 3 // org.eclipse.jdt.core.IJavaElement res
         2: .line 448
            aload 3 /* res */
            ifnull 11
            aload 3 /* res */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            bipush 9
            if_icmpne 11
         3: .line 449
            aload 3 /* res */
            checkcast org.eclipse.jdt.core.IMethod
            astore 4 /* method */
        start local 4 // org.eclipse.jdt.core.IMethod method
         4: .line 451
            aload 4 /* method */
            new java.lang.String
            dup
            aload 1 /* typeVariableBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.sourceName:[C
            invokespecial java.lang.String.<init>:([C)V
            invokeinterface org.eclipse.jdt.core.IMethod.getTypeParameter:(Ljava/lang/String;)Lorg/eclipse/jdt/core/ITypeParameter;
            astore 5 /* typeParameter */
        start local 5 // org.eclipse.jdt.core.ITypeParameter typeParameter
         5: .line 452
            aload 5 /* typeParameter */
            invokeinterface org.eclipse.jdt.core.ITypeParameter.exists:()Z
            ifeq 11
         6: .line 453
            aload 0 /* this */
            aload 5 /* typeParameter */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
         7: .line 454
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 11
         8: .line 455
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept type parameter("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         9: .line 456
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 5 /* typeParameter */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        10: .line 457
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 5 // org.eclipse.jdt.core.ITypeParameter typeParameter
        end local 4 // org.eclipse.jdt.core.IMethod method
        11: .line 461
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.core.IJavaElement
      StackMap stack:
            return
        end local 3 // org.eclipse.jdt.core.IJavaElement res
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding methodBinding
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding typeVariableBinding
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   12     0                 this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   12     1  typeVariableBinding  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            1   12     2        methodBinding  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            2   12     3                  res  Lorg/eclipse/jdt/core/IJavaElement;
            4   11     4               method  Lorg/eclipse/jdt/core/IMethod;
            5   11     5        typeParameter  Lorg/eclipse/jdt/core/ITypeParameter;
    MethodParameters:
                     Name  Flags
      typeVariableBinding  

  public void acceptLocalVariable(org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding, org.eclipse.jdt.internal.compiler.env.ICompilationUnit);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding binding
        start local 2 // org.eclipse.jdt.internal.compiler.env.ICompilationUnit unit
         0: .line 463
            aload 1 /* binding */
            getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.declaration:Lorg/eclipse/jdt/internal/compiler/ast/LocalDeclaration;
            astore 3 /* local */
        start local 3 // org.eclipse.jdt.internal.compiler.ast.LocalDeclaration local
         1: .line 464
            aconst_null
            astore 4 /* parent */
        start local 4 // org.eclipse.jdt.core.IJavaElement parent
         2: .line 465
            aload 1 /* binding */
            getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.declaringScope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.isLambdaSubscope:()Z
            ifeq 7
            aload 2 /* unit */
            instanceof org.eclipse.jdt.core.ICompilationUnit
            ifeq 7
         3: .line 466
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* existingElements */
        start local 5 // java.util.HashSet existingElements
         4: .line 467
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 6 /* knownScopes */
        start local 6 // java.util.HashMap knownScopes
         5: .line 468
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.handleFactory:Lorg/eclipse/jdt/internal/core/util/HandleFactory;
            aload 1 /* binding */
            getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.declaringScope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            aload 3 /* local */
            getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.sourceStart:I
            aload 2 /* unit */
            checkcast org.eclipse.jdt.core.ICompilationUnit
            aload 5 /* existingElements */
            aload 6 /* knownScopes */
            invokevirtual org.eclipse.jdt.internal.core.util.HandleFactory.createElement:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;ILorg/eclipse/jdt/core/ICompilationUnit;Ljava/util/HashSet;Ljava/util/HashMap;)Lorg/eclipse/jdt/core/IJavaElement;
            astore 4 /* parent */
        end local 6 // java.util.HashMap knownScopes
        end local 5 // java.util.HashSet existingElements
         6: .line 469
            goto 8
         7: .line 470
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.LocalDeclaration org.eclipse.jdt.core.IJavaElement
      StackMap stack:
            aload 0 /* this */
            aload 3 /* local */
            getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.sourceStart:I
            aload 1 /* binding */
            getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.declaringScope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BlockScope.methodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.findLocalElement:(ILorg/eclipse/jdt/internal/compiler/lookup/MethodScope;)Lorg/eclipse/jdt/core/IJavaElement;
            astore 4 /* parent */
         8: .line 472
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* localVar */
        start local 5 // org.eclipse.jdt.internal.core.LocalVariable localVar
         9: .line 473
            aload 4 /* parent */
            ifnull 31
        10: .line 474
            aconst_null
            astore 6 /* typeSig */
        start local 6 // java.lang.String typeSig
        11: .line 475
            aload 3 /* local */
            getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            ifnull 12
            aload 3 /* local */
            getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            aload 1 /* binding */
            getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.declaringScope:Lorg/eclipse/jdt/internal/compiler/lookup/BlockScope;
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.isTypeNameVar:(Lorg/eclipse/jdt/internal/compiler/lookup/Scope;)Z
            ifeq 17
        12: .line 476
      StackMap locals: org.eclipse.jdt.internal.core.LocalVariable java.lang.String
      StackMap stack:
            aload 3 /* local */
            getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.initialization:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            instanceof org.eclipse.jdt.internal.compiler.ast.CastExpression
            ifeq 15
        13: .line 477
            aload 3 /* local */
            getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.initialization:Lorg/eclipse/jdt/internal/compiler/ast/Expression;
            checkcast org.eclipse.jdt.internal.compiler.ast.CastExpression
            getfield org.eclipse.jdt.internal.compiler.ast.CastExpression.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            invokestatic org.eclipse.jdt.internal.core.util.Util.typeSignature:(Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;)Ljava/lang/String;
            astore 6 /* typeSig */
        14: .line 478
            goto 18
        15: .line 479
      StackMap locals:
      StackMap stack:
            aload 1 /* binding */
            getfield org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding.type:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.signableName:()[C
            iconst_1
            invokestatic org.eclipse.jdt.core.Signature.createTypeSignature:([CZ)Ljava/lang/String;
            astore 6 /* typeSig */
        16: .line 481
            goto 18
        17: .line 482
      StackMap locals:
      StackMap stack:
            aload 3 /* local */
            getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            invokestatic org.eclipse.jdt.internal.core.util.Util.typeSignature:(Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;)Ljava/lang/String;
            astore 6 /* typeSig */
        18: .line 484
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.LocalVariable
            dup
        19: .line 485
            aload 4 /* parent */
            checkcast org.eclipse.jdt.internal.core.JavaElement
        20: .line 486
            new java.lang.String
            dup
            aload 3 /* local */
            getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.name:[C
            invokespecial java.lang.String.<init>:([C)V
        21: .line 487
            aload 3 /* local */
            getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.declarationSourceStart:I
        22: .line 488
            aload 3 /* local */
            getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.declarationSourceEnd:I
        23: .line 489
            aload 3 /* local */
            getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.sourceStart:I
        24: .line 490
            aload 3 /* local */
            getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.sourceEnd:I
        25: .line 491
            aload 6 /* typeSig */
        26: .line 492
            aload 3 /* local */
            getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.annotations:[Lorg/eclipse/jdt/internal/compiler/ast/Annotation;
        27: .line 493
            aload 3 /* local */
            getfield org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.modifiers:I
        28: .line 494
            aload 3 /* local */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.LocalDeclaration.getKind:()I
            iconst_5
            if_icmpne 29
            iconst_1
            goto 30
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding org.eclipse.jdt.internal.compiler.env.ICompilationUnit org.eclipse.jdt.internal.compiler.ast.LocalDeclaration org.eclipse.jdt.core.IJavaElement org.eclipse.jdt.internal.core.LocalVariable java.lang.String
      StackMap stack: new 18 new 18 org.eclipse.jdt.internal.core.JavaElement java.lang.String int int int int java.lang.String org.eclipse.jdt.internal.compiler.ast.Annotation[] int
        29: iconst_0
        30: .line 484
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding org.eclipse.jdt.internal.compiler.env.ICompilationUnit org.eclipse.jdt.internal.compiler.ast.LocalDeclaration org.eclipse.jdt.core.IJavaElement org.eclipse.jdt.internal.core.LocalVariable java.lang.String
      StackMap stack: new 18 new 18 org.eclipse.jdt.internal.core.JavaElement java.lang.String int int int int java.lang.String org.eclipse.jdt.internal.compiler.ast.Annotation[] int int
            invokespecial org.eclipse.jdt.internal.core.LocalVariable.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;IIIILjava/lang/String;[Lorg/eclipse/jdt/internal/compiler/ast/Annotation;IZ)V
            astore 5 /* localVar */
        end local 6 // java.lang.String typeSig
        31: .line 496
      StackMap locals:
      StackMap stack:
            aload 5 /* localVar */
            ifnull 37
        32: .line 497
            aload 0 /* this */
            aload 5 /* localVar */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        33: .line 498
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 37
        34: .line 499
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept local variable("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        35: .line 500
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 5 /* localVar */
            invokevirtual org.eclipse.jdt.internal.core.LocalVariable.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        36: .line 501
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        37: .line 504
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.eclipse.jdt.internal.core.LocalVariable localVar
        end local 4 // org.eclipse.jdt.core.IJavaElement parent
        end local 3 // org.eclipse.jdt.internal.compiler.ast.LocalDeclaration local
        end local 2 // org.eclipse.jdt.internal.compiler.env.ICompilationUnit unit
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.LocalVariableBinding binding
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   38     0              this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   38     1           binding  Lorg/eclipse/jdt/internal/compiler/lookup/LocalVariableBinding;
            0   38     2              unit  Lorg/eclipse/jdt/internal/compiler/env/ICompilationUnit;
            1   38     3             local  Lorg/eclipse/jdt/internal/compiler/ast/LocalDeclaration;
            2   38     4            parent  Lorg/eclipse/jdt/core/IJavaElement;
            4    6     5  existingElements  Ljava/util/HashSet;
            5    6     6       knownScopes  Ljava/util/HashMap;
            9   38     5          localVar  Lorg/eclipse/jdt/internal/core/LocalVariable;
           11   31     6           typeSig  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      binding  
      unit     

  public void acceptMethod(char[], char[], java.lang.String, char[], char[][], char[][], java.lang.String[], char[][], char[][][], boolean, boolean, char[], int, int);
    descriptor: ([C[CLjava/lang/String;[C[[C[[C[Ljava/lang/String;[[C[[[CZZ[CII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=21, args_size=15
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // char[] declaringTypePackageName
        start local 2 // char[] declaringTypeName
        start local 3 // java.lang.String enclosingDeclaringTypeSignature
        start local 4 // char[] selector
        start local 5 // char[][] parameterPackageNames
        start local 6 // char[][] parameterTypeNames
        start local 7 // java.lang.String[] parameterSignatures
        start local 8 // char[][] typeParameterNames
        start local 9 // char[][][] typeParameterBoundNames
        start local 10 // boolean isConstructor
        start local 11 // boolean isDeclaration
        start local 12 // char[] uniqueKey
        start local 13 // int start
        start local 14 // int end
         0: .line 524
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            astore 15 /* previousElement */
        start local 15 // org.eclipse.jdt.core.IJavaElement[] previousElement
         1: .line 525
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
            istore 16 /* previousElementIndex */
        start local 16 // int previousElementIndex
         2: .line 526
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.JavaElement.NO_ELEMENTS:[Lorg/eclipse/jdt/internal/core/JavaElement;
            putfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
         3: .line 527
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
         4: .line 529
            iload 11 /* isDeclaration */
            ifeq 12
         5: .line 530
            aload 0 /* this */
            aload 1 /* declaringTypePackageName */
            aload 2 /* declaringTypeName */
         6: .line 531
            bipush 30
         7: .line 532
            iload 13 /* start */
            iload 14 /* end */
         8: .line 530
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.resolveTypeByLocation:([C[CIII)Lorg/eclipse/jdt/core/IType;
            astore 17 /* type */
        start local 17 // org.eclipse.jdt.core.IType type
         9: .line 534
            aload 17 /* type */
            ifnull 33
        10: .line 535
            aload 0 /* this */
            aload 17 /* type */
            aload 4 /* selector */
            iload 13 /* start */
            iload 14 /* end */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.acceptMethodDeclaration:(Lorg/eclipse/jdt/core/IType;[CII)V
        end local 17 // org.eclipse.jdt.core.IType type
        11: .line 537
            goto 33
        12: .line 538
      StackMap locals: org.eclipse.jdt.core.IJavaElement[] int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* declaringTypePackageName */
            aload 2 /* declaringTypeName */
        13: .line 539
            bipush 30
        14: .line 538
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.resolveType:([C[CI)Lorg/eclipse/jdt/core/IType;
            astore 17 /* type */
        start local 17 // org.eclipse.jdt.core.IType type
        15: .line 541
            aload 17 /* type */
            ifnull 33
        16: .line 542
            aload 17 /* type */
            invokeinterface org.eclipse.jdt.core.IType.isBinary:()Z
            ifeq 32
        17: .line 545
            aload 17 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            astore 18 /* declaringDeclaringType */
        start local 18 // org.eclipse.jdt.core.IType declaringDeclaringType
        18: .line 547
            iconst_0
            istore 19 /* isStatic */
        start local 19 // boolean isStatic
        19: .line 549
            aload 17 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getFlags:()I
            invokestatic org.eclipse.jdt.core.Flags.isStatic:(I)Z
            istore 19 /* isStatic */
        20: .line 550
            goto 22
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor char[] char[] java.lang.String char[] char[][] char[][] java.lang.String[] char[][] char[][][] int int char[] int int org.eclipse.jdt.core.IJavaElement[] int org.eclipse.jdt.core.IType org.eclipse.jdt.core.IType int
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        21: pop
        22: .line 554
      StackMap locals:
      StackMap stack:
            aload 18 /* declaringDeclaringType */
            ifnull 30
            iload 10 /* isConstructor */
            ifeq 30
            iload 19 /* isStatic */
            ifne 30
        23: .line 555
            aload 5 /* parameterPackageNames */
            arraylength
            istore 20 /* length */
        start local 20 // int length
        24: .line 556
            aload 5 /* parameterPackageNames */
            iconst_0
            iload 20 /* length */
            iconst_1
            iadd
            anewarray char[]
            dup
            astore 5 /* parameterPackageNames */
            iconst_1
            iload 20 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        25: .line 557
            aload 6 /* parameterTypeNames */
            iconst_0
            iload 20 /* length */
            iconst_1
            iadd
            anewarray char[]
            dup
            astore 6 /* parameterTypeNames */
            iconst_1
            iload 20 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        26: .line 558
            aload 7 /* parameterSignatures */
            iconst_0
            iload 20 /* length */
            iconst_1
            iadd
            anewarray java.lang.String
            dup
            astore 7 /* parameterSignatures */
            iconst_1
            iload 20 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        27: .line 560
            aload 5 /* parameterPackageNames */
            iconst_0
            aload 18 /* declaringDeclaringType */
            invokeinterface org.eclipse.jdt.core.IType.getPackageFragment:()Lorg/eclipse/jdt/core/IPackageFragment;
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            aastore
        28: .line 561
            aload 6 /* parameterTypeNames */
            iconst_0
            aload 18 /* declaringDeclaringType */
            invokeinterface org.eclipse.jdt.core.IType.getTypeQualifiedName:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            aastore
        29: .line 562
            aload 7 /* parameterSignatures */
            iconst_0
            aload 3 /* enclosingDeclaringTypeSignature */
            invokestatic org.eclipse.jdt.core.Signature.getTypeErasure:(Ljava/lang/String;)Ljava/lang/String;
            aastore
        end local 20 // int length
        30: .line 565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 17 /* type */
            aload 4 /* selector */
            aload 5 /* parameterPackageNames */
            aload 6 /* parameterTypeNames */
            aload 7 /* parameterSignatures */
            aload 8 /* typeParameterNames */
            aload 9 /* typeParameterBoundNames */
            aload 12 /* uniqueKey */
            iload 10 /* isConstructor */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.acceptBinaryMethod:(Lorg/eclipse/jdt/core/IType;[C[[C[[C[Ljava/lang/String;[[C[[[C[CZ)V
        end local 19 // boolean isStatic
        end local 18 // org.eclipse.jdt.core.IType declaringDeclaringType
        31: .line 566
            goto 33
        32: .line 567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 17 /* type */
            aload 4 /* selector */
            aload 5 /* parameterPackageNames */
            aload 6 /* parameterTypeNames */
            aload 7 /* parameterSignatures */
            aload 8 /* typeParameterNames */
            aload 9 /* typeParameterBoundNames */
            aload 12 /* uniqueKey */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.acceptSourceMethod:(Lorg/eclipse/jdt/core/IType;[C[[C[[C[Ljava/lang/String;[[C[[[C[C)V
        end local 17 // org.eclipse.jdt.core.IType type
        33: .line 572
      StackMap locals:
      StackMap stack:
            iload 16 /* previousElementIndex */
            iconst_m1
            if_icmple 39
        34: .line 573
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
            iload 16 /* previousElementIndex */
            iadd
            iconst_2
            iadd
            istore 17 /* elementsLength */
        start local 17 // int elementsLength
        35: .line 574
            iload 17 /* elementsLength */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            arraylength
            if_icmple 37
        36: .line 575
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            iconst_0
            aload 0 /* this */
            iload 17 /* elementsLength */
            iconst_2
            imul
            iconst_1
            iadd
            anewarray org.eclipse.jdt.core.IJavaElement
            dup_x1
            putfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
            iconst_1
            iadd
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        37: .line 577
      StackMap locals: int
      StackMap stack:
            aload 15 /* previousElement */
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
            iconst_1
            iadd
            iload 16 /* previousElementIndex */
            iconst_1
            iadd
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        38: .line 578
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
            iload 16 /* previousElementIndex */
            iconst_1
            iadd
            iadd
            putfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
        end local 17 // int elementsLength
        39: .line 580
      StackMap locals:
      StackMap stack:
            return
        end local 16 // int previousElementIndex
        end local 15 // org.eclipse.jdt.core.IJavaElement[] previousElement
        end local 14 // int end
        end local 13 // int start
        end local 12 // char[] uniqueKey
        end local 11 // boolean isDeclaration
        end local 10 // boolean isConstructor
        end local 9 // char[][][] typeParameterBoundNames
        end local 8 // char[][] typeParameterNames
        end local 7 // java.lang.String[] parameterSignatures
        end local 6 // char[][] parameterTypeNames
        end local 5 // char[][] parameterPackageNames
        end local 4 // char[] selector
        end local 3 // java.lang.String enclosingDeclaringTypeSignature
        end local 2 // char[] declaringTypeName
        end local 1 // char[] declaringTypePackageName
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0   40     0                             this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   40     1         declaringTypePackageName  [C
            0   40     2                declaringTypeName  [C
            0   40     3  enclosingDeclaringTypeSignature  Ljava/lang/String;
            0   40     4                         selector  [C
            0   40     5            parameterPackageNames  [[C
            0   40     6               parameterTypeNames  [[C
            0   40     7              parameterSignatures  [Ljava/lang/String;
            0   40     8               typeParameterNames  [[C
            0   40     9          typeParameterBoundNames  [[[C
            0   40    10                    isConstructor  Z
            0   40    11                    isDeclaration  Z
            0   40    12                        uniqueKey  [C
            0   40    13                            start  I
            0   40    14                              end  I
            1   40    15                  previousElement  [Lorg/eclipse/jdt/core/IJavaElement;
            2   40    16             previousElementIndex  I
            9   11    17                             type  Lorg/eclipse/jdt/core/IType;
           15   33    17                             type  Lorg/eclipse/jdt/core/IType;
           18   31    18           declaringDeclaringType  Lorg/eclipse/jdt/core/IType;
           19   31    19                         isStatic  Z
           24   30    20                           length  I
           35   39    17                   elementsLength  I
      Exception table:
        from    to  target  type
          19    20      21  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                                 Name  Flags
      declaringTypePackageName         
      declaringTypeName                
      enclosingDeclaringTypeSignature  
      selector                         
      parameterPackageNames            
      parameterTypeNames               
      parameterSignatures              
      typeParameterNames               
      typeParameterBoundNames          
      isConstructor                    
      isDeclaration                    
      uniqueKey                        
      start                            
      end                              

  public void acceptPackage(char[]);
    descriptor: ([C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // char[] packageName
         0: .line 586
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
            new java.lang.String
            dup
            aload 1 /* packageName */
            invokespecial java.lang.String.<init>:([C)V
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.NameLookup.findPackageFragments:(Ljava/lang/String;Z)[Lorg/eclipse/jdt/core/IPackageFragment;
            astore 2 /* pkgs */
        start local 2 // org.eclipse.jdt.core.IPackageFragment[] pkgs
         1: .line 587
            aload 2 /* pkgs */
            ifnull 12
         2: .line 588
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: aload 2 /* pkgs */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         4: goto 11
         5: .line 589
      StackMap locals: org.eclipse.jdt.core.IPackageFragment[] int int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* pkgs */
            iload 3 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
         6: .line 590
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 10
         7: .line 591
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept package("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         8: .line 592
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 2 /* pkgs */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         9: .line 593
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 588
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 5
        end local 4 // int length
        end local 3 // int i
        12: .line 597
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.core.IPackageFragment[] pkgs
        end local 1 // char[] packageName
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   13     1  packageName  [C
            1   13     2         pkgs  [Lorg/eclipse/jdt/core/IPackageFragment;
            3   12     3            i  I
            4   12     4       length  I
    MethodParameters:
             Name  Flags
      packageName  

  protected void acceptSourceMethod(org.eclipse.jdt.core.IType, char[], char[][], char[][], java.lang.String[], char[][], char[][][], char[]);
    descriptor: (Lorg/eclipse/jdt/core/IType;[C[[C[[C[Ljava/lang/String;[[C[[[C[C)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=20, args_size=9
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // char[] selector
        start local 3 // char[][] parameterPackageNames
        start local 4 // char[][] parameterTypeNames
        start local 5 // java.lang.String[] parameterSignatures
        start local 6 // char[][] typeParameterNames
        start local 7 // char[][][] typeParameterBoundNames
        start local 8 // char[] uniqueKey
         0: .line 613
            new java.lang.String
            dup
            aload 2 /* selector */
            invokespecial java.lang.String.<init>:([C)V
            astore 9 /* name */
        start local 9 // java.lang.String name
         1: .line 614
            aconst_null
            astore 10 /* methods */
        start local 10 // org.eclipse.jdt.core.IMethod[] methods
         2: .line 616
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getMethods:()[Lorg/eclipse/jdt/core/IMethod;
            astore 10 /* methods */
         3: .line 617
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         4: goto 19
         5: .line 618
      StackMap locals: java.lang.String org.eclipse.jdt.core.IMethod[] int
      StackMap stack:
            aload 10 /* methods */
            iload 11 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IMethod.getElementName:()Ljava/lang/String;
            aload 9 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
         6: .line 619
            aload 10 /* methods */
            iload 11 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IMethod.getParameterTypes:()[Ljava/lang/String;
            arraylength
            aload 4 /* parameterTypeNames */
            arraylength
            if_icmpne 18
         7: .line 620
            aload 10 /* methods */
            iload 11 /* i */
            aaload
            astore 12 /* method */
        start local 12 // org.eclipse.jdt.core.IMethod method
         8: .line 621
            aload 8 /* uniqueKey */
            ifnull 17
         9: .line 622
            new org.eclipse.jdt.internal.core.ResolvedSourceMethod
            dup
        10: .line 623
            aload 12 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
        11: .line 624
            aload 12 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getElementName:()Ljava/lang/String;
        12: .line 625
            aload 12 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getParameterTypes:()[Ljava/lang/String;
        13: .line 626
            new java.lang.String
            dup
            aload 8 /* uniqueKey */
            invokespecial java.lang.String.<init>:([C)V
        14: .line 622
            invokespecial org.eclipse.jdt.internal.core.ResolvedSourceMethod.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
            astore 13 /* resolvedMethod */
        start local 13 // org.eclipse.jdt.internal.core.ResolvedSourceMethod resolvedMethod
        15: .line 627
            aload 13 /* resolvedMethod */
            aload 12 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getOccurrenceCount:()I
            putfield org.eclipse.jdt.internal.core.ResolvedSourceMethod.occurrenceCount:I
        16: .line 628
            aload 13 /* resolvedMethod */
            astore 12 /* method */
        end local 13 // org.eclipse.jdt.internal.core.ResolvedSourceMethod resolvedMethod
        17: .line 630
      StackMap locals: org.eclipse.jdt.core.IMethod
      StackMap stack:
            aload 0 /* this */
            aload 12 /* method */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        end local 12 // org.eclipse.jdt.core.IMethod method
        18: .line 617
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 11 /* i */
            aload 10 /* methods */
            arraylength
            if_icmplt 5
        end local 11 // int i
        20: .line 633
            goto 23
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor org.eclipse.jdt.core.IType char[] char[][] char[][] java.lang.String[] char[][] char[][][] char[] java.lang.String org.eclipse.jdt.core.IMethod[]
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        21: pop
        22: .line 634
            return
        23: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
            iconst_m1
            if_icmpne 30
        24: .line 640
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        25: .line 641
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 29
        26: .line 642
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept type("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        27: .line 643
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 1 /* type */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        28: .line 644
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        29: .line 646
      StackMap locals:
      StackMap stack:
            return
        30: .line 650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
            ifne 36
        31: .line 651
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 35
        32: .line 652
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept method("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        33: .line 653
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            iconst_0
            aaload
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        34: .line 654
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        35: .line 656
      StackMap locals:
      StackMap stack:
            return
        36: .line 660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            astore 11 /* matches */
        start local 11 // org.eclipse.jdt.core.IJavaElement[] matches
        37: .line 661
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
            istore 12 /* matchesIndex */
        start local 12 // int matchesIndex
        38: .line 662
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.JavaElement.NO_ELEMENTS:[Lorg/eclipse/jdt/internal/core/JavaElement;
            putfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
        39: .line 663
            aload 0 /* this */
            iconst_m1
            putfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
        40: .line 664
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        41: goto 63
        42: .line 665
      StackMap locals: org.eclipse.jdt.core.IJavaElement[] int int
      StackMap stack:
            aload 11 /* matches */
            iload 13 /* i */
            aaload
            checkcast org.eclipse.jdt.core.IMethod
            astore 14 /* method */
        start local 14 // org.eclipse.jdt.core.IMethod method
        43: .line 666
            aload 14 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getParameterTypes:()[Ljava/lang/String;
            astore 15 /* signatures */
        start local 15 // java.lang.String[] signatures
        44: .line 667
            iconst_1
            istore 16 /* match */
        start local 16 // boolean match
        45: .line 668
            iconst_0
            istore 17 /* p */
        start local 17 // int p
        46: goto 53
        47: .line 669
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor org.eclipse.jdt.core.IType char[] char[][] char[][] java.lang.String[] char[][] char[][][] char[] java.lang.String org.eclipse.jdt.core.IMethod[] org.eclipse.jdt.core.IJavaElement[] int int org.eclipse.jdt.core.IMethod java.lang.String[] int int
      StackMap stack:
            aload 15 /* signatures */
            iload 17 /* p */
            aaload
            invokestatic org.eclipse.jdt.core.Signature.getTypeErasure:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.Signature.toString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.Signature.getSimpleName:(Ljava/lang/String;)Ljava/lang/String;
            astore 18 /* simpleName */
        start local 18 // java.lang.String simpleName
        48: .line 670
            aload 4 /* parameterTypeNames */
            iload 17 /* p */
            aaload
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.lastSegment:([CC)[C
            astore 19 /* simpleParameterName */
        start local 19 // char[] simpleParameterName
        49: .line 671
            aload 18 /* simpleName */
            new java.lang.String
            dup
            aload 19 /* simpleParameterName */
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 52
        50: .line 672
            iconst_0
            istore 16 /* match */
        51: .line 673
            goto 54
        end local 19 // char[] simpleParameterName
        end local 18 // java.lang.String simpleName
        52: .line 668
      StackMap locals:
      StackMap stack:
            iinc 17 /* p */ 1
      StackMap locals:
      StackMap stack:
        53: iload 17 /* p */
            aload 15 /* signatures */
            arraylength
            if_icmplt 47
        end local 17 // int p
        54: .line 677
      StackMap locals:
      StackMap stack:
            iload 16 /* match */
            ifeq 56
            aload 0 /* this */
            aload 14 /* method */
            aload 6 /* typeParameterNames */
            aload 7 /* typeParameterBoundNames */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.areTypeParametersCompatible:(Lorg/eclipse/jdt/core/IMethod;[[C[[[C)Z
            ifne 56
        55: .line 678
            iconst_0
            istore 16 /* match */
        56: .line 681
      StackMap locals:
      StackMap stack:
            iload 16 /* match */
            ifeq 62
        57: .line 682
            aload 0 /* this */
            aload 14 /* method */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        58: .line 683
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 62
        59: .line 684
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept method("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        60: .line 685
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 14 /* method */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        61: .line 686
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 16 // boolean match
        end local 15 // java.lang.String[] signatures
        end local 14 // org.eclipse.jdt.core.IMethod method
        62: .line 664
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        63: iload 13 /* i */
            iload 12 /* matchesIndex */
            if_icmple 42
        end local 13 // int i
        64: .line 691
            return
        end local 12 // int matchesIndex
        end local 11 // org.eclipse.jdt.core.IJavaElement[] matches
        end local 10 // org.eclipse.jdt.core.IMethod[] methods
        end local 9 // java.lang.String name
        end local 8 // char[] uniqueKey
        end local 7 // char[][][] typeParameterBoundNames
        end local 6 // char[][] typeParameterNames
        end local 5 // java.lang.String[] parameterSignatures
        end local 4 // char[][] parameterTypeNames
        end local 3 // char[][] parameterPackageNames
        end local 2 // char[] selector
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   65     0                     this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   65     1                     type  Lorg/eclipse/jdt/core/IType;
            0   65     2                 selector  [C
            0   65     3    parameterPackageNames  [[C
            0   65     4       parameterTypeNames  [[C
            0   65     5      parameterSignatures  [Ljava/lang/String;
            0   65     6       typeParameterNames  [[C
            0   65     7  typeParameterBoundNames  [[[C
            0   65     8                uniqueKey  [C
            1   65     9                     name  Ljava/lang/String;
            2   65    10                  methods  [Lorg/eclipse/jdt/core/IMethod;
            4   20    11                        i  I
            8   18    12                   method  Lorg/eclipse/jdt/core/IMethod;
           15   17    13           resolvedMethod  Lorg/eclipse/jdt/internal/core/ResolvedSourceMethod;
           37   65    11                  matches  [Lorg/eclipse/jdt/core/IJavaElement;
           38   65    12             matchesIndex  I
           41   64    13                        i  I
           43   62    14                   method  Lorg/eclipse/jdt/core/IMethod;
           44   62    15               signatures  [Ljava/lang/String;
           45   62    16                    match  Z
           46   54    17                        p  I
           48   52    18               simpleName  Ljava/lang/String;
           49   52    19      simpleParameterName  [C
      Exception table:
        from    to  target  type
           2    20      21  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                         Name  Flags
      type                     
      selector                 
      parameterPackageNames    
      parameterTypeNames       
      parameterSignatures      
      typeParameterNames       
      typeParameterBoundNames  
      uniqueKey                

  protected void acceptMethodDeclaration(org.eclipse.jdt.core.IType, char[], int, int);
    descriptor: (Lorg/eclipse/jdt/core/IType;[CII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=9, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // char[] selector
        start local 3 // int start
        start local 4 // int end
         0: .line 693
            new java.lang.String
            dup
            aload 2 /* selector */
            invokespecial java.lang.String.<init>:([C)V
            astore 5 /* name */
        start local 5 // java.lang.String name
         1: .line 694
            aconst_null
            astore 6 /* methods */
        start local 6 // org.eclipse.jdt.core.IMethod[] methods
         2: .line 696
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getMethods:()[Lorg/eclipse/jdt/core/IMethod;
            astore 6 /* methods */
         3: .line 697
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         4: goto 16
         5: .line 698
      StackMap locals: java.lang.String org.eclipse.jdt.core.IMethod[] int
      StackMap stack:
            aload 6 /* methods */
            iload 7 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IMethod.getNameRange:()Lorg/eclipse/jdt/core/ISourceRange;
            astore 8 /* range */
        start local 8 // org.eclipse.jdt.core.ISourceRange range
         6: .line 699
            aload 8 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            iload 3 /* start */
            if_icmpgt 15
         7: .line 700
            aload 8 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            aload 8 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getLength:()I
            iadd
            iload 4 /* end */
            if_icmplt 15
         8: .line 701
            aload 6 /* methods */
            iload 7 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IMethod.getElementName:()Ljava/lang/String;
            aload 5 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
         9: .line 702
            aload 0 /* this */
            aload 6 /* methods */
            iload 7 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        10: .line 703
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 14
        11: .line 704
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept method("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        12: .line 705
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            iconst_0
            aaload
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        13: .line 706
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        14: .line 708
      StackMap locals: org.eclipse.jdt.core.ISourceRange
      StackMap stack:
            return
        end local 8 // org.eclipse.jdt.core.ISourceRange range
        15: .line 697
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 7 /* i */
            aload 6 /* methods */
            arraylength
            if_icmplt 5
        end local 7 // int i
        17: .line 711
            goto 20
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor org.eclipse.jdt.core.IType char[] int int java.lang.String org.eclipse.jdt.core.IMethod[]
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        18: pop
        19: .line 712
            return
        20: .line 716
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        21: .line 717
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 25
        22: .line 718
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept type("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        23: .line 719
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 1 /* type */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        24: .line 720
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        25: .line 722
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.eclipse.jdt.core.IMethod[] methods
        end local 5 // java.lang.String name
        end local 4 // int end
        end local 3 // int start
        end local 2 // char[] selector
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0      this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   26     1      type  Lorg/eclipse/jdt/core/IType;
            0   26     2  selector  [C
            0   26     3     start  I
            0   26     4       end  I
            1   26     5      name  Ljava/lang/String;
            2   26     6   methods  [Lorg/eclipse/jdt/core/IMethod;
            4   17     7         i  I
            6   15     8     range  Lorg/eclipse/jdt/core/ISourceRange;
      Exception table:
        from    to  target  type
           2    14      18  Class org.eclipse.jdt.core.JavaModelException
          15    17      18  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      type      
      selector  
      start     
      end       

  public void acceptTypeParameter(char[], char[], char[], boolean, int, int);
    descriptor: ([C[C[CZII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=7
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // char[] declaringTypePackageName
        start local 2 // char[] declaringTypeName
        start local 3 // char[] typeParameterName
        start local 4 // boolean isDeclaration
        start local 5 // int start
        start local 6 // int end
         0: .line 727
            iload 4 /* isDeclaration */
            ifeq 6
         1: .line 728
            aload 0 /* this */
            aload 1 /* declaringTypePackageName */
            aload 2 /* declaringTypeName */
         2: .line 729
            bipush 30
         3: .line 730
            iload 5 /* start */
            iload 6 /* end */
         4: .line 728
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.resolveTypeByLocation:([C[CIII)Lorg/eclipse/jdt/core/IType;
            astore 7 /* type */
        start local 7 // org.eclipse.jdt.core.IType type
         5: .line 731
            goto 9
        end local 7 // org.eclipse.jdt.core.IType type
         6: .line 732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* declaringTypePackageName */
            aload 2 /* declaringTypeName */
         7: .line 733
            bipush 30
         8: .line 732
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.resolveType:([C[CI)Lorg/eclipse/jdt/core/IType;
            astore 7 /* type */
        start local 7 // org.eclipse.jdt.core.IType type
         9: .line 736
      StackMap locals: org.eclipse.jdt.core.IType
      StackMap stack:
            aload 7 /* type */
            ifnull 23
        10: .line 737
            aload 7 /* type */
            new java.lang.String
            dup
            aload 3 /* typeParameterName */
            invokespecial java.lang.String.<init>:([C)V
            invokeinterface org.eclipse.jdt.core.IType.getTypeParameter:(Ljava/lang/String;)Lorg/eclipse/jdt/core/ITypeParameter;
            astore 8 /* typeParameter */
        start local 8 // org.eclipse.jdt.core.ITypeParameter typeParameter
        11: .line 738
            aload 8 /* typeParameter */
            ifnonnull 18
        12: .line 739
            aload 0 /* this */
            aload 7 /* type */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        13: .line 740
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 23
        14: .line 741
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept type("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        15: .line 742
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 7 /* type */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        16: .line 743
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        17: .line 745
            goto 23
        18: .line 746
      StackMap locals: org.eclipse.jdt.core.ITypeParameter
      StackMap stack:
            aload 0 /* this */
            aload 8 /* typeParameter */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        19: .line 747
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 23
        20: .line 748
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept type parameter("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        21: .line 749
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 8 /* typeParameter */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        22: .line 750
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 8 // org.eclipse.jdt.core.ITypeParameter typeParameter
        23: .line 754
      StackMap locals:
      StackMap stack:
            return
        end local 7 // org.eclipse.jdt.core.IType type
        end local 6 // int end
        end local 5 // int start
        end local 4 // boolean isDeclaration
        end local 3 // char[] typeParameterName
        end local 2 // char[] declaringTypeName
        end local 1 // char[] declaringTypePackageName
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   24     0                      this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   24     1  declaringTypePackageName  [C
            0   24     2         declaringTypeName  [C
            0   24     3         typeParameterName  [C
            0   24     4             isDeclaration  Z
            0   24     5                     start  I
            0   24     6                       end  I
            5    6     7                      type  Lorg/eclipse/jdt/core/IType;
            9   24     7                      type  Lorg/eclipse/jdt/core/IType;
           11   23     8             typeParameter  Lorg/eclipse/jdt/core/ITypeParameter;
    MethodParameters:
                          Name  Flags
      declaringTypePackageName  
      declaringTypeName         
      typeParameterName         
      isDeclaration             
      start                     
      end                       

  public void acceptMethodTypeParameter(char[], char[], char[], int, int, char[], boolean, int, int);
    descriptor: ([C[C[CII[CZII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=16, args_size=10
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // char[] declaringTypePackageName
        start local 2 // char[] declaringTypeName
        start local 3 // char[] selector
        start local 4 // int selectorStart
        start local 5 // int selectorEnd
        start local 6 // char[] typeParameterName
        start local 7 // boolean isDeclaration
        start local 8 // int start
        start local 9 // int end
         0: .line 757
            aload 0 /* this */
            aload 1 /* declaringTypePackageName */
            aload 2 /* declaringTypeName */
         1: .line 758
            bipush 30
         2: .line 759
            iload 4 /* selectorStart */
            iload 5 /* selectorEnd */
         3: .line 757
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.resolveTypeByLocation:([C[CIII)Lorg/eclipse/jdt/core/IType;
            astore 10 /* type */
        start local 10 // org.eclipse.jdt.core.IType type
         4: .line 761
            aload 10 /* type */
            ifnull 41
         5: .line 762
            aconst_null
            astore 11 /* method */
        start local 11 // org.eclipse.jdt.core.IMethod method
         6: .line 764
            new java.lang.String
            dup
            aload 3 /* selector */
            invokespecial java.lang.String.<init>:([C)V
            astore 12 /* name */
        start local 12 // java.lang.String name
         7: .line 765
            aconst_null
            astore 13 /* methods */
        start local 13 // org.eclipse.jdt.core.IMethod[] methods
         8: .line 768
            aload 10 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getMethods:()[Lorg/eclipse/jdt/core/IMethod;
            astore 13 /* methods */
         9: .line 769
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        10: goto 18
        11: .line 770
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor char[] char[] char[] int int char[] int int int org.eclipse.jdt.core.IType org.eclipse.jdt.core.IMethod java.lang.String org.eclipse.jdt.core.IMethod[] int
      StackMap stack:
            aload 13 /* methods */
            iload 14 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IMethod.getNameRange:()Lorg/eclipse/jdt/core/ISourceRange;
            astore 15 /* range */
        start local 15 // org.eclipse.jdt.core.ISourceRange range
        12: .line 771
            aload 15 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            iload 4 /* selectorStart */
            if_icmplt 17
        13: .line 772
            aload 15 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            aload 15 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getLength:()I
            iadd
            iload 5 /* selectorEnd */
            if_icmpgt 17
        14: .line 773
            aload 13 /* methods */
            iload 14 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IMethod.getElementName:()Ljava/lang/String;
            aload 12 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 774
            aload 13 /* methods */
            iload 14 /* i */
            aaload
            astore 11 /* method */
        16: .line 775
            goto 21
        end local 15 // org.eclipse.jdt.core.ISourceRange range
        17: .line 769
      StackMap locals:
      StackMap stack:
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 14 /* i */
            aload 13 /* methods */
            arraylength
            if_icmplt 11
        end local 14 // int i
        19: .line 778
            goto 21
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor char[] char[] char[] int int char[] int int int org.eclipse.jdt.core.IType org.eclipse.jdt.core.IMethod java.lang.String org.eclipse.jdt.core.IMethod[]
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        20: pop
        21: .line 782
      StackMap locals:
      StackMap stack:
            aload 11 /* method */
            ifnonnull 28
        22: .line 783
            aload 0 /* this */
            aload 10 /* type */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        23: .line 784
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 41
        24: .line 785
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept type("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        25: .line 786
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 10 /* type */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        26: .line 787
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        27: .line 789
            goto 41
        28: .line 790
      StackMap locals:
      StackMap stack:
            aload 11 /* method */
            new java.lang.String
            dup
            aload 6 /* typeParameterName */
            invokespecial java.lang.String.<init>:([C)V
            invokeinterface org.eclipse.jdt.core.IMethod.getTypeParameter:(Ljava/lang/String;)Lorg/eclipse/jdt/core/ITypeParameter;
            astore 14 /* typeParameter */
        start local 14 // org.eclipse.jdt.core.ITypeParameter typeParameter
        29: .line 791
            aload 14 /* typeParameter */
            ifnonnull 36
        30: .line 792
            aload 0 /* this */
            aload 11 /* method */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        31: .line 793
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 41
        32: .line 794
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept method("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        33: .line 795
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 11 /* method */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        34: .line 796
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        35: .line 798
            goto 41
        36: .line 799
      StackMap locals: org.eclipse.jdt.core.ITypeParameter
      StackMap stack:
            aload 0 /* this */
            aload 14 /* typeParameter */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.addElement:(Lorg/eclipse/jdt/core/IJavaElement;)V
        37: .line 800
            getstatic org.eclipse.jdt.internal.codeassist.SelectionEngine.DEBUG:Z
            ifeq 41
        38: .line 801
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "SELECTION - accept method type parameter("
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        39: .line 802
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 14 /* typeParameter */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        40: .line 803
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc ")"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 14 // org.eclipse.jdt.core.ITypeParameter typeParameter
        end local 13 // org.eclipse.jdt.core.IMethod[] methods
        end local 12 // java.lang.String name
        end local 11 // org.eclipse.jdt.core.IMethod method
        41: .line 808
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor char[] char[] char[] int int char[] int int int org.eclipse.jdt.core.IType
      StackMap stack:
            return
        end local 10 // org.eclipse.jdt.core.IType type
        end local 9 // int end
        end local 8 // int start
        end local 7 // boolean isDeclaration
        end local 6 // char[] typeParameterName
        end local 5 // int selectorEnd
        end local 4 // int selectorStart
        end local 3 // char[] selector
        end local 2 // char[] declaringTypeName
        end local 1 // char[] declaringTypePackageName
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   42     0                      this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   42     1  declaringTypePackageName  [C
            0   42     2         declaringTypeName  [C
            0   42     3                  selector  [C
            0   42     4             selectorStart  I
            0   42     5               selectorEnd  I
            0   42     6         typeParameterName  [C
            0   42     7             isDeclaration  Z
            0   42     8                     start  I
            0   42     9                       end  I
            4   42    10                      type  Lorg/eclipse/jdt/core/IType;
            6   41    11                    method  Lorg/eclipse/jdt/core/IMethod;
            7   41    12                      name  Ljava/lang/String;
            8   41    13                   methods  [Lorg/eclipse/jdt/core/IMethod;
           10   19    14                         i  I
           12   17    15                     range  Lorg/eclipse/jdt/core/ISourceRange;
           29   41    14             typeParameter  Lorg/eclipse/jdt/core/ITypeParameter;
      Exception table:
        from    to  target  type
           8    19      20  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                          Name  Flags
      declaringTypePackageName  
      declaringTypeName         
      selector                  
      selectorStart             
      selectorEnd               
      typeParameterName         
      isDeclaration             
      start                     
      end                       

  protected void addElement(org.eclipse.jdt.core.IJavaElement);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.core.IJavaElement element
         0: .line 813
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
            iconst_1
            iadd
            istore 2 /* elementLength */
        start local 2 // int elementLength
         1: .line 815
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 816
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            iload 3 /* i */
            aaload
            aload 1 /* element */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 817
            return
         5: .line 815
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 2 /* elementLength */
            if_icmplt 3
        end local 3 // int i
         7: .line 821
            iload 2 /* elementLength */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            arraylength
            if_icmpne 9
         8: .line 822
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            iconst_0
            aload 0 /* this */
            iload 2 /* elementLength */
            iconst_2
            imul
            iconst_1
            iadd
            anewarray org.eclipse.jdt.core.IJavaElement
            dup_x1
            putfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            iconst_0
            iload 2 /* elementLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 824
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
            iconst_1
            iadd
            dup_x1
            putfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
            aload 1 /* element */
            aastore
        10: .line 825
            return
        end local 2 // int elementLength
        end local 1 // org.eclipse.jdt.core.IJavaElement element
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   11     1        element  Lorg/eclipse/jdt/core/IJavaElement;
            1   11     2  elementLength  I
            2    7     3              i  I
    MethodParameters:
         Name  Flags
      element  

  private boolean areTypeParametersCompatible(org.eclipse.jdt.core.IMethod, char[][], char[][][]);
    descriptor: (Lorg/eclipse/jdt/core/IMethod;[[C[[[C)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.core.IMethod method
        start local 2 // char[][] typeParameterNames
        start local 3 // char[][][] typeParameterBoundNames
         0: .line 828
            aload 1 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getTypeParameters:()[Lorg/eclipse/jdt/core/ITypeParameter;
            astore 4 /* typeParameters */
        start local 4 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
         1: .line 829
            aload 4 /* typeParameters */
            ifnonnull 2
            iconst_0
            goto 3
      StackMap locals: org.eclipse.jdt.core.ITypeParameter[]
      StackMap stack:
         2: aload 4 /* typeParameters */
            arraylength
      StackMap locals:
      StackMap stack: int
         3: istore 5 /* length1 */
        start local 5 // int length1
         4: .line 830
            aload 2 /* typeParameterNames */
            ifnonnull 5
            iconst_0
            goto 6
      StackMap locals: int
      StackMap stack:
         5: aload 2 /* typeParameterNames */
            arraylength
      StackMap locals:
      StackMap stack: int
         6: istore 6 /* length2 */
        start local 6 // int length2
         7: .line 831
            iload 5 /* length1 */
            iload 6 /* length2 */
            if_icmpeq 9
         8: .line 832
            iconst_0
            ireturn
         9: .line 834
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        10: goto 32
        11: .line 835
      StackMap locals: int
      StackMap stack:
            aload 4 /* typeParameters */
            iload 7 /* j */
            aaload
            astore 8 /* typeParameter */
        start local 8 // org.eclipse.jdt.core.ITypeParameter typeParameter
        12: .line 836
            aload 8 /* typeParameter */
            invokeinterface org.eclipse.jdt.core.ITypeParameter.getElementName:()Ljava/lang/String;
            astore 9 /* typeParameterName */
        start local 9 // java.lang.String typeParameterName
        13: .line 837
            aload 9 /* typeParameterName */
            new java.lang.String
            dup
            aload 2 /* typeParameterNames */
            iload 7 /* j */
            aaload
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
        14: .line 838
            iconst_0
            ireturn
        15: .line 841
      StackMap locals: org.eclipse.jdt.core.ITypeParameter java.lang.String
      StackMap stack:
            aload 8 /* typeParameter */
            invokeinterface org.eclipse.jdt.core.ITypeParameter.getBounds:()[Ljava/lang/String;
            astore 10 /* bounds */
        start local 10 // java.lang.String[] bounds
        16: .line 842
            aload 3 /* typeParameterBoundNames */
            iload 7 /* j */
            aaload
            ifnonnull 17
            iconst_0
            goto 18
      StackMap locals: java.lang.String[]
      StackMap stack:
        17: aload 3 /* typeParameterBoundNames */
            iload 7 /* j */
            aaload
            arraylength
      StackMap locals:
      StackMap stack: int
        18: istore 11 /* boundCount */
        start local 11 // int boundCount
        19: .line 844
            aload 10 /* bounds */
            arraylength
            iload 11 /* boundCount */
            if_icmpeq 21
        20: .line 845
            iconst_0
            ireturn
        21: .line 847
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 12 /* k */
        start local 12 // int k
        22: goto 30
        23: .line 848
      StackMap locals: int
      StackMap stack:
            aload 10 /* bounds */
            iload 12 /* k */
            aaload
            invokestatic org.eclipse.jdt.core.Signature.getSimpleName:(Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* simpleName */
        start local 13 // java.lang.String simpleName
        24: .line 849
            aload 13 /* simpleName */
            bipush 60
            invokevirtual java.lang.String.indexOf:(I)I
            istore 14 /* index */
        start local 14 // int index
        25: .line 850
            iload 14 /* index */
            iconst_m1
            if_icmpeq 27
        26: .line 851
            aload 13 /* simpleName */
            iconst_0
            iload 14 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 13 /* simpleName */
        27: .line 853
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 13 /* simpleName */
            new java.lang.String
            dup
            aload 3 /* typeParameterBoundNames */
            iload 7 /* j */
            aaload
            iload 12 /* k */
            aaload
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
        28: .line 854
            iconst_0
            ireturn
        end local 14 // int index
        end local 13 // java.lang.String simpleName
        29: .line 847
      StackMap locals:
      StackMap stack:
            iinc 12 /* k */ 1
      StackMap locals:
      StackMap stack:
        30: iload 12 /* k */
            iload 11 /* boundCount */
            if_icmplt 23
        end local 12 // int k
        end local 11 // int boundCount
        end local 10 // java.lang.String[] bounds
        end local 9 // java.lang.String typeParameterName
        end local 8 // org.eclipse.jdt.core.ITypeParameter typeParameter
        31: .line 834
            iinc 7 /* j */ 1
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor org.eclipse.jdt.core.IMethod char[][] char[][][] org.eclipse.jdt.core.ITypeParameter[] int int int
      StackMap stack:
        32: iload 7 /* j */
            iload 5 /* length1 */
            if_icmplt 11
        end local 7 // int j
        end local 6 // int length2
        end local 5 // int length1
        end local 4 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
        33: .line 860
            goto 36
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor org.eclipse.jdt.core.IMethod char[][] char[][][]
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        34: pop
        35: .line 861
            iconst_0
            ireturn
        36: .line 863
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // char[][][] typeParameterBoundNames
        end local 2 // char[][] typeParameterNames
        end local 1 // org.eclipse.jdt.core.IMethod method
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   37     0                     this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   37     1                   method  Lorg/eclipse/jdt/core/IMethod;
            0   37     2       typeParameterNames  [[C
            0   37     3  typeParameterBoundNames  [[[C
            1   33     4           typeParameters  [Lorg/eclipse/jdt/core/ITypeParameter;
            4   33     5                  length1  I
            7   33     6                  length2  I
           10   33     7                        j  I
           12   31     8            typeParameter  Lorg/eclipse/jdt/core/ITypeParameter;
           13   31     9        typeParameterName  Ljava/lang/String;
           16   31    10                   bounds  [Ljava/lang/String;
           19   31    11               boundCount  I
           22   31    12                        k  I
           24   29    13               simpleName  Ljava/lang/String;
           25   29    14                    index  I
      Exception table:
        from    to  target  type
           0     8      34  Class org.eclipse.jdt.core.JavaModelException
           9    14      34  Class org.eclipse.jdt.core.JavaModelException
          15    20      34  Class org.eclipse.jdt.core.JavaModelException
          21    28      34  Class org.eclipse.jdt.core.JavaModelException
          29    33      34  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                         Name  Flags
      method                   
      typeParameterNames       
      typeParameterBoundNames  

  protected org.eclipse.jdt.core.IJavaElement findLocalElement(int);
    descriptor: (I)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // int pos
         0: .line 869
            aconst_null
            astore 2 /* res */
        start local 2 // org.eclipse.jdt.core.IJavaElement res
         1: .line 870
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            instanceof org.eclipse.jdt.core.ICompilationUnit
            ifeq 7
         2: .line 871
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            checkcast org.eclipse.jdt.core.ICompilationUnit
            astore 3 /* cu */
        start local 3 // org.eclipse.jdt.core.ICompilationUnit cu
         3: .line 873
            aload 3 /* cu */
            iload 1 /* pos */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getElementAt:(I)Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* res */
         4: .line 874
            goto 12
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor int org.eclipse.jdt.core.IJavaElement org.eclipse.jdt.core.ICompilationUnit
      StackMap stack: org.eclipse.jdt.core.JavaModelException
         5: pop
        end local 3 // org.eclipse.jdt.core.ICompilationUnit cu
         6: .line 877
            goto 12
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            instanceof org.eclipse.jdt.internal.core.ClassFile
            ifeq 12
         8: .line 878
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            checkcast org.eclipse.jdt.internal.core.ClassFile
            astore 3 /* cf */
        start local 3 // org.eclipse.jdt.internal.core.ClassFile cf
         9: .line 880
            aload 3 /* cf */
            iload 1 /* pos */
            invokevirtual org.eclipse.jdt.internal.core.ClassFile.getElementAtConsideringSibling:(I)Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* res */
        10: .line 881
            goto 12
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor int org.eclipse.jdt.core.IJavaElement org.eclipse.jdt.internal.core.ClassFile
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        11: pop
        end local 3 // org.eclipse.jdt.internal.core.ClassFile cf
        12: .line 885
      StackMap locals:
      StackMap stack:
            aload 2 /* res */
            areturn
        end local 2 // org.eclipse.jdt.core.IJavaElement res
        end local 1 // int pos
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   13     1   pos  I
            1   13     2   res  Lorg/eclipse/jdt/core/IJavaElement;
            3    6     3    cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            9   12     3    cf  Lorg/eclipse/jdt/internal/core/ClassFile;
      Exception table:
        from    to  target  type
           3     4       5  Class org.eclipse.jdt.core.JavaModelException
           9    10      11  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      pos   

  protected org.eclipse.jdt.core.IJavaElement findLocalElement(int, org.eclipse.jdt.internal.compiler.lookup.MethodScope);
    descriptor: (ILorg/eclipse/jdt/internal/compiler/lookup/MethodScope;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // int pos
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodScope scope
         0: .line 891
            aload 2 /* scope */
            ifnull 7
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.isLambdaScope:()Z
            ifeq 7
         1: .line 892
            aload 0 /* this */
            iload 1 /* pos */
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.enclosingMethodScope:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.findLocalElement:(ILorg/eclipse/jdt/internal/compiler/lookup/MethodScope;)Lorg/eclipse/jdt/core/IJavaElement;
            astore 3 /* parent */
        start local 3 // org.eclipse.jdt.core.IJavaElement parent
         2: .line 893
            aload 2 /* scope */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodScope.originalReferenceContext:()Lorg/eclipse/jdt/internal/compiler/impl/ReferenceContext;
            checkcast org.eclipse.jdt.internal.compiler.ast.LambdaExpression
            astore 4 /* expression */
        start local 4 // org.eclipse.jdt.internal.compiler.ast.LambdaExpression expression
         3: .line 894
            aload 4 /* expression */
            ifnull 6
            aload 4 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 6
            aload 4 /* expression */
            getfield org.eclipse.jdt.internal.compiler.ast.LambdaExpression.resolvedType:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isValidBinding:()Z
            ifeq 6
         4: .line 895
            aload 3 /* parent */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 4 /* expression */
            invokestatic org.eclipse.jdt.internal.core.LambdaFactory.createLambdaExpression:(Lorg/eclipse/jdt/internal/core/JavaElement;Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;)Lorg/eclipse/jdt/internal/core/LambdaExpression;
            astore 5 /* lambdaElement */
        start local 5 // org.eclipse.jdt.internal.core.LambdaExpression lambdaElement
         5: .line 896
            aload 5 /* lambdaElement */
            invokevirtual org.eclipse.jdt.internal.core.LambdaExpression.getMethod:()Lorg/eclipse/jdt/core/IMethod;
            areturn
        end local 5 // org.eclipse.jdt.internal.core.LambdaExpression lambdaElement
         6: .line 898
      StackMap locals: org.eclipse.jdt.core.IJavaElement org.eclipse.jdt.internal.compiler.ast.LambdaExpression
      StackMap stack:
            aload 3 /* parent */
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.ast.LambdaExpression expression
        end local 3 // org.eclipse.jdt.core.IJavaElement parent
         7: .line 900
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pos */
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.findLocalElement:(I)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.MethodScope scope
        end local 1 // int pos
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0    8     1            pos  I
            0    8     2          scope  Lorg/eclipse/jdt/internal/compiler/lookup/MethodScope;
            2    7     3         parent  Lorg/eclipse/jdt/core/IJavaElement;
            3    7     4     expression  Lorg/eclipse/jdt/internal/compiler/ast/LambdaExpression;
            5    6     5  lambdaElement  Lorg/eclipse/jdt/internal/core/LambdaExpression;
    MethodParameters:
       Name  Flags
      pos    
      scope  

  public org.eclipse.jdt.core.IJavaElement findMethodFromBinding(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, java.lang.String[], org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;[Ljava/lang/String;Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        start local 2 // java.lang.String[] signatures
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding declaringClass
         0: .line 913
            aload 0 /* this */
            aload 3 /* declaringClass */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.qualifiedPackageName:()[C
            aload 3 /* declaringClass */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.qualifiedSourceName:()[C
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.SelectionRequestor.resolveType:([C[CI)Lorg/eclipse/jdt/core/IType;
            astore 4 /* foundType */
        start local 4 // org.eclipse.jdt.core.IType foundType
         1: .line 914
            aload 4 /* foundType */
            ifnull 8
         2: .line 915
            aload 4 /* foundType */
            instanceof org.eclipse.jdt.internal.core.BinaryType
            ifeq 7
         3: .line 917
            aload 4 /* foundType */
            aload 1 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.selector:[C
            aload 2 /* signatures */
            aload 1 /* method */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isConstructor:()Z
            invokestatic org.eclipse.jdt.internal.core.util.Util.findMethod:(Lorg/eclipse/jdt/core/IType;[C[Ljava/lang/String;Z)Lorg/eclipse/jdt/core/IMethod;
         4: areturn
         5: .line 918
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor org.eclipse.jdt.internal.compiler.lookup.MethodBinding java.lang.String[] org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.core.IType
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
         6: .line 919
            aconst_null
            areturn
         7: .line 922
      StackMap locals:
      StackMap stack:
            aload 4 /* foundType */
            new java.lang.String
            dup
            aload 1 /* method */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.selector:[C
            invokespecial java.lang.String.<init>:([C)V
            aload 2 /* signatures */
            invokeinterface org.eclipse.jdt.core.IType.getMethod:(Ljava/lang/String;[Ljava/lang/String;)Lorg/eclipse/jdt/core/IMethod;
            areturn
         8: .line 925
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // org.eclipse.jdt.core.IType foundType
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding declaringClass
        end local 2 // java.lang.String[] signatures
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding method
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0    9     1          method  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            0    9     2      signatures  [Ljava/lang/String;
            0    9     3  declaringClass  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            1    9     4       foundType  Lorg/eclipse/jdt/core/IType;
      Exception table:
        from    to  target  type
           3     4       5  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                Name  Flags
      method          
      signatures      
      declaringClass  

  public org.eclipse.jdt.core.IJavaElement[] getElements();
    descriptor: ()[Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
         0: .line 931
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elementIndex:I
            iconst_1
            iadd
            istore 1 /* elementLength */
        start local 1 // int elementLength
         1: .line 932
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            arraylength
            iload 1 /* elementLength */
            if_icmpeq 3
         2: .line 933
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            iconst_0
            aload 0 /* this */
            iload 1 /* elementLength */
            anewarray org.eclipse.jdt.core.IJavaElement
            dup_x1
            putfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            iconst_0
            iload 1 /* elementLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 935
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.elements:[Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        end local 1 // int elementLength
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            1    4     1  elementLength  I

  protected org.eclipse.jdt.core.IModuleDescription resolveModule(char[]);
    descriptor: ([C)Lorg/eclipse/jdt/core/IModuleDescription;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // char[] moduleName
         0: .line 938
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
            aload 1 /* moduleName */
            invokevirtual org.eclipse.jdt.internal.core.NameLookup.findModule:([C)Lorg/eclipse/jdt/internal/core/NameLookup$Answer;
            astore 2 /* answer */
        start local 2 // org.eclipse.jdt.internal.core.NameLookup$Answer answer
         1: .line 939
            aload 2 /* answer */
            ifnull 3
         2: .line 940
            aload 2 /* answer */
            getfield org.eclipse.jdt.internal.core.NameLookup$Answer.module:Lorg/eclipse/jdt/core/IModuleDescription;
            areturn
         3: .line 942
      StackMap locals: org.eclipse.jdt.internal.core.NameLookup$Answer
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.internal.core.NameLookup$Answer answer
        end local 1 // char[] moduleName
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0    4     1  moduleName  [C
            1    4     2      answer  Lorg/eclipse/jdt/internal/core/NameLookup$Answer;
    MethodParameters:
            Name  Flags
      moduleName  

  protected org.eclipse.jdt.core.IType resolveType(char[], char[], int);
    descriptor: ([C[CI)Lorg/eclipse/jdt/core/IType;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=10, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // char[] packageName
        start local 2 // char[] typeName
        start local 3 // int acceptFlags
         0: .line 949
            aconst_null
            astore 4 /* type */
        start local 4 // org.eclipse.jdt.core.IType type
         1: .line 951
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            instanceof org.eclipse.jdt.internal.core.CompilationUnit
            ifeq 19
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            checkcast org.eclipse.jdt.internal.core.CompilationUnit
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.isWorkingCopy:()Z
            ifeq 19
         2: .line 952
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            checkcast org.eclipse.jdt.internal.core.CompilationUnit
            astore 5 /* wc */
        start local 5 // org.eclipse.jdt.internal.core.CompilationUnit wc
         3: .line 954
            aload 1 /* packageName */
            ifnull 4
            aload 1 /* packageName */
            arraylength
            ifne 5
      StackMap locals: org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.CompilationUnit
      StackMap stack:
         4: aload 5 /* wc */
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.getPackageDeclarations:()[Lorg/eclipse/jdt/core/IPackageDeclaration;
            arraylength
            ifeq 6
         5: .line 955
      StackMap locals:
      StackMap stack:
            aload 1 /* packageName */
            ifnull 19
            aload 1 /* packageName */
            arraylength
            ifeq 19
            aload 5 /* wc */
            new java.lang.String
            dup
            aload 1 /* packageName */
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.getPackageDeclaration:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IPackageDeclaration;
            invokeinterface org.eclipse.jdt.core.IPackageDeclaration.exists:()Z
            ifeq 19
         6: .line 957
      StackMap locals:
      StackMap stack:
            bipush 46
            aload 2 /* typeName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitOn:(C[C)[[C
            astore 6 /* compoundName */
        start local 6 // char[][] compoundName
         7: .line 958
            aload 6 /* compoundName */
            arraylength
            ifle 15
         8: .line 959
            aload 5 /* wc */
            new java.lang.String
            dup
            aload 6 /* compoundName */
            iconst_0
            aaload
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.getType:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IType;
            astore 4 /* type */
         9: .line 960
            iconst_1
            istore 7 /* i */
        start local 7 // int i
        10: aload 6 /* compoundName */
            arraylength
            istore 8 /* length */
        start local 8 // int length
        11: goto 14
        12: .line 961
      StackMap locals: char[][] int int
      StackMap stack:
            aload 4 /* type */
            new java.lang.String
            dup
            aload 6 /* compoundName */
            iload 7 /* i */
            aaload
            invokespecial java.lang.String.<init>:([C)V
            invokeinterface org.eclipse.jdt.core.IType.getType:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IType;
            astore 4 /* type */
        13: .line 960
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* i */
            iload 8 /* length */
            if_icmplt 12
        end local 8 // int length
        end local 7 // int i
        15: .line 965
      StackMap locals:
      StackMap stack:
            aload 4 /* type */
            ifnull 19
            aload 4 /* type */
            invokeinterface org.eclipse.jdt.core.IType.exists:()Z
            ifne 19
        16: .line 966
            aconst_null
            astore 4 /* type */
        end local 6 // char[][] compoundName
        17: .line 969
            goto 19
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor char[] char[] int org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.CompilationUnit
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        18: pop
        end local 5 // org.eclipse.jdt.internal.core.CompilationUnit wc
        19: .line 974
      StackMap locals:
      StackMap stack:
            aload 4 /* type */
            ifnonnull 55
        20: .line 975
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
        21: .line 976
            aload 1 /* packageName */
            ifnull 22
            aload 1 /* packageName */
            arraylength
            ifne 23
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.NameLookup
        22: ldc ""
            goto 24
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.NameLookup
        23: new java.lang.String
            dup
            aload 1 /* packageName */
            invokespecial java.lang.String.<init>:([C)V
        24: .line 977
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor char[] char[] int org.eclipse.jdt.core.IType
      StackMap stack: org.eclipse.jdt.internal.core.NameLookup java.lang.String
            iconst_0
        25: .line 975
            invokevirtual org.eclipse.jdt.internal.core.NameLookup.findPackageFragments:(Ljava/lang/String;Z)[Lorg/eclipse/jdt/core/IPackageFragment;
            astore 5 /* pkgs */
        start local 5 // org.eclipse.jdt.core.IPackageFragment[] pkgs
        26: .line 979
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        27: aload 5 /* pkgs */
            ifnonnull 28
            iconst_0
            goto 29
      StackMap locals: org.eclipse.jdt.core.IPackageFragment[] int
      StackMap stack:
        28: aload 5 /* pkgs */
            arraylength
      StackMap locals:
      StackMap stack: int
        29: istore 7 /* length */
        start local 7 // int length
        30: goto 34
        31: .line 980
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
            new java.lang.String
            dup
            aload 2 /* typeName */
            invokespecial java.lang.String.<init>:([C)V
            aload 5 /* pkgs */
            iload 6 /* i */
            aaload
            iconst_0
            iload 3 /* acceptFlags */
            iconst_0
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.NameLookup.findType:(Ljava/lang/String;Lorg/eclipse/jdt/core/IPackageFragment;ZIZZ)Lorg/eclipse/jdt/core/IType;
            astore 4 /* type */
        32: .line 981
            aload 4 /* type */
            ifnull 33
            goto 35
        33: .line 979
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 6 /* i */
            iload 7 /* length */
            if_icmplt 31
        end local 7 // int length
        end local 6 // int i
        35: .line 983
      StackMap locals:
      StackMap stack:
            aload 4 /* type */
            ifnonnull 55
        36: .line 984
            ldc ""
            astore 6 /* pName */
        start local 6 // java.lang.String pName
        37: .line 985
            aload 1 /* packageName */
            ifnull 39
        38: .line 986
            new java.lang.String
            dup
            aload 1 /* packageName */
            invokespecial java.lang.String.<init>:([C)V
            astore 6 /* pName */
        39: .line 988
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            ifnull 55
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            invokevirtual org.eclipse.jdt.internal.core.Openable.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementName:()Ljava/lang/String;
            aload 6 /* pName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 55
        40: .line 990
            new java.lang.String
            dup
            aload 2 /* typeName */
            invokespecial java.lang.String.<init>:([C)V
            astore 7 /* tName */
        start local 7 // java.lang.String tName
        41: .line 991
            aload 7 /* tName */
            bipush 46
            bipush 36
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 7 /* tName */
        42: .line 992
            aconst_null
            astore 8 /* allTypes */
        start local 8 // org.eclipse.jdt.core.IType[] allTypes
        43: .line 994
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            bipush 7
            invokevirtual org.eclipse.jdt.internal.core.Openable.getChildrenOfType:(I)Ljava/util/ArrayList;
            astore 9 /* list */
        start local 9 // java.util.ArrayList list
        44: .line 995
            aload 9 /* list */
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.jdt.core.IType
            astore 8 /* allTypes */
        45: .line 996
            aload 9 /* list */
            aload 8 /* allTypes */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        end local 9 // java.util.ArrayList list
        46: .line 997
            goto 49
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor char[] char[] int org.eclipse.jdt.core.IType org.eclipse.jdt.core.IPackageFragment[] java.lang.String java.lang.String org.eclipse.jdt.core.IType[]
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        47: pop
        48: .line 998
            aconst_null
            areturn
        49: .line 1000
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        50: goto 54
        51: .line 1001
      StackMap locals: int
      StackMap stack:
            aload 8 /* allTypes */
            iload 9 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IType.getTypeQualifiedName:()Ljava/lang/String;
            aload 7 /* tName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 53
        52: .line 1002
            aload 8 /* allTypes */
            iload 9 /* i */
            aaload
            areturn
        53: .line 1000
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        54: iload 9 /* i */
            aload 8 /* allTypes */
            arraylength
            if_icmplt 51
        end local 9 // int i
        end local 8 // org.eclipse.jdt.core.IType[] allTypes
        end local 7 // java.lang.String tName
        end local 6 // java.lang.String pName
        end local 5 // org.eclipse.jdt.core.IPackageFragment[] pkgs
        55: .line 1008
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor char[] char[] int org.eclipse.jdt.core.IType
      StackMap stack:
            aload 4 /* type */
            areturn
        end local 4 // org.eclipse.jdt.core.IType type
        end local 3 // int acceptFlags
        end local 2 // char[] typeName
        end local 1 // char[] packageName
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   56     0          this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   56     1   packageName  [C
            0   56     2      typeName  [C
            0   56     3   acceptFlags  I
            1   56     4          type  Lorg/eclipse/jdt/core/IType;
            3   19     5            wc  Lorg/eclipse/jdt/internal/core/CompilationUnit;
            7   17     6  compoundName  [[C
           10   15     7             i  I
           11   15     8        length  I
           26   55     5          pkgs  [Lorg/eclipse/jdt/core/IPackageFragment;
           27   35     6             i  I
           30   35     7        length  I
           37   55     6         pName  Ljava/lang/String;
           41   55     7         tName  Ljava/lang/String;
           43   55     8      allTypes  [Lorg/eclipse/jdt/core/IType;
           44   46     9          list  Ljava/util/ArrayList;
           50   55     9             i  I
      Exception table:
        from    to  target  type
           3    17      18  Class org.eclipse.jdt.core.JavaModelException
          43    46      47  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
             Name  Flags
      packageName  
      typeName     
      acceptFlags  

  protected org.eclipse.jdt.core.IType resolveTypeByLocation(char[], char[], int, int, int);
    descriptor: ([C[CIII)Lorg/eclipse/jdt/core/IType;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=13, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
        start local 1 // char[] packageName
        start local 2 // char[] typeName
        start local 3 // int acceptFlags
        start local 4 // int start
        start local 5 // int end
         0: .line 1012
            aconst_null
            astore 6 /* type */
        start local 6 // org.eclipse.jdt.core.IType type
         1: .line 1015
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            instanceof org.eclipse.jdt.internal.core.CompilationUnit
            ifeq 29
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            checkcast org.eclipse.jdt.internal.core.CompilationUnit
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.isOpen:()Z
            ifeq 29
         2: .line 1016
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            checkcast org.eclipse.jdt.internal.core.CompilationUnit
            astore 7 /* wc */
        start local 7 // org.eclipse.jdt.internal.core.CompilationUnit wc
         3: .line 1018
            aload 1 /* packageName */
            ifnull 4
            aload 1 /* packageName */
            arraylength
            ifne 5
      StackMap locals: org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.CompilationUnit
      StackMap stack:
         4: aload 7 /* wc */
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.getPackageDeclarations:()[Lorg/eclipse/jdt/core/IPackageDeclaration;
            arraylength
            ifeq 6
         5: .line 1019
      StackMap locals:
      StackMap stack:
            aload 1 /* packageName */
            ifnull 29
            aload 1 /* packageName */
            arraylength
            ifeq 29
            aload 7 /* wc */
            new java.lang.String
            dup
            aload 1 /* packageName */
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.getPackageDeclaration:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IPackageDeclaration;
            invokeinterface org.eclipse.jdt.core.IPackageDeclaration.exists:()Z
            ifeq 29
         6: .line 1021
      StackMap locals:
      StackMap stack:
            bipush 46
            aload 2 /* typeName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitOn:(C[C)[[C
            astore 8 /* compoundName */
        start local 8 // char[][] compoundName
         7: .line 1022
            aload 8 /* compoundName */
            arraylength
            ifle 25
         8: .line 1024
            aload 7 /* wc */
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.getTypes:()[Lorg/eclipse/jdt/core/IType;
            astore 9 /* tTypes */
        start local 9 // org.eclipse.jdt.core.IType[] tTypes
         9: .line 1025
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        10: .line 1026
            iconst_0
            istore 11 /* depth */
        start local 11 // int depth
        11: .line 1027
            goto 24
        12: .line 1028
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor char[] char[] int int int org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.CompilationUnit char[][] org.eclipse.jdt.core.IType[] int int
      StackMap stack:
            aload 9 /* tTypes */
            iload 10 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IType.getSourceRange:()Lorg/eclipse/jdt/core/ISourceRange;
            astore 12 /* range */
        start local 12 // org.eclipse.jdt.core.ISourceRange range
        13: .line 1029
            aload 12 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            iload 4 /* start */
            if_icmpgt 23
        14: .line 1030
            aload 12 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            aload 12 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getLength:()I
            iadd
            iload 5 /* end */
            if_icmplt 23
        15: .line 1031
            aload 9 /* tTypes */
            iload 10 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            new java.lang.String
            dup
            aload 8 /* compoundName */
            iload 11 /* depth */
            aaload
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        16: .line 1032
            iload 11 /* depth */
            aload 8 /* compoundName */
            arraylength
            iconst_1
            isub
            if_icmpne 19
        17: .line 1033
            aload 9 /* tTypes */
            iload 10 /* i */
            aaload
            astore 6 /* type */
        18: .line 1034
            goto 25
        19: .line 1036
      StackMap locals: org.eclipse.jdt.core.ISourceRange
      StackMap stack:
            aload 9 /* tTypes */
            iload 10 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IType.getTypes:()[Lorg/eclipse/jdt/core/IType;
            astore 9 /* tTypes */
        20: .line 1037
            iconst_0
            istore 10 /* i */
        21: .line 1038
            iinc 11 /* depth */ 1
        22: .line 1039
            goto 24
        23: .line 1041
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
        end local 12 // org.eclipse.jdt.core.ISourceRange range
        24: .line 1027
      StackMap locals:
      StackMap stack:
            iload 10 /* i */
            aload 9 /* tTypes */
            arraylength
            if_icmplt 12
        end local 11 // int depth
        end local 10 // int i
        end local 9 // org.eclipse.jdt.core.IType[] tTypes
        25: .line 1045
      StackMap locals:
      StackMap stack:
            aload 6 /* type */
            ifnull 29
            aload 6 /* type */
            invokeinterface org.eclipse.jdt.core.IType.exists:()Z
            ifne 29
        26: .line 1046
            aconst_null
            astore 6 /* type */
        end local 8 // char[][] compoundName
        27: .line 1049
            goto 29
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor char[] char[] int int int org.eclipse.jdt.core.IType org.eclipse.jdt.internal.core.CompilationUnit
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        28: pop
        end local 7 // org.eclipse.jdt.internal.core.CompilationUnit wc
        29: .line 1054
      StackMap locals:
      StackMap stack:
            aload 6 /* type */
            ifnonnull 65
        30: .line 1055
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
        31: .line 1056
            aload 1 /* packageName */
            ifnull 32
            aload 1 /* packageName */
            arraylength
            ifne 33
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.NameLookup
        32: ldc ""
            goto 34
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.NameLookup
        33: new java.lang.String
            dup
            aload 1 /* packageName */
            invokespecial java.lang.String.<init>:([C)V
        34: .line 1057
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor char[] char[] int int int org.eclipse.jdt.core.IType
      StackMap stack: org.eclipse.jdt.internal.core.NameLookup java.lang.String
            iconst_0
        35: .line 1055
            invokevirtual org.eclipse.jdt.internal.core.NameLookup.findPackageFragments:(Ljava/lang/String;Z)[Lorg/eclipse/jdt/core/IPackageFragment;
            astore 7 /* pkgs */
        start local 7 // org.eclipse.jdt.core.IPackageFragment[] pkgs
        36: .line 1059
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        37: aload 7 /* pkgs */
            ifnonnull 38
            iconst_0
            goto 39
      StackMap locals: org.eclipse.jdt.core.IPackageFragment[] int
      StackMap stack:
        38: aload 7 /* pkgs */
            arraylength
      StackMap locals:
      StackMap stack: int
        39: istore 9 /* length */
        start local 9 // int length
        40: goto 44
        41: .line 1060
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.nameLookup:Lorg/eclipse/jdt/internal/core/NameLookup;
            new java.lang.String
            dup
            aload 2 /* typeName */
            invokespecial java.lang.String.<init>:([C)V
            aload 7 /* pkgs */
            iload 8 /* i */
            aaload
            iconst_0
            iload 3 /* acceptFlags */
            iconst_0
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.NameLookup.findType:(Ljava/lang/String;Lorg/eclipse/jdt/core/IPackageFragment;ZIZZ)Lorg/eclipse/jdt/core/IType;
            astore 6 /* type */
        42: .line 1061
            aload 6 /* type */
            ifnull 43
            goto 45
        43: .line 1059
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 8 /* i */
            iload 9 /* length */
            if_icmplt 41
        end local 9 // int length
        end local 8 // int i
        45: .line 1063
      StackMap locals:
      StackMap stack:
            aload 6 /* type */
            ifnonnull 65
        46: .line 1064
            ldc ""
            astore 8 /* pName */
        start local 8 // java.lang.String pName
        47: .line 1065
            aload 1 /* packageName */
            ifnull 49
        48: .line 1066
            new java.lang.String
            dup
            aload 1 /* packageName */
            invokespecial java.lang.String.<init>:([C)V
            astore 8 /* pName */
        49: .line 1068
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            ifnull 65
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            invokevirtual org.eclipse.jdt.internal.core.Openable.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementName:()Ljava/lang/String;
            aload 8 /* pName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 65
        50: .line 1070
            new java.lang.String
            dup
            aload 2 /* typeName */
            invokespecial java.lang.String.<init>:([C)V
            astore 9 /* tName */
        start local 9 // java.lang.String tName
        51: .line 1071
            aload 9 /* tName */
            bipush 46
            bipush 36
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 9 /* tName */
        52: .line 1072
            aconst_null
            astore 10 /* allTypes */
        start local 10 // org.eclipse.jdt.core.IType[] allTypes
        53: .line 1074
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SelectionRequestor.openable:Lorg/eclipse/jdt/internal/core/Openable;
            bipush 7
            invokevirtual org.eclipse.jdt.internal.core.Openable.getChildrenOfType:(I)Ljava/util/ArrayList;
            astore 11 /* list */
        start local 11 // java.util.ArrayList list
        54: .line 1075
            aload 11 /* list */
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.jdt.core.IType
            astore 10 /* allTypes */
        55: .line 1076
            aload 11 /* list */
            aload 10 /* allTypes */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        end local 11 // java.util.ArrayList list
        56: .line 1077
            goto 59
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor char[] char[] int int int org.eclipse.jdt.core.IType org.eclipse.jdt.core.IPackageFragment[] java.lang.String java.lang.String org.eclipse.jdt.core.IType[]
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        57: pop
        58: .line 1078
            aconst_null
            areturn
        59: .line 1080
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        60: goto 64
        61: .line 1081
      StackMap locals: int
      StackMap stack:
            aload 10 /* allTypes */
            iload 11 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IType.getTypeQualifiedName:()Ljava/lang/String;
            aload 9 /* tName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 63
        62: .line 1082
            aload 10 /* allTypes */
            iload 11 /* i */
            aaload
            areturn
        63: .line 1080
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        64: iload 11 /* i */
            aload 10 /* allTypes */
            arraylength
            if_icmplt 61
        end local 11 // int i
        end local 10 // org.eclipse.jdt.core.IType[] allTypes
        end local 9 // java.lang.String tName
        end local 8 // java.lang.String pName
        end local 7 // org.eclipse.jdt.core.IPackageFragment[] pkgs
        65: .line 1088
      StackMap locals: org.eclipse.jdt.internal.core.SelectionRequestor char[] char[] int int int org.eclipse.jdt.core.IType
      StackMap stack:
            aload 6 /* type */
            areturn
        end local 6 // org.eclipse.jdt.core.IType type
        end local 5 // int end
        end local 4 // int start
        end local 3 // int acceptFlags
        end local 2 // char[] typeName
        end local 1 // char[] packageName
        end local 0 // org.eclipse.jdt.internal.core.SelectionRequestor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   66     0          this  Lorg/eclipse/jdt/internal/core/SelectionRequestor;
            0   66     1   packageName  [C
            0   66     2      typeName  [C
            0   66     3   acceptFlags  I
            0   66     4         start  I
            0   66     5           end  I
            1   66     6          type  Lorg/eclipse/jdt/core/IType;
            3   29     7            wc  Lorg/eclipse/jdt/internal/core/CompilationUnit;
            7   27     8  compoundName  [[C
            9   25     9        tTypes  [Lorg/eclipse/jdt/core/IType;
           10   25    10             i  I
           11   25    11         depth  I
           13   24    12         range  Lorg/eclipse/jdt/core/ISourceRange;
           36   65     7          pkgs  [Lorg/eclipse/jdt/core/IPackageFragment;
           37   45     8             i  I
           40   45     9        length  I
           47   65     8         pName  Ljava/lang/String;
           51   65     9         tName  Ljava/lang/String;
           53   65    10      allTypes  [Lorg/eclipse/jdt/core/IType;
           54   56    11          list  Ljava/util/ArrayList;
           60   65    11             i  I
      Exception table:
        from    to  target  type
           3    27      28  Class org.eclipse.jdt.core.JavaModelException
          53    56      57  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
             Name  Flags
      packageName  
      typeName     
      acceptFlags  
      start        
      end          
}
SourceFile: "SelectionRequestor.java"
InnerClasses:
  public Answer = org.eclipse.jdt.internal.core.NameLookup$Answer of org.eclipse.jdt.internal.core.NameLookup