public class org.eclipse.jdt.internal.core.util.Util
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.util.Util
  super_class: java.lang.Object
{
  private static final char ARGUMENTS_DELIMITER;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 35

  private static final java.lang.String EMPTY_ARGUMENT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "   "

  private static char[][] JAVA_LIKE_EXTENSIONS;
    descriptor: [[C
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final char[] BOOLEAN;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final char[] BYTE;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final char[] CHAR;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final char[] DOUBLE;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final char[] FLOAT;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final char[] INT;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final char[] LONG;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final char[] SHORT;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final char[] VOID;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final char[] INIT;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String TASK_PRIORITIES_PROBLEM;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "TASK_PRIORITIES_PB"

  private static java.util.List fgRepeatedMessages;
    descriptor: Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 113
            ldc "boolean"
            invokevirtual java.lang.String.toCharArray:()[C
            putstatic org.eclipse.jdt.internal.core.util.Util.BOOLEAN:[C
         1: .line 114
            ldc "byte"
            invokevirtual java.lang.String.toCharArray:()[C
            putstatic org.eclipse.jdt.internal.core.util.Util.BYTE:[C
         2: .line 115
            ldc "char"
            invokevirtual java.lang.String.toCharArray:()[C
            putstatic org.eclipse.jdt.internal.core.util.Util.CHAR:[C
         3: .line 116
            ldc "double"
            invokevirtual java.lang.String.toCharArray:()[C
            putstatic org.eclipse.jdt.internal.core.util.Util.DOUBLE:[C
         4: .line 117
            ldc "float"
            invokevirtual java.lang.String.toCharArray:()[C
            putstatic org.eclipse.jdt.internal.core.util.Util.FLOAT:[C
         5: .line 118
            ldc "int"
            invokevirtual java.lang.String.toCharArray:()[C
            putstatic org.eclipse.jdt.internal.core.util.Util.INT:[C
         6: .line 119
            ldc "long"
            invokevirtual java.lang.String.toCharArray:()[C
            putstatic org.eclipse.jdt.internal.core.util.Util.LONG:[C
         7: .line 120
            ldc "short"
            invokevirtual java.lang.String.toCharArray:()[C
            putstatic org.eclipse.jdt.internal.core.util.Util.SHORT:[C
         8: .line 121
            ldc "void"
            invokevirtual java.lang.String.toCharArray:()[C
            putstatic org.eclipse.jdt.internal.core.util.Util.VOID:[C
         9: .line 122
            ldc "<init>"
            invokevirtual java.lang.String.toCharArray:()[C
            putstatic org.eclipse.jdt.internal.core.util.Util.INIT:[C
        10: .line 125
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            putstatic org.eclipse.jdt.internal.core.util.Util.fgRepeatedMessages:Ljava/util/List;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.Util this
         0: .line 127
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 129
            return
        end local 0 // org.eclipse.jdt.internal.core.util.Util this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/util/Util;

  public static final java.lang.String[] arrayConcat(java.lang.String[], java.lang.String);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.String[] first
        start local 1 // java.lang.String second
         0: .line 164
            aload 1 /* second */
            ifnonnull 2
         1: .line 165
            aload 0 /* first */
            areturn
         2: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* first */
            ifnonnull 4
         3: .line 167
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* second */
            aastore
            areturn
         4: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* first */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         5: .line 170
            aload 0 /* first */
            arraylength
            ifne 7
         6: .line 171
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* second */
            aastore
            areturn
         7: .line 174
      StackMap locals: int
      StackMap stack:
            iload 2 /* length */
            iconst_1
            iadd
            anewarray java.lang.String
            astore 3 /* result */
        start local 3 // java.lang.String[] result
         8: .line 175
            aload 0 /* first */
            iconst_0
            aload 3 /* result */
            iconst_0
            iload 2 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 176
            aload 3 /* result */
            iload 2 /* length */
            aload 1 /* second */
            aastore
        10: .line 177
            aload 3 /* result */
            areturn
        end local 3 // java.lang.String[] result
        end local 2 // int length
        end local 1 // java.lang.String second
        end local 0 // java.lang.String[] first
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0   first  [Ljava/lang/String;
            0   11     1  second  Ljava/lang/String;
            5   11     2  length  I
            8   11     3  result  [Ljava/lang/String;
    MethodParameters:
        Name  Flags
      first   
      second  

  private static int checkTypeSignature(java.lang.String, int, int, boolean);
    descriptor: (Ljava/lang/String;IIZ)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // java.lang.String sig
        start local 1 // int start
        start local 2 // int end
        start local 3 // boolean allowVoid
         0: .line 187
            iload 1 /* start */
            iload 2 /* end */
            if_icmplt 1
            iconst_m1
            ireturn
         1: .line 188
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            istore 4 /* i */
        start local 4 // int i
         2: .line 189
            aload 0 /* sig */
            iload 4 /* i */
            iinc 4 /* i */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         3: .line 190
            iconst_0
            istore 6 /* nestingDepth */
        start local 6 // int nestingDepth
         4: .line 191
            goto 8
         5: .line 192
      StackMap locals: int int int
      StackMap stack:
            iinc 6 /* nestingDepth */ 1
         6: .line 193
            iload 4 /* i */
            iload 2 /* end */
            if_icmplt 7
            iconst_m1
            ireturn
         7: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* sig */
            iload 4 /* i */
            iinc 4 /* i */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
         8: .line 191
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            bipush 91
            if_icmpeq 5
         9: .line 196
            iload 5 /* c */
            tableswitch { // 66 - 90
                   66: 10
                   67: 10
                   68: 10
                   69: 18
                   70: 10
                   71: 18
                   72: 18
                   73: 10
                   74: 10
                   75: 18
                   76: 13
                   77: 18
                   78: 18
                   79: 18
                   80: 18
                   81: 18
                   82: 18
                   83: 10
                   84: 18
                   85: 18
                   86: 11
                   87: 18
                   88: 18
                   89: 18
                   90: 10
              default: 18
          }
        10: .line 205
      StackMap locals:
      StackMap stack:
            goto 19
        11: .line 207
      StackMap locals:
      StackMap stack:
            iload 3 /* allowVoid */
            ifne 12
            iconst_m1
            ireturn
        12: .line 209
      StackMap locals:
      StackMap stack:
            iload 6 /* nestingDepth */
            ifeq 19
            iconst_m1
            ireturn
        13: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* sig */
            bipush 59
            iload 4 /* i */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 7 /* semicolon */
        start local 7 // int semicolon
        14: .line 214
            iload 7 /* semicolon */
            iload 4 /* i */
            if_icmple 15
            iload 7 /* semicolon */
            iload 2 /* end */
            if_icmplt 16
      StackMap locals: int
      StackMap stack:
        15: iconst_m1
            ireturn
        16: .line 215
      StackMap locals:
      StackMap stack:
            iload 7 /* semicolon */
            iconst_1
            iadd
            istore 4 /* i */
        17: .line 216
            goto 19
        end local 7 // int semicolon
        18: .line 218
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        19: .line 220
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            ireturn
        end local 6 // int nestingDepth
        end local 5 // char c
        end local 4 // int i
        end local 3 // boolean allowVoid
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.lang.String sig
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0           sig  Ljava/lang/String;
            0   20     1         start  I
            0   20     2           end  I
            0   20     3     allowVoid  Z
            2   20     4             i  I
            3   20     5             c  C
            4   20     6  nestingDepth  I
           14   18     7     semicolon  I
    MethodParameters:
           Name  Flags
      sig        
      start      
      end        
      allowVoid  

  public static int combineHashCodes(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int hashCode1
        start local 1 // int hashCode2
         0: .line 227
            iload 0 /* hashCode1 */
            bipush 17
            imul
            iload 1 /* hashCode2 */
            iadd
            ireturn
        end local 1 // int hashCode2
        end local 0 // int hashCode1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  hashCode1  I
            0    1     1  hashCode2  I
    MethodParameters:
           Name  Flags
      hashCode1  
      hashCode2  

  public static int compare(byte[], byte[]);
    descriptor: ([B[B)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // byte[] a
        start local 1 // byte[] b
         0: .line 237
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 2
         1: .line 238
            iconst_0
            ireturn
         2: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnonnull 4
         3: .line 240
            iconst_m1
            ireturn
         4: .line 241
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            ifnonnull 6
         5: .line 242
            iconst_1
            ireturn
         6: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            aload 1 /* b */
            arraylength
            invokestatic java.lang.Math.min:(II)I
            istore 2 /* len */
        start local 2 // int len
         7: .line 244
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 13
         9: .line 245
      StackMap locals: int int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            baload
            aload 1 /* b */
            iload 3 /* i */
            baload
            isub
            istore 4 /* diff */
        start local 4 // int diff
        10: .line 246
            iload 4 /* diff */
            ifeq 12
        11: .line 247
            iload 4 /* diff */
            ireturn
        end local 4 // int diff
        12: .line 244
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 9
        end local 3 // int i
        14: .line 249
            aload 0 /* a */
            arraylength
            iload 2 /* len */
            if_icmple 16
        15: .line 250
            iconst_1
            ireturn
        16: .line 251
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            arraylength
            iload 2 /* len */
            if_icmple 18
        17: .line 252
            iconst_m1
            ireturn
        18: .line 253
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int len
        end local 1 // byte[] b
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0     a  [B
            0   19     1     b  [B
            7   19     2   len  I
            8   14     3     i  I
           10   12     4  diff  I
    MethodParameters:
      Name  Flags
      a     
      b     

  public static int compare(char[], char[]);
    descriptor: ([C[C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // char[] str1
        start local 1 // char[] str2
         0: .line 267
            aload 0 /* str1 */
            arraylength
            istore 2 /* len1 */
        start local 2 // int len1
         1: .line 268
            aload 1 /* str2 */
            arraylength
            istore 3 /* len2 */
        start local 3 // int len2
         2: .line 269
            iload 2 /* len1 */
            iload 3 /* len2 */
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* n */
        start local 4 // int n
         3: .line 270
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: .line 271
            goto 9
         5: .line 272
      StackMap locals: char[] char[] int int int int
      StackMap stack:
            aload 0 /* str1 */
            iload 5 /* i */
            caload
            istore 6 /* c1 */
        start local 6 // char c1
         6: .line 273
            aload 1 /* str2 */
            iload 5 /* i */
            iinc 5 /* i */ 1
            caload
            istore 7 /* c2 */
        start local 7 // char c2
         7: .line 274
            iload 6 /* c1 */
            iload 7 /* c2 */
            if_icmpeq 9
         8: .line 275
            iload 6 /* c1 */
            iload 7 /* c2 */
            isub
            ireturn
        end local 7 // char c2
        end local 6 // char c1
         9: .line 271
      StackMap locals:
      StackMap stack:
            iload 4 /* n */
            iinc 4 /* n */ -1
            ifne 5
        10: .line 278
            iload 2 /* len1 */
            iload 3 /* len2 */
            isub
            ireturn
        end local 5 // int i
        end local 4 // int n
        end local 3 // int len2
        end local 2 // int len1
        end local 1 // char[] str2
        end local 0 // char[] str1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  str1  [C
            0   11     1  str2  [C
            1   11     2  len1  I
            2   11     3  len2  I
            3   11     4     n  I
            4   11     5     i  I
            6    9     6    c1  C
            7    9     7    c2  C
    MethodParameters:
      Name  Flags
      str1  
      str2  

  public static char[] concatCompoundNameToCharArray(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.String[] compoundName
         0: .line 284
            aload 0 /* compoundName */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 285
      StackMap locals:
      StackMap stack:
            aload 0 /* compoundName */
            arraylength
            istore 1 /* length */
        start local 1 // int length
         2: .line 286
            iload 1 /* length */
            ifne 3
            iconst_0
            newarray 5
            areturn
         3: .line 287
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* size */
        start local 2 // int size
         4: .line 288
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 289
      StackMap locals: int int
      StackMap stack:
            iload 2 /* size */
            aload 0 /* compoundName */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            iadd
            istore 2 /* size */
         7: .line 288
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 6
        end local 3 // int i
         9: .line 291
            iload 2 /* size */
            iload 1 /* length */
            iadd
            iconst_1
            isub
            newarray 5
            astore 3 /* compoundChars */
        start local 3 // char[] compoundChars
        10: .line 292
            iconst_0
            istore 4 /* pos */
        start local 4 // int pos
        11: .line 293
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        12: goto 19
        13: .line 294
      StackMap locals: java.lang.String[] int int char[] int int
      StackMap stack:
            aload 0 /* compoundName */
            iload 5 /* i */
            aaload
            astore 6 /* name */
        start local 6 // java.lang.String name
        14: .line 295
            iload 5 /* i */
            ifle 15
            aload 3 /* compoundChars */
            iload 4 /* pos */
            iinc 4 /* pos */ 1
            bipush 46
            castore
        15: .line 296
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* name */
            invokevirtual java.lang.String.length:()I
            istore 7 /* nameLength */
        start local 7 // int nameLength
        16: .line 297
            aload 6 /* name */
            iconst_0
            iload 7 /* nameLength */
            aload 3 /* compoundChars */
            iload 4 /* pos */
            invokevirtual java.lang.String.getChars:(II[CI)V
        17: .line 298
            iload 4 /* pos */
            iload 7 /* nameLength */
            iadd
            istore 4 /* pos */
        end local 7 // int nameLength
        end local 6 // java.lang.String name
        18: .line 293
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* i */
            iload 1 /* length */
            if_icmplt 13
        end local 5 // int i
        20: .line 300
            aload 3 /* compoundChars */
            areturn
        end local 4 // int pos
        end local 3 // char[] compoundChars
        end local 2 // int size
        end local 1 // int length
        end local 0 // java.lang.String[] compoundName
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0   compoundName  [Ljava/lang/String;
            2   21     1         length  I
            4   21     2           size  I
            5    9     3              i  I
           10   21     3  compoundChars  [C
           11   21     4            pos  I
           12   20     5              i  I
           14   18     6           name  Ljava/lang/String;
           16   18     7     nameLength  I
    MethodParameters:
              Name  Flags
      compoundName  

  public static java.lang.String concatenateName(java.lang.String, java.lang.String, char);
    descriptor: (Ljava/lang/String;Ljava/lang/String;C)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.lang.String name1
        start local 1 // java.lang.String name2
        start local 2 // char separator
         0: .line 303
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuffer buf
         1: .line 304
            aload 0 /* name1 */
            ifnull 3
            aload 0 /* name1 */
            invokevirtual java.lang.String.length:()I
            ifle 3
         2: .line 305
            aload 3 /* buf */
            aload 0 /* name1 */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 307
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 1 /* name2 */
            ifnull 7
            aload 1 /* name2 */
            invokevirtual java.lang.String.length:()I
            ifle 7
         4: .line 308
            aload 3 /* buf */
            invokevirtual java.lang.StringBuffer.length:()I
            ifle 6
         5: .line 309
            aload 3 /* buf */
            iload 2 /* separator */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 311
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            aload 1 /* name2 */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 313
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuffer buf
        end local 2 // char separator
        end local 1 // java.lang.String name2
        end local 0 // java.lang.String name1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0      name1  Ljava/lang/String;
            0    8     1      name2  Ljava/lang/String;
            0    8     2  separator  C
            1    8     3        buf  Ljava/lang/StringBuffer;
    MethodParameters:
           Name  Flags
      name1      
      name2      
      separator  

  public static final java.lang.String concatWith(java.lang.String[], char);
    descriptor: ([Ljava/lang/String;C)Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.lang.String[] array
        start local 1 // char separator
         0: .line 339
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* buffer */
        start local 2 // java.lang.StringBuffer buffer
         1: .line 340
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 0 /* array */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         3: goto 8
         4: .line 341
      StackMap locals: java.lang.StringBuffer int int
      StackMap stack:
            aload 2 /* buffer */
            aload 0 /* array */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 342
            iload 3 /* i */
            iload 4 /* length */
            iconst_1
            isub
            if_icmpge 7
         6: .line 343
            aload 2 /* buffer */
            iload 1 /* separator */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 340
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 4
        end local 4 // int length
        end local 3 // int i
         9: .line 345
            aload 2 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // char separator
        end local 0 // java.lang.String[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0      array  [Ljava/lang/String;
            0   10     1  separator  C
            1   10     2     buffer  Ljava/lang/StringBuffer;
            2    9     3          i  I
            3    9     4     length  I
    MethodParameters:
           Name  Flags
      array      
      separator  

  public static final java.lang.String concatWith(java.lang.String[], java.lang.String, char);
    descriptor: ([Ljava/lang/String;Ljava/lang/String;C)Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.lang.String[] array
        start local 1 // java.lang.String name
        start local 2 // char separator
         0: .line 387
            aload 0 /* array */
            ifnull 1
            aload 0 /* array */
            arraylength
            ifne 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* name */
            areturn
         2: .line 388
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ifnull 3
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* array */
            iload 2 /* separator */
            invokestatic org.eclipse.jdt.internal.core.util.Util.concatWith:([Ljava/lang/String;C)Ljava/lang/String;
            areturn
         4: .line 389
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 3 /* buffer */
        start local 3 // java.lang.StringBuffer buffer
         5: .line 390
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: aload 0 /* array */
            arraylength
            istore 5 /* length */
        start local 5 // int length
         7: goto 11
         8: .line 391
      StackMap locals: java.lang.StringBuffer int int
      StackMap stack:
            aload 3 /* buffer */
            aload 0 /* array */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         9: .line 392
            aload 3 /* buffer */
            iload 2 /* separator */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        10: .line 390
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 8
        end local 5 // int length
        end local 4 // int i
        12: .line 394
            aload 3 /* buffer */
            aload 1 /* name */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 395
            aload 3 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuffer buffer
        end local 2 // char separator
        end local 1 // java.lang.String name
        end local 0 // java.lang.String[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0      array  [Ljava/lang/String;
            0   14     1       name  Ljava/lang/String;
            0   14     2  separator  C
            5   14     3     buffer  Ljava/lang/StringBuffer;
            6   12     4          i  I
            7   12     5     length  I
    MethodParameters:
           Name  Flags
      array      
      name       
      separator  

  public static java.lang.String convertTypeSignature(char[], int, int);
    descriptor: ([CII)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // char[] sig
        start local 1 // int start
        start local 2 // int length
         0: .line 402
            new java.lang.String
            dup
            aload 0 /* sig */
            iload 1 /* start */
            iload 2 /* length */
            invokespecial java.lang.String.<init>:([CII)V
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        end local 2 // int length
        end local 1 // int start
        end local 0 // char[] sig
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0     sig  [C
            0    1     1   start  I
            0    1     2  length  I
    MethodParameters:
        Name  Flags
      sig     
      start   
      length  

  public static java.lang.String defaultJavaExtension();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 410
            ldc ".java"
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static final java.lang.String editedString(java.lang.String, org.eclipse.text.edits.TextEdit);
    descriptor: (Ljava/lang/String;Lorg/eclipse/text/edits/TextEdit;)Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String original
        start local 1 // org.eclipse.text.edits.TextEdit edit
         0: .line 423
            aload 1 /* edit */
            ifnonnull 2
         1: .line 424
            aload 0 /* original */
            areturn
         2: .line 426
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.util.SimpleDocument
            dup
            aload 0 /* original */
            invokespecial org.eclipse.jdt.internal.core.util.SimpleDocument.<init>:(Ljava/lang/String;)V
            astore 2 /* document */
        start local 2 // org.eclipse.jdt.internal.core.util.SimpleDocument document
         3: .line 428
            aload 1 /* edit */
            aload 2 /* document */
            iconst_0
            invokevirtual org.eclipse.text.edits.TextEdit.apply:(Lorg/eclipse/jface/text/IDocument;I)Lorg/eclipse/text/edits/UndoEdit;
            pop
         4: .line 429
            aload 2 /* document */
            invokevirtual org.eclipse.jdt.internal.core.util.SimpleDocument.get:()Ljava/lang/String;
         5: areturn
         6: .line 430
      StackMap locals: java.lang.String org.eclipse.text.edits.TextEdit org.eclipse.jdt.internal.core.util.SimpleDocument
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
         7: .line 431
            aload 3 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 3 // java.lang.Exception e
         8: .line 433
            aload 0 /* original */
            areturn
        end local 2 // org.eclipse.jdt.internal.core.util.SimpleDocument document
        end local 1 // org.eclipse.text.edits.TextEdit edit
        end local 0 // java.lang.String original
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0  original  Ljava/lang/String;
            0    9     1      edit  Lorg/eclipse/text/edits/TextEdit;
            3    9     2  document  Lorg/eclipse/jdt/internal/core/util/SimpleDocument;
            7    8     3         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     5       6  Class org.eclipse.text.edits.MalformedTreeException
           3     5       6  Class org.eclipse.jface.text.BadLocationException
    MethodParameters:
          Name  Flags
      original  
      edit      

  public static final boolean endsWithIgnoreCase(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.lang.String str
        start local 1 // java.lang.String end
         0: .line 442
            aload 0 /* str */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* str */
            invokevirtual java.lang.String.length:()I
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* strLength */
        start local 2 // int strLength
         3: .line 443
            aload 1 /* end */
            ifnonnull 4
            iconst_0
            goto 5
      StackMap locals: int
      StackMap stack:
         4: aload 1 /* end */
            invokevirtual java.lang.String.length:()I
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* endLength */
        start local 3 // int endLength
         6: .line 446
            iload 3 /* endLength */
            iload 2 /* strLength */
            if_icmple 8
         7: .line 447
            iconst_0
            ireturn
         8: .line 451
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         9: goto 13
        10: .line 452
      StackMap locals: int
      StackMap stack:
            aload 1 /* end */
            iload 3 /* endLength */
            iload 4 /* i */
            isub
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic org.eclipse.jdt.internal.compiler.parser.ScannerHelper.toLowerCase:(C)C
            aload 0 /* str */
            iload 2 /* strLength */
            iload 4 /* i */
            isub
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic org.eclipse.jdt.internal.compiler.parser.ScannerHelper.toLowerCase:(C)C
            if_icmpeq 12
        11: .line 453
            iconst_0
            ireturn
        12: .line 451
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iload 3 /* endLength */
            if_icmple 10
        end local 4 // int i
        14: .line 456
            iconst_1
            ireturn
        end local 3 // int endLength
        end local 2 // int strLength
        end local 1 // java.lang.String end
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0        str  Ljava/lang/String;
            0   15     1        end  Ljava/lang/String;
            3   15     2  strLength  I
            6   15     3  endLength  I
            9   14     4          i  I
    MethodParameters:
      Name  Flags
      str   
      end   

  public static boolean equalArrays(java.lang.Object[], java.lang.Object[], int);
    descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.Object[] a
        start local 1 // java.lang.Object[] b
        start local 2 // int len
         0: .line 465
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            iload 2 /* len */
            if_icmplt 2
            aload 1 /* b */
            arraylength
            iload 2 /* len */
            if_icmpge 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 467
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 468
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            aaload
            ifnonnull 7
         6: .line 469
            aload 1 /* b */
            iload 3 /* i */
            aaload
            ifnull 8
            iconst_0
            ireturn
         7: .line 471
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            aaload
            aload 1 /* b */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 8
            iconst_0
            ireturn
         8: .line 467
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 5
        end local 3 // int i
        10: .line 474
            iconst_1
            ireturn
        end local 2 // int len
        end local 1 // java.lang.Object[] b
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0     a  [Ljava/lang/Object;
            0   11     1     b  [Ljava/lang/Object;
            0   11     2   len  I
            4   10     3     i  I
    MethodParameters:
      Name  Flags
      a     
      b     
      len   

  public static boolean equalArraysOrNull(int[], int[]);
    descriptor: ([I[I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // int[] a
        start local 1 // int[] b
         0: .line 486
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 2
         1: .line 487
            iconst_1
            ireturn
         2: .line 488
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* b */
            ifnonnull 4
         3: .line 489
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         5: .line 491
            iload 2 /* len */
            aload 1 /* b */
            arraylength
            if_icmpeq 7
         6: .line 492
            iconst_0
            ireturn
         7: .line 493
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 494
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            iaload
            aload 1 /* b */
            iload 3 /* i */
            iaload
            if_icmpeq 11
        10: .line 495
            iconst_0
            ireturn
        11: .line 493
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 9
        end local 3 // int i
        13: .line 497
            iconst_1
            ireturn
        end local 2 // int len
        end local 1 // int[] b
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0     a  [I
            0   14     1     b  [I
            5   14     2   len  I
            8   13     3     i  I
    MethodParameters:
      Name  Flags
      a     
      b     

  public static boolean equalArraysOrNull(java.lang.Object[], java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.Object[] a
        start local 1 // java.lang.Object[] b
         0: .line 509
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 510
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 2
            aload 1 /* b */
            ifnonnull 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 512
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         4: .line 513
            iload 2 /* len */
            aload 1 /* b */
            arraylength
            if_icmpeq 5
            iconst_0
            ireturn
         5: .line 516
      StackMap locals: int
      StackMap stack:
            iload 2 /* len */
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         6: goto 11
         7: .line 517
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            aaload
            ifnonnull 9
         8: .line 518
            aload 1 /* b */
            iload 3 /* i */
            aaload
            ifnull 10
            iconst_0
            ireturn
         9: .line 520
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            aaload
            aload 1 /* b */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 10
            iconst_0
            ireturn
        10: .line 516
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            ifge 7
        end local 3 // int i
        12: .line 523
            iconst_1
            ireturn
        end local 2 // int len
        end local 1 // java.lang.Object[] b
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     a  [Ljava/lang/Object;
            0   13     1     b  [Ljava/lang/Object;
            4   13     2   len  I
            6   12     3     i  I
    MethodParameters:
      Name  Flags
      a     
      b     

  public static boolean equalArraysOrNullSortFirst(org.eclipse.jdt.internal.core.util.Util$Comparable[], org.eclipse.jdt.internal.core.util.Util$Comparable[]);
    descriptor: ([Lorg/eclipse/jdt/internal/core/util/Util$Comparable;[Lorg/eclipse/jdt/internal/core/util/Util$Comparable;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.Util$Comparable[] a
        start local 1 // org.eclipse.jdt.internal.core.util.Util$Comparable[] b
         0: .line 537
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 2
            aload 1 /* b */
            ifnonnull 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 539
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         4: .line 540
            iload 2 /* len */
            aload 1 /* b */
            arraylength
            if_icmpeq 5
            iconst_0
            ireturn
         5: .line 541
      StackMap locals: int
      StackMap stack:
            iload 2 /* len */
            iconst_2
            if_icmplt 8
         6: .line 542
            aload 0 /* a */
            invokestatic org.eclipse.jdt.internal.core.util.Util.sortCopy:([Lorg/eclipse/jdt/internal/core/util/Util$Comparable;)[Lorg/eclipse/jdt/internal/core/util/Util$Comparable;
            astore 0 /* a */
         7: .line 543
            aload 1 /* b */
            invokestatic org.eclipse.jdt.internal.core.util.Util.sortCopy:([Lorg/eclipse/jdt/internal/core/util/Util$Comparable;)[Lorg/eclipse/jdt/internal/core/util/Util$Comparable;
            astore 1 /* b */
         8: .line 545
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 12
        10: .line 546
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            aaload
            aload 1 /* b */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 11
            iconst_0
            ireturn
        11: .line 545
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 10
        end local 3 // int i
        13: .line 548
            iconst_1
            ireturn
        end local 2 // int len
        end local 1 // org.eclipse.jdt.internal.core.util.Util$Comparable[] b
        end local 0 // org.eclipse.jdt.internal.core.util.Util$Comparable[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0     a  [Lorg/eclipse/jdt/internal/core/util/Util$Comparable;
            0   14     1     b  [Lorg/eclipse/jdt/internal/core/util/Util$Comparable;
            4   14     2   len  I
            9   13     3     i  I
    MethodParameters:
      Name  Flags
      a     
      b     

  public static boolean equalArraysOrNullSortFirst(java.lang.String[], java.lang.String[]);
    descriptor: ([Ljava/lang/String;[Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String[] a
        start local 1 // java.lang.String[] b
         0: .line 562
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 563
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 2
            aload 1 /* b */
            ifnonnull 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 564
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         4: .line 565
            iload 2 /* len */
            aload 1 /* b */
            arraylength
            if_icmpeq 5
            iconst_0
            ireturn
         5: .line 566
      StackMap locals: int
      StackMap stack:
            iload 2 /* len */
            iconst_2
            if_icmplt 8
         6: .line 567
            aload 0 /* a */
            invokestatic org.eclipse.jdt.internal.core.util.Util.sortCopy:([Ljava/lang/String;)[Ljava/lang/String;
            astore 0 /* a */
         7: .line 568
            aload 1 /* b */
            invokestatic org.eclipse.jdt.internal.core.util.Util.sortCopy:([Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* b */
         8: .line 570
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 12
        10: .line 571
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            aaload
            aload 1 /* b */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            iconst_0
            ireturn
        11: .line 570
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 10
        end local 3 // int i
        13: .line 573
            iconst_1
            ireturn
        end local 2 // int len
        end local 1 // java.lang.String[] b
        end local 0 // java.lang.String[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0     a  [Ljava/lang/String;
            0   14     1     b  [Ljava/lang/String;
            4   14     2   len  I
            9   13     3     i  I
    MethodParameters:
      Name  Flags
      a     
      b     

  public static boolean equalOrNull(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object a
        start local 1 // java.lang.Object b
         0: .line 584
            aload 0 /* a */
            aload 1 /* b */
            if_acmpne 2
         1: .line 585
            iconst_1
            ireturn
         2: .line 587
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* b */
            ifnonnull 4
         3: .line 588
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 590
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            aload 1 /* b */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object b
        end local 0 // java.lang.Object a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     a  Ljava/lang/Object;
            0    5     1     b  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     
      b     

  public static boolean equalsIgnoreJavaLikeExtension(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // java.lang.String fileName
        start local 1 // java.lang.String string
         0: .line 599
            aload 0 /* fileName */
            invokevirtual java.lang.String.length:()I
            istore 2 /* fileNameLength */
        start local 2 // int fileNameLength
         1: .line 600
            aload 1 /* string */
            invokevirtual java.lang.String.length:()I
            istore 3 /* stringLength */
        start local 3 // int stringLength
         2: .line 601
            iload 2 /* fileNameLength */
            iload 3 /* stringLength */
            if_icmpge 3
            iconst_0
            ireturn
         3: .line 602
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 603
      StackMap locals: int
      StackMap stack:
            aload 0 /* fileName */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            aload 1 /* string */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 7
         6: .line 604
            iconst_0
            ireturn
         7: .line 602
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 3 /* stringLength */
            if_icmplt 5
        end local 4 // int i
         9: .line 607
            invokestatic org.eclipse.jdt.internal.core.util.Util.getJavaLikeExtensions:()[[C
            astore 4 /* javaLikeExtensions */
        start local 4 // char[][] javaLikeExtensions
        10: .line 608
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        11: aload 4 /* javaLikeExtensions */
            arraylength
            istore 6 /* length */
        start local 6 // int length
        12: goto 25
        13: .line 609
      StackMap locals: java.lang.String java.lang.String int int char[][] int int
      StackMap stack:
            aload 4 /* javaLikeExtensions */
            iload 5 /* i */
            aaload
            astore 7 /* suffix */
        start local 7 // char[] suffix
        14: .line 610
            iload 3 /* stringLength */
            iconst_1
            iadd
            istore 8 /* extensionStart */
        start local 8 // int extensionStart
        15: .line 611
            iload 8 /* extensionStart */
            aload 7 /* suffix */
            arraylength
            iadd
            iload 2 /* fileNameLength */
            if_icmpeq 16
            goto 24
        16: .line 612
      StackMap locals: char[] int
      StackMap stack:
            aload 0 /* fileName */
            iload 3 /* stringLength */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpeq 17
            goto 24
        17: .line 613
      StackMap locals:
      StackMap stack:
            iload 8 /* extensionStart */
            istore 9 /* j */
        start local 9 // int j
        18: goto 22
        19: .line 614
      StackMap locals: int
      StackMap stack:
            aload 0 /* fileName */
            iload 9 /* j */
            invokevirtual java.lang.String.charAt:(I)C
            aload 7 /* suffix */
            iload 9 /* j */
            iload 8 /* extensionStart */
            isub
            caload
            if_icmpeq 21
        20: .line 615
            goto 24
        21: .line 613
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        22: iload 9 /* j */
            iload 2 /* fileNameLength */
            if_icmplt 19
        end local 9 // int j
        23: .line 617
            iconst_1
            ireturn
        end local 8 // int extensionStart
        end local 7 // char[] suffix
        24: .line 608
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 5 /* i */
            iload 6 /* length */
            if_icmplt 13
        end local 6 // int length
        end local 5 // int i
        26: .line 619
            iconst_0
            ireturn
        end local 4 // char[][] javaLikeExtensions
        end local 3 // int stringLength
        end local 2 // int fileNameLength
        end local 1 // java.lang.String string
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   27     0            fileName  Ljava/lang/String;
            0   27     1              string  Ljava/lang/String;
            1   27     2      fileNameLength  I
            2   27     3        stringLength  I
            4    9     4                   i  I
           10   27     4  javaLikeExtensions  [[C
           11   26     5                   i  I
           12   26     6              length  I
           14   24     7              suffix  [C
           15   24     8      extensionStart  I
           18   23     9                   j  I
    MethodParameters:
          Name  Flags
      fileName  
      string    

  public static java.lang.String extractLastName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String qualifiedName
         0: .line 627
            aload 0 /* qualifiedName */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 1 /* i */
        start local 1 // int i
         1: .line 628
            iload 1 /* i */
            iconst_m1
            if_icmpne 2
            aload 0 /* qualifiedName */
            areturn
         2: .line 629
      StackMap locals: int
      StackMap stack:
            aload 0 /* qualifiedName */
            iload 1 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 1 // int i
        end local 0 // java.lang.String qualifiedName
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0  qualifiedName  Ljava/lang/String;
            1    3     1              i  I
    MethodParameters:
               Name  Flags
      qualifiedName  

  public static java.lang.String[] extractParameterTypes(char[]);
    descriptor: ([C)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // char[] sig
         0: .line 636
            aload 0 /* sig */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getParameterCount:([C)I
            istore 1 /* count */
        start local 1 // int count
         1: .line 637
            iload 1 /* count */
            anewarray java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String[] result
         2: .line 638
            iload 1 /* count */
            ifne 4
         3: .line 639
            aload 2 /* result */
            areturn
         4: .line 640
      StackMap locals: int java.lang.String[]
      StackMap stack:
            bipush 40
            aload 0 /* sig */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[C)I
            iconst_1
            iadd
            istore 3 /* i */
        start local 3 // int i
         5: .line 641
            iconst_0
            istore 1 /* count */
         6: .line 642
            aload 0 /* sig */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         7: .line 643
            iload 3 /* i */
            istore 5 /* start */
        start local 5 // int start
         8: .line 645
      StackMap locals: int int int
      StackMap stack:
            iload 3 /* i */
            iload 4 /* len */
            if_icmpne 10
         9: .line 646
            goto 28
        10: .line 647
      StackMap locals:
      StackMap stack:
            aload 0 /* sig */
            iload 3 /* i */
            caload
            istore 6 /* c */
        start local 6 // char c
        11: .line 648
            iload 6 /* c */
            bipush 41
            if_icmpne 13
        12: .line 649
            goto 28
        13: .line 650
      StackMap locals: int
      StackMap stack:
            iload 6 /* c */
            bipush 91
            if_icmpne 16
        14: .line 651
            iinc 3 /* i */ 1
        15: .line 652
            goto 8
        16: .line 653
      StackMap locals:
      StackMap stack:
            iload 6 /* c */
            bipush 76
            if_icmpne 24
        17: .line 654
            bipush 59
            aload 0 /* sig */
            iload 3 /* i */
            iconst_1
            iadd
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[CI)I
            iconst_1
            iadd
            istore 3 /* i */
        18: .line 655
            iload 3 /* i */
            ifeq 19
            iconst_1
            goto 20
      StackMap locals:
      StackMap stack:
        19: iconst_0
      StackMap locals:
      StackMap stack: int
        20: invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
        21: .line 656
            aload 2 /* result */
            iload 1 /* count */
            iinc 1 /* count */ 1
            aload 0 /* sig */
            iload 5 /* start */
            iload 3 /* i */
            iload 5 /* start */
            isub
            invokestatic org.eclipse.jdt.internal.core.util.Util.convertTypeSignature:([CII)Ljava/lang/String;
            aastore
        22: .line 657
            iload 3 /* i */
            istore 5 /* start */
        23: .line 658
            goto 8
        24: .line 659
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        25: .line 660
            aload 2 /* result */
            iload 1 /* count */
            iinc 1 /* count */ 1
            aload 0 /* sig */
            iload 5 /* start */
            iload 3 /* i */
            iload 5 /* start */
            isub
            invokestatic org.eclipse.jdt.internal.core.util.Util.convertTypeSignature:([CII)Ljava/lang/String;
            aastore
        26: .line 661
            iload 3 /* i */
            istore 5 /* start */
        end local 6 // char c
        27: .line 644
            goto 8
        28: .line 664
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 5 // int start
        end local 4 // int len
        end local 3 // int i
        end local 2 // java.lang.String[] result
        end local 1 // int count
        end local 0 // char[] sig
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   29     0     sig  [C
            1   29     1   count  I
            2   29     2  result  [Ljava/lang/String;
            5   29     3       i  I
            7   29     4     len  I
            8   29     5   start  I
           11   27     6       c  C
    MethodParameters:
      Name  Flags
      sig   

  public static java.lang.String extractReturnType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String sig
         0: .line 671
            aload 0 /* sig */
            bipush 41
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 1 /* i */
        start local 1 // int i
         1: .line 672
            iload 1 /* i */
            iconst_m1
            if_icmpeq 2
            iconst_1
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
         4: .line 673
            aload 0 /* sig */
            iload 1 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 1 // int i
        end local 0 // java.lang.String sig
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   sig  Ljava/lang/String;
            1    5     1     i  I
    MethodParameters:
      Name  Flags
      sig   

  private static org.eclipse.core.resources.IFile findFirstClassFile(org.eclipse.core.resources.IFolder);
    descriptor: (Lorg/eclipse/core/resources/IFolder;)Lorg/eclipse/core/resources/IFile;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.eclipse.core.resources.IFolder folder
         0: .line 677
            aload 0 /* folder */
            invokeinterface org.eclipse.core.resources.IFolder.members:()[Lorg/eclipse/core/resources/IResource;
            astore 1 /* members */
        start local 1 // org.eclipse.core.resources.IResource[] members
         1: .line 678
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: aload 1 /* members */
            arraylength
            istore 3 /* max */
        start local 3 // int max
         3: goto 12
         4: .line 679
      StackMap locals: org.eclipse.core.resources.IResource[] int int
      StackMap stack:
            aload 1 /* members */
            iload 2 /* i */
            aaload
            astore 4 /* member */
        start local 4 // org.eclipse.core.resources.IResource member
         5: .line 680
            aload 4 /* member */
            invokeinterface org.eclipse.core.resources.IResource.getType:()I
            iconst_2
            if_icmpne 8
         6: .line 681
            aload 4 /* member */
            checkcast org.eclipse.core.resources.IFolder
            invokestatic org.eclipse.jdt.internal.core.util.Util.findFirstClassFile:(Lorg/eclipse/core/resources/IFolder;)Lorg/eclipse/core/resources/IFile;
         7: areturn
         8: .line 682
      StackMap locals: org.eclipse.core.resources.IResource
      StackMap stack:
            aload 4 /* member */
            invokeinterface org.eclipse.core.resources.IResource.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.isClassFileName:(Ljava/lang/String;)Z
            ifeq 11
         9: .line 683
            aload 4 /* member */
            checkcast org.eclipse.core.resources.IFile
        10: areturn
        end local 4 // org.eclipse.core.resources.IResource member
        11: .line 678
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 2 /* i */
            iload 3 /* max */
            if_icmplt 4
        end local 3 // int max
        end local 2 // int i
        end local 1 // org.eclipse.core.resources.IResource[] members
        13: .line 686
            goto 15
      StackMap locals: org.eclipse.core.resources.IFolder
      StackMap stack: org.eclipse.core.runtime.CoreException
        14: pop
        15: .line 689
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.eclipse.core.resources.IFolder folder
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0   folder  Lorg/eclipse/core/resources/IFolder;
            1   13     1  members  [Lorg/eclipse/core/resources/IResource;
            2   13     2        i  I
            3   13     3      max  I
            5   11     4   member  Lorg/eclipse/core/resources/IResource;
      Exception table:
        from    to  target  type
           0     7      14  Class org.eclipse.core.runtime.CoreException
           8    10      14  Class org.eclipse.core.runtime.CoreException
          11    13      14  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
        Name  Flags
      folder  

  public static java.lang.String findLineSeparator(char[]);
    descriptor: ([C)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // char[] text
         0: .line 700
            aload 0 /* text */
            arraylength
            istore 1 /* length */
        start local 1 // int length
         1: .line 701
            iload 1 /* length */
            ifle 16
         2: .line 702
            aload 0 /* text */
            iconst_0
            caload
            istore 2 /* nextChar */
        start local 2 // char nextChar
         3: .line 703
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 15
         5: .line 704
      StackMap locals: int int int
      StackMap stack:
            iload 2 /* nextChar */
            istore 4 /* currentChar */
        start local 4 // char currentChar
         6: .line 705
            iload 3 /* i */
            iload 1 /* length */
            iconst_1
            isub
            if_icmpge 7
            aload 0 /* text */
            iload 3 /* i */
            iconst_1
            iadd
            caload
            goto 8
      StackMap locals: int
      StackMap stack:
         7: bipush 32
      StackMap locals:
      StackMap stack: int
         8: istore 2 /* nextChar */
         9: .line 706
            iload 4 /* currentChar */
            tableswitch { // 10 - 13
                   10: 10
                   11: 14
                   12: 14
                   13: 11
              default: 14
          }
        10: .line 707
      StackMap locals:
      StackMap stack:
            ldc "\n"
            areturn
        11: .line 708
      StackMap locals:
      StackMap stack:
            iload 2 /* nextChar */
            bipush 10
            if_icmpne 12
            ldc "\r\n"
            goto 13
      StackMap locals:
      StackMap stack:
        12: ldc "\r"
      StackMap locals:
      StackMap stack: java.lang.String
        13: areturn
        end local 4 // char currentChar
        14: .line 703
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 5
        end local 3 // int i
        end local 2 // char nextChar
        16: .line 713
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int length
        end local 0 // char[] text
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         text  [C
            1   17     1       length  I
            3   16     2     nextChar  C
            4   16     3            i  I
            6   14     4  currentChar  C
    MethodParameters:
      Name  Flags
      text  

  public static org.eclipse.jdt.core.util.IClassFileAttribute getAttribute(org.eclipse.jdt.core.util.IClassFileReader, char[]);
    descriptor: (Lorg/eclipse/jdt/core/util/IClassFileReader;[C)Lorg/eclipse/jdt/core/util/IClassFileAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.core.util.IClassFileReader classFileReader
        start local 1 // char[] attributeName
         0: .line 717
            aload 0 /* classFileReader */
            invokeinterface org.eclipse.jdt.core.util.IClassFileReader.getAttributes:()[Lorg/eclipse/jdt/core/util/IClassFileAttribute;
            astore 2 /* attributes */
        start local 2 // org.eclipse.jdt.core.util.IClassFileAttribute[] attributes
         1: .line 718
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 2 /* attributes */
            arraylength
            istore 4 /* max */
        start local 4 // int max
         3: goto 7
         4: .line 719
      StackMap locals: org.eclipse.jdt.core.util.IClassFileAttribute[] int int
      StackMap stack:
            aload 2 /* attributes */
            iload 3 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.util.IClassFileAttribute.getAttributeName:()[C
            aload 1 /* attributeName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 6
         5: .line 720
            aload 2 /* attributes */
            iload 3 /* i */
            aaload
            areturn
         6: .line 718
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 4 /* max */
            if_icmplt 4
        end local 4 // int max
        end local 3 // int i
         8: .line 723
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.core.util.IClassFileAttribute[] attributes
        end local 1 // char[] attributeName
        end local 0 // org.eclipse.jdt.core.util.IClassFileReader classFileReader
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0  classFileReader  Lorg/eclipse/jdt/core/util/IClassFileReader;
            0    9     1    attributeName  [C
            1    9     2       attributes  [Lorg/eclipse/jdt/core/util/IClassFileAttribute;
            2    8     3                i  I
            3    8     4              max  I
    MethodParameters:
                 Name  Flags
      classFileReader  
      attributeName    

  public static org.eclipse.jdt.core.util.IClassFileAttribute getAttribute(org.eclipse.jdt.core.util.ICodeAttribute, char[]);
    descriptor: (Lorg/eclipse/jdt/core/util/ICodeAttribute;[C)Lorg/eclipse/jdt/core/util/IClassFileAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.core.util.ICodeAttribute codeAttribute
        start local 1 // char[] attributeName
         0: .line 727
            aload 0 /* codeAttribute */
            invokeinterface org.eclipse.jdt.core.util.ICodeAttribute.getAttributes:()[Lorg/eclipse/jdt/core/util/IClassFileAttribute;
            astore 2 /* attributes */
        start local 2 // org.eclipse.jdt.core.util.IClassFileAttribute[] attributes
         1: .line 728
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 2 /* attributes */
            arraylength
            istore 4 /* max */
        start local 4 // int max
         3: goto 7
         4: .line 729
      StackMap locals: org.eclipse.jdt.core.util.IClassFileAttribute[] int int
      StackMap stack:
            aload 2 /* attributes */
            iload 3 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.util.IClassFileAttribute.getAttributeName:()[C
            aload 1 /* attributeName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 6
         5: .line 730
            aload 2 /* attributes */
            iload 3 /* i */
            aaload
            areturn
         6: .line 728
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 4 /* max */
            if_icmplt 4
        end local 4 // int max
        end local 3 // int i
         8: .line 733
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.core.util.IClassFileAttribute[] attributes
        end local 1 // char[] attributeName
        end local 0 // org.eclipse.jdt.core.util.ICodeAttribute codeAttribute
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0  codeAttribute  Lorg/eclipse/jdt/core/util/ICodeAttribute;
            0    9     1  attributeName  [C
            1    9     2     attributes  [Lorg/eclipse/jdt/core/util/IClassFileAttribute;
            2    8     3              i  I
            3    8     4            max  I
    MethodParameters:
               Name  Flags
      codeAttribute  
      attributeName  

  public static org.eclipse.jdt.core.util.IClassFileAttribute getAttribute(org.eclipse.jdt.core.util.IFieldInfo, char[]);
    descriptor: (Lorg/eclipse/jdt/core/util/IFieldInfo;[C)Lorg/eclipse/jdt/core/util/IClassFileAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.core.util.IFieldInfo fieldInfo
        start local 1 // char[] attributeName
         0: .line 737
            aload 0 /* fieldInfo */
            invokeinterface org.eclipse.jdt.core.util.IFieldInfo.getAttributes:()[Lorg/eclipse/jdt/core/util/IClassFileAttribute;
            astore 2 /* attributes */
        start local 2 // org.eclipse.jdt.core.util.IClassFileAttribute[] attributes
         1: .line 738
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 2 /* attributes */
            arraylength
            istore 4 /* max */
        start local 4 // int max
         3: goto 7
         4: .line 739
      StackMap locals: org.eclipse.jdt.core.util.IClassFileAttribute[] int int
      StackMap stack:
            aload 2 /* attributes */
            iload 3 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.util.IClassFileAttribute.getAttributeName:()[C
            aload 1 /* attributeName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 6
         5: .line 740
            aload 2 /* attributes */
            iload 3 /* i */
            aaload
            areturn
         6: .line 738
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 4 /* max */
            if_icmplt 4
        end local 4 // int max
        end local 3 // int i
         8: .line 743
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.core.util.IClassFileAttribute[] attributes
        end local 1 // char[] attributeName
        end local 0 // org.eclipse.jdt.core.util.IFieldInfo fieldInfo
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0      fieldInfo  Lorg/eclipse/jdt/core/util/IFieldInfo;
            0    9     1  attributeName  [C
            1    9     2     attributes  [Lorg/eclipse/jdt/core/util/IClassFileAttribute;
            2    8     3              i  I
            3    8     4            max  I
    MethodParameters:
               Name  Flags
      fieldInfo      
      attributeName  

  public static org.eclipse.jdt.core.util.IClassFileAttribute getAttribute(org.eclipse.jdt.core.util.IMethodInfo, char[]);
    descriptor: (Lorg/eclipse/jdt/core/util/IMethodInfo;[C)Lorg/eclipse/jdt/core/util/IClassFileAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.core.util.IMethodInfo methodInfo
        start local 1 // char[] attributeName
         0: .line 747
            aload 0 /* methodInfo */
            invokeinterface org.eclipse.jdt.core.util.IMethodInfo.getAttributes:()[Lorg/eclipse/jdt/core/util/IClassFileAttribute;
            astore 2 /* attributes */
        start local 2 // org.eclipse.jdt.core.util.IClassFileAttribute[] attributes
         1: .line 748
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 2 /* attributes */
            arraylength
            istore 4 /* max */
        start local 4 // int max
         3: goto 7
         4: .line 749
      StackMap locals: org.eclipse.jdt.core.util.IClassFileAttribute[] int int
      StackMap stack:
            aload 2 /* attributes */
            iload 3 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.util.IClassFileAttribute.getAttributeName:()[C
            aload 1 /* attributeName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifeq 6
         5: .line 750
            aload 2 /* attributes */
            iload 3 /* i */
            aaload
            areturn
         6: .line 748
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 4 /* max */
            if_icmplt 4
        end local 4 // int max
        end local 3 // int i
         8: .line 753
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.core.util.IClassFileAttribute[] attributes
        end local 1 // char[] attributeName
        end local 0 // org.eclipse.jdt.core.util.IMethodInfo methodInfo
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0     methodInfo  Lorg/eclipse/jdt/core/util/IMethodInfo;
            0    9     1  attributeName  [C
            1    9     2     attributes  [Lorg/eclipse/jdt/core/util/IClassFileAttribute;
            2    8     3              i  I
            3    8     4            max  I
    MethodParameters:
               Name  Flags
      methodInfo     
      attributeName  

  private static org.eclipse.jdt.core.IClassFile getClassFile(char[]);
    descriptor: ([C)Lorg/eclipse/jdt/core/IClassFile;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // char[] fileName
         0: .line 757
            bipush 124
            aload 0 /* fileName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[C)I
            istore 1 /* jarSeparator */
        start local 1 // int jarSeparator
         1: .line 758
            bipush 47
            aload 0 /* fileName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.lastIndexOf:(C[C)I
            istore 2 /* pkgEnd */
        start local 2 // int pkgEnd
         2: .line 759
            iload 2 /* pkgEnd */
            iconst_m1
            if_icmpne 4
         3: .line 760
            getstatic java.io.File.separatorChar:C
            aload 0 /* fileName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.lastIndexOf:(C[C)I
            istore 2 /* pkgEnd */
         4: .line 761
      StackMap locals: int int
      StackMap stack:
            iload 1 /* jarSeparator */
            iconst_m1
            if_icmpeq 6
            iload 2 /* pkgEnd */
            iload 1 /* jarSeparator */
            if_icmpge 6
         5: .line 762
            iload 1 /* jarSeparator */
            istore 2 /* pkgEnd */
         6: .line 763
      StackMap locals:
      StackMap stack:
            iload 2 /* pkgEnd */
            iconst_m1
            if_icmpne 8
         7: .line 764
            aconst_null
            areturn
         8: .line 765
      StackMap locals:
      StackMap stack:
            aload 0 /* fileName */
            iload 2 /* pkgEnd */
            iload 1 /* jarSeparator */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getPackageFragment:([CII)Lorg/eclipse/jdt/core/IPackageFragment;
            astore 3 /* pkg */
        start local 3 // org.eclipse.jdt.core.IPackageFragment pkg
         9: .line 766
            aload 3 /* pkg */
            ifnonnull 10
            aconst_null
            areturn
        10: .line 768
      StackMap locals: org.eclipse.jdt.core.IPackageFragment
      StackMap stack:
            aload 3 /* pkg */
            new java.lang.String
            dup
            aload 0 /* fileName */
            iload 2 /* pkgEnd */
            iconst_1
            iadd
            dup
            istore 4 /* start */
        start local 4 // int start
        11: aload 0 /* fileName */
            arraylength
            iload 4 /* start */
            isub
            invokespecial java.lang.String.<init>:([CII)V
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getClassFile:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IClassFile;
            areturn
        end local 4 // int start
        end local 3 // org.eclipse.jdt.core.IPackageFragment pkg
        end local 2 // int pkgEnd
        end local 1 // int jarSeparator
        end local 0 // char[] fileName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0      fileName  [C
            1   12     1  jarSeparator  I
            2   12     2        pkgEnd  I
            9   12     3           pkg  Lorg/eclipse/jdt/core/IPackageFragment;
           11   12     4         start  I
    MethodParameters:
          Name  Flags
      fileName  

  private static org.eclipse.jdt.core.ICompilationUnit getCompilationUnit(char[], org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: ([CLorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/ICompilationUnit;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // char[] fileName
        start local 1 // org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner
         0: .line 772
            aload 0 /* fileName */
            getstatic java.io.File.separatorChar:C
            bipush 47
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replaceOnCopy:([CCC)[C
            astore 2 /* slashSeparatedFileName */
        start local 2 // char[] slashSeparatedFileName
         1: .line 773
            bipush 47
            aload 2 /* slashSeparatedFileName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.lastIndexOf:(C[C)I
            istore 3 /* pkgEnd */
        start local 3 // int pkgEnd
         2: .line 774
            iload 3 /* pkgEnd */
            iconst_m1
            if_icmpne 4
         3: .line 775
            aconst_null
            areturn
         4: .line 776
      StackMap locals: char[] int
      StackMap stack:
            aload 2 /* slashSeparatedFileName */
            iload 3 /* pkgEnd */
            iconst_m1
            invokestatic org.eclipse.jdt.internal.core.util.Util.getPackageFragment:([CII)Lorg/eclipse/jdt/core/IPackageFragment;
            astore 4 /* pkg */
        start local 4 // org.eclipse.jdt.core.IPackageFragment pkg
         5: .line 777
            aload 4 /* pkg */
            ifnull 13
         6: .line 779
            aload 4 /* pkg */
            new java.lang.String
            dup
            aload 2 /* slashSeparatedFileName */
            iload 3 /* pkgEnd */
            iconst_1
            iadd
            dup
            istore 5 /* start */
        start local 5 // int start
         7: aload 2 /* slashSeparatedFileName */
            arraylength
            iload 5 /* start */
            isub
            invokespecial java.lang.String.<init>:([CII)V
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getCompilationUnit:(Ljava/lang/String;)Lorg/eclipse/jdt/core/ICompilationUnit;
            astore 6 /* cu */
        start local 6 // org.eclipse.jdt.core.ICompilationUnit cu
         8: .line 780
            aload 1 /* workingCopyOwner */
            ifnull 12
         9: .line 781
            aload 6 /* cu */
            aload 1 /* workingCopyOwner */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.findWorkingCopy:(Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/ICompilationUnit;
            astore 7 /* workingCopy */
        start local 7 // org.eclipse.jdt.core.ICompilationUnit workingCopy
        10: .line 782
            aload 7 /* workingCopy */
            ifnull 12
        11: .line 783
            aload 7 /* workingCopy */
            areturn
        end local 7 // org.eclipse.jdt.core.ICompilationUnit workingCopy
        12: .line 785
      StackMap locals: org.eclipse.jdt.core.IPackageFragment int org.eclipse.jdt.core.ICompilationUnit
      StackMap stack:
            aload 6 /* cu */
            areturn
        end local 6 // org.eclipse.jdt.core.ICompilationUnit cu
        end local 5 // int start
        13: .line 787
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            astore 5 /* wsRoot */
        start local 5 // org.eclipse.core.resources.IWorkspaceRoot wsRoot
        14: .line 788
            aload 5 /* wsRoot */
            new org.eclipse.core.runtime.Path
            dup
            aload 0 /* fileName */
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getFile:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IFile;
            astore 6 /* file */
        start local 6 // org.eclipse.core.resources.IFile file
        15: .line 789
            aload 6 /* file */
            invokeinterface org.eclipse.core.resources.IFile.exists:()Z
            ifeq 17
        16: .line 791
            aload 6 /* file */
            invokestatic org.eclipse.jdt.core.JavaCore.createCompilationUnitFrom:(Lorg/eclipse/core/resources/IFile;)Lorg/eclipse/jdt/core/ICompilationUnit;
            areturn
        17: .line 793
      StackMap locals: org.eclipse.core.resources.IWorkspaceRoot org.eclipse.core.resources.IFile
      StackMap stack:
            aconst_null
            areturn
        end local 6 // org.eclipse.core.resources.IFile file
        end local 5 // org.eclipse.core.resources.IWorkspaceRoot wsRoot
        end local 4 // org.eclipse.jdt.core.IPackageFragment pkg
        end local 3 // int pkgEnd
        end local 2 // char[] slashSeparatedFileName
        end local 1 // org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner
        end local 0 // char[] fileName
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   18     0                fileName  [C
            0   18     1        workingCopyOwner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            1   18     2  slashSeparatedFileName  [C
            2   18     3                  pkgEnd  I
            5   18     4                     pkg  Lorg/eclipse/jdt/core/IPackageFragment;
            7   13     5                   start  I
            8   13     6                      cu  Lorg/eclipse/jdt/core/ICompilationUnit;
           10   12     7             workingCopy  Lorg/eclipse/jdt/core/ICompilationUnit;
           14   18     5                  wsRoot  Lorg/eclipse/core/resources/IWorkspaceRoot;
           15   18     6                    file  Lorg/eclipse/core/resources/IFile;
    MethodParameters:
                  Name  Flags
      fileName          
      workingCopyOwner  

  public static char[][] getJavaLikeExtensions();
    descriptor: ()[[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=0
         0: .line 800
            getstatic org.eclipse.jdt.internal.core.util.Util.JAVA_LIKE_EXTENSIONS:[[C
            ifnonnull 29
         1: .line 801
            invokestatic org.eclipse.core.runtime.Platform.getContentTypeManager:()Lorg/eclipse/core/runtime/content/IContentTypeManager;
            ldc "org.eclipse.jdt.core.javaSource"
            invokeinterface org.eclipse.core.runtime.content.IContentTypeManager.getContentType:(Ljava/lang/String;)Lorg/eclipse/core/runtime/content/IContentType;
            astore 0 /* javaContentType */
        start local 0 // org.eclipse.core.runtime.content.IContentType javaContentType
         2: .line 802
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* fileExtensions */
        start local 1 // java.util.HashSet fileExtensions
         3: .line 804
            invokestatic org.eclipse.core.runtime.Platform.getContentTypeManager:()Lorg/eclipse/core/runtime/content/IContentTypeManager;
            invokeinterface org.eclipse.core.runtime.content.IContentTypeManager.getAllContentTypes:()[Lorg/eclipse/core/runtime/content/IContentType;
            astore 2 /* contentTypes */
        start local 2 // org.eclipse.core.runtime.content.IContentType[] contentTypes
         4: .line 805
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: aload 2 /* contentTypes */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         6: goto 16
         7: .line 806
      StackMap locals: org.eclipse.core.runtime.content.IContentType java.util.HashSet org.eclipse.core.runtime.content.IContentType[] int int
      StackMap stack:
            aload 2 /* contentTypes */
            iload 3 /* i */
            aaload
            aload 0 /* javaContentType */
            invokeinterface org.eclipse.core.runtime.content.IContentType.isKindOf:(Lorg/eclipse/core/runtime/content/IContentType;)Z
            ifeq 15
         8: .line 807
            aload 2 /* contentTypes */
            iload 3 /* i */
            aaload
            bipush 8
            invokeinterface org.eclipse.core.runtime.content.IContentType.getFileSpecs:(I)[Ljava/lang/String;
            astore 5 /* fileExtension */
        start local 5 // java.lang.String[] fileExtension
         9: .line 808
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        10: aload 5 /* fileExtension */
            arraylength
            istore 7 /* length2 */
        start local 7 // int length2
        11: goto 14
        12: .line 809
      StackMap locals: java.lang.String[] int int
      StackMap stack:
            aload 1 /* fileExtensions */
            aload 5 /* fileExtension */
            iload 6 /* j */
            aaload
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        13: .line 808
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        14: iload 6 /* j */
            iload 7 /* length2 */
            if_icmplt 12
        end local 7 // int length2
        end local 6 // int j
        end local 5 // java.lang.String[] fileExtension
        15: .line 805
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 7
        end local 4 // int length
        end local 3 // int i
        17: .line 813
            aload 1 /* fileExtensions */
            invokevirtual java.util.HashSet.size:()I
            istore 3 /* length */
        start local 3 // int length
        18: .line 815
            iload 3 /* length */
            anewarray char[]
            astore 4 /* extensions */
        start local 4 // char[][] extensions
        19: .line 816
            aload 4 /* extensions */
            iconst_0
            ldc "java"
            invokevirtual java.lang.String.toCharArray:()[C
            aastore
        20: .line 817
            iconst_1
            istore 5 /* index */
        start local 5 // int index
        21: .line 818
            aload 1 /* fileExtensions */
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 6 /* iterator */
        start local 6 // java.util.Iterator iterator
        22: .line 819
            goto 27
        23: .line 820
      StackMap locals: org.eclipse.core.runtime.content.IContentType java.util.HashSet org.eclipse.core.runtime.content.IContentType[] int char[][] int java.util.Iterator
      StackMap stack:
            aload 6 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* fileExtension */
        start local 7 // java.lang.String fileExtension
        24: .line 821
            ldc "java"
            aload 7 /* fileExtension */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        25: .line 822
            goto 27
        26: .line 823
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* extensions */
            iload 5 /* index */
            iinc 5 /* index */ 1
            aload 7 /* fileExtension */
            invokevirtual java.lang.String.toCharArray:()[C
            aastore
        end local 7 // java.lang.String fileExtension
        27: .line 819
      StackMap locals:
      StackMap stack:
            aload 6 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        28: .line 825
            aload 4 /* extensions */
            putstatic org.eclipse.jdt.internal.core.util.Util.JAVA_LIKE_EXTENSIONS:[[C
        end local 6 // java.util.Iterator iterator
        end local 5 // int index
        end local 4 // char[][] extensions
        end local 3 // int length
        end local 2 // org.eclipse.core.runtime.content.IContentType[] contentTypes
        end local 1 // java.util.HashSet fileExtensions
        end local 0 // org.eclipse.core.runtime.content.IContentType javaContentType
        29: .line 827
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.util.Util.JAVA_LIKE_EXTENSIONS:[[C
            areturn
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            2   29     0  javaContentType  Lorg/eclipse/core/runtime/content/IContentType;
            3   29     1   fileExtensions  Ljava/util/HashSet;
            4   29     2     contentTypes  [Lorg/eclipse/core/runtime/content/IContentType;
            5   17     3                i  I
            6   17     4           length  I
            9   15     5    fileExtension  [Ljava/lang/String;
           10   15     6                j  I
           11   15     7          length2  I
           18   29     3           length  I
           19   29     4       extensions  [[C
           21   29     5            index  I
           22   29     6         iterator  Ljava/util/Iterator;
           24   27     7    fileExtension  Ljava/lang/String;

  public static long getJdkLevel(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // java.lang.Object targetLibrary
         0: .line 840
            aconst_null
            astore 1 /* reader */
        start local 1 // org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader reader
         1: .line 841
            aload 0 /* targetLibrary */
            instanceof org.eclipse.core.resources.IFolder
            ifeq 6
         2: .line 842
            aload 0 /* targetLibrary */
            checkcast org.eclipse.core.resources.IFolder
            invokestatic org.eclipse.jdt.internal.core.util.Util.findFirstClassFile:(Lorg/eclipse/core/resources/IFolder;)Lorg/eclipse/core/resources/IFile;
            astore 2 /* classFile */
        start local 2 // org.eclipse.core.resources.IFile classFile
         3: .line 843
            aload 2 /* classFile */
            ifnull 35
         4: .line 844
            aload 2 /* classFile */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newClassFileReader:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
            astore 1 /* reader */
        end local 2 // org.eclipse.core.resources.IFile classFile
         5: .line 845
            goto 35
         6: .line 847
      StackMap locals: org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader
      StackMap stack:
            aconst_null
            astore 2 /* jar */
        start local 2 // java.util.zip.ZipFile jar
         7: .line 849
            aconst_null
            astore 3 /* path */
        start local 3 // org.eclipse.core.runtime.IPath path
         8: .line 850
            aload 0 /* targetLibrary */
            instanceof org.eclipse.core.resources.IResource
            ifeq 11
         9: .line 851
            aload 0 /* targetLibrary */
            checkcast org.eclipse.core.resources.IResource
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            astore 3 /* path */
        10: .line 852
            goto 15
      StackMap locals: java.util.zip.ZipFile org.eclipse.core.runtime.IPath
      StackMap stack:
        11: aload 0 /* targetLibrary */
            instanceof java.io.File
            ifeq 15
        12: .line 853
            aload 0 /* targetLibrary */
            checkcast java.io.File
            astore 4 /* f */
        start local 4 // java.io.File f
        13: .line 854
            aload 4 /* f */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 15
        14: .line 855
            new org.eclipse.core.runtime.Path
            dup
            aload 0 /* targetLibrary */
            checkcast java.io.File
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            astore 3 /* path */
        end local 4 // java.io.File f
        15: .line 858
      StackMap locals:
      StackMap stack:
            aload 3 /* path */
            ifnull 34
        16: .line 859
            aload 3 /* path */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.isJrt:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 19
        17: .line 876
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 2 /* jar */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.closeZipFile:(Ljava/util/zip/ZipFile;)V
        18: .line 860
            ldc 3473408
            lreturn
        19: .line 862
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 3 /* path */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getZipFile:(Lorg/eclipse/core/runtime/IPath;)Ljava/util/zip/ZipFile;
            astore 2 /* jar */
        20: .line 863
            aload 2 /* jar */
            invokevirtual java.util.zip.ZipFile.entries:()Ljava/util/Enumeration;
            astore 4 /* e */
        start local 4 // java.util.Enumeration e
        21: goto 27
        22: .line 864
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.util.zip.ZipEntry
            astore 5 /* member */
        start local 5 // java.util.zip.ZipEntry member
        23: .line 865
            aload 5 /* member */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            astore 6 /* entryName */
        start local 6 // java.lang.String entryName
        24: .line 866
            aload 6 /* entryName */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.isClassFileName:(Ljava/lang/String;)Z
            ifeq 27
        25: .line 867
            aload 2 /* jar */
            aload 6 /* entryName */
            invokestatic org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.read:(Ljava/util/zip/ZipFile;Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
            astore 1 /* reader */
        26: .line 868
            goto 34
        end local 6 // java.lang.String entryName
        end local 5 // java.util.zip.ZipEntry member
        27: .line 863
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 22
        end local 4 // java.util.Enumeration e
        end local 3 // org.eclipse.core.runtime.IPath path
        28: .line 873
            goto 34
      StackMap locals: java.lang.Object org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader java.util.zip.ZipFile
      StackMap stack: org.eclipse.core.runtime.CoreException
        29: pop
        30: .line 876
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 2 /* jar */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.closeZipFile:(Ljava/util/zip/ZipFile;)V
            goto 35
        31: .line 875
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        32: .line 876
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 2 /* jar */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.closeZipFile:(Ljava/util/zip/ZipFile;)V
        33: .line 877
            aload 7
            athrow
        34: .line 876
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 2 /* jar */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.closeZipFile:(Ljava/util/zip/ZipFile;)V
        end local 2 // java.util.zip.ZipFile jar
        35: .line 879
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            ifnull 39
        36: .line 880
            aload 1 /* reader */
            invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.getVersion:()J
        37: lreturn
        end local 1 // org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader reader
        38: .line 882
      StackMap locals: java.lang.Object
      StackMap stack: java.lang.Exception
            pop
        39: .line 885
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
        end local 0 // java.lang.Object targetLibrary
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   40     0  targetLibrary  Ljava/lang/Object;
            1   38     1         reader  Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
            3    5     2      classFile  Lorg/eclipse/core/resources/IFile;
            7   35     2            jar  Ljava/util/zip/ZipFile;
            8   28     3           path  Lorg/eclipse/core/runtime/IPath;
           13   15     4              f  Ljava/io/File;
           21   28     4              e  Ljava/util/Enumeration;
           23   27     5         member  Ljava/util/zip/ZipEntry;
           24   27     6      entryName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           7    17      29  Class org.eclipse.core.runtime.CoreException
          19    28      29  Class org.eclipse.core.runtime.CoreException
           7    17      31  any
          19    30      31  any
           0    18      38  Class org.eclipse.core.runtime.CoreException
          19    37      38  Class org.eclipse.core.runtime.CoreException
           0    18      38  Class org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
          19    37      38  Class org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
           0    18      38  Class java.io.IOException
          19    37      38  Class java.io.IOException
    MethodParameters:
               Name  Flags
      targetLibrary  

  public static java.lang.String getNameWithoutJavaLikeExtension(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String fileName
         0: .line 894
            aload 0 /* fileName */
            invokestatic org.eclipse.jdt.internal.core.util.Util.indexOfJavaLikeExtension:(Ljava/lang/String;)I
            istore 1 /* index */
        start local 1 // int index
         1: .line 895
            iload 1 /* index */
            iconst_m1
            if_icmpne 3
         2: .line 896
            aload 0 /* fileName */
            areturn
         3: .line 897
      StackMap locals: int
      StackMap stack:
            aload 0 /* fileName */
            iconst_0
            iload 1 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 1 // int index
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  fileName  Ljava/lang/String;
            1    4     1     index  I
    MethodParameters:
          Name  Flags
      fileName  

  public static java.lang.String getLineSeparator(java.lang.String, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // java.lang.String text
        start local 1 // org.eclipse.jdt.core.IJavaProject project
         0: .line 907
            aconst_null
            astore 2 /* lineSeparator */
        start local 2 // java.lang.String lineSeparator
         1: .line 910
            aload 0 /* text */
            ifnull 5
            aload 0 /* text */
            invokevirtual java.lang.String.length:()I
            ifeq 5
         2: .line 911
            aload 0 /* text */
            invokevirtual java.lang.String.toCharArray:()[C
            invokestatic org.eclipse.jdt.internal.core.util.Util.findLineSeparator:([C)Ljava/lang/String;
            astore 2 /* lineSeparator */
         3: .line 912
            aload 2 /* lineSeparator */
            ifnull 5
         4: .line 913
            aload 2 /* lineSeparator */
            areturn
         5: .line 916
      StackMap locals: java.lang.String
      StackMap stack:
            invokestatic org.eclipse.core.runtime.Platform.isRunning:()Z
            ifeq 15
         6: .line 919
            aload 1 /* project */
            ifnull 11
         7: .line 920
            iconst_1
            anewarray org.eclipse.core.runtime.preferences.IScopeContext
            dup
            iconst_0
            new org.eclipse.core.resources.ProjectScope
            dup
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokespecial org.eclipse.core.resources.ProjectScope.<init>:(Lorg/eclipse/core/resources/IProject;)V
            aastore
            astore 3 /* scopeContext */
        start local 3 // org.eclipse.core.runtime.preferences.IScopeContext[] scopeContext
         8: .line 921
            invokestatic org.eclipse.core.runtime.Platform.getPreferencesService:()Lorg/eclipse/core/runtime/preferences/IPreferencesService;
            ldc "org.eclipse.core.runtime"
            ldc "line.separator"
            aconst_null
            aload 3 /* scopeContext */
            invokeinterface org.eclipse.core.runtime.preferences.IPreferencesService.getString:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Lorg/eclipse/core/runtime/preferences/IScopeContext;)Ljava/lang/String;
            astore 2 /* lineSeparator */
         9: .line 922
            aload 2 /* lineSeparator */
            ifnull 11
        10: .line 923
            aload 2 /* lineSeparator */
            areturn
        end local 3 // org.eclipse.core.runtime.preferences.IScopeContext[] scopeContext
        11: .line 927
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray org.eclipse.core.runtime.preferences.IScopeContext
            dup
            iconst_0
            getstatic org.eclipse.core.runtime.preferences.InstanceScope.INSTANCE:Lorg/eclipse/core/runtime/preferences/IScopeContext;
            aastore
            astore 3 /* scopeContext */
        start local 3 // org.eclipse.core.runtime.preferences.IScopeContext[] scopeContext
        12: .line 928
            invokestatic org.eclipse.core.runtime.Platform.getPreferencesService:()Lorg/eclipse/core/runtime/preferences/IPreferencesService;
            ldc "org.eclipse.core.runtime"
            ldc "line.separator"
            aconst_null
            aload 3 /* scopeContext */
            invokeinterface org.eclipse.core.runtime.preferences.IPreferencesService.getString:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Lorg/eclipse/core/runtime/preferences/IScopeContext;)Ljava/lang/String;
            astore 2 /* lineSeparator */
        13: .line 929
            aload 2 /* lineSeparator */
            ifnull 15
        14: .line 930
            aload 2 /* lineSeparator */
            areturn
        end local 3 // org.eclipse.core.runtime.preferences.IScopeContext[] scopeContext
        15: .line 934
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.util.Util.LINE_SEPARATOR:Ljava/lang/String;
            areturn
        end local 2 // java.lang.String lineSeparator
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // java.lang.String text
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           text  Ljava/lang/String;
            0   16     1        project  Lorg/eclipse/jdt/core/IJavaProject;
            1   16     2  lineSeparator  Ljava/lang/String;
            8   11     3   scopeContext  [Lorg/eclipse/core/runtime/preferences/IScopeContext;
           12   15     3   scopeContext  [Lorg/eclipse/core/runtime/preferences/IScopeContext;
    MethodParameters:
         Name  Flags
      text     
      project  

  private static java.lang.String getLineSeparator(char[], char[]);
    descriptor: ([C[C)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // char[] text
        start local 1 // char[] buffer
         0: .line 945
            aload 1 /* buffer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.findLineSeparator:([C)Ljava/lang/String;
            astore 2 /* lineSeparator */
        start local 2 // java.lang.String lineSeparator
         1: .line 946
            aload 2 /* lineSeparator */
            ifnonnull 5
         2: .line 948
            aload 0 /* text */
            invokestatic org.eclipse.jdt.internal.core.util.Util.findLineSeparator:([C)Ljava/lang/String;
            astore 2 /* lineSeparator */
         3: .line 949
            aload 2 /* lineSeparator */
            ifnonnull 5
         4: .line 951
            aconst_null
            aconst_null
            invokestatic org.eclipse.jdt.internal.core.util.Util.getLineSeparator:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
            areturn
         5: .line 954
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* lineSeparator */
            areturn
        end local 2 // java.lang.String lineSeparator
        end local 1 // char[] buffer
        end local 0 // char[] text
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           text  [C
            0    6     1         buffer  [C
            1    6     2  lineSeparator  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      text    
      buffer  

  public static org.eclipse.jdt.core.IPackageFragment getPackageFragment(char[], int, int);
    descriptor: ([CII)Lorg/eclipse/jdt/core/IPackageFragment;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // char[] fileName
        start local 1 // int pkgEnd
        start local 2 // int jarSeparator
         0: .line 958
            iload 2 /* jarSeparator */
            iconst_m1
            if_icmpeq 8
         1: .line 959
            new java.lang.String
            dup
            aload 0 /* fileName */
            iconst_0
            iload 2 /* jarSeparator */
            invokespecial java.lang.String.<init>:([CII)V
            astore 3 /* jarMemento */
        start local 3 // java.lang.String jarMemento
         2: .line 960
            aload 3 /* jarMemento */
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.PackageFragmentRoot
            astore 4 /* root */
        start local 4 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
         3: .line 961
            iload 1 /* pkgEnd */
            iload 2 /* jarSeparator */
            if_icmpne 5
         4: .line 962
            aload 4 /* root */
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getPackageFragment:([Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/PackageFragment;
            areturn
         5: .line 963
      StackMap locals: java.lang.String org.eclipse.jdt.internal.core.PackageFragmentRoot
      StackMap stack:
            aload 0 /* fileName */
            iload 2 /* jarSeparator */
            iconst_1
            iadd
            iload 1 /* pkgEnd */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            astore 5 /* pkgName */
        start local 5 // char[] pkgName
         6: .line 964
            bipush 47
            aload 5 /* pkgName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitOn:(C[C)[[C
            astore 6 /* compoundName */
        start local 6 // char[][] compoundName
         7: .line 965
            aload 4 /* root */
            aload 6 /* compoundName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.toStrings:([[C)[Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getPackageFragment:([Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/PackageFragment;
            areturn
        end local 6 // char[][] compoundName
        end local 5 // char[] pkgName
        end local 4 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
        end local 3 // java.lang.String jarMemento
         8: .line 967
      StackMap locals:
      StackMap stack:
            new org.eclipse.core.runtime.Path
            dup
            new java.lang.String
            dup
            aload 0 /* fileName */
            iconst_0
            iload 1 /* pkgEnd */
            invokespecial java.lang.String.<init>:([CII)V
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            astore 3 /* path */
        start local 3 // org.eclipse.core.runtime.Path path
         9: .line 968
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            astore 4 /* workspaceRoot */
        start local 4 // org.eclipse.core.resources.IWorkspaceRoot workspaceRoot
        10: .line 969
            aload 3 /* path */
            invokevirtual org.eclipse.core.runtime.Path.segmentCount:()I
            iconst_1
            if_icmpne 11
            aload 4 /* workspaceRoot */
            aload 3 /* path */
            invokevirtual org.eclipse.core.runtime.Path.lastSegment:()Ljava/lang/String;
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getProject:(Ljava/lang/String;)Lorg/eclipse/core/resources/IProject;
            goto 12
      StackMap locals: org.eclipse.core.runtime.Path org.eclipse.core.resources.IWorkspaceRoot
      StackMap stack:
        11: aload 4 /* workspaceRoot */
            aload 3 /* path */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getFolder:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IFolder;
      StackMap locals:
      StackMap stack: org.eclipse.core.resources.IContainer
        12: astore 5 /* folder */
        start local 5 // org.eclipse.core.resources.IContainer folder
        13: .line 970
            aload 5 /* folder */
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IJavaElement;
            astore 6 /* element */
        start local 6 // org.eclipse.jdt.core.IJavaElement element
        14: .line 971
            aload 6 /* element */
            ifnonnull 15
            aconst_null
            areturn
        15: .line 972
      StackMap locals: org.eclipse.core.resources.IContainer org.eclipse.jdt.core.IJavaElement
      StackMap stack:
            aload 6 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            tableswitch { // 2 - 4
                    2: 18
                    3: 17
                    4: 16
              default: 21
          }
        16: .line 974
      StackMap locals:
      StackMap stack:
            aload 6 /* element */
            checkcast org.eclipse.jdt.core.IPackageFragment
            areturn
        17: .line 976
      StackMap locals:
      StackMap stack:
            aload 6 /* element */
            checkcast org.eclipse.jdt.internal.core.PackageFragmentRoot
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getPackageFragment:([Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/PackageFragment;
            areturn
        18: .line 978
      StackMap locals:
      StackMap stack:
            aload 6 /* element */
            checkcast org.eclipse.jdt.core.IJavaProject
            aload 5 /* folder */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoot:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            checkcast org.eclipse.jdt.internal.core.PackageFragmentRoot
            astore 7 /* root */
        start local 7 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
        19: .line 979
            aload 7 /* root */
            ifnonnull 20
            aconst_null
            areturn
        20: .line 980
      StackMap locals: org.eclipse.jdt.internal.core.PackageFragmentRoot
      StackMap stack:
            aload 7 /* root */
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getPackageFragment:([Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/PackageFragment;
            areturn
        end local 7 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
        21: .line 982
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // org.eclipse.jdt.core.IJavaElement element
        end local 5 // org.eclipse.core.resources.IContainer folder
        end local 4 // org.eclipse.core.resources.IWorkspaceRoot workspaceRoot
        end local 3 // org.eclipse.core.runtime.Path path
        end local 2 // int jarSeparator
        end local 1 // int pkgEnd
        end local 0 // char[] fileName
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0       fileName  [C
            0   22     1         pkgEnd  I
            0   22     2   jarSeparator  I
            2    8     3     jarMemento  Ljava/lang/String;
            3    8     4           root  Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;
            6    8     5        pkgName  [C
            7    8     6   compoundName  [[C
            9   22     3           path  Lorg/eclipse/core/runtime/Path;
           10   22     4  workspaceRoot  Lorg/eclipse/core/resources/IWorkspaceRoot;
           13   22     5         folder  Lorg/eclipse/core/resources/IContainer;
           14   22     6        element  Lorg/eclipse/jdt/core/IJavaElement;
           19   21     7           root  Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;
    MethodParameters:
              Name  Flags
      fileName      
      pkgEnd        
      jarSeparator  

  public static int getParameterCount(char[]);
    descriptor: ([C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // char[] sig
         0: .line 990
            bipush 40
            aload 0 /* sig */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[C)I
            iconst_1
            iadd
            istore 1 /* i */
        start local 1 // int i
         1: .line 991
            iload 1 /* i */
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
         4: .line 992
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         5: .line 993
            aload 0 /* sig */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         6: .line 995
      StackMap locals: int int
      StackMap stack:
            iload 1 /* i */
            iload 3 /* len */
            if_icmpne 8
         7: .line 996
            goto 24
         8: .line 997
      StackMap locals:
      StackMap stack:
            aload 0 /* sig */
            iload 1 /* i */
            caload
            istore 4 /* c */
        start local 4 // char c
         9: .line 998
            iload 4 /* c */
            bipush 41
            if_icmpne 11
        10: .line 999
            goto 24
        11: .line 1000
      StackMap locals: int
      StackMap stack:
            iload 4 /* c */
            bipush 91
            if_icmpne 14
        12: .line 1001
            iinc 1 /* i */ 1
        13: .line 1002
            goto 6
        14: .line 1003
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            bipush 76
            if_icmpne 21
        15: .line 1004
            iinc 2 /* count */ 1
        16: .line 1005
            bipush 59
            aload 0 /* sig */
            iload 1 /* i */
            iconst_1
            iadd
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[CI)I
            iconst_1
            iadd
            istore 1 /* i */
        17: .line 1006
            iload 1 /* i */
            ifeq 18
            iconst_1
            goto 19
      StackMap locals:
      StackMap stack:
        18: iconst_0
      StackMap locals:
      StackMap stack: int
        19: invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
        20: .line 1007
            goto 6
        21: .line 1008
      StackMap locals:
      StackMap stack:
            iinc 2 /* count */ 1
        22: .line 1009
            iinc 1 /* i */ 1
        end local 4 // char c
        23: .line 994
            goto 6
        24: .line 1012
      StackMap locals:
      StackMap stack:
            iload 2 /* count */
            ireturn
        end local 3 // int len
        end local 2 // int count
        end local 1 // int i
        end local 0 // char[] sig
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   25     0    sig  [C
            1   25     1      i  I
            5   25     2  count  I
            6   25     3    len  I
            9   23     4      c  C
    MethodParameters:
      Name  Flags
      sig   

  public static java.lang.String getProblemArgumentsForMarker(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String[] arguments
         0: .line 1019
            new java.lang.StringBuffer
            dup
            bipush 10
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 1 /* args */
        start local 1 // java.lang.StringBuffer args
         1: .line 1021
            aload 1 /* args */
            aload 0 /* arguments */
            arraylength
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
         2: .line 1022
            aload 1 /* args */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         3: .line 1025
            iconst_0
            istore 2 /* j */
        start local 2 // int j
         4: goto 12
         5: .line 1026
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            iload 2 /* j */
            ifeq 7
         6: .line 1027
            aload 1 /* args */
            bipush 35
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 1029
      StackMap locals:
      StackMap stack:
            aload 0 /* arguments */
            iload 2 /* j */
            aaload
            invokevirtual java.lang.String.length:()I
            ifne 10
         8: .line 1030
            aload 1 /* args */
            ldc "   "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         9: .line 1031
            goto 11
        10: .line 1032
      StackMap locals:
      StackMap stack:
            aload 0 /* arguments */
            iload 2 /* j */
            aaload
            aload 1 /* args */
            invokestatic org.eclipse.jdt.internal.core.util.Util.encodeArgument:(Ljava/lang/String;Ljava/lang/StringBuffer;)V
        11: .line 1025
      StackMap locals:
      StackMap stack:
            iinc 2 /* j */ 1
      StackMap locals:
      StackMap stack:
        12: iload 2 /* j */
            aload 0 /* arguments */
            arraylength
            if_icmplt 5
        end local 2 // int j
        13: .line 1036
            aload 1 /* args */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer args
        end local 0 // java.lang.String[] arguments
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0  arguments  [Ljava/lang/String;
            1   14     1       args  Ljava/lang/StringBuffer;
            4   13     2          j  I
    MethodParameters:
           Name  Flags
      arguments  

  private static void encodeArgument(java.lang.String, java.lang.StringBuffer);
    descriptor: (Ljava/lang/String;Ljava/lang/StringBuffer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.lang.String argument
        start local 1 // java.lang.StringBuffer buffer
         0: .line 1048
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: aload 0 /* argument */
            invokevirtual java.lang.String.length:()I
            istore 3 /* max */
        start local 3 // int max
         2: goto 9
         3: .line 1049
      StackMap locals: int int
      StackMap stack:
            aload 0 /* argument */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* charAt */
        start local 4 // char charAt
         4: .line 1050
            iload 4 /* charAt */
            tableswitch { // 35 - 35
                   35: 5
              default: 7
          }
         5: .line 1052
      StackMap locals: int
      StackMap stack:
            aload 1 /* buffer */
            bipush 35
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            bipush 35
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 1053
            goto 8
         7: .line 1055
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            iload 4 /* charAt */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 4 // char charAt
         8: .line 1048
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            iload 3 /* max */
            if_icmplt 3
        end local 3 // int max
        end local 2 // int i
        10: .line 1058
            return
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // java.lang.String argument
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0  argument  Ljava/lang/String;
            0   11     1    buffer  Ljava/lang/StringBuffer;
            1   10     2         i  I
            2   10     3       max  I
            4    8     4    charAt  C
    MethodParameters:
          Name  Flags
      argument  
      buffer    

  public static java.lang.String[] getProblemArgumentsFromMarker(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String argumentsString
         0: .line 1064
            aload 0 /* argumentsString */
            ifnonnull 2
         1: .line 1065
            aconst_null
            areturn
         2: .line 1067
      StackMap locals:
      StackMap stack:
            aload 0 /* argumentsString */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 1 /* index */
        start local 1 // int index
         3: .line 1068
            iload 1 /* index */
            iconst_m1
            if_icmpne 5
         4: .line 1069
            aconst_null
            areturn
         5: .line 1071
      StackMap locals: int
      StackMap stack:
            aload 0 /* argumentsString */
            invokevirtual java.lang.String.length:()I
            istore 2 /* length */
        start local 2 // int length
         6: .line 1072
            iconst_0
            istore 3 /* numberOfArg */
        start local 3 // int numberOfArg
         7: .line 1074
            aload 0 /* argumentsString */
            iconst_0
            iload 1 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 3 /* numberOfArg */
         8: .line 1075
            goto 11
      StackMap locals: java.lang.String int int int
      StackMap stack: java.lang.NumberFormatException
         9: pop
        10: .line 1076
            aconst_null
            areturn
        11: .line 1078
      StackMap locals:
      StackMap stack:
            aload 0 /* argumentsString */
            iload 1 /* index */
            iconst_1
            iadd
            iload 2 /* length */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 0 /* argumentsString */
        12: .line 1080
            iload 3 /* numberOfArg */
            aload 0 /* argumentsString */
            invokestatic org.eclipse.jdt.internal.core.util.Util.decodeArgumentString:(ILjava/lang/String;)[Ljava/lang/String;
            areturn
        end local 3 // int numberOfArg
        end local 2 // int length
        end local 1 // int index
        end local 0 // java.lang.String argumentsString
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0  argumentsString  Ljava/lang/String;
            3   13     1            index  I
            6   13     2           length  I
            7   13     3      numberOfArg  I
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.NumberFormatException
    MethodParameters:
                 Name  Flags
      argumentsString  

  private static java.lang.String[] decodeArgumentString(int, java.lang.String);
    descriptor: (ILjava/lang/String;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // int length
        start local 1 // java.lang.String argumentsString
         0: .line 1085
            iload 0 /* length */
            ifne 4
         1: .line 1086
            aload 1 /* argumentsString */
            invokevirtual java.lang.String.length:()I
            ifeq 3
         2: .line 1087
            aconst_null
            areturn
         3: .line 1089
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            areturn
         4: .line 1091
      StackMap locals:
      StackMap stack:
            iload 0 /* length */
            anewarray java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String[] result
         5: .line 1092
            iconst_0
            istore 3 /* count */
        start local 3 // int count
         6: .line 1093
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 4 /* buffer */
        start local 4 // java.lang.StringBuffer buffer
         7: .line 1094
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: aload 1 /* argumentsString */
            invokevirtual java.lang.String.length:()I
            istore 6 /* max */
        start local 6 // int max
         9: goto 29
        10: .line 1095
      StackMap locals: int java.lang.String java.lang.String[] int java.lang.StringBuffer int int
      StackMap stack:
            aload 1 /* argumentsString */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* current */
        start local 7 // char current
        11: .line 1096
            iload 7 /* current */
            tableswitch { // 35 - 35
                   35: 12
              default: 27
          }
        12: .line 1101
      StackMap locals: int
      StackMap stack:
            iload 5 /* i */
            iconst_1
            iadd
            iload 6 /* max */
            if_icmpne 14
        13: .line 1102
            aconst_null
            areturn
        14: .line 1104
      StackMap locals:
      StackMap stack:
            aload 1 /* argumentsString */
            iload 5 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* next */
        start local 8 // char next
        15: .line 1105
            iload 8 /* next */
            bipush 35
            if_icmpne 19
        16: .line 1106
            aload 4 /* buffer */
            bipush 35
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        17: .line 1107
            iinc 5 /* i */ 1
        18: .line 1108
            goto 28
        19: .line 1110
      StackMap locals: int
      StackMap stack:
            aload 4 /* buffer */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            astore 9 /* currentArgumentContents */
        start local 9 // java.lang.String currentArgumentContents
        20: .line 1111
            ldc "   "
            aload 9 /* currentArgumentContents */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        21: .line 1112
            getstatic org.eclipse.jdt.internal.compiler.util.Util.EMPTY_STRING:Ljava/lang/String;
            astore 9 /* currentArgumentContents */
        22: .line 1114
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* result */
            iload 3 /* count */
            iinc 3 /* count */ 1
            aload 9 /* currentArgumentContents */
            aastore
        23: .line 1115
            iload 3 /* count */
            iload 0 /* length */
            if_icmple 25
        24: .line 1117
            aconst_null
            areturn
        25: .line 1119
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            iconst_0
            aload 4 /* buffer */
            invokevirtual java.lang.StringBuffer.length:()I
            invokevirtual java.lang.StringBuffer.delete:(II)Ljava/lang/StringBuffer;
            pop
        end local 9 // java.lang.String currentArgumentContents
        26: .line 1121
            goto 28
        end local 8 // char next
        27: .line 1123
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            iload 7 /* current */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 7 // char current
        28: .line 1094
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 5 /* i */
            iload 6 /* max */
            if_icmplt 10
        end local 6 // int max
        end local 5 // int i
        30: .line 1127
            aload 4 /* buffer */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            astore 5 /* currentArgumentContents */
        start local 5 // java.lang.String currentArgumentContents
        31: .line 1128
            ldc "   "
            aload 5 /* currentArgumentContents */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        32: .line 1129
            getstatic org.eclipse.jdt.internal.compiler.util.Util.EMPTY_STRING:Ljava/lang/String;
            astore 5 /* currentArgumentContents */
        33: .line 1131
      StackMap locals: int java.lang.String java.lang.String[] int java.lang.StringBuffer java.lang.String
      StackMap stack:
            aload 2 /* result */
            iload 3 /* count */
            iinc 3 /* count */ 1
            aload 5 /* currentArgumentContents */
            aastore
        34: .line 1132
            iload 3 /* count */
            iload 0 /* length */
            if_icmple 36
        35: .line 1134
            aconst_null
            areturn
        36: .line 1136
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            iconst_0
            aload 4 /* buffer */
            invokevirtual java.lang.StringBuffer.length:()I
            invokevirtual java.lang.StringBuffer.delete:(II)Ljava/lang/StringBuffer;
            pop
        37: .line 1137
            aload 2 /* result */
            areturn
        end local 5 // java.lang.String currentArgumentContents
        end local 4 // java.lang.StringBuffer buffer
        end local 3 // int count
        end local 2 // java.lang.String[] result
        end local 1 // java.lang.String argumentsString
        end local 0 // int length
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   38     0                   length  I
            0   38     1          argumentsString  Ljava/lang/String;
            5   38     2                   result  [Ljava/lang/String;
            6   38     3                    count  I
            7   38     4                   buffer  Ljava/lang/StringBuffer;
            8   30     5                        i  I
            9   30     6                      max  I
           11   28     7                  current  C
           15   27     8                     next  C
           20   26     9  currentArgumentContents  Ljava/lang/String;
           31   38     5  currentArgumentContents  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      length           
      argumentsString  

  public static byte[] getResourceContentsAsByteArray(org.eclipse.core.resources.IFile);
    descriptor: (Lorg/eclipse/core/resources/IFile;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.eclipse.core.resources.IFile file
         0: .line 1144
            aconst_null
            astore 1 /* stream */
        start local 1 // java.io.InputStream stream
         1: .line 1146
            aload 0 /* file */
            iconst_1
            invokeinterface org.eclipse.core.resources.IFile.getContents:(Z)Ljava/io/InputStream;
            astore 1 /* stream */
         2: .line 1147
            goto 5
      StackMap locals: org.eclipse.core.resources.IFile java.io.InputStream
      StackMap stack: org.eclipse.core.runtime.CoreException
         3: astore 2 /* e */
        start local 2 // org.eclipse.core.runtime.CoreException e
         4: .line 1148
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 2 /* e */
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/core/runtime/CoreException;)V
            athrow
        end local 2 // org.eclipse.core.runtime.CoreException e
         5: .line 1151
      StackMap locals:
      StackMap stack:
            aload 1 /* stream */
            iconst_m1
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.getInputStreamAsByteArray:(Ljava/io/InputStream;I)[B
            astore 4
         6: .line 1156
            aload 1 /* stream */
            invokevirtual java.io.InputStream.close:()V
         7: .line 1157
            goto 9
      StackMap locals: org.eclipse.core.resources.IFile java.io.InputStream top top byte[]
      StackMap stack: java.io.IOException
         8: pop
         9: .line 1151
      StackMap locals:
      StackMap stack:
            aload 4
            areturn
        10: .line 1152
      StackMap locals: org.eclipse.core.resources.IFile java.io.InputStream
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
        11: .line 1153
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 2 /* e */
            sipush 985
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Ljava/lang/Throwable;I)V
            athrow
        end local 2 // java.io.IOException e
        12: .line 1154
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        13: .line 1156
            aload 1 /* stream */
            invokevirtual java.io.InputStream.close:()V
        14: .line 1157
            goto 16
      StackMap locals: org.eclipse.core.resources.IFile java.io.InputStream top java.lang.Throwable
      StackMap stack: java.io.IOException
        15: pop
        16: .line 1160
      StackMap locals:
      StackMap stack:
            aload 3
            athrow
        end local 1 // java.io.InputStream stream
        end local 0 // org.eclipse.core.resources.IFile file
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    file  Lorg/eclipse/core/resources/IFile;
            1   17     1  stream  Ljava/io/InputStream;
            4    5     2       e  Lorg/eclipse/core/runtime/CoreException;
           11   12     2       e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     2       3  Class org.eclipse.core.runtime.CoreException
           6     7       8  Class java.io.IOException
           5     6      10  Class java.io.IOException
           5     6      12  any
          10    12      12  any
          13    14      15  Class java.io.IOException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      file  

  public static char[] getResourceContentsAsCharArray(org.eclipse.core.resources.IFile);
    descriptor: (Lorg/eclipse/core/resources/IFile;)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.core.resources.IFile file
         0: .line 1170
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getCharset:()Ljava/lang/String;
            astore 1 /* encoding */
        start local 1 // java.lang.String encoding
         1: .line 1171
            goto 4
        end local 1 // java.lang.String encoding
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
         2: pop
         3: .line 1173
            aconst_null
            astore 1 /* encoding */
        start local 1 // java.lang.String encoding
         4: .line 1175
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* file */
            aload 1 /* encoding */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getResourceContentsAsCharArray:(Lorg/eclipse/core/resources/IFile;Ljava/lang/String;)[C
            areturn
        end local 1 // java.lang.String encoding
        end local 0 // org.eclipse.core.resources.IFile file
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      file  Lorg/eclipse/core/resources/IFile;
            1    2     1  encoding  Ljava/lang/String;
            4    5     1  encoding  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class org.eclipse.core.runtime.CoreException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      file  

  public static char[] getResourceContentsAsCharArray(org.eclipse.core.resources.IFile, java.lang.String);
    descriptor: (Lorg/eclipse/core/resources/IFile;Ljava/lang/String;)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=9, args_size=2
        start local 0 // org.eclipse.core.resources.IFile file
        start local 1 // java.lang.String encoding
         0: .line 1181
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getLocation:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* location */
        start local 2 // org.eclipse.core.runtime.IPath location
         1: .line 1183
            aload 2 /* location */
            ifnonnull 9
         2: .line 1186
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getLocationURI:()Ljava/net/URI;
            astore 5 /* locationURI */
        start local 5 // java.net.URI locationURI
         3: .line 1187
            aload 5 /* locationURI */
            ifnonnull 5
         4: .line 1188
            new org.eclipse.core.runtime.CoreException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            ldc "org.eclipse.jdt.core"
            getstatic org.eclipse.jdt.internal.core.util.Messages.file_notFound:Ljava/lang/String;
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
         5: .line 1189
      StackMap locals: org.eclipse.core.resources.IFile java.lang.String org.eclipse.core.runtime.IPath top top java.net.URI
      StackMap stack:
            aload 5 /* locationURI */
            invokestatic org.eclipse.core.filesystem.EFS.getStore:(Ljava/net/URI;)Lorg/eclipse/core/filesystem/IFileStore;
            invokeinterface org.eclipse.core.filesystem.IFileStore.fetchInfo:()Lorg/eclipse/core/filesystem/IFileInfo;
            invokeinterface org.eclipse.core.filesystem.IFileInfo.getLength:()J
            lstore 3 /* length */
        end local 5 // java.net.URI locationURI
        start local 3 // long length
         6: .line 1190
            goto 10
        end local 3 // long length
      StackMap locals: org.eclipse.core.resources.IFile java.lang.String org.eclipse.core.runtime.IPath
      StackMap stack: org.eclipse.core.runtime.CoreException
         7: astore 5 /* e */
        start local 5 // org.eclipse.core.runtime.CoreException e
         8: .line 1191
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 5 /* e */
            sipush 969
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Ljava/lang/Throwable;I)V
            athrow
        end local 5 // org.eclipse.core.runtime.CoreException e
         9: .line 1195
      StackMap locals:
      StackMap stack:
            aload 2 /* location */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            invokevirtual java.io.File.length:()J
            lstore 3 /* length */
        start local 3 // long length
        10: .line 1199
      StackMap locals: long
      StackMap stack:
            aconst_null
            astore 5 /* stream */
        start local 5 // java.io.InputStream stream
        11: .line 1201
            aload 0 /* file */
            iconst_1
            invokeinterface org.eclipse.core.resources.IFile.getContents:(Z)Ljava/io/InputStream;
            astore 5 /* stream */
        12: .line 1202
            goto 15
      StackMap locals: org.eclipse.core.resources.IFile java.lang.String org.eclipse.core.runtime.IPath long java.io.InputStream
      StackMap stack: org.eclipse.core.runtime.CoreException
        13: astore 6 /* e */
        start local 6 // org.eclipse.core.runtime.CoreException e
        14: .line 1203
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 6 /* e */
            sipush 969
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Ljava/lang/Throwable;I)V
            athrow
        end local 6 // org.eclipse.core.runtime.CoreException e
        15: .line 1206
      StackMap locals:
      StackMap stack:
            aload 5 /* stream */
            lload 3 /* length */
            l2i
            aload 1 /* encoding */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.getInputStreamAsCharArray:(Ljava/io/InputStream;ILjava/lang/String;)[C
            astore 8
        16: .line 1211
            aload 5 /* stream */
            invokevirtual java.io.InputStream.close:()V
        17: .line 1212
            goto 19
      StackMap locals: org.eclipse.core.resources.IFile java.lang.String org.eclipse.core.runtime.IPath long java.io.InputStream top top char[]
      StackMap stack: java.io.IOException
        18: pop
        19: .line 1206
      StackMap locals:
      StackMap stack:
            aload 8
            areturn
        20: .line 1207
      StackMap locals: org.eclipse.core.resources.IFile java.lang.String org.eclipse.core.runtime.IPath long java.io.InputStream
      StackMap stack: java.io.IOException
            astore 6 /* e */
        start local 6 // java.io.IOException e
        21: .line 1208
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 6 /* e */
            sipush 985
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Ljava/lang/Throwable;I)V
            athrow
        end local 6 // java.io.IOException e
        22: .line 1209
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        23: .line 1211
            aload 5 /* stream */
            invokevirtual java.io.InputStream.close:()V
        24: .line 1212
            goto 26
      StackMap locals: org.eclipse.core.resources.IFile java.lang.String org.eclipse.core.runtime.IPath long java.io.InputStream top java.lang.Throwable
      StackMap stack: java.io.IOException
        25: pop
        26: .line 1215
      StackMap locals:
      StackMap stack:
            aload 7
            athrow
        end local 5 // java.io.InputStream stream
        end local 3 // long length
        end local 2 // org.eclipse.core.runtime.IPath location
        end local 1 // java.lang.String encoding
        end local 0 // org.eclipse.core.resources.IFile file
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   27     0         file  Lorg/eclipse/core/resources/IFile;
            0   27     1     encoding  Ljava/lang/String;
            1   27     2     location  Lorg/eclipse/core/runtime/IPath;
            6    7     3       length  J
           10   27     3       length  J
            3    6     5  locationURI  Ljava/net/URI;
            8    9     5            e  Lorg/eclipse/core/runtime/CoreException;
           11   27     5       stream  Ljava/io/InputStream;
           14   15     6            e  Lorg/eclipse/core/runtime/CoreException;
           21   22     6            e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     6       7  Class org.eclipse.core.runtime.CoreException
          11    12      13  Class org.eclipse.core.runtime.CoreException
          16    17      18  Class java.io.IOException
          15    16      20  Class java.io.IOException
          15    16      22  any
          20    22      22  any
          23    24      25  Class java.io.IOException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      file      
      encoding  

  public static java.lang.String getSignature(org.eclipse.jdt.core.dom.Type);
    descriptor: (Lorg/eclipse/jdt/core/dom/Type;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.Type type
         0: .line 1222
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuffer buffer
         1: .line 1223
            aload 0 /* type */
            aload 1 /* buffer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getFullyQualifiedName:(Lorg/eclipse/jdt/core/dom/Type;Ljava/lang/StringBuffer;)V
         2: .line 1224
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            iconst_0
            invokestatic org.eclipse.jdt.core.Signature.createTypeSignature:(Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.core.dom.Type type
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    type  Lorg/eclipse/jdt/core/dom/Type;
            1    3     1  buffer  Ljava/lang/StringBuffer;
    MethodParameters:
      Name  Flags
      type  

  public static java.lang.String getSourceAttachmentProperty(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.eclipse.core.runtime.IPath path
         0: .line 1231
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.rootPathToAttachments:Ljava/util/Map;
            astore 1 /* rootPathToAttachments */
        start local 1 // java.util.Map rootPathToAttachments
         1: .line 1232
            aload 1 /* rootPathToAttachments */
            aload 0 /* path */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* property */
        start local 2 // java.lang.String property
         2: .line 1233
            aload 2 /* property */
            ifnonnull 12
         3: .line 1235
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 0 /* path */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getSourceAttachmentPropertyName:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/QualifiedName;
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getPersistentProperty:(Lorg/eclipse/core/runtime/QualifiedName;)Ljava/lang/String;
            astore 2 /* property */
         4: .line 1236
            aload 2 /* property */
            ifnonnull 7
         5: .line 1237
            aload 1 /* rootPathToAttachments */
            aload 0 /* path */
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 1238
            aconst_null
            areturn
         7: .line 1240
      StackMap locals: java.util.Map java.lang.String
      StackMap stack:
            aload 1 /* rootPathToAttachments */
            aload 0 /* path */
            aload 2 /* property */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 1241
            aload 2 /* property */
         9: areturn
        10: .line 1242
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
            astore 3 /* e */
        start local 3 // org.eclipse.core.runtime.CoreException e
        11: .line 1243
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 3 /* e */
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/core/runtime/CoreException;)V
            athrow
        end local 3 // org.eclipse.core.runtime.CoreException e
        12: .line 1245
      StackMap locals:
      StackMap stack:
            aload 2 /* property */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 1246
            aconst_null
            areturn
        14: .line 1248
      StackMap locals:
      StackMap stack:
            aload 2 /* property */
            areturn
        end local 2 // java.lang.String property
        end local 1 // java.util.Map rootPathToAttachments
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   15     0                   path  Lorg/eclipse/core/runtime/IPath;
            1   15     1  rootPathToAttachments  Ljava/util/Map;
            2   15     2               property  Ljava/lang/String;
           11   12     3                      e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
           3     6      10  Class org.eclipse.core.runtime.CoreException
           7     9      10  Class org.eclipse.core.runtime.CoreException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      path  

  private static org.eclipse.core.runtime.QualifiedName getSourceAttachmentPropertyName(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/QualifiedName;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.IPath path
         0: .line 1252
            new org.eclipse.core.runtime.QualifiedName
            dup
            ldc "org.eclipse.jdt.core"
            new java.lang.StringBuilder
            dup
            ldc "sourceattachment: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.QualifiedName.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
      Name  Flags
      path  

  public static void setSourceAttachmentProperty(org.eclipse.core.runtime.IPath, java.lang.String);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.core.runtime.IPath path
        start local 1 // java.lang.String property
         0: .line 1256
            aload 1 /* property */
            ifnonnull 3
         1: .line 1257
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.rootPathToAttachments:Ljava/util/Map;
            aload 0 /* path */
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1258
            goto 4
         3: .line 1259
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.rootPathToAttachments:Ljava/util/Map;
            aload 0 /* path */
            aload 1 /* property */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 1262
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 0 /* path */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getSourceAttachmentPropertyName:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/QualifiedName;
            aload 1 /* property */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.setPersistentProperty:(Lorg/eclipse/core/runtime/QualifiedName;Ljava/lang/String;)V
         5: .line 1263
            goto 8
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
         6: astore 2 /* e */
        start local 2 // org.eclipse.core.runtime.CoreException e
         7: .line 1264
            aload 2 /* e */
            invokevirtual org.eclipse.core.runtime.CoreException.printStackTrace:()V
        end local 2 // org.eclipse.core.runtime.CoreException e
         8: .line 1266
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String property
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      path  Lorg/eclipse/core/runtime/IPath;
            0    9     1  property  Ljava/lang/String;
            7    8     2         e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
           4     5       6  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
          Name  Flags
      path      
      property  

  public static java.lang.String getDeclaringTypeSignature(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String key
         0: .line 1275
            new org.eclipse.jdt.internal.core.util.KeyToSignature
            dup
            aload 0 /* key */
            iconst_2
            invokespecial org.eclipse.jdt.internal.core.util.KeyToSignature.<init>:(Ljava/lang/String;I)V
            astore 1 /* keyToSignature */
        start local 1 // org.eclipse.jdt.internal.core.util.KeyToSignature keyToSignature
         1: .line 1276
            aload 1 /* keyToSignature */
            invokevirtual org.eclipse.jdt.internal.core.util.KeyToSignature.parse:()V
         2: .line 1277
            aload 1 /* keyToSignature */
            getfield org.eclipse.jdt.internal.core.util.KeyToSignature.signature:Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // org.eclipse.jdt.internal.core.util.KeyToSignature keyToSignature
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0             key  Ljava/lang/String;
            1    3     1  keyToSignature  Lorg/eclipse/jdt/internal/core/util/KeyToSignature;
    MethodParameters:
      Name  Flags
      key   

  private static void getFullyQualifiedName(org.eclipse.jdt.core.dom.Type, java.lang.StringBuffer);
    descriptor: (Lorg/eclipse/jdt/core/dom/Type;Ljava/lang/StringBuffer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.Type type
        start local 1 // java.lang.StringBuffer buffer
         0: .line 1284
            aload 0 /* type */
            invokevirtual org.eclipse.jdt.core.dom.Type.getNodeType:()I
            lookupswitch { // 6
                    5: 1
                   39: 25
                   43: 29
                   74: 11
                   75: 27
                   76: 31
              default: 40
          }
         1: .line 1286
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            checkcast org.eclipse.jdt.core.dom.ArrayType
            astore 2 /* arrayType */
        start local 2 // org.eclipse.jdt.core.dom.ArrayType arrayType
         2: .line 1287
            aload 2 /* arrayType */
            invokevirtual org.eclipse.jdt.core.dom.ArrayType.getElementType:()Lorg/eclipse/jdt/core/dom/Type;
            aload 1 /* buffer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getFullyQualifiedName:(Lorg/eclipse/jdt/core/dom/Type;Ljava/lang/StringBuffer;)V
         3: .line 1288
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: aload 2 /* arrayType */
            invokevirtual org.eclipse.jdt.core.dom.ArrayType.getDimensions:()I
            istore 4 /* length */
        start local 4 // int length
         5: goto 9
         6: .line 1289
      StackMap locals: org.eclipse.jdt.core.dom.ArrayType int int
      StackMap stack:
            aload 1 /* buffer */
            bipush 91
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 1290
            aload 1 /* buffer */
            bipush 93
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         8: .line 1288
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 6
        end local 4 // int length
        end local 3 // int i
        10: .line 1292
            goto 40
        end local 2 // org.eclipse.jdt.core.dom.ArrayType arrayType
        11: .line 1294
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            checkcast org.eclipse.jdt.core.dom.ParameterizedType
            astore 3 /* parameterizedType */
        start local 3 // org.eclipse.jdt.core.dom.ParameterizedType parameterizedType
        12: .line 1295
            aload 3 /* parameterizedType */
            invokevirtual org.eclipse.jdt.core.dom.ParameterizedType.getType:()Lorg/eclipse/jdt/core/dom/Type;
            aload 1 /* buffer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getFullyQualifiedName:(Lorg/eclipse/jdt/core/dom/Type;Ljava/lang/StringBuffer;)V
        13: .line 1296
            aload 1 /* buffer */
            bipush 60
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        14: .line 1297
            aload 3 /* parameterizedType */
            invokevirtual org.eclipse.jdt.core.dom.ParameterizedType.typeArguments:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4 /* iterator */
        start local 4 // java.util.Iterator iterator
        15: .line 1298
            iconst_1
            istore 5 /* isFirst */
        start local 5 // boolean isFirst
        16: .line 1299
            goto 22
        17: .line 1300
      StackMap locals: org.eclipse.jdt.core.dom.Type java.lang.StringBuffer top org.eclipse.jdt.core.dom.ParameterizedType java.util.Iterator int
      StackMap stack:
            iload 5 /* isFirst */
            ifne 19
        18: .line 1301
            aload 1 /* buffer */
            bipush 44
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
            goto 20
        19: .line 1303
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* isFirst */
        20: .line 1304
      StackMap locals:
      StackMap stack:
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.Type
            astore 6 /* typeArgument */
        start local 6 // org.eclipse.jdt.core.dom.Type typeArgument
        21: .line 1305
            aload 6 /* typeArgument */
            aload 1 /* buffer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getFullyQualifiedName:(Lorg/eclipse/jdt/core/dom/Type;Ljava/lang/StringBuffer;)V
        end local 6 // org.eclipse.jdt.core.dom.Type typeArgument
        22: .line 1299
      StackMap locals:
      StackMap stack:
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        23: .line 1307
            aload 1 /* buffer */
            bipush 62
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        24: .line 1308
            goto 40
        end local 5 // boolean isFirst
        end local 4 // java.util.Iterator iterator
        end local 3 // org.eclipse.jdt.core.dom.ParameterizedType parameterizedType
        25: .line 1310
      StackMap locals: org.eclipse.jdt.core.dom.Type java.lang.StringBuffer
      StackMap stack:
            aload 1 /* buffer */
            aload 0 /* type */
            checkcast org.eclipse.jdt.core.dom.PrimitiveType
            invokevirtual org.eclipse.jdt.core.dom.PrimitiveType.getPrimitiveTypeCode:()Lorg/eclipse/jdt/core/dom/PrimitiveType$Code;
            invokevirtual org.eclipse.jdt.core.dom.PrimitiveType$Code.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        26: .line 1311
            goto 40
        27: .line 1313
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            aload 0 /* type */
            checkcast org.eclipse.jdt.core.dom.QualifiedType
            invokevirtual org.eclipse.jdt.core.dom.QualifiedType.getName:()Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.SimpleName.getFullyQualifiedName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        28: .line 1314
            goto 40
        29: .line 1316
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            aload 0 /* type */
            checkcast org.eclipse.jdt.core.dom.SimpleType
            invokevirtual org.eclipse.jdt.core.dom.SimpleType.getName:()Lorg/eclipse/jdt/core/dom/Name;
            invokevirtual org.eclipse.jdt.core.dom.Name.getFullyQualifiedName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        30: .line 1317
            goto 40
        31: .line 1319
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            bipush 63
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        32: .line 1320
            aload 0 /* type */
            checkcast org.eclipse.jdt.core.dom.WildcardType
            astore 6 /* wildcardType */
        start local 6 // org.eclipse.jdt.core.dom.WildcardType wildcardType
        33: .line 1321
            aload 6 /* wildcardType */
            invokevirtual org.eclipse.jdt.core.dom.WildcardType.getBound:()Lorg/eclipse/jdt/core/dom/Type;
            astore 7 /* bound */
        start local 7 // org.eclipse.jdt.core.dom.Type bound
        34: .line 1322
            aload 7 /* bound */
            ifnonnull 35
            return
        35: .line 1323
      StackMap locals: org.eclipse.jdt.core.dom.Type java.lang.StringBuffer top top top top org.eclipse.jdt.core.dom.WildcardType org.eclipse.jdt.core.dom.Type
      StackMap stack:
            aload 6 /* wildcardType */
            invokevirtual org.eclipse.jdt.core.dom.WildcardType.isUpperBound:()Z
            ifeq 38
        36: .line 1324
            aload 1 /* buffer */
            ldc " extends "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        37: .line 1325
            goto 39
        38: .line 1326
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            ldc " super "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        39: .line 1328
      StackMap locals:
      StackMap stack:
            aload 7 /* bound */
            aload 1 /* buffer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getFullyQualifiedName:(Lorg/eclipse/jdt/core/dom/Type;Ljava/lang/StringBuffer;)V
        end local 7 // org.eclipse.jdt.core.dom.Type bound
        end local 6 // org.eclipse.jdt.core.dom.WildcardType wildcardType
        40: .line 1331
      StackMap locals: org.eclipse.jdt.core.dom.Type java.lang.StringBuffer
      StackMap stack:
            return
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.core.dom.Type type
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   41     0               type  Lorg/eclipse/jdt/core/dom/Type;
            0   41     1             buffer  Ljava/lang/StringBuffer;
            2   11     2          arrayType  Lorg/eclipse/jdt/core/dom/ArrayType;
            4   10     3                  i  I
            5   10     4             length  I
           12   25     3  parameterizedType  Lorg/eclipse/jdt/core/dom/ParameterizedType;
           15   25     4           iterator  Ljava/util/Iterator;
           16   25     5            isFirst  Z
           21   22     6       typeArgument  Lorg/eclipse/jdt/core/dom/Type;
           33   40     6       wildcardType  Lorg/eclipse/jdt/core/dom/WildcardType;
           34   40     7              bound  Lorg/eclipse/jdt/core/dom/Type;
    MethodParameters:
        Name  Flags
      type    
      buffer  

  public static java.lang.String[] getTrimmedSimpleNames(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.String name
         0: .line 1337
            aload 0 /* name */
            invokestatic org.eclipse.jdt.core.Signature.getSimpleNames:(Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* result */
        start local 1 // java.lang.String[] result
         1: .line 1338
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: aload 1 /* result */
            arraylength
            istore 3 /* length */
        start local 3 // int length
         3: goto 6
         4: .line 1339
      StackMap locals: java.lang.String[] int int
      StackMap stack:
            aload 1 /* result */
            iload 2 /* i */
            aload 1 /* result */
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            aastore
         5: .line 1338
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 4
        end local 3 // int length
        end local 2 // int i
         7: .line 1341
            aload 1 /* result */
            areturn
        end local 1 // java.lang.String[] result
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    name  Ljava/lang/String;
            1    8     1  result  [Ljava/lang/String;
            2    7     2       i  I
            3    7     3  length  I
    MethodParameters:
      Name  Flags
      name  

  public static org.eclipse.jdt.internal.core.JavaElement getUnresolvedJavaElement(org.eclipse.jdt.internal.compiler.lookup.FieldBinding, org.eclipse.jdt.core.WorkingCopyOwner, org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/jdt/internal/core/util/Util$BindingsToNodesMap;)Lorg/eclipse/jdt/internal/core/JavaElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding binding
        start local 1 // org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner
        start local 2 // org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap bindingsToNodes
         0: .line 1348
            aload 0 /* binding */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            ifnonnull 1
            aconst_null
            areturn
         1: .line 1349
      StackMap locals:
      StackMap stack:
            aload 0 /* binding */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 1 /* workingCopyOwner */
            aload 2 /* bindingsToNodes */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getUnresolvedJavaElement:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/jdt/internal/core/util/Util$BindingsToNodesMap;)Lorg/eclipse/jdt/internal/core/JavaElement;
            astore 3 /* unresolvedJavaElement */
        start local 3 // org.eclipse.jdt.internal.core.JavaElement unresolvedJavaElement
         2: .line 1350
            aload 3 /* unresolvedJavaElement */
            ifnull 3
            aload 3 /* unresolvedJavaElement */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementType:()I
            bipush 7
            if_icmpeq 4
         3: .line 1351
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement
      StackMap stack:
            aconst_null
            areturn
         4: .line 1353
      StackMap locals:
      StackMap stack:
            aload 3 /* unresolvedJavaElement */
            checkcast org.eclipse.jdt.core.IType
            aload 0 /* binding */
            getfield org.eclipse.jdt.internal.compiler.lookup.FieldBinding.name:[C
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            invokeinterface org.eclipse.jdt.core.IType.getField:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IField;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            areturn
        end local 3 // org.eclipse.jdt.internal.core.JavaElement unresolvedJavaElement
        end local 2 // org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap bindingsToNodes
        end local 1 // org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.FieldBinding binding
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    5     0                binding  Lorg/eclipse/jdt/internal/compiler/lookup/FieldBinding;
            0    5     1       workingCopyOwner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0    5     2        bindingsToNodes  Lorg/eclipse/jdt/internal/core/util/Util$BindingsToNodesMap;
            2    5     3  unresolvedJavaElement  Lorg/eclipse/jdt/internal/core/JavaElement;
    MethodParameters:
                  Name  Flags
      binding           
      workingCopyOwner  
      bindingsToNodes   

  public static org.eclipse.jdt.internal.core.JavaElement getUnresolvedJavaElement(int, int, org.eclipse.jdt.internal.core.JavaElement);
    descriptor: (IILorg/eclipse/jdt/internal/core/JavaElement;)Lorg/eclipse/jdt/internal/core/JavaElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=9, args_size=3
        start local 0 // int localSourceStart
        start local 1 // int localSourceEnd
        start local 2 // org.eclipse.jdt.internal.core.JavaElement type
         0: .line 1361
            aload 2 /* type */
            instanceof org.eclipse.jdt.core.IType
            ifne 2
         1: .line 1362
            aconst_null
            areturn
         2: .line 1363
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            checkcast org.eclipse.jdt.core.IType
            invokeinterface org.eclipse.jdt.core.IType.getInitializers:()[Lorg/eclipse/jdt/core/IInitializer;
            astore 3 /* initializers */
        start local 3 // org.eclipse.jdt.core.IInitializer[] initializers
         3: .line 1364
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 14
         5: .line 1365
      StackMap locals: org.eclipse.jdt.core.IInitializer[] int
      StackMap stack:
            aload 3 /* initializers */
            iload 4 /* i */
            aaload
            astore 5 /* initializer */
        start local 5 // org.eclipse.jdt.core.IInitializer initializer
         6: .line 1366
            aload 5 /* initializer */
            invokeinterface org.eclipse.jdt.core.IInitializer.getSourceRange:()Lorg/eclipse/jdt/core/ISourceRange;
            astore 6 /* sourceRange */
        start local 6 // org.eclipse.jdt.core.ISourceRange sourceRange
         7: .line 1367
            aload 6 /* sourceRange */
            ifnull 13
         8: .line 1368
            aload 6 /* sourceRange */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            istore 7 /* initializerStart */
        start local 7 // int initializerStart
         9: .line 1369
            iload 7 /* initializerStart */
            aload 6 /* sourceRange */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getLength:()I
            iadd
            istore 8 /* initializerEnd */
        start local 8 // int initializerEnd
        10: .line 1370
            iload 7 /* initializerStart */
            iload 0 /* localSourceStart */
            if_icmpgt 13
            iload 1 /* localSourceEnd */
            iload 8 /* initializerEnd */
            if_icmpgt 13
        11: .line 1371
            aload 5 /* initializer */
            checkcast org.eclipse.jdt.internal.core.JavaElement
        12: areturn
        end local 8 // int initializerEnd
        end local 7 // int initializerStart
        end local 6 // org.eclipse.jdt.core.ISourceRange sourceRange
        end local 5 // org.eclipse.jdt.core.IInitializer initializer
        13: .line 1364
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            aload 3 /* initializers */
            arraylength
            if_icmplt 5
        end local 4 // int i
        15: .line 1375
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.core.IInitializer[] initializers
        16: .line 1376
      StackMap locals: int int org.eclipse.jdt.internal.core.JavaElement
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
        17: .line 1377
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.internal.core.JavaElement type
        end local 1 // int localSourceEnd
        end local 0 // int localSourceStart
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0  localSourceStart  I
            0   18     1    localSourceEnd  I
            0   18     2              type  Lorg/eclipse/jdt/internal/core/JavaElement;
            3   16     3      initializers  [Lorg/eclipse/jdt/core/IInitializer;
            4   15     4                 i  I
            6   13     5       initializer  Lorg/eclipse/jdt/core/IInitializer;
            7   13     6       sourceRange  Lorg/eclipse/jdt/core/ISourceRange;
            9   13     7  initializerStart  I
           10   13     8    initializerEnd  I
      Exception table:
        from    to  target  type
           0     1      16  Class org.eclipse.jdt.core.JavaModelException
           2    12      16  Class org.eclipse.jdt.core.JavaModelException
          13    15      16  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                  Name  Flags
      localSourceStart  
      localSourceEnd    
      type              

  public static org.eclipse.jdt.internal.core.JavaElement getUnresolvedJavaElement(org.eclipse.jdt.internal.compiler.lookup.MethodBinding, org.eclipse.jdt.core.WorkingCopyOwner, org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/jdt/internal/core/util/Util$BindingsToNodesMap;)Lorg/eclipse/jdt/internal/core/JavaElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=18, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding methodBinding
        start local 1 // org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner
        start local 2 // org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap bindingsToNodes
         0: .line 1385
            aload 0 /* methodBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 1 /* workingCopyOwner */
            aload 2 /* bindingsToNodes */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getUnresolvedJavaElement:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/jdt/internal/core/util/Util$BindingsToNodesMap;)Lorg/eclipse/jdt/internal/core/JavaElement;
            astore 3 /* unresolvedJavaElement */
        start local 3 // org.eclipse.jdt.internal.core.JavaElement unresolvedJavaElement
         1: .line 1386
            aload 3 /* unresolvedJavaElement */
            ifnull 2
            aload 3 /* unresolvedJavaElement */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementType:()I
            bipush 7
            if_icmpeq 3
         2: .line 1387
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement
      StackMap stack:
            aconst_null
            areturn
         3: .line 1389
      StackMap locals:
      StackMap stack:
            aload 3 /* unresolvedJavaElement */
            checkcast org.eclipse.jdt.core.IType
            astore 4 /* declaringType */
        start local 4 // org.eclipse.jdt.core.IType declaringType
         4: .line 1391
            aload 2 /* bindingsToNodes */
            ifnonnull 5
            aconst_null
            goto 6
      StackMap locals: org.eclipse.jdt.core.IType
      StackMap stack:
         5: aload 2 /* bindingsToNodes */
            aload 0 /* methodBinding */
            invokeinterface org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap.get:(Lorg/eclipse/jdt/internal/compiler/lookup/Binding;)Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.ast.ASTNode
         6: astore 5 /* node */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.ASTNode node
         7: .line 1392
            aload 5 /* node */
            ifnull 33
            aload 4 /* declaringType */
            invokeinterface org.eclipse.jdt.core.IType.isBinary:()Z
            ifne 33
         8: .line 1393
            aload 5 /* node */
            instanceof org.eclipse.jdt.internal.compiler.ast.AnnotationMethodDeclaration
            ifeq 11
         9: .line 1395
            aload 5 /* node */
            checkcast org.eclipse.jdt.internal.compiler.ast.AnnotationMethodDeclaration
            astore 6 /* typeMemberDeclaration */
        start local 6 // org.eclipse.jdt.internal.compiler.ast.AnnotationMethodDeclaration typeMemberDeclaration
        10: .line 1396
            aload 4 /* declaringType */
            aload 6 /* typeMemberDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.AnnotationMethodDeclaration.selector:[C
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            invokeinterface org.eclipse.jdt.core.IType.getMethod:(Ljava/lang/String;[Ljava/lang/String;)Lorg/eclipse/jdt/core/IMethod;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            areturn
        end local 6 // org.eclipse.jdt.internal.compiler.ast.AnnotationMethodDeclaration typeMemberDeclaration
        11: .line 1399
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.ASTNode
      StackMap stack:
            aload 5 /* node */
            checkcast org.eclipse.jdt.internal.compiler.ast.MethodDeclaration
            astore 6 /* methodDeclaration */
        start local 6 // org.eclipse.jdt.internal.compiler.ast.MethodDeclaration methodDeclaration
        12: .line 1401
            aload 6 /* methodDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
            astore 7 /* arguments */
        start local 7 // org.eclipse.jdt.internal.compiler.ast.Argument[] arguments
        13: .line 1403
            aload 7 /* arguments */
            ifnull 31
        14: .line 1404
            aload 7 /* arguments */
            arraylength
            anewarray java.lang.String
            astore 8 /* parameterSignatures */
        start local 8 // java.lang.String[] parameterSignatures
        15: .line 1405
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        16: goto 29
        17: .line 1406
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.core.WorkingCopyOwner org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap org.eclipse.jdt.internal.core.JavaElement org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.ast.MethodDeclaration org.eclipse.jdt.internal.compiler.ast.Argument[] java.lang.String[] int
      StackMap stack:
            aload 7 /* arguments */
            iload 9 /* i */
            aaload
            astore 10 /* argument */
        start local 10 // org.eclipse.jdt.internal.compiler.ast.Argument argument
        18: .line 1407
            aload 10 /* argument */
            getfield org.eclipse.jdt.internal.compiler.ast.Argument.type:Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            astore 11 /* typeReference */
        start local 11 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
        19: .line 1408
            aload 11 /* typeReference */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.dimensions:()I
            istore 12 /* arrayDim */
        start local 12 // int arrayDim
        20: .line 1413
            aload 11 /* typeReference */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.getTypeName:()[[C
            bipush 46
        21: .line 1412
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
        22: .line 1413
            iconst_0
        23: .line 1411
            invokestatic org.eclipse.jdt.core.Signature.createTypeSignature:([CZ)Ljava/lang/String;
        24: .line 1410
            astore 13 /* typeSig */
        start local 13 // java.lang.String typeSig
        25: .line 1414
            iload 12 /* arrayDim */
            ifle 27
        26: .line 1415
            aload 13 /* typeSig */
            iload 12 /* arrayDim */
            invokestatic org.eclipse.jdt.core.Signature.createArraySignature:(Ljava/lang/String;I)Ljava/lang/String;
            astore 13 /* typeSig */
        27: .line 1417
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.core.WorkingCopyOwner org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap org.eclipse.jdt.internal.core.JavaElement org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.ast.MethodDeclaration org.eclipse.jdt.internal.compiler.ast.Argument[] java.lang.String[] int org.eclipse.jdt.internal.compiler.ast.Argument org.eclipse.jdt.internal.compiler.ast.TypeReference int java.lang.String
      StackMap stack:
            aload 8 /* parameterSignatures */
            iload 9 /* i */
            aload 13 /* typeSig */
            aastore
        end local 13 // java.lang.String typeSig
        end local 12 // int arrayDim
        end local 11 // org.eclipse.jdt.internal.compiler.ast.TypeReference typeReference
        end local 10 // org.eclipse.jdt.internal.compiler.ast.Argument argument
        28: .line 1405
            iinc 9 /* i */ 1
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.core.WorkingCopyOwner org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap org.eclipse.jdt.internal.core.JavaElement org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.ast.MethodDeclaration org.eclipse.jdt.internal.compiler.ast.Argument[] java.lang.String[] int
      StackMap stack:
        29: iload 9 /* i */
            aload 7 /* arguments */
            arraylength
            if_icmplt 17
        end local 9 // int i
        30: .line 1420
            goto 32
        end local 8 // java.lang.String[] parameterSignatures
        31: .line 1421
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            astore 8 /* parameterSignatures */
        start local 8 // java.lang.String[] parameterSignatures
        32: .line 1423
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 4 /* declaringType */
            aload 6 /* methodDeclaration */
            getfield org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.selector:[C
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            aload 8 /* parameterSignatures */
            invokeinterface org.eclipse.jdt.core.IType.getMethod:(Ljava/lang/String;[Ljava/lang/String;)Lorg/eclipse/jdt/core/IMethod;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            areturn
        end local 8 // java.lang.String[] parameterSignatures
        end local 7 // org.eclipse.jdt.internal.compiler.ast.Argument[] arguments
        end local 6 // org.eclipse.jdt.internal.compiler.ast.MethodDeclaration methodDeclaration
        33: .line 1427
      StackMap locals:
      StackMap stack:
            aload 0 /* methodBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            astore 6 /* original */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding original
        34: .line 1428
            aload 6 /* original */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isConstructor:()Z
            ifeq 35
            aload 4 /* declaringType */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            goto 36
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding
      StackMap stack:
        35: new java.lang.String
            dup
            aload 6 /* original */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.selector:[C
            invokespecial java.lang.String.<init>:([C)V
      StackMap locals:
      StackMap stack: java.lang.String
        36: astore 7 /* selector */
        start local 7 // java.lang.String selector
        37: .line 1429
            aload 4 /* declaringType */
            invokeinterface org.eclipse.jdt.core.IType.isBinary:()Z
            istore 8 /* isBinary */
        start local 8 // boolean isBinary
        38: .line 1430
            aload 6 /* original */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.enclosingType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 9 /* enclosingType */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding enclosingType
        39: .line 1432
            iload 8 /* isBinary */
            ifeq 40
            aload 6 /* original */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.MethodBinding.isConstructor:()Z
            ifeq 40
            aload 6 /* original */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.declaringClass:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isStatic:()Z
            ifne 40
            aload 9 /* enclosingType */
            ifnull 40
            iconst_1
            goto 41
      StackMap locals: java.lang.String int org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
      StackMap stack:
        40: iconst_0
      StackMap locals:
      StackMap stack: int
        41: istore 10 /* isInnerBinaryTypeConstructor */
        start local 10 // boolean isInnerBinaryTypeConstructor
        42: .line 1433
            aload 6 /* original */
            getfield org.eclipse.jdt.internal.compiler.lookup.MethodBinding.parameters:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 11 /* parameters */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
        43: .line 1434
            aload 11 /* parameters */
            ifnonnull 44
            iconst_0
            goto 45
      StackMap locals: int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
        44: aload 11 /* parameters */
            arraylength
      StackMap locals:
      StackMap stack: int
        45: istore 12 /* length */
        start local 12 // int length
        46: .line 1435
            iload 10 /* isInnerBinaryTypeConstructor */
            ifeq 47
            iconst_1
            goto 48
      StackMap locals: int
      StackMap stack:
        47: iconst_0
      StackMap locals:
      StackMap stack: int
        48: istore 13 /* declaringIndex */
        start local 13 // int declaringIndex
        49: .line 1436
            iload 13 /* declaringIndex */
            iload 12 /* length */
            iadd
            anewarray java.lang.String
            astore 14 /* parameterSignatures */
        start local 14 // java.lang.String[] parameterSignatures
        50: .line 1437
            iload 10 /* isInnerBinaryTypeConstructor */
            ifeq 52
        51: .line 1438
            aload 14 /* parameterSignatures */
            iconst_0
            new java.lang.String
            dup
            aload 9 /* enclosingType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.genericTypeSignature:()[C
            invokespecial java.lang.String.<init>:([C)V
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            aastore
        52: .line 1439
      StackMap locals: int java.lang.String[]
      StackMap stack:
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        53: goto 61
        54: .line 1440
      StackMap locals: int
      StackMap stack:
            aload 11 /* parameters */
            iload 15 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.genericTypeSignature:()[C
            astore 16 /* signature */
        start local 16 // char[] signature
        55: .line 1441
            iload 8 /* isBinary */
            ifeq 58
        56: .line 1442
            aload 16 /* signature */
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replaceOnCopy:([CCC)[C
            astore 16 /* signature */
        57: .line 1443
            goto 59
        58: .line 1444
      StackMap locals: char[]
      StackMap stack:
            aload 16 /* signature */
            invokestatic org.eclipse.jdt.internal.core.util.Util.toUnresolvedTypeSignature:([C)[C
            astore 16 /* signature */
        59: .line 1446
      StackMap locals:
      StackMap stack:
            aload 14 /* parameterSignatures */
            iload 13 /* declaringIndex */
            iload 15 /* i */
            iadd
            new java.lang.String
            dup
            aload 16 /* signature */
            invokespecial java.lang.String.<init>:([C)V
            aastore
        end local 16 // char[] signature
        60: .line 1439
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        61: iload 15 /* i */
            iload 12 /* length */
            if_icmplt 54
        end local 15 // int i
        62: .line 1448
            aload 4 /* declaringType */
            aload 7 /* selector */
            aload 14 /* parameterSignatures */
            invokeinterface org.eclipse.jdt.core.IType.getMethod:(Ljava/lang/String;[Ljava/lang/String;)Lorg/eclipse/jdt/core/IMethod;
            astore 15 /* result */
        start local 15 // org.eclipse.jdt.core.IMethod result
        63: .line 1449
            iload 8 /* isBinary */
            ifeq 65
        64: .line 1450
            aload 15 /* result */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            areturn
        65: .line 1451
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.core.WorkingCopyOwner org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap org.eclipse.jdt.internal.core.JavaElement org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.lookup.MethodBinding java.lang.String int org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int int java.lang.String[] org.eclipse.jdt.core.IMethod
      StackMap stack:
            aload 15 /* result */
            invokeinterface org.eclipse.jdt.core.IMethod.exists:()Z
            ifeq 67
        66: .line 1452
            aload 15 /* result */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            areturn
        67: .line 1453
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 16 /* methods */
        start local 16 // org.eclipse.jdt.core.IMethod[] methods
        68: .line 1455
            aload 4 /* declaringType */
            invokeinterface org.eclipse.jdt.core.IType.getMethods:()[Lorg/eclipse/jdt/core/IMethod;
            astore 16 /* methods */
        69: .line 1456
            goto 72
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.MethodBinding org.eclipse.jdt.core.WorkingCopyOwner org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap org.eclipse.jdt.internal.core.JavaElement org.eclipse.jdt.core.IType org.eclipse.jdt.internal.compiler.ast.ASTNode org.eclipse.jdt.internal.compiler.lookup.MethodBinding java.lang.String int org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] int int java.lang.String[] org.eclipse.jdt.core.IMethod org.eclipse.jdt.core.IMethod[]
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        70: pop
        71: .line 1458
            aconst_null
            areturn
        72: .line 1460
      StackMap locals:
      StackMap stack:
            aload 15 /* result */
            aload 16 /* methods */
            invokestatic org.eclipse.jdt.internal.core.Member.findMethods:(Lorg/eclipse/jdt/core/IMethod;[Lorg/eclipse/jdt/core/IMethod;)[Lorg/eclipse/jdt/core/IMethod;
            astore 17 /* candidates */
        start local 17 // org.eclipse.jdt.core.IMethod[] candidates
        73: .line 1461
            aload 17 /* candidates */
            ifnull 74
            aload 17 /* candidates */
            arraylength
            ifne 75
        74: .line 1462
      StackMap locals: org.eclipse.jdt.core.IMethod[]
      StackMap stack:
            aconst_null
            areturn
        75: .line 1463
      StackMap locals:
      StackMap stack:
            aload 17 /* candidates */
            iconst_0
            aaload
            checkcast org.eclipse.jdt.internal.core.JavaElement
            areturn
        end local 17 // org.eclipse.jdt.core.IMethod[] candidates
        end local 16 // org.eclipse.jdt.core.IMethod[] methods
        end local 15 // org.eclipse.jdt.core.IMethod result
        end local 14 // java.lang.String[] parameterSignatures
        end local 13 // int declaringIndex
        end local 12 // int length
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters
        end local 10 // boolean isInnerBinaryTypeConstructor
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding enclosingType
        end local 8 // boolean isBinary
        end local 7 // java.lang.String selector
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding original
        end local 5 // org.eclipse.jdt.internal.compiler.ast.ASTNode node
        end local 4 // org.eclipse.jdt.core.IType declaringType
        end local 3 // org.eclipse.jdt.internal.core.JavaElement unresolvedJavaElement
        end local 2 // org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap bindingsToNodes
        end local 1 // org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.MethodBinding methodBinding
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   76     0                 methodBinding  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
            0   76     1              workingCopyOwner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0   76     2               bindingsToNodes  Lorg/eclipse/jdt/internal/core/util/Util$BindingsToNodesMap;
            1   76     3         unresolvedJavaElement  Lorg/eclipse/jdt/internal/core/JavaElement;
            4   76     4                 declaringType  Lorg/eclipse/jdt/core/IType;
            7   76     5                          node  Lorg/eclipse/jdt/internal/compiler/ast/ASTNode;
           10   11     6         typeMemberDeclaration  Lorg/eclipse/jdt/internal/compiler/ast/AnnotationMethodDeclaration;
           12   33     6             methodDeclaration  Lorg/eclipse/jdt/internal/compiler/ast/MethodDeclaration;
           13   33     7                     arguments  [Lorg/eclipse/jdt/internal/compiler/ast/Argument;
           15   31     8           parameterSignatures  [Ljava/lang/String;
           32   33     8           parameterSignatures  [Ljava/lang/String;
           16   30     9                             i  I
           18   28    10                      argument  Lorg/eclipse/jdt/internal/compiler/ast/Argument;
           19   28    11                 typeReference  Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
           20   28    12                      arrayDim  I
           25   28    13                       typeSig  Ljava/lang/String;
           34   76     6                      original  Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;
           37   76     7                      selector  Ljava/lang/String;
           38   76     8                      isBinary  Z
           39   76     9                 enclosingType  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           42   76    10  isInnerBinaryTypeConstructor  Z
           43   76    11                    parameters  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           46   76    12                        length  I
           49   76    13                declaringIndex  I
           50   76    14           parameterSignatures  [Ljava/lang/String;
           53   62    15                             i  I
           55   60    16                     signature  [C
           63   76    15                        result  Lorg/eclipse/jdt/core/IMethod;
           68   76    16                       methods  [Lorg/eclipse/jdt/core/IMethod;
           73   76    17                    candidates  [Lorg/eclipse/jdt/core/IMethod;
      Exception table:
        from    to  target  type
          68    69      70  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                  Name  Flags
      methodBinding     
      workingCopyOwner  
      bindingsToNodes   

  public static org.eclipse.jdt.internal.core.JavaElement getUnresolvedJavaElement(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.core.WorkingCopyOwner, org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/jdt/internal/core/util/Util$BindingsToNodesMap;)Lorg/eclipse/jdt/internal/core/JavaElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=11, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding typeBinding
        start local 1 // org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner
        start local 2 // org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap bindingsToNodes
         0: .line 1471
            aload 0 /* typeBinding */
            ifnonnull 2
         1: .line 1472
            aconst_null
            areturn
         2: .line 1473
      StackMap locals:
      StackMap stack:
            aload 0 /* typeBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
            lookupswitch { // 4
                   68: 3
                  132: 5
                  516: 5
                 8196: 5
              default: 6
          }
         3: .line 1475
      StackMap locals:
      StackMap stack:
            aload 0 /* typeBinding */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ArrayBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ArrayBinding.leafComponentType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 0 /* typeBinding */
         4: .line 1476
            aload 0 /* typeBinding */
            aload 1 /* workingCopyOwner */
            aload 2 /* bindingsToNodes */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getUnresolvedJavaElement:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/jdt/internal/core/util/Util$BindingsToNodesMap;)Lorg/eclipse/jdt/internal/core/JavaElement;
            areturn
         5: .line 1480
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         6: .line 1482
      StackMap locals:
      StackMap stack:
            aload 0 /* typeBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCapture:()Z
            ifeq 8
         7: .line 1483
            aconst_null
            areturn
         8: .line 1486
      StackMap locals:
      StackMap stack:
            aload 0 /* typeBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isParameterizedType:()Z
            ifne 9
            aload 0 /* typeBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isRawType:()Z
            ifeq 11
         9: .line 1487
      StackMap locals:
      StackMap stack:
            aload 0 /* typeBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.erasure:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 3 /* referenceBinding */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding referenceBinding
        10: goto 12
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding referenceBinding
        11: .line 1489
      StackMap locals:
      StackMap stack:
            aload 0 /* typeBinding */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 3 /* referenceBinding */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding referenceBinding
        12: .line 1490
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
      StackMap stack:
            aload 3 /* referenceBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.getFileName:()[C
            astore 4 /* fileName */
        start local 4 // char[] fileName
        13: .line 1491
            aload 3 /* referenceBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isLocalType:()Z
            ifne 14
            aload 3 /* referenceBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isAnonymousType:()Z
            ifeq 41
        14: .line 1493
      StackMap locals: char[]
      StackMap stack:
            aload 4 /* fileName */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.isClassFileName:([C)Z
            ifeq 34
        15: .line 1494
            bipush 124
            aload 4 /* fileName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[C)I
            istore 5 /* jarSeparator */
        start local 5 // int jarSeparator
        16: .line 1495
            bipush 47
            aload 4 /* fileName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.lastIndexOf:(C[C)I
            istore 6 /* pkgEnd */
        start local 6 // int pkgEnd
        17: .line 1496
            iload 6 /* pkgEnd */
            iconst_m1
            if_icmpne 19
        18: .line 1497
            getstatic java.io.File.separatorChar:C
            aload 4 /* fileName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.lastIndexOf:(C[C)I
            istore 6 /* pkgEnd */
        19: .line 1498
      StackMap locals: int int
      StackMap stack:
            iload 5 /* jarSeparator */
            iconst_m1
            if_icmpeq 21
            iload 6 /* pkgEnd */
            iload 5 /* jarSeparator */
            if_icmpge 21
        20: .line 1499
            iload 5 /* jarSeparator */
            istore 6 /* pkgEnd */
        21: .line 1500
      StackMap locals:
      StackMap stack:
            iload 6 /* pkgEnd */
            iconst_m1
            if_icmpne 23
        22: .line 1501
            aconst_null
            areturn
        23: .line 1502
      StackMap locals:
      StackMap stack:
            aload 4 /* fileName */
            iload 6 /* pkgEnd */
            iload 5 /* jarSeparator */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getPackageFragment:([CII)Lorg/eclipse/jdt/core/IPackageFragment;
            astore 7 /* pkg */
        start local 7 // org.eclipse.jdt.core.IPackageFragment pkg
        24: .line 1503
            aload 3 /* referenceBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.constantPoolName:()[C
            astore 8 /* constantPoolName */
        start local 8 // char[] constantPoolName
        25: .line 1504
            aload 8 /* constantPoolName */
            ifnonnull 30
        26: .line 1505
            aload 4 /* fileName */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getClassFile:([C)Lorg/eclipse/jdt/core/IClassFile;
            checkcast org.eclipse.jdt.internal.core.ClassFile
            astore 9 /* classFile */
        start local 9 // org.eclipse.jdt.internal.core.ClassFile classFile
        27: .line 1506
            aload 9 /* classFile */
            ifnonnull 28
            aconst_null
            goto 29
      StackMap locals: org.eclipse.jdt.core.IPackageFragment char[] org.eclipse.jdt.internal.core.ClassFile
      StackMap stack:
        28: aload 9 /* classFile */
            invokevirtual org.eclipse.jdt.internal.core.ClassFile.getType:()Lorg/eclipse/jdt/core/IType;
            checkcast org.eclipse.jdt.internal.core.JavaElement
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.JavaElement
        29: areturn
        end local 9 // org.eclipse.jdt.internal.core.ClassFile classFile
        30: .line 1508
      StackMap locals:
      StackMap stack:
            bipush 47
            aload 8 /* constantPoolName */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.lastIndexOf:(C[C)I
            istore 6 /* pkgEnd */
        31: .line 1509
            aload 8 /* constantPoolName */
            iload 6 /* pkgEnd */
            iconst_1
            iadd
            aload 8 /* constantPoolName */
            arraylength
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.subarray:([CII)[C
            astore 9 /* classFileName */
        start local 9 // char[] classFileName
        32: .line 1510
            aload 7 /* pkg */
            new java.lang.StringBuilder
            dup
            new java.lang.String
            dup
            aload 9 /* classFileName */
            invokespecial java.lang.String.<init>:([C)V
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getClassFile:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IClassFile;
            checkcast org.eclipse.jdt.internal.core.ClassFile
            astore 10 /* classFile */
        start local 10 // org.eclipse.jdt.internal.core.ClassFile classFile
        33: .line 1511
            aload 10 /* classFile */
            invokevirtual org.eclipse.jdt.internal.core.ClassFile.getType:()Lorg/eclipse/jdt/core/IType;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            areturn
        end local 10 // org.eclipse.jdt.internal.core.ClassFile classFile
        end local 9 // char[] classFileName
        end local 8 // char[] constantPoolName
        end local 7 // org.eclipse.jdt.core.IPackageFragment pkg
        end local 6 // int pkgEnd
        end local 5 // int jarSeparator
        34: .line 1513
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.core.WorkingCopyOwner org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding char[]
      StackMap stack:
            aload 4 /* fileName */
            aload 1 /* workingCopyOwner */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getCompilationUnit:([CLorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/ICompilationUnit;
            astore 5 /* cu */
        start local 5 // org.eclipse.jdt.core.ICompilationUnit cu
        35: .line 1514
            aload 5 /* cu */
            ifnonnull 36
            aconst_null
            areturn
        36: .line 1517
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit
      StackMap stack:
            aload 3 /* referenceBinding */
            checkcast org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding
            getfield org.eclipse.jdt.internal.compiler.lookup.LocalTypeBinding.sourceStart:I
            istore 6 /* sourceStart */
        start local 6 // int sourceStart
        37: .line 1518
            aload 5 /* cu */
            iload 6 /* sourceStart */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getElementAt:(I)Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
        38: areturn
        end local 6 // int sourceStart
        39: .line 1519
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
        40: .line 1521
            aconst_null
            areturn
        end local 5 // org.eclipse.jdt.core.ICompilationUnit cu
        41: .line 1523
      StackMap locals:
      StackMap stack:
            aload 3 /* referenceBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.isTypeVariable:()Z
            ifeq 51
        42: .line 1525
            new java.lang.String
            dup
            aload 3 /* referenceBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.sourceName:()[C
            invokespecial java.lang.String.<init>:([C)V
            astore 5 /* typeVariableName */
        start local 5 // java.lang.String typeVariableName
        43: .line 1526
            aload 3 /* referenceBinding */
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.declaringElement:Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
            astore 6 /* declaringElement */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.Binding declaringElement
        44: .line 1527
            aload 6 /* declaringElement */
            instanceof org.eclipse.jdt.internal.compiler.lookup.MethodBinding
            ifeq 47
        45: .line 1528
            aload 6 /* declaringElement */
            checkcast org.eclipse.jdt.internal.compiler.lookup.MethodBinding
            aload 1 /* workingCopyOwner */
            aload 2 /* bindingsToNodes */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getUnresolvedJavaElement:(Lorg/eclipse/jdt/internal/compiler/lookup/MethodBinding;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/jdt/internal/core/util/Util$BindingsToNodesMap;)Lorg/eclipse/jdt/internal/core/JavaElement;
            checkcast org.eclipse.jdt.core.IMethod
            astore 7 /* declaringMethod */
        start local 7 // org.eclipse.jdt.core.IMethod declaringMethod
        46: .line 1529
            aload 7 /* declaringMethod */
            aload 5 /* typeVariableName */
            invokeinterface org.eclipse.jdt.core.IMethod.getTypeParameter:(Ljava/lang/String;)Lorg/eclipse/jdt/core/ITypeParameter;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            areturn
        end local 7 // org.eclipse.jdt.core.IMethod declaringMethod
        47: .line 1531
      StackMap locals: java.lang.String org.eclipse.jdt.internal.compiler.lookup.Binding
      StackMap stack:
            aload 6 /* declaringElement */
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            aload 1 /* workingCopyOwner */
            aload 2 /* bindingsToNodes */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getUnresolvedJavaElement:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/jdt/internal/core/util/Util$BindingsToNodesMap;)Lorg/eclipse/jdt/internal/core/JavaElement;
            checkcast org.eclipse.jdt.core.IType
            astore 7 /* declaringType */
        start local 7 // org.eclipse.jdt.core.IType declaringType
        48: .line 1532
            aload 7 /* declaringType */
            ifnonnull 50
        49: .line 1533
            aconst_null
            areturn
        50: .line 1534
      StackMap locals: org.eclipse.jdt.core.IType
      StackMap stack:
            aload 7 /* declaringType */
            aload 5 /* typeVariableName */
            invokeinterface org.eclipse.jdt.core.IType.getTypeParameter:(Ljava/lang/String;)Lorg/eclipse/jdt/core/ITypeParameter;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            areturn
        end local 7 // org.eclipse.jdt.core.IType declaringType
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.Binding declaringElement
        end local 5 // java.lang.String typeVariableName
        51: .line 1537
      StackMap locals:
      StackMap stack:
            aload 4 /* fileName */
            ifnonnull 52
            aconst_null
            areturn
        52: .line 1539
      StackMap locals:
      StackMap stack:
            aload 0 /* typeBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.enclosingType:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 5 /* declaringTypeBinding */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding declaringTypeBinding
        53: .line 1540
            aload 5 /* declaringTypeBinding */
            ifnonnull 61
        54: .line 1542
            aload 4 /* fileName */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.isClassFileName:([C)Z
            ifeq 58
        55: .line 1543
            aload 4 /* fileName */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getClassFile:([C)Lorg/eclipse/jdt/core/IClassFile;
            checkcast org.eclipse.jdt.internal.core.ClassFile
            astore 6 /* classFile */
        start local 6 // org.eclipse.jdt.internal.core.ClassFile classFile
        56: .line 1544
            aload 6 /* classFile */
            ifnonnull 57
            aconst_null
            areturn
        57: .line 1545
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.core.ClassFile
      StackMap stack:
            aload 6 /* classFile */
            invokevirtual org.eclipse.jdt.internal.core.ClassFile.getType:()Lorg/eclipse/jdt/core/IType;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            areturn
        end local 6 // org.eclipse.jdt.internal.core.ClassFile classFile
        58: .line 1547
      StackMap locals:
      StackMap stack:
            aload 4 /* fileName */
            aload 1 /* workingCopyOwner */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getCompilationUnit:([CLorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/ICompilationUnit;
            astore 6 /* cu */
        start local 6 // org.eclipse.jdt.core.ICompilationUnit cu
        59: .line 1548
            aload 6 /* cu */
            ifnonnull 60
            aconst_null
            areturn
        60: .line 1549
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit
      StackMap stack:
            aload 6 /* cu */
            new java.lang.String
            dup
            aload 3 /* referenceBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.sourceName:()[C
            invokespecial java.lang.String.<init>:([C)V
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getType:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IType;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            areturn
        end local 6 // org.eclipse.jdt.core.ICompilationUnit cu
        61: .line 1552
      StackMap locals:
      StackMap stack:
            aload 5 /* declaringTypeBinding */
            aload 1 /* workingCopyOwner */
            aload 2 /* bindingsToNodes */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getUnresolvedJavaElement:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/jdt/internal/core/util/Util$BindingsToNodesMap;)Lorg/eclipse/jdt/internal/core/JavaElement;
            checkcast org.eclipse.jdt.core.IType
            astore 6 /* declaringType */
        start local 6 // org.eclipse.jdt.core.IType declaringType
        62: .line 1553
            aload 6 /* declaringType */
            ifnonnull 63
            aconst_null
            areturn
        63: .line 1554
      StackMap locals: org.eclipse.jdt.core.IType
      StackMap stack:
            aload 6 /* declaringType */
            new java.lang.String
            dup
            aload 3 /* referenceBinding */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.sourceName:()[C
            invokespecial java.lang.String.<init>:([C)V
            invokeinterface org.eclipse.jdt.core.IType.getType:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IType;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            areturn
        end local 6 // org.eclipse.jdt.core.IType declaringType
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding declaringTypeBinding
        end local 4 // char[] fileName
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding referenceBinding
        end local 2 // org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap bindingsToNodes
        end local 1 // org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding typeBinding
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   64     0           typeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   64     1      workingCopyOwner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0   64     2       bindingsToNodes  Lorg/eclipse/jdt/internal/core/util/Util$BindingsToNodesMap;
           10   11     3      referenceBinding  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           12   64     3      referenceBinding  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           13   64     4              fileName  [C
           16   34     5          jarSeparator  I
           17   34     6                pkgEnd  I
           24   34     7                   pkg  Lorg/eclipse/jdt/core/IPackageFragment;
           25   34     8      constantPoolName  [C
           27   30     9             classFile  Lorg/eclipse/jdt/internal/core/ClassFile;
           32   34     9         classFileName  [C
           33   34    10             classFile  Lorg/eclipse/jdt/internal/core/ClassFile;
           35   41     5                    cu  Lorg/eclipse/jdt/core/ICompilationUnit;
           37   39     6           sourceStart  I
           43   51     5      typeVariableName  Ljava/lang/String;
           44   51     6      declaringElement  Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
           46   47     7       declaringMethod  Lorg/eclipse/jdt/core/IMethod;
           48   51     7         declaringType  Lorg/eclipse/jdt/core/IType;
           53   64     5  declaringTypeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           56   58     6             classFile  Lorg/eclipse/jdt/internal/core/ClassFile;
           59   61     6                    cu  Lorg/eclipse/jdt/core/ICompilationUnit;
           62   64     6         declaringType  Lorg/eclipse/jdt/core/IType;
      Exception table:
        from    to  target  type
          36    38      39  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                  Name  Flags
      typeBinding       
      workingCopyOwner  
      bindingsToNodes   

  public static int indexOfEnclosingPath(org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IPath[], int);
    descriptor: (Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/core/runtime/IPath;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // org.eclipse.core.runtime.IPath checkedPath
        start local 1 // org.eclipse.core.runtime.IPath[] paths
        start local 2 // int pathCount
         0: .line 1564
            iconst_m1
            istore 3 /* bestMatch */
        start local 3 // int bestMatch
         1: iconst_m1
            istore 4 /* bestLength */
        start local 4 // int bestLength
         2: .line 1565
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 11
         4: .line 1566
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* paths */
            iload 5 /* i */
            aaload
            aload 0 /* checkedPath */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 5
            goto 10
         5: .line 1567
      StackMap locals:
      StackMap stack:
            aload 1 /* paths */
            iload 5 /* i */
            aaload
            aload 0 /* checkedPath */
            invokeinterface org.eclipse.core.runtime.IPath.isPrefixOf:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 10
         6: .line 1568
            aload 1 /* paths */
            iload 5 /* i */
            aaload
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            istore 6 /* currentLength */
        start local 6 // int currentLength
         7: .line 1569
            iload 6 /* currentLength */
            iload 4 /* bestLength */
            if_icmple 10
         8: .line 1570
            iload 6 /* currentLength */
            istore 4 /* bestLength */
         9: .line 1571
            iload 5 /* i */
            istore 3 /* bestMatch */
        end local 6 // int currentLength
        10: .line 1565
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            iload 2 /* pathCount */
            if_icmplt 4
        end local 5 // int i
        12: .line 1575
            iload 3 /* bestMatch */
            ireturn
        end local 4 // int bestLength
        end local 3 // int bestMatch
        end local 2 // int pathCount
        end local 1 // org.eclipse.core.runtime.IPath[] paths
        end local 0 // org.eclipse.core.runtime.IPath checkedPath
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0    checkedPath  Lorg/eclipse/core/runtime/IPath;
            0   13     1          paths  [Lorg/eclipse/core/runtime/IPath;
            0   13     2      pathCount  I
            1   13     3      bestMatch  I
            2   13     4     bestLength  I
            3   12     5              i  I
            7   10     6  currentLength  I
    MethodParameters:
             Name  Flags
      checkedPath  
      paths        
      pathCount    

  public static int indexOfJavaLikeExtension(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=1
        start local 0 // java.lang.String fileName
         0: .line 1584
            aload 0 /* fileName */
            invokevirtual java.lang.String.length:()I
            istore 1 /* fileNameLength */
        start local 1 // int fileNameLength
         1: .line 1585
            invokestatic org.eclipse.jdt.internal.core.util.Util.getJavaLikeExtensions:()[[C
            astore 2 /* javaLikeExtensions */
        start local 2 // char[][] javaLikeExtensions
         2: .line 1586
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: aload 2 /* javaLikeExtensions */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         4: goto 19
         5: .line 1587
      StackMap locals: java.lang.String int char[][] int int
      StackMap stack:
            aload 2 /* javaLikeExtensions */
            iload 3 /* i */
            aaload
            astore 5 /* extension */
        start local 5 // char[] extension
         6: .line 1588
            aload 5 /* extension */
            arraylength
            istore 6 /* extensionLength */
        start local 6 // int extensionLength
         7: .line 1589
            iload 1 /* fileNameLength */
            iload 6 /* extensionLength */
            isub
            istore 7 /* extensionStart */
        start local 7 // int extensionStart
         8: .line 1590
            iload 7 /* extensionStart */
            iconst_1
            isub
            istore 8 /* dotIndex */
        start local 8 // int dotIndex
         9: .line 1591
            iload 8 /* dotIndex */
            ifge 10
            goto 18
        10: .line 1592
      StackMap locals: java.lang.String int char[][] int int char[] int int int
      StackMap stack:
            aload 0 /* fileName */
            iload 8 /* dotIndex */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpeq 11
            goto 18
        11: .line 1593
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* j */
        start local 9 // int j
        12: goto 16
        13: .line 1594
      StackMap locals: int
      StackMap stack:
            aload 0 /* fileName */
            iload 7 /* extensionStart */
            iload 9 /* j */
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            aload 5 /* extension */
            iload 9 /* j */
            caload
            if_icmpeq 15
        14: .line 1595
            goto 18
        15: .line 1593
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        16: iload 9 /* j */
            iload 6 /* extensionLength */
            if_icmplt 13
        end local 9 // int j
        17: .line 1597
            iload 8 /* dotIndex */
            ireturn
        end local 8 // int dotIndex
        end local 7 // int extensionStart
        end local 6 // int extensionLength
        end local 5 // char[] extension
        18: .line 1586
      StackMap locals: java.lang.String int char[][] int int
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 5
        end local 4 // int length
        end local 3 // int i
        20: .line 1599
            iconst_m1
            ireturn
        end local 2 // char[][] javaLikeExtensions
        end local 1 // int fileNameLength
        end local 0 // java.lang.String fileName
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   21     0            fileName  Ljava/lang/String;
            1   21     1      fileNameLength  I
            2   21     2  javaLikeExtensions  [[C
            3   20     3                   i  I
            4   20     4              length  I
            6   18     5           extension  [C
            7   18     6     extensionLength  I
            8   18     7      extensionStart  I
            9   18     8            dotIndex  I
           12   17     9                   j  I
    MethodParameters:
          Name  Flags
      fileName  

  public static int indexOfMatchingPath(org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IPath[], int);
    descriptor: (Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/core/runtime/IPath;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.eclipse.core.runtime.IPath checkedPath
        start local 1 // org.eclipse.core.runtime.IPath[] paths
        start local 2 // int pathCount
         0: .line 1607
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 4
         2: .line 1608
      StackMap locals: int
      StackMap stack:
            aload 1 /* paths */
            iload 3 /* i */
            aaload
            aload 0 /* checkedPath */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 3
            iload 3 /* i */
            ireturn
         3: .line 1607
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 3 /* i */
            iload 2 /* pathCount */
            if_icmplt 2
        end local 3 // int i
         5: .line 1610
            iconst_m1
            ireturn
        end local 2 // int pathCount
        end local 1 // org.eclipse.core.runtime.IPath[] paths
        end local 0 // org.eclipse.core.runtime.IPath checkedPath
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0  checkedPath  Lorg/eclipse/core/runtime/IPath;
            0    6     1        paths  [Lorg/eclipse/core/runtime/IPath;
            0    6     2    pathCount  I
            1    5     3            i  I
    MethodParameters:
             Name  Flags
      checkedPath  
      paths        
      pathCount    

  public static int indexOfNestedPath(org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IPath[], int);
    descriptor: (Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/core/runtime/IPath;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.core.runtime.IPath checkedPath
        start local 1 // org.eclipse.core.runtime.IPath[] paths
        start local 2 // int pathCount
         0: .line 1618
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 5
         2: .line 1619
      StackMap locals: int
      StackMap stack:
            aload 0 /* checkedPath */
            aload 1 /* paths */
            iload 3 /* i */
            aaload
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 3
            goto 4
         3: .line 1620
      StackMap locals:
      StackMap stack:
            aload 0 /* checkedPath */
            aload 1 /* paths */
            iload 3 /* i */
            aaload
            invokeinterface org.eclipse.core.runtime.IPath.isPrefixOf:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 4
            iload 3 /* i */
            ireturn
         4: .line 1618
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 2 /* pathCount */
            if_icmplt 2
        end local 3 // int i
         6: .line 1622
            iconst_m1
            ireturn
        end local 2 // int pathCount
        end local 1 // org.eclipse.core.runtime.IPath[] paths
        end local 0 // org.eclipse.core.runtime.IPath checkedPath
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0  checkedPath  Lorg/eclipse/core/runtime/IPath;
            0    7     1        paths  [Lorg/eclipse/core/runtime/IPath;
            0    7     2    pathCount  I
            1    6     3            i  I
    MethodParameters:
             Name  Flags
      checkedPath  
      paths        
      pathCount    

  protected static boolean isAttributeSupported(int);
    descriptor: (I)Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int attribute
         0: .line 1629
            invokestatic org.eclipse.core.filesystem.EFS.getLocalFileSystem:()Lorg/eclipse/core/filesystem/IFileSystem;
            invokeinterface org.eclipse.core.filesystem.IFileSystem.attributes:()I
            iload 0 /* attribute */
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int attribute
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  attribute  I
    MethodParameters:
           Name  Flags
      attribute  

  public static boolean isReadOnly(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.core.resources.IResource resource
         0: .line 1639
            invokestatic org.eclipse.jdt.internal.core.util.Util.isReadOnlySupported:()Z
            ifeq 4
         1: .line 1640
            aload 0 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getResourceAttributes:()Lorg/eclipse/core/resources/ResourceAttributes;
            astore 1 /* resourceAttributes */
        start local 1 // org.eclipse.core.resources.ResourceAttributes resourceAttributes
         2: .line 1641
            aload 1 /* resourceAttributes */
            ifnonnull 3
            iconst_0
            ireturn
         3: .line 1642
      StackMap locals: org.eclipse.core.resources.ResourceAttributes
      StackMap stack:
            aload 1 /* resourceAttributes */
            invokevirtual org.eclipse.core.resources.ResourceAttributes.isReadOnly:()Z
            ireturn
        end local 1 // org.eclipse.core.resources.ResourceAttributes resourceAttributes
         4: .line 1644
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.eclipse.core.resources.IResource resource
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0            resource  Lorg/eclipse/core/resources/IResource;
            2    4     1  resourceAttributes  Lorg/eclipse/core/resources/ResourceAttributes;
    MethodParameters:
          Name  Flags
      resource  

  public static boolean isReadOnlySupported();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1652
            iconst_2
            invokestatic org.eclipse.jdt.internal.core.util.Util.isAttributeSupported:(I)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static final boolean isExcluded(org.eclipse.jdt.core.IJavaElement);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaElement element
         0: .line 1660
            aload 0 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            istore 1 /* elementType */
        start local 1 // int elementType
         1: .line 1661
            iload 1 /* elementType */
            tableswitch { // 1 - 5
                    1: 2
                    2: 2
                    3: 2
                    4: 3
                    5: 7
              default: 14
          }
         2: .line 1665
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
         3: .line 1668
      StackMap locals:
      StackMap stack:
            aload 0 /* element */
            iconst_3
            invokeinterface org.eclipse.jdt.core.IJavaElement.getAncestor:(I)Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.PackageFragmentRoot
            astore 2 /* root */
        start local 2 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
         4: .line 1669
            aload 0 /* element */
            checkcast org.eclipse.jdt.internal.core.PackageFragment
            invokevirtual org.eclipse.jdt.internal.core.PackageFragment.resource:()Lorg/eclipse/core/resources/IResource;
            astore 3 /* resource */
        start local 3 // org.eclipse.core.resources.IResource resource
         5: .line 1670
            aload 3 /* resource */
            ifnull 6
            aload 3 /* resource */
            aload 2 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.fullInclusionPatternChars:()[[C
            aload 2 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.fullExclusionPatternChars:()[[C
            invokestatic org.eclipse.jdt.internal.core.util.Util.isExcluded:(Lorg/eclipse/core/resources/IResource;[[C[[C)Z
            ifeq 6
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.internal.core.PackageFragmentRoot org.eclipse.core.resources.IResource
      StackMap stack:
         6: iconst_0
            ireturn
        end local 3 // org.eclipse.core.resources.IResource resource
        end local 2 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
         7: .line 1673
      StackMap locals:
      StackMap stack:
            aload 0 /* element */
            iconst_3
            invokeinterface org.eclipse.jdt.core.IJavaElement.getAncestor:(I)Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.PackageFragmentRoot
            astore 2 /* root */
        start local 2 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
         8: .line 1674
            aload 0 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getResource:()Lorg/eclipse/core/resources/IResource;
            astore 3 /* resource */
        start local 3 // org.eclipse.core.resources.IResource resource
         9: .line 1675
            aload 3 /* resource */
            ifnonnull 11
        10: .line 1676
            iconst_0
            ireturn
        11: .line 1677
      StackMap locals: org.eclipse.jdt.internal.core.PackageFragmentRoot org.eclipse.core.resources.IResource
      StackMap stack:
            aload 3 /* resource */
            aload 2 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.fullInclusionPatternChars:()[[C
            aload 2 /* root */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.fullExclusionPatternChars:()[[C
            invokestatic org.eclipse.jdt.internal.core.util.Util.isExcluded:(Lorg/eclipse/core/resources/IResource;[[C[[C)Z
            ifeq 13
        12: .line 1678
            iconst_1
            ireturn
        13: .line 1679
      StackMap locals:
      StackMap stack:
            aload 0 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            invokestatic org.eclipse.jdt.internal.core.util.Util.isExcluded:(Lorg/eclipse/jdt/core/IJavaElement;)Z
            ireturn
        end local 3 // org.eclipse.core.resources.IResource resource
        end local 2 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
        14: .line 1682
      StackMap locals:
      StackMap stack:
            aload 0 /* element */
            iconst_5
            invokeinterface org.eclipse.jdt.core.IJavaElement.getAncestor:(I)Lorg/eclipse/jdt/core/IJavaElement;
            astore 4 /* cu */
        start local 4 // org.eclipse.jdt.core.IJavaElement cu
        15: .line 1683
            aload 4 /* cu */
            ifnull 16
            aload 4 /* cu */
            invokestatic org.eclipse.jdt.internal.core.util.Util.isExcluded:(Lorg/eclipse/jdt/core/IJavaElement;)Z
            ifeq 16
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.core.IJavaElement int top top org.eclipse.jdt.core.IJavaElement
      StackMap stack:
        16: iconst_0
            ireturn
        end local 4 // org.eclipse.jdt.core.IJavaElement cu
        end local 1 // int elementType
        end local 0 // org.eclipse.jdt.core.IJavaElement element
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0      element  Lorg/eclipse/jdt/core/IJavaElement;
            1   17     1  elementType  I
            4    7     2         root  Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;
            8   14     2         root  Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;
            5    7     3     resource  Lorg/eclipse/core/resources/IResource;
            9   14     3     resource  Lorg/eclipse/core/resources/IResource;
           15   17     4           cu  Lorg/eclipse/jdt/core/IJavaElement;
    MethodParameters:
         Name  Flags
      element  

  public static final boolean isExcluded(org.eclipse.core.runtime.IPath, char[][], char[][], boolean);
    descriptor: (Lorg/eclipse/core/runtime/IPath;[[C[[CZ)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.eclipse.core.runtime.IPath resourcePath
        start local 1 // char[][] inclusionPatterns
        start local 2 // char[][] exclusionPatterns
        start local 3 // boolean isFolderPath
         0: .line 1694
            aload 1 /* inclusionPatterns */
            ifnonnull 1
            aload 2 /* exclusionPatterns */
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 1695
      StackMap locals:
      StackMap stack:
            aload 0 /* resourcePath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            aload 1 /* inclusionPatterns */
            aload 2 /* exclusionPatterns */
            iload 3 /* isFolderPath */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.isExcluded:([C[[C[[CZ)Z
            ireturn
        end local 3 // boolean isFolderPath
        end local 2 // char[][] exclusionPatterns
        end local 1 // char[][] inclusionPatterns
        end local 0 // org.eclipse.core.runtime.IPath resourcePath
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0       resourcePath  Lorg/eclipse/core/runtime/IPath;
            0    2     1  inclusionPatterns  [[C
            0    2     2  exclusionPatterns  [[C
            0    2     3       isFolderPath  Z
    MethodParameters:
                   Name  Flags
      resourcePath       
      inclusionPatterns  
      exclusionPatterns  
      isFolderPath       

  public static final boolean isExcluded(org.eclipse.core.resources.IResource, char[][], char[][]);
    descriptor: (Lorg/eclipse/core/resources/IResource;[[C[[C)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.eclipse.core.resources.IResource resource
        start local 1 // char[][] inclusionPatterns
        start local 2 // char[][] exclusionPatterns
         0: .line 1704
            aload 0 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            astore 3 /* path */
        start local 3 // org.eclipse.core.runtime.IPath path
         1: .line 1706
            aload 0 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getType:()I
            istore 4 /* resourceType */
        start local 4 // int resourceType
         2: .line 1707
            aload 3 /* path */
            aload 1 /* inclusionPatterns */
            aload 2 /* exclusionPatterns */
            iload 4 /* resourceType */
            iconst_2
            if_icmpeq 3
            iload 4 /* resourceType */
            iconst_4
            if_icmpeq 3
            iconst_0
            goto 4
      StackMap locals: org.eclipse.core.resources.IResource char[][] char[][] org.eclipse.core.runtime.IPath int
      StackMap stack: org.eclipse.core.runtime.IPath char[][] char[][]
         3: iconst_1
      StackMap locals: org.eclipse.core.resources.IResource char[][] char[][] org.eclipse.core.runtime.IPath int
      StackMap stack: org.eclipse.core.runtime.IPath char[][] char[][] int
         4: invokestatic org.eclipse.jdt.internal.core.util.Util.isExcluded:(Lorg/eclipse/core/runtime/IPath;[[C[[CZ)Z
            ireturn
        end local 4 // int resourceType
        end local 3 // org.eclipse.core.runtime.IPath path
        end local 2 // char[][] exclusionPatterns
        end local 1 // char[][] inclusionPatterns
        end local 0 // org.eclipse.core.resources.IResource resource
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0           resource  Lorg/eclipse/core/resources/IResource;
            0    5     1  inclusionPatterns  [[C
            0    5     2  exclusionPatterns  [[C
            1    5     3               path  Lorg/eclipse/core/runtime/IPath;
            2    5     4       resourceType  I
    MethodParameters:
                   Name  Flags
      resource           
      inclusionPatterns  
      exclusionPatterns  

  public static boolean isValidClassFileName(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.String name
        start local 1 // java.lang.String sourceLevel
        start local 2 // java.lang.String complianceLevel
         0: .line 1728
            aload 0 /* name */
            aload 1 /* sourceLevel */
            aload 2 /* complianceLevel */
            invokestatic org.eclipse.jdt.core.JavaConventions.validateClassFileName:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/core/runtime/IStatus;
            invokeinterface org.eclipse.core.runtime.IStatus.getSeverity:()I
            iconst_4
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // java.lang.String complianceLevel
        end local 1 // java.lang.String sourceLevel
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             name  Ljava/lang/String;
            0    2     1      sourceLevel  Ljava/lang/String;
            0    2     2  complianceLevel  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      name             
      sourceLevel      
      complianceLevel  

  public static boolean isValidCompilationUnitName(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.String name
        start local 1 // java.lang.String sourceLevel
        start local 2 // java.lang.String complianceLevel
         0: .line 1749
            aload 0 /* name */
            aload 1 /* sourceLevel */
            aload 2 /* complianceLevel */
            invokestatic org.eclipse.jdt.core.JavaConventions.validateCompilationUnitName:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/core/runtime/IStatus;
            invokeinterface org.eclipse.core.runtime.IStatus.getSeverity:()I
            iconst_4
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // java.lang.String complianceLevel
        end local 1 // java.lang.String sourceLevel
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             name  Ljava/lang/String;
            0    2     1      sourceLevel  Ljava/lang/String;
            0    2     2  complianceLevel  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      name             
      sourceLevel      
      complianceLevel  

  public static boolean isValidFolderNameForPackage(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.String folderName
        start local 1 // java.lang.String sourceLevel
        start local 2 // java.lang.String complianceLevel
         0: .line 1760
            aload 0 /* folderName */
            aload 1 /* sourceLevel */
            aload 2 /* complianceLevel */
            invokestatic org.eclipse.jdt.core.JavaConventions.validateIdentifier:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/core/runtime/IStatus;
            invokeinterface org.eclipse.core.runtime.IStatus.getSeverity:()I
            iconst_4
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // java.lang.String complianceLevel
        end local 1 // java.lang.String sourceLevel
        end local 0 // java.lang.String folderName
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0       folderName  Ljava/lang/String;
            0    2     1      sourceLevel  Ljava/lang/String;
            0    2     2  complianceLevel  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      folderName       
      sourceLevel      
      complianceLevel  

  public static boolean isValidMethodSignature(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.String sig
         0: .line 1768
            aload 0 /* sig */
            invokevirtual java.lang.String.length:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 1769
            iload 1 /* len */
            ifne 2
            iconst_0
            ireturn
         2: .line 1770
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: .line 1771
            aload 0 /* sig */
            iload 2 /* i */
            iinc 2 /* i */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         4: .line 1772
            iload 3 /* c */
            bipush 40
            if_icmpeq 5
            iconst_0
            ireturn
         5: .line 1773
      StackMap locals: int int
      StackMap stack:
            iload 2 /* i */
            iload 1 /* len */
            if_icmplt 9
            iconst_0
            ireturn
         6: .line 1776
      StackMap locals:
      StackMap stack:
            aload 0 /* sig */
            iload 2 /* i */
            iload 1 /* len */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.util.Util.checkTypeSignature:(Ljava/lang/String;IIZ)I
            istore 2 /* i */
         7: .line 1777
            iload 2 /* i */
            iconst_m1
            if_icmpne 8
            iconst_0
            ireturn
         8: .line 1778
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iload 1 /* len */
            if_icmplt 9
            iconst_0
            ireturn
         9: .line 1774
      StackMap locals:
      StackMap stack:
            aload 0 /* sig */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 41
            if_icmpne 6
        10: .line 1780
            iinc 2 /* i */ 1
        11: .line 1781
            aload 0 /* sig */
            iload 2 /* i */
            iload 1 /* len */
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.util.Util.checkTypeSignature:(Ljava/lang/String;IIZ)I
            istore 2 /* i */
        12: .line 1782
            iload 2 /* i */
            iload 1 /* len */
            if_icmpne 13
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        13: iconst_0
            ireturn
        end local 3 // char c
        end local 2 // int i
        end local 1 // int len
        end local 0 // java.lang.String sig
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0   sig  Ljava/lang/String;
            1   14     1   len  I
            3   14     2     i  I
            4   14     3     c  C
    MethodParameters:
      Name  Flags
      sig   

  public static boolean isValidTypeSignature(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.String sig
        start local 1 // boolean allowVoid
         0: .line 1790
            aload 0 /* sig */
            invokevirtual java.lang.String.length:()I
            istore 2 /* len */
        start local 2 // int len
         1: .line 1791
            aload 0 /* sig */
            iconst_0
            iload 2 /* len */
            iload 1 /* allowVoid */
            invokestatic org.eclipse.jdt.internal.core.util.Util.checkTypeSignature:(Ljava/lang/String;IIZ)I
            iload 2 /* len */
            if_icmpne 2
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // int len
        end local 1 // boolean allowVoid
        end local 0 // java.lang.String sig
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0        sig  Ljava/lang/String;
            0    3     1  allowVoid  Z
            1    3     2        len  I
    MethodParameters:
           Name  Flags
      sig        
      allowVoid  

  public static java.lang.String localTypeName(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.String binaryTypeName
        start local 1 // int lastDollar
        start local 2 // int end
         0: .line 1799
            iload 1 /* lastDollar */
            ifle 2
            aload 0 /* binaryTypeName */
            iload 1 /* lastDollar */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 36
            if_icmpne 2
         1: .line 1802
            aload 0 /* binaryTypeName */
            areturn
         2: .line 1803
      StackMap locals:
      StackMap stack:
            iload 1 /* lastDollar */
            iconst_1
            iadd
            istore 3 /* nameStart */
        start local 3 // int nameStart
         3: .line 1804
            goto 5
         4: .line 1805
      StackMap locals: int
      StackMap stack:
            iinc 3 /* nameStart */ 1
         5: .line 1804
      StackMap locals:
      StackMap stack:
            iload 3 /* nameStart */
            iload 2 /* end */
            if_icmpge 6
            aload 0 /* binaryTypeName */
            iload 3 /* nameStart */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isDigit:(C)Z
            ifne 4
         6: .line 1806
      StackMap locals:
      StackMap stack:
            aload 0 /* binaryTypeName */
            iload 3 /* nameStart */
            iload 2 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 3 // int nameStart
        end local 2 // int end
        end local 1 // int lastDollar
        end local 0 // java.lang.String binaryTypeName
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0  binaryTypeName  Ljava/lang/String;
            0    7     1      lastDollar  I
            0    7     2             end  I
            3    7     3       nameStart  I
    MethodParameters:
                Name  Flags
      binaryTypeName  
      lastDollar      
      end             

  public static void log(java.lang.Throwable, java.lang.String);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // java.lang.Throwable e
        start local 1 // java.lang.String message
         0: .line 1814
            aload 0 /* e */
            instanceof org.eclipse.jdt.core.JavaModelException
            ifeq 4
         1: .line 1815
            aload 0 /* e */
            checkcast org.eclipse.jdt.core.JavaModelException
            invokevirtual org.eclipse.jdt.core.JavaModelException.getException:()Ljava/lang/Throwable;
            dup
            astore 2 /* nestedException */
        start local 2 // java.lang.Throwable nestedException
         2: ifnull 4
         3: .line 1816
            aload 2 /* nestedException */
            astore 0 /* e */
        end local 2 // java.lang.Throwable nestedException
         4: .line 1818
      StackMap locals:
      StackMap stack:
            new org.eclipse.core.runtime.Status
            dup
         5: .line 1819
            iconst_4
         6: .line 1820
            ldc "org.eclipse.jdt.core"
         7: .line 1821
            iconst_4
         8: .line 1822
            aload 1 /* message */
         9: .line 1823
            aload 0 /* e */
        10: .line 1818
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Lorg/eclipse/core/runtime/IStatus;)V
        11: .line 1824
            return
        end local 1 // java.lang.String message
        end local 0 // java.lang.Throwable e
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0                e  Ljava/lang/Throwable;
            0   12     1          message  Ljava/lang/String;
            2    4     2  nestedException  Ljava/lang/Throwable;
    MethodParameters:
         Name  Flags
      e        
      message  

  public static void logRepeatedMessage(java.lang.String, java.lang.Exception);
    descriptor: (Ljava/lang/String;Ljava/lang/Exception;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String key
        start local 1 // java.lang.Exception e
         0: .line 1837
            aload 0 /* key */
            ifnonnull 2
         1: .line 1838
            new java.lang.IllegalArgumentException
            dup
            ldc "key cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1840
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.util.Util.fgRepeatedMessages:Ljava/util/List;
            aload 0 /* key */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1841
            return
         4: .line 1843
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.util.Util.fgRepeatedMessages:Ljava/util/List;
            aload 0 /* key */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 1844
            aload 1 /* e */
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Ljava/lang/Throwable;)V
         6: .line 1845
            return
        end local 1 // java.lang.Exception e
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   key  Ljava/lang/String;
            0    7     1     e  Ljava/lang/Exception;
    MethodParameters:
      Name  Flags
      key   
      e     

  public static void logRepeatedMessage(java.lang.String, int, java.lang.String);
    descriptor: (Ljava/lang/String;ILjava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.String key
        start local 1 // int statusErrorID
        start local 2 // java.lang.String message
         0: .line 1848
            aload 0 /* key */
            ifnonnull 2
         1: .line 1849
            new java.lang.IllegalArgumentException
            dup
            ldc "key cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1851
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.util.Util.fgRepeatedMessages:Ljava/util/List;
            aload 0 /* key */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1852
            return
         4: .line 1854
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.util.Util.fgRepeatedMessages:Ljava/util/List;
            aload 0 /* key */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 1855
            iload 1 /* statusErrorID */
            aload 2 /* message */
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(ILjava/lang/String;)V
         6: .line 1856
            return
        end local 2 // java.lang.String message
        end local 1 // int statusErrorID
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0            key  Ljava/lang/String;
            0    7     1  statusErrorID  I
            0    7     2        message  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      key            
      statusErrorID  
      message        

  public static void log(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // int statusErrorID
        start local 1 // java.lang.String message
         0: .line 1862
            new org.eclipse.core.runtime.Status
            dup
         1: .line 1863
            iload 0 /* statusErrorID */
         2: .line 1864
            ldc "org.eclipse.jdt.core"
         3: .line 1865
            aload 1 /* message */
         4: .line 1862
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Lorg/eclipse/core/runtime/IStatus;)V
         5: .line 1866
            return
        end local 1 // java.lang.String message
        end local 0 // int statusErrorID
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0  statusErrorID  I
            0    6     1        message  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      statusErrorID  
      message        

  public static void log(org.eclipse.core.runtime.IStatus);
    descriptor: (Lorg/eclipse/core/runtime/IStatus;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.core.runtime.IStatus status
         0: .line 1872
            invokestatic org.eclipse.jdt.core.JavaCore.getPlugin:()Lorg/eclipse/core/runtime/Plugin;
            astore 1 /* plugin */
        start local 1 // org.eclipse.core.runtime.Plugin plugin
         1: .line 1873
            aload 1 /* plugin */
            ifnonnull 4
         2: .line 1874
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 0 /* status */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 1875
            goto 5
         4: .line 1876
      StackMap locals: org.eclipse.core.runtime.Plugin
      StackMap stack:
            aload 1 /* plugin */
            invokevirtual org.eclipse.core.runtime.Plugin.getLog:()Lorg/eclipse/core/runtime/ILog;
            aload 0 /* status */
            invokeinterface org.eclipse.core.runtime.ILog.log:(Lorg/eclipse/core/runtime/IStatus;)V
         5: .line 1878
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.core.runtime.Plugin plugin
        end local 0 // org.eclipse.core.runtime.IStatus status
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  status  Lorg/eclipse/core/runtime/IStatus;
            1    6     1  plugin  Lorg/eclipse/core/runtime/Plugin;
    MethodParameters:
        Name  Flags
      status  

  public static void log(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.lang.Throwable e
         0: .line 1881
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            ldc "org.eclipse.jdt.core"
            getstatic org.eclipse.jdt.internal.core.util.Messages.internal_error:Ljava/lang/String;
            aload 0 /* e */
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Lorg/eclipse/core/runtime/IStatus;)V
         1: .line 1882
            return
        end local 0 // java.lang.Throwable e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     e  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      e     

  public static org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader newClassFileReader(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.core.resources.IResource resource
         0: .line 1885
            aconst_null
            astore 1 /* in */
        start local 1 // java.io.InputStream in
         1: .line 1887
            aload 0 /* resource */
            checkcast org.eclipse.core.resources.IFile
            iconst_1
            invokeinterface org.eclipse.core.resources.IFile.getContents:(Z)Ljava/io/InputStream;
            astore 1 /* in */
         2: .line 1888
            aload 1 /* in */
            aload 0 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.read:(Ljava/io/InputStream;Ljava/lang/String;)Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
            astore 3
         3: .line 1890
            aload 1 /* in */
            ifnull 5
         4: .line 1891
            aload 1 /* in */
            invokevirtual java.io.InputStream.close:()V
         5: .line 1888
      StackMap locals: org.eclipse.core.resources.IResource java.io.InputStream top org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader
      StackMap stack:
            aload 3
            areturn
         6: .line 1889
      StackMap locals: org.eclipse.core.resources.IResource java.io.InputStream
      StackMap stack: java.lang.Throwable
            astore 2
         7: .line 1890
            aload 1 /* in */
            ifnull 9
         8: .line 1891
            aload 1 /* in */
            invokevirtual java.io.InputStream.close:()V
         9: .line 1892
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2
            athrow
        end local 1 // java.io.InputStream in
        end local 0 // org.eclipse.core.resources.IResource resource
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0  resource  Lorg/eclipse/core/resources/IResource;
            1   10     1        in  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           1     3       6  any
    Exceptions:
      throws org.eclipse.core.runtime.CoreException, org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException, java.io.IOException
    MethodParameters:
          Name  Flags
      resource  

  public static char[] normalizeCRs(char[], char[]);
    descriptor: ([C[C)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // char[] text
        start local 1 // char[] buffer
         0: .line 1900
            new org.eclipse.jdt.internal.core.util.CharArrayBuffer
            dup
            invokespecial org.eclipse.jdt.internal.core.util.CharArrayBuffer.<init>:()V
            astore 2 /* result */
        start local 2 // org.eclipse.jdt.internal.core.util.CharArrayBuffer result
         1: .line 1901
            iconst_0
            istore 3 /* lineStart */
        start local 3 // int lineStart
         2: .line 1902
            aload 0 /* text */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         3: .line 1903
            iload 4 /* length */
            ifne 4
            aload 0 /* text */
            areturn
         4: .line 1904
      StackMap locals: org.eclipse.jdt.internal.core.util.CharArrayBuffer int int
      StackMap stack:
            aload 0 /* text */
            aload 1 /* buffer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getLineSeparator:([C[C)Ljava/lang/String;
            astore 5 /* lineSeparator */
        start local 5 // java.lang.String lineSeparator
         5: .line 1905
            aload 0 /* text */
            iconst_0
            caload
            istore 6 /* nextChar */
        start local 6 // char nextChar
         6: .line 1906
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 34
         8: .line 1907
      StackMap locals: java.lang.String int int
      StackMap stack:
            iload 6 /* nextChar */
            istore 8 /* currentChar */
        start local 8 // char currentChar
         9: .line 1908
            iload 7 /* i */
            iload 4 /* length */
            iconst_1
            isub
            if_icmpge 10
            aload 0 /* text */
            iload 7 /* i */
            iconst_1
            iadd
            caload
            goto 11
      StackMap locals: int
      StackMap stack:
        10: bipush 32
      StackMap locals:
      StackMap stack: int
        11: istore 6 /* nextChar */
        12: .line 1909
            iload 8 /* currentChar */
            tableswitch { // 10 - 13
                   10: 13
                   11: 33
                   12: 33
                   13: 20
              default: 33
          }
        13: .line 1911
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            iload 3 /* lineStart */
            isub
            istore 9 /* lineLength */
        start local 9 // int lineLength
        14: .line 1912
            iload 9 /* lineLength */
            newarray 5
            astore 10 /* line */
        start local 10 // char[] line
        15: .line 1913
            aload 0 /* text */
            iload 3 /* lineStart */
            aload 10 /* line */
            iconst_0
            iload 9 /* lineLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 1914
            aload 2 /* result */
            aload 10 /* line */
            invokevirtual org.eclipse.jdt.internal.core.util.CharArrayBuffer.append:([C)Lorg/eclipse/jdt/internal/core/util/CharArrayBuffer;
            pop
        17: .line 1915
            aload 2 /* result */
            aload 5 /* lineSeparator */
            invokevirtual org.eclipse.jdt.internal.core.util.CharArrayBuffer.append:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/util/CharArrayBuffer;
            pop
        18: .line 1916
            iload 7 /* i */
            iconst_1
            iadd
            istore 3 /* lineStart */
        19: .line 1917
            goto 33
        end local 10 // char[] line
        end local 9 // int lineLength
        20: .line 1919
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            iload 3 /* lineStart */
            isub
            istore 9 /* lineLength */
        start local 9 // int lineLength
        21: .line 1920
            iload 9 /* lineLength */
            iflt 32
        22: .line 1921
            iload 9 /* lineLength */
            newarray 5
            astore 10 /* line */
        start local 10 // char[] line
        23: .line 1922
            aload 0 /* text */
            iload 3 /* lineStart */
            aload 10 /* line */
            iconst_0
            iload 9 /* lineLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        24: .line 1923
            aload 2 /* result */
            aload 10 /* line */
            invokevirtual org.eclipse.jdt.internal.core.util.CharArrayBuffer.append:([C)Lorg/eclipse/jdt/internal/core/util/CharArrayBuffer;
            pop
        25: .line 1924
            aload 2 /* result */
            aload 5 /* lineSeparator */
            invokevirtual org.eclipse.jdt.internal.core.util.CharArrayBuffer.append:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/util/CharArrayBuffer;
            pop
        26: .line 1925
            iload 6 /* nextChar */
            bipush 10
            if_icmpne 30
        27: .line 1926
            bipush 32
            istore 6 /* nextChar */
        28: .line 1927
            iload 7 /* i */
            iconst_2
            iadd
            istore 3 /* lineStart */
        29: .line 1928
            goto 33
        30: .line 1932
      StackMap locals: int char[]
      StackMap stack:
            iload 7 /* i */
            iconst_1
            iadd
            istore 3 /* lineStart */
        31: .line 1934
            goto 33
        end local 10 // char[] line
        32: .line 1937
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            iconst_1
            iadd
            istore 3 /* lineStart */
        end local 9 // int lineLength
        end local 8 // char currentChar
        33: .line 1906
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 7 /* i */
            iload 4 /* length */
            if_icmplt 8
        end local 7 // int i
        35: .line 1943
            iload 3 /* lineStart */
            ifle 42
        36: .line 1944
            iload 4 /* length */
            iload 3 /* lineStart */
            isub
            istore 8 /* lastLineLength */
        start local 8 // int lastLineLength
        37: .line 1945
            iload 8 /* lastLineLength */
            ifle 41
        38: .line 1946
            iload 8 /* lastLineLength */
            newarray 5
            astore 7 /* lastLine */
        start local 7 // char[] lastLine
        39: .line 1947
            aload 0 /* text */
            iload 3 /* lineStart */
            aload 7 /* lastLine */
            iconst_0
            iload 8 /* lastLineLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        40: .line 1948
            aload 2 /* result */
            aload 7 /* lastLine */
            invokevirtual org.eclipse.jdt.internal.core.util.CharArrayBuffer.append:([C)Lorg/eclipse/jdt/internal/core/util/CharArrayBuffer;
            pop
        end local 7 // char[] lastLine
        41: .line 1950
      StackMap locals: char[] char[] org.eclipse.jdt.internal.core.util.CharArrayBuffer int int java.lang.String int top int
      StackMap stack:
            aload 2 /* result */
            invokevirtual org.eclipse.jdt.internal.core.util.CharArrayBuffer.getContents:()[C
            areturn
        end local 8 // int lastLineLength
        42: .line 1952
      StackMap locals: char[] char[] org.eclipse.jdt.internal.core.util.CharArrayBuffer int int java.lang.String int
      StackMap stack:
            aload 0 /* text */
            areturn
        end local 6 // char nextChar
        end local 5 // java.lang.String lineSeparator
        end local 4 // int length
        end local 3 // int lineStart
        end local 2 // org.eclipse.jdt.internal.core.util.CharArrayBuffer result
        end local 1 // char[] buffer
        end local 0 // char[] text
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   43     0            text  [C
            0   43     1          buffer  [C
            1   43     2          result  Lorg/eclipse/jdt/internal/core/util/CharArrayBuffer;
            2   43     3       lineStart  I
            3   43     4          length  I
            5   43     5   lineSeparator  Ljava/lang/String;
            6   43     6        nextChar  C
            7   35     7               i  I
            9   33     8     currentChar  C
           14   20     9      lineLength  I
           21   33     9      lineLength  I
           15   20    10            line  [C
           23   32    10            line  [C
           39   41     7        lastLine  [C
           37   42     8  lastLineLength  I
    MethodParameters:
        Name  Flags
      text    
      buffer  

  public static java.lang.String normalizeCRs(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String text
        start local 1 // java.lang.String buffer
         0: .line 1960
            new java.lang.String
            dup
            aload 0 /* text */
            invokevirtual java.lang.String.toCharArray:()[C
            aload 1 /* buffer */
            invokevirtual java.lang.String.toCharArray:()[C
            invokestatic org.eclipse.jdt.internal.core.util.Util.normalizeCRs:([C[C)[C
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 1 // java.lang.String buffer
        end local 0 // java.lang.String text
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    text  Ljava/lang/String;
            0    1     1  buffer  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      text    
      buffer  

  public static java.lang.String packageName(org.eclipse.core.runtime.IPath, java.lang.String, java.lang.String);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.eclipse.core.runtime.IPath pkgPath
        start local 1 // java.lang.String sourceLevel
        start local 2 // java.lang.String complianceLevel
         0: .line 1971
            new java.lang.StringBuffer
            dup
            ldc ""
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 3 /* pkgName */
        start local 3 // java.lang.StringBuffer pkgName
         1: .line 1972
            iconst_0
            istore 4 /* j */
        start local 4 // int j
         2: aload 0 /* pkgPath */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            istore 5 /* max */
        start local 5 // int max
         3: goto 11
         4: .line 1973
      StackMap locals: java.lang.StringBuffer int int
      StackMap stack:
            aload 0 /* pkgPath */
            iload 4 /* j */
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            astore 6 /* segment */
        start local 6 // java.lang.String segment
         5: .line 1974
            aload 6 /* segment */
            aload 1 /* sourceLevel */
            aload 2 /* complianceLevel */
            invokestatic org.eclipse.jdt.internal.core.util.Util.isValidFolderNameForPackage:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
            ifne 7
         6: .line 1975
            aconst_null
            areturn
         7: .line 1977
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* pkgName */
            aload 6 /* segment */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 1978
            iload 4 /* j */
            aload 0 /* pkgPath */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            iconst_1
            isub
            if_icmpge 10
         9: .line 1979
            aload 3 /* pkgName */
            ldc "."
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 6 // java.lang.String segment
        10: .line 1972
      StackMap locals:
      StackMap stack:
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* j */
            iload 5 /* max */
            if_icmplt 4
        end local 5 // int max
        end local 4 // int j
        12: .line 1982
            aload 3 /* pkgName */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuffer pkgName
        end local 2 // java.lang.String complianceLevel
        end local 1 // java.lang.String sourceLevel
        end local 0 // org.eclipse.core.runtime.IPath pkgPath
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0          pkgPath  Lorg/eclipse/core/runtime/IPath;
            0   13     1      sourceLevel  Ljava/lang/String;
            0   13     2  complianceLevel  Ljava/lang/String;
            1   13     3          pkgName  Ljava/lang/StringBuffer;
            2   12     4                j  I
            3   12     5              max  I
            5   10     6          segment  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      pkgPath          
      sourceLevel      
      complianceLevel  

  public static int prefixLength(char[], char[]);
    descriptor: ([C[C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // char[] s1
        start local 1 // char[] s2
         0: .line 1989
            iconst_0
            istore 2 /* len */
        start local 2 // int len
         1: .line 1990
            aload 0 /* s1 */
            arraylength
            aload 1 /* s2 */
            arraylength
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* max */
        start local 3 // int max
         2: .line 1991
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 1992
      StackMap locals: int int int
      StackMap stack:
            iinc 2 /* len */ 1
         5: .line 1991
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            iload 3 /* max */
            if_icmpge 7
            aload 0 /* s1 */
            iload 4 /* i */
            caload
            aload 1 /* s2 */
            iload 4 /* i */
            caload
            if_icmpeq 4
        end local 4 // int i
         7: .line 1993
      StackMap locals:
      StackMap stack:
            iload 2 /* len */
            ireturn
        end local 3 // int max
        end local 2 // int len
        end local 1 // char[] s2
        end local 0 // char[] s1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0    s1  [C
            0    8     1    s2  [C
            1    8     2   len  I
            2    8     3   max  I
            3    7     4     i  I
    MethodParameters:
      Name  Flags
      s1    
      s2    

  public static int prefixLength(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.lang.String s1
        start local 1 // java.lang.String s2
         0: .line 1999
            iconst_0
            istore 2 /* len */
        start local 2 // int len
         1: .line 2000
            aload 0 /* s1 */
            invokevirtual java.lang.String.length:()I
            aload 1 /* s2 */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* max */
        start local 3 // int max
         2: .line 2001
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 2002
      StackMap locals: int int int
      StackMap stack:
            iinc 2 /* len */ 1
         5: .line 2001
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            iload 3 /* max */
            if_icmpge 7
            aload 0 /* s1 */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            aload 1 /* s2 */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 4
        end local 4 // int i
         7: .line 2003
      StackMap locals:
      StackMap stack:
            iload 2 /* len */
            ireturn
        end local 3 // int max
        end local 2 // int len
        end local 1 // java.lang.String s2
        end local 0 // java.lang.String s1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0    s1  Ljava/lang/String;
            0    8     1    s2  Ljava/lang/String;
            1    8     2   len  I
            2    8     3   max  I
            3    7     4     i  I
    MethodParameters:
      Name  Flags
      s1    
      s2    

  private static void quickSort(char[][], int, int);
    descriptor: ([[CII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // char[][] list
        start local 1 // int left
        start local 2 // int right
         0: .line 2006
            iload 1 /* left */
            istore 3 /* original_left */
        start local 3 // int original_left
         1: .line 2007
            iload 2 /* right */
            istore 4 /* original_right */
        start local 4 // int original_right
         2: .line 2008
            aload 0 /* list */
            iload 1 /* left */
            iload 2 /* right */
            iload 1 /* left */
            isub
            iconst_2
            idiv
            iadd
            aaload
            astore 5 /* mid */
        start local 5 // char[] mid
         3: .line 2010
            goto 5
         4: .line 2011
      StackMap locals: int int char[]
      StackMap stack:
            iinc 1 /* left */ 1
         5: .line 2010
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            iload 1 /* left */
            aaload
            aload 5 /* mid */
            invokestatic org.eclipse.jdt.internal.core.util.Util.compare:([C[C)I
            iflt 4
         6: .line 2013
            goto 8
         7: .line 2014
      StackMap locals:
      StackMap stack:
            iinc 2 /* right */ -1
         8: .line 2013
      StackMap locals:
      StackMap stack:
            aload 5 /* mid */
            aload 0 /* list */
            iload 2 /* right */
            aaload
            invokestatic org.eclipse.jdt.internal.core.util.Util.compare:([C[C)I
            iflt 7
         9: .line 2016
            iload 1 /* left */
            iload 2 /* right */
            if_icmpgt 15
        10: .line 2017
            aload 0 /* list */
            iload 1 /* left */
            aaload
            astore 6 /* tmp */
        start local 6 // char[] tmp
        11: .line 2018
            aload 0 /* list */
            iload 1 /* left */
            aload 0 /* list */
            iload 2 /* right */
            aaload
            aastore
        12: .line 2019
            aload 0 /* list */
            iload 2 /* right */
            aload 6 /* tmp */
            aastore
        13: .line 2020
            iinc 1 /* left */ 1
        14: .line 2021
            iinc 2 /* right */ -1
        end local 6 // char[] tmp
        15: .line 2023
      StackMap locals:
      StackMap stack:
            iload 1 /* left */
            iload 2 /* right */
        16: .line 2009
            if_icmple 5
        17: .line 2024
            iload 3 /* original_left */
            iload 2 /* right */
            if_icmpge 19
        18: .line 2025
            aload 0 /* list */
            iload 3 /* original_left */
            iload 2 /* right */
            invokestatic org.eclipse.jdt.internal.core.util.Util.quickSort:([[CII)V
        19: .line 2027
      StackMap locals:
      StackMap stack:
            iload 1 /* left */
            iload 4 /* original_right */
            if_icmpge 21
        20: .line 2028
            aload 0 /* list */
            iload 1 /* left */
            iload 4 /* original_right */
            invokestatic org.eclipse.jdt.internal.core.util.Util.quickSort:([[CII)V
        21: .line 2030
      StackMap locals:
      StackMap stack:
            return
        end local 5 // char[] mid
        end local 4 // int original_right
        end local 3 // int original_left
        end local 2 // int right
        end local 1 // int left
        end local 0 // char[][] list
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0            list  [[C
            0   22     1            left  I
            0   22     2           right  I
            1   22     3   original_left  I
            2   22     4  original_right  I
            3   22     5             mid  [C
           11   15     6             tmp  [C
    MethodParameters:
       Name  Flags
      list   
      left   
      right  

  private static void quickSort(org.eclipse.jdt.internal.core.util.Util$Comparable[], int, int);
    descriptor: ([Lorg/eclipse/jdt/internal/core/util/Util$Comparable;II)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.util.Util$Comparable[] sortedCollection
        start local 1 // int left
        start local 2 // int right
         0: .line 2036
            iload 1 /* left */
            istore 3 /* original_left */
        start local 3 // int original_left
         1: .line 2037
            iload 2 /* right */
            istore 4 /* original_right */
        start local 4 // int original_right
         2: .line 2038
            aload 0 /* sortedCollection */
            iload 1 /* left */
            iload 2 /* right */
            iload 1 /* left */
            isub
            iconst_2
            idiv
            iadd
            aaload
            astore 5 /* mid */
        start local 5 // org.eclipse.jdt.internal.core.util.Util$Comparable mid
         3: .line 2040
            goto 5
         4: .line 2041
      StackMap locals: int int org.eclipse.jdt.internal.core.util.Util$Comparable
      StackMap stack:
            iinc 1 /* left */ 1
         5: .line 2040
      StackMap locals:
      StackMap stack:
            aload 0 /* sortedCollection */
            iload 1 /* left */
            aaload
            aload 5 /* mid */
            invokeinterface org.eclipse.jdt.internal.core.util.Util$Comparable.compareTo:(Lorg/eclipse/jdt/internal/core/util/Util$Comparable;)I
            iflt 4
         6: .line 2043
            goto 8
         7: .line 2044
      StackMap locals:
      StackMap stack:
            iinc 2 /* right */ -1
         8: .line 2043
      StackMap locals:
      StackMap stack:
            aload 5 /* mid */
            aload 0 /* sortedCollection */
            iload 2 /* right */
            aaload
            invokeinterface org.eclipse.jdt.internal.core.util.Util$Comparable.compareTo:(Lorg/eclipse/jdt/internal/core/util/Util$Comparable;)I
            iflt 7
         9: .line 2046
            iload 1 /* left */
            iload 2 /* right */
            if_icmpgt 15
        10: .line 2047
            aload 0 /* sortedCollection */
            iload 1 /* left */
            aaload
            astore 6 /* tmp */
        start local 6 // org.eclipse.jdt.internal.core.util.Util$Comparable tmp
        11: .line 2048
            aload 0 /* sortedCollection */
            iload 1 /* left */
            aload 0 /* sortedCollection */
            iload 2 /* right */
            aaload
            aastore
        12: .line 2049
            aload 0 /* sortedCollection */
            iload 2 /* right */
            aload 6 /* tmp */
            aastore
        13: .line 2050
            iinc 1 /* left */ 1
        14: .line 2051
            iinc 2 /* right */ -1
        end local 6 // org.eclipse.jdt.internal.core.util.Util$Comparable tmp
        15: .line 2053
      StackMap locals:
      StackMap stack:
            iload 1 /* left */
            iload 2 /* right */
        16: .line 2039
            if_icmple 5
        17: .line 2054
            iload 3 /* original_left */
            iload 2 /* right */
            if_icmpge 19
        18: .line 2055
            aload 0 /* sortedCollection */
            iload 3 /* original_left */
            iload 2 /* right */
            invokestatic org.eclipse.jdt.internal.core.util.Util.quickSort:([Lorg/eclipse/jdt/internal/core/util/Util$Comparable;II)V
        19: .line 2057
      StackMap locals:
      StackMap stack:
            iload 1 /* left */
            iload 4 /* original_right */
            if_icmpge 21
        20: .line 2058
            aload 0 /* sortedCollection */
            iload 1 /* left */
            iload 4 /* original_right */
            invokestatic org.eclipse.jdt.internal.core.util.Util.quickSort:([Lorg/eclipse/jdt/internal/core/util/Util$Comparable;II)V
        21: .line 2060
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.eclipse.jdt.internal.core.util.Util$Comparable mid
        end local 4 // int original_right
        end local 3 // int original_left
        end local 2 // int right
        end local 1 // int left
        end local 0 // org.eclipse.jdt.internal.core.util.Util$Comparable[] sortedCollection
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0  sortedCollection  [Lorg/eclipse/jdt/internal/core/util/Util$Comparable;
            0   22     1              left  I
            0   22     2             right  I
            1   22     3     original_left  I
            2   22     4    original_right  I
            3   22     5               mid  Lorg/eclipse/jdt/internal/core/util/Util$Comparable;
           11   15     6               tmp  Lorg/eclipse/jdt/internal/core/util/Util$Comparable;
    MethodParameters:
                  Name  Flags
      sortedCollection  
      left              
      right             

  private static void quickSort(int[], int, int);
    descriptor: ([III)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // int[] list
        start local 1 // int left
        start local 2 // int right
         0: .line 2062
            iload 1 /* left */
            istore 3 /* original_left */
        start local 3 // int original_left
         1: .line 2063
            iload 2 /* right */
            istore 4 /* original_right */
        start local 4 // int original_right
         2: .line 2064
            aload 0 /* list */
            iload 1 /* left */
            iload 2 /* right */
            iload 1 /* left */
            isub
            iconst_2
            idiv
            iadd
            iaload
            istore 5 /* mid */
        start local 5 // int mid
         3: .line 2066
            goto 5
         4: .line 2067
      StackMap locals: int int int
      StackMap stack:
            iinc 1 /* left */ 1
         5: .line 2066
      StackMap locals:
      StackMap stack:
            aload 0 /* list */
            iload 1 /* left */
            iaload
            iload 5 /* mid */
            if_icmplt 4
         6: .line 2069
            goto 8
         7: .line 2070
      StackMap locals:
      StackMap stack:
            iinc 2 /* right */ -1
         8: .line 2069
      StackMap locals:
      StackMap stack:
            iload 5 /* mid */
            aload 0 /* list */
            iload 2 /* right */
            iaload
            if_icmplt 7
         9: .line 2072
            iload 1 /* left */
            iload 2 /* right */
            if_icmpgt 15
        10: .line 2073
            aload 0 /* list */
            iload 1 /* left */
            iaload
            istore 6 /* tmp */
        start local 6 // int tmp
        11: .line 2074
            aload 0 /* list */
            iload 1 /* left */
            aload 0 /* list */
            iload 2 /* right */
            iaload
            iastore
        12: .line 2075
            aload 0 /* list */
            iload 2 /* right */
            iload 6 /* tmp */
            iastore
        13: .line 2076
            iinc 1 /* left */ 1
        14: .line 2077
            iinc 2 /* right */ -1
        end local 6 // int tmp
        15: .line 2079
      StackMap locals:
      StackMap stack:
            iload 1 /* left */
            iload 2 /* right */
        16: .line 2065
            if_icmple 5
        17: .line 2080
            iload 3 /* original_left */
            iload 2 /* right */
            if_icmpge 19
        18: .line 2081
            aload 0 /* list */
            iload 3 /* original_left */
            iload 2 /* right */
            invokestatic org.eclipse.jdt.internal.core.util.Util.quickSort:([III)V
        19: .line 2083
      StackMap locals:
      StackMap stack:
            iload 1 /* left */
            iload 4 /* original_right */
            if_icmpge 21
        20: .line 2084
            aload 0 /* list */
            iload 1 /* left */
            iload 4 /* original_right */
            invokestatic org.eclipse.jdt.internal.core.util.Util.quickSort:([III)V
        21: .line 2086
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int mid
        end local 4 // int original_right
        end local 3 // int original_left
        end local 2 // int right
        end local 1 // int left
        end local 0 // int[] list
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0            list  [I
            0   22     1            left  I
            0   22     2           right  I
            1   22     3   original_left  I
            2   22     4  original_right  I
            3   22     5             mid  I
           11   15     6             tmp  I
    MethodParameters:
       Name  Flags
      list   
      left   
      right  

  private static void quickSort(java.lang.Object[], int, int, org.eclipse.jdt.internal.core.util.Util$Comparer);
    descriptor: ([Ljava/lang/Object;IILorg/eclipse/jdt/internal/core/util/Util$Comparer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // java.lang.Object[] sortedCollection
        start local 1 // int left
        start local 2 // int right
        start local 3 // org.eclipse.jdt.internal.core.util.Util$Comparer comparer
         0: .line 2092
            iload 1 /* left */
            istore 4 /* original_left */
        start local 4 // int original_left
         1: .line 2093
            iload 2 /* right */
            istore 5 /* original_right */
        start local 5 // int original_right
         2: .line 2094
            aload 0 /* sortedCollection */
            iload 1 /* left */
            iload 2 /* right */
            iload 1 /* left */
            isub
            iconst_2
            idiv
            iadd
            aaload
            astore 6 /* mid */
        start local 6 // java.lang.Object mid
         3: .line 2096
            goto 5
         4: .line 2097
      StackMap locals: int int java.lang.Object
      StackMap stack:
            iinc 1 /* left */ 1
         5: .line 2096
      StackMap locals:
      StackMap stack:
            aload 3 /* comparer */
            aload 0 /* sortedCollection */
            iload 1 /* left */
            aaload
            aload 6 /* mid */
            invokeinterface org.eclipse.jdt.internal.core.util.Util$Comparer.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            iflt 4
         6: .line 2099
            goto 8
         7: .line 2100
      StackMap locals:
      StackMap stack:
            iinc 2 /* right */ -1
         8: .line 2099
      StackMap locals:
      StackMap stack:
            aload 3 /* comparer */
            aload 6 /* mid */
            aload 0 /* sortedCollection */
            iload 2 /* right */
            aaload
            invokeinterface org.eclipse.jdt.internal.core.util.Util$Comparer.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            iflt 7
         9: .line 2102
            iload 1 /* left */
            iload 2 /* right */
            if_icmpgt 15
        10: .line 2103
            aload 0 /* sortedCollection */
            iload 1 /* left */
            aaload
            astore 7 /* tmp */
        start local 7 // java.lang.Object tmp
        11: .line 2104
            aload 0 /* sortedCollection */
            iload 1 /* left */
            aload 0 /* sortedCollection */
            iload 2 /* right */
            aaload
            aastore
        12: .line 2105
            aload 0 /* sortedCollection */
            iload 2 /* right */
            aload 7 /* tmp */
            aastore
        13: .line 2106
            iinc 1 /* left */ 1
        14: .line 2107
            iinc 2 /* right */ -1
        end local 7 // java.lang.Object tmp
        15: .line 2109
      StackMap locals:
      StackMap stack:
            iload 1 /* left */
            iload 2 /* right */
        16: .line 2095
            if_icmple 5
        17: .line 2110
            iload 4 /* original_left */
            iload 2 /* right */
            if_icmpge 19
        18: .line 2111
            aload 0 /* sortedCollection */
            iload 4 /* original_left */
            iload 2 /* right */
            aload 3 /* comparer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.quickSort:([Ljava/lang/Object;IILorg/eclipse/jdt/internal/core/util/Util$Comparer;)V
        19: .line 2113
      StackMap locals:
      StackMap stack:
            iload 1 /* left */
            iload 5 /* original_right */
            if_icmpge 21
        20: .line 2114
            aload 0 /* sortedCollection */
            iload 1 /* left */
            iload 5 /* original_right */
            aload 3 /* comparer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.quickSort:([Ljava/lang/Object;IILorg/eclipse/jdt/internal/core/util/Util$Comparer;)V
        21: .line 2116
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.lang.Object mid
        end local 5 // int original_right
        end local 4 // int original_left
        end local 3 // org.eclipse.jdt.internal.core.util.Util$Comparer comparer
        end local 2 // int right
        end local 1 // int left
        end local 0 // java.lang.Object[] sortedCollection
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0  sortedCollection  [Ljava/lang/Object;
            0   22     1              left  I
            0   22     2             right  I
            0   22     3          comparer  Lorg/eclipse/jdt/internal/core/util/Util$Comparer;
            1   22     4     original_left  I
            2   22     5    original_right  I
            3   22     6               mid  Ljava/lang/Object;
           11   15     7               tmp  Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      sortedCollection  
      left              
      right             
      comparer          

  private static void quickSort(java.lang.String[], int, int);
    descriptor: ([Ljava/lang/String;II)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // java.lang.String[] sortedCollection
        start local 1 // int left
        start local 2 // int right
         0: .line 2122
            iload 1 /* left */
            istore 3 /* original_left */
        start local 3 // int original_left
         1: .line 2123
            iload 2 /* right */
            istore 4 /* original_right */
        start local 4 // int original_right
         2: .line 2124
            aload 0 /* sortedCollection */
            iload 1 /* left */
            iload 2 /* right */
            iload 1 /* left */
            isub
            iconst_2
            idiv
            iadd
            aaload
            astore 5 /* mid */
        start local 5 // java.lang.String mid
         3: .line 2126
            goto 5
         4: .line 2127
      StackMap locals: int int java.lang.String
      StackMap stack:
            iinc 1 /* left */ 1
         5: .line 2126
      StackMap locals:
      StackMap stack:
            aload 0 /* sortedCollection */
            iload 1 /* left */
            aaload
            aload 5 /* mid */
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            iflt 4
         6: .line 2129
            goto 8
         7: .line 2130
      StackMap locals:
      StackMap stack:
            iinc 2 /* right */ -1
         8: .line 2129
      StackMap locals:
      StackMap stack:
            aload 5 /* mid */
            aload 0 /* sortedCollection */
            iload 2 /* right */
            aaload
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            iflt 7
         9: .line 2132
            iload 1 /* left */
            iload 2 /* right */
            if_icmpgt 15
        10: .line 2133
            aload 0 /* sortedCollection */
            iload 1 /* left */
            aaload
            astore 6 /* tmp */
        start local 6 // java.lang.String tmp
        11: .line 2134
            aload 0 /* sortedCollection */
            iload 1 /* left */
            aload 0 /* sortedCollection */
            iload 2 /* right */
            aaload
            aastore
        12: .line 2135
            aload 0 /* sortedCollection */
            iload 2 /* right */
            aload 6 /* tmp */
            aastore
        13: .line 2136
            iinc 1 /* left */ 1
        14: .line 2137
            iinc 2 /* right */ -1
        end local 6 // java.lang.String tmp
        15: .line 2139
      StackMap locals:
      StackMap stack:
            iload 1 /* left */
            iload 2 /* right */
        16: .line 2125
            if_icmple 5
        17: .line 2140
            iload 3 /* original_left */
            iload 2 /* right */
            if_icmpge 19
        18: .line 2141
            aload 0 /* sortedCollection */
            iload 3 /* original_left */
            iload 2 /* right */
            invokestatic org.eclipse.jdt.internal.core.util.Util.quickSort:([Ljava/lang/String;II)V
        19: .line 2143
      StackMap locals:
      StackMap stack:
            iload 1 /* left */
            iload 4 /* original_right */
            if_icmpge 21
        20: .line 2144
            aload 0 /* sortedCollection */
            iload 1 /* left */
            iload 4 /* original_right */
            invokestatic org.eclipse.jdt.internal.core.util.Util.quickSort:([Ljava/lang/String;II)V
        21: .line 2146
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.String mid
        end local 4 // int original_right
        end local 3 // int original_left
        end local 2 // int right
        end local 1 // int left
        end local 0 // java.lang.String[] sortedCollection
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0  sortedCollection  [Ljava/lang/String;
            0   22     1              left  I
            0   22     2             right  I
            1   22     3     original_left  I
            2   22     4    original_right  I
            3   22     5               mid  Ljava/lang/String;
           11   15     6               tmp  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      sortedCollection  
      left              
      right             

  public static java.lang.String relativePath(org.eclipse.core.runtime.IPath, int);
    descriptor: (Lorg/eclipse/core/runtime/IPath;I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // org.eclipse.core.runtime.IPath fullPath
        start local 1 // int skipSegmentCount
         0: .line 2153
            aload 0 /* fullPath */
            invokeinterface org.eclipse.core.runtime.IPath.hasTrailingSeparator:()Z
            istore 2 /* hasTrailingSeparator */
        start local 2 // boolean hasTrailingSeparator
         1: .line 2154
            aload 0 /* fullPath */
            invokeinterface org.eclipse.core.runtime.IPath.segments:()[Ljava/lang/String;
            astore 3 /* segments */
        start local 3 // java.lang.String[] segments
         2: .line 2157
            iconst_0
            istore 4 /* length */
        start local 4 // int length
         3: .line 2158
            aload 3 /* segments */
            arraylength
            istore 5 /* max */
        start local 5 // int max
         4: .line 2159
            iload 5 /* max */
            iload 1 /* skipSegmentCount */
            if_icmple 11
         5: .line 2160
            iload 1 /* skipSegmentCount */
            istore 6 /* i1 */
        start local 6 // int i1
         6: goto 9
         7: .line 2161
      StackMap locals: org.eclipse.core.runtime.IPath int int java.lang.String[] int int int
      StackMap stack:
            iload 4 /* length */
            aload 3 /* segments */
            iload 6 /* i1 */
            aaload
            invokevirtual java.lang.String.length:()I
            iadd
            istore 4 /* length */
         8: .line 2160
            iinc 6 /* i1 */ 1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* i1 */
            iload 5 /* max */
            if_icmplt 7
        end local 6 // int i1
        10: .line 2164
            iload 4 /* length */
            iload 5 /* max */
            iload 1 /* skipSegmentCount */
            isub
            iconst_1
            isub
            iadd
            istore 4 /* length */
        11: .line 2166
      StackMap locals:
      StackMap stack:
            iload 2 /* hasTrailingSeparator */
            ifeq 13
        12: .line 2167
            iinc 4 /* length */ 1
        13: .line 2169
      StackMap locals:
      StackMap stack:
            iload 4 /* length */
            newarray 5
            astore 6 /* result */
        start local 6 // char[] result
        14: .line 2170
            iconst_0
            istore 7 /* offset */
        start local 7 // int offset
        15: .line 2171
            aload 3 /* segments */
            arraylength
            iconst_1
            isub
            istore 8 /* len */
        start local 8 // int len
        16: .line 2172
            iload 8 /* len */
            iload 1 /* skipSegmentCount */
            if_icmplt 28
        17: .line 2174
            iload 1 /* skipSegmentCount */
            istore 9 /* i */
        start local 9 // int i
        18: goto 24
        19: .line 2175
      StackMap locals: org.eclipse.core.runtime.IPath int int java.lang.String[] int int char[] int int int
      StackMap stack:
            aload 3 /* segments */
            iload 9 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            istore 10 /* size */
        start local 10 // int size
        20: .line 2176
            aload 3 /* segments */
            iload 9 /* i */
            aaload
            iconst_0
            iload 10 /* size */
            aload 6 /* result */
            iload 7 /* offset */
            invokevirtual java.lang.String.getChars:(II[CI)V
        21: .line 2177
            iload 7 /* offset */
            iload 10 /* size */
            iadd
            istore 7 /* offset */
        22: .line 2178
            aload 6 /* result */
            iload 7 /* offset */
            iinc 7 /* offset */ 1
            bipush 47
            castore
        end local 10 // int size
        23: .line 2174
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 9 /* i */
            iload 8 /* len */
            if_icmplt 19
        end local 9 // int i
        25: .line 2181
            aload 3 /* segments */
            iload 8 /* len */
            aaload
            invokevirtual java.lang.String.length:()I
            istore 9 /* size */
        start local 9 // int size
        26: .line 2182
            aload 3 /* segments */
            iload 8 /* len */
            aaload
            iconst_0
            iload 9 /* size */
            aload 6 /* result */
            iload 7 /* offset */
            invokevirtual java.lang.String.getChars:(II[CI)V
        27: .line 2183
            iload 7 /* offset */
            iload 9 /* size */
            iadd
            istore 7 /* offset */
        end local 9 // int size
        28: .line 2185
      StackMap locals:
      StackMap stack:
            iload 2 /* hasTrailingSeparator */
            ifeq 30
        29: .line 2186
            aload 6 /* result */
            iload 7 /* offset */
            iinc 7 /* offset */ 1
            bipush 47
            castore
        30: .line 2187
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 6 /* result */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 8 // int len
        end local 7 // int offset
        end local 6 // char[] result
        end local 5 // int max
        end local 4 // int length
        end local 3 // java.lang.String[] segments
        end local 2 // boolean hasTrailingSeparator
        end local 1 // int skipSegmentCount
        end local 0 // org.eclipse.core.runtime.IPath fullPath
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   31     0              fullPath  Lorg/eclipse/core/runtime/IPath;
            0   31     1      skipSegmentCount  I
            1   31     2  hasTrailingSeparator  Z
            2   31     3              segments  [Ljava/lang/String;
            3   31     4                length  I
            4   31     5                   max  I
            6   10     6                    i1  I
           14   31     6                result  [C
           15   31     7                offset  I
           16   31     8                   len  I
           18   25     9                     i  I
           20   23    10                  size  I
           26   28     9                  size  I
    MethodParameters:
                  Name  Flags
      fullPath          
      skipSegmentCount  

  public static void resetJavaLikeExtensions();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2194
            aconst_null
            putstatic org.eclipse.jdt.internal.core.util.Util.JAVA_LIKE_EXTENSIONS:[[C
         1: .line 2195
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int scanTypeSignature(char[], int);
    descriptor: ([CI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // char[] string
        start local 1 // int start
         0: .line 2215
            aload 0 /* string */
            iload 1 /* start */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.scanTypeSignature:([CI)I
            ireturn
        end local 1 // int start
        end local 0 // char[] string
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  string  [C
            0    1     1   start  I
    MethodParameters:
        Name  Flags
      string  
      start   

  public static final java.lang.String[] splitOn(char, java.lang.String, int, int);
    descriptor: (CLjava/lang/String;II)[Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // char divider
        start local 1 // java.lang.String string
        start local 2 // int start
        start local 3 // int end
         0: .line 2246
            aload 1 /* string */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* string */
            invokevirtual java.lang.String.length:()I
      StackMap locals:
      StackMap stack: int
         2: istore 4 /* length */
        start local 4 // int length
         3: .line 2247
            iload 4 /* length */
            ifeq 4
            iload 2 /* start */
            iload 3 /* end */
            if_icmple 5
         4: .line 2248
      StackMap locals: int
      StackMap stack:
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            areturn
         5: .line 2250
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* wordCount */
        start local 5 // int wordCount
         6: .line 2251
            iload 2 /* start */
            istore 6 /* i */
        start local 6 // int i
         7: goto 11
         8: .line 2252
      StackMap locals: int int
      StackMap stack:
            aload 1 /* string */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            iload 0 /* divider */
            if_icmpne 10
         9: .line 2253
            iinc 5 /* wordCount */ 1
        10: .line 2251
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            iload 3 /* end */
            if_icmplt 8
        end local 6 // int i
        12: .line 2254
            iload 5 /* wordCount */
            anewarray java.lang.String
            astore 6 /* split */
        start local 6 // java.lang.String[] split
        13: .line 2255
            iload 2 /* start */
            istore 7 /* last */
        start local 7 // int last
        14: iconst_0
            istore 8 /* currentWord */
        start local 8 // int currentWord
        15: .line 2256
            iload 2 /* start */
            istore 9 /* i */
        start local 9 // int i
        16: goto 21
        17: .line 2257
      StackMap locals: int java.lang.String int int int int java.lang.String[] int int int
      StackMap stack:
            aload 1 /* string */
            iload 9 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            iload 0 /* divider */
            if_icmpne 20
        18: .line 2258
            aload 6 /* split */
            iload 8 /* currentWord */
            iinc 8 /* currentWord */ 1
            aload 1 /* string */
            iload 7 /* last */
            iload 9 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aastore
        19: .line 2259
            iload 9 /* i */
            iconst_1
            iadd
            istore 7 /* last */
        20: .line 2256
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 9 /* i */
            iload 3 /* end */
            if_icmplt 17
        end local 9 // int i
        22: .line 2262
            aload 6 /* split */
            iload 8 /* currentWord */
            aload 1 /* string */
            iload 7 /* last */
            iload 3 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aastore
        23: .line 2263
            aload 6 /* split */
            areturn
        end local 8 // int currentWord
        end local 7 // int last
        end local 6 // java.lang.String[] split
        end local 5 // int wordCount
        end local 4 // int length
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.String string
        end local 0 // char divider
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0      divider  C
            0   24     1       string  Ljava/lang/String;
            0   24     2        start  I
            0   24     3          end  I
            3   24     4       length  I
            6   24     5    wordCount  I
            7   12     6            i  I
           13   24     6        split  [Ljava/lang/String;
           14   24     7         last  I
           15   24     8  currentWord  I
           16   22     9            i  I
    MethodParameters:
         Name  Flags
      divider  
      string   
      start    
      end      

  public static void setReadOnly(org.eclipse.core.resources.IResource, boolean);
    descriptor: (Lorg/eclipse/core/resources/IResource;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.core.resources.IResource resource
        start local 1 // boolean readOnly
         0: .line 2274
            invokestatic org.eclipse.jdt.internal.core.util.Util.isReadOnlySupported:()Z
            ifeq 7
         1: .line 2275
            aload 0 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getResourceAttributes:()Lorg/eclipse/core/resources/ResourceAttributes;
            astore 2 /* resourceAttributes */
        start local 2 // org.eclipse.core.resources.ResourceAttributes resourceAttributes
         2: .line 2276
            aload 2 /* resourceAttributes */
            ifnonnull 3
            return
         3: .line 2277
      StackMap locals: org.eclipse.core.resources.ResourceAttributes
      StackMap stack:
            aload 2 /* resourceAttributes */
            iload 1 /* readOnly */
            invokevirtual org.eclipse.core.resources.ResourceAttributes.setReadOnly:(Z)V
         4: .line 2279
            aload 0 /* resource */
            aload 2 /* resourceAttributes */
            invokeinterface org.eclipse.core.resources.IResource.setResourceAttributes:(Lorg/eclipse/core/resources/ResourceAttributes;)V
         5: .line 2280
            goto 7
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
         6: pop
        end local 2 // org.eclipse.core.resources.ResourceAttributes resourceAttributes
         7: .line 2284
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean readOnly
        end local 0 // org.eclipse.core.resources.IResource resource
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0            resource  Lorg/eclipse/core/resources/IResource;
            0    8     1            readOnly  Z
            2    7     2  resourceAttributes  Lorg/eclipse/core/resources/ResourceAttributes;
      Exception table:
        from    to  target  type
           4     5       6  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
          Name  Flags
      resource  
      readOnly  

  public static void sort(char[][]);
    descriptor: ([[C)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // char[][] list
         0: .line 2286
            aload 0 /* list */
            arraylength
            iconst_1
            if_icmple 2
         1: .line 2287
            aload 0 /* list */
            iconst_0
            aload 0 /* list */
            arraylength
            iconst_1
            isub
            invokestatic org.eclipse.jdt.internal.core.util.Util.quickSort:([[CII)V
         2: .line 2288
      StackMap locals:
      StackMap stack:
            return
        end local 0 // char[][] list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  list  [[C
    MethodParameters:
      Name  Flags
      list  

  public static void sort(org.eclipse.jdt.internal.core.util.Util$Comparable[]);
    descriptor: ([Lorg/eclipse/jdt/internal/core/util/Util$Comparable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.Util$Comparable[] objects
         0: .line 2294
            aload 0 /* objects */
            arraylength
            iconst_1
            if_icmple 2
         1: .line 2295
            aload 0 /* objects */
            iconst_0
            aload 0 /* objects */
            arraylength
            iconst_1
            isub
            invokestatic org.eclipse.jdt.internal.core.util.Util.quickSort:([Lorg/eclipse/jdt/internal/core/util/Util$Comparable;II)V
         2: .line 2296
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.core.util.Util$Comparable[] objects
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  objects  [Lorg/eclipse/jdt/internal/core/util/Util$Comparable;
    MethodParameters:
         Name  Flags
      objects  

  public static void sort(int[]);
    descriptor: ([I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int[] list
         0: .line 2298
            aload 0 /* list */
            arraylength
            iconst_1
            if_icmple 2
         1: .line 2299
            aload 0 /* list */
            iconst_0
            aload 0 /* list */
            arraylength
            iconst_1
            isub
            invokestatic org.eclipse.jdt.internal.core.util.Util.quickSort:([III)V
         2: .line 2300
      StackMap locals:
      StackMap stack:
            return
        end local 0 // int[] list
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  list  [I
    MethodParameters:
      Name  Flags
      list  

  public static void sort(java.lang.Object[], org.eclipse.jdt.internal.core.util.Util$Comparer);
    descriptor: ([Ljava/lang/Object;Lorg/eclipse/jdt/internal/core/util/Util$Comparer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Object[] objects
        start local 1 // org.eclipse.jdt.internal.core.util.Util$Comparer comparer
         0: .line 2307
            aload 0 /* objects */
            arraylength
            iconst_1
            if_icmple 2
         1: .line 2308
            aload 0 /* objects */
            iconst_0
            aload 0 /* objects */
            arraylength
            iconst_1
            isub
            aload 1 /* comparer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.quickSort:([Ljava/lang/Object;IILorg/eclipse/jdt/internal/core/util/Util$Comparer;)V
         2: .line 2309
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jdt.internal.core.util.Util$Comparer comparer
        end local 0 // java.lang.Object[] objects
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   objects  [Ljava/lang/Object;
            0    3     1  comparer  Lorg/eclipse/jdt/internal/core/util/Util$Comparer;
    MethodParameters:
          Name  Flags
      objects   
      comparer  

  public static void sort(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String[] strings
         0: .line 2315
            aload 0 /* strings */
            arraylength
            iconst_1
            if_icmple 2
         1: .line 2316
            aload 0 /* strings */
            iconst_0
            aload 0 /* strings */
            arraylength
            iconst_1
            isub
            invokestatic org.eclipse.jdt.internal.core.util.Util.quickSort:([Ljava/lang/String;II)V
         2: .line 2317
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String[] strings
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  strings  [Ljava/lang/String;
    MethodParameters:
         Name  Flags
      strings  

  public static org.eclipse.jdt.internal.core.util.Util$Comparable[] sortCopy(org.eclipse.jdt.internal.core.util.Util$Comparable[]);
    descriptor: ([Lorg/eclipse/jdt/internal/core/util/Util$Comparable;)[Lorg/eclipse/jdt/internal/core/util/Util$Comparable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.Util$Comparable[] objects
         0: .line 2324
            aload 0 /* objects */
            arraylength
            istore 1 /* len */
        start local 1 // int len
         1: .line 2325
            iload 1 /* len */
            anewarray org.eclipse.jdt.internal.core.util.Util$Comparable
            astore 2 /* copy */
        start local 2 // org.eclipse.jdt.internal.core.util.Util$Comparable[] copy
         2: .line 2326
            aload 0 /* objects */
            iconst_0
            aload 2 /* copy */
            iconst_0
            iload 1 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 2327
            aload 2 /* copy */
            invokestatic org.eclipse.jdt.internal.core.util.Util.sort:([Lorg/eclipse/jdt/internal/core/util/Util$Comparable;)V
         4: .line 2328
            aload 2 /* copy */
            areturn
        end local 2 // org.eclipse.jdt.internal.core.util.Util$Comparable[] copy
        end local 1 // int len
        end local 0 // org.eclipse.jdt.internal.core.util.Util$Comparable[] objects
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  objects  [Lorg/eclipse/jdt/internal/core/util/Util$Comparable;
            1    5     1      len  I
            2    5     2     copy  [Lorg/eclipse/jdt/internal/core/util/Util$Comparable;
    MethodParameters:
         Name  Flags
      objects  

  public static org.eclipse.jdt.core.IJavaElement[] sortCopy(org.eclipse.jdt.core.IJavaElement[]);
    descriptor: ([Lorg/eclipse/jdt/core/IJavaElement;)[Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaElement[] elements
         0: .line 2337
            aload 0 /* elements */
            arraylength
            istore 1 /* len */
        start local 1 // int len
         1: .line 2338
            iload 1 /* len */
            anewarray org.eclipse.jdt.core.IJavaElement
            astore 2 /* copy */
        start local 2 // org.eclipse.jdt.core.IJavaElement[] copy
         2: .line 2339
            aload 0 /* elements */
            iconst_0
            aload 2 /* copy */
            iconst_0
            iload 1 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 2340
            aload 2 /* copy */
            new org.eclipse.jdt.internal.core.util.Util$1
            dup
            invokespecial org.eclipse.jdt.internal.core.util.Util$1.<init>:()V
            invokestatic org.eclipse.jdt.internal.core.util.Util.sort:([Ljava/lang/Object;Lorg/eclipse/jdt/internal/core/util/Util$Comparer;)V
         4: .line 2346
            aload 2 /* copy */
            areturn
        end local 2 // org.eclipse.jdt.core.IJavaElement[] copy
        end local 1 // int len
        end local 0 // org.eclipse.jdt.core.IJavaElement[] elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  elements  [Lorg/eclipse/jdt/core/IJavaElement;
            1    5     1       len  I
            2    5     2      copy  [Lorg/eclipse/jdt/core/IJavaElement;
    MethodParameters:
          Name  Flags
      elements  

  public static java.lang.Object[] sortCopy(java.lang.Object[], org.eclipse.jdt.internal.core.util.Util$Comparer);
    descriptor: ([Ljava/lang/Object;Lorg/eclipse/jdt/internal/core/util/Util$Comparer;)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.Object[] objects
        start local 1 // org.eclipse.jdt.internal.core.util.Util$Comparer comparer
         0: .line 2354
            aload 0 /* objects */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         1: .line 2355
            iload 2 /* len */
            anewarray java.lang.Object
            astore 3 /* copy */
        start local 3 // java.lang.Object[] copy
         2: .line 2356
            aload 0 /* objects */
            iconst_0
            aload 3 /* copy */
            iconst_0
            iload 2 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 2357
            aload 3 /* copy */
            aload 1 /* comparer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.sort:([Ljava/lang/Object;Lorg/eclipse/jdt/internal/core/util/Util$Comparer;)V
         4: .line 2358
            aload 3 /* copy */
            areturn
        end local 3 // java.lang.Object[] copy
        end local 2 // int len
        end local 1 // org.eclipse.jdt.internal.core.util.Util$Comparer comparer
        end local 0 // java.lang.Object[] objects
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0   objects  [Ljava/lang/Object;
            0    5     1  comparer  Lorg/eclipse/jdt/internal/core/util/Util$Comparer;
            1    5     2       len  I
            2    5     3      copy  [Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      objects   
      comparer  

  public static java.lang.String[] sortCopy(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.lang.String[] objects
         0: .line 2366
            aload 0 /* objects */
            arraylength
            istore 1 /* len */
        start local 1 // int len
         1: .line 2367
            iload 1 /* len */
            anewarray java.lang.String
            astore 2 /* copy */
        start local 2 // java.lang.String[] copy
         2: .line 2368
            aload 0 /* objects */
            iconst_0
            aload 2 /* copy */
            iconst_0
            iload 1 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 2369
            aload 2 /* copy */
            invokestatic org.eclipse.jdt.internal.core.util.Util.sort:([Ljava/lang/String;)V
         4: .line 2370
            aload 2 /* copy */
            areturn
        end local 2 // java.lang.String[] copy
        end local 1 // int len
        end local 0 // java.lang.String[] objects
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  objects  [Ljava/lang/String;
            1    5     1      len  I
            2    5     2     copy  [Ljava/lang/String;
    MethodParameters:
         Name  Flags
      objects  

  public static boolean startsWithIgnoreCase(java.lang.String[], java.lang.String[], boolean);
    descriptor: ([Ljava/lang/String;[Ljava/lang/String;Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.lang.String[] compoundName
        start local 1 // java.lang.String[] prefix
        start local 2 // boolean partialMatch
         0: .line 2379
            aload 1 /* prefix */
            arraylength
            istore 3 /* prefixLength */
        start local 3 // int prefixLength
         1: .line 2380
            aload 0 /* compoundName */
            arraylength
            istore 4 /* nameLength */
        start local 4 // int nameLength
         2: .line 2381
            iload 3 /* prefixLength */
            iload 4 /* nameLength */
            if_icmple 3
            iconst_0
            ireturn
         3: .line 2382
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 2383
      StackMap locals: int
      StackMap stack:
            aload 0 /* compoundName */
            iload 5 /* i */
            aaload
            aload 1 /* prefix */
            iload 5 /* i */
            aaload
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 7
         6: .line 2384
            iconst_0
            ireturn
         7: .line 2382
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            iload 3 /* prefixLength */
            iconst_1
            isub
            if_icmplt 5
        end local 5 // int i
         9: .line 2386
            iload 2 /* partialMatch */
            ifne 10
            iload 3 /* prefixLength */
            iload 4 /* nameLength */
            if_icmpne 11
      StackMap locals:
      StackMap stack:
        10: aload 0 /* compoundName */
            iload 3 /* prefixLength */
            iconst_1
            isub
            aaload
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            aload 1 /* prefix */
            iload 3 /* prefixLength */
            iconst_1
            isub
            aaload
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 11
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        11: iconst_0
            ireturn
        end local 4 // int nameLength
        end local 3 // int prefixLength
        end local 2 // boolean partialMatch
        end local 1 // java.lang.String[] prefix
        end local 0 // java.lang.String[] compoundName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0  compoundName  [Ljava/lang/String;
            0   12     1        prefix  [Ljava/lang/String;
            0   12     2  partialMatch  Z
            1   12     3  prefixLength  I
            2   12     4    nameLength  I
            4    9     5             i  I
    MethodParameters:
              Name  Flags
      compoundName  
      prefix        
      partialMatch  

  public static char[][] toCharArrays(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.String[] a
         0: .line 2393
            aload 0 /* a */
            arraylength
            istore 1 /* len */
        start local 1 // int len
         1: .line 2394
            iload 1 /* len */
            ifne 2
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_CHAR_CHAR:[[C
            areturn
         2: .line 2395
      StackMap locals: int
      StackMap stack:
            iload 1 /* len */
            anewarray char[]
            astore 2 /* result */
        start local 2 // char[][] result
         3: .line 2396
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 2397
      StackMap locals: char[][] int
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            aload 0 /* a */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.String.toCharArray:()[C
            aastore
         6: .line 2396
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 1 /* len */
            if_icmplt 5
        end local 3 // int i
         8: .line 2399
            aload 2 /* result */
            areturn
        end local 2 // char[][] result
        end local 1 // int len
        end local 0 // java.lang.String[] a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0       a  [Ljava/lang/String;
            1    9     1     len  I
            3    9     2  result  [[C
            4    8     3       i  I
    MethodParameters:
      Name  Flags
      a     

  public static char[][] toCompoundChars(java.lang.String);
    descriptor: (Ljava/lang/String;)[[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.String s
         0: .line 2406
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 2407
            iload 1 /* len */
            ifne 3
         2: .line 2408
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_CHAR_CHAR:[[C
            areturn
         3: .line 2410
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 2 /* segCount */
        start local 2 // int segCount
         4: .line 2411
            aload 0 /* s */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            istore 3 /* off */
        start local 3 // int off
         5: goto 8
         6: .line 2412
      StackMap locals: int int
      StackMap stack:
            iinc 2 /* segCount */ 1
         7: .line 2411
            aload 0 /* s */
            bipush 46
            iload 3 /* off */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 3 /* off */
      StackMap locals:
      StackMap stack:
         8: iload 3 /* off */
            iconst_m1
            if_icmpne 6
        end local 3 // int off
         9: .line 2414
            iload 2 /* segCount */
            anewarray char[]
            astore 3 /* segs */
        start local 3 // char[][] segs
        10: .line 2415
            iconst_0
            istore 4 /* start */
        start local 4 // int start
        11: .line 2416
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        12: goto 21
        13: .line 2417
      StackMap locals: java.lang.String int int char[][] int int
      StackMap stack:
            aload 0 /* s */
            bipush 46
            iload 4 /* start */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 6 /* dot */
        start local 6 // int dot
        14: .line 2418
            iload 6 /* dot */
            iconst_m1
            if_icmpne 15
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            goto 16
      StackMap locals: int
      StackMap stack:
        15: iload 6 /* dot */
      StackMap locals:
      StackMap stack: int
        16: istore 7 /* end */
        start local 7 // int end
        17: .line 2419
            aload 3 /* segs */
            iload 5 /* i */
            iload 7 /* end */
            iload 4 /* start */
            isub
            newarray 5
            aastore
        18: .line 2420
            aload 0 /* s */
            iload 4 /* start */
            iload 7 /* end */
            aload 3 /* segs */
            iload 5 /* i */
            aaload
            iconst_0
            invokevirtual java.lang.String.getChars:(II[CI)V
        19: .line 2421
            iload 7 /* end */
            iconst_1
            iadd
            istore 4 /* start */
        end local 7 // int end
        end local 6 // int dot
        20: .line 2416
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            iload 2 /* segCount */
            if_icmplt 13
        end local 5 // int i
        22: .line 2423
            aload 3 /* segs */
            areturn
        end local 4 // int start
        end local 3 // char[][] segs
        end local 2 // int segCount
        end local 1 // int len
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0         s  Ljava/lang/String;
            1   23     1       len  I
            4   23     2  segCount  I
            5    9     3       off  I
           10   23     3      segs  [[C
           11   23     4     start  I
           12   22     5         i  I
           14   20     6       dot  I
           17   20     7       end  I
    MethodParameters:
      Name  Flags
      s     

  public static java.io.File toLocalFile(java.net.URI, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/net/URI;Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.net.URI uri
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 2432
            aload 0 /* uri */
            invokestatic org.eclipse.core.filesystem.EFS.getStore:(Ljava/net/URI;)Lorg/eclipse/core/filesystem/IFileStore;
            astore 2 /* fileStore */
        start local 2 // org.eclipse.core.filesystem.IFileStore fileStore
         1: .line 2433
            aload 2 /* fileStore */
            iconst_0
            aload 1 /* monitor */
            invokeinterface org.eclipse.core.filesystem.IFileStore.toLocalFile:(ILorg/eclipse/core/runtime/IProgressMonitor;)Ljava/io/File;
            astore 3 /* localFile */
        start local 3 // java.io.File localFile
         2: .line 2434
            aload 3 /* localFile */
            ifnonnull 4
         3: .line 2436
            aload 2 /* fileStore */
            sipush 4096
            aload 1 /* monitor */
            invokeinterface org.eclipse.core.filesystem.IFileStore.toLocalFile:(ILorg/eclipse/core/runtime/IProgressMonitor;)Ljava/io/File;
            astore 3 /* localFile */
         4: .line 2437
      StackMap locals: org.eclipse.core.filesystem.IFileStore java.io.File
      StackMap stack:
            aload 3 /* localFile */
            areturn
        end local 3 // java.io.File localFile
        end local 2 // org.eclipse.core.filesystem.IFileStore fileStore
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // java.net.URI uri
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0        uri  Ljava/net/URI;
            0    5     1    monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1    5     2  fileStore  Lorg/eclipse/core/filesystem/IFileStore;
            2    5     3  localFile  Ljava/io/File;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      uri      
      monitor  

  public static java.lang.String toString(char[][]);
    descriptor: ([[C)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // char[][] c
         0: .line 2443
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 2444
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: aload 0 /* c */
            arraylength
            istore 3 /* max */
        start local 3 // int max
         3: goto 7
         4: .line 2445
      StackMap locals: java.lang.StringBuffer int int
      StackMap stack:
            iload 2 /* i */
            ifeq 5
            aload 1 /* sb */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         5: .line 2446
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            aload 0 /* c */
            iload 2 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         6: .line 2444
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iload 3 /* max */
            if_icmplt 4
        end local 3 // int max
        end local 2 // int i
         8: .line 2448
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer sb
        end local 0 // char[][] c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     c  [[C
            1    9     1    sb  Ljava/lang/StringBuffer;
            2    8     2     i  I
            3    8     3   max  I
    MethodParameters:
      Name  Flags
      c     

  public static java.lang.String toString(char[][], char[]);
    descriptor: ([[C[C)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // char[][] c
        start local 1 // char[] d
         0: .line 2455
            aload 0 /* c */
            ifnonnull 1
            new java.lang.String
            dup
            aload 1 /* d */
            invokespecial java.lang.String.<init>:([C)V
            areturn
         1: .line 2456
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuffer sb
         2: .line 2457
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: aload 0 /* c */
            arraylength
            istore 4 /* max */
        start local 4 // int max
         4: goto 8
         5: .line 2458
      StackMap locals: java.lang.StringBuffer int int
      StackMap stack:
            aload 2 /* sb */
            aload 0 /* c */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         6: .line 2459
            aload 2 /* sb */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 2457
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 4 /* max */
            if_icmplt 5
        end local 4 // int max
        end local 3 // int i
         9: .line 2461
            aload 2 /* sb */
            aload 1 /* d */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        10: .line 2462
            aload 2 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuffer sb
        end local 1 // char[] d
        end local 0 // char[][] c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0     c  [[C
            0   11     1     d  [C
            2   11     2    sb  Ljava/lang/StringBuffer;
            3    9     3     i  I
            4    9     4   max  I
    MethodParameters:
      Name  Flags
      c     
      d     

  public static java.lang.String[] toStrings(char[][]);
    descriptor: ([[C)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // char[][] a
         0: .line 2469
            aload 0 /* a */
            arraylength
            istore 1 /* len */
        start local 1 // int len
         1: .line 2470
            iload 1 /* len */
            anewarray java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String[] result
         2: .line 2471
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 2472
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            new java.lang.String
            dup
            aload 0 /* a */
            iload 3 /* i */
            aaload
            invokespecial java.lang.String.<init>:([C)V
            aastore
         5: .line 2471
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 1 /* len */
            if_icmplt 4
        end local 3 // int i
         7: .line 2474
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String[] result
        end local 1 // int len
        end local 0 // char[][] a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0       a  [[C
            1    8     1     len  I
            2    8     2  result  [Ljava/lang/String;
            3    7     3       i  I
    MethodParameters:
      Name  Flags
      a     

  private static char[] toUnresolvedTypeSignature(char[]);
    descriptor: ([C)[C
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // char[] signature
         0: .line 2477
            aload 0 /* signature */
            arraylength
            istore 1 /* length */
        start local 1 // int length
         1: .line 2478
            iload 1 /* length */
            iconst_1
            if_icmpgt 3
         2: .line 2479
            aload 0 /* signature */
            areturn
         3: .line 2480
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuffer
            dup
            iload 1 /* length */
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 2 /* buffer */
        start local 2 // java.lang.StringBuffer buffer
         4: .line 2481
            aload 0 /* signature */
            iconst_0
            iload 1 /* length */
            aload 2 /* buffer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.toUnresolvedTypeSignature:([CIILjava/lang/StringBuffer;)I
            pop
         5: .line 2482
            aload 2 /* buffer */
            invokevirtual java.lang.StringBuffer.length:()I
            istore 3 /* bufferLength */
        start local 3 // int bufferLength
         6: .line 2483
            iload 3 /* bufferLength */
            newarray 5
            astore 4 /* result */
        start local 4 // char[] result
         7: .line 2484
            aload 2 /* buffer */
            iconst_0
            iload 3 /* bufferLength */
            aload 4 /* result */
            iconst_0
            invokevirtual java.lang.StringBuffer.getChars:(II[CI)V
         8: .line 2485
            aload 4 /* result */
            areturn
        end local 4 // char[] result
        end local 3 // int bufferLength
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // int length
        end local 0 // char[] signature
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0     signature  [C
            1    9     1        length  I
            4    9     2        buffer  Ljava/lang/StringBuffer;
            6    9     3  bufferLength  I
            7    9     4        result  [C
    MethodParameters:
           Name  Flags
      signature  

  private static int toUnresolvedTypeSignature(char[], int, int, java.lang.StringBuffer);
    descriptor: ([CIILjava/lang/StringBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // char[] signature
        start local 1 // int start
        start local 2 // int length
        start local 3 // java.lang.StringBuffer buffer
         0: .line 2489
            aload 0 /* signature */
            iload 1 /* start */
            caload
            bipush 76
            if_icmpne 2
         1: .line 2490
            aload 3 /* buffer */
            bipush 81
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
            goto 3
         2: .line 2492
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            aload 0 /* signature */
            iload 1 /* start */
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         3: .line 2493
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            iconst_1
            iadd
            istore 4 /* i */
        start local 4 // int i
         4: goto 16
         5: .line 2494
      StackMap locals: int
      StackMap stack:
            aload 0 /* signature */
            iload 4 /* i */
            caload
            istore 5 /* c */
        start local 5 // char c
         6: .line 2495
            iload 5 /* c */
            lookupswitch { // 4
                   36: 7
                   47: 7
                   60: 9
                   62: 12
              default: 14
          }
         7: .line 2498
      StackMap locals: int
      StackMap stack:
            aload 3 /* buffer */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         8: .line 2499
            goto 15
         9: .line 2501
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            bipush 60
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        10: .line 2502
            aload 0 /* signature */
            iload 4 /* i */
            iconst_1
            iadd
            iload 2 /* length */
            aload 3 /* buffer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.toUnresolvedTypeSignature:([CIILjava/lang/StringBuffer;)I
            istore 4 /* i */
        11: .line 2503
            goto 15
        12: .line 2505
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            bipush 62
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        13: .line 2506
            iload 4 /* i */
            ireturn
        14: .line 2508
      StackMap locals:
      StackMap stack:
            aload 3 /* buffer */
            iload 5 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 5 // char c
        15: .line 2493
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            iload 2 /* length */
            if_icmplt 5
        end local 4 // int i
        17: .line 2512
            iload 2 /* length */
            ireturn
        end local 3 // java.lang.StringBuffer buffer
        end local 2 // int length
        end local 1 // int start
        end local 0 // char[] signature
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0  signature  [C
            0   18     1      start  I
            0   18     2     length  I
            0   18     3     buffer  Ljava/lang/StringBuffer;
            4   17     4          i  I
            6   15     5          c  C
    MethodParameters:
           Name  Flags
      signature  
      start      
      length     
      buffer     

  private static void appendArrayTypeSignature(char[], int, java.lang.StringBuffer, boolean);
    descriptor: ([CILjava/lang/StringBuffer;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // char[] string
        start local 1 // int start
        start local 2 // java.lang.StringBuffer buffer
        start local 3 // boolean compact
         0: .line 2515
            aload 0 /* string */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         1: .line 2517
            iload 1 /* start */
            iload 4 /* length */
            iconst_1
            isub
            if_icmplt 3
         2: .line 2518
            aload 0 /* string */
            iload 1 /* start */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newIllegalArgumentException:([CI)Ljava/lang/IllegalArgumentException;
            athrow
         3: .line 2520
      StackMap locals: int
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            caload
            istore 5 /* c */
        start local 5 // char c
         4: .line 2521
            iload 5 /* c */
            bipush 91
            if_icmpeq 6
         5: .line 2522
            aload 0 /* string */
            iload 1 /* start */
            iload 5 /* c */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newUnexpectedCharacterException:([CIC)Ljava/lang/IllegalArgumentException;
            athrow
         6: .line 2525
      StackMap locals: int
      StackMap stack:
            iload 1 /* start */
            istore 6 /* index */
        start local 6 // int index
         7: .line 2526
            aload 0 /* string */
            iinc 6 /* index */ 1
            iload 6 /* index */
            caload
            istore 5 /* c */
         8: .line 2527
            goto 12
         9: .line 2529
      StackMap locals: int
      StackMap stack:
            iload 6 /* index */
            iload 4 /* length */
            iconst_1
            isub
            if_icmplt 11
        10: .line 2530
            aload 0 /* string */
            iload 1 /* start */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newIllegalArgumentException:([CI)Ljava/lang/IllegalArgumentException;
            athrow
        11: .line 2532
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iinc 6 /* index */ 1
            iload 6 /* index */
            caload
            istore 5 /* c */
        12: .line 2527
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            bipush 91
            if_icmpeq 9
        13: .line 2535
            aload 0 /* string */
            iload 6 /* index */
            aload 2 /* buffer */
            iload 3 /* compact */
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendTypeSignature:([CILjava/lang/StringBuffer;Z)V
        14: .line 2537
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        15: iload 6 /* index */
            iload 1 /* start */
            isub
            istore 8 /* dims */
        start local 8 // int dims
        16: goto 19
        17: .line 2538
      StackMap locals: int int
      StackMap stack:
            aload 2 /* buffer */
            bipush 91
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            bipush 93
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        18: .line 2537
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 7 /* i */
            iload 8 /* dims */
            if_icmplt 17
        end local 8 // int dims
        end local 7 // int i
        20: .line 2540
            return
        end local 6 // int index
        end local 5 // char c
        end local 4 // int length
        end local 3 // boolean compact
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // int start
        end local 0 // char[] string
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0   string  [C
            0   21     1    start  I
            0   21     2   buffer  Ljava/lang/StringBuffer;
            0   21     3  compact  Z
            1   21     4   length  I
            4   21     5        c  C
            7   21     6    index  I
           15   20     7        i  I
           16   20     8     dims  I
    MethodParameters:
         Name  Flags
      string   
      start    
      buffer   
      compact  

  private static void appendClassTypeSignature(char[], int, java.lang.StringBuffer, boolean);
    descriptor: ([CILjava/lang/StringBuffer;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=4
        start local 0 // char[] string
        start local 1 // int start
        start local 2 // java.lang.StringBuffer buffer
        start local 3 // boolean compact
         0: .line 2542
            aload 0 /* string */
            iload 1 /* start */
            caload
            istore 4 /* c */
        start local 4 // char c
         1: .line 2543
            iload 4 /* c */
            bipush 76
            if_icmpeq 3
         2: .line 2544
            return
         3: .line 2546
      StackMap locals: int
      StackMap stack:
            iload 1 /* start */
            iconst_1
            iadd
            istore 5 /* p */
        start local 5 // int p
         4: .line 2547
            aload 2 /* buffer */
            invokevirtual java.lang.StringBuffer.length:()I
            istore 6 /* checkpoint */
        start local 6 // int checkpoint
         5: .line 2549
      StackMap locals: int int
      StackMap stack:
            aload 0 /* string */
            iload 5 /* p */
            caload
            istore 4 /* c */
         6: .line 2550
            iload 4 /* c */
            lookupswitch { // 4
                   36: 13
                   46: 8
                   47: 8
                   59: 7
              default: 15
          }
         7: .line 2553
      StackMap locals:
      StackMap stack:
            return
         8: .line 2557
      StackMap locals:
      StackMap stack:
            iload 3 /* compact */
            ifeq 11
         9: .line 2558
            aload 2 /* buffer */
            iload 6 /* checkpoint */
            invokevirtual java.lang.StringBuffer.setLength:(I)V
        10: .line 2559
            goto 16
        11: .line 2560
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        12: .line 2562
            goto 16
        13: .line 2570
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        14: .line 2571
            goto 16
        15: .line 2573
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        16: .line 2575
      StackMap locals:
      StackMap stack:
            iinc 5 /* p */ 1
        17: .line 2548
            goto 5
        end local 6 // int checkpoint
        end local 5 // int p
        end local 4 // char c
        end local 3 // boolean compact
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // int start
        end local 0 // char[] string
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0      string  [C
            0   18     1       start  I
            0   18     2      buffer  Ljava/lang/StringBuffer;
            0   18     3     compact  Z
            1   18     4           c  C
            4   18     5           p  I
            5   18     6  checkpoint  I
    MethodParameters:
         Name  Flags
      string   
      start    
      buffer   
      compact  

  static void appendTypeSignature(char[], int, java.lang.StringBuffer, boolean);
    descriptor: ([CILjava/lang/StringBuffer;Z)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // char[] string
        start local 1 // int start
        start local 2 // java.lang.StringBuffer buffer
        start local 3 // boolean compact
         0: .line 2579
            aload 0 /* string */
            iload 1 /* start */
            caload
            istore 4 /* c */
        start local 4 // char c
         1: .line 2580
            iload 4 /* c */
            tableswitch { // 66 - 91
                   66: 11
                   67: 13
                   68: 15
                   69: 26
                   70: 17
                   71: 26
                   72: 26
                   73: 19
                   74: 21
                   75: 26
                   76: 4
                   77: 26
                   78: 26
                   79: 26
                   80: 26
                   81: 26
                   82: 26
                   83: 23
                   84: 6
                   85: 26
                   86: 25
                   87: 26
                   88: 26
                   89: 26
                   90: 9
                   91: 2
              default: 26
          }
         2: .line 2582
      StackMap locals: int
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            aload 2 /* buffer */
            iload 3 /* compact */
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendArrayTypeSignature:([CILjava/lang/StringBuffer;Z)V
         3: .line 2583
            goto 26
         4: .line 2585
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            aload 2 /* buffer */
            iload 3 /* compact */
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendClassTypeSignature:([CILjava/lang/StringBuffer;Z)V
         5: .line 2586
            goto 26
         6: .line 2588
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.scanTypeVariableSignature:([CI)I
            istore 5 /* e */
        start local 5 // int e
         7: .line 2589
            aload 2 /* buffer */
            aload 0 /* string */
            iload 1 /* start */
            iconst_1
            iadd
            iload 5 /* e */
            iload 1 /* start */
            isub
            iconst_1
            isub
            invokevirtual java.lang.StringBuffer.append:([CII)Ljava/lang/StringBuffer;
            pop
         8: .line 2590
            goto 26
        end local 5 // int e
         9: .line 2592
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.BOOLEAN:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        10: .line 2593
            goto 26
        11: .line 2595
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.BYTE:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        12: .line 2596
            goto 26
        13: .line 2598
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.CHAR:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        14: .line 2599
            goto 26
        15: .line 2601
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.DOUBLE:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        16: .line 2602
            goto 26
        17: .line 2604
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.FLOAT:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        18: .line 2605
            goto 26
        19: .line 2607
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.INT:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        20: .line 2608
            goto 26
        21: .line 2610
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.LONG:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        22: .line 2611
            goto 26
        23: .line 2613
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.SHORT:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        24: .line 2614
            goto 26
        25: .line 2616
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.VOID:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        26: .line 2619
      StackMap locals:
      StackMap stack:
            return
        end local 4 // char c
        end local 3 // boolean compact
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // int start
        end local 0 // char[] string
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   27     0   string  [C
            0   27     1    start  I
            0   27     2   buffer  Ljava/lang/StringBuffer;
            0   27     3  compact  Z
            1   27     4        c  C
            7    9     5        e  I
    MethodParameters:
         Name  Flags
      string   
      start    
      buffer   
      compact  

  public static java.lang.String toString(char[], char[], char[], boolean, boolean);
    descriptor: ([C[C[CZZ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // char[] declaringClass
        start local 1 // char[] methodName
        start local 2 // char[] methodSignature
        start local 3 // boolean includeReturnType
        start local 4 // boolean compact
         0: .line 2621
            aload 1 /* methodName */
            getstatic org.eclipse.jdt.internal.core.util.Util.INIT:[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            istore 5 /* isConstructor */
        start local 5 // boolean isConstructor
         1: .line 2622
            bipush 40
            aload 2 /* methodSignature */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[C)I
            istore 6 /* firstParen */
        start local 6 // int firstParen
         2: .line 2623
            iload 6 /* firstParen */
            iconst_m1
            if_icmpne 4
         3: .line 2624
            ldc ""
            areturn
         4: .line 2627
      StackMap locals: int int
      StackMap stack:
            new java.lang.StringBuffer
            dup
            aload 2 /* methodSignature */
            arraylength
            bipush 10
            iadd
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 7 /* buffer */
        start local 7 // java.lang.StringBuffer buffer
         5: .line 2631
            aload 0 /* declaringClass */
            ifnull 20
            aload 0 /* declaringClass */
            arraylength
            ifle 20
         6: .line 2632
            aconst_null
            astore 8 /* declaringClassSignature */
        start local 8 // char[] declaringClassSignature
         7: .line 2633
            aload 0 /* declaringClass */
            iconst_0
            caload
            bipush 91
            if_icmpne 11
         8: .line 2634
            aload 0 /* declaringClass */
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replace:([CCC)V
         9: .line 2635
            aload 0 /* declaringClass */
            invokestatic org.eclipse.jdt.core.Signature.toCharArray:([C)[C
            astore 8 /* declaringClassSignature */
        10: .line 2636
            goto 13
        11: .line 2637
      StackMap locals: java.lang.StringBuffer char[]
      StackMap stack:
            aload 0 /* declaringClass */
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replace:([CCC)V
        12: .line 2638
            aload 0 /* declaringClass */
            astore 8 /* declaringClassSignature */
        13: .line 2640
      StackMap locals:
      StackMap stack:
            bipush 46
            aload 8 /* declaringClassSignature */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.lastIndexOf:(C[C)I
            istore 9 /* lastIndexOfSlash */
        start local 9 // int lastIndexOfSlash
        14: .line 2641
            iload 4 /* compact */
            ifeq 17
            iload 9 /* lastIndexOfSlash */
            iconst_m1
            if_icmpeq 17
        15: .line 2642
            aload 7 /* buffer */
            aload 8 /* declaringClassSignature */
            iload 9 /* lastIndexOfSlash */
            iconst_1
            iadd
            aload 8 /* declaringClassSignature */
            arraylength
            iload 9 /* lastIndexOfSlash */
            isub
            iconst_1
            isub
            invokevirtual java.lang.StringBuffer.append:([CII)Ljava/lang/StringBuffer;
            pop
        16: .line 2643
            goto 18
        17: .line 2644
      StackMap locals: int
      StackMap stack:
            aload 7 /* buffer */
            aload 8 /* declaringClassSignature */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        18: .line 2646
      StackMap locals:
      StackMap stack:
            iload 5 /* isConstructor */
            ifne 20
        19: .line 2647
            aload 7 /* buffer */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 9 // int lastIndexOfSlash
        end local 8 // char[] declaringClassSignature
        20: .line 2652
      StackMap locals:
      StackMap stack:
            iload 5 /* isConstructor */
            ifne 22
            aload 1 /* methodName */
            ifnull 22
        21: .line 2653
            aload 7 /* buffer */
            aload 1 /* methodName */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        22: .line 2657
      StackMap locals:
      StackMap stack:
            aload 7 /* buffer */
            bipush 40
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        23: .line 2658
            aload 2 /* methodSignature */
            invokestatic org.eclipse.jdt.core.Signature.getParameterTypes:([C)[[C
            astore 8 /* pts */
        start local 8 // char[][] pts
        24: .line 2659
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        25: aload 8 /* pts */
            arraylength
            istore 10 /* max */
        start local 10 // int max
        26: goto 32
        27: .line 2660
      StackMap locals: char[][] int int
      StackMap stack:
            aload 8 /* pts */
            iload 9 /* i */
            aaload
            iconst_0
            aload 7 /* buffer */
            iload 4 /* compact */
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendTypeSignature:([CILjava/lang/StringBuffer;Z)V
        28: .line 2661
            iload 9 /* i */
            aload 8 /* pts */
            arraylength
            iconst_1
            isub
            if_icmpeq 31
        29: .line 2662
            aload 7 /* buffer */
            bipush 44
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        30: .line 2663
            aload 7 /* buffer */
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        31: .line 2659
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 9 /* i */
            iload 10 /* max */
            if_icmplt 27
        end local 10 // int max
        end local 9 // int i
        33: .line 2666
            aload 7 /* buffer */
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        34: .line 2668
            iload 5 /* isConstructor */
            ifne 39
        35: .line 2669
            aload 7 /* buffer */
            ldc " : "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        36: .line 2671
            iload 3 /* includeReturnType */
            ifeq 39
        37: .line 2672
            aload 2 /* methodSignature */
            invokestatic org.eclipse.jdt.core.Signature.getReturnType:([C)[C
            astore 9 /* rts */
        start local 9 // char[] rts
        38: .line 2673
            aload 9 /* rts */
            iconst_0
            aload 7 /* buffer */
            iload 4 /* compact */
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendTypeSignature:([CILjava/lang/StringBuffer;Z)V
        end local 9 // char[] rts
        39: .line 2676
      StackMap locals:
      StackMap stack:
            aload 7 /* buffer */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 8 // char[][] pts
        end local 7 // java.lang.StringBuffer buffer
        end local 6 // int firstParen
        end local 5 // boolean isConstructor
        end local 4 // boolean compact
        end local 3 // boolean includeReturnType
        end local 2 // char[] methodSignature
        end local 1 // char[] methodName
        end local 0 // char[] declaringClass
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   40     0           declaringClass  [C
            0   40     1               methodName  [C
            0   40     2          methodSignature  [C
            0   40     3        includeReturnType  Z
            0   40     4                  compact  Z
            1   40     5            isConstructor  Z
            2   40     6               firstParen  I
            5   40     7                   buffer  Ljava/lang/StringBuffer;
            7   20     8  declaringClassSignature  [C
           14   20     9         lastIndexOfSlash  I
           24   40     8                      pts  [[C
           25   33     9                        i  I
           26   33    10                      max  I
           38   39     9                      rts  [C
    MethodParameters:
                   Name  Flags
      declaringClass     
      methodName         
      methodSignature    
      includeReturnType  
      compact            

  public static java.lang.String[] typeParameterSignatures(org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration method
         0: .line 2683
            aload 0 /* method */
            getfield org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.arguments:[Lorg/eclipse/jdt/internal/compiler/ast/Argument;
            astore 1 /* args */
        start local 1 // org.eclipse.jdt.internal.compiler.ast.Argument[] args
         1: .line 2684
            aload 1 /* args */
            ifnull 11
         2: .line 2685
            aload 1 /* args */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         3: .line 2686
            iload 2 /* length */
            anewarray java.lang.String
            astore 3 /* signatures */
        start local 3 // java.lang.String[] signatures
         4: .line 2687
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 9
         6: .line 2688
      StackMap locals: org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration org.eclipse.jdt.internal.compiler.ast.Argument[] int java.lang.String[] int
      StackMap stack:
            aload 1 /* args */
            iload 4 /* i */
            aaload
            astore 5 /* arg */
        start local 5 // org.eclipse.jdt.internal.compiler.ast.Argument arg
         7: .line 2689
            aload 3 /* signatures */
            iload 4 /* i */
            aload 5 /* arg */
            getfield org.eclipse.jdt.internal.compiler.ast.Argument.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;
            aastore
        end local 5 // org.eclipse.jdt.internal.compiler.ast.Argument arg
         8: .line 2687
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 1 /* args */
            arraylength
            if_icmplt 6
        end local 4 // int i
        10: .line 2691
            aload 3 /* signatures */
            areturn
        end local 3 // java.lang.String[] signatures
        end local 2 // int length
        11: .line 2693
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.ast.Argument[] args
        end local 0 // org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration method
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0      method  Lorg/eclipse/jdt/internal/compiler/ast/AbstractMethodDeclaration;
            1   12     1        args  [Lorg/eclipse/jdt/internal/compiler/ast/Argument;
            3   11     2      length  I
            4   11     3  signatures  [Ljava/lang/String;
            5   10     4           i  I
            7    8     5         arg  Lorg/eclipse/jdt/internal/compiler/ast/Argument;
    MethodParameters:
        Name  Flags
      method  

  public static java.lang.String typeSignature(org.eclipse.jdt.internal.compiler.ast.TypeReference);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.TypeReference type
         0: .line 2701
            aconst_null
            astore 1 /* signature */
        start local 1 // java.lang.String signature
         1: .line 2702
            aload 0 /* type */
            getfield org.eclipse.jdt.internal.compiler.ast.TypeReference.bits:I
            ldc 536870912
            iand
            ifeq 7
         2: .line 2704
            aload 0 /* type */
            checkcast org.eclipse.jdt.internal.compiler.ast.UnionTypeReference
            astore 2 /* unionTypeReference */
        start local 2 // org.eclipse.jdt.internal.compiler.ast.UnionTypeReference unionTypeReference
         3: .line 2705
            aload 2 /* unionTypeReference */
            getfield org.eclipse.jdt.internal.compiler.ast.UnionTypeReference.typeReferences:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            astore 3 /* typeReferences */
        start local 3 // org.eclipse.jdt.internal.compiler.ast.TypeReference[] typeReferences
         4: .line 2706
            aload 3 /* typeReferences */
            invokestatic org.eclipse.jdt.internal.core.util.Util.typeSignatures:([Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;)[Ljava/lang/String;
            astore 4 /* typeSignatures */
        start local 4 // java.lang.String[] typeSignatures
         5: .line 2707
            aload 4 /* typeSignatures */
            invokestatic org.eclipse.jdt.core.Signature.createIntersectionTypeSignature:([Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* signature */
        end local 4 // java.lang.String[] typeSignatures
        end local 3 // org.eclipse.jdt.internal.compiler.ast.TypeReference[] typeReferences
        end local 2 // org.eclipse.jdt.internal.compiler.ast.UnionTypeReference unionTypeReference
         6: .line 2708
            goto 16
      StackMap locals: java.lang.String
      StackMap stack:
         7: aload 0 /* type */
            instanceof org.eclipse.jdt.internal.compiler.ast.IntersectionCastTypeReference
            ifeq 13
         8: .line 2709
            aload 0 /* type */
            checkcast org.eclipse.jdt.internal.compiler.ast.IntersectionCastTypeReference
            astore 2 /* intersection */
        start local 2 // org.eclipse.jdt.internal.compiler.ast.IntersectionCastTypeReference intersection
         9: .line 2710
            aload 2 /* intersection */
            getfield org.eclipse.jdt.internal.compiler.ast.IntersectionCastTypeReference.typeReferences:[Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            astore 3 /* typeReferences */
        start local 3 // org.eclipse.jdt.internal.compiler.ast.TypeReference[] typeReferences
        10: .line 2711
            aload 3 /* typeReferences */
            invokestatic org.eclipse.jdt.internal.core.util.Util.typeSignatures:([Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;)[Ljava/lang/String;
            astore 4 /* typeSignatures */
        start local 4 // java.lang.String[] typeSignatures
        11: .line 2712
            aload 4 /* typeSignatures */
            invokestatic org.eclipse.jdt.core.Signature.createUnionTypeSignature:([Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* signature */
        end local 4 // java.lang.String[] typeSignatures
        end local 3 // org.eclipse.jdt.internal.compiler.ast.TypeReference[] typeReferences
        end local 2 // org.eclipse.jdt.internal.compiler.ast.IntersectionCastTypeReference intersection
        12: .line 2713
            goto 16
        13: .line 2714
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.getParameterizedTypeName:()[[C
            astore 2 /* compoundName */
        start local 2 // char[][] compoundName
        14: .line 2715
            aload 2 /* compoundName */
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            astore 3 /* typeName */
        start local 3 // char[] typeName
        15: .line 2716
            aload 3 /* typeName */
            iconst_0
            invokestatic org.eclipse.jdt.core.Signature.createTypeSignature:([CZ)Ljava/lang/String;
            astore 1 /* signature */
        end local 3 // char[] typeName
        end local 2 // char[][] compoundName
        16: .line 2718
      StackMap locals:
      StackMap stack:
            aload 1 /* signature */
            areturn
        end local 1 // java.lang.String signature
        end local 0 // org.eclipse.jdt.internal.compiler.ast.TypeReference type
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0                type  Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            1   17     1           signature  Ljava/lang/String;
            3    6     2  unionTypeReference  Lorg/eclipse/jdt/internal/compiler/ast/UnionTypeReference;
            4    6     3      typeReferences  [Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            5    6     4      typeSignatures  [Ljava/lang/String;
            9   12     2        intersection  Lorg/eclipse/jdt/internal/compiler/ast/IntersectionCastTypeReference;
           10   12     3      typeReferences  [Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
           11   12     4      typeSignatures  [Ljava/lang/String;
           14   16     2        compoundName  [[C
           15   16     3            typeName  [C
    MethodParameters:
      Name  Flags
      type  

  private static java.lang.String[] typeSignatures(org.eclipse.jdt.internal.compiler.ast.TypeReference[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.ast.TypeReference[] types
         0: .line 2722
            aload 0 /* types */
            arraylength
            istore 1 /* length */
        start local 1 // int length
         1: .line 2723
            iload 1 /* length */
            anewarray java.lang.String
            astore 2 /* typeSignatures */
        start local 2 // java.lang.String[] typeSignatures
         2: .line 2724
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 2725
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 0 /* types */
            iload 3 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.ast.TypeReference.getParameterizedTypeName:()[[C
            astore 4 /* compoundName */
        start local 4 // char[][] compoundName
         5: .line 2726
            aload 4 /* compoundName */
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            astore 5 /* typeName */
        start local 5 // char[] typeName
         6: .line 2727
            aload 2 /* typeSignatures */
            iload 3 /* i */
            aload 5 /* typeName */
            iconst_0
            invokestatic org.eclipse.jdt.core.Signature.createTypeSignature:([CZ)Ljava/lang/String;
            aastore
        end local 5 // char[] typeName
        end local 4 // char[][] compoundName
         7: .line 2724
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 4
        end local 3 // int i
         9: .line 2729
            aload 2 /* typeSignatures */
            areturn
        end local 2 // java.lang.String[] typeSignatures
        end local 1 // int length
        end local 0 // org.eclipse.jdt.internal.compiler.ast.TypeReference[] types
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0           types  [Lorg/eclipse/jdt/internal/compiler/ast/TypeReference;
            1   10     1          length  I
            2   10     2  typeSignatures  [Ljava/lang/String;
            3    9     3               i  I
            5    7     4    compoundName  [[C
            6    7     5        typeName  [C
    MethodParameters:
       Name  Flags
      types  

  public static void validateMethodSignature(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String sig
         0: .line 2735
            aload 0 /* sig */
            invokestatic org.eclipse.jdt.internal.core.util.Util.isValidMethodSignature:(Ljava/lang/String;)Z
            invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
         1: .line 2736
            return
        end local 0 // java.lang.String sig
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   sig  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      sig   

  public static void validateTypeSignature(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String sig
        start local 1 // boolean allowVoid
         0: .line 2742
            aload 0 /* sig */
            iload 1 /* allowVoid */
            invokestatic org.eclipse.jdt.internal.core.util.Util.isValidTypeSignature:(Ljava/lang/String;Z)Z
            invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
         1: .line 2743
            return
        end local 1 // boolean allowVoid
        end local 0 // java.lang.String sig
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0        sig  Ljava/lang/String;
            0    2     1  allowVoid  Z
    MethodParameters:
           Name  Flags
      sig        
      allowVoid  

  public static void verbose(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String log
         0: .line 2745
            aload 0 /* log */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;Ljava/io/PrintStream;)V
         1: .line 2746
            return
        end local 0 // java.lang.String log
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   log  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      log   

  public static synchronized void verbose(java.lang.String, java.io.PrintStream);
    descriptor: (Ljava/lang/String;Ljava/io/PrintStream;)V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.String log
        start local 1 // java.io.PrintStream printStream
         0: .line 2748
            iconst_0
            istore 2 /* start */
        start local 2 // int start
         1: .line 2750
      StackMap locals: int
      StackMap stack:
            aload 0 /* log */
            bipush 10
            iload 2 /* start */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 3 /* end */
        start local 3 // int end
         2: .line 2751
            aload 1 /* printStream */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/Object;)V
         3: .line 2752
            aload 1 /* printStream */
            ldc " "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         4: .line 2753
            aload 1 /* printStream */
            aload 0 /* log */
            iload 2 /* start */
            iload 3 /* end */
            iconst_m1
            if_icmpne 5
            aload 0 /* log */
            invokevirtual java.lang.String.length:()I
            goto 6
      StackMap locals: java.lang.String java.io.PrintStream int int
      StackMap stack: java.io.PrintStream java.lang.String int
         5: iload 3 /* end */
            iconst_1
            iadd
      StackMap locals: java.lang.String java.io.PrintStream int int
      StackMap stack: java.io.PrintStream java.lang.String int int
         6: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         7: .line 2754
            iload 3 /* end */
            iconst_1
            iadd
            istore 2 /* start */
        end local 3 // int end
         8: .line 2755
            iload 2 /* start */
            ifne 1
         9: .line 2756
            aload 1 /* printStream */
            invokevirtual java.io.PrintStream.println:()V
        10: .line 2757
            return
        end local 2 // int start
        end local 1 // java.io.PrintStream printStream
        end local 0 // java.lang.String log
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0          log  Ljava/lang/String;
            0   11     1  printStream  Ljava/io/PrintStream;
            1   11     2        start  I
            2    8     3          end  I
    MethodParameters:
             Name  Flags
      log          
      printStream  

  public static final boolean isJavaLikeFileName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 2764
            aload 0 /* name */
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 2765
      StackMap locals:
      StackMap stack:
            aload 0 /* name */
            invokestatic org.eclipse.jdt.internal.core.util.Util.indexOfJavaLikeExtension:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public static final boolean isJavaLikeFileName(char[]);
    descriptor: ([C)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // char[] fileName
         0: .line 2773
            aload 0 /* fileName */
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 2774
      StackMap locals:
      StackMap stack:
            aload 0 /* fileName */
            arraylength
            istore 1 /* fileNameLength */
        start local 1 // int fileNameLength
         2: .line 2775
            invokestatic org.eclipse.jdt.internal.core.util.Util.getJavaLikeExtensions:()[[C
            astore 2 /* javaLikeExtensions */
        start local 2 // char[][] javaLikeExtensions
         3: .line 2776
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: aload 2 /* javaLikeExtensions */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         5: goto 19
         6: .line 2777
      StackMap locals: char[] int char[][] int int
      StackMap stack:
            aload 2 /* javaLikeExtensions */
            iload 3 /* i */
            aaload
            astore 5 /* extension */
        start local 5 // char[] extension
         7: .line 2778
            aload 5 /* extension */
            arraylength
            istore 6 /* extensionLength */
        start local 6 // int extensionLength
         8: .line 2779
            iload 1 /* fileNameLength */
            iload 6 /* extensionLength */
            isub
            istore 7 /* extensionStart */
        start local 7 // int extensionStart
         9: .line 2780
            iload 7 /* extensionStart */
            iconst_1
            isub
            ifge 10
            goto 18
        10: .line 2781
      StackMap locals: char[] int int
      StackMap stack:
            aload 0 /* fileName */
            iload 7 /* extensionStart */
            iconst_1
            isub
            caload
            bipush 46
            if_icmpeq 11
            goto 18
        11: .line 2782
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        12: goto 16
        13: .line 2783
      StackMap locals: int
      StackMap stack:
            aload 0 /* fileName */
            iload 7 /* extensionStart */
            iload 8 /* j */
            iadd
            caload
            aload 5 /* extension */
            iload 8 /* j */
            caload
            if_icmpeq 15
        14: .line 2784
            goto 18
        15: .line 2782
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        16: iload 8 /* j */
            iload 6 /* extensionLength */
            if_icmplt 13
        end local 8 // int j
        17: .line 2786
            iconst_1
            ireturn
        end local 7 // int extensionStart
        end local 6 // int extensionLength
        end local 5 // char[] extension
        18: .line 2776
      StackMap locals: char[] int char[][] int int
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 6
        end local 4 // int length
        end local 3 // int i
        20: .line 2788
            iconst_0
            ireturn
        end local 2 // char[][] javaLikeExtensions
        end local 1 // int fileNameLength
        end local 0 // char[] fileName
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   21     0            fileName  [C
            2   21     1      fileNameLength  I
            3   21     2  javaLikeExtensions  [[C
            4   20     3                   i  I
            5   20     4              length  I
            7   18     5           extension  [C
            8   18     6     extensionLength  I
            9   18     7      extensionStart  I
           12   17     8                   j  I
    MethodParameters:
          Name  Flags
      fileName  

  public static final char[][][] getAllTypeArguments(char[][]);
    descriptor: ([[C)[[[C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // char[][] typeSignatures
         0: .line 2818
            aload 0 /* typeSignatures */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 2819
      StackMap locals:
      StackMap stack:
            aload 0 /* typeSignatures */
            arraylength
            istore 1 /* length */
        start local 1 // int length
         2: .line 2820
            iload 1 /* length */
            anewarray char[][]
            astore 2 /* typeArguments */
        start local 2 // char[][][] typeArguments
         3: .line 2821
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 2822
      StackMap locals: int char[][][] int
      StackMap stack:
            aload 2 /* typeArguments */
            iload 3 /* i */
            aload 0 /* typeSignatures */
            iload 3 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.Signature.getTypeArguments:([C)[[C
            aastore
         6: .line 2821
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 5
        end local 3 // int i
         8: .line 2824
            aload 2 /* typeArguments */
            areturn
        end local 2 // char[][][] typeArguments
        end local 1 // int length
        end local 0 // char[][] typeSignatures
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0  typeSignatures  [[C
            2    9     1          length  I
            3    9     2   typeArguments  [[[C
            4    8     3               i  I
    MethodParameters:
                Name  Flags
      typeSignatures  

  public static org.eclipse.jdt.core.IAnnotation getAnnotation(org.eclipse.jdt.internal.core.JavaElement, org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Ljava/lang/String;)Lorg/eclipse/jdt/core/IAnnotation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaElement parent
        start local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation binaryAnnotation
        start local 2 // java.lang.String memberValuePairName
         0: .line 2827
            aload 1 /* binaryAnnotation */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation.getTypeName:()[C
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replaceOnCopy:([CCC)[C
            invokestatic org.eclipse.jdt.core.Signature.toCharArray:([C)[C
            astore 3 /* typeName */
        start local 3 // char[] typeName
         1: .line 2828
            new org.eclipse.jdt.internal.core.Annotation
            dup
            aload 0 /* parent */
            new java.lang.String
            dup
            aload 3 /* typeName */
            invokespecial java.lang.String.<init>:([C)V
            aload 2 /* memberValuePairName */
            invokespecial org.eclipse.jdt.internal.core.Annotation.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Ljava/lang/String;)V
            areturn
        end local 3 // char[] typeName
        end local 2 // java.lang.String memberValuePairName
        end local 1 // org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation binaryAnnotation
        end local 0 // org.eclipse.jdt.internal.core.JavaElement parent
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0               parent  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    2     1     binaryAnnotation  Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;
            0    2     2  memberValuePairName  Ljava/lang/String;
            1    2     3             typeName  [C
    MethodParameters:
                     Name  Flags
      parent               
      binaryAnnotation     
      memberValuePairName  

  public static java.lang.Object getAnnotationMemberValue(org.eclipse.jdt.internal.core.JavaElement, org.eclipse.jdt.internal.core.MemberValuePair, java.lang.Object);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;Lorg/eclipse/jdt/internal/core/MemberValuePair;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaElement parent
        start local 1 // org.eclipse.jdt.internal.core.MemberValuePair memberValuePair
        start local 2 // java.lang.Object binaryValue
         0: .line 2832
            aload 2 /* binaryValue */
            instanceof org.eclipse.jdt.internal.compiler.impl.Constant
            ifeq 2
         1: .line 2833
            aload 1 /* memberValuePair */
            aload 2 /* binaryValue */
            checkcast org.eclipse.jdt.internal.compiler.impl.Constant
            invokestatic org.eclipse.jdt.internal.core.util.Util.getAnnotationMemberValue:(Lorg/eclipse/jdt/internal/core/MemberValuePair;Lorg/eclipse/jdt/internal/compiler/impl/Constant;)Ljava/lang/Object;
            areturn
         2: .line 2834
      StackMap locals:
      StackMap stack:
            aload 2 /* binaryValue */
            instanceof org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation
            ifeq 5
         3: .line 2835
            aload 1 /* memberValuePair */
            bipush 10
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
         4: .line 2836
            aload 0 /* parent */
            aload 2 /* binaryValue */
            checkcast org.eclipse.jdt.internal.compiler.env.IBinaryAnnotation
            aload 1 /* memberValuePair */
            invokevirtual org.eclipse.jdt.internal.core.MemberValuePair.getMemberName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.getAnnotation:(Lorg/eclipse/jdt/internal/core/JavaElement;Lorg/eclipse/jdt/internal/compiler/env/IBinaryAnnotation;Ljava/lang/String;)Lorg/eclipse/jdt/core/IAnnotation;
            areturn
         5: .line 2837
      StackMap locals:
      StackMap stack:
            aload 2 /* binaryValue */
            instanceof org.eclipse.jdt.internal.compiler.env.ClassSignature
            ifeq 9
         6: .line 2838
            aload 1 /* memberValuePair */
            bipush 11
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
         7: .line 2839
            aload 2 /* binaryValue */
            checkcast org.eclipse.jdt.internal.compiler.env.ClassSignature
            invokevirtual org.eclipse.jdt.internal.compiler.env.ClassSignature.getTypeName:()[C
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replaceOnCopy:([CCC)[C
            invokestatic org.eclipse.jdt.core.Signature.toCharArray:([C)[C
            astore 3 /* className */
        start local 3 // char[] className
         8: .line 2840
            new java.lang.String
            dup
            aload 3 /* className */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 3 // char[] className
         9: .line 2841
      StackMap locals:
      StackMap stack:
            aload 2 /* binaryValue */
            instanceof org.eclipse.jdt.internal.compiler.env.EnumConstantSignature
            ifeq 15
        10: .line 2842
            aload 1 /* memberValuePair */
            bipush 12
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        11: .line 2843
            aload 2 /* binaryValue */
            checkcast org.eclipse.jdt.internal.compiler.env.EnumConstantSignature
            astore 3 /* enumConstant */
        start local 3 // org.eclipse.jdt.internal.compiler.env.EnumConstantSignature enumConstant
        12: .line 2844
            aload 3 /* enumConstant */
            invokevirtual org.eclipse.jdt.internal.compiler.env.EnumConstantSignature.getTypeName:()[C
            bipush 47
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replaceOnCopy:([CCC)[C
            invokestatic org.eclipse.jdt.core.Signature.toCharArray:([C)[C
            astore 4 /* enumName */
        start local 4 // char[] enumName
        13: .line 2845
            aload 4 /* enumName */
            aload 3 /* enumConstant */
            invokevirtual org.eclipse.jdt.internal.compiler.env.EnumConstantSignature.getEnumConstantName:()[C
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concat:([C[CC)[C
            astore 5 /* qualifiedName */
        start local 5 // char[] qualifiedName
        14: .line 2846
            new java.lang.String
            dup
            aload 5 /* qualifiedName */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 5 // char[] qualifiedName
        end local 4 // char[] enumName
        end local 3 // org.eclipse.jdt.internal.compiler.env.EnumConstantSignature enumConstant
        15: .line 2847
      StackMap locals:
      StackMap stack:
            aload 2 /* binaryValue */
            instanceof java.lang.Object[]
            ifeq 40
        16: .line 2848
            aload 1 /* memberValuePair */
            iconst_m1
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        17: .line 2849
            aload 2 /* binaryValue */
            checkcast java.lang.Object[]
            astore 3 /* binaryValues */
        start local 3 // java.lang.Object[] binaryValues
        18: .line 2850
            aload 3 /* binaryValues */
            arraylength
            istore 4 /* length */
        start local 4 // int length
        19: .line 2851
            iload 4 /* length */
            anewarray java.lang.Object
            astore 5 /* values */
        start local 5 // java.lang.Object[] values
        20: .line 2852
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        21: goto 36
        22: .line 2853
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement org.eclipse.jdt.internal.core.MemberValuePair java.lang.Object java.lang.Object[] int java.lang.Object[] int
      StackMap stack:
            aload 1 /* memberValuePair */
            getfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
            istore 7 /* previousValueKind */
        start local 7 // int previousValueKind
        23: .line 2854
            aload 0 /* parent */
            aload 1 /* memberValuePair */
            aload 3 /* binaryValues */
            iload 6 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.core.util.Util.getAnnotationMemberValue:(Lorg/eclipse/jdt/internal/core/JavaElement;Lorg/eclipse/jdt/internal/core/MemberValuePair;Ljava/lang/Object;)Ljava/lang/Object;
            astore 8 /* value */
        start local 8 // java.lang.Object value
        24: .line 2855
            iload 7 /* previousValueKind */
            iconst_m1
            if_icmpeq 26
            aload 1 /* memberValuePair */
            getfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
            iload 7 /* previousValueKind */
            if_icmpeq 26
        25: .line 2857
            aload 1 /* memberValuePair */
            bipush 14
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        26: .line 2859
      StackMap locals: int java.lang.Object
      StackMap stack:
            aload 8 /* value */
            instanceof org.eclipse.jdt.internal.core.Annotation
            ifeq 34
        27: .line 2860
            aload 8 /* value */
            checkcast org.eclipse.jdt.internal.core.Annotation
            astore 9 /* annotation */
        start local 9 // org.eclipse.jdt.internal.core.Annotation annotation
        28: .line 2861
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        29: goto 33
        30: .line 2862
      StackMap locals: org.eclipse.jdt.internal.core.Annotation int
      StackMap stack:
            aload 9 /* annotation */
            aload 5 /* values */
            iload 10 /* j */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.Annotation.equals:(Ljava/lang/Object;)Z
            ifeq 32
        31: .line 2863
            aload 9 /* annotation */
            dup
            getfield org.eclipse.jdt.internal.core.SourceRefElement.occurrenceCount:I
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.core.Annotation.occurrenceCount:I
        32: .line 2861
      StackMap locals:
      StackMap stack:
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        33: iload 10 /* j */
            iload 6 /* i */
            if_icmplt 30
        end local 10 // int j
        end local 9 // org.eclipse.jdt.internal.core.Annotation annotation
        34: .line 2867
      StackMap locals:
      StackMap stack:
            aload 5 /* values */
            iload 6 /* i */
            aload 8 /* value */
            aastore
        end local 8 // java.lang.Object value
        end local 7 // int previousValueKind
        35: .line 2852
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 6 /* i */
            iload 4 /* length */
            if_icmplt 22
        end local 6 // int i
        37: .line 2869
            aload 1 /* memberValuePair */
            getfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
            iconst_m1
            if_icmpne 39
        38: .line 2870
            aload 1 /* memberValuePair */
            bipush 14
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        39: .line 2871
      StackMap locals:
      StackMap stack:
            aload 5 /* values */
            areturn
        end local 5 // java.lang.Object[] values
        end local 4 // int length
        end local 3 // java.lang.Object[] binaryValues
        40: .line 2873
      StackMap locals:
      StackMap stack:
            aload 1 /* memberValuePair */
            bipush 14
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        41: .line 2874
            aconst_null
            areturn
        end local 2 // java.lang.Object binaryValue
        end local 1 // org.eclipse.jdt.internal.core.MemberValuePair memberValuePair
        end local 0 // org.eclipse.jdt.internal.core.JavaElement parent
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   42     0             parent  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   42     1    memberValuePair  Lorg/eclipse/jdt/internal/core/MemberValuePair;
            0   42     2        binaryValue  Ljava/lang/Object;
            8    9     3          className  [C
           12   15     3       enumConstant  Lorg/eclipse/jdt/internal/compiler/env/EnumConstantSignature;
           13   15     4           enumName  [C
           14   15     5      qualifiedName  [C
           18   40     3       binaryValues  [Ljava/lang/Object;
           19   40     4             length  I
           20   40     5             values  [Ljava/lang/Object;
           21   37     6                  i  I
           23   35     7  previousValueKind  I
           24   35     8              value  Ljava/lang/Object;
           28   34     9         annotation  Lorg/eclipse/jdt/internal/core/Annotation;
           29   34    10                  j  I
    MethodParameters:
                 Name  Flags
      parent           
      memberValuePair  
      binaryValue      

  public static java.lang.Object getAnnotationMemberValue(org.eclipse.jdt.internal.core.MemberValuePair, org.eclipse.jdt.internal.compiler.impl.Constant);
    descriptor: (Lorg/eclipse/jdt/internal/core/MemberValuePair;Lorg/eclipse/jdt/internal/compiler/impl/Constant;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.MemberValuePair memberValuePair
        start local 1 // org.eclipse.jdt.internal.compiler.impl.Constant constant
         0: .line 2882
            aload 1 /* constant */
            ifnonnull 3
         1: .line 2883
            aload 0 /* memberValuePair */
            bipush 14
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
         2: .line 2884
            aconst_null
            areturn
         3: .line 2886
      StackMap locals:
      StackMap stack:
            aload 1 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.typeID:()I
            tableswitch { // 2 - 11
                    2: 10
                    3: 6
                    4: 8
                    5: 16
                    6: 22
                    7: 18
                    8: 14
                    9: 12
                   10: 4
                   11: 20
              default: 22
          }
         4: .line 2888
      StackMap locals:
      StackMap stack:
            aload 0 /* memberValuePair */
            iconst_1
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
         5: .line 2889
            aload 1 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         6: .line 2891
      StackMap locals:
      StackMap stack:
            aload 0 /* memberValuePair */
            iconst_2
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
         7: .line 2892
            aload 1 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.byteValue:()B
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            areturn
         8: .line 2894
      StackMap locals:
      StackMap stack:
            aload 0 /* memberValuePair */
            iconst_3
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
         9: .line 2895
            aload 1 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.shortValue:()S
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            areturn
        10: .line 2897
      StackMap locals:
      StackMap stack:
            aload 0 /* memberValuePair */
            iconst_4
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        11: .line 2898
            aload 1 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.charValue:()C
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            areturn
        12: .line 2900
      StackMap locals:
      StackMap stack:
            aload 0 /* memberValuePair */
            iconst_5
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        13: .line 2901
            new java.lang.Float
            dup
            aload 1 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
            invokespecial java.lang.Float.<init>:(F)V
            areturn
        14: .line 2903
      StackMap locals:
      StackMap stack:
            aload 0 /* memberValuePair */
            bipush 6
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        15: .line 2904
            new java.lang.Double
            dup
            aload 1 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
            invokespecial java.lang.Double.<init>:(D)V
            areturn
        16: .line 2906
      StackMap locals:
      StackMap stack:
            aload 0 /* memberValuePair */
            bipush 8
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        17: .line 2907
            aload 1 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.booleanValue:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        18: .line 2909
      StackMap locals:
      StackMap stack:
            aload 0 /* memberValuePair */
            bipush 7
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        19: .line 2910
            aload 1 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        20: .line 2912
      StackMap locals:
      StackMap stack:
            aload 0 /* memberValuePair */
            bipush 9
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        21: .line 2913
            aload 1 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.stringValue:()Ljava/lang/String;
            areturn
        22: .line 2915
      StackMap locals:
      StackMap stack:
            aload 0 /* memberValuePair */
            bipush 14
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        23: .line 2916
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.impl.Constant constant
        end local 0 // org.eclipse.jdt.internal.core.MemberValuePair memberValuePair
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   24     0  memberValuePair  Lorg/eclipse/jdt/internal/core/MemberValuePair;
            0   24     1         constant  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
    MethodParameters:
                 Name  Flags
      memberValuePair  
      constant         

  public static java.lang.Object getNegativeAnnotationMemberValue(org.eclipse.jdt.internal.core.MemberValuePair, org.eclipse.jdt.internal.compiler.impl.Constant);
    descriptor: (Lorg/eclipse/jdt/internal/core/MemberValuePair;Lorg/eclipse/jdt/internal/compiler/impl/Constant;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.MemberValuePair memberValuePair
        start local 1 // org.eclipse.jdt.internal.compiler.impl.Constant constant
         0: .line 2925
            aload 1 /* constant */
            ifnonnull 3
         1: .line 2926
            aload 0 /* memberValuePair */
            bipush 14
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
         2: .line 2927
            aconst_null
            areturn
         3: .line 2929
      StackMap locals:
      StackMap stack:
            aload 1 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.typeID:()I
            tableswitch { // 7 - 10
                    7: 10
                    8: 8
                    9: 6
                   10: 4
              default: 12
          }
         4: .line 2931
      StackMap locals:
      StackMap stack:
            aload 0 /* memberValuePair */
            iconst_1
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
         5: .line 2932
            aload 1 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.intValue:()I
            iconst_m1
            imul
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         6: .line 2934
      StackMap locals:
      StackMap stack:
            aload 0 /* memberValuePair */
            iconst_5
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
         7: .line 2935
            new java.lang.Float
            dup
            aload 1 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.floatValue:()F
            ldc -1.0
            fmul
            invokespecial java.lang.Float.<init>:(F)V
            areturn
         8: .line 2937
      StackMap locals:
      StackMap stack:
            aload 0 /* memberValuePair */
            bipush 6
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
         9: .line 2938
            new java.lang.Double
            dup
            aload 1 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.doubleValue:()D
            ldc -1.0
            dmul
            invokespecial java.lang.Double.<init>:(D)V
            areturn
        10: .line 2940
      StackMap locals:
      StackMap stack:
            aload 0 /* memberValuePair */
            bipush 7
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        11: .line 2941
            aload 1 /* constant */
            invokevirtual org.eclipse.jdt.internal.compiler.impl.Constant.longValue:()J
            ldc -1
            lmul
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        12: .line 2943
      StackMap locals:
      StackMap stack:
            aload 0 /* memberValuePair */
            bipush 14
            putfield org.eclipse.jdt.internal.core.MemberValuePair.valueKind:I
        13: .line 2944
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.impl.Constant constant
        end local 0 // org.eclipse.jdt.internal.core.MemberValuePair memberValuePair
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0  memberValuePair  Lorg/eclipse/jdt/internal/core/MemberValuePair;
            0   14     1         constant  Lorg/eclipse/jdt/internal/compiler/impl/Constant;
    MethodParameters:
                 Name  Flags
      memberValuePair  
      constant         

  public static final char[][] splitTypeLevelsSignature(java.lang.String);
    descriptor: (Ljava/lang/String;)[[C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.String typeSignature
         0: .line 2964
            aload 0 /* typeSignature */
            invokevirtual java.lang.String.toCharArray:()[C
            invokestatic org.eclipse.jdt.core.Signature.removeCapture:([C)[C
            astore 1 /* source */
        start local 1 // char[] source
         1: .line 2965
            aload 1 /* source */
            bipush 36
            bipush 46
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.replace:([CCC)V
         2: .line 2968
            bipush 10
            anewarray char[]
            astore 2 /* signatures */
        start local 2 // char[][] signatures
         3: .line 2969
            iconst_0
            istore 3 /* signaturesCount */
        start local 3 // int signaturesCount
         4: .line 2971
            iconst_0
            istore 4 /* paramOpening */
        start local 4 // int paramOpening
         5: .line 2974
            iconst_0
            istore 5 /* idx */
        start local 5 // int idx
         6: aload 1 /* source */
            arraylength
            istore 6 /* ln */
        start local 6 // int ln
         7: goto 26
         8: .line 2975
      StackMap locals: java.lang.String char[] char[][] int int int int
      StackMap stack:
            aload 1 /* source */
            iload 5 /* idx */
            caload
            lookupswitch { // 4
                   46: 16
                   47: 24
                   60: 14
                   62: 9
              default: 25
          }
         9: .line 2977
      StackMap locals:
      StackMap stack:
            iinc 4 /* paramOpening */ -1
        10: .line 2978
            iload 4 /* paramOpening */
            ifne 25
        11: .line 2979
            iload 3 /* signaturesCount */
            aload 2 /* signatures */
            arraylength
            if_icmpne 25
        12: .line 2980
            aload 2 /* signatures */
            iconst_0
            iload 3 /* signaturesCount */
            bipush 10
            iadd
            anewarray char[]
            dup
            astore 2 /* signatures */
            iconst_0
            iload 3 /* signaturesCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 2983
            goto 25
        14: .line 2985
      StackMap locals:
      StackMap stack:
            iinc 4 /* paramOpening */ 1
        15: .line 2986
            goto 25
        16: .line 2988
      StackMap locals:
      StackMap stack:
            iload 4 /* paramOpening */
            ifne 25
        17: .line 2989
            iload 3 /* signaturesCount */
            aload 2 /* signatures */
            arraylength
            if_icmpne 19
        18: .line 2990
            aload 2 /* signatures */
            iconst_0
            iload 3 /* signaturesCount */
            bipush 10
            iadd
            anewarray char[]
            dup
            astore 2 /* signatures */
            iconst_0
            iload 3 /* signaturesCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        19: .line 2992
      StackMap locals:
      StackMap stack:
            aload 2 /* signatures */
            iload 3 /* signaturesCount */
            iload 5 /* idx */
            iconst_1
            iadd
            newarray 5
            aastore
        20: .line 2993
            aload 1 /* source */
            iconst_0
            aload 2 /* signatures */
            iload 3 /* signaturesCount */
            aaload
            iconst_0
            iload 5 /* idx */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        21: .line 2994
            aload 2 /* signatures */
            iload 3 /* signaturesCount */
            aaload
            iload 5 /* idx */
            bipush 59
            castore
        22: .line 2995
            iinc 3 /* signaturesCount */ 1
        23: .line 2997
            goto 25
        24: .line 2999
      StackMap locals:
      StackMap stack:
            aload 1 /* source */
            iload 5 /* idx */
            bipush 46
            castore
        25: .line 2974
      StackMap locals:
      StackMap stack:
            iinc 5 /* idx */ 1
      StackMap locals:
      StackMap stack:
        26: iload 5 /* idx */
            iload 6 /* ln */
            if_icmplt 8
        end local 6 // int ln
        end local 5 // int idx
        27: .line 3005
            iload 3 /* signaturesCount */
            iconst_1
            iadd
            anewarray char[]
            astore 5 /* typeSignatures */
        start local 5 // char[][] typeSignatures
        28: .line 3006
            aload 5 /* typeSignatures */
            iconst_0
            aload 1 /* source */
            aastore
        29: .line 3007
            iconst_1
            istore 6 /* i */
        start local 6 // int i
        30: iload 3 /* signaturesCount */
            iconst_1
            isub
            istore 7 /* j */
        start local 7 // int j
        31: goto 34
        32: .line 3008
      StackMap locals: java.lang.String char[] char[][] int int char[][] int int
      StackMap stack:
            aload 5 /* typeSignatures */
            iload 6 /* i */
            aload 2 /* signatures */
            iload 7 /* j */
            aaload
            aastore
        33: .line 3007
            iinc 6 /* i */ 1
            iinc 7 /* j */ -1
      StackMap locals:
      StackMap stack:
        34: iload 6 /* i */
            iload 3 /* signaturesCount */
            if_icmple 32
        end local 7 // int j
        end local 6 // int i
        35: .line 3010
            aload 5 /* typeSignatures */
            areturn
        end local 5 // char[][] typeSignatures
        end local 4 // int paramOpening
        end local 3 // int signaturesCount
        end local 2 // char[][] signatures
        end local 1 // char[] source
        end local 0 // java.lang.String typeSignature
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   36     0    typeSignature  Ljava/lang/String;
            1   36     1           source  [C
            3   36     2       signatures  [[C
            4   36     3  signaturesCount  I
            5   36     4     paramOpening  I
            6   27     5              idx  I
            7   27     6               ln  I
           28   36     5   typeSignatures  [[C
           30   35     6                i  I
           31   35     7                j  I
    MethodParameters:
               Name  Flags
      typeSignature  

  public static java.lang.String toAnchor(int, char[], java.lang.String, boolean);
    descriptor: (I[CLjava/lang/String;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // int startingIndex
        start local 1 // char[] methodSignature
        start local 2 // java.lang.String methodName
        start local 3 // boolean isVarArgs
         0: .line 3018
            new java.lang.String
            dup
            iload 0 /* startingIndex */
            aload 1 /* methodSignature */
            aload 2 /* methodName */
            invokevirtual java.lang.String.toCharArray:()[C
            iload 3 /* isVarArgs */
            invokestatic org.eclipse.jdt.internal.core.util.Util.toAnchor:(I[C[CZ)[C
            invokespecial java.lang.String.<init>:([C)V
         1: areturn
         2: .line 3019
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
         3: .line 3020
            aconst_null
            areturn
        end local 3 // boolean isVarArgs
        end local 2 // java.lang.String methodName
        end local 1 // char[] methodSignature
        end local 0 // int startingIndex
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0    startingIndex  I
            0    4     1  methodSignature  [C
            0    4     2       methodName  Ljava/lang/String;
            0    4     3        isVarArgs  Z
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalArgumentException
    MethodParameters:
                 Name  Flags
      startingIndex    
      methodSignature  
      methodName       
      isVarArgs        

  public static char[] toAnchor(int, char[], char[], boolean);
    descriptor: (I[C[CZ)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // int startingIndex
        start local 1 // char[] methodSignature
        start local 2 // char[] methodName
        start local 3 // boolean isVargArgs
         0: .line 3024
            bipush 40
            aload 1 /* methodSignature */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.indexOf:(C[C)I
            istore 4 /* firstParen */
        start local 4 // int firstParen
         1: .line 3025
            iload 4 /* firstParen */
            iconst_m1
            if_icmpne 3
         2: .line 3026
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* methodSignature */
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 3029
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuffer
            dup
            aload 1 /* methodSignature */
            arraylength
            bipush 10
            iadd
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 5 /* buffer */
        start local 5 // java.lang.StringBuffer buffer
         4: .line 3032
            aload 2 /* methodName */
            ifnull 6
         5: .line 3033
            aload 5 /* buffer */
            aload 2 /* methodName */
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
         6: .line 3037
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 5 /* buffer */
            bipush 40
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 3038
            aload 1 /* methodSignature */
            invokestatic org.eclipse.jdt.core.Signature.getParameterTypes:([C)[[C
            astore 6 /* pts */
        start local 6 // char[][] pts
         8: .line 3039
            iload 0 /* startingIndex */
            istore 7 /* i */
        start local 7 // int i
         9: aload 6 /* pts */
            arraylength
            istore 8 /* max */
        start local 8 // int max
        10: goto 19
        11: .line 3040
      StackMap locals: char[][] int int
      StackMap stack:
            iload 7 /* i */
            iload 8 /* max */
            iconst_1
            isub
            if_icmpne 14
        12: .line 3041
            aload 6 /* pts */
            iload 7 /* i */
            aaload
            iconst_0
            aload 5 /* buffer */
            iload 3 /* isVargArgs */
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendTypeSignatureForAnchor:([CILjava/lang/StringBuffer;Z)I
            pop
        13: .line 3042
            goto 15
        14: .line 3043
      StackMap locals:
      StackMap stack:
            aload 6 /* pts */
            iload 7 /* i */
            aaload
            iconst_0
            aload 5 /* buffer */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendTypeSignatureForAnchor:([CILjava/lang/StringBuffer;Z)I
            pop
        15: .line 3045
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            aload 6 /* pts */
            arraylength
            iconst_1
            isub
            if_icmpeq 18
        16: .line 3046
            aload 5 /* buffer */
            bipush 44
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        17: .line 3047
            aload 5 /* buffer */
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        18: .line 3039
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 7 /* i */
            iload 8 /* max */
            if_icmplt 11
        end local 8 // int max
        end local 7 // int i
        20: .line 3050
            aload 5 /* buffer */
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        21: .line 3051
            aload 5 /* buffer */
            invokevirtual java.lang.StringBuffer.length:()I
            newarray 5
            astore 7 /* result */
        start local 7 // char[] result
        22: .line 3052
            aload 5 /* buffer */
            iconst_0
            aload 5 /* buffer */
            invokevirtual java.lang.StringBuffer.length:()I
            aload 7 /* result */
            iconst_0
            invokevirtual java.lang.StringBuffer.getChars:(II[CI)V
        23: .line 3053
            aload 7 /* result */
            areturn
        end local 7 // char[] result
        end local 6 // char[][] pts
        end local 5 // java.lang.StringBuffer buffer
        end local 4 // int firstParen
        end local 3 // boolean isVargArgs
        end local 2 // char[] methodName
        end local 1 // char[] methodSignature
        end local 0 // int startingIndex
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   24     0    startingIndex  I
            0   24     1  methodSignature  [C
            0   24     2       methodName  [C
            0   24     3       isVargArgs  Z
            1   24     4       firstParen  I
            4   24     5           buffer  Ljava/lang/StringBuffer;
            8   24     6              pts  [[C
            9   20     7                i  I
           10   20     8              max  I
           22   24     7           result  [C
    MethodParameters:
                 Name  Flags
      startingIndex    
      methodSignature  
      methodName       
      isVargArgs       

  private static int appendTypeSignatureForAnchor(char[], int, java.lang.StringBuffer, boolean);
    descriptor: ([CILjava/lang/StringBuffer;Z)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // char[] string
        start local 1 // int start
        start local 2 // java.lang.StringBuffer buffer
        start local 3 // boolean isVarArgs
         0: .line 3058
            iload 1 /* start */
            aload 0 /* string */
            arraylength
            if_icmplt 2
         1: .line 3059
            aload 0 /* string */
            iload 1 /* start */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newIllegalArgumentException:([CI)Ljava/lang/IllegalArgumentException;
            athrow
         2: .line 3061
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            caload
            istore 4 /* c */
        start local 4 // char c
         3: .line 3062
            iload 3 /* isVarArgs */
            ifeq 7
         4: .line 3063
            iload 4 /* c */
            lookupswitch { // 16
                   33: 6
                   42: 6
                   43: 6
                   45: 6
                   66: 6
                   67: 6
                   68: 6
                   70: 6
                   73: 6
                   74: 6
                   76: 6
                   83: 6
                   84: 6
                   86: 6
                   90: 6
                   91: 5
              default: 6
          }
         5: .line 3065
      StackMap locals: int
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            aload 2 /* buffer */
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendArrayTypeSignatureForAnchor:([CILjava/lang/StringBuffer;Z)I
            ireturn
         6: .line 3083
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            iload 4 /* c */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newUnexpectedCharacterException:([CIC)Ljava/lang/IllegalArgumentException;
            athrow
         7: .line 3086
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            lookupswitch { // 16
                   33: 31
                   42: 32
                   43: 32
                   45: 32
                   66: 15
                   67: 17
                   68: 19
                   70: 21
                   73: 23
                   74: 25
                   76: 9
                   83: 27
                   84: 10
                   86: 29
                   90: 13
                   91: 8
              default: 33
          }
         8: .line 3088
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            aload 2 /* buffer */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendArrayTypeSignatureForAnchor:([CILjava/lang/StringBuffer;Z)I
            ireturn
         9: .line 3090
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            aload 2 /* buffer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendClassTypeSignatureForAnchor:([CILjava/lang/StringBuffer;)I
            ireturn
        10: .line 3092
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.scanTypeVariableSignature:([CI)I
            istore 5 /* e */
        start local 5 // int e
        11: .line 3093
            aload 2 /* buffer */
            aload 0 /* string */
            iload 1 /* start */
            iconst_1
            iadd
            iload 5 /* e */
            iload 1 /* start */
            isub
            iconst_1
            isub
            invokevirtual java.lang.StringBuffer.append:([CII)Ljava/lang/StringBuffer;
            pop
        12: .line 3094
            iload 5 /* e */
            ireturn
        end local 5 // int e
        13: .line 3096
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.BOOLEAN:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        14: .line 3097
            iload 1 /* start */
            ireturn
        15: .line 3099
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.BYTE:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        16: .line 3100
            iload 1 /* start */
            ireturn
        17: .line 3102
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.CHAR:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        18: .line 3103
            iload 1 /* start */
            ireturn
        19: .line 3105
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.DOUBLE:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        20: .line 3106
            iload 1 /* start */
            ireturn
        21: .line 3108
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.FLOAT:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        22: .line 3109
            iload 1 /* start */
            ireturn
        23: .line 3111
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.INT:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        24: .line 3112
            iload 1 /* start */
            ireturn
        25: .line 3114
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.LONG:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        26: .line 3115
            iload 1 /* start */
            ireturn
        27: .line 3117
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.SHORT:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        28: .line 3118
            iload 1 /* start */
            ireturn
        29: .line 3120
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.util.Util.VOID:[C
            invokevirtual java.lang.StringBuffer.append:([C)Ljava/lang/StringBuffer;
            pop
        30: .line 3121
            iload 1 /* start */
            ireturn
        31: .line 3123
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            aload 2 /* buffer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendCaptureTypeSignatureForAnchor:([CILjava/lang/StringBuffer;)I
            ireturn
        32: .line 3127
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            aload 2 /* buffer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendTypeArgumentSignatureForAnchor:([CILjava/lang/StringBuffer;)I
            ireturn
        33: .line 3129
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newIllegalArgumentException:([CI)Ljava/lang/IllegalArgumentException;
            athrow
        end local 4 // char c
        end local 3 // boolean isVarArgs
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // int start
        end local 0 // char[] string
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   34     0     string  [C
            0   34     1      start  I
            0   34     2     buffer  Ljava/lang/StringBuffer;
            0   34     3  isVarArgs  Z
            3   34     4          c  C
           11   13     5          e  I
    MethodParameters:
           Name  Flags
      string     
      start      
      buffer     
      isVarArgs  

  private static int appendTypeArgumentSignatureForAnchor(char[], int, java.lang.StringBuffer);
    descriptor: ([CILjava/lang/StringBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // char[] string
        start local 1 // int start
        start local 2 // java.lang.StringBuffer buffer
         0: .line 3136
            iload 1 /* start */
            aload 0 /* string */
            arraylength
            if_icmplt 2
         1: .line 3137
            aload 0 /* string */
            iload 1 /* start */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newIllegalArgumentException:([CI)Ljava/lang/IllegalArgumentException;
            athrow
         2: .line 3139
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            caload
            istore 3 /* c */
        start local 3 // char c
         3: .line 3140
            iload 3 /* c */
            tableswitch { // 42 - 45
                   42: 4
                   43: 5
                   44: 7
                   45: 6
              default: 7
          }
         4: .line 3142
      StackMap locals: int
      StackMap stack:
            iload 1 /* start */
            ireturn
         5: .line 3144
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            iconst_1
            iadd
            aload 2 /* buffer */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendTypeSignatureForAnchor:([CILjava/lang/StringBuffer;Z)I
            ireturn
         6: .line 3146
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            iconst_1
            iadd
            aload 2 /* buffer */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendTypeSignatureForAnchor:([CILjava/lang/StringBuffer;Z)I
            ireturn
         7: .line 3148
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            aload 2 /* buffer */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendTypeSignatureForAnchor:([CILjava/lang/StringBuffer;Z)I
            ireturn
        end local 3 // char c
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // int start
        end local 0 // char[] string
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  string  [C
            0    8     1   start  I
            0    8     2  buffer  Ljava/lang/StringBuffer;
            3    8     3       c  C
    MethodParameters:
        Name  Flags
      string  
      start   
      buffer  

  private static int appendCaptureTypeSignatureForAnchor(char[], int, java.lang.StringBuffer);
    descriptor: ([CILjava/lang/StringBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // char[] string
        start local 1 // int start
        start local 2 // java.lang.StringBuffer buffer
         0: .line 3153
            iload 1 /* start */
            aload 0 /* string */
            arraylength
            iconst_1
            isub
            if_icmplt 2
         1: .line 3154
            aload 0 /* string */
            iload 1 /* start */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newIllegalArgumentException:([CI)Ljava/lang/IllegalArgumentException;
            athrow
         2: .line 3156
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            caload
            istore 3 /* c */
        start local 3 // char c
         3: .line 3157
            iload 3 /* c */
            bipush 33
            if_icmpeq 5
         4: .line 3158
            aload 0 /* string */
            iload 1 /* start */
            iload 3 /* c */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newUnexpectedCharacterException:([CIC)Ljava/lang/IllegalArgumentException;
            athrow
         5: .line 3160
      StackMap locals: int
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            iconst_1
            iadd
            aload 2 /* buffer */
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendTypeArgumentSignatureForAnchor:([CILjava/lang/StringBuffer;)I
            ireturn
        end local 3 // char c
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // int start
        end local 0 // char[] string
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  string  [C
            0    6     1   start  I
            0    6     2  buffer  Ljava/lang/StringBuffer;
            3    6     3       c  C
    MethodParameters:
        Name  Flags
      string  
      start   
      buffer  

  private static int appendArrayTypeSignatureForAnchor(char[], int, java.lang.StringBuffer, boolean);
    descriptor: ([CILjava/lang/StringBuffer;Z)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // char[] string
        start local 1 // int start
        start local 2 // java.lang.StringBuffer buffer
        start local 3 // boolean isVarArgs
         0: .line 3163
            aload 0 /* string */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         1: .line 3165
            iload 1 /* start */
            iload 4 /* length */
            iconst_1
            isub
            if_icmplt 3
         2: .line 3166
            aload 0 /* string */
            iload 1 /* start */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newIllegalArgumentException:([CI)Ljava/lang/IllegalArgumentException;
            athrow
         3: .line 3168
      StackMap locals: int
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            caload
            istore 5 /* c */
        start local 5 // char c
         4: .line 3169
            iload 5 /* c */
            bipush 91
            if_icmpeq 6
         5: .line 3170
            aload 0 /* string */
            iload 1 /* start */
            iload 5 /* c */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newUnexpectedCharacterException:([CIC)Ljava/lang/IllegalArgumentException;
            athrow
         6: .line 3173
      StackMap locals: int
      StackMap stack:
            iload 1 /* start */
            istore 6 /* index */
        start local 6 // int index
         7: .line 3174
            aload 0 /* string */
            iinc 6 /* index */ 1
            iload 6 /* index */
            caload
            istore 5 /* c */
         8: .line 3175
            goto 12
         9: .line 3177
      StackMap locals: int
      StackMap stack:
            iload 6 /* index */
            iload 4 /* length */
            iconst_1
            isub
            if_icmplt 11
        10: .line 3178
            aload 0 /* string */
            iload 1 /* start */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newIllegalArgumentException:([CI)Ljava/lang/IllegalArgumentException;
            athrow
        11: .line 3180
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iinc 6 /* index */ 1
            iload 6 /* index */
            caload
            istore 5 /* c */
        12: .line 3175
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            bipush 91
            if_icmpeq 9
        13: .line 3183
            aload 0 /* string */
            iload 6 /* index */
            aload 2 /* buffer */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.util.Util.appendTypeSignatureForAnchor:([CILjava/lang/StringBuffer;Z)I
            istore 7 /* e */
        start local 7 // int e
        14: .line 3185
            iconst_1
            istore 8 /* i */
        start local 8 // int i
        15: iload 6 /* index */
            iload 1 /* start */
            isub
            istore 9 /* dims */
        start local 9 // int dims
        16: goto 19
        17: .line 3186
      StackMap locals: int int int
      StackMap stack:
            aload 2 /* buffer */
            bipush 91
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            bipush 93
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        18: .line 3185
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 8 /* i */
            iload 9 /* dims */
            if_icmplt 17
        end local 9 // int dims
        end local 8 // int i
        20: .line 3189
            iload 3 /* isVarArgs */
            ifeq 23
        21: .line 3190
            aload 2 /* buffer */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        22: .line 3191
            goto 24
        23: .line 3192
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            bipush 91
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            bipush 93
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        24: .line 3194
      StackMap locals:
      StackMap stack:
            iload 7 /* e */
            ireturn
        end local 7 // int e
        end local 6 // int index
        end local 5 // char c
        end local 4 // int length
        end local 3 // boolean isVarArgs
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // int start
        end local 0 // char[] string
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0     string  [C
            0   25     1      start  I
            0   25     2     buffer  Ljava/lang/StringBuffer;
            0   25     3  isVarArgs  Z
            1   25     4     length  I
            4   25     5          c  C
            7   25     6      index  I
           14   25     7          e  I
           15   20     8          i  I
           16   20     9       dims  I
    MethodParameters:
           Name  Flags
      string     
      start      
      buffer     
      isVarArgs  

  private static int appendClassTypeSignatureForAnchor(char[], int, java.lang.StringBuffer);
    descriptor: ([CILjava/lang/StringBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // char[] string
        start local 1 // int start
        start local 2 // java.lang.StringBuffer buffer
         0: .line 3198
            iload 1 /* start */
            aload 0 /* string */
            arraylength
            iconst_2
            isub
            if_icmplt 2
         1: .line 3199
            aload 0 /* string */
            iload 1 /* start */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newIllegalArgumentException:([CI)Ljava/lang/IllegalArgumentException;
            athrow
         2: .line 3202
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            caload
            istore 3 /* c */
        start local 3 // char c
         3: .line 3203
            iload 3 /* c */
            bipush 76
            if_icmpeq 5
            iload 3 /* c */
            bipush 81
            if_icmpeq 5
         4: .line 3204
            aload 0 /* string */
            iload 1 /* start */
            iload 3 /* c */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newUnexpectedCharacterException:([CIC)Ljava/lang/IllegalArgumentException;
            athrow
         5: .line 3206
      StackMap locals: int
      StackMap stack:
            iload 1 /* start */
            iconst_1
            iadd
            istore 4 /* p */
        start local 4 // int p
         6: .line 3208
      StackMap locals: int
      StackMap stack:
            iload 4 /* p */
            aload 0 /* string */
            arraylength
            if_icmplt 8
         7: .line 3209
            aload 0 /* string */
            iload 1 /* start */
            invokestatic org.eclipse.jdt.internal.core.util.Util.newIllegalArgumentException:([CI)Ljava/lang/IllegalArgumentException;
            athrow
         8: .line 3211
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 4 /* p */
            caload
            istore 3 /* c */
         9: .line 3212
            iload 3 /* c */
            lookupswitch { // 5
                   36: 18
                   46: 14
                   47: 16
                   59: 10
                   60: 11
              default: 20
          }
        10: .line 3215
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            ireturn
        11: .line 3217
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            iload 4 /* p */
            iconst_1
            iadd
            invokestatic org.eclipse.jdt.internal.core.util.Util.scanGenericEnd:([CI)I
            istore 5 /* e */
        start local 5 // int e
        12: .line 3219
            iload 5 /* e */
            istore 4 /* p */
        13: .line 3220
            goto 21
        end local 5 // int e
        14: .line 3222
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        15: .line 3223
            goto 21
        16: .line 3225
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            bipush 47
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        17: .line 3226
            goto 21
        18: .line 3235
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        19: .line 3236
            goto 21
        20: .line 3238
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            iload 3 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        21: .line 3240
      StackMap locals:
      StackMap stack:
            iinc 4 /* p */ 1
        22: .line 3207
            goto 6
        end local 4 // int p
        end local 3 // char c
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // int start
        end local 0 // char[] string
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0  string  [C
            0   23     1   start  I
            0   23     2  buffer  Ljava/lang/StringBuffer;
            3   23     3       c  C
            6   23     4       p  I
           12   14     5       e  I
    MethodParameters:
        Name  Flags
      string  
      start   
      buffer  

  private static java.lang.IllegalArgumentException newIllegalArgumentException(char[], int);
    descriptor: ([CI)Ljava/lang/IllegalArgumentException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // char[] string
        start local 1 // int index
         0: .line 3245
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* string */
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\" at "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // int index
        end local 0 // char[] string
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  string  [C
            0    1     1   index  I
    MethodParameters:
        Name  Flags
      string  
      index   

  private static java.lang.IllegalArgumentException newUnexpectedCharacterException(char[], int, char);
    descriptor: ([CIC)Ljava/lang/IllegalArgumentException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // char[] string
        start local 1 // int start
        start local 2 // char unexpected
         0: .line 3249
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* unexpected */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "' in \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* string */
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\" starting at "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* start */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            areturn
        end local 2 // char unexpected
        end local 1 // int start
        end local 0 // char[] string
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0      string  [C
            0    1     1       start  I
            0    1     2  unexpected  C
    MethodParameters:
            Name  Flags
      string      
      start       
      unexpected  

  private static int scanGenericEnd(char[], int);
    descriptor: ([CI)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // char[] string
        start local 1 // int start
         0: .line 3253
            aload 0 /* string */
            iload 1 /* start */
            caload
            bipush 62
            if_icmpne 2
         1: .line 3254
            iload 1 /* start */
            ireturn
         2: .line 3256
      StackMap locals:
      StackMap stack:
            aload 0 /* string */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         3: .line 3257
            iconst_1
            istore 3 /* balance */
        start local 3 // int balance
         4: .line 3258
            iinc 1 /* start */ 1
         5: .line 3259
            goto 12
         6: .line 3260
      StackMap locals: int int
      StackMap stack:
            aload 0 /* string */
            iload 1 /* start */
            caload
            tableswitch { // 60 - 62
                   60: 10
                   61: 11
                   62: 7
              default: 11
          }
         7: .line 3262
      StackMap locals:
      StackMap stack:
            iinc 3 /* balance */ -1
         8: .line 3263
            iload 3 /* balance */
            ifne 11
         9: .line 3264
            iload 1 /* start */
            ireturn
        10: .line 3268
      StackMap locals:
      StackMap stack:
            iinc 3 /* balance */ 1
        11: .line 3271
      StackMap locals:
      StackMap stack:
            iinc 1 /* start */ 1
        12: .line 3259
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            iload 2 /* length */
            if_icmple 6
        13: .line 3273
            iload 1 /* start */
            ireturn
        end local 3 // int balance
        end local 2 // int length
        end local 1 // int start
        end local 0 // char[] string
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0   string  [C
            0   14     1    start  I
            3   14     2   length  I
            4   14     3  balance  I
    MethodParameters:
        Name  Flags
      string  
      start   

  public static void fixTaskTags(java.util.Map);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // java.util.Map defaultOptionsMap
         0: .line 3280
            aload 0 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.compiler.taskTags"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* taskTagsValue */
        start local 1 // java.lang.Object taskTagsValue
         1: .line 3281
            aconst_null
            astore 2 /* taskTags */
        start local 2 // char[][] taskTags
         2: .line 3282
            aload 1 /* taskTagsValue */
            instanceof java.lang.String
            ifeq 4
         3: .line 3283
            bipush 44
            aload 1 /* taskTagsValue */
            checkcast java.lang.String
            invokevirtual java.lang.String.toCharArray:()[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitAndTrimOn:(C[C)[[C
            astore 2 /* taskTags */
         4: .line 3285
      StackMap locals: java.lang.Object char[][]
      StackMap stack:
            aload 0 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.compiler.taskPriorities"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* taskPrioritiesValue */
        start local 3 // java.lang.Object taskPrioritiesValue
         5: .line 3286
            aconst_null
            astore 4 /* taskPriorities */
        start local 4 // char[][] taskPriorities
         6: .line 3287
            aload 3 /* taskPrioritiesValue */
            instanceof java.lang.String
            ifeq 8
         7: .line 3288
            bipush 44
            aload 3 /* taskPrioritiesValue */
            checkcast java.lang.String
            invokevirtual java.lang.String.toCharArray:()[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitAndTrimOn:(C[C)[[C
            astore 4 /* taskPriorities */
         8: .line 3290
      StackMap locals: java.lang.Object char[][]
      StackMap stack:
            aload 4 /* taskPriorities */
            ifnonnull 13
         9: .line 3291
            aload 2 /* taskTags */
            ifnull 12
        10: .line 3292
            ldc "TASK_PRIORITIES_PB"
            iconst_4
            ldc "Inconsistent values for taskTags (not null) and task priorities (null)"
            invokestatic org.eclipse.jdt.internal.core.util.Util.logRepeatedMessage:(Ljava/lang/String;ILjava/lang/String;)V
        11: .line 3293
            aload 0 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.compiler.taskTags"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 3295
      StackMap locals:
      StackMap stack:
            return
        13: .line 3296
      StackMap locals:
      StackMap stack:
            aload 2 /* taskTags */
            ifnonnull 17
        14: .line 3297
            ldc "TASK_PRIORITIES_PB"
            iconst_4
            ldc "Inconsistent values for taskTags (null) and task priorities (not null)"
            invokestatic org.eclipse.jdt.internal.core.util.Util.logRepeatedMessage:(Ljava/lang/String;ILjava/lang/String;)V
        15: .line 3298
            aload 0 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.compiler.taskPriorities"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 3299
            return
        17: .line 3301
      StackMap locals:
      StackMap stack:
            aload 2 /* taskTags */
            arraylength
            istore 5 /* taskTagsLength */
        start local 5 // int taskTagsLength
        18: .line 3302
            aload 4 /* taskPriorities */
            arraylength
            istore 6 /* taskPrioritiesLength */
        start local 6 // int taskPrioritiesLength
        19: .line 3303
            iload 5 /* taskTagsLength */
            iload 6 /* taskPrioritiesLength */
            if_icmpeq 27
        20: .line 3304
            ldc "TASK_PRIORITIES_PB"
            iconst_4
            ldc "Inconsistent values for taskTags and task priorities : length is different"
            invokestatic org.eclipse.jdt.internal.core.util.Util.logRepeatedMessage:(Ljava/lang/String;ILjava/lang/String;)V
        21: .line 3305
            iload 5 /* taskTagsLength */
            iload 6 /* taskPrioritiesLength */
            if_icmple 25
        22: .line 3306
            aload 2 /* taskTags */
            iconst_0
            iload 6 /* taskPrioritiesLength */
            anewarray char[]
            dup
            astore 2 /* taskTags */
            iconst_0
            iload 6 /* taskPrioritiesLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 3307
            aload 0 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.compiler.taskTags"
            new java.lang.String
            dup
            aload 2 /* taskTags */
            bipush 44
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            invokespecial java.lang.String.<init>:([C)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 3308
            goto 27
        25: .line 3309
      StackMap locals: int int
      StackMap stack:
            aload 4 /* taskPriorities */
            iconst_0
            iload 5 /* taskTagsLength */
            anewarray char[]
            dup
            astore 4 /* taskPriorities */
            iconst_0
            iload 5 /* taskTagsLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        26: .line 3310
            aload 0 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.compiler.taskPriorities"
            new java.lang.String
            dup
            aload 4 /* taskPriorities */
            bipush 44
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.concatWith:([[CC)[C
            invokespecial java.lang.String.<init>:([C)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 3313
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int taskPrioritiesLength
        end local 5 // int taskTagsLength
        end local 4 // char[][] taskPriorities
        end local 3 // java.lang.Object taskPrioritiesValue
        end local 2 // char[][] taskTags
        end local 1 // java.lang.Object taskTagsValue
        end local 0 // java.util.Map defaultOptionsMap
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   28     0     defaultOptionsMap  Ljava/util/Map;
            1   28     1         taskTagsValue  Ljava/lang/Object;
            2   28     2              taskTags  [[C
            5   28     3   taskPrioritiesValue  Ljava/lang/Object;
            6   28     4        taskPriorities  [[C
           18   28     5        taskTagsLength  I
           19   28     6  taskPrioritiesLength  I
    MethodParameters:
                   Name  Flags
      defaultOptionsMap  

  public static org.eclipse.jdt.core.IMethod findMethod(org.eclipse.jdt.core.IType, char[], java.lang.String[], boolean);
    descriptor: (Lorg/eclipse/jdt/core/IType;[C[Ljava/lang/String;Z)Lorg/eclipse/jdt/core/IMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // org.eclipse.jdt.core.IType type
        start local 1 // char[] selector
        start local 2 // java.lang.String[] paramTypeSignatures
        start local 3 // boolean isConstructor
         0: .line 3325
            aconst_null
            astore 4 /* method */
        start local 4 // org.eclipse.jdt.core.IMethod method
         1: .line 3326
            iconst_0
            istore 5 /* startingIndex */
        start local 5 // int startingIndex
         2: .line 3328
            aload 0 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            astore 7 /* enclosingType */
        start local 7 // org.eclipse.jdt.core.IType enclosingType
         3: .line 3331
            aload 7 /* enclosingType */
            ifnull 10
         4: .line 3332
            iload 3 /* isConstructor */
            ifeq 10
         5: .line 3333
            aload 0 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getFlags:()I
            invokestatic org.eclipse.jdt.core.Flags.isStatic:(I)Z
            ifne 10
         6: .line 3334
            aload 2 /* paramTypeSignatures */
            arraylength
            iconst_1
            iadd
            anewarray java.lang.String
            astore 6 /* args */
        start local 6 // java.lang.String[] args
         7: .line 3335
            iconst_1
            istore 5 /* startingIndex */
         8: .line 3336
            aload 6 /* args */
            iconst_0
            aload 7 /* enclosingType */
            invokeinterface org.eclipse.jdt.core.IType.getFullyQualifiedName:()Ljava/lang/String;
            iconst_1
            invokestatic org.eclipse.jdt.core.Signature.createTypeSignature:(Ljava/lang/String;Z)Ljava/lang/String;
            aastore
         9: .line 3337
            goto 11
        end local 6 // java.lang.String[] args
        10: .line 3338
      StackMap locals: org.eclipse.jdt.core.IType char[] java.lang.String[] int org.eclipse.jdt.core.IMethod int top org.eclipse.jdt.core.IType
      StackMap stack:
            aload 2 /* paramTypeSignatures */
            arraylength
            anewarray java.lang.String
            astore 6 /* args */
        start local 6 // java.lang.String[] args
        11: .line 3340
      StackMap locals: org.eclipse.jdt.core.IType char[] java.lang.String[] int org.eclipse.jdt.core.IMethod int java.lang.String[] org.eclipse.jdt.core.IType
      StackMap stack:
            aload 6 /* args */
            arraylength
            istore 8 /* length */
        start local 8 // int length
        12: .line 3341
            iload 5 /* startingIndex */
            istore 9 /* i */
        start local 9 // int i
        13: goto 16
        14: .line 3342
      StackMap locals: int int
      StackMap stack:
            aload 6 /* args */
            iload 9 /* i */
            aload 2 /* paramTypeSignatures */
            iload 9 /* i */
            iload 5 /* startingIndex */
            isub
            aaload
            aastore
        15: .line 3341
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 9 /* i */
            iload 8 /* length */
            if_icmplt 14
        end local 9 // int i
        17: .line 3344
            aload 0 /* type */
            new java.lang.String
            dup
            aload 1 /* selector */
            invokespecial java.lang.String.<init>:([C)V
            aload 6 /* args */
            invokeinterface org.eclipse.jdt.core.IType.getMethod:(Ljava/lang/String;[Ljava/lang/String;)Lorg/eclipse/jdt/core/IMethod;
            astore 4 /* method */
        18: .line 3346
            aload 0 /* type */
            aload 4 /* method */
            invokeinterface org.eclipse.jdt.core.IType.findMethods:(Lorg/eclipse/jdt/core/IMethod;)[Lorg/eclipse/jdt/core/IMethod;
            astore 9 /* methods */
        start local 9 // org.eclipse.jdt.core.IMethod[] methods
        19: .line 3347
            aload 9 /* methods */
            ifnull 21
            aload 9 /* methods */
            arraylength
            ifle 21
        20: .line 3348
            aload 9 /* methods */
            iconst_0
            aaload
            astore 4 /* method */
        21: .line 3350
      StackMap locals: org.eclipse.jdt.core.IType char[] java.lang.String[] int org.eclipse.jdt.core.IMethod int java.lang.String[] org.eclipse.jdt.core.IType int org.eclipse.jdt.core.IMethod[]
      StackMap stack:
            aload 4 /* method */
            areturn
        end local 9 // org.eclipse.jdt.core.IMethod[] methods
        end local 8 // int length
        end local 7 // org.eclipse.jdt.core.IType enclosingType
        end local 6 // java.lang.String[] args
        end local 5 // int startingIndex
        end local 4 // org.eclipse.jdt.core.IMethod method
        end local 3 // boolean isConstructor
        end local 2 // java.lang.String[] paramTypeSignatures
        end local 1 // char[] selector
        end local 0 // org.eclipse.jdt.core.IType type
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   22     0                 type  Lorg/eclipse/jdt/core/IType;
            0   22     1             selector  [C
            0   22     2  paramTypeSignatures  [Ljava/lang/String;
            0   22     3        isConstructor  Z
            1   22     4               method  Lorg/eclipse/jdt/core/IMethod;
            2   22     5        startingIndex  I
            7   10     6                 args  [Ljava/lang/String;
           11   22     6                 args  [Ljava/lang/String;
            3   22     7        enclosingType  Lorg/eclipse/jdt/core/IType;
           12   22     8               length  I
           13   17     9                    i  I
           19   22     9              methods  [Lorg/eclipse/jdt/core/IMethod;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                     Name  Flags
      type                 
      selector             
      paramTypeSignatures  
      isConstructor        
}
SourceFile: "Util.java"
NestMembers:
  org.eclipse.jdt.internal.core.util.Util$1  org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap  org.eclipse.jdt.internal.core.util.Util$Comparable  org.eclipse.jdt.internal.core.util.Util$Comparer
InnerClasses:
  public Code = org.eclipse.jdt.core.dom.PrimitiveType$Code of org.eclipse.jdt.core.dom.PrimitiveType
  org.eclipse.jdt.internal.core.util.Util$1
  public abstract BindingsToNodesMap = org.eclipse.jdt.internal.core.util.Util$BindingsToNodesMap of org.eclipse.jdt.internal.core.util.Util
  public abstract Comparable = org.eclipse.jdt.internal.core.util.Util$Comparable of org.eclipse.jdt.internal.core.util.Util
  public abstract Comparer = org.eclipse.jdt.internal.core.util.Util$Comparer of org.eclipse.jdt.internal.core.util.Util