public class org.eclipse.jdt.internal.core.JavaProject extends org.eclipse.jdt.internal.core.Openable implements org.eclipse.jdt.core.IJavaProject, org.eclipse.core.resources.IProjectNature, org.eclipse.jdt.internal.compiler.util.SuffixConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.JavaProject
  super_class: org.eclipse.jdt.internal.core.Openable
{
  public static final java.lang.String CLASSPATH_FILENAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: ".classpath"

  public static final org.eclipse.jdt.core.IClasspathEntry[] INVALID_CLASSPATH;
    descriptor: [Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  protected static final boolean IS_CASE_SENSITIVE;
    descriptor: Z
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String[] NO_PREREQUISITES;
    descriptor: [Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

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

  public static final java.lang.String DEFAULT_PREFERENCES_DIRNAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: ".settings"

  public static final java.lang.String JAVA_CORE_PREFS_FILE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core.prefs"

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

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

  protected org.eclipse.core.resources.IProject project;
    descriptor: Lorg/eclipse/core/resources/IProject;
    flags: (0x0004) ACC_PROTECTED

  private org.eclipse.core.runtime.preferences.IEclipsePreferences$INodeChangeListener preferencesNodeListener;
    descriptor: Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener preferencesChangeListener;
    descriptor: Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 144
            iconst_0
            anewarray org.eclipse.jdt.core.IClasspathEntry
            putstatic org.eclipse.jdt.internal.core.JavaProject.INVALID_CLASSPATH:[Lorg/eclipse/jdt/core/IClasspathEntry;
         1: .line 149
            new java.io.File
            dup
            ldc "Temp"
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            new java.io.File
            dup
            ldc "temp"
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.equals:(Ljava/lang/Object;)Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: putstatic org.eclipse.jdt.internal.core.JavaProject.IS_CASE_SENSITIVE:Z
         4: .line 154
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            putstatic org.eclipse.jdt.internal.core.JavaProject.NO_PREREQUISITES:[Ljava/lang/String;
         5: .line 175
            iconst_0
            anewarray org.eclipse.jdt.core.IClasspathEntry
            putstatic org.eclipse.jdt.internal.core.JavaProject.RESOLUTION_IN_PROGRESS:[Lorg/eclipse/jdt/core/IClasspathEntry;
         6: .line 180
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 204
            aload 0 /* this */
            aconst_null
            invokespecial org.eclipse.jdt.internal.core.Openable.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;)V
         1: .line 205
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

  public void <init>(org.eclipse.core.resources.IProject, org.eclipse.jdt.internal.core.JavaElement);
    descriptor: (Lorg/eclipse/core/resources/IProject;Lorg/eclipse/jdt/internal/core/JavaElement;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.resources.IProject project
        start local 2 // org.eclipse.jdt.internal.core.JavaElement parent
         0: .line 208
            aload 0 /* this */
            aload 2 /* parent */
            invokespecial org.eclipse.jdt.internal.core.Openable.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;)V
         1: .line 209
            aload 0 /* this */
            aload 1 /* project */
            putfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
         2: .line 210
            return
        end local 2 // org.eclipse.jdt.internal.core.JavaElement parent
        end local 1 // org.eclipse.core.resources.IProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    3     1  project  Lorg/eclipse/core/resources/IProject;
            0    3     2   parent  Lorg/eclipse/jdt/internal/core/JavaElement;
    MethodParameters:
         Name  Flags
      project  
      parent   

  public static synchronized void addCPResolutionBPListener(org.eclipse.jdt.internal.core.JavaProject$ClasspathResolutionBreakpointListener);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaProject$ClasspathResolutionBreakpointListener;)V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject$ClasspathResolutionBreakpointListener listener
         0: .line 216
            getstatic org.eclipse.jdt.internal.core.JavaProject.CP_RESOLUTION_BP_LISTENERS:Ljava/util/ArrayList;
            ifnonnull 2
         1: .line 217
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putstatic org.eclipse.jdt.internal.core.JavaProject.CP_RESOLUTION_BP_LISTENERS:Ljava/util/ArrayList;
         2: .line 218
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaProject.CP_RESOLUTION_BP_LISTENERS:Ljava/util/ArrayList;
            aload 0 /* listener */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         3: .line 219
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaProject$ClasspathResolutionBreakpointListener listener
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  listener  Lorg/eclipse/jdt/internal/core/JavaProject$ClasspathResolutionBreakpointListener;
    MethodParameters:
          Name  Flags
      listener  

  public static synchronized void removeCPResolutionBPListener(org.eclipse.jdt.internal.core.JavaProject$ClasspathResolutionBreakpointListener);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaProject$ClasspathResolutionBreakpointListener;)V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject$ClasspathResolutionBreakpointListener listener
         0: .line 225
            getstatic org.eclipse.jdt.internal.core.JavaProject.CP_RESOLUTION_BP_LISTENERS:Ljava/util/ArrayList;
            ifnonnull 2
         1: .line 226
            return
         2: .line 227
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaProject.CP_RESOLUTION_BP_LISTENERS:Ljava/util/ArrayList;
            aload 0 /* listener */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         3: .line 228
            getstatic org.eclipse.jdt.internal.core.JavaProject.CP_RESOLUTION_BP_LISTENERS:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ifne 5
         4: .line 229
            aconst_null
            putstatic org.eclipse.jdt.internal.core.JavaProject.CP_RESOLUTION_BP_LISTENERS:Ljava/util/ArrayList;
         5: .line 230
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaProject$ClasspathResolutionBreakpointListener listener
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0  listener  Lorg/eclipse/jdt/internal/core/JavaProject$ClasspathResolutionBreakpointListener;
    MethodParameters:
          Name  Flags
      listener  

  private static synchronized org.eclipse.jdt.internal.core.JavaProject$ClasspathResolutionBreakpointListener[] getBPListeners();
    descriptor: ()[Lorg/eclipse/jdt/internal/core/JavaProject$ClasspathResolutionBreakpointListener;
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=0, args_size=0
         0: .line 233
            getstatic org.eclipse.jdt.internal.core.JavaProject.CP_RESOLUTION_BP_LISTENERS:Ljava/util/ArrayList;
            ifnonnull 2
         1: .line 234
            aconst_null
            areturn
         2: .line 235
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaProject.CP_RESOLUTION_BP_LISTENERS:Ljava/util/ArrayList;
            getstatic org.eclipse.jdt.internal.core.JavaProject.CP_RESOLUTION_BP_LISTENERS:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.jdt.internal.core.JavaProject$ClasspathResolutionBreakpointListener
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaProject$ClasspathResolutionBreakpointListener[]
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void breakpoint(int, org.eclipse.jdt.internal.core.JavaProject);
    descriptor: (ILorg/eclipse/jdt/internal/core/JavaProject;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // int bp
        start local 1 // org.eclipse.jdt.internal.core.JavaProject project
         0: .line 239
            invokestatic org.eclipse.jdt.internal.core.JavaProject.getBPListeners:()[Lorg/eclipse/jdt/internal/core/JavaProject$ClasspathResolutionBreakpointListener;
            astore 2 /* listeners */
        start local 2 // org.eclipse.jdt.internal.core.JavaProject$ClasspathResolutionBreakpointListener[] listeners
         1: .line 240
            aload 2 /* listeners */
            ifnonnull 3
         2: .line 241
            return
         3: .line 242
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject$ClasspathResolutionBreakpointListener[]
      StackMap stack:
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         4: aload 2 /* listeners */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         5: goto 8
         6: .line 243
      StackMap locals: int int
      StackMap stack:
            aload 2 /* listeners */
            iload 3 /* j */
            aaload
            iload 0 /* bp */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject$ClasspathResolutionBreakpointListener.breakpoint:(I)V
         7: .line 242
            iinc 3 /* j */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* j */
            iload 4 /* length */
            if_icmplt 6
        end local 4 // int length
        end local 3 // int j
         9: .line 245
            return
        end local 2 // org.eclipse.jdt.internal.core.JavaProject$ClasspathResolutionBreakpointListener[] listeners
        end local 1 // org.eclipse.jdt.internal.core.JavaProject project
        end local 0 // int bp
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0         bp  I
            0   10     1    project  Lorg/eclipse/jdt/internal/core/JavaProject;
            1   10     2  listeners  [Lorg/eclipse/jdt/internal/core/JavaProject$ClasspathResolutionBreakpointListener;
            4    9     3          j  I
            5    9     4     length  I
    MethodParameters:
         Name  Flags
      bp       
      project  

  public static boolean areClasspathsEqual(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IPath);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.core.IClasspathEntry[] firstClasspath
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] secondClasspath
        start local 2 // org.eclipse.core.runtime.IPath firstOutputLocation
        start local 3 // org.eclipse.core.runtime.IPath secondOutputLocation
         0: .line 250
            aload 0 /* firstClasspath */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         1: .line 251
            iload 4 /* length */
            aload 1 /* secondClasspath */
            arraylength
            if_icmpeq 2
            iconst_0
            ireturn
         2: .line 252
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 7
         4: .line 253
      StackMap locals: int
      StackMap stack:
            aload 0 /* firstClasspath */
            iload 5 /* i */
            aaload
            aload 1 /* secondClasspath */
            iload 5 /* i */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 254
            iconst_0
            ireturn
         6: .line 252
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            iload 4 /* length */
            if_icmplt 4
        end local 5 // int i
         8: .line 256
            aload 2 /* firstOutputLocation */
            ifnonnull 11
         9: .line 257
            aload 3 /* secondOutputLocation */
            ifnonnull 10
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_0
            ireturn
        11: .line 258
      StackMap locals:
      StackMap stack:
            aload 2 /* firstOutputLocation */
            aload 3 /* secondOutputLocation */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 4 // int length
        end local 3 // org.eclipse.core.runtime.IPath secondOutputLocation
        end local 2 // org.eclipse.core.runtime.IPath firstOutputLocation
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] secondClasspath
        end local 0 // org.eclipse.jdt.core.IClasspathEntry[] firstClasspath
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0        firstClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   12     1       secondClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   12     2   firstOutputLocation  Lorg/eclipse/core/runtime/IPath;
            0   12     3  secondOutputLocation  Lorg/eclipse/core/runtime/IPath;
            1   12     4                length  I
            3    8     5                     i  I
    MethodParameters:
                      Name  Flags
      firstClasspath        
      secondClasspath       
      firstOutputLocation   
      secondOutputLocation  

  private static boolean areClasspathsEqual(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathEntry[]);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathEntry;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.core.IClasspathEntry[] newClasspath
        start local 1 // org.eclipse.core.runtime.IPath newOutputLocation
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] otherClasspathWithOutput
         0: .line 271
            aload 2 /* otherClasspathWithOutput */
            ifnull 1
            aload 2 /* otherClasspathWithOutput */
            arraylength
            ifne 2
         1: .line 272
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 274
      StackMap locals:
      StackMap stack:
            aload 2 /* otherClasspathWithOutput */
            arraylength
            istore 3 /* length */
        start local 3 // int length
         3: .line 275
            iload 3 /* length */
            aload 0 /* newClasspath */
            arraylength
            iconst_1
            iadd
            if_icmpeq 5
         4: .line 277
            iconst_0
            ireturn
         5: .line 281
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 10
         7: .line 282
      StackMap locals: int
      StackMap stack:
            aload 2 /* otherClasspathWithOutput */
            iload 4 /* i */
            aaload
            aload 0 /* newClasspath */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 283
            iconst_0
            ireturn
         9: .line 281
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            iload 3 /* length */
            iconst_1
            isub
            if_icmplt 7
        end local 4 // int i
        11: .line 286
            aload 2 /* otherClasspathWithOutput */
            iload 3 /* length */
            iconst_1
            isub
            aaload
            astore 4 /* output */
        start local 4 // org.eclipse.jdt.core.IClasspathEntry output
        12: .line 287
            aload 4 /* output */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getContentKind:()I
            bipush 10
            if_icmpne 14
        13: .line 288
            aload 4 /* output */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 1 /* newOutputLocation */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifne 15
        14: .line 289
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IClasspathEntry[] int org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            iconst_0
            ireturn
        15: .line 290
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // org.eclipse.jdt.core.IClasspathEntry output
        end local 3 // int length
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] otherClasspathWithOutput
        end local 1 // org.eclipse.core.runtime.IPath newOutputLocation
        end local 0 // org.eclipse.jdt.core.IClasspathEntry[] newClasspath
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   16     0              newClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   16     1         newOutputLocation  Lorg/eclipse/core/runtime/IPath;
            0   16     2  otherClasspathWithOutput  [Lorg/eclipse/jdt/core/IClasspathEntry;
            3   16     3                    length  I
            6   11     4                         i  I
           12   16     4                    output  Lorg/eclipse/jdt/core/IClasspathEntry;
    MethodParameters:
                          Name  Flags
      newClasspath              
      newOutputLocation         
      otherClasspathWithOutput  

  private static boolean areClasspathsEqual(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.jdt.core.IClasspathEntry[]);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.core.IClasspathEntry[] first
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] second
         0: .line 294
            aload 0 /* first */
            aload 1 /* second */
            if_acmpeq 11
         1: .line 295
            aload 0 /* first */
            ifnonnull 2
            iconst_0
            ireturn
         2: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* first */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         3: .line 297
            aload 1 /* second */
            ifnull 4
            aload 1 /* second */
            arraylength
            iload 2 /* length */
            if_icmpeq 5
         4: .line 298
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
         5: .line 299
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 10
         7: .line 300
      StackMap locals: int
      StackMap stack:
            aload 0 /* first */
            iload 3 /* i */
            aaload
            aload 1 /* second */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 301
            iconst_0
            ireturn
         9: .line 299
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 7
        end local 3 // int i
        end local 2 // int length
        11: .line 304
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] second
        end local 0 // org.eclipse.jdt.core.IClasspathEntry[] first
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0   first  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   12     1  second  [Lorg/eclipse/jdt/core/IClasspathEntry;
            3   11     2  length  I
            6   11     3       i  I
    MethodParameters:
        Name  Flags
      first   
      second  

  public static org.eclipse.core.runtime.IPath canonicalizedPath(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.eclipse.core.runtime.IPath externalPath
         0: .line 317
            aload 0 /* externalPath */
            ifnonnull 2
         1: .line 318
            aconst_null
            areturn
         2: .line 320
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaProject.IS_CASE_SENSITIVE:Z
            ifeq 4
         3: .line 321
            aload 0 /* externalPath */
            areturn
         4: .line 325
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            astore 1 /* workspace */
        start local 1 // org.eclipse.core.resources.IWorkspace workspace
         5: .line 326
            aload 1 /* workspace */
            ifnonnull 6
            aload 0 /* externalPath */
            areturn
         6: .line 327
      StackMap locals: org.eclipse.core.resources.IWorkspace
      StackMap stack:
            aload 1 /* workspace */
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 0 /* externalPath */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.findMember:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
            ifnull 8
         7: .line 328
            aload 0 /* externalPath */
            areturn
         8: .line 331
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* canonicalPath */
        start local 2 // org.eclipse.core.runtime.IPath canonicalPath
         9: .line 334
            new org.eclipse.core.runtime.Path
            dup
            new java.io.File
            dup
            aload 0 /* externalPath */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
        10: .line 333
            astore 2 /* canonicalPath */
        11: .line 335
            goto 14
      StackMap locals: org.eclipse.core.runtime.IPath org.eclipse.core.resources.IWorkspace org.eclipse.core.runtime.IPath
      StackMap stack: java.io.IOException
        12: pop
        13: .line 337
            aload 0 /* externalPath */
            areturn
        14: .line 341
      StackMap locals:
      StackMap stack:
            aload 2 /* canonicalPath */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            istore 4 /* canonicalLength */
        start local 4 // int canonicalLength
        15: .line 342
            iload 4 /* canonicalLength */
            ifne 17
        16: .line 344
            aload 0 /* externalPath */
            areturn
        17: .line 345
      StackMap locals: org.eclipse.core.runtime.IPath org.eclipse.core.resources.IWorkspace org.eclipse.core.runtime.IPath top int
      StackMap stack:
            aload 0 /* externalPath */
            invokeinterface org.eclipse.core.runtime.IPath.isAbsolute:()Z
            ifeq 20
        18: .line 346
            aload 2 /* canonicalPath */
            astore 3 /* result */
        start local 3 // org.eclipse.core.runtime.IPath result
        19: .line 347
            goto 25
        end local 3 // org.eclipse.core.runtime.IPath result
        20: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* externalPath */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            istore 5 /* externalLength */
        start local 5 // int externalLength
        21: .line 351
            iload 4 /* canonicalLength */
            iload 5 /* externalLength */
            if_icmplt 24
        22: .line 352
            aload 2 /* canonicalPath */
            iload 4 /* canonicalLength */
            iload 5 /* externalLength */
            isub
            invokeinterface org.eclipse.core.runtime.IPath.removeFirstSegments:(I)Lorg/eclipse/core/runtime/IPath;
            astore 3 /* result */
        start local 3 // org.eclipse.core.runtime.IPath result
        23: .line 353
            goto 25
        end local 3 // org.eclipse.core.runtime.IPath result
        24: .line 354
      StackMap locals: int
      StackMap stack:
            aload 0 /* externalPath */
            areturn
        end local 5 // int externalLength
        start local 3 // org.eclipse.core.runtime.IPath result
        25: .line 359
      StackMap locals: org.eclipse.core.runtime.IPath org.eclipse.core.resources.IWorkspace org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath int
      StackMap stack:
            aload 0 /* externalPath */
            invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
            ifnonnull 27
        26: .line 360
            aload 3 /* result */
            aconst_null
            invokeinterface org.eclipse.core.runtime.IPath.setDevice:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 3 /* result */
        27: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* externalPath */
            invokeinterface org.eclipse.core.runtime.IPath.hasTrailingSeparator:()Z
            ifeq 29
        28: .line 364
            aload 3 /* result */
            invokeinterface org.eclipse.core.runtime.IPath.addTrailingSeparator:()Lorg/eclipse/core/runtime/IPath;
            astore 3 /* result */
        29: .line 366
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 4 // int canonicalLength
        end local 3 // org.eclipse.core.runtime.IPath result
        end local 2 // org.eclipse.core.runtime.IPath canonicalPath
        end local 1 // org.eclipse.core.resources.IWorkspace workspace
        end local 0 // org.eclipse.core.runtime.IPath externalPath
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   30     0     externalPath  Lorg/eclipse/core/runtime/IPath;
            5   30     1        workspace  Lorg/eclipse/core/resources/IWorkspace;
            9   30     2    canonicalPath  Lorg/eclipse/core/runtime/IPath;
           19   20     3           result  Lorg/eclipse/core/runtime/IPath;
           23   24     3           result  Lorg/eclipse/core/runtime/IPath;
           25   30     3           result  Lorg/eclipse/core/runtime/IPath;
           15   30     4  canonicalLength  I
           21   25     5   externalLength  I
      Exception table:
        from    to  target  type
           9    11      12  Class java.io.IOException
    MethodParameters:
              Name  Flags
      externalPath  

  public static boolean hasJavaNature(org.eclipse.core.resources.IProject);
    descriptor: (Lorg/eclipse/core/resources/IProject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.core.resources.IProject project
         0: .line 377
            aload 0 /* project */
            ldc "org.eclipse.jdt.core.javanature"
            invokeinterface org.eclipse.core.resources.IProject.hasNature:(Ljava/lang/String;)Z
         1: ireturn
         2: .line 378
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
            pop
         3: .line 379
            ldc " "
            aload 0 /* project */
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 380
            iconst_1
            ireturn
         5: .line 383
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.eclipse.core.resources.IProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  project  Lorg/eclipse/core/resources/IProject;
      Exception table:
        from    to  target  type
           0     1       2  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      project  

  public static void validateCycles(java.util.Map);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=20, args_size=1
        start local 0 // java.util.Map preferredClasspaths
         0: .line 395
            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 1 /* workspaceRoot */
        start local 1 // org.eclipse.core.resources.IWorkspaceRoot workspaceRoot
         1: .line 396
            aload 1 /* workspaceRoot */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getProjects:()[Lorg/eclipse/core/resources/IProject;
            astore 2 /* rscProjects */
        start local 2 // org.eclipse.core.resources.IProject[] rscProjects
         2: .line 397
            aload 2 /* rscProjects */
            arraylength
            istore 3 /* length */
        start local 3 // int length
         3: .line 398
            iload 3 /* length */
            anewarray org.eclipse.jdt.internal.core.JavaProject
            astore 4 /* projects */
        start local 4 // org.eclipse.jdt.internal.core.JavaProject[] projects
         4: .line 400
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 5 /* cycleParticipants */
        start local 5 // java.util.LinkedHashSet cycleParticipants
         5: .line 401
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* traversed */
        start local 6 // java.util.HashSet traversed
         6: .line 404
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* prereqChain */
        start local 7 // java.util.List prereqChain
         7: .line 405
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 8 /* cyclesPerProject */
        start local 8 // java.util.Map cyclesPerProject
         8: .line 406
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         9: goto 16
        10: .line 407
      StackMap locals: java.util.Map org.eclipse.core.resources.IWorkspaceRoot org.eclipse.core.resources.IProject[] int org.eclipse.jdt.internal.core.JavaProject[] java.util.LinkedHashSet java.util.HashSet java.util.List java.util.Map int
      StackMap stack:
            aload 2 /* rscProjects */
            iload 9 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.core.JavaProject.hasJavaNature:(Lorg/eclipse/core/resources/IProject;)Z
            ifeq 15
        11: .line 408
            aload 4 /* projects */
            iload 9 /* i */
            aload 2 /* rscProjects */
            iload 9 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            checkcast org.eclipse.jdt.internal.core.JavaProject
            dup_x2
            aastore
            astore 10 /* project */
        start local 10 // org.eclipse.jdt.internal.core.JavaProject project
        12: .line 409
            aload 6 /* traversed */
            aload 10 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifne 15
        13: .line 410
            aload 7 /* prereqChain */
            invokeinterface java.util.List.clear:()V
        14: .line 411
            aload 10 /* project */
            aload 7 /* prereqChain */
            aload 5 /* cycleParticipants */
            aload 8 /* cyclesPerProject */
            aload 1 /* workspaceRoot */
            aload 6 /* traversed */
            aload 0 /* preferredClasspaths */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.updateCycleParticipants:(Ljava/util/List;Ljava/util/LinkedHashSet;Ljava/util/Map;Lorg/eclipse/core/resources/IWorkspaceRoot;Ljava/util/HashSet;Ljava/util/Map;)V
        end local 10 // org.eclipse.jdt.internal.core.JavaProject project
        15: .line 406
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 9 /* i */
            iload 3 /* length */
            if_icmplt 10
        end local 9 // int i
        17: .line 417
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        18: goto 60
        19: .line 418
      StackMap locals:
      StackMap stack:
            aload 4 /* projects */
            iload 9 /* i */
            aaload
            astore 10 /* project */
        start local 10 // org.eclipse.jdt.internal.core.JavaProject project
        20: .line 419
            aload 10 /* project */
            ifnull 59
        21: .line 420
            aload 8 /* cyclesPerProject */
            aload 10 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 11 /* cycles */
        start local 11 // java.util.List cycles
        22: .line 421
            aload 11 /* cycles */
            ifnull 58
        23: .line 422
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 12 /* cycleString */
        start local 12 // java.lang.StringBuilder cycleString
        24: .line 423
            iconst_1
            istore 13 /* first */
        start local 13 // boolean first
        25: .line 424
            aload 11 /* cycles */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 15
            goto 33
      StackMap locals: java.util.Map org.eclipse.core.resources.IWorkspaceRoot org.eclipse.core.resources.IProject[] int org.eclipse.jdt.internal.core.JavaProject[] java.util.LinkedHashSet java.util.HashSet java.util.List java.util.Map int org.eclipse.jdt.internal.core.JavaProject java.util.List java.lang.StringBuilder int top java.util.Iterator
      StackMap stack:
        26: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaProject$CycleInfo
            astore 14 /* cycleInfo */
        start local 14 // org.eclipse.jdt.internal.core.JavaProject$CycleInfo cycleInfo
        27: .line 425
            iload 13 /* first */
            ifne 28
            aload 12 /* cycleString */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        28: .line 426
      StackMap locals: java.util.Map org.eclipse.core.resources.IWorkspaceRoot org.eclipse.core.resources.IProject[] int org.eclipse.jdt.internal.core.JavaProject[] java.util.LinkedHashSet java.util.HashSet java.util.List java.util.Map int org.eclipse.jdt.internal.core.JavaProject java.util.List java.lang.StringBuilder int org.eclipse.jdt.internal.core.JavaProject$CycleInfo java.util.Iterator
      StackMap stack:
            aload 12 /* cycleString */
            aload 14 /* cycleInfo */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject$CycleInfo.pathToCycleAsString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 427
            aload 12 /* cycleString */
            ldc "->{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        30: .line 428
            aload 12 /* cycleString */
            aload 14 /* cycleInfo */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject$CycleInfo.cycleAsString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        31: .line 429
            aload 12 /* cycleString */
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        32: .line 430
            iconst_0
            istore 13 /* first */
        end local 14 // org.eclipse.jdt.internal.core.JavaProject$CycleInfo cycleInfo
        33: .line 424
      StackMap locals: java.util.Map org.eclipse.core.resources.IWorkspaceRoot org.eclipse.core.resources.IProject[] int org.eclipse.jdt.internal.core.JavaProject[] java.util.LinkedHashSet java.util.HashSet java.util.List java.util.Map int org.eclipse.jdt.internal.core.JavaProject java.util.List java.lang.StringBuilder int top java.util.Iterator
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        34: .line 433
            aload 10 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getCycleMarker:()Lorg/eclipse/core/resources/IMarker;
            astore 14 /* cycleMarker */
        start local 14 // org.eclipse.core.resources.IMarker cycleMarker
        35: .line 434
            aload 10 /* project */
            ldc "org.eclipse.jdt.core.circularClasspath"
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 15 /* circularCPOption */
        start local 15 // java.lang.String circularCPOption
        36: .line 435
            ldc "error"
            aload 15 /* circularCPOption */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 37
            iconst_2
            goto 38
      StackMap locals: java.util.Map org.eclipse.core.resources.IWorkspaceRoot org.eclipse.core.resources.IProject[] int org.eclipse.jdt.internal.core.JavaProject[] java.util.LinkedHashSet java.util.HashSet java.util.List java.util.Map int org.eclipse.jdt.internal.core.JavaProject java.util.List java.lang.StringBuilder int org.eclipse.core.resources.IMarker java.lang.String
      StackMap stack:
        37: iconst_1
      StackMap locals:
      StackMap stack: int
        38: istore 16 /* circularCPSeverity */
        start local 16 // int circularCPSeverity
        39: .line 436
            aload 14 /* cycleMarker */
            ifnull 54
        40: .line 439
            aload 14 /* cycleMarker */
            ldc "severity"
            invokeinterface org.eclipse.core.resources.IMarker.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 17 /* existingSeverity */
        start local 17 // int existingSeverity
        41: .line 440
            iload 17 /* existingSeverity */
            iload 16 /* circularCPSeverity */
            if_icmpeq 43
        42: .line 441
            aload 14 /* cycleMarker */
            ldc "severity"
            iload 16 /* circularCPSeverity */
            invokeinterface org.eclipse.core.resources.IMarker.setAttribute:(Ljava/lang/String;I)V
        43: .line 443
      StackMap locals: int int
      StackMap stack:
            aload 14 /* cycleMarker */
            ldc "message"
            ldc ""
            invokeinterface org.eclipse.core.resources.IMarker.getAttribute:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 18 /* existingMessage */
        start local 18 // java.lang.String existingMessage
        44: .line 444
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            sipush 1001
        45: .line 445
            aload 10 /* project */
            aload 12 /* cycleString */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        46: .line 444
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILorg/eclipse/jdt/core/IJavaElement;Ljava/lang/String;)V
        47: .line 445
            invokevirtual org.eclipse.jdt.internal.core.JavaModelStatus.getMessage:()Ljava/lang/String;
        48: .line 444
            astore 19 /* newMessage */
        start local 19 // java.lang.String newMessage
        49: .line 446
            aload 19 /* newMessage */
            aload 18 /* existingMessage */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 59
        50: .line 447
            aload 14 /* cycleMarker */
            ldc "message"
            aload 19 /* newMessage */
            invokeinterface org.eclipse.core.resources.IMarker.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 19 // java.lang.String newMessage
        end local 18 // java.lang.String existingMessage
        end local 17 // int existingSeverity
        51: .line 449
            goto 59
      StackMap locals: java.util.Map org.eclipse.core.resources.IWorkspaceRoot org.eclipse.core.resources.IProject[] int org.eclipse.jdt.internal.core.JavaProject[] java.util.LinkedHashSet java.util.HashSet java.util.List java.util.Map int org.eclipse.jdt.internal.core.JavaProject java.util.List java.lang.StringBuilder int org.eclipse.core.resources.IMarker java.lang.String int
      StackMap stack: org.eclipse.core.runtime.CoreException
        52: astore 17 /* e */
        start local 17 // org.eclipse.core.runtime.CoreException e
        53: .line 450
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 17 /* e */
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/core/runtime/CoreException;)V
            athrow
        end local 17 // org.eclipse.core.runtime.CoreException e
        54: .line 454
      StackMap locals:
      StackMap stack:
            aload 10 /* project */
        55: .line 455
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            sipush 1001
            aload 10 /* project */
            aload 12 /* cycleString */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILorg/eclipse/jdt/core/IJavaElement;Ljava/lang/String;)V
        56: .line 454
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.createClasspathProblemMarker:(Lorg/eclipse/jdt/core/IJavaModelStatus;)V
        end local 16 // int circularCPSeverity
        end local 15 // java.lang.String circularCPOption
        end local 14 // org.eclipse.core.resources.IMarker cycleMarker
        end local 13 // boolean first
        end local 12 // java.lang.StringBuilder cycleString
        57: .line 457
            goto 59
        58: .line 458
      StackMap locals: java.util.Map org.eclipse.core.resources.IWorkspaceRoot org.eclipse.core.resources.IProject[] int org.eclipse.jdt.internal.core.JavaProject[] java.util.LinkedHashSet java.util.HashSet java.util.List java.util.Map int org.eclipse.jdt.internal.core.JavaProject java.util.List
      StackMap stack:
            aload 10 /* project */
            iconst_1
            iconst_0
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.flushClasspathProblemMarkers:(ZZZ)V
        end local 11 // java.util.List cycles
        end local 10 // org.eclipse.jdt.internal.core.JavaProject project
        59: .line 417
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 9 /* i */
            iload 3 /* length */
            if_icmplt 19
        end local 9 // int i
        61: .line 462
            return
        end local 8 // java.util.Map cyclesPerProject
        end local 7 // java.util.List prereqChain
        end local 6 // java.util.HashSet traversed
        end local 5 // java.util.LinkedHashSet cycleParticipants
        end local 4 // org.eclipse.jdt.internal.core.JavaProject[] projects
        end local 3 // int length
        end local 2 // org.eclipse.core.resources.IProject[] rscProjects
        end local 1 // org.eclipse.core.resources.IWorkspaceRoot workspaceRoot
        end local 0 // java.util.Map preferredClasspaths
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   62     0  preferredClasspaths  Ljava/util/Map;
            1   62     1        workspaceRoot  Lorg/eclipse/core/resources/IWorkspaceRoot;
            2   62     2          rscProjects  [Lorg/eclipse/core/resources/IProject;
            3   62     3               length  I
            4   62     4             projects  [Lorg/eclipse/jdt/internal/core/JavaProject;
            5   62     5    cycleParticipants  Ljava/util/LinkedHashSet<Lorg/eclipse/core/runtime/IPath;>;
            6   62     6            traversed  Ljava/util/HashSet;
            7   62     7          prereqChain  Ljava/util/List<Lorg/eclipse/core/runtime/IPath;>;
            8   62     8     cyclesPerProject  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Ljava/util/List<Lorg/eclipse/jdt/internal/core/JavaProject$CycleInfo;>;>;
            9   17     9                    i  I
           12   15    10              project  Lorg/eclipse/jdt/internal/core/JavaProject;
           18   61     9                    i  I
           20   59    10              project  Lorg/eclipse/jdt/internal/core/JavaProject;
           22   59    11               cycles  Ljava/util/List<Lorg/eclipse/jdt/internal/core/JavaProject$CycleInfo;>;
           24   57    12          cycleString  Ljava/lang/StringBuilder;
           25   57    13                first  Z
           27   33    14            cycleInfo  Lorg/eclipse/jdt/internal/core/JavaProject$CycleInfo;
           35   57    14          cycleMarker  Lorg/eclipse/core/resources/IMarker;
           36   57    15     circularCPOption  Ljava/lang/String;
           39   57    16   circularCPSeverity  I
           41   51    17     existingSeverity  I
           44   51    18      existingMessage  Ljava/lang/String;
           49   51    19           newMessage  Ljava/lang/String;
           53   54    17                    e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
          40    51      52  Class org.eclipse.core.runtime.CoreException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                     Name  Flags
      preferredClasspaths  

  protected void addToBuildSpec(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String builderID
         0: .line 469
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getDescription:()Lorg/eclipse/core/resources/IProjectDescription;
            astore 2 /* description */
        start local 2 // org.eclipse.core.resources.IProjectDescription description
         1: .line 470
            aload 0 /* this */
            aload 2 /* description */
            invokeinterface org.eclipse.core.resources.IProjectDescription.getBuildSpec:()[Lorg/eclipse/core/resources/ICommand;
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getJavaCommandIndex:([Lorg/eclipse/core/resources/ICommand;)I
            istore 3 /* javaCommandIndex */
        start local 3 // int javaCommandIndex
         2: .line 472
            iload 3 /* javaCommandIndex */
            iconst_m1
            if_icmpne 6
         3: .line 475
            aload 2 /* description */
            invokeinterface org.eclipse.core.resources.IProjectDescription.newCommand:()Lorg/eclipse/core/resources/ICommand;
            astore 4 /* command */
        start local 4 // org.eclipse.core.resources.ICommand command
         4: .line 476
            aload 4 /* command */
            aload 1 /* builderID */
            invokeinterface org.eclipse.core.resources.ICommand.setBuilderName:(Ljava/lang/String;)V
         5: .line 477
            aload 0 /* this */
            aload 2 /* description */
            aload 4 /* command */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.setJavaCommand:(Lorg/eclipse/core/resources/IProjectDescription;Lorg/eclipse/core/resources/ICommand;)V
        end local 4 // org.eclipse.core.resources.ICommand command
         6: .line 479
      StackMap locals: org.eclipse.core.resources.IProjectDescription int
      StackMap stack:
            return
        end local 3 // int javaCommandIndex
        end local 2 // org.eclipse.core.resources.IProjectDescription description
        end local 1 // java.lang.String builderID
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    7     1         builderID  Ljava/lang/String;
            1    7     2       description  Lorg/eclipse/core/resources/IProjectDescription;
            2    7     3  javaCommandIndex  I
            4    6     4           command  Lorg/eclipse/core/resources/ICommand;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
           Name  Flags
      builderID  

  protected boolean buildStructure(org.eclipse.jdt.internal.core.OpenableElementInfo, org.eclipse.core.runtime.IProgressMonitor, java.util.Map, org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/jdt/internal/core/OpenableElementInfo;Lorg/eclipse/core/runtime/IProgressMonitor;Ljava/util/Map;Lorg/eclipse/core/resources/IResource;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=13, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.internal.core.OpenableElementInfo info
        start local 2 // org.eclipse.core.runtime.IProgressMonitor pm
        start local 3 // java.util.Map newElements
        start local 4 // org.eclipse.core.resources.IResource underlyingResource
         0: .line 486
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 5 /* resolvedClasspath */
        start local 5 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
         1: .line 489
            aload 0 /* this */
            aload 5 /* resolvedClasspath */
            iconst_0
            iconst_1
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots:([Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 6 /* roots */
        start local 6 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
         2: .line 490
            aload 1 /* info */
            aload 6 /* roots */
            invokevirtual org.eclipse.jdt.internal.core.OpenableElementInfo.setChildren:([Lorg/eclipse/jdt/core/IJavaElement;)V
         3: .line 491
            aconst_null
            astore 7 /* module */
        start local 7 // org.eclipse.jdt.core.IModuleDescription module
         4: .line 492
            aconst_null
            astore 8 /* current */
        start local 8 // org.eclipse.jdt.core.IModuleDescription current
         5: .line 493
            aload 6 /* roots */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 19
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.OpenableElementInfo org.eclipse.core.runtime.IProgressMonitor java.util.Map org.eclipse.core.resources.IResource org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IPackageFragmentRoot[] org.eclipse.jdt.core.IModuleDescription org.eclipse.jdt.core.IModuleDescription top int int org.eclipse.jdt.core.IPackageFragmentRoot[]
      StackMap stack:
         6: aload 12
            iload 10
            aaload
            astore 9 /* root */
        start local 9 // org.eclipse.jdt.core.IPackageFragmentRoot root
         7: .line 494
            aload 9 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getKind:()I
            iconst_1
            if_icmpeq 9
         8: .line 495
            goto 18
         9: .line 496
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.OpenableElementInfo org.eclipse.core.runtime.IProgressMonitor java.util.Map org.eclipse.core.resources.IResource org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IPackageFragmentRoot[] org.eclipse.jdt.core.IModuleDescription org.eclipse.jdt.core.IModuleDescription org.eclipse.jdt.core.IPackageFragmentRoot int int org.eclipse.jdt.core.IPackageFragmentRoot[]
      StackMap stack:
            aload 9 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getModuleDescription:()Lorg/eclipse/jdt/core/IModuleDescription;
            astore 7 /* module */
        10: .line 497
            aload 7 /* module */
            ifnull 18
        11: .line 498
            aload 8 /* current */
            ifnull 15
        12: .line 499
            new org.eclipse.jdt.core.JavaModelException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            ldc "org.eclipse.jdt.core"
        13: .line 500
            getstatic org.eclipse.jdt.internal.core.util.Messages.classpath_duplicateEntryPath:Ljava/lang/String;
            ldc "module-info.java"
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getElementName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;Ljava/lang/String;)V
        14: .line 499
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        15: .line 502
      StackMap locals:
      StackMap stack:
            aload 7 /* module */
            astore 8 /* current */
        16: .line 503
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getModulePathManager:()Lorg/eclipse/jdt/internal/core/ModuleSourcePathManager;
            aload 7 /* module */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.ModuleSourcePathManager.addEntry:(Lorg/eclipse/jdt/core/IModuleDescription;Lorg/eclipse/jdt/internal/core/JavaProject;)V
        17: .line 505
            aload 1 /* info */
            aload 7 /* module */
            invokevirtual org.eclipse.jdt.internal.core.OpenableElementInfo.setModule:(Lorg/eclipse/jdt/core/IModuleDescription;)V
        end local 9 // org.eclipse.jdt.core.IPackageFragmentRoot root
        18: .line 493
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.OpenableElementInfo org.eclipse.core.runtime.IProgressMonitor java.util.Map org.eclipse.core.resources.IResource org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IPackageFragmentRoot[] org.eclipse.jdt.core.IModuleDescription org.eclipse.jdt.core.IModuleDescription top int int org.eclipse.jdt.core.IPackageFragmentRoot[]
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        19: iload 10
            iload 11
            if_icmplt 6
        20: .line 508
            iconst_1
            ireturn
        end local 8 // org.eclipse.jdt.core.IModuleDescription current
        end local 7 // org.eclipse.jdt.core.IModuleDescription module
        end local 6 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
        end local 5 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        end local 4 // org.eclipse.core.resources.IResource underlyingResource
        end local 3 // java.util.Map newElements
        end local 2 // org.eclipse.core.runtime.IProgressMonitor pm
        end local 1 // org.eclipse.jdt.internal.core.OpenableElementInfo info
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   21     0                this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   21     1                info  Lorg/eclipse/jdt/internal/core/OpenableElementInfo;
            0   21     2                  pm  Lorg/eclipse/core/runtime/IProgressMonitor;
            0   21     3         newElements  Ljava/util/Map;
            0   21     4  underlyingResource  Lorg/eclipse/core/resources/IResource;
            1   21     5   resolvedClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            2   21     6               roots  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            4   21     7              module  Lorg/eclipse/jdt/core/IModuleDescription;
            5   21     8             current  Lorg/eclipse/jdt/core/IModuleDescription;
            7   18     9                root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                    Name  Flags
      info                
      pm                  
      newElements         
      underlyingResource  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 513
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokestatic org.eclipse.jdt.internal.core.JavaProject.hasJavaNature:(Lorg/eclipse/core/resources/IProject;)Z
            ifeq 10
         1: .line 515
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfo:(Lorg/eclipse/core/resources/IProject;Z)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 1 /* perProjectInfo */
        start local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
         2: .line 516
            aload 1 /* perProjectInfo */
            ifnull 10
            aload 1 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.preferences:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            ifnull 10
         3: .line 517
            aload 1 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.preferences:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.parent:()Lorg/osgi/service/prefs/Preferences;
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences
            astore 2 /* eclipseParentPreferences */
        start local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences eclipseParentPreferences
         4: .line 518
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.preferencesNodeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
            ifnull 7
         5: .line 519
            aload 2 /* eclipseParentPreferences */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.preferencesNodeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.removeNodeChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;)V
         6: .line 520
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.JavaProject.preferencesNodeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
         7: .line 522
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.preferencesChangeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
            ifnull 10
         8: .line 523
            aload 1 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.preferences:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.preferencesChangeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.removePreferenceChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;)V
         9: .line 524
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.JavaProject.preferencesChangeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
        end local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences eclipseParentPreferences
        end local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
        10: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.Openable.close:()V
        11: .line 529
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   12     0                      this  Lorg/eclipse/jdt/internal/core/JavaProject;
            2   10     1            perProjectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            4   10     2  eclipseParentPreferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  private void computeExpandedClasspath(org.eclipse.jdt.internal.core.ClasspathEntry, java.util.HashMap<java.lang.String, java.lang.Boolean>, java.util.ArrayList<org.eclipse.jdt.internal.core.ClasspathEntry>, );
    descriptor: (Lorg/eclipse/jdt/internal/core/ClasspathEntry;Ljava/util/HashMap;Ljava/util/ArrayList;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=18, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.internal.core.ClasspathEntry referringEntry
        start local 2 // java.util.HashMap rootIDs
        start local 3 // java.util.ArrayList accumulatedEntries
        start local 4 // boolean excludeTestCode
         0: .line 541
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 5 /* resolvedClasspath */
        start local 5 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
         1: .line 543
            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 6 /* workspaceRoot */
        start local 6 // org.eclipse.core.resources.IWorkspaceRoot workspaceRoot
         2: .line 544
            aload 1 /* referringEntry */
            ifnonnull 3
            iconst_1
            goto 4
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.core.resources.IWorkspaceRoot
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 7 /* isInitialProject */
        start local 7 // boolean isInitialProject
         5: .line 545
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         6: aload 5 /* resolvedClasspath */
            arraylength
            istore 9 /* length */
        start local 9 // int length
         7: goto 53
         8: .line 546
      StackMap locals: int int int
      StackMap stack:
            aload 5 /* resolvedClasspath */
            iload 8 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            astore 10 /* entry */
        start local 10 // org.eclipse.jdt.internal.core.ClasspathEntry entry
         9: .line 547
            iload 4 /* excludeTestCode */
            ifeq 11
            aload 10 /* entry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.isTest:()Z
            ifeq 11
        10: .line 548
            goto 52
        11: .line 550
      StackMap locals: org.eclipse.jdt.internal.core.ClasspathEntry
      StackMap stack:
            iload 7 /* isInitialProject */
            ifne 12
            aload 10 /* entry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.isExported:()Z
            ifeq 52
        12: .line 551
      StackMap locals:
      StackMap stack:
            aload 10 /* entry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.rootID:()Ljava/lang/String;
            astore 11 /* rootID */
        start local 11 // java.lang.String rootID
        13: .line 554
            aload 10 /* entry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.getEntryKind:()I
            iconst_2
            if_icmpne 48
        14: .line 555
            iload 4 /* excludeTestCode */
            ifne 15
            aload 10 /* entry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.isWithoutTestCode:()Z
            ifne 15
            iconst_0
            goto 16
      StackMap locals: java.lang.String
      StackMap stack:
        15: iconst_1
      StackMap locals:
      StackMap stack: int
        16: istore 12 /* nestedWithoutTestCode */
        start local 12 // boolean nestedWithoutTestCode
        17: .line 556
            aload 2 /* rootIDs */
            aload 11 /* rootID */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 13 /* previousValue */
        start local 13 // java.lang.Boolean previousValue
        18: .line 558
            aload 13 /* previousValue */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            if_acmpne 20
        19: .line 559
            goto 52
        20: .line 560
      StackMap locals: int java.lang.Boolean
      StackMap stack:
            aload 13 /* previousValue */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            if_acmpne 34
        21: .line 562
            iload 12 /* nestedWithoutTestCode */
            ifeq 23
        22: .line 563
            goto 52
        23: .line 566
      StackMap locals:
      StackMap stack:
            aload 2 /* rootIDs */
            aload 11 /* rootID */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 567
            iconst_0
            istore 15 /* j */
        start local 15 // int j
        25: goto 31
        26: .line 571
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.ClasspathEntry java.util.HashMap java.util.ArrayList int org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.core.resources.IWorkspaceRoot int int int org.eclipse.jdt.internal.core.ClasspathEntry java.lang.String int java.lang.Boolean top int
      StackMap stack:
            aload 3 /* accumulatedEntries */
            iload 15 /* j */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            astore 16 /* oldEntry */
        start local 16 // org.eclipse.jdt.internal.core.ClasspathEntry oldEntry
        27: .line 572
            aload 16 /* oldEntry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.rootID:()Ljava/lang/String;
            aload 11 /* rootID */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
        28: .line 573
            aload 3 /* accumulatedEntries */
            iload 15 /* j */
            aload 16 /* oldEntry */
            ldc "without_test_code"
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.withExtraAttributeRemoved:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 574
            goto 32
        end local 16 // org.eclipse.jdt.internal.core.ClasspathEntry oldEntry
        30: .line 567
      StackMap locals:
      StackMap stack:
            iinc 15 /* j */ 1
      StackMap locals:
      StackMap stack:
        31: iload 15 /* j */
            aload 3 /* accumulatedEntries */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 26
        end local 15 // int j
        32: .line 578
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.ClasspathEntry java.util.HashMap java.util.ArrayList int org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.core.resources.IWorkspaceRoot int int int org.eclipse.jdt.internal.core.ClasspathEntry java.lang.String int java.lang.Boolean
      StackMap stack:
            aload 10 /* entry */
            aload 1 /* referringEntry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.combineWith:(Lorg/eclipse/jdt/internal/core/ClasspathEntry;)Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            astore 14 /* combinedEntry */
        start local 14 // org.eclipse.jdt.internal.core.ClasspathEntry combinedEntry
        33: .line 580
            goto 37
        end local 14 // org.eclipse.jdt.internal.core.ClasspathEntry combinedEntry
        34: .line 581
      StackMap locals:
      StackMap stack:
            aload 2 /* rootIDs */
            aload 11 /* rootID */
            iload 12 /* nestedWithoutTestCode */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 583
            aload 10 /* entry */
            aload 1 /* referringEntry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.combineWith:(Lorg/eclipse/jdt/internal/core/ClasspathEntry;)Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            astore 14 /* combinedEntry */
        start local 14 // org.eclipse.jdt.internal.core.ClasspathEntry combinedEntry
        36: .line 584
            aload 3 /* accumulatedEntries */
            aload 14 /* combinedEntry */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        37: .line 586
      StackMap locals: org.eclipse.jdt.internal.core.ClasspathEntry
      StackMap stack:
            aload 6 /* workspaceRoot */
            aload 10 /* entry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.findMember:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
            astore 15 /* member */
        start local 15 // org.eclipse.core.resources.IResource member
        38: .line 587
            aload 15 /* member */
            ifnull 52
            aload 15 /* member */
            invokeinterface org.eclipse.core.resources.IResource.getType:()I
            iconst_4
            if_icmpne 52
        39: .line 588
            aload 15 /* member */
            checkcast org.eclipse.core.resources.IProject
            astore 16 /* projRsc */
        start local 16 // org.eclipse.core.resources.IProject projRsc
        40: .line 589
            aload 16 /* projRsc */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.hasJavaNature:(Lorg/eclipse/core/resources/IProject;)Z
            ifeq 52
        41: .line 590
            aload 16 /* projRsc */
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            checkcast org.eclipse.jdt.internal.core.JavaProject
            astore 17 /* javaProject */
        start local 17 // org.eclipse.jdt.internal.core.JavaProject javaProject
        42: .line 591
            aload 17 /* javaProject */
        43: .line 592
            aload 14 /* combinedEntry */
        44: .line 593
            aload 2 /* rootIDs */
        45: .line 594
            aload 3 /* accumulatedEntries */
            iload 12 /* nestedWithoutTestCode */
        46: .line 591
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.computeExpandedClasspath:(Lorg/eclipse/jdt/internal/core/ClasspathEntry;Ljava/util/HashMap;Ljava/util/ArrayList;Z)V
        end local 17 // org.eclipse.jdt.internal.core.JavaProject javaProject
        end local 16 // org.eclipse.core.resources.IProject projRsc
        end local 15 // org.eclipse.core.resources.IResource member
        end local 14 // org.eclipse.jdt.internal.core.ClasspathEntry combinedEntry
        end local 13 // java.lang.Boolean previousValue
        end local 12 // boolean nestedWithoutTestCode
        47: .line 597
            goto 52
        48: .line 598
      StackMap locals:
      StackMap stack:
            aload 2 /* rootIDs */
            aload 11 /* rootID */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 52
        49: .line 600
            aload 10 /* entry */
            aload 1 /* referringEntry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.combineWith:(Lorg/eclipse/jdt/internal/core/ClasspathEntry;)Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            astore 12 /* combinedEntry */
        start local 12 // org.eclipse.jdt.internal.core.ClasspathEntry combinedEntry
        50: .line 601
            aload 3 /* accumulatedEntries */
            aload 12 /* combinedEntry */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        51: .line 602
            aload 2 /* rootIDs */
            aload 11 /* rootID */
            iload 4 /* excludeTestCode */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 12 // org.eclipse.jdt.internal.core.ClasspathEntry combinedEntry
        end local 11 // java.lang.String rootID
        end local 10 // org.eclipse.jdt.internal.core.ClasspathEntry entry
        52: .line 545
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        53: iload 8 /* i */
            iload 9 /* length */
            if_icmplt 8
        end local 9 // int length
        end local 8 // int i
        54: .line 607
            return
        end local 7 // boolean isInitialProject
        end local 6 // org.eclipse.core.resources.IWorkspaceRoot workspaceRoot
        end local 5 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        end local 4 // boolean excludeTestCode
        end local 3 // java.util.ArrayList accumulatedEntries
        end local 2 // java.util.HashMap rootIDs
        end local 1 // org.eclipse.jdt.internal.core.ClasspathEntry referringEntry
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   55     0                   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   55     1         referringEntry  Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            0   55     2                rootIDs  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Boolean;>;
            0   55     3     accumulatedEntries  Ljava/util/ArrayList<Lorg/eclipse/jdt/internal/core/ClasspathEntry;>;
            0   55     4        excludeTestCode  Z
            1   55     5      resolvedClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            2   55     6          workspaceRoot  Lorg/eclipse/core/resources/IWorkspaceRoot;
            5   55     7       isInitialProject  Z
            6   54     8                      i  I
            7   54     9                 length  I
            9   52    10                  entry  Lorg/eclipse/jdt/internal/core/ClasspathEntry;
           13   52    11                 rootID  Ljava/lang/String;
           17   47    12  nestedWithoutTestCode  Z
           18   47    13          previousValue  Ljava/lang/Boolean;
           33   34    14          combinedEntry  Lorg/eclipse/jdt/internal/core/ClasspathEntry;
           36   47    14          combinedEntry  Lorg/eclipse/jdt/internal/core/ClasspathEntry;
           25   32    15                      j  I
           27   30    16               oldEntry  Lorg/eclipse/jdt/internal/core/ClasspathEntry;
           38   47    15                 member  Lorg/eclipse/core/resources/IResource;
           40   47    16                projRsc  Lorg/eclipse/core/resources/IProject;
           42   47    17            javaProject  Lorg/eclipse/jdt/internal/core/JavaProject;
           50   52    12          combinedEntry  Lorg/eclipse/jdt/internal/core/ClasspathEntry;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    Signature: (Lorg/eclipse/jdt/internal/core/ClasspathEntry;Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Boolean;>;Ljava/util/ArrayList<Lorg/eclipse/jdt/internal/core/ClasspathEntry;>;Z)V
    MethodParameters:
                    Name  Flags
      referringEntry      
      rootIDs             
      accumulatedEntries  
      excludeTestCode     

  public org.eclipse.jdt.core.IPackageFragmentRoot[] computePackageFragmentRoots(org.eclipse.jdt.core.IClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry resolvedEntry
         0: .line 618
            aload 0 /* this */
         1: .line 619
            iconst_1
            anewarray org.eclipse.jdt.core.IClasspathEntry
            dup
            iconst_0
            aload 1 /* resolvedEntry */
            aastore
         2: .line 620
            iconst_0
         3: .line 621
            iconst_1
         4: .line 622
            aconst_null
         5: .line 618
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots:([Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
         6: .line 617
            areturn
         7: .line 624
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
         8: .line 625
            iconst_0
            anewarray org.eclipse.jdt.core.IPackageFragmentRoot
            areturn
        end local 1 // org.eclipse.jdt.core.IClasspathEntry resolvedEntry
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    9     1  resolvedEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
      Exception table:
        from    to  target  type
           0     6       7  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
               Name  Flags
      resolvedEntry  

  public void computePackageFragmentRoots(org.eclipse.jdt.core.IClasspathEntry, org.eclipse.jdt.internal.compiler.util.ObjectVector, java.util.HashSet, org.eclipse.jdt.core.IClasspathEntry, boolean, boolean, java.util.Map);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/HashSet;Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=8
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry resolvedEntry
        start local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector accumulatedRoots
        start local 3 // java.util.HashSet rootIDs
        start local 4 // org.eclipse.jdt.core.IClasspathEntry referringEntry
        start local 5 // boolean retrieveExportedRoots
        start local 6 // boolean filterModuleRoots
        start local 7 // java.util.Map rootToResolvedEntries
         0: .line 637
            aload 0 /* this */
            aload 1 /* resolvedEntry */
            aload 2 /* accumulatedRoots */
            aload 3 /* rootIDs */
            aload 4 /* referringEntry */
            iload 5 /* retrieveExportedRoots */
            iload 6 /* filterModuleRoots */
         1: .line 638
            aload 7 /* rootToResolvedEntries */
            iconst_0
         2: .line 637
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots:(Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/HashSet;Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;Z)V
         3: .line 639
            return
        end local 7 // java.util.Map rootToResolvedEntries
        end local 6 // boolean filterModuleRoots
        end local 5 // boolean retrieveExportedRoots
        end local 4 // org.eclipse.jdt.core.IClasspathEntry referringEntry
        end local 3 // java.util.HashSet rootIDs
        end local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector accumulatedRoots
        end local 1 // org.eclipse.jdt.core.IClasspathEntry resolvedEntry
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    4     0                   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    4     1          resolvedEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            0    4     2       accumulatedRoots  Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;
            0    4     3                rootIDs  Ljava/util/HashSet;
            0    4     4         referringEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            0    4     5  retrieveExportedRoots  Z
            0    4     6      filterModuleRoots  Z
            0    4     7  rootToResolvedEntries  Ljava/util/Map;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                       Name  Flags
      resolvedEntry          
      accumulatedRoots       
      rootIDs                
      referringEntry         
      retrieveExportedRoots  
      filterModuleRoots      
      rootToResolvedEntries  

  public void computePackageFragmentRoots(org.eclipse.jdt.core.IClasspathEntry, org.eclipse.jdt.internal.compiler.util.ObjectVector, java.util.HashSet, org.eclipse.jdt.core.IClasspathEntry, boolean, java.util.Map);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/HashSet;Lorg/eclipse/jdt/core/IClasspathEntry;ZLjava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry resolvedEntry
        start local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector accumulatedRoots
        start local 3 // java.util.HashSet rootIDs
        start local 4 // org.eclipse.jdt.core.IClasspathEntry referringEntry
        start local 5 // boolean retrieveExportedRoots
        start local 6 // java.util.Map rootToResolvedEntries
         0: .line 662
            aload 0 /* this */
            aload 1 /* resolvedEntry */
            aload 2 /* accumulatedRoots */
            aload 3 /* rootIDs */
            aload 4 /* referringEntry */
            iload 5 /* retrieveExportedRoots */
            iconst_1
            aload 6 /* rootToResolvedEntries */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots:(Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/HashSet;Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;)V
         1: .line 663
            return
        end local 6 // java.util.Map rootToResolvedEntries
        end local 5 // boolean retrieveExportedRoots
        end local 4 // org.eclipse.jdt.core.IClasspathEntry referringEntry
        end local 3 // java.util.HashSet rootIDs
        end local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector accumulatedRoots
        end local 1 // org.eclipse.jdt.core.IClasspathEntry resolvedEntry
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    2     1          resolvedEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            0    2     2       accumulatedRoots  Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;
            0    2     3                rootIDs  Ljava/util/HashSet;
            0    2     4         referringEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            0    2     5  retrieveExportedRoots  Z
            0    2     6  rootToResolvedEntries  Ljava/util/Map;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                       Name  Flags
      resolvedEntry          
      accumulatedRoots       
      rootIDs                
      referringEntry         
      retrieveExportedRoots  
      rootToResolvedEntries  

  public void computePackageFragmentRoots(org.eclipse.jdt.core.IClasspathEntry, org.eclipse.jdt.internal.compiler.util.ObjectVector, java.util.HashSet, org.eclipse.jdt.core.IClasspathEntry, boolean, boolean, java.util.Map, boolean);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/HashSet;Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=19, args_size=9
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry resolvedEntry
        start local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector accumulatedRoots
        start local 3 // java.util.HashSet rootIDs
        start local 4 // org.eclipse.jdt.core.IClasspathEntry referringEntry
        start local 5 // boolean retrieveExportedRoots
        start local 6 // boolean filterModuleRoots
        start local 7 // java.util.Map rootToResolvedEntries
        start local 8 // boolean excludeTestCode
         0: .line 689
            aload 1 /* resolvedEntry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.rootID:()Ljava/lang/String;
            astore 9 /* rootID */
        start local 9 // java.lang.String rootID
         1: .line 690
            aload 3 /* rootIDs */
            aload 9 /* rootID */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 2
            return
         2: .line 691
      StackMap locals: java.lang.String
      StackMap stack:
            iload 8 /* excludeTestCode */
            ifeq 4
            aload 1 /* resolvedEntry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.isTest:()Z
            ifeq 4
         3: .line 692
            return
         4: .line 695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            astore 10 /* projectPath */
        start local 10 // org.eclipse.core.runtime.IPath projectPath
         5: .line 696
            aload 1 /* resolvedEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 11 /* entryPath */
        start local 11 // org.eclipse.core.runtime.IPath entryPath
         6: .line 697
            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 12 /* workspaceRoot */
        start local 12 // org.eclipse.core.resources.IWorkspaceRoot workspaceRoot
         7: .line 698
            aconst_null
            astore 13 /* root */
        start local 13 // org.eclipse.jdt.core.IPackageFragmentRoot root
         8: .line 700
            aload 1 /* resolvedEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 1 - 3
                    1: 15
                    2: 54
                    3: 9
              default: 73
          }
         9: .line 704
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.internal.compiler.util.ObjectVector java.util.HashSet org.eclipse.jdt.core.IClasspathEntry int int java.util.Map int java.lang.String org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath org.eclipse.core.resources.IWorkspaceRoot org.eclipse.jdt.core.IPackageFragmentRoot
      StackMap stack:
            aload 10 /* projectPath */
            aload 11 /* entryPath */
            invokeinterface org.eclipse.core.runtime.IPath.isPrefixOf:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 73
        10: .line 705
            aload 11 /* entryPath */
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getTarget:(Lorg/eclipse/core/runtime/IPath;Z)Ljava/lang/Object;
            astore 14 /* target */
        start local 14 // java.lang.Object target
        11: .line 706
            aload 14 /* target */
            ifnonnull 12
            return
        12: .line 708
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 14 /* target */
            instanceof org.eclipse.core.resources.IFolder
            ifne 13
            aload 14 /* target */
            instanceof org.eclipse.core.resources.IProject
            ifeq 73
        13: .line 709
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 14 /* target */
            checkcast org.eclipse.core.resources.IResource
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoot:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 13 /* root */
        end local 14 // java.lang.Object target
        14: .line 712
            goto 73
        15: .line 716
      StackMap locals:
      StackMap stack:
            aload 4 /* referringEntry */
            ifnull 17
            aload 1 /* resolvedEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.isExported:()Z
            ifne 17
        16: .line 717
            return
        17: .line 718
      StackMap locals:
      StackMap stack:
            aload 11 /* entryPath */
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getTarget:(Lorg/eclipse/core/runtime/IPath;Z)Ljava/lang/Object;
            astore 14 /* target */
        start local 14 // java.lang.Object target
        18: .line 719
            aload 14 /* target */
            ifnonnull 20
        19: .line 720
            return
        20: .line 722
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 14 /* target */
            instanceof org.eclipse.core.resources.IResource
            ifeq 23
        21: .line 724
            aload 0 /* this */
            aload 14 /* target */
            checkcast org.eclipse.core.resources.IResource
            aload 11 /* entryPath */
            aload 1 /* resolvedEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoot:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathAttribute;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 13 /* root */
        22: .line 725
            goto 73
      StackMap locals:
      StackMap stack:
        23: aload 14 /* target */
            instanceof java.io.File
            ifeq 73
        24: .line 727
            aload 14 /* target */
            invokestatic org.eclipse.jdt.internal.core.JavaModel.isFile:(Ljava/lang/Object;)Z
            ifeq 51
        25: .line 728
            aload 14 /* target */
            checkcast java.io.File
            invokestatic org.eclipse.jdt.internal.core.JavaModel.isJimage:(Ljava/io/File;)Z
            ifeq 46
        26: .line 729
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo:()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 15 /* info */
        start local 15 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
        27: .line 731
            aload 15 /* info */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.jrtRoots:Ljava/util/Map;
            ifnull 28
            aload 15 /* info */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.jrtRoots:Ljava/util/Map;
            aload 11 /* entryPath */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 33
        28: .line 732
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.util.ObjectVector
            dup
            invokespecial org.eclipse.jdt.internal.compiler.util.ObjectVector.<init>:()V
            astore 16 /* imageRoots */
        start local 16 // org.eclipse.jdt.internal.compiler.util.ObjectVector imageRoots
        29: .line 733
            aload 0 /* this */
            aload 11 /* entryPath */
            aload 16 /* imageRoots */
            aload 7 /* rootToResolvedEntries */
            aload 1 /* resolvedEntry */
            aload 4 /* referringEntry */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.loadModulesInJimage:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/Map;Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/core/IClasspathEntry;)V
        30: .line 734
            aload 15 /* info */
            aload 11 /* entryPath */
            aload 16 /* imageRoots */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.setJrtPackageRoots:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;)V
        31: .line 735
            aload 3 /* rootIDs */
            aload 9 /* rootID */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        32: .line 736
            goto 34
        end local 16 // org.eclipse.jdt.internal.compiler.util.ObjectVector imageRoots
        33: .line 737
      StackMap locals:
      StackMap stack:
            aload 15 /* info */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.jrtRoots:Ljava/util/Map;
            aload 11 /* entryPath */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.util.ObjectVector
            astore 16 /* imageRoots */
        start local 16 // org.eclipse.jdt.internal.compiler.util.ObjectVector imageRoots
        34: .line 739
      StackMap locals: org.eclipse.jdt.internal.compiler.util.ObjectVector
      StackMap stack:
            iload 6 /* filterModuleRoots */
            ifeq 44
        35: .line 740
            aconst_null
            astore 17 /* rootModules */
        start local 17 // java.util.List rootModules
        36: .line 741
            aload 1 /* resolvedEntry */
            ldc "limit-modules"
            invokestatic org.eclipse.jdt.internal.core.ClasspathEntry.getExtraAttribute:(Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/lang/String;)Ljava/lang/String;
            astore 18 /* limitModules */
        start local 18 // java.lang.String limitModules
        37: .line 742
            aload 18 /* limitModules */
            ifnull 40
        38: .line 743
            aload 18 /* limitModules */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 17 /* rootModules */
        39: .line 744
            goto 42
      StackMap locals: java.util.List java.lang.String
      StackMap stack:
        40: aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.isUnNamedModule:()Z
            ifeq 42
        41: .line 745
            aload 16 /* imageRoots */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.defaultRootModules:(Ljava/lang/Iterable;)Ljava/util/List;
            astore 17 /* rootModules */
        42: .line 747
      StackMap locals:
      StackMap stack:
            aload 17 /* rootModules */
            ifnull 44
        43: .line 748
            aload 0 /* this */
            aload 11 /* entryPath */
            aload 16 /* imageRoots */
            aload 17 /* rootModules */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.filterLimitedModules:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/List;)Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;
            astore 16 /* imageRoots */
        end local 18 // java.lang.String limitModules
        end local 17 // java.util.List rootModules
        44: .line 751
      StackMap locals:
      StackMap stack:
            aload 2 /* accumulatedRoots */
            aload 16 /* imageRoots */
            invokevirtual org.eclipse.jdt.internal.compiler.util.ObjectVector.addAll:(Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;)V
        end local 16 // org.eclipse.jdt.internal.compiler.util.ObjectVector imageRoots
        end local 15 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
        45: .line 752
            goto 73
      StackMap locals:
      StackMap stack:
        46: aload 14 /* target */
            checkcast java.io.File
            invokestatic org.eclipse.jdt.internal.core.JavaModel.isJmod:(Ljava/io/File;)Z
            ifeq 49
        47: .line 753
            new org.eclipse.jdt.internal.core.JModPackageFragmentRoot
            dup
            aload 11 /* entryPath */
            aload 0 /* this */
            aload 1 /* resolvedEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
            invokespecial org.eclipse.jdt.internal.core.JModPackageFragmentRoot.<init>:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/JavaProject;[Lorg/eclipse/jdt/core/IClasspathAttribute;)V
            astore 13 /* root */
        48: .line 754
            goto 73
        49: .line 756
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.JarPackageFragmentRoot
            dup
            aconst_null
            aload 11 /* entryPath */
            aload 0 /* this */
            aload 1 /* resolvedEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
            invokespecial org.eclipse.jdt.internal.core.JarPackageFragmentRoot.<init>:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/JavaProject;[Lorg/eclipse/jdt/core/IClasspathAttribute;)V
            astore 13 /* root */
        50: .line 758
            goto 73
      StackMap locals:
      StackMap stack:
        51: aload 14 /* target */
            checkcast java.io.File
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 73
        52: .line 759
            new org.eclipse.jdt.internal.core.ExternalPackageFragmentRoot
            dup
            aload 11 /* entryPath */
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.ExternalPackageFragmentRoot.<init>:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/JavaProject;)V
            astore 13 /* root */
        53: .line 762
            goto 73
        end local 14 // java.lang.Object target
        54: .line 767
      StackMap locals:
      StackMap stack:
            iload 5 /* retrieveExportedRoots */
            ifne 55
            return
        55: .line 768
      StackMap locals:
      StackMap stack:
            aload 4 /* referringEntry */
            ifnull 56
            aload 1 /* resolvedEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.isExported:()Z
            ifne 56
            return
        56: .line 770
      StackMap locals:
      StackMap stack:
            aload 12 /* workspaceRoot */
            aload 11 /* entryPath */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.findMember:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
            astore 15 /* member */
        start local 15 // org.eclipse.core.resources.IResource member
        57: .line 771
            aload 15 /* member */
            ifnull 73
            aload 15 /* member */
            invokeinterface org.eclipse.core.resources.IResource.getType:()I
            iconst_4
            if_icmpne 73
        58: .line 772
            aload 15 /* member */
            checkcast org.eclipse.core.resources.IProject
            astore 16 /* requiredProjectRsc */
        start local 16 // org.eclipse.core.resources.IProject requiredProjectRsc
        59: .line 773
            aload 16 /* requiredProjectRsc */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.hasJavaNature:(Lorg/eclipse/core/resources/IProject;)Z
            ifeq 73
        60: .line 774
            aload 3 /* rootIDs */
            aload 9 /* rootID */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        61: .line 775
            aload 16 /* requiredProjectRsc */
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            checkcast org.eclipse.jdt.internal.core.JavaProject
            astore 17 /* requiredProject */
        start local 17 // org.eclipse.jdt.internal.core.JavaProject requiredProject
        62: .line 776
            aload 17 /* requiredProject */
        63: .line 777
            aload 17 /* requiredProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
        64: .line 778
            aload 2 /* accumulatedRoots */
        65: .line 779
            aload 3 /* rootIDs */
        66: .line 780
            aload 7 /* rootToResolvedEntries */
            ifnonnull 67
            aload 1 /* resolvedEntry */
            goto 68
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.internal.compiler.util.ObjectVector java.util.HashSet org.eclipse.jdt.core.IClasspathEntry int int java.util.Map int java.lang.String org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath org.eclipse.core.resources.IWorkspaceRoot org.eclipse.jdt.core.IPackageFragmentRoot top org.eclipse.core.resources.IResource org.eclipse.core.resources.IProject org.eclipse.jdt.internal.core.JavaProject
      StackMap stack: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.internal.compiler.util.ObjectVector java.util.HashSet
        67: aload 1 /* resolvedEntry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            aload 4 /* referringEntry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.combineWith:(Lorg/eclipse/jdt/internal/core/ClasspathEntry;)Lorg/eclipse/jdt/internal/core/ClasspathEntry;
        68: .line 781
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.internal.compiler.util.ObjectVector java.util.HashSet org.eclipse.jdt.core.IClasspathEntry int int java.util.Map int java.lang.String org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath org.eclipse.core.resources.IWorkspaceRoot org.eclipse.jdt.core.IPackageFragmentRoot top org.eclipse.core.resources.IResource org.eclipse.core.resources.IProject org.eclipse.jdt.internal.core.JavaProject
      StackMap stack: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.internal.compiler.util.ObjectVector java.util.HashSet org.eclipse.jdt.core.IClasspathEntry
            iload 5 /* retrieveExportedRoots */
        69: .line 782
            iload 6 /* filterModuleRoots */
        70: .line 783
            aload 7 /* rootToResolvedEntries */
        71: .line 784
            iload 8 /* excludeTestCode */
        72: .line 776
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots:([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/HashSet;Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;Z)V
        end local 17 // org.eclipse.jdt.internal.core.JavaProject requiredProject
        end local 16 // org.eclipse.core.resources.IProject requiredProjectRsc
        end local 15 // org.eclipse.core.resources.IResource member
        73: .line 789
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.internal.compiler.util.ObjectVector java.util.HashSet org.eclipse.jdt.core.IClasspathEntry int int java.util.Map int java.lang.String org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath org.eclipse.core.resources.IWorkspaceRoot org.eclipse.jdt.core.IPackageFragmentRoot
      StackMap stack:
            aload 13 /* root */
            ifnull 77
        74: .line 790
            aload 2 /* accumulatedRoots */
            aload 13 /* root */
            invokevirtual org.eclipse.jdt.internal.compiler.util.ObjectVector.add:(Ljava/lang/Object;)V
        75: .line 791
            aload 3 /* rootIDs */
            aload 9 /* rootID */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        76: .line 792
            aload 7 /* rootToResolvedEntries */
            ifnull 77
            aload 7 /* rootToResolvedEntries */
            aload 13 /* root */
            aload 1 /* resolvedEntry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            aload 4 /* referringEntry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.combineWith:(Lorg/eclipse/jdt/internal/core/ClasspathEntry;)Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        77: .line 794
      StackMap locals:
      StackMap stack:
            return
        end local 13 // org.eclipse.jdt.core.IPackageFragmentRoot root
        end local 12 // org.eclipse.core.resources.IWorkspaceRoot workspaceRoot
        end local 11 // org.eclipse.core.runtime.IPath entryPath
        end local 10 // org.eclipse.core.runtime.IPath projectPath
        end local 9 // java.lang.String rootID
        end local 8 // boolean excludeTestCode
        end local 7 // java.util.Map rootToResolvedEntries
        end local 6 // boolean filterModuleRoots
        end local 5 // boolean retrieveExportedRoots
        end local 4 // org.eclipse.jdt.core.IClasspathEntry referringEntry
        end local 3 // java.util.HashSet rootIDs
        end local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector accumulatedRoots
        end local 1 // org.eclipse.jdt.core.IClasspathEntry resolvedEntry
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   78     0                   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   78     1          resolvedEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            0   78     2       accumulatedRoots  Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;
            0   78     3                rootIDs  Ljava/util/HashSet;
            0   78     4         referringEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            0   78     5  retrieveExportedRoots  Z
            0   78     6      filterModuleRoots  Z
            0   78     7  rootToResolvedEntries  Ljava/util/Map;
            0   78     8        excludeTestCode  Z
            1   78     9                 rootID  Ljava/lang/String;
            5   78    10            projectPath  Lorg/eclipse/core/runtime/IPath;
            6   78    11              entryPath  Lorg/eclipse/core/runtime/IPath;
            7   78    12          workspaceRoot  Lorg/eclipse/core/resources/IWorkspaceRoot;
            8   78    13                   root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           11   14    14                 target  Ljava/lang/Object;
           18   54    14                 target  Ljava/lang/Object;
           27   45    15                   info  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
           29   33    16             imageRoots  Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;
           34   45    16             imageRoots  Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;
           36   44    17            rootModules  Ljava/util/List<Ljava/lang/String;>;
           37   44    18           limitModules  Ljava/lang/String;
           57   73    15                 member  Lorg/eclipse/core/resources/IResource;
           59   73    16     requiredProjectRsc  Lorg/eclipse/core/resources/IProject;
           62   73    17        requiredProject  Lorg/eclipse/jdt/internal/core/JavaProject;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                       Name  Flags
      resolvedEntry          
      accumulatedRoots       
      rootIDs                
      referringEntry         
      retrieveExportedRoots  
      filterModuleRoots      
      rootToResolvedEntries  
      excludeTestCode        

  public static java.util.List<java.lang.String> defaultRootModules(java.lang.Iterable<org.eclipse.jdt.core.IPackageFragmentRoot>);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Iterable allSystemRoots
         0: .line 798
            aload 0 /* allSystemRoots */
         1: .line 799
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/eclipse/jdt/core/IJavaElement.getElementName()Ljava/lang/String; (9 itf)
                  (Lorg/eclipse/jdt/core/IPackageFragmentRoot;)Ljava/lang/String;
         2: .line 800
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/eclipse/jdt/internal/core/JavaProject.lambda$1(Lorg/eclipse/jdt/core/IPackageFragmentRoot;)Lorg/eclipse/jdt/internal/compiler/env/IModule; (6)
                  (Lorg/eclipse/jdt/core/IPackageFragmentRoot;)Lorg/eclipse/jdt/internal/compiler/env/IModule;
         3: .line 798
            invokestatic org.eclipse.jdt.internal.core.JavaProject.internalDefaultRootModules:(Ljava/lang/Iterable;Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/List;
            areturn
        end local 0 // java.lang.Iterable allSystemRoots
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0  allSystemRoots  Ljava/lang/Iterable<Lorg/eclipse/jdt/core/IPackageFragmentRoot;>;
    Signature: (Ljava/lang/Iterable<Lorg/eclipse/jdt/core/IPackageFragmentRoot;>;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
                Name  Flags
      allSystemRoots  

  public static <T> java.util.List<java.lang.String> internalDefaultRootModules(java.lang.Iterable<T>, java.util.function.Function<T, java.lang.String>, java.util.function.Function<T, org.eclipse.jdt.internal.compiler.env.IModule>);
    descriptor: (Ljava/lang/Iterable;Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=15, args_size=3
        start local 0 // java.lang.Iterable allSystemModules
        start local 1 // java.util.function.Function getModuleName
        start local 2 // java.util.function.Function getModule
         0: .line 804
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.List result
         1: .line 805
            iconst_0
            istore 4 /* hasJavaDotSE */
        start local 4 // boolean hasJavaDotSE
         2: .line 806
            aload 0 /* allSystemModules */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 9
      StackMap locals: java.lang.Iterable java.util.function.Function java.util.function.Function java.util.List int top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 5 /* mod */
        start local 5 // java.lang.Object mod
         4: .line 807
            aload 1 /* getModuleName */
            aload 5 /* mod */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* moduleName */
        start local 7 // java.lang.String moduleName
         5: .line 808
            ldc "java.se"
            aload 7 /* moduleName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         6: .line 809
            aload 3 /* result */
            aload 7 /* moduleName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 810
            iconst_1
            istore 4 /* hasJavaDotSE */
         8: .line 811
            goto 10
        end local 7 // java.lang.String moduleName
        end local 5 // java.lang.Object mod
         9: .line 806
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        10: .line 814
      StackMap locals: java.lang.Iterable java.util.function.Function java.util.function.Function java.util.List int
      StackMap stack:
            aload 0 /* allSystemModules */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 29
      StackMap locals: java.lang.Iterable java.util.function.Function java.util.function.Function java.util.List int top java.util.Iterator
      StackMap stack:
        11: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 5 /* mod */
        start local 5 // java.lang.Object mod
        12: .line 815
            aload 1 /* getModuleName */
            aload 5 /* mod */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* moduleName */
        start local 7 // java.lang.String moduleName
        13: .line 816
            aload 7 /* moduleName */
            ldc "java."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            istore 8 /* isJavaDotStart */
        start local 8 // boolean isJavaDotStart
        14: .line 817
            iload 8 /* isJavaDotStart */
            ifeq 15
            iconst_0
            goto 16
      StackMap locals: java.lang.Iterable java.util.function.Function java.util.function.Function java.util.List int java.lang.Object java.util.Iterator java.lang.String int
      StackMap stack:
        15: iconst_1
      StackMap locals:
      StackMap stack: int
        16: istore 9 /* isPotentialRoot */
        start local 9 // boolean isPotentialRoot
        17: .line 818
            iload 4 /* hasJavaDotSE */
            ifne 19
        18: .line 819
            iload 9 /* isPotentialRoot */
            iload 8 /* isJavaDotStart */
            ior
            istore 9 /* isPotentialRoot */
        19: .line 821
      StackMap locals: int
      StackMap stack:
            iload 9 /* isPotentialRoot */
            ifeq 29
        20: .line 822
            aload 2 /* getModule */
            aload 5 /* mod */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IModule
            astore 10 /* module */
        start local 10 // org.eclipse.jdt.internal.compiler.env.IModule module
        21: .line 823
            aload 10 /* module */
            ifnull 29
        22: .line 824
            aload 10 /* module */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IModule.exports:()[Lorg/eclipse/jdt/internal/compiler/env/IModule$IPackageExport;
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 28
      StackMap locals: java.lang.Iterable java.util.function.Function java.util.function.Function java.util.List int java.lang.Object java.util.Iterator java.lang.String int int org.eclipse.jdt.internal.compiler.env.IModule top int int org.eclipse.jdt.internal.compiler.env.IModule$IPackageExport[]
      StackMap stack:
        23: aload 14
            iload 12
            aaload
            astore 11 /* packageExport */
        start local 11 // org.eclipse.jdt.internal.compiler.env.IModule$IPackageExport packageExport
        24: .line 825
            aload 11 /* packageExport */
            invokeinterface org.eclipse.jdt.internal.compiler.env.IModule$IPackageExport.isQualified:()Z
            ifne 27
        25: .line 826
            aload 3 /* result */
            aload 7 /* moduleName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        26: .line 827
            goto 29
        end local 11 // org.eclipse.jdt.internal.compiler.env.IModule$IPackageExport packageExport
        27: .line 824
      StackMap locals:
      StackMap stack:
            iinc 12 1
      StackMap locals:
      StackMap stack:
        28: iload 12
            iload 13
            if_icmplt 23
        end local 10 // org.eclipse.jdt.internal.compiler.env.IModule module
        end local 9 // boolean isPotentialRoot
        end local 8 // boolean isJavaDotStart
        end local 7 // java.lang.String moduleName
        end local 5 // java.lang.Object mod
        29: .line 814
      StackMap locals: java.lang.Iterable java.util.function.Function java.util.function.Function java.util.List int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        30: .line 833
            aload 3 /* result */
            areturn
        end local 4 // boolean hasJavaDotSE
        end local 3 // java.util.List result
        end local 2 // java.util.function.Function getModule
        end local 1 // java.util.function.Function getModuleName
        end local 0 // java.lang.Iterable allSystemModules
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   31     0  allSystemModules  Ljava/lang/Iterable<TT;>;
            0   31     1     getModuleName  Ljava/util/function/Function<TT;Ljava/lang/String;>;
            0   31     2         getModule  Ljava/util/function/Function<TT;Lorg/eclipse/jdt/internal/compiler/env/IModule;>;
            1   31     3            result  Ljava/util/List<Ljava/lang/String;>;
            2   31     4      hasJavaDotSE  Z
            4    9     5               mod  TT;
            5    9     7        moduleName  Ljava/lang/String;
           12   29     5               mod  TT;
           13   29     7        moduleName  Ljava/lang/String;
           14   29     8    isJavaDotStart  Z
           17   29     9   isPotentialRoot  Z
           21   29    10            module  Lorg/eclipse/jdt/internal/compiler/env/IModule;
           24   27    11     packageExport  Lorg/eclipse/jdt/internal/compiler/env/IModule$IPackageExport;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Iterable<TT;>;Ljava/util/function/Function<TT;Ljava/lang/String;>;Ljava/util/function/Function<TT;Lorg/eclipse/jdt/internal/compiler/env/IModule;>;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
                  Name  Flags
      allSystemModules  
      getModuleName     
      getModule         

  private org.eclipse.jdt.internal.compiler.util.ObjectVector filterLimitedModules(org.eclipse.core.runtime.IPath, org.eclipse.jdt.internal.compiler.util.ObjectVector, java.util.List<java.lang.String>);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/List;)Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.IPath jrtPath
        start local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector imageRoots
        start local 3 // java.util.List rootModuleNames
         0: .line 837
            new java.util.HashSet
            dup
            aload 3 /* rootModuleNames */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 4 /* limitModulesSet */
        start local 4 // java.util.Set limitModulesSet
         1: .line 838
            new org.eclipse.jdt.internal.core.JavaProject$ModuleLookup
            dup
            aload 1 /* jrtPath */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            invokespecial org.eclipse.jdt.internal.core.JavaProject$ModuleLookup.<init>:(Ljava/io/File;)V
            astore 5 /* lookup */
        start local 5 // org.eclipse.jdt.internal.core.JavaProject$ModuleLookup lookup
         2: .line 840
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 6
         4: .line 841
      StackMap locals: java.util.Set org.eclipse.jdt.internal.core.JavaProject$ModuleLookup int
      StackMap stack:
            aload 5 /* lookup */
            aload 2 /* imageRoots */
            iload 6 /* i */
            invokevirtual org.eclipse.jdt.internal.compiler.util.ObjectVector.elementAt:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JrtPackageFragmentRoot
            invokevirtual org.eclipse.jdt.internal.core.JavaProject$ModuleLookup.recordRoot:(Lorg/eclipse/jdt/internal/core/JrtPackageFragmentRoot;)V
         5: .line 840
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* i */
            aload 2 /* imageRoots */
            invokevirtual org.eclipse.jdt.internal.compiler.util.ObjectVector.size:()I
            if_icmplt 4
        end local 6 // int i
         7: .line 844
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: goto 13
         9: .line 845
      StackMap locals:
      StackMap stack:
            aload 2 /* imageRoots */
            iload 6 /* i */
            invokevirtual org.eclipse.jdt.internal.compiler.util.ObjectVector.elementAt:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JrtPackageFragmentRoot
            getfield org.eclipse.jdt.internal.core.JrtPackageFragmentRoot.moduleName:Ljava/lang/String;
            astore 7 /* moduleName */
        start local 7 // java.lang.String moduleName
        10: .line 846
            aload 4 /* limitModulesSet */
            aload 7 /* moduleName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 847
            aload 5 /* lookup */
            aload 7 /* moduleName */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject$ModuleLookup.addTransitive:(Ljava/lang/String;)V
        end local 7 // java.lang.String moduleName
        12: .line 844
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            aload 2 /* imageRoots */
            invokevirtual org.eclipse.jdt.internal.compiler.util.ObjectVector.size:()I
            if_icmplt 9
        end local 6 // int i
        14: .line 850
            new org.eclipse.jdt.internal.compiler.util.ObjectVector
            dup
            aload 5 /* lookup */
            getfield org.eclipse.jdt.internal.core.JavaProject$ModuleLookup.resultModuleSet:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            invokespecial org.eclipse.jdt.internal.compiler.util.ObjectVector.<init>:(I)V
            astore 6 /* result */
        start local 6 // org.eclipse.jdt.internal.compiler.util.ObjectVector result
        15: .line 851
            aload 5 /* lookup */
            getfield org.eclipse.jdt.internal.core.JavaProject$ModuleLookup.resultModuleSet:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 18
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.runtime.IPath org.eclipse.jdt.internal.compiler.util.ObjectVector java.util.List java.util.Set org.eclipse.jdt.internal.core.JavaProject$ModuleLookup org.eclipse.jdt.internal.compiler.util.ObjectVector top java.util.Iterator
      StackMap stack:
        16: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.env.IModule
            astore 7 /* mod */
        start local 7 // org.eclipse.jdt.internal.compiler.env.IModule mod
        17: .line 852
            aload 6 /* result */
            aload 5 /* lookup */
            aload 7 /* mod */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject$ModuleLookup.getRoot:(Lorg/eclipse/jdt/internal/compiler/env/IModule;)Lorg/eclipse/jdt/internal/core/JrtPackageFragmentRoot;
            invokevirtual org.eclipse.jdt.internal.compiler.util.ObjectVector.add:(Ljava/lang/Object;)V
        end local 7 // org.eclipse.jdt.internal.compiler.env.IModule mod
        18: .line 851
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        19: .line 854
            aload 6 /* result */
            areturn
        end local 6 // org.eclipse.jdt.internal.compiler.util.ObjectVector result
        end local 5 // org.eclipse.jdt.internal.core.JavaProject$ModuleLookup lookup
        end local 4 // java.util.Set limitModulesSet
        end local 3 // java.util.List rootModuleNames
        end local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector imageRoots
        end local 1 // org.eclipse.core.runtime.IPath jrtPath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   20     1          jrtPath  Lorg/eclipse/core/runtime/IPath;
            0   20     2       imageRoots  Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;
            0   20     3  rootModuleNames  Ljava/util/List<Ljava/lang/String;>;
            1   20     4  limitModulesSet  Ljava/util/Set<Ljava/lang/String;>;
            2   20     5           lookup  Lorg/eclipse/jdt/internal/core/JavaProject$ModuleLookup;
            3    7     6                i  I
            8   14     6                i  I
           10   12     7       moduleName  Ljava/lang/String;
           15   20     6           result  Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;
           17   18     7              mod  Lorg/eclipse/jdt/internal/compiler/env/IModule;
    Signature: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/List<Ljava/lang/String;>;)Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;
    MethodParameters:
                 Name  Flags
      jrtPath          
      imageRoots       
      rootModuleNames  

  private void loadModulesInJimage(org.eclipse.core.runtime.IPath, org.eclipse.jdt.internal.compiler.util.ObjectVector, java.util.Map, org.eclipse.jdt.core.IClasspathEntry, org.eclipse.jdt.core.IClasspathEntry);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/Map;Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/core/IClasspathEntry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.IPath imagePath
        start local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector roots
        start local 3 // java.util.Map rootToResolvedEntries
        start local 4 // org.eclipse.jdt.core.IClasspathEntry resolvedEntry
        start local 5 // org.eclipse.jdt.core.IClasspathEntry referringEntry
         0: .line 934
            aload 1 /* imagePath */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
         1: .line 935
            new org.eclipse.jdt.internal.core.JavaProject$1
            dup
            aload 0 /* this */
            aload 1 /* imagePath */
            aload 4 /* resolvedEntry */
            aload 2 /* roots */
            aload 3 /* rootToResolvedEntries */
            aload 5 /* referringEntry */
            invokespecial org.eclipse.jdt.internal.core.JavaProject$1.<init>:(Lorg/eclipse/jdt/internal/core/JavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/Map;Lorg/eclipse/jdt/core/IClasspathEntry;)V
         2: .line 954
            getstatic org.eclipse.jdt.internal.compiler.util.JRTUtil.NOTIFY_MODULES:I
         3: .line 934
            invokestatic org.eclipse.jdt.internal.compiler.util.JRTUtil.walkModuleImage:(Ljava/io/File;Lorg/eclipse/jdt/internal/compiler/util/JRTUtil$JrtFileVisitor;I)V
         4: .line 955
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         5: pop
         6: .line 956
            iconst_4
            new java.lang.StringBuilder
            dup
            ldc "Error reading modules from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* imagePath */
            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;
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(ILjava/lang/String;)V
         7: .line 958
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.eclipse.jdt.core.IClasspathEntry referringEntry
        end local 4 // org.eclipse.jdt.core.IClasspathEntry resolvedEntry
        end local 3 // java.util.Map rootToResolvedEntries
        end local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector roots
        end local 1 // org.eclipse.core.runtime.IPath imagePath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    8     0                   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    8     1              imagePath  Lorg/eclipse/core/runtime/IPath;
            0    8     2                  roots  Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;
            0    8     3  rootToResolvedEntries  Ljava/util/Map;
            0    8     4          resolvedEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            0    8     5         referringEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
      Exception table:
        from    to  target  type
           0     4       5  Class java.io.IOException
    MethodParameters:
                       Name  Flags
      imagePath              final
      roots                  final
      rootToResolvedEntries  final
      resolvedEntry          final
      referringEntry         final

  public org.eclipse.jdt.core.IPackageFragmentRoot[] findUnfilteredPackageFragmentRoots(org.eclipse.jdt.core.IClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry entry
         0: .line 963
            aload 0 /* this */
            iconst_1
            anewarray org.eclipse.jdt.core.IClasspathEntry
            dup
            iconst_0
            aload 1 /* entry */
            aastore
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.resolveClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;)[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* resolvedEntries */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] resolvedEntries
         1: .line 964
            aload 0 /* this */
            aload 2 /* resolvedEntries */
            iconst_0
            iconst_0
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots:([Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
         2: areturn
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] resolvedEntries
         3: .line 965
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
         4: .line 967
            iconst_0
            anewarray org.eclipse.jdt.core.IPackageFragmentRoot
            areturn
        end local 1 // org.eclipse.jdt.core.IClasspathEntry entry
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    5     1            entry  Lorg/eclipse/jdt/core/IClasspathEntry;
            1    3     2  resolvedEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
      Exception table:
        from    to  target  type
           0     2       3  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      entry  

  public org.eclipse.jdt.core.IPackageFragmentRoot[] computePackageFragmentRoots(org.eclipse.jdt.core.IClasspathEntry[], boolean, boolean, java.util.Map);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        start local 2 // boolean retrieveExportedRoots
        start local 3 // boolean filterModuleRoots
        start local 4 // java.util.Map rootToResolvedEntries
         0: .line 976
            aload 0 /* this */
            aload 1 /* resolvedClasspath */
            iload 2 /* retrieveExportedRoots */
            iload 3 /* filterModuleRoots */
            aload 4 /* rootToResolvedEntries */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots:([Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;Z)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
        end local 4 // java.util.Map rootToResolvedEntries
        end local 3 // boolean filterModuleRoots
        end local 2 // boolean retrieveExportedRoots
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    1     0                   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1      resolvedClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    1     2  retrieveExportedRoots  Z
            0    1     3      filterModuleRoots  Z
            0    1     4  rootToResolvedEntries  Ljava/util/Map;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                       Name  Flags
      resolvedClasspath      
      retrieveExportedRoots  
      filterModuleRoots      
      rootToResolvedEntries  

  public org.eclipse.jdt.core.IPackageFragmentRoot[] computePackageFragmentRoots(org.eclipse.jdt.core.IClasspathEntry[], boolean, boolean, java.util.Map, boolean);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;Z)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        start local 2 // boolean retrieveExportedRoots
        start local 3 // boolean filterModuleRoots
        start local 4 // java.util.Map rootToResolvedEntries
        start local 5 // boolean excludeTestCode
         0: .line 998
            new org.eclipse.jdt.internal.compiler.util.ObjectVector
            dup
            invokespecial org.eclipse.jdt.internal.compiler.util.ObjectVector.<init>:()V
            astore 6 /* accumulatedRoots */
        start local 6 // org.eclipse.jdt.internal.compiler.util.ObjectVector accumulatedRoots
         1: .line 999
            aload 0 /* this */
         2: .line 1000
            aload 1 /* resolvedClasspath */
         3: .line 1001
            aload 6 /* accumulatedRoots */
         4: .line 1002
            new java.util.HashSet
            dup
            iconst_5
            invokespecial java.util.HashSet.<init>:(I)V
         5: .line 1003
            aconst_null
         6: .line 1004
            iload 2 /* retrieveExportedRoots */
         7: .line 1005
            iload 3 /* filterModuleRoots */
         8: .line 1006
            aload 4 /* rootToResolvedEntries */
         9: .line 1007
            iload 5 /* excludeTestCode */
        10: .line 999
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots:([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/HashSet;Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;Z)V
        11: .line 1008
            aload 6 /* accumulatedRoots */
            invokevirtual org.eclipse.jdt.internal.compiler.util.ObjectVector.size:()I
            anewarray org.eclipse.jdt.core.IPackageFragmentRoot
            astore 7 /* rootArray */
        start local 7 // org.eclipse.jdt.core.IPackageFragmentRoot[] rootArray
        12: .line 1009
            aload 6 /* accumulatedRoots */
            aload 7 /* rootArray */
            invokevirtual org.eclipse.jdt.internal.compiler.util.ObjectVector.copyInto:([Ljava/lang/Object;)V
        13: .line 1010
            aload 7 /* rootArray */
            areturn
        end local 7 // org.eclipse.jdt.core.IPackageFragmentRoot[] rootArray
        end local 6 // org.eclipse.jdt.internal.compiler.util.ObjectVector accumulatedRoots
        end local 5 // boolean excludeTestCode
        end local 4 // java.util.Map rootToResolvedEntries
        end local 3 // boolean filterModuleRoots
        end local 2 // boolean retrieveExportedRoots
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   14     0                   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   14     1      resolvedClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   14     2  retrieveExportedRoots  Z
            0   14     3      filterModuleRoots  Z
            0   14     4  rootToResolvedEntries  Ljava/util/Map;
            0   14     5        excludeTestCode  Z
            1   14     6       accumulatedRoots  Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;
           12   14     7              rootArray  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                       Name  Flags
      resolvedClasspath      
      retrieveExportedRoots  
      filterModuleRoots      
      rootToResolvedEntries  
      excludeTestCode        

  public void computePackageFragmentRoots(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.jdt.internal.compiler.util.ObjectVector, java.util.HashSet, org.eclipse.jdt.core.IClasspathEntry, boolean, boolean, java.util.Map);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/HashSet;Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=8
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        start local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector accumulatedRoots
        start local 3 // java.util.HashSet rootIDs
        start local 4 // org.eclipse.jdt.core.IClasspathEntry referringEntry
        start local 5 // boolean retrieveExportedRoots
        start local 6 // boolean filterModuleRoots
        start local 7 // java.util.Map rootToResolvedEntries
         0: .line 1022
            aload 0 /* this */
            aload 1 /* resolvedClasspath */
            aload 2 /* accumulatedRoots */
            aload 3 /* rootIDs */
            aload 4 /* referringEntry */
            iload 5 /* retrieveExportedRoots */
         1: .line 1023
            iload 6 /* filterModuleRoots */
            aload 7 /* rootToResolvedEntries */
            iconst_0
         2: .line 1022
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots:([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/HashSet;Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;Z)V
         3: .line 1024
            return
        end local 7 // java.util.Map rootToResolvedEntries
        end local 6 // boolean filterModuleRoots
        end local 5 // boolean retrieveExportedRoots
        end local 4 // org.eclipse.jdt.core.IClasspathEntry referringEntry
        end local 3 // java.util.HashSet rootIDs
        end local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector accumulatedRoots
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    4     0                   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    4     1      resolvedClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    4     2       accumulatedRoots  Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;
            0    4     3                rootIDs  Ljava/util/HashSet;
            0    4     4         referringEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            0    4     5  retrieveExportedRoots  Z
            0    4     6      filterModuleRoots  Z
            0    4     7  rootToResolvedEntries  Ljava/util/Map;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                       Name  Flags
      resolvedClasspath      
      accumulatedRoots       
      rootIDs                
      referringEntry         
      retrieveExportedRoots  
      filterModuleRoots      
      rootToResolvedEntries  

  public void computePackageFragmentRoots(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.jdt.internal.compiler.util.ObjectVector, java.util.HashSet, org.eclipse.jdt.core.IClasspathEntry, boolean, boolean, java.util.Map, boolean);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/HashSet;Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=11, args_size=9
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        start local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector accumulatedRoots
        start local 3 // java.util.HashSet rootIDs
        start local 4 // org.eclipse.jdt.core.IClasspathEntry referringEntry
        start local 5 // boolean retrieveExportedRoots
        start local 6 // boolean filterModuleRoots
        start local 7 // java.util.Map rootToResolvedEntries
        start local 8 // boolean excludeTestCode
         0: .line 1050
            aload 4 /* referringEntry */
            ifnonnull 2
         1: .line 1051
            aload 3 /* rootIDs */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.rootID:()Ljava/lang/String;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1053
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         3: aload 1 /* resolvedClasspath */
            arraylength
            istore 10 /* length */
        start local 10 // int length
         4: goto 16
         5: .line 1054
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
         6: .line 1055
            aload 1 /* resolvedClasspath */
            iload 9 /* i */
            aaload
         7: .line 1056
            aload 2 /* accumulatedRoots */
         8: .line 1057
            aload 3 /* rootIDs */
         9: .line 1058
            aload 4 /* referringEntry */
        10: .line 1059
            iload 5 /* retrieveExportedRoots */
        11: .line 1060
            iload 6 /* filterModuleRoots */
        12: .line 1061
            aload 7 /* rootToResolvedEntries */
        13: .line 1062
            iload 8 /* excludeTestCode */
        14: .line 1054
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots:(Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;Ljava/util/HashSet;Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;Z)V
        15: .line 1053
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 9 /* i */
            iload 10 /* length */
            if_icmplt 5
        end local 10 // int length
        end local 9 // int i
        17: .line 1064
            return
        end local 8 // boolean excludeTestCode
        end local 7 // java.util.Map rootToResolvedEntries
        end local 6 // boolean filterModuleRoots
        end local 5 // boolean retrieveExportedRoots
        end local 4 // org.eclipse.jdt.core.IClasspathEntry referringEntry
        end local 3 // java.util.HashSet rootIDs
        end local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector accumulatedRoots
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   18     0                   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   18     1      resolvedClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   18     2       accumulatedRoots  Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;
            0   18     3                rootIDs  Ljava/util/HashSet;
            0   18     4         referringEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            0   18     5  retrieveExportedRoots  Z
            0   18     6      filterModuleRoots  Z
            0   18     7  rootToResolvedEntries  Ljava/util/Map;
            0   18     8        excludeTestCode  Z
            3   17     9                      i  I
            4   17    10                 length  I
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                       Name  Flags
      resolvedClasspath      
      accumulatedRoots       
      rootIDs                
      referringEntry         
      retrieveExportedRoots  
      filterModuleRoots      
      rootToResolvedEntries  
      excludeTestCode        

  public java.lang.String computeSharedPropertyFileName(org.eclipse.core.runtime.QualifiedName);
    descriptor: (Lorg/eclipse/core/runtime/QualifiedName;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.QualifiedName qName
         0: .line 1072
            new java.lang.StringBuilder
            dup
            bipush 46
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* qName */
            invokevirtual org.eclipse.core.runtime.QualifiedName.getLocalName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // org.eclipse.core.runtime.QualifiedName qName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  qName  Lorg/eclipse/core/runtime/QualifiedName;
    MethodParameters:
       Name  Flags
      qName  

  public void configure();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 1082
            aload 0 /* this */
            ldc "org.eclipse.jdt.core.javabuilder"
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.addToBuildSpec:(Ljava/lang/String;)V
         1: .line 1083
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException

  public boolean contains(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=13, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.resources.IResource resource
         0: .line 1095
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* classpath */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] classpath
         1: .line 1096
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOutputLocation:()Lorg/eclipse/core/runtime/IPath;
            astore 3 /* output */
        start local 3 // org.eclipse.core.runtime.IPath output
         2: .line 1097
            goto 5
        end local 3 // org.eclipse.core.runtime.IPath output
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] classpath
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
         3: pop
         4: .line 1098
            iconst_0
            ireturn
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        start local 3 // org.eclipse.core.runtime.IPath output
         5: .line 1101
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 1 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            astore 4 /* fullPath */
        start local 4 // org.eclipse.core.runtime.IPath fullPath
         6: .line 1102
            aload 3 /* output */
            aload 4 /* fullPath */
            invokeinterface org.eclipse.core.runtime.IPath.isPrefixOf:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 7
            aload 3 /* output */
            goto 8
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
         7: aconst_null
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.IPath
         8: astore 5 /* innerMostOutput */
        start local 5 // org.eclipse.core.runtime.IPath innerMostOutput
         9: .line 1103
            aconst_null
            astore 6 /* innerMostEntry */
        start local 6 // org.eclipse.jdt.core.IClasspathEntry innerMostEntry
        10: .line 1104
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getExternalManager:()Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
            astore 7 /* foldersManager */
        start local 7 // org.eclipse.jdt.internal.core.ExternalFoldersManager foldersManager
        11: .line 1105
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        12: aload 2 /* classpath */
            arraylength
            istore 9 /* cpLength */
        start local 9 // int cpLength
        13: goto 27
        14: .line 1106
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.resources.IResource org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.internal.core.ExternalFoldersManager int int
      StackMap stack:
            aload 2 /* classpath */
            iload 8 /* j */
            aaload
            astore 10 /* entry */
        start local 10 // org.eclipse.jdt.core.IClasspathEntry entry
        15: .line 1108
            aload 10 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 11 /* entryPath */
        start local 11 // org.eclipse.core.runtime.IPath entryPath
        16: .line 1109
            aload 10 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_1
            if_icmpne 20
        17: .line 1110
            aload 7 /* foldersManager */
            aload 11 /* entryPath */
            invokevirtual org.eclipse.jdt.internal.core.ExternalFoldersManager.getFolder:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IFolder;
            astore 12 /* linkedFolder */
        start local 12 // org.eclipse.core.resources.IResource linkedFolder
        18: .line 1111
            aload 12 /* linkedFolder */
            ifnull 20
        19: .line 1112
            aload 12 /* linkedFolder */
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            astore 11 /* entryPath */
        end local 12 // org.eclipse.core.resources.IResource linkedFolder
        20: .line 1114
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 6 /* innerMostEntry */
            ifnull 21
            aload 6 /* innerMostEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 11 /* entryPath */
            invokeinterface org.eclipse.core.runtime.IPath.isPrefixOf:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 23
        21: .line 1115
      StackMap locals:
      StackMap stack:
            aload 11 /* entryPath */
            aload 4 /* fullPath */
            invokeinterface org.eclipse.core.runtime.IPath.isPrefixOf:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 23
        22: .line 1116
            aload 10 /* entry */
            astore 6 /* innerMostEntry */
        23: .line 1118
      StackMap locals:
      StackMap stack:
            aload 2 /* classpath */
            iload 8 /* j */
            aaload
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getOutputLocation:()Lorg/eclipse/core/runtime/IPath;
            astore 12 /* entryOutput */
        start local 12 // org.eclipse.core.runtime.IPath entryOutput
        24: .line 1119
            aload 12 /* entryOutput */
            ifnull 26
            aload 12 /* entryOutput */
            aload 4 /* fullPath */
            invokeinterface org.eclipse.core.runtime.IPath.isPrefixOf:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 26
        25: .line 1120
            aload 12 /* entryOutput */
            astore 5 /* innerMostOutput */
        end local 12 // org.eclipse.core.runtime.IPath entryOutput
        end local 11 // org.eclipse.core.runtime.IPath entryPath
        end local 10 // org.eclipse.jdt.core.IClasspathEntry entry
        26: .line 1105
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        27: iload 8 /* j */
            iload 9 /* cpLength */
            if_icmplt 14
        end local 9 // int cpLength
        end local 8 // int j
        28: .line 1123
            aload 6 /* innerMostEntry */
            ifnull 41
        29: .line 1125
            aload 5 /* innerMostOutput */
            ifnull 32
            aload 5 /* innerMostOutput */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            iconst_1
            if_icmple 32
        30: .line 1126
            aload 6 /* innerMostEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            iconst_1
            if_icmpne 32
        31: .line 1127
            iconst_0
            ireturn
        32: .line 1129
      StackMap locals:
      StackMap stack:
            aload 1 /* resource */
            instanceof org.eclipse.core.resources.IFolder
            ifeq 34
        33: .line 1131
            iconst_1
            ireturn
        34: .line 1133
      StackMap locals:
      StackMap stack:
            aload 6 /* innerMostEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 1 - 3
                    1: 38
                    2: 41
                    3: 35
              default: 41
          }
        35: .line 1136
      StackMap locals:
      StackMap stack:
            aload 4 /* fullPath */
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.isClassFileName:(Ljava/lang/String;)Z
            ifeq 36
            iconst_0
            goto 37
      StackMap locals:
      StackMap stack:
        36: iconst_1
      StackMap locals:
      StackMap stack: int
        37: ireturn
        38: .line 1139
      StackMap locals:
      StackMap stack:
            aload 4 /* fullPath */
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.isJavaLikeFileName:(Ljava/lang/String;)Z
            ifeq 39
            iconst_0
            goto 40
      StackMap locals:
      StackMap stack:
        39: iconst_1
      StackMap locals:
      StackMap stack: int
        40: ireturn
        41: .line 1142
      StackMap locals:
      StackMap stack:
            aload 5 /* innerMostOutput */
            ifnull 43
        42: .line 1143
            iconst_0
            ireturn
        43: .line 1145
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 7 // org.eclipse.jdt.internal.core.ExternalFoldersManager foldersManager
        end local 6 // org.eclipse.jdt.core.IClasspathEntry innerMostEntry
        end local 5 // org.eclipse.core.runtime.IPath innerMostOutput
        end local 4 // org.eclipse.core.runtime.IPath fullPath
        end local 3 // org.eclipse.core.runtime.IPath output
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        end local 1 // org.eclipse.core.resources.IResource resource
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   44     0             this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   44     1         resource  Lorg/eclipse/core/resources/IResource;
            1    3     2        classpath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            5   44     2        classpath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            2    3     3           output  Lorg/eclipse/core/runtime/IPath;
            5   44     3           output  Lorg/eclipse/core/runtime/IPath;
            6   44     4         fullPath  Lorg/eclipse/core/runtime/IPath;
            9   44     5  innerMostOutput  Lorg/eclipse/core/runtime/IPath;
           10   44     6   innerMostEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
           11   44     7   foldersManager  Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
           12   28     8                j  I
           13   28     9         cpLength  I
           15   26    10            entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           16   26    11        entryPath  Lorg/eclipse/core/runtime/IPath;
           18   20    12     linkedFolder  Lorg/eclipse/core/resources/IResource;
           24   26    12      entryOutput  Lorg/eclipse/core/runtime/IPath;
      Exception table:
        from    to  target  type
           0     2       3  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      resource  

  public void createClasspathProblemMarker(org.eclipse.jdt.core.IJavaModelStatus);
    descriptor: (Lorg/eclipse/jdt/core/IJavaModelStatus;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IJavaModelStatus status
         0: .line 1153
            aconst_null
            astore 2 /* marker */
        start local 2 // org.eclipse.core.resources.IMarker marker
         1: .line 1155
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            astore 4 /* arguments */
        start local 4 // java.lang.String[] arguments
         2: .line 1156
            iconst_0
            istore 5 /* isCycleProblem */
        start local 5 // boolean isCycleProblem
         3: iconst_0
            istore 6 /* isClasspathFileFormatProblem */
        start local 6 // boolean isClasspathFileFormatProblem
         4: iconst_0
            istore 7 /* isOutputOverlapping */
        start local 7 // boolean isOutputOverlapping
         5: .line 1157
            aload 1 /* status */
            invokeinterface org.eclipse.jdt.core.IJavaModelStatus.getCode:()I
            lookupswitch { // 5
                 1000: 12
                 1001: 6
                 1004: 15
                 1013: 23
                 1017: 32
              default: 37
          }
         6: .line 1160
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IJavaModelStatus org.eclipse.core.resources.IMarker top java.lang.String[] int int int
      StackMap stack:
            iconst_1
            istore 5 /* isCycleProblem */
         7: .line 1161
            ldc "error"
            aload 0 /* this */
            ldc "org.eclipse.jdt.core.circularClasspath"
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 1162
            iconst_2
            istore 3 /* severity */
        start local 3 // int severity
         9: .line 1163
            goto 44
        end local 3 // int severity
        10: .line 1164
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* severity */
        start local 3 // int severity
        11: .line 1166
            goto 44
        end local 3 // int severity
        12: .line 1169
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* isClasspathFileFormatProblem */
        13: .line 1170
            iconst_2
            istore 3 /* severity */
        start local 3 // int severity
        14: .line 1171
            goto 44
        end local 3 // int severity
        15: .line 1174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.eclipse.jdt.core.incompatibleJDKLevel"
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 8 /* setting */
        start local 8 // java.lang.String setting
        16: .line 1175
            ldc "error"
            aload 8 /* setting */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        17: .line 1176
            iconst_2
            istore 3 /* severity */
        start local 3 // int severity
        18: .line 1177
            goto 44
        end local 3 // int severity
      StackMap locals: java.lang.String
      StackMap stack:
        19: ldc "warning"
            aload 8 /* setting */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        20: .line 1178
            iconst_1
            istore 3 /* severity */
        start local 3 // int severity
        21: .line 1179
            goto 44
        end local 3 // int severity
        22: .line 1180
      StackMap locals:
      StackMap stack:
            return
        end local 8 // java.lang.String setting
        23: .line 1184
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* isOutputOverlapping */
        24: .line 1185
            aload 0 /* this */
            ldc "org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource"
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 8 /* setting */
        start local 8 // java.lang.String setting
        25: .line 1186
            ldc "error"
            aload 8 /* setting */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        26: .line 1187
            iconst_2
            istore 3 /* severity */
        start local 3 // int severity
        27: .line 1188
            goto 44
        end local 3 // int severity
      StackMap locals: java.lang.String
      StackMap stack:
        28: ldc "warning"
            aload 8 /* setting */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
        29: .line 1189
            iconst_1
            istore 3 /* severity */
        start local 3 // int severity
        30: .line 1190
            goto 44
        end local 3 // int severity
        31: .line 1191
      StackMap locals:
      StackMap stack:
            return
        end local 8 // java.lang.String setting
        32: .line 1195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency"
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 8 /* setting */
        start local 8 // java.lang.String setting
        33: .line 1196
            ldc "error"
            aload 8 /* setting */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 36
        34: .line 1197
            iconst_2
            istore 3 /* severity */
        start local 3 // int severity
        35: .line 1198
            goto 44
        end local 3 // int severity
        36: .line 1199
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 8 // java.lang.String setting
        37: .line 1203
      StackMap locals:
      StackMap stack:
            aload 1 /* status */
            invokeinterface org.eclipse.jdt.core.IJavaModelStatus.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 9 /* path */
        start local 9 // org.eclipse.core.runtime.IPath path
        38: .line 1204
            aload 9 /* path */
            ifnull 39
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 9 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            aastore
            astore 4 /* arguments */
        39: .line 1205
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IJavaModelStatus org.eclipse.core.resources.IMarker top java.lang.String[] int int int top org.eclipse.core.runtime.IPath
      StackMap stack:
            ldc "error"
            aload 0 /* this */
            ldc "org.eclipse.jdt.core.incompleteClasspath"
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 43
        40: .line 1206
            aload 1 /* status */
            invokeinterface org.eclipse.jdt.core.IJavaModelStatus.getSeverity:()I
            iconst_2
            if_icmpeq 43
        41: .line 1207
            iconst_2
            istore 3 /* severity */
        start local 3 // int severity
        42: .line 1208
            goto 44
        end local 3 // int severity
        43: .line 1209
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* severity */
        end local 9 // org.eclipse.core.runtime.IPath path
        start local 3 // int severity
        44: .line 1215
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IJavaModelStatus org.eclipse.core.resources.IMarker int java.lang.String[] int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            ldc "org.eclipse.jdt.core.buildpath_problem"
            invokeinterface org.eclipse.core.resources.IProject.createMarker:(Ljava/lang/String;)Lorg/eclipse/core/resources/IMarker;
            astore 2 /* marker */
        45: .line 1216
            aload 2 /* marker */
        46: .line 1217
            bipush 10
            anewarray java.lang.String
            dup
            iconst_0
        47: .line 1218
            ldc "message"
            aastore
            dup
            iconst_1
        48: .line 1219
            ldc "severity"
            aastore
            dup
            iconst_2
        49: .line 1220
            ldc "location"
            aastore
            dup
            iconst_3
        50: .line 1221
            ldc "cycleDetected"
            aastore
            dup
            iconst_4
        51: .line 1222
            ldc "classpathFileFormat"
            aastore
            dup
            iconst_5
        52: .line 1223
            ldc "outputOverlappingSource"
            aastore
            dup
            bipush 6
        53: .line 1224
            ldc "id"
            aastore
            dup
            bipush 7
        54: .line 1225
            ldc "arguments"
            aastore
            dup
            bipush 8
        55: .line 1226
            ldc "categoryId"
            aastore
            dup
            bipush 9
        56: .line 1227
            ldc "sourceId"
            aastore
        57: .line 1229
            bipush 10
            anewarray java.lang.Object
            dup
            iconst_0
        58: .line 1230
            aload 1 /* status */
            invokeinterface org.eclipse.jdt.core.IJavaModelStatus.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        59: .line 1231
            iload 3 /* severity */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
        60: .line 1232
            getstatic org.eclipse.jdt.internal.core.util.Messages.classpath_buildPath:Ljava/lang/String;
            aastore
            dup
            iconst_3
        61: .line 1233
            iload 5 /* isCycleProblem */
            ifeq 62
            ldc "true"
            goto 63
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IJavaModelStatus org.eclipse.core.resources.IMarker int java.lang.String[] int int int
      StackMap stack: org.eclipse.core.resources.IMarker java.lang.String[] java.lang.Object[] java.lang.Object[] int
        62: ldc "false"
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IJavaModelStatus org.eclipse.core.resources.IMarker int java.lang.String[] int int int
      StackMap stack: org.eclipse.core.resources.IMarker java.lang.String[] java.lang.Object[] java.lang.Object[] int java.lang.String
        63: aastore
            dup
            iconst_4
        64: .line 1234
            iload 6 /* isClasspathFileFormatProblem */
            ifeq 65
            ldc "true"
            goto 66
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IJavaModelStatus org.eclipse.core.resources.IMarker int java.lang.String[] int int int
      StackMap stack: org.eclipse.core.resources.IMarker java.lang.String[] java.lang.Object[] java.lang.Object[] int
        65: ldc "false"
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IJavaModelStatus org.eclipse.core.resources.IMarker int java.lang.String[] int int int
      StackMap stack: org.eclipse.core.resources.IMarker java.lang.String[] java.lang.Object[] java.lang.Object[] int java.lang.String
        66: aastore
            dup
            iconst_5
        67: .line 1235
            iload 7 /* isOutputOverlapping */
            ifeq 68
            ldc "true"
            goto 69
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IJavaModelStatus org.eclipse.core.resources.IMarker int java.lang.String[] int int int
      StackMap stack: org.eclipse.core.resources.IMarker java.lang.String[] java.lang.Object[] java.lang.Object[] int
        68: ldc "false"
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IJavaModelStatus org.eclipse.core.resources.IMarker int java.lang.String[] int int int
      StackMap stack: org.eclipse.core.resources.IMarker java.lang.String[] java.lang.Object[] java.lang.Object[] int java.lang.String
        69: aastore
            dup
            bipush 6
        70: .line 1236
            aload 1 /* status */
            invokeinterface org.eclipse.jdt.core.IJavaModelStatus.getCode:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            bipush 7
        71: .line 1237
            aload 4 /* arguments */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getProblemArgumentsForMarker:([Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            bipush 8
        72: .line 1238
            bipush 10
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            bipush 9
        73: .line 1239
            ldc "JDT"
            aastore
        74: .line 1216
            invokeinterface org.eclipse.core.resources.IMarker.setAttributes:([Ljava/lang/String;[Ljava/lang/Object;)V
        75: .line 1242
            goto 79
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
        76: astore 8 /* e */
        start local 8 // org.eclipse.core.runtime.CoreException e
        77: .line 1244
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 79
        78: .line 1245
            aload 8 /* e */
            invokevirtual org.eclipse.core.runtime.CoreException.printStackTrace:()V
        end local 8 // org.eclipse.core.runtime.CoreException e
        79: .line 1248
      StackMap locals:
      StackMap stack:
            return
        end local 7 // boolean isOutputOverlapping
        end local 6 // boolean isClasspathFileFormatProblem
        end local 5 // boolean isCycleProblem
        end local 4 // java.lang.String[] arguments
        end local 3 // int severity
        end local 2 // org.eclipse.core.resources.IMarker marker
        end local 1 // org.eclipse.jdt.core.IJavaModelStatus status
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   80     0                          this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   80     1                        status  Lorg/eclipse/jdt/core/IJavaModelStatus;
            1   80     2                        marker  Lorg/eclipse/core/resources/IMarker;
            9   10     3                      severity  I
           11   12     3                      severity  I
           14   15     3                      severity  I
           18   19     3                      severity  I
           21   22     3                      severity  I
           27   28     3                      severity  I
           30   31     3                      severity  I
           35   36     3                      severity  I
           42   43     3                      severity  I
           44   80     3                      severity  I
            2   80     4                     arguments  [Ljava/lang/String;
            3   80     5                isCycleProblem  Z
            4   80     6  isClasspathFileFormatProblem  Z
            5   80     7           isOutputOverlapping  Z
           16   23     8                       setting  Ljava/lang/String;
           25   32     8                       setting  Ljava/lang/String;
           33   37     8                       setting  Ljava/lang/String;
           38   44     9                          path  Lorg/eclipse/core/runtime/IPath;
           77   79     8                             e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
          44    75      76  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
        Name  Flags
      status  

  protected java.lang.Object createElementInfo();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 1255
            new org.eclipse.jdt.internal.core.JavaProjectElementInfo
            dup
            invokespecial org.eclipse.jdt.internal.core.JavaProjectElementInfo.<init>:()V
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

  public org.eclipse.jdt.core.IClasspathEntry[][] decodeClasspath(java.lang.String, java.util.Map);
    descriptor: (Ljava/lang/String;Ljava/util/Map;)[[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=14, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String xmlClasspath
        start local 2 // java.util.Map unknownElements
         0: .line 1266
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* paths */
        start local 3 // java.util.ArrayList paths
         1: .line 1267
            aconst_null
            astore 4 /* defaultOutput */
        start local 4 // org.eclipse.jdt.core.IClasspathEntry defaultOutput
         2: .line 1268
            new java.io.StringReader
            dup
            aload 1 /* xmlClasspath */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            astore 5 /* reader */
        start local 5 // java.io.StringReader reader
         3: .line 1271
            invokestatic javax.xml.parsers.DocumentBuilderFactory.newInstance:()Ljavax/xml/parsers/DocumentBuilderFactory;
            invokevirtual javax.xml.parsers.DocumentBuilderFactory.newDocumentBuilder:()Ljavax/xml/parsers/DocumentBuilder;
            astore 7 /* parser */
        start local 7 // javax.xml.parsers.DocumentBuilder parser
         4: .line 1272
            aload 7 /* parser */
            new org.xml.sax.InputSource
            dup
            aload 5 /* reader */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/Reader;)V
            invokevirtual javax.xml.parsers.DocumentBuilder.parse:(Lorg/xml/sax/InputSource;)Lorg/w3c/dom/Document;
            invokeinterface org.w3c.dom.Document.getDocumentElement:()Lorg/w3c/dom/Element;
            astore 6 /* cpElement */
        end local 7 // javax.xml.parsers.DocumentBuilder parser
        start local 6 // org.w3c.dom.Element cpElement
         5: .line 1273
            goto 11
        end local 6 // org.w3c.dom.Element cpElement
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.lang.String java.util.Map java.util.ArrayList org.eclipse.jdt.core.IClasspathEntry java.io.StringReader
      StackMap stack: java.lang.Exception
         6: astore 7 /* e */
        start local 7 // java.lang.Exception e
         7: .line 1274
            new java.io.IOException
            dup
            getstatic org.eclipse.jdt.internal.core.util.Messages.file_badFormat:Ljava/lang/String;
            aload 7 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.lang.Exception e
         8: .line 1275
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
         9: .line 1276
            aload 5 /* reader */
            invokevirtual java.io.StringReader.close:()V
        10: .line 1277
            aload 8
            athrow
        start local 6 // org.w3c.dom.Element cpElement
        11: .line 1276
      StackMap locals: org.w3c.dom.Element
      StackMap stack:
            aload 5 /* reader */
            invokevirtual java.io.StringReader.close:()V
        12: .line 1279
            aload 6 /* cpElement */
            invokeinterface org.w3c.dom.Element.getNodeName:()Ljava/lang/String;
            ldc "classpath"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 14
        13: .line 1280
            new java.io.IOException
            dup
            getstatic org.eclipse.jdt.internal.core.util.Messages.file_badFormat:Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 1282
      StackMap locals:
      StackMap stack:
            aload 6 /* cpElement */
            ldc "classpathentry"
            invokeinterface org.w3c.dom.Element.getElementsByTagName:(Ljava/lang/String;)Lorg/w3c/dom/NodeList;
            astore 7 /* list */
        start local 7 // org.w3c.dom.NodeList list
        15: .line 1283
            aload 7 /* list */
            invokeinterface org.w3c.dom.NodeList.getLength:()I
            istore 8 /* length */
        start local 8 // int length
        16: .line 1285
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        17: goto 27
        18: .line 1286
      StackMap locals: org.w3c.dom.NodeList int int
      StackMap stack:
            aload 7 /* list */
            iload 9 /* i */
            invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
            astore 10 /* node */
        start local 10 // org.w3c.dom.Node node
        19: .line 1287
            aload 10 /* node */
            invokeinterface org.w3c.dom.Node.getNodeType:()S
            iconst_1
            if_icmpne 26
        20: .line 1288
            aload 10 /* node */
            checkcast org.w3c.dom.Element
            aload 0 /* this */
            aload 2 /* unknownElements */
            invokestatic org.eclipse.jdt.internal.core.ClasspathEntry.elementDecode:(Lorg/w3c/dom/Element;Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/Map;)Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 11 /* entry */
        start local 11 // org.eclipse.jdt.core.IClasspathEntry entry
        21: .line 1289
            aload 11 /* entry */
            ifnull 26
        22: .line 1290
            aload 11 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getContentKind:()I
            bipush 10
            if_icmpne 25
        23: .line 1291
            aload 11 /* entry */
            astore 4 /* defaultOutput */
        24: .line 1292
            goto 26
        25: .line 1293
      StackMap locals: org.w3c.dom.Node org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 3 /* paths */
            aload 11 /* entry */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // org.eclipse.jdt.core.IClasspathEntry entry
        end local 10 // org.w3c.dom.Node node
        26: .line 1285
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 9 /* i */
            iload 8 /* length */
            if_icmplt 18
        end local 9 // int i
        28: .line 1298
            aload 3 /* paths */
            invokevirtual java.util.ArrayList.size:()I
            istore 9 /* pathSize */
        start local 9 // int pathSize
        29: .line 1299
            iconst_2
            anewarray org.eclipse.jdt.core.IClasspathEntry[]
            astore 10 /* entries */
        start local 10 // org.eclipse.jdt.core.IClasspathEntry[][] entries
        30: .line 1300
            aload 10 /* entries */
            iconst_0
            iload 9 /* pathSize */
            aload 4 /* defaultOutput */
            ifnonnull 31
            iconst_0
            goto 32
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.lang.String java.util.Map java.util.ArrayList org.eclipse.jdt.core.IClasspathEntry java.io.StringReader org.w3c.dom.Element org.w3c.dom.NodeList int int org.eclipse.jdt.core.IClasspathEntry[][]
      StackMap stack: org.eclipse.jdt.core.IClasspathEntry[][] int int
        31: iconst_1
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.lang.String java.util.Map java.util.ArrayList org.eclipse.jdt.core.IClasspathEntry java.io.StringReader org.w3c.dom.Element org.w3c.dom.NodeList int int org.eclipse.jdt.core.IClasspathEntry[][]
      StackMap stack: org.eclipse.jdt.core.IClasspathEntry[][] int int int
        32: iadd
            anewarray org.eclipse.jdt.core.IClasspathEntry
            aastore
        33: .line 1301
            aload 3 /* paths */
            aload 10 /* entries */
            iconst_0
            aaload
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        34: .line 1302
            aload 4 /* defaultOutput */
            ifnull 35
            aload 10 /* entries */
            iconst_0
            aaload
            iload 9 /* pathSize */
            aload 4 /* defaultOutput */
            aastore
        35: .line 1304
      StackMap locals:
      StackMap stack:
            aload 3 /* paths */
            invokevirtual java.util.ArrayList.clear:()V
        36: .line 1305
            aload 6 /* cpElement */
            ldc "referencedentry"
            invokeinterface org.w3c.dom.Element.getElementsByTagName:(Ljava/lang/String;)Lorg/w3c/dom/NodeList;
            astore 7 /* list */
        37: .line 1306
            aload 7 /* list */
            invokeinterface org.w3c.dom.NodeList.getLength:()I
            istore 8 /* length */
        38: .line 1308
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        39: goto 46
        40: .line 1309
      StackMap locals: int
      StackMap stack:
            aload 7 /* list */
            iload 11 /* i */
            invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
            astore 12 /* node */
        start local 12 // org.w3c.dom.Node node
        41: .line 1310
            aload 12 /* node */
            invokeinterface org.w3c.dom.Node.getNodeType:()S
            iconst_1
            if_icmpne 45
        42: .line 1311
            aload 12 /* node */
            checkcast org.w3c.dom.Element
            aload 0 /* this */
            aload 2 /* unknownElements */
            invokestatic org.eclipse.jdt.internal.core.ClasspathEntry.elementDecode:(Lorg/w3c/dom/Element;Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/Map;)Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 13 /* entry */
        start local 13 // org.eclipse.jdt.core.IClasspathEntry entry
        43: .line 1312
            aload 13 /* entry */
            ifnull 45
        44: .line 1313
            aload 3 /* paths */
            aload 13 /* entry */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // org.eclipse.jdt.core.IClasspathEntry entry
        end local 12 // org.w3c.dom.Node node
        45: .line 1308
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        46: iload 11 /* i */
            iload 8 /* length */
            if_icmplt 40
        end local 11 // int i
        47: .line 1317
            aload 10 /* entries */
            iconst_1
            aload 3 /* paths */
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.jdt.core.IClasspathEntry
            aastore
        48: .line 1318
            aload 3 /* paths */
            aload 10 /* entries */
            iconst_1
            aaload
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        49: .line 1320
            aload 10 /* entries */
            areturn
        end local 10 // org.eclipse.jdt.core.IClasspathEntry[][] entries
        end local 9 // int pathSize
        end local 8 // int length
        end local 7 // org.w3c.dom.NodeList list
        end local 6 // org.w3c.dom.Element cpElement
        end local 5 // java.io.StringReader reader
        end local 4 // org.eclipse.jdt.core.IClasspathEntry defaultOutput
        end local 3 // java.util.ArrayList paths
        end local 2 // java.util.Map unknownElements
        end local 1 // java.lang.String xmlClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   50     0             this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   50     1     xmlClasspath  Ljava/lang/String;
            0   50     2  unknownElements  Ljava/util/Map;
            1   50     3            paths  Ljava/util/ArrayList;
            2   50     4    defaultOutput  Lorg/eclipse/jdt/core/IClasspathEntry;
            3   50     5           reader  Ljava/io/StringReader;
            5    6     6        cpElement  Lorg/w3c/dom/Element;
           11   50     6        cpElement  Lorg/w3c/dom/Element;
            4    5     7           parser  Ljavax/xml/parsers/DocumentBuilder;
            7    8     7                e  Ljava/lang/Exception;
           15   50     7             list  Lorg/w3c/dom/NodeList;
           16   50     8           length  I
           17   28     9                i  I
           19   26    10             node  Lorg/w3c/dom/Node;
           21   26    11            entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           29   50     9         pathSize  I
           30   50    10          entries  [[Lorg/eclipse/jdt/core/IClasspathEntry;
           39   47    11                i  I
           41   45    12             node  Lorg/w3c/dom/Node;
           43   45    13            entry  Lorg/eclipse/jdt/core/IClasspathEntry;
      Exception table:
        from    to  target  type
           3     5       6  Class org.xml.sax.SAXException
           3     5       6  Class javax.xml.parsers.ParserConfigurationException
           3     8       8  any
    Exceptions:
      throws java.io.IOException, org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException
    MethodParameters:
                 Name  Flags
      xmlClasspath     
      unknownElements  

  public org.eclipse.jdt.core.IClasspathEntry decodeClasspathEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String encodedEntry
         0: .line 1327
            aload 1 /* encodedEntry */
            ifnonnull 2
         1: aconst_null
            areturn
         2: .line 1328
      StackMap locals:
      StackMap stack:
            new java.io.StringReader
            dup
            aload 1 /* encodedEntry */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            astore 2 /* reader */
        start local 2 // java.io.StringReader reader
         3: .line 1333
            invokestatic javax.xml.parsers.DocumentBuilderFactory.newInstance:()Ljavax/xml/parsers/DocumentBuilderFactory;
            invokevirtual javax.xml.parsers.DocumentBuilderFactory.newDocumentBuilder:()Ljavax/xml/parsers/DocumentBuilder;
         4: .line 1332
            astore 4 /* parser */
        start local 4 // javax.xml.parsers.DocumentBuilder parser
         5: .line 1334
            aload 4 /* parser */
            new org.xml.sax.InputSource
            dup
            aload 2 /* reader */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/Reader;)V
            invokevirtual javax.xml.parsers.DocumentBuilder.parse:(Lorg/xml/sax/InputSource;)Lorg/w3c/dom/Document;
            invokeinterface org.w3c.dom.Document.getDocumentElement:()Lorg/w3c/dom/Element;
            astore 3 /* node */
        end local 4 // javax.xml.parsers.DocumentBuilder parser
        start local 3 // org.w3c.dom.Element node
         6: .line 1335
            goto 13
        end local 3 // org.w3c.dom.Element node
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.lang.String java.io.StringReader
      StackMap stack: java.lang.Exception
         7: pop
         8: .line 1338
            aload 2 /* reader */
            invokevirtual java.io.StringReader.close:()V
         9: .line 1336
            aconst_null
            areturn
        10: .line 1337
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        11: .line 1338
            aload 2 /* reader */
            invokevirtual java.io.StringReader.close:()V
        12: .line 1339
            aload 5
            athrow
        start local 3 // org.w3c.dom.Element node
        13: .line 1338
      StackMap locals: org.w3c.dom.Element
      StackMap stack:
            aload 2 /* reader */
            invokevirtual java.io.StringReader.close:()V
        14: .line 1341
            aload 3 /* node */
            invokeinterface org.w3c.dom.Element.getNodeName:()Ljava/lang/String;
            ldc "classpathentry"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 16
        15: .line 1342
            aload 3 /* node */
            invokeinterface org.w3c.dom.Element.getNodeType:()S
            iconst_1
            if_icmpeq 17
        16: .line 1343
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        17: .line 1345
      StackMap locals:
      StackMap stack:
            aload 3 /* node */
            aload 0 /* this */
            aconst_null
            invokestatic org.eclipse.jdt.internal.core.ClasspathEntry.elementDecode:(Lorg/w3c/dom/Element;Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/Map;)Lorg/eclipse/jdt/core/IClasspathEntry;
        18: areturn
        end local 3 // org.w3c.dom.Element node
        end local 2 // java.io.StringReader reader
        19: .line 1346
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.lang.String
      StackMap stack: java.io.IOException
            pop
        20: .line 1348
            aconst_null
            areturn
        end local 1 // java.lang.String encodedEntry
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   21     1  encodedEntry  Ljava/lang/String;
            3   19     2        reader  Ljava/io/StringReader;
            6    7     3          node  Lorg/w3c/dom/Element;
           13   19     3          node  Lorg/w3c/dom/Element;
            5    6     4        parser  Ljavax/xml/parsers/DocumentBuilder;
      Exception table:
        from    to  target  type
           3     6       7  Class org.xml.sax.SAXException
           3     6       7  Class javax.xml.parsers.ParserConfigurationException
           3     8      10  any
           0     1      19  Class java.io.IOException
           2     9      19  Class java.io.IOException
          10    16      19  Class java.io.IOException
          17    18      19  Class java.io.IOException
    MethodParameters:
              Name  Flags
      encodedEntry  

  public void deconfigure();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 1360
            aload 0 /* this */
            ldc "org.eclipse.jdt.core.javabuilder"
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.removeFromBuildSpec:(Ljava/lang/String;)V
         1: .line 1364
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException

  protected org.eclipse.jdt.core.IClasspathEntry[] defaultClasspath();
    descriptor: ()[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 1372
            iconst_1
            anewarray org.eclipse.jdt.core.IClasspathEntry
            dup
            iconst_0
         1: .line 1373
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokestatic org.eclipse.jdt.core.JavaCore.newSourceEntry:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
            aastore
         2: .line 1372
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

  protected org.eclipse.core.runtime.IPath defaultOutputLocation();
    descriptor: ()Lorg/eclipse/core/runtime/IPath;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 1381
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            ldc "bin"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

  protected java.lang.String encodeClasspath(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.core.runtime.IPath, boolean, java.util.Map);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;ZLjava/util/Map;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=10, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] referencedEntries
        start local 3 // org.eclipse.core.runtime.IPath outputLocation
        start local 4 // boolean indent
        start local 5 // java.util.Map unknownElements
         0: .line 1389
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 6 /* s */
        start local 6 // java.io.ByteArrayOutputStream s
         1: .line 1390
            new java.io.OutputStreamWriter
            dup
            aload 6 /* s */
            ldc "UTF8"
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
            astore 7 /* writer */
        start local 7 // java.io.OutputStreamWriter writer
         2: .line 1391
            new org.eclipse.jdt.internal.core.XMLWriter
            dup
            aload 7 /* writer */
            aload 0 /* this */
            iconst_1
            invokespecial org.eclipse.jdt.internal.core.XMLWriter.<init>:(Ljava/io/Writer;Lorg/eclipse/jdt/core/IJavaProject;Z)V
            astore 8 /* xmlWriter */
        start local 8 // org.eclipse.jdt.internal.core.XMLWriter xmlWriter
         3: .line 1393
            aload 8 /* xmlWriter */
            ldc "classpath"
            iload 4 /* indent */
            invokevirtual org.eclipse.jdt.internal.core.XMLWriter.startTag:(Ljava/lang/String;Z)V
         4: .line 1394
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         5: goto 8
         6: .line 1395
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.core.runtime.IPath int java.util.Map java.io.ByteArrayOutputStream java.io.OutputStreamWriter org.eclipse.jdt.internal.core.XMLWriter int
      StackMap stack:
            aload 1 /* classpath */
            iload 9 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            aload 8 /* xmlWriter */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            iload 4 /* indent */
            iconst_1
            aload 5 /* unknownElements */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.elementEncode:(Lorg/eclipse/jdt/internal/core/XMLWriter;Lorg/eclipse/core/runtime/IPath;ZZLjava/util/Map;Z)V
         7: .line 1394
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 9 /* i */
            aload 1 /* classpath */
            arraylength
            if_icmplt 6
        end local 9 // int i
         9: .line 1398
            aload 3 /* outputLocation */
            ifnull 16
        10: .line 1399
            aload 3 /* outputLocation */
            iconst_1
            invokeinterface org.eclipse.core.runtime.IPath.removeFirstSegments:(I)Lorg/eclipse/core/runtime/IPath;
            astore 3 /* outputLocation */
        11: .line 1400
            aload 3 /* outputLocation */
            invokeinterface org.eclipse.core.runtime.IPath.makeRelative:()Lorg/eclipse/core/runtime/IPath;
            astore 3 /* outputLocation */
        12: .line 1401
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 9 /* parameters */
        start local 9 // java.util.HashMap parameters
        13: .line 1402
            aload 9 /* parameters */
            ldc "kind"
            bipush 10
            invokestatic org.eclipse.jdt.internal.core.ClasspathEntry.kindToString:(I)Ljava/lang/String;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 1403
            aload 9 /* parameters */
            ldc "path"
            aload 3 /* outputLocation */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 1404
            aload 8 /* xmlWriter */
            ldc "classpathentry"
            aload 9 /* parameters */
            iload 4 /* indent */
            iconst_1
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.XMLWriter.printTag:(Ljava/lang/String;Ljava/util/HashMap;ZZZ)V
        end local 9 // java.util.HashMap parameters
        16: .line 1407
      StackMap locals:
      StackMap stack:
            aload 2 /* referencedEntries */
            ifnull 22
        17: .line 1408
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        18: goto 21
        19: .line 1409
      StackMap locals: int
      StackMap stack:
            aload 2 /* referencedEntries */
            iload 9 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            aload 8 /* xmlWriter */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            iload 4 /* indent */
            iconst_1
            aload 5 /* unknownElements */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.elementEncode:(Lorg/eclipse/jdt/internal/core/XMLWriter;Lorg/eclipse/core/runtime/IPath;ZZLjava/util/Map;Z)V
        20: .line 1408
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 9 /* i */
            aload 2 /* referencedEntries */
            arraylength
            if_icmplt 19
        end local 9 // int i
        22: .line 1413
      StackMap locals:
      StackMap stack:
            aload 8 /* xmlWriter */
            ldc "classpath"
            iload 4 /* indent */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.XMLWriter.endTag:(Ljava/lang/String;ZZ)V
        23: .line 1414
            aload 7 /* writer */
            invokevirtual java.io.OutputStreamWriter.flush:()V
        24: .line 1415
            aload 7 /* writer */
            invokevirtual java.io.OutputStreamWriter.close:()V
        25: .line 1416
            aload 6 /* s */
            ldc "UTF8"
            invokevirtual java.io.ByteArrayOutputStream.toString:(Ljava/lang/String;)Ljava/lang/String;
        26: areturn
        end local 8 // org.eclipse.jdt.internal.core.XMLWriter xmlWriter
        end local 7 // java.io.OutputStreamWriter writer
        end local 6 // java.io.ByteArrayOutputStream s
        27: .line 1417
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.core.runtime.IPath int java.util.Map
      StackMap stack: java.io.IOException
            astore 6 /* e */
        start local 6 // java.io.IOException e
        28: .line 1418
            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
        end local 5 // java.util.Map unknownElements
        end local 4 // boolean indent
        end local 3 // org.eclipse.core.runtime.IPath outputLocation
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] referencedEntries
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   29     0               this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   29     1          classpath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   29     2  referencedEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   29     3     outputLocation  Lorg/eclipse/core/runtime/IPath;
            0   29     4             indent  Z
            0   29     5    unknownElements  Ljava/util/Map;
            1   27     6                  s  Ljava/io/ByteArrayOutputStream;
            2   27     7             writer  Ljava/io/OutputStreamWriter;
            3   27     8          xmlWriter  Lorg/eclipse/jdt/internal/core/XMLWriter;
            5    9     9                  i  I
           13   16     9         parameters  Ljava/util/HashMap;
           18   22     9                  i  I
           28   29     6                  e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    26      27  Class java.io.IOException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                   Name  Flags
      classpath          
      referencedEntries  
      outputLocation     
      indent             
      unknownElements    

  public java.lang.String encodeClasspathEntry(org.eclipse.jdt.core.IClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry classpathEntry
         0: .line 1425
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 2 /* s */
        start local 2 // java.io.ByteArrayOutputStream s
         1: .line 1426
            new java.io.OutputStreamWriter
            dup
            aload 2 /* s */
            ldc "UTF8"
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
            astore 3 /* writer */
        start local 3 // java.io.OutputStreamWriter writer
         2: .line 1427
            new org.eclipse.jdt.internal.core.XMLWriter
            dup
            aload 3 /* writer */
            aload 0 /* this */
            iconst_0
            invokespecial org.eclipse.jdt.internal.core.XMLWriter.<init>:(Ljava/io/Writer;Lorg/eclipse/jdt/core/IJavaProject;Z)V
            astore 4 /* xmlWriter */
        start local 4 // org.eclipse.jdt.internal.core.XMLWriter xmlWriter
         3: .line 1429
            aload 1 /* classpathEntry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            aload 4 /* xmlWriter */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_1
            iconst_1
            aconst_null
            aload 1 /* classpathEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getReferencingEntry:()Lorg/eclipse/jdt/core/IClasspathEntry;
            ifnull 4
            iconst_1
            goto 5
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry java.io.ByteArrayOutputStream java.io.OutputStreamWriter org.eclipse.jdt.internal.core.XMLWriter
      StackMap stack: org.eclipse.jdt.internal.core.ClasspathEntry org.eclipse.jdt.internal.core.XMLWriter org.eclipse.core.runtime.IPath int int null
         4: iconst_0
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry java.io.ByteArrayOutputStream java.io.OutputStreamWriter org.eclipse.jdt.internal.core.XMLWriter
      StackMap stack: org.eclipse.jdt.internal.core.ClasspathEntry org.eclipse.jdt.internal.core.XMLWriter org.eclipse.core.runtime.IPath int int null int
         5: invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.elementEncode:(Lorg/eclipse/jdt/internal/core/XMLWriter;Lorg/eclipse/core/runtime/IPath;ZZLjava/util/Map;Z)V
         6: .line 1431
            aload 3 /* writer */
            invokevirtual java.io.OutputStreamWriter.flush:()V
         7: .line 1432
            aload 3 /* writer */
            invokevirtual java.io.OutputStreamWriter.close:()V
         8: .line 1433
            aload 2 /* s */
            ldc "UTF8"
            invokevirtual java.io.ByteArrayOutputStream.toString:(Ljava/lang/String;)Ljava/lang/String;
         9: areturn
        end local 4 // org.eclipse.jdt.internal.core.XMLWriter xmlWriter
        end local 3 // java.io.OutputStreamWriter writer
        end local 2 // java.io.ByteArrayOutputStream s
        10: .line 1434
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry
      StackMap stack: java.io.IOException
            pop
        11: .line 1435
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.core.IClasspathEntry classpathEntry
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   12     1  classpathEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            1   10     2               s  Ljava/io/ByteArrayOutputStream;
            2   10     3          writer  Ljava/io/OutputStreamWriter;
            3   10     4       xmlWriter  Lorg/eclipse/jdt/internal/core/XMLWriter;
      Exception table:
        from    to  target  type
           0     9      10  Class java.io.IOException
    MethodParameters:
                Name  Flags
      classpathEntry  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.Object o
         0: .line 1450
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 1451
            iconst_1
            ireturn
         2: .line 1453
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof org.eclipse.jdt.internal.core.JavaProject
            ifne 4
         3: .line 1454
            iconst_0
            ireturn
         4: .line 1456
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.eclipse.jdt.internal.core.JavaProject
            astore 2 /* other */
        start local 2 // org.eclipse.jdt.internal.core.JavaProject other
         5: .line 1457
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            aload 2 /* other */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // org.eclipse.jdt.internal.core.JavaProject other
        end local 1 // java.lang.Object o
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    6     1      o  Ljava/lang/Object;
            5    6     2  other  Lorg/eclipse/jdt/internal/core/JavaProject;
    MethodParameters:
      Name  Flags
      o     

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

  public org.eclipse.jdt.core.IJavaElement findElement(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=10, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.IPath path
        start local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
         0: .line 1474
            aload 1 /* path */
            ifnull 1
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.isAbsolute:()Z
            ifeq 4
         1: .line 1475
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.core.JavaModelException
            dup
         2: .line 1476
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            sipush 979
            aload 1 /* path */
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILorg/eclipse/core/runtime/IPath;)V
         3: .line 1475
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/jdt/core/IJavaModelStatus;)V
            athrow
         4: .line 1480
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.getFileExtension:()Ljava/lang/String;
            astore 3 /* extension */
        start local 3 // java.lang.String extension
         5: .line 1481
            aload 3 /* extension */
            ifnonnull 9
         6: .line 1482
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 4 /* packageName */
        start local 4 // java.lang.String packageName
         7: .line 1483
            aload 0 /* this */
            aload 4 /* packageName */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.findPackageFragment:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IJavaElement;
         8: areturn
        end local 4 // java.lang.String packageName
         9: .line 1484
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.isJavaLikeFileName:(Ljava/lang/String;)Z
            ifne 11
        10: .line 1485
            aload 3 /* extension */
            ldc "class"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 34
        11: .line 1486
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            iconst_1
            invokeinterface org.eclipse.core.runtime.IPath.removeLastSegments:(I)Lorg/eclipse/core/runtime/IPath;
            astore 4 /* packagePath */
        start local 4 // org.eclipse.core.runtime.IPath packagePath
        12: .line 1487
            aload 4 /* packagePath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 5 /* packageName */
        start local 5 // java.lang.String packageName
        13: .line 1488
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            astore 6 /* typeName */
        start local 6 // java.lang.String typeName
        14: .line 1489
            aload 6 /* typeName */
            iconst_0
            aload 6 /* typeName */
            invokevirtual java.lang.String.length:()I
            aload 3 /* extension */
            invokevirtual java.lang.String.length:()I
            isub
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* typeName */
        15: .line 1490
            aconst_null
            astore 7 /* qualifiedName */
        start local 7 // java.lang.String qualifiedName
        16: .line 1491
            aload 5 /* packageName */
            invokevirtual java.lang.String.length:()I
            ifle 19
        17: .line 1492
            new java.lang.StringBuilder
            dup
            aload 5 /* packageName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* typeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* qualifiedName */
        18: .line 1493
            goto 20
        19: .line 1494
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.runtime.IPath org.eclipse.jdt.core.WorkingCopyOwner java.lang.String org.eclipse.core.runtime.IPath java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 6 /* typeName */
            astore 7 /* qualifiedName */
        20: .line 1498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* owner */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newNameLookup:(Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/internal/core/NameLookup;
            astore 8 /* lookup */
        start local 8 // org.eclipse.jdt.internal.core.NameLookup lookup
        21: .line 1499
            aload 8 /* lookup */
        22: .line 1500
            aload 7 /* qualifiedName */
        23: .line 1501
            iconst_0
        24: .line 1502
            bipush 30
        25: .line 1503
            iconst_1
        26: .line 1504
            iconst_0
        27: .line 1505
            iconst_0
        28: .line 1506
            aconst_null
        29: .line 1499
            invokevirtual org.eclipse.jdt.internal.core.NameLookup.findType:(Ljava/lang/String;ZIZZZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/core/NameLookup$Answer;
            astore 9 /* answer */
        start local 9 // org.eclipse.jdt.internal.core.NameLookup$Answer answer
        30: .line 1508
            aload 9 /* answer */
            ifnull 33
        31: .line 1509
            aload 9 /* answer */
            getfield org.eclipse.jdt.internal.core.NameLookup$Answer.type:Lorg/eclipse/jdt/core/IType;
            invokeinterface org.eclipse.jdt.core.IType.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
        32: areturn
        33: .line 1511
      StackMap locals: org.eclipse.jdt.internal.core.NameLookup org.eclipse.jdt.internal.core.NameLookup$Answer
      StackMap stack:
            aconst_null
            areturn
        end local 9 // org.eclipse.jdt.internal.core.NameLookup$Answer answer
        end local 8 // org.eclipse.jdt.internal.core.NameLookup lookup
        end local 7 // java.lang.String qualifiedName
        end local 6 // java.lang.String typeName
        end local 5 // java.lang.String packageName
        end local 4 // org.eclipse.core.runtime.IPath packagePath
        34: .line 1515
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.runtime.IPath org.eclipse.jdt.core.WorkingCopyOwner java.lang.String
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.String extension
        35: .line 1517
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.runtime.IPath org.eclipse.jdt.core.WorkingCopyOwner
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            astore 3 /* e */
        start local 3 // org.eclipse.jdt.core.JavaModelException e
        36: .line 1518
            aload 3 /* e */
            invokevirtual org.eclipse.jdt.core.JavaModelException.getStatus:()Lorg/eclipse/core/runtime/IStatus;
            invokeinterface org.eclipse.core.runtime.IStatus.getCode:()I
        37: .line 1519
            sipush 969
        38: .line 1518
            if_icmpne 40
        39: .line 1520
            aconst_null
            areturn
        40: .line 1522
      StackMap locals: org.eclipse.jdt.core.JavaModelException
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // org.eclipse.jdt.core.JavaModelException e
        end local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   41     0           this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   41     1           path  Lorg/eclipse/core/runtime/IPath;
            0   41     2          owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            5   35     3      extension  Ljava/lang/String;
            7    9     4    packageName  Ljava/lang/String;
           12   34     4    packagePath  Lorg/eclipse/core/runtime/IPath;
           13   34     5    packageName  Ljava/lang/String;
           14   34     6       typeName  Ljava/lang/String;
           16   34     7  qualifiedName  Ljava/lang/String;
           21   34     8         lookup  Lorg/eclipse/jdt/internal/core/NameLookup;
           30   34     9         answer  Lorg/eclipse/jdt/internal/core/NameLookup$Answer;
           36   41     3              e  Lorg/eclipse/jdt/core/JavaModelException;
      Exception table:
        from    to  target  type
           4     8      35  Class org.eclipse.jdt.core.JavaModelException
           9    32      35  Class org.eclipse.jdt.core.JavaModelException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      path   
      owner  

  public org.eclipse.jdt.core.IJavaElement findPackageFragment(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String packageName
         0: .line 1529
            aload 0 /* this */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newNameLookup:(Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/internal/core/NameLookup;
            astore 2 /* lookup */
        start local 2 // org.eclipse.jdt.internal.core.NameLookup lookup
         1: .line 1530
            aload 2 /* lookup */
            aload 1 /* packageName */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.NameLookup.findPackageFragments:(Ljava/lang/String;Z)[Lorg/eclipse/jdt/core/IPackageFragment;
            astore 3 /* pkgFragments */
        start local 3 // org.eclipse.jdt.core.IPackageFragment[] pkgFragments
         2: .line 1531
            aload 3 /* pkgFragments */
            ifnonnull 4
         3: .line 1532
            aconst_null
            areturn
         4: .line 1536
      StackMap locals: org.eclipse.jdt.internal.core.NameLookup org.eclipse.jdt.core.IPackageFragment[]
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: aload 3 /* pkgFragments */
            arraylength
            istore 5 /* length */
        start local 5 // int length
         6: goto 11
         7: .line 1538
      StackMap locals: int int
      StackMap stack:
            aload 3 /* pkgFragments */
            iload 4 /* i */
            aaload
            astore 6 /* pkgFragment */
        start local 6 // org.eclipse.jdt.core.IPackageFragment pkgFragment
         8: .line 1539
            aload 0 /* this */
            aload 6 /* pkgFragment */
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 1540
            aload 6 /* pkgFragment */
            areturn
        end local 6 // org.eclipse.jdt.core.IPackageFragment pkgFragment
        10: .line 1536
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 7
        end local 5 // int length
        end local 4 // int i
        12: .line 1544
            aload 3 /* pkgFragments */
            iconst_0
            aaload
            areturn
        end local 3 // org.eclipse.jdt.core.IPackageFragment[] pkgFragments
        end local 2 // org.eclipse.jdt.internal.core.NameLookup lookup
        end local 1 // java.lang.String packageName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   13     1   packageName  Ljava/lang/String;
            1   13     2        lookup  Lorg/eclipse/jdt/internal/core/NameLookup;
            2   13     3  pkgFragments  [Lorg/eclipse/jdt/core/IPackageFragment;
            5   12     4             i  I
            6   12     5        length  I
            8   10     6   pkgFragment  Lorg/eclipse/jdt/core/IPackageFragment;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
             Name  Flags
      packageName  

  public org.eclipse.jdt.core.IJavaElement findElement(java.lang.String, org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String bindingKey
        start local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
         0: .line 1550
            new org.eclipse.jdt.internal.core.util.JavaElementFinder
            dup
            aload 1 /* bindingKey */
            aload 0 /* this */
            aload 2 /* owner */
            invokespecial org.eclipse.jdt.internal.core.util.JavaElementFinder.<init>:(Ljava/lang/String;Lorg/eclipse/jdt/internal/core/JavaProject;Lorg/eclipse/jdt/core/WorkingCopyOwner;)V
            astore 3 /* elementFinder */
        start local 3 // org.eclipse.jdt.internal.core.util.JavaElementFinder elementFinder
         1: .line 1551
            aload 3 /* elementFinder */
            invokevirtual org.eclipse.jdt.internal.core.util.JavaElementFinder.parse:()V
         2: .line 1552
            aload 3 /* elementFinder */
            getfield org.eclipse.jdt.internal.core.util.JavaElementFinder.exception:Lorg/eclipse/jdt/core/JavaModelException;
            ifnull 4
         3: .line 1553
            aload 3 /* elementFinder */
            getfield org.eclipse.jdt.internal.core.util.JavaElementFinder.exception:Lorg/eclipse/jdt/core/JavaModelException;
            athrow
         4: .line 1554
      StackMap locals: org.eclipse.jdt.internal.core.util.JavaElementFinder
      StackMap stack:
            aload 3 /* elementFinder */
            getfield org.eclipse.jdt.internal.core.util.JavaElementFinder.element:Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        end local 3 // org.eclipse.jdt.internal.core.util.JavaElementFinder elementFinder
        end local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 1 // java.lang.String bindingKey
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    5     1     bindingKey  Ljava/lang/String;
            0    5     2          owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            1    5     3  elementFinder  Lorg/eclipse/jdt/internal/core/util/JavaElementFinder;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
            Name  Flags
      bindingKey  
      owner       

  public org.eclipse.jdt.core.IPackageFragment findPackageFragment(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IPackageFragment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 1564
            aload 0 /* this */
            aload 1 /* path */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.canonicalizedPath:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.findPackageFragment0:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IPackageFragment;
            areturn
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  path  Lorg/eclipse/core/runtime/IPath;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      path  

  private org.eclipse.jdt.core.IPackageFragment findPackageFragment0(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IPackageFragment;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 1572
            aload 0 /* this */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newNameLookup:(Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/internal/core/NameLookup;
            astore 2 /* lookup */
        start local 2 // org.eclipse.jdt.internal.core.NameLookup lookup
         1: .line 1573
            aload 2 /* lookup */
            aload 1 /* path */
            invokevirtual org.eclipse.jdt.internal.core.NameLookup.findPackageFragment:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IPackageFragment;
            areturn
        end local 2 // org.eclipse.jdt.internal.core.NameLookup lookup
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    2     1    path  Lorg/eclipse/core/runtime/IPath;
            1    2     2  lookup  Lorg/eclipse/jdt/internal/core/NameLookup;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      path  

  public org.eclipse.jdt.core.IPackageFragmentRoot findPackageFragmentRoot(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 1583
            aload 0 /* this */
            aload 1 /* path */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.canonicalizedPath:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.findPackageFragmentRoot0:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  path  Lorg/eclipse/core/runtime/IPath;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      path  

  public org.eclipse.jdt.core.IPackageFragmentRoot findPackageFragmentRoot0(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 1591
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getAllPackageFragmentRoots:()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 2 /* allRoots */
        start local 2 // org.eclipse.jdt.core.IPackageFragmentRoot[] allRoots
         1: .line 1592
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.isAbsolute:()Z
            ifne 3
         2: .line 1593
            new java.lang.IllegalArgumentException
            dup
            getstatic org.eclipse.jdt.internal.core.util.Messages.path_mustBeAbsolute:Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1595
      StackMap locals: org.eclipse.jdt.core.IPackageFragmentRoot[]
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 1596
      StackMap locals: int
      StackMap stack:
            aload 2 /* allRoots */
            iload 3 /* i */
            aaload
            astore 4 /* classpathRoot */
        start local 4 // org.eclipse.jdt.core.IPackageFragmentRoot classpathRoot
         6: .line 1597
            aload 4 /* classpathRoot */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            ifnull 8
            aload 4 /* classpathRoot */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 1598
            aload 4 /* classpathRoot */
            areturn
        end local 4 // org.eclipse.jdt.core.IPackageFragmentRoot classpathRoot
         8: .line 1595
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 2 /* allRoots */
            arraylength
            if_icmplt 5
        end local 3 // int i
        10: .line 1601
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.core.IPackageFragmentRoot[] allRoots
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   11     1           path  Lorg/eclipse/core/runtime/IPath;
            1   11     2       allRoots  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            4   10     3              i  I
            6    8     4  classpathRoot  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      path  

  public org.eclipse.jdt.core.IPackageFragmentRoot[] findPackageFragmentRoots(org.eclipse.jdt.core.IClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry entry
         0: .line 1609
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* classpath */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] classpath
         1: .line 1610
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 2 /* classpath */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         3: goto 13
         4: .line 1611
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[] int int
      StackMap stack:
            aload 2 /* classpath */
            iload 3 /* i */
            aaload
            aload 1 /* entry */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
         5: .line 1613
            aload 0 /* this */
         6: .line 1614
            aload 0 /* this */
            iconst_1
            anewarray org.eclipse.jdt.core.IClasspathEntry
            dup
            iconst_0
            aload 1 /* entry */
            aastore
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.resolveClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;)[Lorg/eclipse/jdt/core/IClasspathEntry;
         7: .line 1615
            iconst_0
         8: .line 1616
            iconst_1
         9: .line 1617
            aconst_null
        10: .line 1613
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots:([Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
        11: .line 1612
            areturn
        12: .line 1610
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 4
        end local 4 // int length
        end local 3 // int i
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        14: .line 1620
            goto 16
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        15: pop
        16: .line 1623
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray org.eclipse.jdt.core.IPackageFragmentRoot
            areturn
        end local 1 // org.eclipse.jdt.core.IClasspathEntry entry
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   17     1      entry  Lorg/eclipse/jdt/core/IClasspathEntry;
            1   14     2  classpath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            2   14     3          i  I
            3   14     4     length  I
      Exception table:
        from    to  target  type
           0    11      15  Class org.eclipse.jdt.core.JavaModelException
          12    14      15  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      entry  

  public org.eclipse.jdt.core.IType findType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/core/IType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String fullyQualifiedName
         0: .line 1630
            aload 0 /* this */
            aload 1 /* fullyQualifiedName */
            getstatic org.eclipse.jdt.internal.core.DefaultWorkingCopyOwner.PRIMARY:Lorg/eclipse/jdt/internal/core/DefaultWorkingCopyOwner;
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.findType:(Ljava/lang/String;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IType;
            areturn
        end local 1 // java.lang.String fullyQualifiedName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  fullyQualifiedName  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                    Name  Flags
      fullyQualifiedName  

  public org.eclipse.jdt.core.IType findType(java.lang.String, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/lang/String;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String fullyQualifiedName
        start local 2 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
         0: .line 1637
            aload 0 /* this */
            aload 1 /* fullyQualifiedName */
            getstatic org.eclipse.jdt.internal.core.DefaultWorkingCopyOwner.PRIMARY:Lorg/eclipse/jdt/internal/core/DefaultWorkingCopyOwner;
            aload 2 /* progressMonitor */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.findType:(Ljava/lang/String;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IType;
            areturn
        end local 2 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
        end local 1 // java.lang.String fullyQualifiedName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  fullyQualifiedName  Ljava/lang/String;
            0    1     2     progressMonitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                    Name  Flags
      fullyQualifiedName  
      progressMonitor     

  org.eclipse.jdt.core.IType findType(java.lang.String, org.eclipse.jdt.internal.core.NameLookup, boolean, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/internal/core/NameLookup;ZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IType;
    flags: (0x0000) 
    Code:
      stack=8, locals=8, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String fullyQualifiedName
        start local 2 // org.eclipse.jdt.internal.core.NameLookup lookup
        start local 3 // boolean considerSecondaryTypes
        start local 4 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
         0: .line 1644
            aload 2 /* lookup */
         1: .line 1645
            aload 1 /* fullyQualifiedName */
         2: .line 1646
            iconst_0
         3: .line 1647
            bipush 30
         4: .line 1648
            iload 3 /* considerSecondaryTypes */
         5: .line 1649
            iconst_1
         6: .line 1650
            iconst_0
         7: .line 1651
            aload 4 /* progressMonitor */
         8: .line 1644
            invokevirtual org.eclipse.jdt.internal.core.NameLookup.findType:(Ljava/lang/String;ZIZZZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/core/NameLookup$Answer;
            astore 5 /* answer */
        start local 5 // org.eclipse.jdt.internal.core.NameLookup$Answer answer
         9: .line 1652
            aload 5 /* answer */
            ifnonnull 18
        10: .line 1654
            aload 1 /* fullyQualifiedName */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 6 /* lastDot */
        start local 6 // int lastDot
        11: .line 1655
            iload 6 /* lastDot */
            iconst_m1
            if_icmpne 12
            aconst_null
            areturn
        12: .line 1656
      StackMap locals: org.eclipse.jdt.internal.core.NameLookup$Answer int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* fullyQualifiedName */
            iconst_0
            iload 6 /* lastDot */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aload 2 /* lookup */
            iload 3 /* considerSecondaryTypes */
            aload 4 /* progressMonitor */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.findType:(Ljava/lang/String;Lorg/eclipse/jdt/internal/core/NameLookup;ZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IType;
            astore 7 /* type */
        start local 7 // org.eclipse.jdt.core.IType type
        13: .line 1657
            aload 7 /* type */
            ifnull 17
        14: .line 1658
            aload 7 /* type */
            aload 1 /* fullyQualifiedName */
            iload 6 /* lastDot */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokeinterface org.eclipse.jdt.core.IType.getType:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IType;
            astore 7 /* type */
        15: .line 1659
            aload 7 /* type */
            invokeinterface org.eclipse.jdt.core.IType.exists:()Z
            ifne 17
        16: .line 1660
            aconst_null
            areturn
        17: .line 1663
      StackMap locals: org.eclipse.jdt.core.IType
      StackMap stack:
            aload 7 /* type */
            areturn
        end local 7 // org.eclipse.jdt.core.IType type
        end local 6 // int lastDot
        18: .line 1665
      StackMap locals:
      StackMap stack:
            aload 5 /* answer */
            getfield org.eclipse.jdt.internal.core.NameLookup$Answer.type:Lorg/eclipse/jdt/core/IType;
            areturn
        end local 5 // org.eclipse.jdt.internal.core.NameLookup$Answer answer
        end local 4 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
        end local 3 // boolean considerSecondaryTypes
        end local 2 // org.eclipse.jdt.internal.core.NameLookup lookup
        end local 1 // java.lang.String fullyQualifiedName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   19     0                    this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   19     1      fullyQualifiedName  Ljava/lang/String;
            0   19     2                  lookup  Lorg/eclipse/jdt/internal/core/NameLookup;
            0   19     3  considerSecondaryTypes  Z
            0   19     4         progressMonitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            9   19     5                  answer  Lorg/eclipse/jdt/internal/core/NameLookup$Answer;
           11   18     6                 lastDot  I
           13   18     7                    type  Lorg/eclipse/jdt/core/IType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                        Name  Flags
      fullyQualifiedName      
      lookup                  
      considerSecondaryTypes  
      progressMonitor         

  public org.eclipse.jdt.core.IType findType(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/jdt/core/IType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String packageName
        start local 2 // java.lang.String typeQualifiedName
         0: .line 1672
            aload 0 /* this */
            aload 1 /* packageName */
            aload 2 /* typeQualifiedName */
            getstatic org.eclipse.jdt.internal.core.DefaultWorkingCopyOwner.PRIMARY:Lorg/eclipse/jdt/internal/core/DefaultWorkingCopyOwner;
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.findType:(Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IType;
            areturn
        end local 2 // java.lang.String typeQualifiedName
        end local 1 // java.lang.String packageName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1        packageName  Ljava/lang/String;
            0    1     2  typeQualifiedName  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                   Name  Flags
      packageName        
      typeQualifiedName  

  public org.eclipse.jdt.core.IType findType(java.lang.String, java.lang.String, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String packageName
        start local 2 // java.lang.String typeQualifiedName
        start local 3 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
         0: .line 1679
            aload 0 /* this */
            aload 1 /* packageName */
            aload 2 /* typeQualifiedName */
            getstatic org.eclipse.jdt.internal.core.DefaultWorkingCopyOwner.PRIMARY:Lorg/eclipse/jdt/internal/core/DefaultWorkingCopyOwner;
            aload 3 /* progressMonitor */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.findType:(Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IType;
            areturn
        end local 3 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
        end local 2 // java.lang.String typeQualifiedName
        end local 1 // java.lang.String packageName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1        packageName  Ljava/lang/String;
            0    1     2  typeQualifiedName  Ljava/lang/String;
            0    1     3    progressMonitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                   Name  Flags
      packageName        
      typeQualifiedName  
      progressMonitor    

  org.eclipse.jdt.core.IType findType(java.lang.String, java.lang.String, org.eclipse.jdt.internal.core.NameLookup, boolean, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/jdt/internal/core/NameLookup;ZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IType;
    flags: (0x0000) 
    Code:
      stack=9, locals=7, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String packageName
        start local 2 // java.lang.String typeQualifiedName
        start local 3 // org.eclipse.jdt.internal.core.NameLookup lookup
        start local 4 // boolean considerSecondaryTypes
        start local 5 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
         0: .line 1685
            aload 3 /* lookup */
         1: .line 1686
            aload 2 /* typeQualifiedName */
         2: .line 1687
            aload 1 /* packageName */
         3: .line 1688
            iconst_0
         4: .line 1689
            bipush 30
         5: .line 1690
            iload 4 /* considerSecondaryTypes */
         6: .line 1691
            iconst_1
         7: .line 1692
            iconst_0
         8: .line 1693
            aload 5 /* progressMonitor */
         9: .line 1685
            invokevirtual org.eclipse.jdt.internal.core.NameLookup.findType:(Ljava/lang/String;Ljava/lang/String;ZIZZZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/core/NameLookup$Answer;
            astore 6 /* answer */
        start local 6 // org.eclipse.jdt.internal.core.NameLookup$Answer answer
        10: .line 1694
            aload 6 /* answer */
            ifnonnull 11
            aconst_null
            goto 12
      StackMap locals: org.eclipse.jdt.internal.core.NameLookup$Answer
      StackMap stack:
        11: aload 6 /* answer */
            getfield org.eclipse.jdt.internal.core.NameLookup$Answer.type:Lorg/eclipse/jdt/core/IType;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.IType
        12: areturn
        end local 6 // org.eclipse.jdt.internal.core.NameLookup$Answer answer
        end local 5 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
        end local 4 // boolean considerSecondaryTypes
        end local 3 // org.eclipse.jdt.internal.core.NameLookup lookup
        end local 2 // java.lang.String typeQualifiedName
        end local 1 // java.lang.String packageName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   13     0                    this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   13     1             packageName  Ljava/lang/String;
            0   13     2       typeQualifiedName  Ljava/lang/String;
            0   13     3                  lookup  Lorg/eclipse/jdt/internal/core/NameLookup;
            0   13     4  considerSecondaryTypes  Z
            0   13     5         progressMonitor  Lorg/eclipse/core/runtime/IProgressMonitor;
           10   13     6                  answer  Lorg/eclipse/jdt/internal/core/NameLookup$Answer;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                        Name  Flags
      packageName             
      typeQualifiedName       
      lookup                  
      considerSecondaryTypes  
      progressMonitor         

  public org.eclipse.jdt.core.IType findType(java.lang.String, java.lang.String, org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String packageName
        start local 2 // java.lang.String typeQualifiedName
        start local 3 // org.eclipse.jdt.core.WorkingCopyOwner owner
         0: .line 1701
            aload 0 /* this */
            aload 3 /* owner */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newNameLookup:(Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/internal/core/NameLookup;
            astore 4 /* lookup */
        start local 4 // org.eclipse.jdt.internal.core.NameLookup lookup
         1: .line 1702
            aload 0 /* this */
         2: .line 1703
            aload 1 /* packageName */
         3: .line 1704
            aload 2 /* typeQualifiedName */
         4: .line 1705
            aload 4 /* lookup */
         5: .line 1706
            iconst_0
         6: .line 1707
            aconst_null
         7: .line 1702
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.findType:(Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/jdt/internal/core/NameLookup;ZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IType;
            areturn
        end local 4 // org.eclipse.jdt.internal.core.NameLookup lookup
        end local 3 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 2 // java.lang.String typeQualifiedName
        end local 1 // java.lang.String packageName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    8     1        packageName  Ljava/lang/String;
            0    8     2  typeQualifiedName  Ljava/lang/String;
            0    8     3              owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            1    8     4             lookup  Lorg/eclipse/jdt/internal/core/NameLookup;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                   Name  Flags
      packageName        
      typeQualifiedName  
      owner              

  public org.eclipse.jdt.core.IType findType(java.lang.String, java.lang.String, org.eclipse.jdt.core.WorkingCopyOwner, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String packageName
        start local 2 // java.lang.String typeQualifiedName
        start local 3 // org.eclipse.jdt.core.WorkingCopyOwner owner
        start local 4 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
         0: .line 1715
            aload 0 /* this */
            aload 3 /* owner */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newNameLookup:(Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/internal/core/NameLookup;
            astore 5 /* lookup */
        start local 5 // org.eclipse.jdt.internal.core.NameLookup lookup
         1: .line 1716
            aload 0 /* this */
         2: .line 1717
            aload 1 /* packageName */
         3: .line 1718
            aload 2 /* typeQualifiedName */
         4: .line 1719
            aload 5 /* lookup */
         5: .line 1720
            iconst_1
         6: .line 1721
            aload 4 /* progressMonitor */
         7: .line 1716
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.findType:(Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/jdt/internal/core/NameLookup;ZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IType;
            areturn
        end local 5 // org.eclipse.jdt.internal.core.NameLookup lookup
        end local 4 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
        end local 3 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 2 // java.lang.String typeQualifiedName
        end local 1 // java.lang.String packageName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    8     1        packageName  Ljava/lang/String;
            0    8     2  typeQualifiedName  Ljava/lang/String;
            0    8     3              owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0    8     4    progressMonitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1    8     5             lookup  Lorg/eclipse/jdt/internal/core/NameLookup;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                   Name  Flags
      packageName        
      typeQualifiedName  
      owner              
      progressMonitor    

  public org.eclipse.jdt.core.IType findType(java.lang.String, org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String fullyQualifiedName
        start local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
         0: .line 1729
            aload 0 /* this */
            aload 2 /* owner */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newNameLookup:(Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/internal/core/NameLookup;
            astore 3 /* lookup */
        start local 3 // org.eclipse.jdt.internal.core.NameLookup lookup
         1: .line 1730
            aload 0 /* this */
            aload 1 /* fullyQualifiedName */
            aload 3 /* lookup */
            iconst_0
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.findType:(Ljava/lang/String;Lorg/eclipse/jdt/internal/core/NameLookup;ZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IType;
            areturn
        end local 3 // org.eclipse.jdt.internal.core.NameLookup lookup
        end local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 1 // java.lang.String fullyQualifiedName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    2     1  fullyQualifiedName  Ljava/lang/String;
            0    2     2               owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            1    2     3              lookup  Lorg/eclipse/jdt/internal/core/NameLookup;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                    Name  Flags
      fullyQualifiedName  
      owner               

  public org.eclipse.jdt.core.IType findType(java.lang.String, org.eclipse.jdt.core.WorkingCopyOwner, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String fullyQualifiedName
        start local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
        start local 3 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
         0: .line 1738
            aload 0 /* this */
            aload 2 /* owner */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newNameLookup:(Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/internal/core/NameLookup;
            astore 4 /* lookup */
        start local 4 // org.eclipse.jdt.internal.core.NameLookup lookup
         1: .line 1739
            aload 0 /* this */
            aload 1 /* fullyQualifiedName */
            aload 4 /* lookup */
            iconst_1
            aload 3 /* progressMonitor */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.findType:(Ljava/lang/String;Lorg/eclipse/jdt/internal/core/NameLookup;ZLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/IType;
            areturn
        end local 4 // org.eclipse.jdt.internal.core.NameLookup lookup
        end local 3 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
        end local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 1 // java.lang.String fullyQualifiedName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    2     1  fullyQualifiedName  Ljava/lang/String;
            0    2     2               owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0    2     3     progressMonitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1    2     4              lookup  Lorg/eclipse/jdt/internal/core/NameLookup;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                    Name  Flags
      fullyQualifiedName  
      owner               
      progressMonitor     

  public org.eclipse.jdt.core.IModuleDescription findModule(java.lang.String, org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IModuleDescription;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String moduleName
        start local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
         0: .line 1744
            aload 0 /* this */
            aload 2 /* owner */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newNameLookup:(Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/internal/core/NameLookup;
            astore 3 /* lookup */
        start local 3 // org.eclipse.jdt.internal.core.NameLookup lookup
         1: .line 1745
            aload 0 /* this */
            aload 1 /* moduleName */
            aload 3 /* lookup */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.findModule:(Ljava/lang/String;Lorg/eclipse/jdt/internal/core/NameLookup;)Lorg/eclipse/jdt/core/IModuleDescription;
            areturn
        end local 3 // org.eclipse.jdt.internal.core.NameLookup lookup
        end local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 1 // java.lang.String moduleName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    2     1  moduleName  Ljava/lang/String;
            0    2     2       owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            1    2     3      lookup  Lorg/eclipse/jdt/internal/core/NameLookup;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
            Name  Flags
      moduleName  
      owner       

  org.eclipse.jdt.core.IModuleDescription findModule(java.lang.String, org.eclipse.jdt.internal.core.NameLookup);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/internal/core/NameLookup;)Lorg/eclipse/jdt/core/IModuleDescription;
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String moduleName
        start local 2 // org.eclipse.jdt.internal.core.NameLookup lookup
         0: .line 1752
            aload 2 /* lookup */
            aload 1 /* moduleName */
            invokevirtual java.lang.String.toCharArray:()[C
            invokevirtual org.eclipse.jdt.internal.core.NameLookup.findModule:([C)Lorg/eclipse/jdt/internal/core/NameLookup$Answer;
            astore 3 /* answer */
        start local 3 // org.eclipse.jdt.internal.core.NameLookup$Answer answer
         1: .line 1753
            aload 3 /* answer */
            ifnull 3
         2: .line 1754
            aload 3 /* answer */
            getfield org.eclipse.jdt.internal.core.NameLookup$Answer.module:Lorg/eclipse/jdt/core/IModuleDescription;
            areturn
         3: .line 1755
      StackMap locals: org.eclipse.jdt.internal.core.NameLookup$Answer
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.internal.core.NameLookup$Answer answer
        end local 2 // org.eclipse.jdt.internal.core.NameLookup lookup
        end local 1 // java.lang.String moduleName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    4     1  moduleName  Ljava/lang/String;
            0    4     2      lookup  Lorg/eclipse/jdt/internal/core/NameLookup;
            1    4     3      answer  Lorg/eclipse/jdt/internal/core/NameLookup$Answer;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
            Name  Flags
      moduleName  
      lookup      

  protected void flushClasspathProblemMarkers(boolean, boolean, boolean);
    descriptor: (ZZZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // boolean flushCycleMarkers
        start local 2 // boolean flushClasspathFormatMarkers
        start local 3 // boolean flushOverlappingOutputMarkers
         0: .line 1763
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.isAccessible:()Z
            ifeq 28
         1: .line 1764
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            ldc "org.eclipse.jdt.core.buildpath_problem"
            iconst_0
            iconst_0
            invokeinterface org.eclipse.core.resources.IProject.findMarkers:(Ljava/lang/String;ZI)[Lorg/eclipse/core/resources/IMarker;
            astore 4 /* markers */
        start local 4 // org.eclipse.core.resources.IMarker[] markers
         2: .line 1765
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: aload 4 /* markers */
            arraylength
            istore 6 /* length */
        start local 6 // int length
         4: goto 23
         5: .line 1766
      StackMap locals: org.eclipse.core.resources.IMarker[] int int
      StackMap stack:
            aload 4 /* markers */
            iload 5 /* i */
            aaload
            astore 7 /* marker */
        start local 7 // org.eclipse.core.resources.IMarker marker
         6: .line 1767
            iload 1 /* flushCycleMarkers */
            ifeq 9
            iload 2 /* flushClasspathFormatMarkers */
            ifeq 9
            iload 3 /* flushOverlappingOutputMarkers */
            ifeq 9
         7: .line 1768
            aload 7 /* marker */
            invokeinterface org.eclipse.core.resources.IMarker.delete:()V
         8: .line 1769
            goto 22
         9: .line 1770
      StackMap locals: org.eclipse.core.resources.IMarker
      StackMap stack:
            aload 7 /* marker */
            ldc "cycleDetected"
            invokeinterface org.eclipse.core.resources.IMarker.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* cycleAttr */
        start local 8 // java.lang.String cycleAttr
        10: .line 1771
            aload 7 /* marker */
            ldc "classpathFileFormat"
            invokeinterface org.eclipse.core.resources.IMarker.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* classpathFileFormatAttr */
        start local 9 // java.lang.String classpathFileFormatAttr
        11: .line 1772
            aload 7 /* marker */
            ldc "outputOverlappingSource"
            invokeinterface org.eclipse.core.resources.IMarker.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* overlappingOutputAttr */
        start local 10 // java.lang.String overlappingOutputAttr
        12: .line 1773
            iload 1 /* flushCycleMarkers */
            aload 8 /* cycleAttr */
            ifnull 13
            aload 8 /* cycleAttr */
            ldc "true"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
            iconst_1
            goto 14
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject int int int org.eclipse.core.resources.IMarker[] int int org.eclipse.core.resources.IMarker java.lang.String java.lang.String java.lang.String
      StackMap stack: int
        13: iconst_0
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject int int int org.eclipse.core.resources.IMarker[] int int org.eclipse.core.resources.IMarker java.lang.String java.lang.String java.lang.String
      StackMap stack: int int
        14: if_icmpne 22
        15: .line 1774
            iload 3 /* flushOverlappingOutputMarkers */
            aload 10 /* overlappingOutputAttr */
            ifnull 16
            aload 10 /* overlappingOutputAttr */
            ldc "true"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
            iconst_1
            goto 17
      StackMap locals:
      StackMap stack: int
        16: iconst_0
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject int int int org.eclipse.core.resources.IMarker[] int int org.eclipse.core.resources.IMarker java.lang.String java.lang.String java.lang.String
      StackMap stack: int int
        17: if_icmpne 22
        18: .line 1775
            iload 2 /* flushClasspathFormatMarkers */
            aload 9 /* classpathFileFormatAttr */
            ifnull 19
            aload 9 /* classpathFileFormatAttr */
            ldc "true"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
            iconst_1
            goto 20
      StackMap locals:
      StackMap stack: int
        19: iconst_0
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject int int int org.eclipse.core.resources.IMarker[] int int org.eclipse.core.resources.IMarker java.lang.String java.lang.String java.lang.String
      StackMap stack: int int
        20: if_icmpne 22
        21: .line 1776
            aload 7 /* marker */
            invokeinterface org.eclipse.core.resources.IMarker.delete:()V
        end local 10 // java.lang.String overlappingOutputAttr
        end local 9 // java.lang.String classpathFileFormatAttr
        end local 8 // java.lang.String cycleAttr
        end local 7 // org.eclipse.core.resources.IMarker marker
        22: .line 1765
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject int int int org.eclipse.core.resources.IMarker[] int int
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 5 /* i */
            iload 6 /* length */
            if_icmplt 5
        end local 6 // int length
        end local 5 // int i
        end local 4 // org.eclipse.core.resources.IMarker[] markers
        24: .line 1781
            goto 28
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject int int int
      StackMap stack: org.eclipse.core.runtime.CoreException
        25: astore 4 /* e */
        start local 4 // org.eclipse.core.runtime.CoreException e
        26: .line 1783
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 28
        27: .line 1784
            aload 4 /* e */
            invokevirtual org.eclipse.core.runtime.CoreException.printStackTrace:()V
        end local 4 // org.eclipse.core.runtime.CoreException e
        28: .line 1787
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean flushOverlappingOutputMarkers
        end local 2 // boolean flushClasspathFormatMarkers
        end local 1 // boolean flushCycleMarkers
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   29     0                           this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   29     1              flushCycleMarkers  Z
            0   29     2    flushClasspathFormatMarkers  Z
            0   29     3  flushOverlappingOutputMarkers  Z
            2   24     4                        markers  [Lorg/eclipse/core/resources/IMarker;
            3   24     5                              i  I
            4   24     6                         length  I
            6   22     7                         marker  Lorg/eclipse/core/resources/IMarker;
           10   22     8                      cycleAttr  Ljava/lang/String;
           11   22     9        classpathFileFormatAttr  Ljava/lang/String;
           12   22    10          overlappingOutputAttr  Ljava/lang/String;
           26   28     4                              e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
           0    24      25  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
                               Name  Flags
      flushCycleMarkers              
      flushClasspathFormatMarkers    
      flushOverlappingOutputMarkers  

  public org.eclipse.core.runtime.IPath[] getAccessRestrictions(java.lang.String);
    descriptor: (Ljava/lang/String;)[Lorg/eclipse/core/runtime/IPath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String optionName
         0: .line 1794
            aload 0 /* this */
            aload 1 /* optionName */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 2 /* sequence */
        start local 2 // java.lang.String sequence
         1: .line 1795
            aload 2 /* sequence */
            ifnull 2
            aload 2 /* sequence */
            invokevirtual java.lang.String.length:()I
            ifne 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aconst_null
            areturn
         3: .line 1796
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* rules */
        start local 3 // org.eclipse.core.runtime.IPath[] rules
         4: .line 1797
            bipush 124
            aload 2 /* sequence */
            invokevirtual java.lang.String.toCharArray:()[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitOn:(C[C)[[C
            astore 4 /* patterns */
        start local 4 // char[][] patterns
         5: .line 1799
            aload 4 /* patterns */
            arraylength
            dup
            istore 5 /* patternCount */
        start local 5 // int patternCount
         6: ifle 13
         7: .line 1800
            iload 5 /* patternCount */
            anewarray org.eclipse.core.runtime.IPath
            astore 3 /* rules */
         8: .line 1801
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         9: goto 12
        10: .line 1802
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.lang.String java.lang.String org.eclipse.core.runtime.IPath[] char[][] int int
      StackMap stack:
            aload 3 /* rules */
            iload 6 /* j */
            new org.eclipse.core.runtime.Path
            dup
            new java.lang.String
            dup
            aload 4 /* patterns */
            iload 6 /* j */
            aaload
            invokespecial java.lang.String.<init>:([C)V
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            aastore
        11: .line 1801
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* j */
            aload 4 /* patterns */
            arraylength
            if_icmplt 10
        end local 6 // int j
        13: .line 1805
      StackMap locals:
      StackMap stack:
            aload 3 /* rules */
            areturn
        end local 5 // int patternCount
        end local 4 // char[][] patterns
        end local 3 // org.eclipse.core.runtime.IPath[] rules
        end local 2 // java.lang.String sequence
        end local 1 // java.lang.String optionName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   14     1    optionName  Ljava/lang/String;
            1   14     2      sequence  Ljava/lang/String;
            4   14     3         rules  [Lorg/eclipse/core/runtime/IPath;
            5   14     4      patterns  [[C
            6   14     5  patternCount  I
            9   13     6             j  I
    MethodParameters:
            Name  Flags
      optionName  

  public org.eclipse.jdt.core.IPackageFragmentRoot[] getAllPackageFragmentRoots();
    descriptor: ()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 1814
            aload 0 /* this */
            aconst_null
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getAllPackageFragmentRoots:(Ljava/util/Map;Z)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IPackageFragmentRoot[] getAllPackageFragmentRoots(java.util.Map);
    descriptor: (Ljava/util/Map;)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.util.Map rootToResolvedEntries
         0: .line 1819
            aload 0 /* this */
            aload 1 /* rootToResolvedEntries */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getAllPackageFragmentRoots:(Ljava/util/Map;Z)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
        end local 1 // java.util.Map rootToResolvedEntries
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    1     0                   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  rootToResolvedEntries  Ljava/util/Map;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                       Name  Flags
      rootToResolvedEntries  

  public org.eclipse.jdt.core.IPackageFragmentRoot[] getAllPackageFragmentRoots(java.util.Map, boolean);
    descriptor: (Ljava/util/Map;Z)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.util.Map rootToResolvedEntries
        start local 2 // boolean excludeTestCode
         0: .line 1823
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            iconst_1
            iconst_1
            aload 1 /* rootToResolvedEntries */
            iload 2 /* excludeTestCode */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.computePackageFragmentRoots:([Lorg/eclipse/jdt/core/IClasspathEntry;ZZLjava/util/Map;Z)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
        end local 2 // boolean excludeTestCode
        end local 1 // java.util.Map rootToResolvedEntries
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    1     0                   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  rootToResolvedEntries  Ljava/util/Map;
            0    1     2        excludeTestCode  Z
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                       Name  Flags
      rootToResolvedEntries  
      excludeTestCode        

  public org.eclipse.jdt.core.IClasspathEntry getClasspathEntryFor(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 1828
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            pop
         1: .line 1829
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo:()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 2 /* perProjectInfo */
        start local 2 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
         2: .line 1830
            aload 2 /* perProjectInfo */
            ifnonnull 4
         3: .line 1831
            aconst_null
            areturn
         4: .line 1832
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
      StackMap stack:
            aload 2 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rootPathToResolvedEntries:Ljava/util/Map;
            astore 3 /* rootPathToResolvedEntries */
        start local 3 // java.util.Map rootPathToResolvedEntries
         5: .line 1833
            aload 3 /* rootPathToResolvedEntries */
            ifnonnull 7
         6: .line 1834
            aconst_null
            areturn
         7: .line 1835
      StackMap locals: java.util.Map
      StackMap stack:
            aload 3 /* rootPathToResolvedEntries */
            aload 1 /* path */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IClasspathEntry
            astore 4 /* classpathEntry */
        start local 4 // org.eclipse.jdt.core.IClasspathEntry classpathEntry
         8: .line 1836
            aload 4 /* classpathEntry */
            ifnonnull 11
         9: .line 1837
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getLocation:()Lorg/eclipse/core/runtime/IPath;
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.append:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            astore 1 /* path */
        10: .line 1838
            aload 3 /* rootPathToResolvedEntries */
            aload 1 /* path */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IClasspathEntry
            astore 4 /* classpathEntry */
        11: .line 1840
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 4 /* classpathEntry */
            areturn
        end local 4 // org.eclipse.jdt.core.IClasspathEntry classpathEntry
        end local 3 // java.util.Map rootPathToResolvedEntries
        end local 2 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   12     0                       this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   12     1                       path  Lorg/eclipse/core/runtime/IPath;
            2   12     2             perProjectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            5   12     3  rootPathToResolvedEntries  Ljava/util/Map;
            8   12     4             classpathEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      path  

  public org.eclipse.core.resources.IMarker getCycleMarker();
    descriptor: ()Lorg/eclipse/core/resources/IMarker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 1848
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.isAccessible:()Z
            ifeq 14
         1: .line 1849
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            ldc "org.eclipse.jdt.core.buildpath_problem"
            iconst_0
            iconst_0
            invokeinterface org.eclipse.core.resources.IProject.findMarkers:(Ljava/lang/String;ZI)[Lorg/eclipse/core/resources/IMarker;
            astore 1 /* markers */
        start local 1 // org.eclipse.core.resources.IMarker[] markers
         2: .line 1850
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: aload 1 /* markers */
            arraylength
            istore 3 /* length */
        start local 3 // int length
         4: goto 11
         5: .line 1851
      StackMap locals: org.eclipse.core.resources.IMarker[] int int
      StackMap stack:
            aload 1 /* markers */
            iload 2 /* i */
            aaload
            astore 4 /* marker */
        start local 4 // org.eclipse.core.resources.IMarker marker
         6: .line 1852
            aload 4 /* marker */
            ldc "cycleDetected"
            invokeinterface org.eclipse.core.resources.IMarker.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* cycleAttr */
        start local 5 // java.lang.String cycleAttr
         7: .line 1853
            aload 5 /* cycleAttr */
            ifnull 10
            aload 5 /* cycleAttr */
            ldc "true"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 1854
            aload 4 /* marker */
         9: areturn
        end local 5 // java.lang.String cycleAttr
        end local 4 // org.eclipse.core.resources.IMarker marker
        10: .line 1850
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 5
        end local 3 // int length
        end local 2 // int i
        end local 1 // org.eclipse.core.resources.IMarker[] markers
        12: .line 1858
            goto 14
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject
      StackMap stack: org.eclipse.core.runtime.CoreException
        13: pop
        14: .line 1861
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lorg/eclipse/jdt/internal/core/JavaProject;
            2   12     1    markers  [Lorg/eclipse/core/resources/IMarker;
            3   12     2          i  I
            4   12     3     length  I
            6   10     4     marker  Lorg/eclipse/core/resources/IMarker;
            7   10     5  cycleAttr  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     9      13  Class org.eclipse.core.runtime.CoreException
          10    12      13  Class org.eclipse.core.runtime.CoreException

  public org.eclipse.core.runtime.preferences.IEclipsePreferences getEclipsePreferences();
    descriptor: ()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 1871
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokestatic org.eclipse.jdt.internal.core.JavaProject.hasJavaNature:(Lorg/eclipse/core/resources/IProject;)Z
            ifne 1
            aconst_null
            areturn
         1: .line 1873
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfo:(Lorg/eclipse/core/resources/IProject;Z)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 1 /* perProjectInfo */
        start local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
         2: .line 1874
            aload 1 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.preferences:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            ifnull 3
            aload 1 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.preferences:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            areturn
         3: .line 1876
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
      StackMap stack:
            new org.eclipse.core.resources.ProjectScope
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokespecial org.eclipse.core.resources.ProjectScope.<init>:(Lorg/eclipse/core/resources/IProject;)V
            astore 2 /* context */
        start local 2 // org.eclipse.core.runtime.preferences.IScopeContext context
         4: .line 1877
            aload 2 /* context */
            ldc "org.eclipse.jdt.core"
            invokeinterface org.eclipse.core.runtime.preferences.IScopeContext.getNode:(Ljava/lang/String;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 3 /* eclipsePreferences */
        start local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences eclipsePreferences
         5: .line 1878
            aload 0 /* this */
            aload 3 /* eclipsePreferences */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.updatePreferences:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)V
         6: .line 1879
            aload 1 /* perProjectInfo */
            aload 3 /* eclipsePreferences */
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.preferences:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
         7: .line 1882
            aload 3 /* eclipsePreferences */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.parent:()Lorg/osgi/service/prefs/Preferences;
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences
            astore 4 /* eclipseParentPreferences */
        start local 4 // org.eclipse.core.runtime.preferences.IEclipsePreferences eclipseParentPreferences
         8: .line 1883
            aload 4 /* eclipseParentPreferences */
            ifnull 13
         9: .line 1884
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.preferencesNodeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
            ifnull 11
        10: .line 1885
            aload 4 /* eclipseParentPreferences */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.preferencesNodeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.removeNodeChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;)V
        11: .line 1887
      StackMap locals: org.eclipse.core.runtime.preferences.IScopeContext org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack:
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.JavaProject$2
            dup
            aload 0 /* this */
            aload 3 /* eclipsePreferences */
            invokespecial org.eclipse.jdt.internal.core.JavaProject$2.<init>:(Lorg/eclipse/jdt/internal/core/JavaProject;Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)V
            putfield org.eclipse.jdt.internal.core.JavaProject.preferencesNodeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
        12: .line 1899
            aload 4 /* eclipseParentPreferences */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.preferencesNodeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.addNodeChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;)V
        13: .line 1903
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.preferencesChangeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
            ifnull 15
        14: .line 1904
            aload 3 /* eclipsePreferences */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.preferencesChangeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.removePreferenceChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;)V
        15: .line 1906
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.JavaProject$3
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaProject$3.<init>:(Lorg/eclipse/jdt/internal/core/JavaProject;)V
            putfield org.eclipse.jdt.internal.core.JavaProject.preferencesChangeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
        16: .line 1933
            aload 3 /* eclipsePreferences */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.preferencesChangeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.addPreferenceChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;)V
        17: .line 1934
            aload 3 /* eclipsePreferences */
            areturn
        end local 4 // org.eclipse.core.runtime.preferences.IEclipsePreferences eclipseParentPreferences
        end local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences eclipsePreferences
        end local 2 // org.eclipse.core.runtime.preferences.IScopeContext context
        end local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   18     0                      this  Lorg/eclipse/jdt/internal/core/JavaProject;
            2   18     1            perProjectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            4   18     2                   context  Lorg/eclipse/core/runtime/preferences/IScopeContext;
            5   18     3        eclipsePreferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            8   18     4  eclipseParentPreferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;

  public java.lang.String getElementName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 1939
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

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

  public org.eclipse.jdt.core.IClasspathEntry[] getExpandedClasspath();
    descriptor: ()[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 1958
            aload 0 /* this */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getExpandedClasspath:(Z)[Lorg/eclipse/jdt/core/IClasspathEntry;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IClasspathEntry[] getExpandedClasspath(boolean);
    descriptor: (Z)[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // boolean excludeTestCode
         0: .line 1962
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* accumulatedEntries */
        start local 2 // java.util.ArrayList accumulatedEntries
         1: .line 1963
            new java.util.HashMap
            dup
            iconst_5
            invokespecial java.util.HashMap.<init>:(I)V
            astore 3 /* rootIDs */
        start local 3 // java.util.HashMap rootIDs
         2: .line 1964
            aload 3 /* rootIDs */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.rootID:()Ljava/lang/String;
            iload 1 /* excludeTestCode */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1965
            aload 0 /* this */
            aconst_null
            aload 3 /* rootIDs */
            aload 2 /* accumulatedEntries */
            iload 1 /* excludeTestCode */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.computeExpandedClasspath:(Lorg/eclipse/jdt/internal/core/ClasspathEntry;Ljava/util/HashMap;Ljava/util/ArrayList;Z)V
         4: .line 1967
            aload 2 /* accumulatedEntries */
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.jdt.core.IClasspathEntry
            astore 4 /* expandedPath */
        start local 4 // org.eclipse.jdt.core.IClasspathEntry[] expandedPath
         5: .line 1968
            aload 2 /* accumulatedEntries */
            aload 4 /* expandedPath */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
         6: .line 1970
            aload 4 /* expandedPath */
            areturn
        end local 4 // org.eclipse.jdt.core.IClasspathEntry[] expandedPath
        end local 3 // java.util.HashMap rootIDs
        end local 2 // java.util.ArrayList accumulatedEntries
        end local 1 // boolean excludeTestCode
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    7     1     excludeTestCode  Z
            1    7     2  accumulatedEntries  Ljava/util/ArrayList<Lorg/eclipse/jdt/internal/core/ClasspathEntry;>;
            2    7     3             rootIDs  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Boolean;>;
            5    7     4        expandedPath  [Lorg/eclipse/jdt/core/IClasspathEntry;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                 Name  Flags
      excludeTestCode  

  public org.eclipse.jdt.core.IPackageFragmentRoot getFolderPackageFragmentRoot(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 1979
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            iconst_1
            if_icmpne 2
         1: .line 1980
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoot:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
         2: .line 1982
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 1 /* path */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getFolder:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IFolder;
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoot:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    3     1  path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
      Name  Flags
      path  

  public org.eclipse.jdt.core.IJavaElement getHandleFromMemento(java.lang.String, org.eclipse.jdt.internal.core.util.MementoTokenizer, org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String token
        start local 2 // org.eclipse.jdt.internal.core.util.MementoTokenizer memento
        start local 3 // org.eclipse.jdt.core.WorkingCopyOwner owner
         0: .line 1990
            aconst_null
            astore 4 /* mod */
        start local 4 // java.lang.String mod
         1: .line 1991
            aload 1 /* token */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            tableswitch { // 47 - 47
                   47: 2
              default: 33
          }
         2: .line 1993
      StackMap locals: java.lang.String
      StackMap stack:
            ldc ""
            astore 5 /* rootPath */
        start local 5 // java.lang.String rootPath
         3: .line 1994
            aconst_null
            astore 1 /* token */
         4: .line 1995
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* attributes */
        start local 6 // java.util.List attributes
         5: .line 1996
            goto 22
         6: .line 1997
      StackMap locals: java.lang.String java.util.List
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.nextToken:()Ljava/lang/String;
            astore 1 /* token */
         7: .line 1999
            aload 1 /* token */
            getstatic org.eclipse.jdt.internal.core.util.MementoTokenizer.PACKAGEFRAGMENT:Ljava/lang/String;
            if_acmpeq 23
            aload 1 /* token */
            getstatic org.eclipse.jdt.internal.core.util.MementoTokenizer.COUNT:Ljava/lang/String;
            if_acmpne 9
         8: .line 2000
            goto 23
         9: .line 2001
      StackMap locals:
      StackMap stack:
            aload 1 /* token */
            getstatic org.eclipse.jdt.internal.core.util.MementoTokenizer.MODULE:Ljava/lang/String;
            if_acmpne 15
        10: .line 2002
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.hasMoreTokens:()Z
            ifeq 22
        11: .line 2003
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.nextToken:()Ljava/lang/String;
            astore 1 /* token */
        12: .line 2004
            aload 1 /* token */
            ifnull 22
        13: .line 2005
            aload 1 /* token */
            astore 4 /* mod */
        14: .line 2009
            goto 22
        15: .line 2010
      StackMap locals:
      StackMap stack:
            aload 1 /* token */
            getstatic org.eclipse.jdt.internal.core.util.MementoTokenizer.CLASSPATH_ATTRIBUTE:Ljava/lang/String;
            if_acmpne 21
        16: .line 2012
            aload 2 /* memento */
            getstatic org.eclipse.jdt.internal.core.util.MementoTokenizer.CLASSPATH_ATTRIBUTE:Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.getStringDelimitedBy:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
        17: .line 2013
            aload 2 /* memento */
            getstatic org.eclipse.jdt.internal.core.util.MementoTokenizer.CLASSPATH_ATTRIBUTE:Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.getStringDelimitedBy:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* value */
        start local 8 // java.lang.String value
        18: .line 2014
            aload 6 /* attributes */
            new org.eclipse.jdt.internal.core.ClasspathAttribute
            dup
            aload 7 /* name */
            aload 8 /* value */
            invokespecial org.eclipse.jdt.internal.core.ClasspathAttribute.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 2015
            aconst_null
            astore 1 /* token */
        20: .line 2016
            goto 22
        end local 8 // java.lang.String value
        end local 7 // java.lang.String name
        21: .line 2018
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 5 /* rootPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* token */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* rootPath */
        22: .line 1996
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.hasMoreTokens:()Z
            ifne 6
        23: .line 2020
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* attributesArray */
        start local 7 // org.eclipse.jdt.core.IClasspathAttribute[] attributesArray
        24: .line 2021
            aload 6 /* attributes */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 26
        25: .line 2022
            aload 6 /* attributes */
            aload 6 /* attributes */
            invokeinterface java.util.List.size:()I
            anewarray org.eclipse.jdt.core.IClasspathAttribute
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IClasspathAttribute[]
            astore 7 /* attributesArray */
        26: .line 2023
      StackMap locals: org.eclipse.jdt.core.IClasspathAttribute[]
      StackMap stack:
            aload 4 /* mod */
            ifnonnull 28
        27: .line 2024
            aload 0 /* this */
            new org.eclipse.core.runtime.Path
            dup
            aload 5 /* rootPath */
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            aload 7 /* attributesArray */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoot:(Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathAttribute;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            goto 29
        28: .line 2025
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.JrtPackageFragmentRoot
            dup
            new org.eclipse.core.runtime.Path
            dup
            aload 5 /* rootPath */
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            aload 4 /* mod */
            aload 0 /* this */
            aload 7 /* attributesArray */
            invokespecial org.eclipse.jdt.internal.core.JrtPackageFragmentRoot.<init>:(Lorg/eclipse/core/runtime/IPath;Ljava/lang/String;Lorg/eclipse/jdt/internal/core/JavaProject;[Lorg/eclipse/jdt/core/IClasspathAttribute;)V
        29: .line 2023
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.JavaElement
            astore 8 /* root */
        start local 8 // org.eclipse.jdt.internal.core.JavaElement root
        30: .line 2026
            aload 1 /* token */
            ifnull 32
            aload 1 /* token */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 60
            if_icmpne 32
        31: .line 2027
            aload 8 /* root */
            aload 1 /* token */
            aload 2 /* memento */
            aload 3 /* owner */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleFromMemento:(Ljava/lang/String;Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        32: .line 2029
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement
      StackMap stack:
            aload 8 /* root */
            aload 2 /* memento */
            aload 3 /* owner */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleFromMemento:(Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        end local 8 // org.eclipse.jdt.internal.core.JavaElement root
        end local 7 // org.eclipse.jdt.core.IClasspathAttribute[] attributesArray
        end local 6 // java.util.List attributes
        end local 5 // java.lang.String rootPath
        33: .line 2032
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.lang.String org.eclipse.jdt.internal.core.util.MementoTokenizer org.eclipse.jdt.core.WorkingCopyOwner java.lang.String
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.lang.String mod
        end local 3 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 2 // org.eclipse.jdt.internal.core.util.MementoTokenizer memento
        end local 1 // java.lang.String token
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   34     0             this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   34     1            token  Ljava/lang/String;
            0   34     2          memento  Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;
            0   34     3            owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            1   34     4              mod  Ljava/lang/String;
            3   33     5         rootPath  Ljava/lang/String;
            5   33     6       attributes  Ljava/util/List<Lorg/eclipse/jdt/core/IClasspathAttribute;>;
           17   21     7             name  Ljava/lang/String;
           18   21     8            value  Ljava/lang/String;
           24   33     7  attributesArray  [Lorg/eclipse/jdt/core/IClasspathAttribute;
           30   33     8             root  Lorg/eclipse/jdt/internal/core/JavaElement;
    MethodParameters:
         Name  Flags
      token    
      memento  
      owner    

  protected char getHandleMementoDelimiter();
    descriptor: ()C
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2042
            bipush 61
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

  private int getJavaCommandIndex(org.eclipse.core.resources.ICommand[]);
    descriptor: ([Lorg/eclipse/core/resources/ICommand;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.resources.ICommand[] buildSpec
         0: .line 2051
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 2052
      StackMap locals: int
      StackMap stack:
            aload 1 /* buildSpec */
            iload 2 /* i */
            aaload
            invokeinterface org.eclipse.core.resources.ICommand.getBuilderName:()Ljava/lang/String;
            ldc "org.eclipse.jdt.core.javabuilder"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 2053
            iload 2 /* i */
            ireturn
         4: .line 2051
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* buildSpec */
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 2056
            iconst_m1
            ireturn
        end local 1 // org.eclipse.core.resources.ICommand[] buildSpec
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    7     1  buildSpec  [Lorg/eclipse/core/resources/ICommand;
            1    6     2          i  I
    MethodParameters:
           Name  Flags
      buildSpec  

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

  public java.lang.Object[] getNonJavaResources();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2074
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaProjectElementInfo
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProjectElementInfo.getNonJavaResources:(Lorg/eclipse/jdt/internal/core/JavaProject;)[Ljava/lang/Object;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.lang.String getOption(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String optionName
        start local 2 // boolean inheritJavaCoreOptions
         0: .line 2082
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 1 /* optionName */
            iload 2 /* inheritJavaCoreOptions */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getEclipsePreferences:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getOption:(Ljava/lang/String;ZLorg/eclipse/core/runtime/preferences/IEclipsePreferences;)Ljava/lang/String;
            areturn
        end local 2 // boolean inheritJavaCoreOptions
        end local 1 // java.lang.String optionName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    1     0                    this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1              optionName  Ljava/lang/String;
            0    1     2  inheritJavaCoreOptions  Z
    MethodParameters:
                        Name  Flags
      optionName              
      inheritJavaCoreOptions  

  public java.util.Map<java.lang.String, java.lang.String> getOptions(boolean);
    descriptor: (Z)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=16, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // boolean inheritJavaCoreOptions
         0: .line 2092
            iload 1 /* inheritJavaCoreOptions */
            ifeq 1
            invokestatic org.eclipse.jdt.core.JavaCore.getOptions:()Ljava/util/Hashtable;
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.util.Hashtable
            dup
            iconst_5
            invokespecial java.util.Hashtable.<init>:(I)V
      StackMap locals:
      StackMap stack: java.util.Hashtable
         2: astore 2 /* options */
        start local 2 // java.util.Map options
         3: .line 2095
            aconst_null
            astore 3 /* perProjectInfo */
        start local 3 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
         4: .line 2096
            aconst_null
            astore 4 /* projectOptions */
        start local 4 // java.util.Hashtable projectOptions
         5: .line 2097
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 5 /* javaModelManager */
        start local 5 // org.eclipse.jdt.internal.core.JavaModelManager javaModelManager
         6: .line 2098
            aload 5 /* javaModelManager */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.optionNames:Ljava/util/HashSet;
            astore 6 /* optionNames */
        start local 6 // java.util.HashSet optionNames
         7: .line 2100
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo:()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 3 /* perProjectInfo */
         8: .line 2101
            aload 3 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.options:Ljava/util/Hashtable;
            astore 4 /* projectOptions */
         9: .line 2102
            aload 4 /* projectOptions */
            ifnonnull 39
        10: .line 2104
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getEclipsePreferences:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 7 /* projectPreferences */
        start local 7 // org.eclipse.core.runtime.preferences.IEclipsePreferences projectPreferences
        11: .line 2105
            aload 7 /* projectPreferences */
            ifnonnull 13
            aload 2 /* options */
        12: areturn
        13: .line 2107
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject int java.util.Map org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.util.Hashtable org.eclipse.jdt.internal.core.JavaModelManager java.util.HashSet org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack:
            aload 7 /* projectPreferences */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.keys:()[Ljava/lang/String;
            astore 8 /* propertyNames */
        start local 8 // java.lang.String[] propertyNames
        14: .line 2108
            new java.util.Hashtable
            dup
            aload 8 /* propertyNames */
            arraylength
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 4 /* projectOptions */
        15: .line 2109
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        16: goto 34
        17: .line 2110
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 8 /* propertyNames */
            iload 9 /* i */
            aaload
            astore 10 /* propertyName */
        start local 10 // java.lang.String propertyName
        18: .line 2111
            aload 7 /* projectPreferences */
            aload 10 /* propertyName */
            aconst_null
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* value */
        start local 11 // java.lang.String value
        19: .line 2112
            aload 11 /* value */
            ifnull 33
        20: .line 2113
            aload 11 /* value */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 11 /* value */
        21: .line 2116
            aload 4 /* projectOptions */
            aload 10 /* propertyName */
            aload 11 /* value */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 2117
            aload 6 /* optionNames */
            aload 10 /* propertyName */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifne 33
        23: .line 2119
            aload 5 /* javaModelManager */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deprecatedOptions:Ljava/util/Map;
            aload 10 /* propertyName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 12 /* compatibleOptions */
        start local 12 // java.lang.String[] compatibleOptions
        24: .line 2120
            aload 12 /* compatibleOptions */
            ifnull 33
        25: .line 2121
            iconst_0
            istore 13 /* co */
        start local 13 // int co
        26: aload 12 /* compatibleOptions */
            arraylength
            istore 14 /* length */
        start local 14 // int length
        27: goto 32
        28: .line 2122
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject int java.util.Map org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.util.Hashtable org.eclipse.jdt.internal.core.JavaModelManager java.util.HashSet org.eclipse.core.runtime.preferences.IEclipsePreferences java.lang.String[] int java.lang.String java.lang.String java.lang.String[] int int
      StackMap stack:
            aload 12 /* compatibleOptions */
            iload 13 /* co */
            aaload
            astore 15 /* compatibleOption */
        start local 15 // java.lang.String compatibleOption
        29: .line 2123
            aload 4 /* projectOptions */
            aload 15 /* compatibleOption */
            invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
            ifne 31
        30: .line 2124
            aload 4 /* projectOptions */
            aload 15 /* compatibleOption */
            aload 11 /* value */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 15 // java.lang.String compatibleOption
        31: .line 2121
      StackMap locals:
      StackMap stack:
            iinc 13 /* co */ 1
      StackMap locals:
      StackMap stack:
        32: iload 13 /* co */
            iload 14 /* length */
            if_icmplt 28
        end local 14 // int length
        end local 13 // int co
        end local 12 // java.lang.String[] compatibleOptions
        end local 11 // java.lang.String value
        end local 10 // java.lang.String propertyName
        33: .line 2109
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject int java.util.Map org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.util.Hashtable org.eclipse.jdt.internal.core.JavaModelManager java.util.HashSet org.eclipse.core.runtime.preferences.IEclipsePreferences java.lang.String[] int
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 9 /* i */
            aload 8 /* propertyNames */
            arraylength
            if_icmplt 17
        end local 9 // int i
        35: .line 2131
            aload 3 /* perProjectInfo */
            aload 4 /* projectOptions */
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.options:Ljava/util/Hashtable;
        end local 8 // java.lang.String[] propertyNames
        end local 7 // org.eclipse.core.runtime.preferences.IEclipsePreferences projectPreferences
        36: .line 2133
            goto 39
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject int java.util.Map org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.util.Hashtable org.eclipse.jdt.internal.core.JavaModelManager java.util.HashSet
      StackMap stack: java.lang.Exception
        37: pop
        38: .line 2134
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            astore 4 /* projectOptions */
        39: .line 2138
      StackMap locals:
      StackMap stack:
            iload 1 /* inheritJavaCoreOptions */
            ifeq 50
        40: .line 2139
            aload 4 /* projectOptions */
            invokevirtual java.util.Hashtable.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7 /* propertyNames */
        start local 7 // java.util.Iterator propertyNames
        41: .line 2140
            goto 47
        42: .line 2141
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 7 /* propertyNames */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 8 /* entry */
        start local 8 // java.util.Map$Entry entry
        43: .line 2142
            aload 8 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* propertyName */
        start local 9 // java.lang.String propertyName
        44: .line 2143
            aload 8 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* propertyValue */
        start local 10 // java.lang.String propertyValue
        45: .line 2144
            aload 10 /* propertyValue */
            ifnull 47
            aload 5 /* javaModelManager */
            aload 9 /* propertyName */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.knowsOption:(Ljava/lang/String;)Z
            ifeq 47
        46: .line 2145
            aload 2 /* options */
            aload 9 /* propertyName */
            aload 10 /* propertyValue */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // java.lang.String propertyValue
        end local 9 // java.lang.String propertyName
        end local 8 // java.util.Map$Entry entry
        47: .line 2140
      StackMap locals:
      StackMap stack:
            aload 7 /* propertyNames */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 42
        48: .line 2148
            aload 2 /* options */
            invokestatic org.eclipse.jdt.internal.core.util.Util.fixTaskTags:(Ljava/util/Map;)V
        49: .line 2149
            aload 2 /* options */
            areturn
        end local 7 // java.util.Iterator propertyNames
        50: .line 2151
      StackMap locals:
      StackMap stack:
            aload 4 /* projectOptions */
            invokestatic org.eclipse.jdt.internal.core.util.Util.fixTaskTags:(Ljava/util/Map;)V
        51: .line 2152
            aload 4 /* projectOptions */
            areturn
        end local 6 // java.util.HashSet optionNames
        end local 5 // org.eclipse.jdt.internal.core.JavaModelManager javaModelManager
        end local 4 // java.util.Hashtable projectOptions
        end local 3 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
        end local 2 // java.util.Map options
        end local 1 // boolean inheritJavaCoreOptions
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   52     0                    this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   52     1  inheritJavaCoreOptions  Z
            3   52     2                 options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            4   52     3          perProjectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            5   52     4          projectOptions  Ljava/util/Hashtable;
            6   52     5        javaModelManager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            7   52     6             optionNames  Ljava/util/HashSet;
           11   36     7      projectPreferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
           14   36     8           propertyNames  [Ljava/lang/String;
           16   35     9                       i  I
           18   33    10            propertyName  Ljava/lang/String;
           19   33    11                   value  Ljava/lang/String;
           24   33    12       compatibleOptions  [Ljava/lang/String;
           26   33    13                      co  I
           27   33    14                  length  I
           29   31    15        compatibleOption  Ljava/lang/String;
           41   50     7           propertyNames  Ljava/util/Iterator;
           43   47     8                   entry  Ljava/util/Map$Entry;
           44   47     9            propertyName  Ljava/lang/String;
           45   47    10           propertyValue  Ljava/lang/String;
      Exception table:
        from    to  target  type
           7    12      37  Class org.eclipse.jdt.core.JavaModelException
          13    36      37  Class org.eclipse.jdt.core.JavaModelException
           7    12      37  Class org.osgi.service.prefs.BackingStoreException
          13    36      37  Class org.osgi.service.prefs.BackingStoreException
    Signature: (Z)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
                        Name  Flags
      inheritJavaCoreOptions  

  public org.eclipse.core.runtime.IPath getOutputLocation();
    descriptor: ()Lorg/eclipse/core/runtime/IPath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2161
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo:()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 1 /* perProjectInfo */
        start local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
         1: .line 2162
            aload 1 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.outputLocation:Lorg/eclipse/core/runtime/IPath;
            astore 2 /* outputLocation */
        start local 2 // org.eclipse.core.runtime.IPath outputLocation
         2: .line 2163
            aload 2 /* outputLocation */
            ifnull 3
            aload 2 /* outputLocation */
            areturn
         3: .line 2166
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            pop
         4: .line 2168
            aload 1 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.outputLocation:Lorg/eclipse/core/runtime/IPath;
            astore 2 /* outputLocation */
         5: .line 2169
            aload 2 /* outputLocation */
            ifnonnull 7
         6: .line 2170
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.defaultOutputLocation:()Lorg/eclipse/core/runtime/IPath;
            areturn
         7: .line 2172
      StackMap locals:
      StackMap stack:
            aload 2 /* outputLocation */
            areturn
        end local 2 // org.eclipse.core.runtime.IPath outputLocation
        end local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1    8     1  perProjectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            2    8     2  outputLocation  Lorg/eclipse/core/runtime/IPath;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IPackageFragmentRoot getPackageFragmentRoot(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathAttribute[]);
    descriptor: (Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathAttribute;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.IPath path
        start local 2 // org.eclipse.jdt.core.IClasspathAttribute[] extraAttributes
         0: .line 2184
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.isAbsolute:()Z
            ifne 2
         1: .line 2185
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.append:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            astore 1 /* path */
         2: .line 2187
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            istore 3 /* segmentCount */
        start local 3 // int segmentCount
         3: .line 2188
            iload 3 /* segmentCount */
            ifne 5
         4: .line 2189
            aconst_null
            areturn
         5: .line 2191
      StackMap locals: int
      StackMap stack:
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
            ifnonnull 6
            aload 1 /* path */
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getExternalTarget:(Lorg/eclipse/core/runtime/IPath;Z)Ljava/lang/Object;
            ifnull 7
         6: .line 2193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* path */
            aload 2 /* extraAttributes */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoot0:(Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathAttribute;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
         7: .line 2195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.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
         8: .line 2196
            aload 4 /* workspaceRoot */
            aload 1 /* path */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.findMember:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
            astore 5 /* resource */
        start local 5 // org.eclipse.core.resources.IResource resource
         9: .line 2197
            aload 5 /* resource */
            ifnonnull 23
        10: .line 2199
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.getFileExtension:()Ljava/lang/String;
            ifnull 15
        11: .line 2200
            aload 4 /* workspaceRoot */
            aload 1 /* path */
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getProject:(Ljava/lang/String;)Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.exists:()Z
            ifne 13
        12: .line 2202
            aload 0 /* this */
            aload 1 /* path */
            aload 2 /* extraAttributes */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoot0:(Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathAttribute;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
        13: .line 2205
      StackMap locals: org.eclipse.core.resources.IWorkspaceRoot org.eclipse.core.resources.IResource
      StackMap stack:
            aload 4 /* workspaceRoot */
            aload 1 /* path */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getFile:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IFile;
            astore 5 /* resource */
        14: .line 2207
            goto 23
      StackMap locals:
      StackMap stack:
        15: iload 3 /* segmentCount */
            iconst_1
            if_icmpne 22
        16: .line 2209
            aload 1 /* path */
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            astore 6 /* projectName */
        start local 6 // java.lang.String projectName
        17: .line 2210
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getElementName:()Ljava/lang/String;
            aload 6 /* projectName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        18: .line 2212
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            astore 5 /* resource */
        19: .line 2213
            goto 23
        20: .line 2215
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* workspaceRoot */
            aload 6 /* projectName */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getProject:(Ljava/lang/String;)Lorg/eclipse/core/resources/IProject;
            astore 5 /* resource */
        end local 6 // java.lang.String projectName
        21: .line 2217
            goto 23
        22: .line 2219
      StackMap locals:
      StackMap stack:
            aload 4 /* workspaceRoot */
            aload 1 /* path */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getFolder:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IFolder;
            astore 5 /* resource */
        23: .line 2222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* resource */
            aconst_null
            aload 2 /* extraAttributes */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoot:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathAttribute;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
        end local 5 // org.eclipse.core.resources.IResource resource
        end local 4 // org.eclipse.core.resources.IWorkspaceRoot workspaceRoot
        end local 3 // int segmentCount
        end local 2 // org.eclipse.jdt.core.IClasspathAttribute[] extraAttributes
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   24     0             this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   24     1             path  Lorg/eclipse/core/runtime/IPath;
            0   24     2  extraAttributes  [Lorg/eclipse/jdt/core/IClasspathAttribute;
            3   24     3     segmentCount  I
            8   24     4    workspaceRoot  Lorg/eclipse/core/resources/IWorkspaceRoot;
            9   24     5         resource  Lorg/eclipse/core/resources/IResource;
           17   21     6      projectName  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      path             
      extraAttributes  

  public org.eclipse.jdt.core.IPackageFragmentRoot getPackageFragmentRoot(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.resources.IResource resource
         0: .line 2230
            aload 0 /* this */
            aload 1 /* resource */
            aconst_null
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoot:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathAttribute;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
        end local 1 // org.eclipse.core.resources.IResource resource
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  resource  Lorg/eclipse/core/resources/IResource;
    MethodParameters:
          Name  Flags
      resource  

  public org.eclipse.jdt.core.IPackageFragmentRoot getPackageFragmentRoot(org.eclipse.core.resources.IResource, org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathAttribute[]);
    descriptor: (Lorg/eclipse/core/resources/IResource;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathAttribute;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.resources.IResource resource
        start local 2 // org.eclipse.core.runtime.IPath entryPath
        start local 3 // org.eclipse.jdt.core.IClasspathAttribute[] extraAttributes
         0: .line 2234
            aload 1 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getType:()I
            tableswitch { // 1 - 4
                    1: 1
                    2: 2
                    3: 6
                    4: 5
              default: 6
          }
         1: .line 2236
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.JarPackageFragmentRoot
            dup
            aload 1 /* resource */
            aload 1 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            aload 0 /* this */
            aload 3 /* extraAttributes */
            invokespecial org.eclipse.jdt.internal.core.JarPackageFragmentRoot.<init>:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/JavaProject;[Lorg/eclipse/jdt/core/IClasspathAttribute;)V
            areturn
         2: .line 2238
      StackMap locals:
      StackMap stack:
            aload 1 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokestatic org.eclipse.jdt.internal.core.ExternalFoldersManager.isInternalPathForExternalFolder:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 4
         3: .line 2239
            new org.eclipse.jdt.internal.core.ExternalPackageFragmentRoot
            dup
            aload 1 /* resource */
            aload 2 /* entryPath */
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.ExternalPackageFragmentRoot.<init>:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/JavaProject;)V
            areturn
         4: .line 2240
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.PackageFragmentRoot
            dup
            aload 1 /* resource */
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.PackageFragmentRoot.<init>:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/internal/core/JavaProject;)V
            areturn
         5: .line 2242
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.PackageFragmentRoot
            dup
            aload 1 /* resource */
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.PackageFragmentRoot.<init>:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/internal/core/JavaProject;)V
            areturn
         6: .line 2244
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.core.IClasspathAttribute[] extraAttributes
        end local 2 // org.eclipse.core.runtime.IPath entryPath
        end local 1 // org.eclipse.core.resources.IResource resource
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    7     1         resource  Lorg/eclipse/core/resources/IResource;
            0    7     2        entryPath  Lorg/eclipse/core/runtime/IPath;
            0    7     3  extraAttributes  [Lorg/eclipse/jdt/core/IClasspathAttribute;
    MethodParameters:
                 Name  Flags
      resource         
      entryPath        
      extraAttributes  

  public org.eclipse.jdt.core.IPackageFragmentRoot getPackageFragmentRoot(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String externalLibraryPath
         0: .line 2253
            aload 0 /* this */
            new org.eclipse.core.runtime.Path
            dup
            aload 1 /* externalLibraryPath */
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokestatic org.eclipse.jdt.internal.core.JavaProject.canonicalizedPath:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoot0:(Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathAttribute;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
        end local 1 // java.lang.String externalLibraryPath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  externalLibraryPath  Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      externalLibraryPath  

  public org.eclipse.jdt.core.IPackageFragmentRoot getPackageFragmentRoot0(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathAttribute[]);
    descriptor: (Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathAttribute;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.IPath externalLibraryPath
        start local 2 // org.eclipse.jdt.core.IClasspathAttribute[] extraAttributes
         0: .line 2260
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getExternalManager:()Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
            aload 1 /* externalLibraryPath */
            invokevirtual org.eclipse.jdt.internal.core.ExternalFoldersManager.getFolder:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IFolder;
            astore 3 /* linkedFolder */
        start local 3 // org.eclipse.core.resources.IFolder linkedFolder
         1: .line 2261
            aload 3 /* linkedFolder */
            ifnull 3
         2: .line 2262
            new org.eclipse.jdt.internal.core.ExternalPackageFragmentRoot
            dup
            aload 3 /* linkedFolder */
            aload 1 /* externalLibraryPath */
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.ExternalPackageFragmentRoot.<init>:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/JavaProject;)V
            areturn
         3: .line 2263
      StackMap locals: org.eclipse.core.resources.IFolder
      StackMap stack:
            aload 1 /* externalLibraryPath */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.isJrt:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 5
         4: .line 2264
            new org.eclipse.jdt.internal.core.JavaProject$JImageModuleFragmentBridge
            dup
            aload 0 /* this */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            aload 1 /* externalLibraryPath */
            aload 2 /* extraAttributes */
            invokespecial org.eclipse.jdt.internal.core.JavaProject$JImageModuleFragmentBridge.<init>:(Lorg/eclipse/jdt/internal/core/JavaProject;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathAttribute;)V
            areturn
         5: .line 2266
      StackMap locals:
      StackMap stack:
            aload 1 /* externalLibraryPath */
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getTarget:(Lorg/eclipse/core/runtime/IPath;Z)Ljava/lang/Object;
            astore 4 /* target */
        start local 4 // java.lang.Object target
         6: .line 2267
            aload 4 /* target */
            instanceof java.io.File
            ifeq 9
            aload 4 /* target */
            invokestatic org.eclipse.jdt.internal.core.JavaModel.isFile:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 2268
            aload 4 /* target */
            checkcast java.io.File
            invokestatic org.eclipse.jdt.internal.core.JavaModel.isJmod:(Ljava/io/File;)Z
            ifeq 9
         8: .line 2269
            new org.eclipse.jdt.internal.core.JModPackageFragmentRoot
            dup
            aload 1 /* externalLibraryPath */
            aload 0 /* this */
            aload 2 /* extraAttributes */
            invokespecial org.eclipse.jdt.internal.core.JModPackageFragmentRoot.<init>:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/JavaProject;[Lorg/eclipse/jdt/core/IClasspathAttribute;)V
            areturn
         9: .line 2272
      StackMap locals: java.lang.Object
      StackMap stack:
            new org.eclipse.jdt.internal.core.JarPackageFragmentRoot
            dup
            aconst_null
            aload 1 /* externalLibraryPath */
            aload 0 /* this */
            aload 2 /* extraAttributes */
            invokespecial org.eclipse.jdt.internal.core.JarPackageFragmentRoot.<init>:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/JavaProject;[Lorg/eclipse/jdt/core/IClasspathAttribute;)V
            areturn
        end local 4 // java.lang.Object target
        end local 3 // org.eclipse.core.resources.IFolder linkedFolder
        end local 2 // org.eclipse.jdt.core.IClasspathAttribute[] extraAttributes
        end local 1 // org.eclipse.core.runtime.IPath externalLibraryPath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   10     0                 this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   10     1  externalLibraryPath  Lorg/eclipse/core/runtime/IPath;
            0   10     2      extraAttributes  [Lorg/eclipse/jdt/core/IClasspathAttribute;
            1   10     3         linkedFolder  Lorg/eclipse/core/resources/IFolder;
            6   10     4               target  Ljava/lang/Object;
    MethodParameters:
                     Name  Flags
      externalLibraryPath  
      extraAttributes      

  public org.eclipse.jdt.core.IPackageFragmentRoot[] getPackageFragmentRoots();
    descriptor: ()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2287
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getChildren:()[Lorg/eclipse/jdt/core/IJavaElement;
            dup
            astore 1 /* children */
        start local 1 // java.lang.Object[] children
         1: .line 2288
            iconst_0
         2: .line 2289
            aload 1 /* children */
            arraylength
            dup
            istore 2 /* length */
        start local 2 // int length
         3: anewarray org.eclipse.jdt.core.IPackageFragmentRoot
            dup
            astore 3 /* roots */
        start local 3 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
         4: .line 2290
            iconst_0
         5: .line 2291
            iload 2 /* length */
         6: .line 2286
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 2293
            aload 3 /* roots */
            areturn
        end local 3 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
        end local 2 // int length
        end local 1 // java.lang.Object[] children
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1    8     1  children  [Ljava/lang/Object;
            3    8     2    length  I
            4    8     3     roots  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IPackageFragmentRoot[] getPackageFragmentRoots(org.eclipse.jdt.core.IClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry entry
         0: .line 2302
            aload 0 /* this */
            aload 1 /* entry */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.findPackageFragmentRoots:(Lorg/eclipse/jdt/core/IClasspathEntry;)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
        end local 1 // org.eclipse.jdt.core.IClasspathEntry entry
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  entry  Lorg/eclipse/jdt/core/IClasspathEntry;
    MethodParameters:
       Name  Flags
      entry  

  public org.eclipse.jdt.core.IPackageFragment[] getPackageFragments();
    descriptor: ()[Lorg/eclipse/jdt/core/IPackageFragment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2311
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoots:()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 1 /* roots */
        start local 1 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
         1: .line 2312
            aload 0 /* this */
            aload 1 /* roots */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentsInRoots:([Lorg/eclipse/jdt/core/IPackageFragmentRoot;)[Lorg/eclipse/jdt/core/IPackageFragment;
            areturn
        end local 1 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1    2     1  roots  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IPackageFragment[] getPackageFragmentsInRoots(org.eclipse.jdt.core.IPackageFragmentRoot[]);
    descriptor: ([Lorg/eclipse/jdt/core/IPackageFragmentRoot;)[Lorg/eclipse/jdt/core/IPackageFragment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
         0: .line 2323
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* frags */
        start local 2 // java.util.ArrayList frags
         1: .line 2324
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 9
         3: .line 2325
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            aload 1 /* roots */
            iload 3 /* i */
            aaload
            astore 4 /* root */
        start local 4 // org.eclipse.jdt.core.IPackageFragmentRoot root
         4: .line 2327
            aload 4 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getChildren:()[Lorg/eclipse/jdt/core/IJavaElement;
            astore 5 /* rootFragments */
        start local 5 // org.eclipse.jdt.core.IJavaElement[] rootFragments
         5: .line 2328
            aload 2 /* frags */
            aload 5 /* rootFragments */
            invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
            pop
        end local 5 // org.eclipse.jdt.core.IJavaElement[] rootFragments
         6: .line 2329
            goto 8
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IPackageFragmentRoot[] java.util.ArrayList int org.eclipse.jdt.core.IPackageFragmentRoot
      StackMap stack: org.eclipse.jdt.core.JavaModelException
         7: pop
        end local 4 // org.eclipse.jdt.core.IPackageFragmentRoot root
         8: .line 2324
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 1 /* roots */
            arraylength
            if_icmplt 3
        end local 3 // int i
        10: .line 2333
            aload 2 /* frags */
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.jdt.core.IPackageFragment
            astore 3 /* fragments */
        start local 3 // org.eclipse.jdt.core.IPackageFragment[] fragments
        11: .line 2334
            aload 2 /* frags */
            aload 3 /* fragments */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        12: .line 2335
            aload 3 /* fragments */
            areturn
        end local 3 // org.eclipse.jdt.core.IPackageFragment[] fragments
        end local 2 // java.util.ArrayList frags
        end local 1 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   13     1          roots  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            1   13     2          frags  Ljava/util/ArrayList;
            2   10     3              i  I
            4    8     4           root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            5    6     5  rootFragments  [Lorg/eclipse/jdt/core/IJavaElement;
           11   13     3      fragments  [Lorg/eclipse/jdt/core/IPackageFragment;
      Exception table:
        from    to  target  type
           4     6       7  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      roots  

  public org.eclipse.core.runtime.IPath getPath();
    descriptor: ()Lorg/eclipse/core/runtime/IPath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2343
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

  public org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo getPerProjectInfo();
    descriptor: ()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2347
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfoCheckExistence:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  private org.eclipse.core.runtime.IPath getPluginWorkingLocation();
    descriptor: ()Lorg/eclipse/core/runtime/IPath;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2351
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            ldc "org.eclipse.jdt.core"
            invokeinterface org.eclipse.core.resources.IProject.getWorkingLocation:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

  public org.eclipse.core.resources.IProject getProject();
    descriptor: ()Lorg/eclipse/core/resources/IProject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2359
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

  public org.eclipse.jdt.internal.core.JavaProjectElementInfo$ProjectCache getProjectCache();
    descriptor: ()Lorg/eclipse/jdt/internal/core/JavaProjectElementInfo$ProjectCache;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2364
            aload 0 /* this */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProjectCache:(Z)Lorg/eclipse/jdt/internal/core/JavaProjectElementInfo$ProjectCache;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public org.eclipse.jdt.internal.core.JavaProjectElementInfo$ProjectCache getProjectCache(boolean);
    descriptor: (Z)Lorg/eclipse/jdt/internal/core/JavaProjectElementInfo$ProjectCache;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // boolean excludeTestCode
         0: .line 2368
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaProjectElementInfo
            aload 0 /* this */
            iload 1 /* excludeTestCode */
            invokevirtual org.eclipse.jdt.internal.core.JavaProjectElementInfo.getProjectCache:(Lorg/eclipse/jdt/internal/core/JavaProject;Z)Lorg/eclipse/jdt/internal/core/JavaProjectElementInfo$ProjectCache;
            areturn
        end local 1 // boolean excludeTestCode
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  excludeTestCode  Z
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                 Name  Flags
      excludeTestCode  

  public org.eclipse.jdt.core.IClasspathEntry[] getRawClasspath();
    descriptor: ()[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2376
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo:()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 1 /* perProjectInfo */
        start local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
         1: .line 2377
            aload 1 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* classpath */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] classpath
         2: .line 2378
            aload 2 /* classpath */
            ifnull 3
            aload 2 /* classpath */
            areturn
         3: .line 2380
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            aload 1 /* perProjectInfo */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.readAndCacheClasspath:(Lorg/eclipse/jdt/internal/core/JavaProject;)[[Lorg/eclipse/jdt/core/IClasspathEntry;
            iconst_0
            aaload
            astore 2 /* classpath */
         4: .line 2382
            aload 2 /* classpath */
            getstatic org.eclipse.jdt.internal.core.JavaProject.INVALID_CLASSPATH:[Lorg/eclipse/jdt/core/IClasspathEntry;
            if_acmpne 6
         5: .line 2383
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.defaultClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            areturn
         6: .line 2385
      StackMap locals:
      StackMap stack:
            aload 2 /* classpath */
            areturn
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        end local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1    7     1  perProjectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            2    7     2       classpath  [Lorg/eclipse/jdt/core/IClasspathEntry;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IClasspathEntry[] getReferencedClasspathEntries();
    descriptor: ()[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2393
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo:()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.referencedEntries:[Lorg/eclipse/jdt/core/IClasspathEntry;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.lang.String[] getRequiredProjectNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2402
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.projectPrerequisites:([Lorg/eclipse/jdt/core/IClasspathEntry;)[Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IClasspathEntry[] getResolvedClasspath();
    descriptor: ()[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2406
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo:()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 1 /* perProjectInfo */
        start local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
         1: .line 2407
            aload 1 /* perProjectInfo */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* resolvedClasspath */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
         2: .line 2408
            aload 2 /* resolvedClasspath */
            ifnonnull 9
         3: .line 2409
            aload 0 /* this */
            aload 1 /* perProjectInfo */
            iconst_0
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.resolveClasspath:(Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;ZZ)V
         4: .line 2410
            aload 1 /* perProjectInfo */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* resolvedClasspath */
         5: .line 2411
            aload 2 /* resolvedClasspath */
            ifnonnull 9
         6: .line 2413
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newTemporaryInfo:()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 3 /* temporaryInfo */
        start local 3 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo temporaryInfo
         7: .line 2414
            aload 0 /* this */
            aload 3 /* temporaryInfo */
            iconst_0
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.resolveClasspath:(Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;ZZ)V
         8: .line 2415
            aload 3 /* temporaryInfo */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* resolvedClasspath */
        end local 3 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo temporaryInfo
         9: .line 2418
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            aload 2 /* resolvedClasspath */
            areturn
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        end local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0               this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1   10     1     perProjectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            2   10     2  resolvedClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            7    9     3      temporaryInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IClasspathEntry[] getResolvedClasspath(boolean);
    descriptor: (Z)[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // boolean ignoreUnresolvedEntry
         0: .line 2426
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.isClasspathBeingResolved:(Lorg/eclipse/jdt/core/IJavaProject;)Z
            ifeq 4
         1: .line 2427
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_ADVANCED:Z
            ifeq 3
         2: .line 2428
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.verbose_reentering_classpath_resolution:()V
         3: .line 2429
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaProject.RESOLUTION_IN_PROGRESS:[Lorg/eclipse/jdt/core/IClasspathEntry;
            areturn
         4: .line 2431
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo:()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 2 /* perProjectInfo */
        start local 2 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
         5: .line 2436
            aload 2 /* perProjectInfo */
            dup
            astore 5
            monitorenter
         6: .line 2437
            aload 2 /* perProjectInfo */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 3 /* resolvedClasspath */
        start local 3 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
         7: .line 2438
            aload 2 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.unresolvedEntryStatus:Lorg/eclipse/jdt/core/IJavaModelStatus;
            astore 4 /* unresolvedEntryStatus */
        start local 4 // org.eclipse.jdt.core.IJavaModelStatus unresolvedEntryStatus
         8: .line 2436
            aload 5
            monitorexit
         9: goto 12
        end local 4 // org.eclipse.jdt.core.IJavaModelStatus unresolvedEntryStatus
        end local 3 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject int org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo top top org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
      StackMap stack: java.lang.Throwable
        10: aload 5
            monitorexit
        11: athrow
        start local 3 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        start local 4 // org.eclipse.jdt.core.IJavaModelStatus unresolvedEntryStatus
        12: .line 2441
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject int org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IJavaModelStatus
      StackMap stack:
            aload 3 /* resolvedClasspath */
            ifnull 14
        13: .line 2442
            aload 4 /* unresolvedEntryStatus */
            ifnull 27
            aload 4 /* unresolvedEntryStatus */
            invokeinterface org.eclipse.jdt.core.IJavaModelStatus.isOK:()Z
            ifne 27
        14: .line 2443
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* perProjectInfo */
            iconst_0
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.resolveClasspath:(Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;ZZ)V
        15: .line 2444
            aload 2 /* perProjectInfo */
            dup
            astore 5
            monitorenter
        16: .line 2445
            aload 2 /* perProjectInfo */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 3 /* resolvedClasspath */
        17: .line 2446
            aload 2 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.unresolvedEntryStatus:Lorg/eclipse/jdt/core/IJavaModelStatus;
            astore 4 /* unresolvedEntryStatus */
        18: .line 2444
            aload 5
            monitorexit
        19: goto 22
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject int org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IJavaModelStatus org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
      StackMap stack: java.lang.Throwable
        20: aload 5
            monitorexit
        21: athrow
        22: .line 2448
      StackMap locals:
      StackMap stack:
            aload 3 /* resolvedClasspath */
            ifnonnull 27
        23: .line 2450
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newTemporaryInfo:()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 5 /* temporaryInfo */
        start local 5 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo temporaryInfo
        24: .line 2451
            aload 0 /* this */
            aload 5 /* temporaryInfo */
            iconst_0
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.resolveClasspath:(Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;ZZ)V
        25: .line 2452
            aload 5 /* temporaryInfo */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 3 /* resolvedClasspath */
        26: .line 2453
            aload 5 /* temporaryInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.unresolvedEntryStatus:Lorg/eclipse/jdt/core/IJavaModelStatus;
            astore 4 /* unresolvedEntryStatus */
        end local 5 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo temporaryInfo
        27: .line 2456
      StackMap locals:
      StackMap stack:
            iload 1 /* ignoreUnresolvedEntry */
            ifne 29
            aload 4 /* unresolvedEntryStatus */
            ifnull 29
            aload 4 /* unresolvedEntryStatus */
            invokeinterface org.eclipse.jdt.core.IJavaModelStatus.isOK:()Z
            ifne 29
        28: .line 2457
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 4 /* unresolvedEntryStatus */
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/jdt/core/IJavaModelStatus;)V
            athrow
        29: .line 2458
      StackMap locals:
      StackMap stack:
            aload 3 /* resolvedClasspath */
            areturn
        end local 4 // org.eclipse.jdt.core.IJavaModelStatus unresolvedEntryStatus
        end local 3 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        end local 2 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
        end local 1 // boolean ignoreUnresolvedEntry
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   30     0                   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   30     1  ignoreUnresolvedEntry  Z
            5   30     2         perProjectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            7   10     3      resolvedClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
           12   30     3      resolvedClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            8   10     4  unresolvedEntryStatus  Lorg/eclipse/jdt/core/IJavaModelStatus;
           12   30     4  unresolvedEntryStatus  Lorg/eclipse/jdt/core/IJavaModelStatus;
           24   27     5          temporaryInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
      Exception table:
        from    to  target  type
           6     9      10  any
          10    11      10  any
          16    19      20  any
          20    21      20  any
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                       Name  Flags
      ignoreUnresolvedEntry  

  private void verbose_reentering_classpath_resolution();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2463
            new java.lang.StringBuilder
            dup
            ldc "CPResolution: reentering raw classpath resolution, will use empty classpath instead\tproject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 2464
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 2465
            ldc "\tinvocation stack trace:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 2463
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 2462
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         5: .line 2466
            new java.lang.Exception
            dup
            ldc "<Fake exception>"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
         6: .line 2467
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

  public org.eclipse.core.resources.IResource resource(org.eclipse.jdt.internal.core.PackageFragmentRoot);
    descriptor: (Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;)Lorg/eclipse/core/resources/IResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
         0: .line 2474
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            areturn
        end local 1 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  root  Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;
    MethodParameters:
      Name  Flags
      root  

  public java.lang.String getSharedProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String key
         0: .line 2490
            aconst_null
            astore 2 /* property */
        start local 2 // java.lang.String property
         1: .line 2491
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            aload 1 /* key */
            invokeinterface org.eclipse.core.resources.IProject.getFile:(Ljava/lang/String;)Lorg/eclipse/core/resources/IFile;
            astore 3 /* rscFile */
        start local 3 // org.eclipse.core.resources.IFile rscFile
         2: .line 2492
            aload 3 /* rscFile */
            invokeinterface org.eclipse.core.resources.IFile.exists:()Z
            ifeq 10
         3: .line 2493
            aload 3 /* rscFile */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getResourceContentsAsByteArray:(Lorg/eclipse/core/resources/IFile;)[B
            astore 4 /* bytes */
        start local 4 // byte[] bytes
         4: .line 2495
            new java.lang.String
            dup
            aload 4 /* bytes */
            ldc "UTF-8"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            astore 2 /* property */
         5: .line 2496
            goto 23
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.lang.String java.lang.String org.eclipse.core.resources.IFile byte[]
      StackMap stack: java.io.UnsupportedEncodingException
         6: astore 5 /* e */
        start local 5 // java.io.UnsupportedEncodingException e
         7: .line 2497
            aload 5 /* e */
            ldc "Could not read .classpath with UTF-8 encoding"
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Ljava/lang/Throwable;Ljava/lang/String;)V
         8: .line 2499
            new java.lang.String
            dup
            aload 4 /* bytes */
            invokespecial java.lang.String.<init>:([B)V
            astore 2 /* property */
        end local 5 // java.io.UnsupportedEncodingException e
        end local 4 // byte[] bytes
         9: .line 2501
            goto 23
        10: .line 2505
      StackMap locals:
      StackMap stack:
            aload 3 /* rscFile */
            invokeinterface org.eclipse.core.resources.IFile.getLocationURI:()Ljava/net/URI;
            astore 4 /* location */
        start local 4 // java.net.URI location
        11: .line 2506
            aload 4 /* location */
            ifnull 23
        12: .line 2507
            aload 4 /* location */
            aconst_null
            invokestatic org.eclipse.jdt.internal.core.util.Util.toLocalFile:(Ljava/net/URI;Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/io/File;
            astore 5 /* file */
        start local 5 // java.io.File file
        13: .line 2508
            aload 5 /* file */
            ifnull 23
            aload 5 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 23
        14: .line 2511
            aload 5 /* file */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.getFileByteContent:(Ljava/io/File;)[B
            astore 6 /* bytes */
        start local 6 // byte[] bytes
        15: .line 2512
            goto 18
        end local 6 // byte[] bytes
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.lang.String java.lang.String org.eclipse.core.resources.IFile java.net.URI java.io.File
      StackMap stack: java.io.IOException
        16: pop
        17: .line 2513
            aconst_null
            areturn
        start local 6 // byte[] bytes
        18: .line 2516
      StackMap locals: byte[]
      StackMap stack:
            new java.lang.String
            dup
            aload 6 /* bytes */
            ldc "UTF-8"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            astore 2 /* property */
        19: .line 2517
            goto 23
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
        20: astore 7 /* e */
        start local 7 // java.io.UnsupportedEncodingException e
        21: .line 2518
            aload 7 /* e */
            ldc "Could not read .classpath with UTF-8 encoding"
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Ljava/lang/Throwable;Ljava/lang/String;)V
        22: .line 2520
            new java.lang.String
            dup
            aload 6 /* bytes */
            invokespecial java.lang.String.<init>:([B)V
            astore 2 /* property */
        end local 7 // java.io.UnsupportedEncodingException e
        end local 6 // byte[] bytes
        end local 5 // java.io.File file
        end local 4 // java.net.URI location
        23: .line 2525
      StackMap locals:
      StackMap stack:
            aload 2 /* property */
            areturn
        end local 3 // org.eclipse.core.resources.IFile rscFile
        end local 2 // java.lang.String property
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   24     1       key  Ljava/lang/String;
            1   24     2  property  Ljava/lang/String;
            2   24     3   rscFile  Lorg/eclipse/core/resources/IFile;
            4    9     4     bytes  [B
            7    9     5         e  Ljava/io/UnsupportedEncodingException;
           11   23     4  location  Ljava/net/URI;
           13   23     5      file  Ljava/io/File;
           15   16     6     bytes  [B
           18   23     6     bytes  [B
           21   23     7         e  Ljava/io/UnsupportedEncodingException;
      Exception table:
        from    to  target  type
           4     5       6  Class java.io.UnsupportedEncodingException
          14    15      16  Class java.io.IOException
          18    19      20  Class java.io.UnsupportedEncodingException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
      Name  Flags
      key   

  public org.eclipse.jdt.internal.core.SourceMapper getSourceMapper();
    descriptor: ()Lorg/eclipse/jdt/internal/core/SourceMapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2534
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

  public org.eclipse.core.resources.IResource getUnderlyingResource();
    descriptor: ()Lorg/eclipse/core/resources/IResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2542
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.exists:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newNotPresentException:()Lorg/eclipse/jdt/core/JavaModelException;
            athrow
         1: .line 2543
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public boolean hasBuildState();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2552
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getLastBuiltState:(Lorg/eclipse/core/resources/IProject;Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/lang/Object;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

  public boolean hasClasspathCycle(org.eclipse.jdt.core.IClasspathEntry[]);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] preferredClasspath
         0: .line 2560
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 2 /* cycleParticipants */
        start local 2 // java.util.LinkedHashSet cycleParticipants
         1: .line 2561
            new java.util.HashMap
            dup
            iconst_1
            invokespecial java.util.HashMap.<init>:(I)V
            astore 3 /* preferredClasspaths */
        start local 3 // java.util.HashMap preferredClasspaths
         2: .line 2562
            aload 3 /* preferredClasspaths */
            aload 0 /* this */
            aload 1 /* preferredClasspath */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 2563
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            aload 2 /* cycleParticipants */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            new java.util.HashSet
            dup
            iconst_2
            invokespecial java.util.HashSet.<init>:(I)V
            aload 3 /* preferredClasspaths */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.updateCycleParticipants:(Ljava/util/List;Ljava/util/LinkedHashSet;Ljava/util/Map;Lorg/eclipse/core/resources/IWorkspaceRoot;Ljava/util/HashSet;Ljava/util/Map;)V
         4: .line 2564
            aload 2 /* cycleParticipants */
            invokevirtual java.util.LinkedHashSet.isEmpty:()Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals: java.util.LinkedHashSet java.util.HashMap
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: ireturn
        end local 3 // java.util.HashMap preferredClasspaths
        end local 2 // java.util.LinkedHashSet cycleParticipants
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] preferredClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                 this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    7     1   preferredClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            1    7     2    cycleParticipants  Ljava/util/LinkedHashSet;
            2    7     3  preferredClasspaths  Ljava/util/HashMap;
    MethodParameters:
                    Name  Flags
      preferredClasspath  

  public boolean hasCycleMarker();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2568
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getCycleMarker:()Lorg/eclipse/core/resources/IMarker;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2573
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokevirtual java.lang.Object.hashCode:()I
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

  private boolean hasUTF8BOM(byte[]);
    descriptor: ([B)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // byte[] bytes
         0: .line 2577
            aload 1 /* bytes */
            arraylength
            getstatic org.eclipse.core.runtime.content.IContentDescription.BOM_UTF_8:[B
            arraylength
            if_icmple 9
         1: .line 2578
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: getstatic org.eclipse.core.runtime.content.IContentDescription.BOM_UTF_8:[B
            arraylength
            istore 3 /* length */
        start local 3 // int length
         3: goto 7
         4: .line 2579
      StackMap locals: int int
      StackMap stack:
            getstatic org.eclipse.core.runtime.content.IContentDescription.BOM_UTF_8:[B
            iload 2 /* i */
            baload
            aload 1 /* bytes */
            iload 2 /* i */
            baload
            if_icmpeq 6
         5: .line 2580
            iconst_0
            ireturn
         6: .line 2578
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 4
        end local 3 // int length
        end local 2 // int i
         8: .line 2582
            iconst_1
            ireturn
         9: .line 2584
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // byte[] bytes
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   10     1   bytes  [B
            2    8     2       i  I
            3    8     3  length  I
    MethodParameters:
       Name  Flags
      bytes  

  public boolean hasSource();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2597
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 1 /* entries */
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] entries
         1: .line 2598
            goto 4
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] entries
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
         2: pop
         3: .line 2599
            iconst_1
            ireturn
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] entries
         4: .line 2601
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         5: aload 1 /* entries */
            arraylength
            istore 3 /* max */
        start local 3 // int max
         6: goto 10
         7: .line 2602
      StackMap locals: int int
      StackMap stack:
            aload 1 /* entries */
            iload 2 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_3
            if_icmpne 9
         8: .line 2603
            iconst_1
            ireturn
         9: .line 2601
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            iload 3 /* max */
            if_icmplt 7
        end local 3 // int max
        end local 2 // int i
        11: .line 2606
            iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] entries
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1    2     1  entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            4   12     1  entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            5   11     2        i  I
            6   11     3      max  I
      Exception table:
        from    to  target  type
           0     1       2  Class org.eclipse.jdt.core.JavaModelException

  public boolean isOnClasspath(org.eclipse.jdt.core.IJavaElement);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IJavaElement element
         0: .line 2618
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* rawClasspath */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
         1: .line 2619
            goto 4
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
         2: pop
         3: .line 2620
            iconst_0
            ireturn
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
         4: .line 2622
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            aload 1 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            istore 3 /* elementType */
        start local 3 // int elementType
         5: .line 2623
            iconst_0
            istore 4 /* isPackageFragmentRoot */
        start local 4 // boolean isPackageFragmentRoot
         6: .line 2624
            iconst_0
            istore 5 /* isFolderPath */
        start local 5 // boolean isFolderPath
         7: .line 2625
            iconst_0
            istore 6 /* isSource */
        start local 6 // boolean isSource
         8: .line 2626
            iload 3 /* elementType */
            tableswitch { // 1 - 5
                    1: 9
                    2: 10
                    3: 11
                    4: 13
                    5: 17
              default: 19
          }
         9: .line 2628
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IJavaElement org.eclipse.jdt.core.IClasspathEntry[] int int int int
      StackMap stack:
            iconst_0
            ireturn
        10: .line 2630
      StackMap locals:
      StackMap stack:
            goto 22
        11: .line 2632
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* isPackageFragmentRoot */
        12: .line 2633
            goto 22
        13: .line 2635
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IPackageFragmentRoot
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.isArchive:()Z
            ifeq 14
            iconst_0
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_1
      StackMap locals:
      StackMap stack: int
        15: istore 5 /* isFolderPath */
        16: .line 2636
            goto 22
        17: .line 2638
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* isSource */
        18: .line 2639
            goto 22
        19: .line 2641
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            iconst_5
            invokeinterface org.eclipse.jdt.core.IJavaElement.getAncestor:(I)Lorg/eclipse/jdt/core/IJavaElement;
            ifnull 20
            iconst_1
            goto 21
      StackMap locals:
      StackMap stack:
        20: iconst_0
      StackMap locals:
      StackMap stack: int
        21: istore 6 /* isSource */
        22: .line 2644
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 7 /* elementPath */
        start local 7 // org.eclipse.core.runtime.IPath elementPath
        23: .line 2647
            aload 2 /* rawClasspath */
            arraylength
            istore 8 /* length */
        start local 8 // int length
        24: .line 2648
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        25: goto 31
        26: .line 2649
      StackMap locals: org.eclipse.core.runtime.IPath int int
      StackMap stack:
            aload 2 /* rawClasspath */
            iload 9 /* i */
            aaload
            astore 10 /* entry */
        start local 10 // org.eclipse.jdt.core.IClasspathEntry entry
        27: .line 2650
            aload 10 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 1 - 3
                    1: 28
                    2: 28
                    3: 28
              default: 30
          }
        28: .line 2654
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 0 /* this */
            aload 7 /* elementPath */
            iload 5 /* isFolderPath */
            iload 4 /* isPackageFragmentRoot */
            aload 10 /* entry */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.isOnClasspathEntry:(Lorg/eclipse/core/runtime/IPath;ZZLorg/eclipse/jdt/core/IClasspathEntry;)Z
            ifeq 30
        29: .line 2655
            iconst_1
            ireturn
        end local 10 // org.eclipse.jdt.core.IClasspathEntry entry
        30: .line 2648
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 9 /* i */
            iload 8 /* length */
            if_icmplt 26
        end local 9 // int i
        32: .line 2662
            iload 6 /* isSource */
            ifeq 34
        33: .line 2663
            iconst_0
            ireturn
        34: .line 2667
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* resolvedClasspath */
        start local 9 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        35: .line 2669
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 9 /* resolvedClasspath */
        36: .line 2670
            goto 39
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IJavaElement org.eclipse.jdt.core.IClasspathEntry[] int int int int org.eclipse.core.runtime.IPath int org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        37: pop
        38: .line 2671
            iconst_0
            ireturn
        39: .line 2674
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* index */
        start local 10 // int index
        40: goto 44
        41: .line 2675
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 7 /* elementPath */
            iload 5 /* isFolderPath */
            iload 4 /* isPackageFragmentRoot */
            aload 9 /* resolvedClasspath */
            iload 10 /* index */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.isOnClasspathEntry:(Lorg/eclipse/core/runtime/IPath;ZZLorg/eclipse/jdt/core/IClasspathEntry;)Z
            ifeq 43
        42: .line 2676
            iconst_1
            ireturn
        43: .line 2674
      StackMap locals:
      StackMap stack:
            iinc 10 /* index */ 1
      StackMap locals:
      StackMap stack:
        44: iload 10 /* index */
            aload 9 /* resolvedClasspath */
            arraylength
            if_icmplt 41
        end local 10 // int index
        45: .line 2679
            iconst_0
            ireturn
        end local 9 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        end local 8 // int length
        end local 7 // org.eclipse.core.runtime.IPath elementPath
        end local 6 // boolean isSource
        end local 5 // boolean isFolderPath
        end local 4 // boolean isPackageFragmentRoot
        end local 3 // int elementType
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
        end local 1 // org.eclipse.jdt.core.IJavaElement element
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   46     0                   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   46     1                element  Lorg/eclipse/jdt/core/IJavaElement;
            1    2     2           rawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            4   46     2           rawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            5   46     3            elementType  I
            6   46     4  isPackageFragmentRoot  Z
            7   46     5           isFolderPath  Z
            8   46     6               isSource  Z
           23   46     7            elementPath  Lorg/eclipse/core/runtime/IPath;
           24   46     8                 length  I
           25   32     9                      i  I
           27   30    10                  entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           35   46     9      resolvedClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
           40   45    10                  index  I
      Exception table:
        from    to  target  type
           0     1       2  Class org.eclipse.jdt.core.JavaModelException
          35    36      37  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      element  

  public boolean isOnClasspath(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.resources.IResource resource
         0: .line 2687
            aload 1 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* exactPath */
        start local 2 // org.eclipse.core.runtime.IPath exactPath
         1: .line 2688
            aload 2 /* exactPath */
            astore 3 /* path */
        start local 3 // org.eclipse.core.runtime.IPath path
         2: .line 2691
            aload 1 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getType:()I
            istore 4 /* resourceType */
        start local 4 // int resourceType
         3: .line 2692
            iload 4 /* resourceType */
            iconst_2
            if_icmpeq 4
            iload 4 /* resourceType */
            iconst_4
            if_icmpeq 4
            iconst_0
            goto 5
      StackMap locals: org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath int
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 5 /* isFolderPath */
        start local 5 // boolean isFolderPath
         6: .line 2696
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 6 /* classpath */
        start local 6 // org.eclipse.jdt.core.IClasspathEntry[] classpath
         7: .line 2697
            goto 10
        end local 6 // org.eclipse.jdt.core.IClasspathEntry[] classpath
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.resources.IResource org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath int int
      StackMap stack: org.eclipse.jdt.core.JavaModelException
         8: pop
         9: .line 2698
            iconst_0
            ireturn
        start local 6 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        10: .line 2700
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        11: goto 23
        12: .line 2701
      StackMap locals: int
      StackMap stack:
            aload 6 /* classpath */
            iload 7 /* i */
            aaload
            astore 8 /* entry */
        start local 8 // org.eclipse.jdt.core.IClasspathEntry entry
        13: .line 2702
            aload 8 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 9 /* entryPath */
        start local 9 // org.eclipse.core.runtime.IPath entryPath
        14: .line 2703
            aload 9 /* entryPath */
            aload 2 /* exactPath */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 2704
            iconst_1
            ireturn
        16: .line 2709
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 9 /* entryPath */
            invokeinterface org.eclipse.core.runtime.IPath.isAbsolute:()Z
            ifeq 19
        17: .line 2710
            aload 9 /* entryPath */
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getLocation:()Lorg/eclipse/core/runtime/IPath;
            aload 2 /* exactPath */
            invokeinterface org.eclipse.core.runtime.IPath.append:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 2711
            iconst_1
            ireturn
        19: .line 2713
      StackMap locals:
      StackMap stack:
            aload 9 /* entryPath */
            aload 3 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.isPrefixOf:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 22
        20: .line 2714
            aload 3 /* path */
            aload 8 /* entry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.fullInclusionPatternChars:()[[C
            aload 8 /* entry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.fullExclusionPatternChars:()[[C
            iload 5 /* isFolderPath */
            invokestatic org.eclipse.jdt.internal.core.util.Util.isExcluded:(Lorg/eclipse/core/runtime/IPath;[[C[[CZ)Z
            ifne 22
        21: .line 2715
            iconst_1
            ireturn
        end local 9 // org.eclipse.core.runtime.IPath entryPath
        end local 8 // org.eclipse.jdt.core.IClasspathEntry entry
        22: .line 2700
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 7 /* i */
            aload 6 /* classpath */
            arraylength
            if_icmplt 12
        end local 7 // int i
        24: .line 2718
            iconst_0
            ireturn
        end local 6 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        end local 5 // boolean isFolderPath
        end local 4 // int resourceType
        end local 3 // org.eclipse.core.runtime.IPath path
        end local 2 // org.eclipse.core.runtime.IPath exactPath
        end local 1 // org.eclipse.core.resources.IResource resource
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0          this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   25     1      resource  Lorg/eclipse/core/resources/IResource;
            1   25     2     exactPath  Lorg/eclipse/core/runtime/IPath;
            2   25     3          path  Lorg/eclipse/core/runtime/IPath;
            3   25     4  resourceType  I
            6   25     5  isFolderPath  Z
            7    8     6     classpath  [Lorg/eclipse/jdt/core/IClasspathEntry;
           10   25     6     classpath  [Lorg/eclipse/jdt/core/IClasspathEntry;
           11   24     7             i  I
           13   22     8         entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           14   22     9     entryPath  Lorg/eclipse/core/runtime/IPath;
      Exception table:
        from    to  target  type
           6     7       8  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      resource  

  private boolean isOnClasspathEntry(org.eclipse.core.runtime.IPath, boolean, boolean, org.eclipse.jdt.core.IClasspathEntry);
    descriptor: (Lorg/eclipse/core/runtime/IPath;ZZLorg/eclipse/jdt/core/IClasspathEntry;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.IPath elementPath
        start local 2 // boolean isFolderPath
        start local 3 // boolean isPackageFragmentRoot
        start local 4 // org.eclipse.jdt.core.IClasspathEntry entry
         0: .line 2722
            aload 4 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 5 /* entryPath */
        start local 5 // org.eclipse.core.runtime.IPath entryPath
         1: .line 2723
            iload 3 /* isPackageFragmentRoot */
            ifeq 4
         2: .line 2725
            aload 5 /* entryPath */
            aload 1 /* elementPath */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 7
         3: .line 2726
            iconst_1
            ireturn
         4: .line 2728
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 5 /* entryPath */
            aload 1 /* elementPath */
            invokeinterface org.eclipse.core.runtime.IPath.isPrefixOf:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 7
         5: .line 2729
            aload 1 /* elementPath */
            aload 4 /* entry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.fullInclusionPatternChars:()[[C
            aload 4 /* entry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.fullExclusionPatternChars:()[[C
            iload 2 /* isFolderPath */
            invokestatic org.eclipse.jdt.internal.core.util.Util.isExcluded:(Lorg/eclipse/core/runtime/IPath;[[C[[CZ)Z
            ifne 7
         6: .line 2730
            iconst_1
            ireturn
         7: .line 2733
      StackMap locals:
      StackMap stack:
            aload 5 /* entryPath */
            invokeinterface org.eclipse.core.runtime.IPath.isAbsolute:()Z
            ifeq 10
         8: .line 2734
            aload 5 /* entryPath */
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getLocation:()Lorg/eclipse/core/runtime/IPath;
            aload 1 /* elementPath */
            invokeinterface org.eclipse.core.runtime.IPath.append:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 2735
            iconst_1
            ireturn
        10: .line 2737
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // org.eclipse.core.runtime.IPath entryPath
        end local 4 // org.eclipse.jdt.core.IClasspathEntry entry
        end local 3 // boolean isPackageFragmentRoot
        end local 2 // boolean isFolderPath
        end local 1 // org.eclipse.core.runtime.IPath elementPath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   11     0                   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   11     1            elementPath  Lorg/eclipse/core/runtime/IPath;
            0   11     2           isFolderPath  Z
            0   11     3  isPackageFragmentRoot  Z
            0   11     4                  entry  Lorg/eclipse/jdt/core/IClasspathEntry;
            1   11     5              entryPath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
                       Name  Flags
      elementPath            
      isFolderPath           
      isPackageFragmentRoot  
      entry                  

  private org.eclipse.core.runtime.preferences.IEclipsePreferences loadPreferences();
    descriptor: ()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2745
            aconst_null
            astore 1 /* preferences */
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences preferences
         1: .line 2746
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPluginWorkingLocation:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* projectMetaLocation */
        start local 2 // org.eclipse.core.runtime.IPath projectMetaLocation
         2: .line 2747
            aload 2 /* projectMetaLocation */
            ifnull 26
         3: .line 2748
            aload 2 /* projectMetaLocation */
            ldc ".jprefs"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            astore 3 /* prefFile */
        start local 3 // java.io.File prefFile
         4: .line 2749
            aload 3 /* prefFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 26
         5: .line 2750
            aconst_null
            astore 4 /* in */
        start local 4 // java.io.InputStream in
         6: .line 2752
            new java.io.BufferedInputStream
            dup
            new java.io.FileInputStream
            dup
            aload 3 /* prefFile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 4 /* in */
         7: .line 2753
            invokestatic org.eclipse.core.runtime.Platform.getPreferencesService:()Lorg/eclipse/core/runtime/preferences/IPreferencesService;
            aload 4 /* in */
            invokeinterface org.eclipse.core.runtime.preferences.IPreferencesService.readPreferences:(Ljava/io/InputStream;)Lorg/eclipse/core/runtime/preferences/IExportedPreferences;
            astore 1 /* preferences */
         8: .line 2754
            goto 20
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.runtime.IPath java.io.File java.io.InputStream
      StackMap stack: java.lang.Exception
         9: pop
        10: .line 2756
            aload 4 /* in */
            ifnull 24
        11: .line 2758
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
        12: .line 2759
            goto 24
      StackMap locals:
      StackMap stack: java.io.IOException
        13: pop
            goto 24
        14: .line 2755
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        15: .line 2756
            aload 4 /* in */
            ifnull 19
        16: .line 2758
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
        17: .line 2759
            goto 19
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.runtime.IPath java.io.File java.io.InputStream java.lang.Throwable
      StackMap stack: java.io.IOException
        18: pop
        19: .line 2762
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        20: .line 2756
      StackMap locals:
      StackMap stack:
            aload 4 /* in */
            ifnull 24
        21: .line 2758
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
        22: .line 2759
            goto 24
      StackMap locals:
      StackMap stack: java.io.IOException
        23: pop
        24: .line 2764
      StackMap locals:
      StackMap stack:
            aload 3 /* prefFile */
            invokevirtual java.io.File.delete:()Z
            pop
        25: .line 2765
            aload 1 /* preferences */
            areturn
        end local 4 // java.io.InputStream in
        end local 3 // java.io.File prefFile
        26: .line 2768
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.eclipse.core.runtime.IPath projectMetaLocation
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences preferences
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   27     0                 this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1   27     1          preferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            2   27     2  projectMetaLocation  Lorg/eclipse/core/runtime/IPath;
            4   26     3             prefFile  Ljava/io/File;
            6   26     4                   in  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           6     8       9  Class org.eclipse.core.runtime.CoreException
           6     8       9  Class java.io.IOException
          11    12      13  Class java.io.IOException
           6    10      14  any
          16    17      18  Class java.io.IOException
          21    22      23  Class java.io.IOException

  public org.eclipse.jdt.core.eval.IEvaluationContext newEvaluationContext();
    descriptor: ()Lorg/eclipse/jdt/core/eval/IEvaluationContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2776
            new org.eclipse.jdt.internal.eval.EvaluationContext
            dup
            invokespecial org.eclipse.jdt.internal.eval.EvaluationContext.<init>:()V
            astore 1 /* context */
        start local 1 // org.eclipse.jdt.internal.eval.EvaluationContext context
         1: .line 2777
            aload 1 /* context */
            aconst_null
            aload 0 /* this */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getLineSeparator:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.eval.EvaluationContext.setLineSeparator:(Ljava/lang/String;)V
         2: .line 2778
            new org.eclipse.jdt.internal.core.eval.EvaluationContextWrapper
            dup
            aload 1 /* context */
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.eval.EvaluationContextWrapper.<init>:(Lorg/eclipse/jdt/internal/eval/EvaluationContext;Lorg/eclipse/jdt/internal/core/JavaProject;)V
            areturn
        end local 1 // org.eclipse.jdt.internal.eval.EvaluationContext context
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1    3     1  context  Lorg/eclipse/jdt/internal/eval/EvaluationContext;

  public org.eclipse.jdt.internal.core.NameLookup newNameLookup(org.eclipse.jdt.core.ICompilationUnit[]);
    descriptor: ([Lorg/eclipse/jdt/core/ICompilationUnit;)Lorg/eclipse/jdt/internal/core/NameLookup;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
         0: .line 2782
            aload 0 /* this */
            aload 1 /* workingCopies */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newNameLookup:([Lorg/eclipse/jdt/core/ICompilationUnit;Z)Lorg/eclipse/jdt/internal/core/NameLookup;
            areturn
        end local 1 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  workingCopies  [Lorg/eclipse/jdt/core/ICompilationUnit;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
               Name  Flags
      workingCopies  

  public org.eclipse.jdt.internal.core.NameLookup newNameLookup(org.eclipse.jdt.core.ICompilationUnit[], boolean);
    descriptor: ([Lorg/eclipse/jdt/core/ICompilationUnit;Z)Lorg/eclipse/jdt/internal/core/NameLookup;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        start local 2 // boolean excludeTestCode
         0: .line 2788
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getJavaProjectElementInfo:()Lorg/eclipse/jdt/internal/core/JavaProjectElementInfo;
            aload 0 /* this */
            aload 1 /* workingCopies */
            iload 2 /* excludeTestCode */
            invokevirtual org.eclipse.jdt.internal.core.JavaProjectElementInfo.newNameLookup:(Lorg/eclipse/jdt/internal/core/JavaProject;[Lorg/eclipse/jdt/core/ICompilationUnit;Z)Lorg/eclipse/jdt/internal/core/NameLookup;
            areturn
        end local 2 // boolean excludeTestCode
        end local 1 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1    workingCopies  [Lorg/eclipse/jdt/core/ICompilationUnit;
            0    1     2  excludeTestCode  Z
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                 Name  Flags
      workingCopies    
      excludeTestCode  

  public org.eclipse.jdt.internal.core.NameLookup newNameLookup(org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: (Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/internal/core/NameLookup;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.WorkingCopyOwner owner
         0: .line 2792
            aload 0 /* this */
            aload 1 /* owner */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newNameLookup:(Lorg/eclipse/jdt/core/WorkingCopyOwner;Z)Lorg/eclipse/jdt/internal/core/NameLookup;
            areturn
        end local 1 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      owner  

  public org.eclipse.jdt.internal.core.NameLookup newNameLookup(org.eclipse.jdt.core.WorkingCopyOwner, boolean);
    descriptor: (Lorg/eclipse/jdt/core/WorkingCopyOwner;Z)Lorg/eclipse/jdt/internal/core/NameLookup;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.WorkingCopyOwner owner
        start local 2 // boolean excludeTestCode
         0: .line 2798
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 3 /* manager */
        start local 3 // org.eclipse.jdt.internal.core.JavaModelManager manager
         1: .line 2799
            aload 1 /* owner */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager
      StackMap stack:
         2: aload 3 /* manager */
            aload 1 /* owner */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getWorkingCopies:(Lorg/eclipse/jdt/core/WorkingCopyOwner;Z)[Lorg/eclipse/jdt/core/ICompilationUnit;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.ICompilationUnit[]
         3: astore 4 /* workingCopies */
        start local 4 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
         4: .line 2800
            aload 0 /* this */
            aload 4 /* workingCopies */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newNameLookup:([Lorg/eclipse/jdt/core/ICompilationUnit;)Lorg/eclipse/jdt/internal/core/NameLookup;
            areturn
        end local 4 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        end local 3 // org.eclipse.jdt.internal.core.JavaModelManager manager
        end local 2 // boolean excludeTestCode
        end local 1 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    5     1            owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0    5     2  excludeTestCode  Z
            1    5     3          manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            4    5     4    workingCopies  [Lorg/eclipse/jdt/core/ICompilationUnit;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                 Name  Flags
      owner            
      excludeTestCode  

  public org.eclipse.jdt.internal.core.SearchableEnvironment newSearchableNameEnvironment(org.eclipse.jdt.core.ICompilationUnit[]);
    descriptor: ([Lorg/eclipse/jdt/core/ICompilationUnit;)Lorg/eclipse/jdt/internal/core/SearchableEnvironment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
         0: .line 2804
            aload 0 /* this */
            aload 1 /* workingCopies */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newSearchableNameEnvironment:([Lorg/eclipse/jdt/core/ICompilationUnit;Z)Lorg/eclipse/jdt/internal/core/SearchableEnvironment;
            areturn
        end local 1 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  workingCopies  [Lorg/eclipse/jdt/core/ICompilationUnit;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
               Name  Flags
      workingCopies  

  public org.eclipse.jdt.internal.core.SearchableEnvironment newSearchableNameEnvironment(org.eclipse.jdt.core.ICompilationUnit[], boolean);
    descriptor: ([Lorg/eclipse/jdt/core/ICompilationUnit;Z)Lorg/eclipse/jdt/internal/core/SearchableEnvironment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        start local 2 // boolean excludeTestCode
         0: .line 2810
            new org.eclipse.jdt.internal.core.SearchableEnvironment
            dup
            aload 0 /* this */
            aload 1 /* workingCopies */
            iload 2 /* excludeTestCode */
            invokespecial org.eclipse.jdt.internal.core.SearchableEnvironment.<init>:(Lorg/eclipse/jdt/internal/core/JavaProject;[Lorg/eclipse/jdt/core/ICompilationUnit;Z)V
            areturn
        end local 2 // boolean excludeTestCode
        end local 1 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1    workingCopies  [Lorg/eclipse/jdt/core/ICompilationUnit;
            0    1     2  excludeTestCode  Z
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                 Name  Flags
      workingCopies    
      excludeTestCode  

  public org.eclipse.jdt.internal.core.SearchableEnvironment newSearchableNameEnvironment(org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: (Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/internal/core/SearchableEnvironment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.WorkingCopyOwner owner
         0: .line 2818
            aload 0 /* this */
            aload 1 /* owner */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newSearchableNameEnvironment:(Lorg/eclipse/jdt/core/WorkingCopyOwner;Z)Lorg/eclipse/jdt/internal/core/SearchableEnvironment;
            areturn
        end local 1 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      owner  

  public org.eclipse.jdt.internal.core.SearchableEnvironment newSearchableNameEnvironment(org.eclipse.jdt.core.WorkingCopyOwner, boolean);
    descriptor: (Lorg/eclipse/jdt/core/WorkingCopyOwner;Z)Lorg/eclipse/jdt/internal/core/SearchableEnvironment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.WorkingCopyOwner owner
        start local 2 // boolean excludeTestCode
         0: .line 2821
            new org.eclipse.jdt.internal.core.SearchableEnvironment
            dup
            aload 0 /* this */
            aload 1 /* owner */
            iload 2 /* excludeTestCode */
            invokespecial org.eclipse.jdt.internal.core.SearchableEnvironment.<init>:(Lorg/eclipse/jdt/internal/core/JavaProject;Lorg/eclipse/jdt/core/WorkingCopyOwner;Z)V
            areturn
        end local 2 // boolean excludeTestCode
        end local 1 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1            owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0    1     2  excludeTestCode  Z
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                 Name  Flags
      owner            
      excludeTestCode  

  public org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo newTemporaryInfo();
    descriptor: ()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2830
            new org.eclipse.jdt.internal.core.JavaProject$4
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokespecial org.eclipse.jdt.internal.core.JavaProject$4.<init>:(Lorg/eclipse/jdt/internal/core/JavaProject;Lorg/eclipse/core/resources/IProject;)V
         1: .line 2829
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

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

  public org.eclipse.jdt.core.ITypeHierarchy newTypeHierarchy(org.eclipse.jdt.core.IRegion, org.eclipse.jdt.core.WorkingCopyOwner, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/core/IRegion;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IRegion region
        start local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
        start local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 2860
            aload 1 /* region */
            ifnonnull 2
         1: .line 2861
            new java.lang.IllegalArgumentException
            dup
            getstatic org.eclipse.jdt.internal.core.util.Messages.hierarchy_nullRegion:Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2863
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 2 /* owner */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getWorkingCopies:(Lorg/eclipse/jdt/core/WorkingCopyOwner;Z)[Lorg/eclipse/jdt/core/ICompilationUnit;
            astore 4 /* workingCopies */
        start local 4 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
         3: .line 2865
            new org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation
            dup
            aload 1 /* region */
            aload 4 /* workingCopies */
            aconst_null
            iconst_1
            invokespecial org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.<init>:(Lorg/eclipse/jdt/core/IRegion;[Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/jdt/core/IType;Z)V
         4: .line 2864
            astore 5 /* op */
        start local 5 // org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation op
         5: .line 2866
            aload 5 /* op */
            aload 3 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.runOperation:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         6: .line 2867
            aload 5 /* op */
            invokevirtual org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.getResult:()Lorg/eclipse/jdt/core/ITypeHierarchy;
            areturn
        end local 5 // org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation op
        end local 4 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        end local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 1 // org.eclipse.jdt.core.IRegion region
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    7     1         region  Lorg/eclipse/jdt/core/IRegion;
            0    7     2          owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0    7     3        monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            3    7     4  workingCopies  [Lorg/eclipse/jdt/core/ICompilationUnit;
            5    7     5             op  Lorg/eclipse/jdt/internal/core/CreateTypeHierarchyOperation;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      region   
      owner    
      monitor  

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

  public org.eclipse.jdt.core.ITypeHierarchy newTypeHierarchy(org.eclipse.jdt.core.IType, org.eclipse.jdt.core.IRegion, org.eclipse.jdt.core.WorkingCopyOwner, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/IRegion;Lorg/eclipse/jdt/core/WorkingCopyOwner;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/ITypeHierarchy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // org.eclipse.jdt.core.IRegion region
        start local 3 // org.eclipse.jdt.core.WorkingCopyOwner owner
        start local 4 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 2894
            aload 1 /* type */
            ifnonnull 2
         1: .line 2895
            new java.lang.IllegalArgumentException
            dup
            getstatic org.eclipse.jdt.internal.core.util.Messages.hierarchy_nullFocusType:Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2897
      StackMap locals:
      StackMap stack:
            aload 2 /* region */
            ifnonnull 4
         3: .line 2898
            new java.lang.IllegalArgumentException
            dup
            getstatic org.eclipse.jdt.internal.core.util.Messages.hierarchy_nullRegion:Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2900
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 3 /* owner */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getWorkingCopies:(Lorg/eclipse/jdt/core/WorkingCopyOwner;Z)[Lorg/eclipse/jdt/core/ICompilationUnit;
            astore 5 /* workingCopies */
        start local 5 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
         5: .line 2902
            new org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation
            dup
            aload 2 /* region */
            aload 5 /* workingCopies */
            aload 1 /* type */
            iconst_1
            invokespecial org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.<init>:(Lorg/eclipse/jdt/core/IRegion;[Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/jdt/core/IType;Z)V
         6: .line 2901
            astore 6 /* op */
        start local 6 // org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation op
         7: .line 2903
            aload 6 /* op */
            aload 4 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.runOperation:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         8: .line 2904
            aload 6 /* op */
            invokevirtual org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.getResult:()Lorg/eclipse/jdt/core/ITypeHierarchy;
            areturn
        end local 6 // org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation op
        end local 5 // org.eclipse.jdt.core.ICompilationUnit[] workingCopies
        end local 4 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 3 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 2 // org.eclipse.jdt.core.IRegion region
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    9     1           type  Lorg/eclipse/jdt/core/IType;
            0    9     2         region  Lorg/eclipse/jdt/core/IRegion;
            0    9     3          owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0    9     4        monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            5    9     5  workingCopies  [Lorg/eclipse/jdt/core/ICompilationUnit;
            7    9     6             op  Lorg/eclipse/jdt/internal/core/CreateTypeHierarchyOperation;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      type     
      region   
      owner    
      monitor  

  public java.lang.String[] projectPrerequisites(org.eclipse.jdt.core.IClasspathEntry[]);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
         0: .line 2909
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* prerequisites */
        start local 2 // java.util.ArrayList prerequisites
         1: .line 2910
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 1 /* resolvedClasspath */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         3: goto 8
         4: .line 2911
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 1 /* resolvedClasspath */
            iload 3 /* i */
            aaload
            astore 5 /* entry */
        start local 5 // org.eclipse.jdt.core.IClasspathEntry entry
         5: .line 2912
            aload 5 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_2
            if_icmpne 7
         6: .line 2913
            aload 2 /* prerequisites */
            aload 5 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // org.eclipse.jdt.core.IClasspathEntry entry
         7: .line 2910
      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 2916
            aload 2 /* prerequisites */
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* size */
        start local 3 // int size
        10: .line 2917
            iload 3 /* size */
            ifne 12
        11: .line 2918
            getstatic org.eclipse.jdt.internal.core.JavaProject.NO_PREREQUISITES:[Ljava/lang/String;
            areturn
        12: .line 2920
      StackMap locals:
      StackMap stack:
            iload 3 /* size */
            anewarray java.lang.String
            astore 4 /* result */
        start local 4 // java.lang.String[] result
        13: .line 2921
            aload 2 /* prerequisites */
            aload 4 /* result */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        14: .line 2922
            aload 4 /* result */
            areturn
        end local 4 // java.lang.String[] result
        end local 3 // int size
        end local 2 // java.util.ArrayList prerequisites
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   15     1  resolvedClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            1   15     2      prerequisites  Ljava/util/ArrayList;
            2    9     3                  i  I
            3    9     4             length  I
            5    7     5              entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           10   15     3               size  I
           13   15     4             result  [Ljava/lang/String;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                   Name  Flags
      resolvedClasspath  

  public org.eclipse.jdt.core.IClasspathEntry[][] readFileEntriesWithException(java.util.Map);
    descriptor: (Ljava/util/Map;)[[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.util.Map unknownElements
         0: .line 2936
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            ldc ".classpath"
            invokeinterface org.eclipse.core.resources.IProject.getFile:(Ljava/lang/String;)Lorg/eclipse/core/resources/IFile;
            astore 2 /* rscFile */
        start local 2 // org.eclipse.core.resources.IFile rscFile
         1: .line 2938
            aload 2 /* rscFile */
            invokeinterface org.eclipse.core.resources.IFile.exists:()Z
            ifeq 4
         2: .line 2939
            aload 2 /* rscFile */
            invokestatic org.eclipse.jdt.internal.core.util.Util.getResourceContentsAsByteArray:(Lorg/eclipse/core/resources/IFile;)[B
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         3: .line 2940
            goto 16
        end local 3 // byte[] bytes
         4: .line 2944
      StackMap locals: org.eclipse.core.resources.IFile
      StackMap stack:
            aload 2 /* rscFile */
            invokeinterface org.eclipse.core.resources.IFile.getLocationURI:()Ljava/net/URI;
            astore 4 /* location */
        start local 4 // java.net.URI location
         5: .line 2945
            aload 4 /* location */
            ifnonnull 7
         6: .line 2946
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot obtain a location URI for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* rscFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 2947
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.util.Map org.eclipse.core.resources.IFile top java.net.URI
      StackMap stack:
            aload 4 /* location */
            aconst_null
            invokestatic org.eclipse.jdt.internal.core.util.Util.toLocalFile:(Ljava/net/URI;Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/io/File;
            astore 5 /* file */
        start local 5 // java.io.File file
         8: .line 2948
            aload 5 /* file */
            ifnonnull 10
         9: .line 2949
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to fetch file from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* location */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 2951
      StackMap locals: java.io.File
      StackMap stack:
            aload 5 /* file */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.getFileByteContent:(Ljava/io/File;)[B
            astore 3 /* bytes */
        start local 3 // byte[] bytes
        11: .line 2952
            goto 16
        end local 3 // byte[] bytes
      StackMap locals:
      StackMap stack: java.io.IOException
        12: astore 6 /* e */
        start local 6 // java.io.IOException e
        13: .line 2953
            aload 5 /* file */
            invokevirtual java.io.File.exists:()Z
            ifne 15
        14: .line 2954
            iconst_2
            anewarray org.eclipse.jdt.core.IClasspathEntry[]
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.defaultClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            aastore
            dup
            iconst_1
            getstatic org.eclipse.jdt.internal.core.ClasspathEntry.NO_ENTRIES:[Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            aastore
            areturn
        15: .line 2955
      StackMap locals: java.io.IOException
      StackMap stack:
            aload 6 /* e */
            athrow
        end local 6 // java.io.IOException e
        end local 5 // java.io.File file
        end local 4 // java.net.URI location
        start local 3 // byte[] bytes
        16: .line 2958
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.util.Map org.eclipse.core.resources.IFile byte[]
      StackMap stack:
            aload 0 /* this */
            aload 3 /* bytes */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.hasUTF8BOM:([B)Z
            ifeq 19
        17: .line 2959
            aload 3 /* bytes */
            arraylength
            getstatic org.eclipse.core.runtime.content.IContentDescription.BOM_UTF_8:[B
            arraylength
            isub
            istore 4 /* length */
        start local 4 // int length
        18: .line 2960
            aload 3 /* bytes */
            getstatic org.eclipse.core.runtime.content.IContentDescription.BOM_UTF_8:[B
            arraylength
            iload 4 /* length */
            newarray 8
            dup
            astore 3 /* bytes */
            iconst_0
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 4 // int length
        19: .line 2964
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 3 /* bytes */
            ldc "UTF-8"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            astore 4 /* xmlClasspath */
        start local 4 // java.lang.String xmlClasspath
        20: .line 2965
            goto 24
        end local 4 // java.lang.String xmlClasspath
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
        21: astore 5 /* e */
        start local 5 // java.io.UnsupportedEncodingException e
        22: .line 2966
            aload 5 /* e */
            ldc "Could not read .classpath with UTF-8 encoding"
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Ljava/lang/Throwable;Ljava/lang/String;)V
        23: .line 2968
            new java.lang.String
            dup
            aload 3 /* bytes */
            invokespecial java.lang.String.<init>:([B)V
            astore 4 /* xmlClasspath */
        end local 5 // java.io.UnsupportedEncodingException e
        start local 4 // java.lang.String xmlClasspath
        24: .line 2970
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 4 /* xmlClasspath */
            aload 1 /* unknownElements */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.decodeClasspath:(Ljava/lang/String;Ljava/util/Map;)[[Lorg/eclipse/jdt/core/IClasspathEntry;
            areturn
        end local 4 // java.lang.String xmlClasspath
        end local 3 // byte[] bytes
        end local 2 // org.eclipse.core.resources.IFile rscFile
        end local 1 // java.util.Map unknownElements
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   25     0             this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   25     1  unknownElements  Ljava/util/Map;
            1   25     2          rscFile  Lorg/eclipse/core/resources/IFile;
            3    4     3            bytes  [B
           11   12     3            bytes  [B
           16   25     3            bytes  [B
            5   16     4         location  Ljava/net/URI;
            8   16     5             file  Ljava/io/File;
           13   16     6                e  Ljava/io/IOException;
           18   19     4           length  I
           20   21     4     xmlClasspath  Ljava/lang/String;
           24   25     4     xmlClasspath  Ljava/lang/String;
           22   24     5                e  Ljava/io/UnsupportedEncodingException;
      Exception table:
        from    to  target  type
          10    11      12  Class java.io.IOException
          19    20      21  Class java.io.UnsupportedEncodingException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException, java.io.IOException, org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException
    MethodParameters:
                 Name  Flags
      unknownElements  

  private org.eclipse.jdt.core.IClasspathEntry[][] readFileEntries(java.util.Map);
    descriptor: (Ljava/util/Map;)[[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.util.Map unkwownElements
         0: .line 2980
            aload 0 /* this */
            aload 1 /* unkwownElements */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.readFileEntriesWithException:(Ljava/util/Map;)[[Lorg/eclipse/jdt/core/IClasspathEntry;
         1: areturn
         2: .line 2981
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         3: .line 2982
            aload 2 /* e */
            new java.lang.StringBuilder
            dup
            ldc "Exception while reading "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPath:()Lorg/eclipse/core/runtime/IPath;
            ldc ".classpath"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Ljava/lang/Throwable;Ljava/lang/String;)V
         4: .line 2983
            iconst_2
            anewarray org.eclipse.jdt.core.IClasspathEntry[]
            dup
            iconst_0
            getstatic org.eclipse.jdt.internal.core.JavaProject.INVALID_CLASSPATH:[Lorg/eclipse/jdt/core/IClasspathEntry;
            aastore
            dup
            iconst_1
            getstatic org.eclipse.jdt.internal.core.ClasspathEntry.NO_ENTRIES:[Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            aastore
            areturn
        end local 2 // java.lang.Exception e
        end local 1 // java.util.Map unkwownElements
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    5     1  unkwownElements  Ljava/util/Map;
            3    5     2                e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class org.eclipse.core.runtime.CoreException
           0     1       2  Class java.io.IOException
           0     1       2  Class org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException
    MethodParameters:
                 Name  Flags
      unkwownElements  

  public org.eclipse.core.runtime.IPath readOutputLocation();
    descriptor: ()Lorg/eclipse/core/runtime/IPath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 2993
            aload 0 /* this */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.readFileEntries:(Ljava/util/Map;)[[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 1 /* classpath */
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[][] classpath
         1: .line 2994
            aload 1 /* classpath */
            iconst_0
            aaload
            getstatic org.eclipse.jdt.internal.core.JavaProject.INVALID_CLASSPATH:[Lorg/eclipse/jdt/core/IClasspathEntry;
            if_acmpne 3
         2: .line 2995
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.defaultOutputLocation:()Lorg/eclipse/core/runtime/IPath;
            areturn
         3: .line 2998
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[][]
      StackMap stack:
            aconst_null
            astore 2 /* outputLocation */
        start local 2 // org.eclipse.core.runtime.IPath outputLocation
         4: .line 2999
            aload 1 /* classpath */
            iconst_0
            aaload
            arraylength
            ifle 8
         5: .line 3000
            aload 1 /* classpath */
            iconst_0
            aaload
            aload 1 /* classpath */
            iconst_0
            aaload
            arraylength
            iconst_1
            isub
            aaload
            astore 3 /* entry */
        start local 3 // org.eclipse.jdt.core.IClasspathEntry entry
         6: .line 3001
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getContentKind:()I
            bipush 10
            if_icmpne 8
         7: .line 3002
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* outputLocation */
        end local 3 // org.eclipse.jdt.core.IClasspathEntry entry
         8: .line 3005
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 2 /* outputLocation */
            areturn
        end local 2 // org.eclipse.core.runtime.IPath outputLocation
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[][] classpath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1    9     1       classpath  [[Lorg/eclipse/jdt/core/IClasspathEntry;
            4    9     2  outputLocation  Lorg/eclipse/core/runtime/IPath;
            6    8     3           entry  Lorg/eclipse/jdt/core/IClasspathEntry;

  public org.eclipse.jdt.core.IClasspathEntry[] readRawClasspath();
    descriptor: ()[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 3014
            aload 0 /* this */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.readFileEntries:(Ljava/util/Map;)[[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 1 /* classpath */
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[][] classpath
         1: .line 3015
            aload 1 /* classpath */
            iconst_0
            aaload
            getstatic org.eclipse.jdt.internal.core.JavaProject.INVALID_CLASSPATH:[Lorg/eclipse/jdt/core/IClasspathEntry;
            if_acmpne 3
         2: .line 3016
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.defaultClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            areturn
         3: .line 3019
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[][]
      StackMap stack:
            aload 1 /* classpath */
            iconst_0
            aaload
            arraylength
            ifle 9
         4: .line 3020
            aload 1 /* classpath */
            iconst_0
            aaload
            aload 1 /* classpath */
            iconst_0
            aaload
            arraylength
            iconst_1
            isub
            aaload
            astore 2 /* entry */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry entry
         5: .line 3021
            aload 2 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getContentKind:()I
            bipush 10
            if_icmpne 9
         6: .line 3022
            aload 1 /* classpath */
            iconst_0
            aaload
            arraylength
            iconst_1
            isub
            anewarray org.eclipse.jdt.core.IClasspathEntry
            astore 3 /* copy */
        start local 3 // org.eclipse.jdt.core.IClasspathEntry[] copy
         7: .line 3023
            aload 1 /* classpath */
            iconst_0
            aaload
            iconst_0
            aload 3 /* copy */
            iconst_0
            aload 3 /* copy */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 3024
            aload 1 /* classpath */
            iconst_0
            aload 3 /* copy */
            aastore
        end local 3 // org.eclipse.jdt.core.IClasspathEntry[] copy
        end local 2 // org.eclipse.jdt.core.IClasspathEntry entry
         9: .line 3027
      StackMap locals:
      StackMap stack:
            aload 1 /* classpath */
            iconst_0
            aaload
            areturn
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[][] classpath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1   10     1  classpath  [[Lorg/eclipse/jdt/core/IClasspathEntry;
            5    9     2      entry  Lorg/eclipse/jdt/core/IClasspathEntry;
            7    9     3       copy  [Lorg/eclipse/jdt/core/IClasspathEntry;

  protected void removeFromBuildSpec(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String builderID
         0: .line 3035
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getDescription:()Lorg/eclipse/core/resources/IProjectDescription;
            astore 2 /* description */
        start local 2 // org.eclipse.core.resources.IProjectDescription description
         1: .line 3036
            aload 2 /* description */
            invokeinterface org.eclipse.core.resources.IProjectDescription.getBuildSpec:()[Lorg/eclipse/core/resources/ICommand;
            astore 3 /* commands */
        start local 3 // org.eclipse.core.resources.ICommand[] commands
         2: .line 3037
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 12
         4: .line 3038
      StackMap locals: org.eclipse.core.resources.IProjectDescription org.eclipse.core.resources.ICommand[] int
      StackMap stack:
            aload 3 /* commands */
            iload 4 /* i */
            aaload
            invokeinterface org.eclipse.core.resources.ICommand.getBuilderName:()Ljava/lang/String;
            aload 1 /* builderID */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         5: .line 3039
            aload 3 /* commands */
            arraylength
            iconst_1
            isub
            anewarray org.eclipse.core.resources.ICommand
            astore 5 /* newCommands */
        start local 5 // org.eclipse.core.resources.ICommand[] newCommands
         6: .line 3040
            aload 3 /* commands */
            iconst_0
            aload 5 /* newCommands */
            iconst_0
            iload 4 /* i */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 3041
            aload 3 /* commands */
            iload 4 /* i */
            iconst_1
            iadd
            aload 5 /* newCommands */
            iload 4 /* i */
            aload 3 /* commands */
            arraylength
            iload 4 /* i */
            isub
            iconst_1
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 3042
            aload 2 /* description */
            aload 5 /* newCommands */
            invokeinterface org.eclipse.core.resources.IProjectDescription.setBuildSpec:([Lorg/eclipse/core/resources/ICommand;)V
         9: .line 3043
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            aload 2 /* description */
            aconst_null
            invokeinterface org.eclipse.core.resources.IProject.setDescription:(Lorg/eclipse/core/resources/IProjectDescription;Lorg/eclipse/core/runtime/IProgressMonitor;)V
        10: .line 3044
            return
        end local 5 // org.eclipse.core.resources.ICommand[] newCommands
        11: .line 3037
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            aload 3 /* commands */
            arraylength
            if_icmplt 4
        end local 4 // int i
        13: .line 3047
            return
        end local 3 // org.eclipse.core.resources.ICommand[] commands
        end local 2 // org.eclipse.core.resources.IProjectDescription description
        end local 1 // java.lang.String builderID
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   14     1    builderID  Ljava/lang/String;
            1   14     2  description  Lorg/eclipse/core/resources/IProjectDescription;
            2   14     3     commands  [Lorg/eclipse/core/resources/ICommand;
            3   13     4            i  I
            6   11     5  newCommands  [Lorg/eclipse/core/resources/ICommand;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
           Name  Flags
      builderID  

  public void resetCaches();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 3053
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.peekAtInfo:(Lorg/eclipse/jdt/core/IJavaElement;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaProjectElementInfo
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.core.JavaProjectElementInfo info
         1: .line 3054
            aload 1 /* info */
            ifnull 3
         2: .line 3055
            aload 1 /* info */
            invokevirtual org.eclipse.jdt.internal.core.JavaProjectElementInfo.resetCaches:()V
         3: .line 3057
      StackMap locals: org.eclipse.jdt.internal.core.JavaProjectElementInfo
      StackMap stack:
            return
        end local 1 // org.eclipse.jdt.internal.core.JavaProjectElementInfo info
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1    4     1  info  Lorg/eclipse/jdt/internal/core/JavaProjectElementInfo;

  public org.eclipse.jdt.internal.core.ClasspathChange resetResolvedClasspath();
    descriptor: ()Lorg/eclipse/jdt/internal/core/ClasspathChange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 3061
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo:()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.resetResolvedClasspath:()Lorg/eclipse/jdt/internal/core/ClasspathChange;
         1: areturn
         2: .line 3062
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
         3: .line 3064
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
      Exception table:
        from    to  target  type
           0     1       2  Class org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IClasspathEntry[] resolveClasspath(org.eclipse.jdt.core.IClasspathEntry[]);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;)[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
         0: .line 3072
            aload 0 /* this */
            aload 1 /* rawClasspath */
            iconst_0
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.resolveClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;ZZ)Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;
            getfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.resolvedClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
            areturn
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1  rawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
              Name  Flags
      rawClasspath  

  public org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath resolveClasspath(org.eclipse.jdt.core.IClasspathEntry[], boolean, boolean);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;ZZ)Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
        start local 2 // boolean usePreviousSession
        start local 3 // boolean resolveChainedLibraries
         0: .line 3084
            aload 0 /* this */
            aload 1 /* rawClasspath */
            aconst_null
            iload 2 /* usePreviousSession */
            iload 3 /* resolveChainedLibraries */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.resolveClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;ZZ)Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;
            areturn
        end local 3 // boolean resolveChainedLibraries
        end local 2 // boolean usePreviousSession
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    1     0                     this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1             rawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    1     2       usePreviousSession  Z
            0    1     3  resolveChainedLibraries  Z
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                         Name  Flags
      rawClasspath             
      usePreviousSession       
      resolveChainedLibraries  

  public org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath resolveClasspath(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.jdt.core.IClasspathEntry[], boolean, boolean);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;ZZ)Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=24, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] referencedEntries
        start local 3 // boolean usePreviousSession
        start local 4 // boolean resolveChainedLibraries
         0: .line 3088
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 5 /* manager */
        start local 5 // org.eclipse.jdt.internal.core.JavaModelManager manager
         1: .line 3089
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getExternalManager:()Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
            astore 6 /* externalFoldersManager */
        start local 6 // org.eclipse.jdt.internal.core.ExternalFoldersManager externalFoldersManager
         2: .line 3090
            new org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath
            dup
            invokespecial org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.<init>:()V
            astore 7 /* result */
        start local 7 // org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath result
         3: .line 3091
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 8 /* knownDrives */
        start local 8 // java.util.Map knownDrives
         4: .line 3093
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 9 /* referencedEntriesMap */
        start local 9 // java.util.Map referencedEntriesMap
         5: .line 3094
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 10 /* rawLibrariesPath */
        start local 10 // java.util.Set rawLibrariesPath
         6: .line 3095
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 11 /* resolvedEntries */
        start local 11 // java.util.LinkedHashSet resolvedEntries
         7: .line 3097
            iload 4 /* resolveChainedLibraries */
            ifeq 28
         8: .line 3098
            iconst_0
            istore 12 /* index */
        start local 12 // int index
         9: goto 14
        10: .line 3099
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry[] int int org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.internal.core.ExternalFoldersManager org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath java.util.Map java.util.Map java.util.Set java.util.LinkedHashSet int
      StackMap stack:
            aload 1 /* rawClasspath */
            iload 12 /* index */
            aaload
            astore 13 /* currentEntry */
        start local 13 // org.eclipse.jdt.core.IClasspathEntry currentEntry
        11: .line 3100
            aload 13 /* currentEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_1
            if_icmpne 13
        12: .line 3101
            aload 10 /* rawLibrariesPath */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getLocation:()Lorg/eclipse/core/runtime/IPath;
            aload 13 /* currentEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokestatic org.eclipse.jdt.internal.core.ClasspathEntry.resolveDotDot:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // org.eclipse.jdt.core.IClasspathEntry currentEntry
        13: .line 3098
      StackMap locals:
      StackMap stack:
            iinc 12 /* index */ 1
      StackMap locals:
      StackMap stack:
        14: iload 12 /* index */
            aload 1 /* rawClasspath */
            arraylength
            if_icmplt 10
        end local 12 // int index
        15: .line 3104
            aload 2 /* referencedEntries */
            ifnull 28
        16: .line 3107
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 12 /* referencedEntriesSet */
        start local 12 // java.util.LinkedHashSet referencedEntriesSet
        17: .line 3108
            iconst_0
            istore 13 /* index */
        start local 13 // int index
        18: goto 24
        19: .line 3109
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry[] int int org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.internal.core.ExternalFoldersManager org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath java.util.Map java.util.Map java.util.Set java.util.LinkedHashSet java.util.LinkedHashSet int
      StackMap stack:
            aload 2 /* referencedEntries */
            iload 13 /* index */
            aaload
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 14 /* path */
        start local 14 // org.eclipse.core.runtime.IPath path
        20: .line 3110
            aload 10 /* rawLibrariesPath */
            aload 14 /* path */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 23
            aload 9 /* referencedEntriesMap */
            aload 14 /* path */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 23
        21: .line 3111
            aload 9 /* referencedEntriesMap */
            aload 14 /* path */
            aload 2 /* referencedEntries */
            iload 13 /* index */
            aaload
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 3112
            aload 12 /* referencedEntriesSet */
            aload 2 /* referencedEntries */
            iload 13 /* index */
            aaload
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // org.eclipse.core.runtime.IPath path
        23: .line 3108
      StackMap locals:
      StackMap stack:
            iinc 13 /* index */ 1
      StackMap locals:
      StackMap stack:
        24: iload 13 /* index */
            aload 2 /* referencedEntries */
            arraylength
            if_icmplt 19
        end local 13 // int index
        25: .line 3115
            aload 12 /* referencedEntriesSet */
            invokevirtual java.util.LinkedHashSet.size:()I
            ifle 28
        26: .line 3116
            aload 7 /* result */
            aload 12 /* referencedEntriesSet */
            invokevirtual java.util.LinkedHashSet.size:()I
            anewarray org.eclipse.jdt.core.IClasspathEntry
            putfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.referencedEntries:[Lorg/eclipse/jdt/core/IClasspathEntry;
        27: .line 3117
            aload 12 /* referencedEntriesSet */
            aload 7 /* result */
            getfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.referencedEntries:[Lorg/eclipse/jdt/core/IClasspathEntry;
            invokevirtual java.util.LinkedHashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        end local 12 // java.util.LinkedHashSet referencedEntriesSet
        28: .line 3122
      StackMap locals:
      StackMap stack:
            aload 1 /* rawClasspath */
            arraylength
            istore 12 /* length */
        start local 12 // int length
        29: .line 3123
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        30: goto 105
        31: .line 3125
      StackMap locals: int int
      StackMap stack:
            aload 1 /* rawClasspath */
            iload 13 /* i */
            aaload
            astore 14 /* rawEntry */
        start local 14 // org.eclipse.jdt.core.IClasspathEntry rawEntry
        32: .line 3126
            aload 14 /* rawEntry */
            astore 15 /* resolvedEntry */
        start local 15 // org.eclipse.jdt.core.IClasspathEntry resolvedEntry
        33: .line 3128
            aload 14 /* rawEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 1 - 5
                    1: 91
                    2: 103
                    3: 103
                    4: 34
                    5: 54
              default: 103
          }
        34: .line 3132
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 5 /* manager */
            aload 14 /* rawEntry */
            iload 3 /* usePreviousSession */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.resolveVariableEntry:(Lorg/eclipse/jdt/core/IClasspathEntry;Z)Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 15 /* resolvedEntry */
        35: .line 3133
            goto 39
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException
        36: astore 16 /* e */
        start local 16 // org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException e
        37: .line 3136
            aload 7 /* result */
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            sipush 979
            aload 16 /* e */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException.getMessage:()Ljava/lang/String;
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILjava/lang/String;)V
            putfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.unresolvedEntryStatus:Lorg/eclipse/jdt/core/IJavaModelStatus;
        38: .line 3137
            goto 104
        end local 16 // org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException e
        39: .line 3139
      StackMap locals:
      StackMap stack:
            aload 15 /* resolvedEntry */
            ifnonnull 42
        40: .line 3140
            aload 7 /* result */
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            sipush 965
            aload 0 /* this */
            aload 14 /* rawEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILorg/eclipse/jdt/core/IJavaElement;Lorg/eclipse/core/runtime/IPath;)V
            putfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.unresolvedEntryStatus:Lorg/eclipse/jdt/core/IJavaModelStatus;
        41: .line 3141
            goto 104
        42: .line 3144
      StackMap locals:
      StackMap stack:
            iload 4 /* resolveChainedLibraries */
            ifeq 52
            aload 15 /* resolvedEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_1
            if_icmpne 52
        43: .line 3145
            aload 7 /* result */
            getfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.rawReverseMap:Ljava/util/HashMap;
            aload 15 /* resolvedEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 52
        44: .line 3147
            aload 15 /* resolvedEntry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.resolvedChainedLibraries:()[Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            astore 16 /* extraEntries */
        start local 16 // org.eclipse.jdt.internal.core.ClasspathEntry[] extraEntries
        45: .line 3148
            iconst_0
            istore 17 /* j */
        start local 17 // int j
        46: aload 16 /* extraEntries */
            arraylength
            istore 18 /* length2 */
        start local 18 // int length2
        47: goto 51
        48: .line 3149
      StackMap locals: org.eclipse.jdt.internal.core.ClasspathEntry[] int int
      StackMap stack:
            aload 10 /* rawLibrariesPath */
            aload 16 /* extraEntries */
            iload 17 /* j */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 50
        49: .line 3152
            aload 0 /* this */
            aload 14 /* rawEntry */
            aload 16 /* extraEntries */
            iload 17 /* j */
            aaload
            aload 7 /* result */
            aload 11 /* resolvedEntries */
            aload 6 /* externalFoldersManager */
            aload 9 /* referencedEntriesMap */
            iconst_1
            aload 8 /* knownDrives */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.addToResult:(Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;Ljava/util/LinkedHashSet;Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;Ljava/util/Map;ZLjava/util/Map;)V
        50: .line 3148
      StackMap locals:
      StackMap stack:
            iinc 17 /* j */ 1
      StackMap locals:
      StackMap stack:
        51: iload 17 /* j */
            iload 18 /* length2 */
            if_icmplt 48
        end local 18 // int length2
        end local 17 // int j
        end local 16 // org.eclipse.jdt.internal.core.ClasspathEntry[] extraEntries
        52: .line 3156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 14 /* rawEntry */
            aload 15 /* resolvedEntry */
            aload 7 /* result */
            aload 11 /* resolvedEntries */
            aload 6 /* externalFoldersManager */
            aload 9 /* referencedEntriesMap */
            iconst_0
            aload 8 /* knownDrives */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.addToResult:(Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;Ljava/util/LinkedHashSet;Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;Ljava/util/Map;ZLjava/util/Map;)V
        53: .line 3158
            goto 104
        54: .line 3161
      StackMap locals:
      StackMap stack:
            iload 3 /* usePreviousSession */
            ifeq 55
            aload 5 /* manager */
            aload 14 /* rawEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPreviousSessionContainer:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClasspathContainer;
            goto 56
      StackMap locals:
      StackMap stack:
        55: aload 14 /* rawEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 0 /* this */
            invokestatic org.eclipse.jdt.core.JavaCore.getClasspathContainer:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClasspathContainer;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.IClasspathContainer
        56: astore 16 /* container */
        start local 16 // org.eclipse.jdt.core.IClasspathContainer container
        57: .line 3162
            aload 16 /* container */
            ifnonnull 60
        58: .line 3163
            aload 7 /* result */
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            sipush 963
            aload 0 /* this */
            aload 14 /* rawEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILorg/eclipse/jdt/core/IJavaElement;Lorg/eclipse/core/runtime/IPath;)V
            putfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.unresolvedEntryStatus:Lorg/eclipse/jdt/core/IJavaModelStatus;
        59: .line 3164
            goto 104
        60: .line 3167
      StackMap locals: org.eclipse.jdt.core.IClasspathContainer
      StackMap stack:
            aload 16 /* container */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getClasspathEntries:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 17 /* containerEntries */
        start local 17 // org.eclipse.jdt.core.IClasspathEntry[] containerEntries
        61: .line 3168
            aload 17 /* containerEntries */
            ifnonnull 65
        62: .line 3169
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
            ifne 63
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_FAILURE:Z
            ifeq 104
        63: .line 3170
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* this */
            aload 14 /* rawEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_missbehaving_container_null_entries:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)V
        64: .line 3172
            goto 104
        65: .line 3176
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 18 /* j */
        start local 18 // int j
        66: aload 17 /* containerEntries */
            arraylength
            istore 19 /* containerLength */
        start local 19 // int containerLength
        67: goto 89
        68: .line 3177
      StackMap locals: int int
      StackMap stack:
            aload 17 /* containerEntries */
            iload 18 /* j */
            aaload
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            astore 20 /* cEntry */
        start local 20 // org.eclipse.jdt.internal.core.ClasspathEntry cEntry
        69: .line 3178
            aload 20 /* cEntry */
            ifnonnull 73
        70: .line 3179
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
            ifne 71
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_FAILURE:Z
            ifeq 104
        71: .line 3180
      StackMap locals: org.eclipse.jdt.internal.core.ClasspathEntry
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* this */
            aload 14 /* rawEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 17 /* containerEntries */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_missbehaving_container:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathEntry;)V
        72: .line 3182
            goto 104
        73: .line 3185
      StackMap locals:
      StackMap stack:
            aload 20 /* cEntry */
            aload 14 /* rawEntry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.combineWith:(Lorg/eclipse/jdt/internal/core/ClasspathEntry;)Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            astore 20 /* cEntry */
        74: .line 3187
            aload 20 /* cEntry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.getEntryKind:()I
            iconst_1
            if_icmpne 87
        75: .line 3189
            aload 20 /* cEntry */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getLocation:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.resolvedDotDot:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            astore 20 /* cEntry */
        76: .line 3192
            iload 4 /* resolveChainedLibraries */
            ifeq 87
        77: .line 3193
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.resolveReferencedLibrariesForContainers:Z
            ifeq 87
        78: .line 3194
            aload 7 /* result */
            getfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.rawReverseMap:Ljava/util/HashMap;
            aload 20 /* cEntry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 87
        79: .line 3196
            aload 20 /* cEntry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.resolvedChainedLibraries:()[Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            astore 21 /* extraEntries */
        start local 21 // org.eclipse.jdt.internal.core.ClasspathEntry[] extraEntries
        80: .line 3197
            iconst_0
            istore 22 /* k */
        start local 22 // int k
        81: aload 21 /* extraEntries */
            arraylength
            istore 23 /* length2 */
        start local 23 // int length2
        82: goto 86
        83: .line 3198
      StackMap locals: org.eclipse.jdt.internal.core.ClasspathEntry[] int int
      StackMap stack:
            aload 10 /* rawLibrariesPath */
            aload 21 /* extraEntries */
            iload 22 /* k */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 85
        84: .line 3199
            aload 0 /* this */
            aload 14 /* rawEntry */
            aload 21 /* extraEntries */
            iload 22 /* k */
            aaload
            aload 7 /* result */
            aload 11 /* resolvedEntries */
            aload 6 /* externalFoldersManager */
            aload 9 /* referencedEntriesMap */
            iconst_0
            aload 8 /* knownDrives */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.addToResult:(Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;Ljava/util/LinkedHashSet;Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;Ljava/util/Map;ZLjava/util/Map;)V
        85: .line 3197
      StackMap locals:
      StackMap stack:
            iinc 22 /* k */ 1
      StackMap locals:
      StackMap stack:
        86: iload 22 /* k */
            iload 23 /* length2 */
            if_icmplt 83
        end local 23 // int length2
        end local 22 // int k
        end local 21 // org.eclipse.jdt.internal.core.ClasspathEntry[] extraEntries
        87: .line 3204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 14 /* rawEntry */
            aload 20 /* cEntry */
            aload 7 /* result */
            aload 11 /* resolvedEntries */
            aload 6 /* externalFoldersManager */
            aload 9 /* referencedEntriesMap */
            iconst_0
            aload 8 /* knownDrives */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.addToResult:(Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;Ljava/util/LinkedHashSet;Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;Ljava/util/Map;ZLjava/util/Map;)V
        end local 20 // org.eclipse.jdt.internal.core.ClasspathEntry cEntry
        88: .line 3176
            iinc 18 /* j */ 1
      StackMap locals:
      StackMap stack:
        89: iload 18 /* j */
            iload 19 /* containerLength */
            if_icmplt 68
        end local 19 // int containerLength
        end local 18 // int j
        90: .line 3206
            goto 104
        end local 17 // org.eclipse.jdt.core.IClasspathEntry[] containerEntries
        end local 16 // org.eclipse.jdt.core.IClasspathContainer container
        91: .line 3210
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry[] int int org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.internal.core.ExternalFoldersManager org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath java.util.Map java.util.Map java.util.Set java.util.LinkedHashSet int int org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 14 /* rawEntry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getLocation:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.resolvedDotDot:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            astore 15 /* resolvedEntry */
        92: .line 3212
            iload 4 /* resolveChainedLibraries */
            ifeq 101
            aload 7 /* result */
            getfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.rawReverseMap:Ljava/util/HashMap;
            aload 15 /* resolvedEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 101
        93: .line 3214
            aload 15 /* resolvedEntry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.resolvedChainedLibraries:()[Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            astore 18 /* extraEntries */
        start local 18 // org.eclipse.jdt.internal.core.ClasspathEntry[] extraEntries
        94: .line 3215
            iconst_0
            istore 19 /* k */
        start local 19 // int k
        95: aload 18 /* extraEntries */
            arraylength
            istore 20 /* length2 */
        start local 20 // int length2
        96: goto 100
        97: .line 3216
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry[] int int org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.internal.core.ExternalFoldersManager org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath java.util.Map java.util.Map java.util.Set java.util.LinkedHashSet int int org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.core.IClasspathEntry top top org.eclipse.jdt.internal.core.ClasspathEntry[] int int
      StackMap stack:
            aload 10 /* rawLibrariesPath */
            aload 18 /* extraEntries */
            iload 19 /* k */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 99
        98: .line 3217
            aload 0 /* this */
            aload 14 /* rawEntry */
            aload 18 /* extraEntries */
            iload 19 /* k */
            aaload
            aload 7 /* result */
            aload 11 /* resolvedEntries */
            aload 6 /* externalFoldersManager */
            aload 9 /* referencedEntriesMap */
            iconst_1
            aload 8 /* knownDrives */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.addToResult:(Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;Ljava/util/LinkedHashSet;Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;Ljava/util/Map;ZLjava/util/Map;)V
        99: .line 3215
      StackMap locals:
      StackMap stack:
            iinc 19 /* k */ 1
      StackMap locals:
      StackMap stack:
       100: iload 19 /* k */
            iload 20 /* length2 */
            if_icmplt 97
        end local 20 // int length2
        end local 19 // int k
        end local 18 // org.eclipse.jdt.internal.core.ClasspathEntry[] extraEntries
       101: .line 3222
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry[] int int org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.internal.core.ExternalFoldersManager org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath java.util.Map java.util.Map java.util.Set java.util.LinkedHashSet int int org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 0 /* this */
            aload 14 /* rawEntry */
            aload 15 /* resolvedEntry */
            aload 7 /* result */
            aload 11 /* resolvedEntries */
            aload 6 /* externalFoldersManager */
            aload 9 /* referencedEntriesMap */
            iconst_0
            aload 8 /* knownDrives */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.addToResult:(Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;Ljava/util/LinkedHashSet;Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;Ljava/util/Map;ZLjava/util/Map;)V
       102: .line 3223
            goto 104
       103: .line 3225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 14 /* rawEntry */
            aload 15 /* resolvedEntry */
            aload 7 /* result */
            aload 11 /* resolvedEntries */
            aload 6 /* externalFoldersManager */
            aload 9 /* referencedEntriesMap */
            iconst_0
            aload 8 /* knownDrives */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.addToResult:(Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;Ljava/util/LinkedHashSet;Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;Ljava/util/Map;ZLjava/util/Map;)V
        end local 15 // org.eclipse.jdt.core.IClasspathEntry resolvedEntry
        end local 14 // org.eclipse.jdt.core.IClasspathEntry rawEntry
       104: .line 3123
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
       105: iload 13 /* i */
            iload 12 /* length */
            if_icmplt 31
        end local 13 // int i
       106: .line 3229
            aload 7 /* result */
            aload 11 /* resolvedEntries */
            invokevirtual java.util.LinkedHashSet.size:()I
            anewarray org.eclipse.jdt.core.IClasspathEntry
            putfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.resolvedClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
       107: .line 3230
            aload 11 /* resolvedEntries */
            aload 7 /* result */
            getfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.resolvedClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
            invokevirtual java.util.LinkedHashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
       108: .line 3231
            aload 7 /* result */
            areturn
        end local 12 // int length
        end local 11 // java.util.LinkedHashSet resolvedEntries
        end local 10 // java.util.Set rawLibrariesPath
        end local 9 // java.util.Map referencedEntriesMap
        end local 8 // java.util.Map knownDrives
        end local 7 // org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath result
        end local 6 // org.eclipse.jdt.internal.core.ExternalFoldersManager externalFoldersManager
        end local 5 // org.eclipse.jdt.internal.core.JavaModelManager manager
        end local 4 // boolean resolveChainedLibraries
        end local 3 // boolean usePreviousSession
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] referencedEntries
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0  109     0                     this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0  109     1             rawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0  109     2        referencedEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0  109     3       usePreviousSession  Z
            0  109     4  resolveChainedLibraries  Z
            1  109     5                  manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            2  109     6   externalFoldersManager  Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
            3  109     7                   result  Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;
            4  109     8              knownDrives  Ljava/util/Map;
            5  109     9     referencedEntriesMap  Ljava/util/Map;
            6  109    10         rawLibrariesPath  Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;
            7  109    11          resolvedEntries  Ljava/util/LinkedHashSet;
            9   15    12                    index  I
           11   13    13             currentEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
           17   28    12     referencedEntriesSet  Ljava/util/LinkedHashSet;
           18   25    13                    index  I
           20   23    14                     path  Lorg/eclipse/core/runtime/IPath;
           29  109    12                   length  I
           30  106    13                        i  I
           32  104    14                 rawEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
           33  104    15            resolvedEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
           37   39    16                        e  Lorg/eclipse/jdt/internal/core/ClasspathEntry$AssertionFailedException;
           45   52    16             extraEntries  [Lorg/eclipse/jdt/internal/core/ClasspathEntry;
           46   52    17                        j  I
           47   52    18                  length2  I
           57   91    16                container  Lorg/eclipse/jdt/core/IClasspathContainer;
           61   91    17         containerEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
           66   90    18                        j  I
           67   90    19          containerLength  I
           69   88    20                   cEntry  Lorg/eclipse/jdt/internal/core/ClasspathEntry;
           80   87    21             extraEntries  [Lorg/eclipse/jdt/internal/core/ClasspathEntry;
           81   87    22                        k  I
           82   87    23                  length2  I
           94  101    18             extraEntries  [Lorg/eclipse/jdt/internal/core/ClasspathEntry;
           95  101    19                        k  I
           96  101    20                  length2  I
      Exception table:
        from    to  target  type
          34    35      36  Class org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                         Name  Flags
      rawClasspath             
      referencedEntries        
      usePreviousSession       
      resolveChainedLibraries  

  private void addToResult(org.eclipse.jdt.core.IClasspathEntry, org.eclipse.jdt.core.IClasspathEntry, org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath, java.util.LinkedHashSet, org.eclipse.jdt.internal.core.ExternalFoldersManager, java.util.Map, boolean, java.util.Map);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;Ljava/util/LinkedHashSet;Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;Ljava/util/Map;ZLjava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=11, args_size=9
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry rawEntry
        start local 2 // org.eclipse.jdt.core.IClasspathEntry resolvedEntry
        start local 3 // org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath result
        start local 4 // java.util.LinkedHashSet resolvedEntries
        start local 5 // org.eclipse.jdt.internal.core.ExternalFoldersManager externalFoldersManager
        start local 6 // java.util.Map oldChainedEntriesMap
        start local 7 // boolean addAsChainedEntry
        start local 8 // java.util.Map knownDrives
         0: .line 3240
            aload 3 /* result */
            getfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.rawReverseMap:Ljava/util/HashMap;
            aload 2 /* resolvedEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            dup
            astore 9 /* resolvedPath */
        start local 9 // org.eclipse.core.runtime.IPath resolvedPath
         1: invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 10
         2: .line 3241
            aload 3 /* result */
            getfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.rawReverseMap:Ljava/util/HashMap;
            aload 9 /* resolvedPath */
            aload 1 /* rawEntry */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 3242
            aload 3 /* result */
            getfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.rootPathToResolvedEntries:Ljava/util/Map;
            aload 9 /* resolvedPath */
            aload 2 /* resolvedEntry */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 3243
            aload 4 /* resolvedEntries */
            aload 2 /* resolvedEntry */
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
         5: .line 3244
            iload 7 /* addAsChainedEntry */
            ifeq 10
         6: .line 3245
            aconst_null
            astore 10 /* chainedEntry */
        start local 10 // org.eclipse.jdt.core.IClasspathEntry chainedEntry
         7: .line 3246
            aload 6 /* oldChainedEntriesMap */
            aload 9 /* resolvedPath */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            astore 10 /* chainedEntry */
         8: .line 3247
            aload 10 /* chainedEntry */
            ifnull 10
         9: .line 3250
            aload 0 /* this */
            aload 2 /* resolvedEntry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            aload 10 /* chainedEntry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.copyFromOldChainedEntry:(Lorg/eclipse/jdt/internal/core/ClasspathEntry;Lorg/eclipse/jdt/internal/core/ClasspathEntry;)V
        end local 10 // org.eclipse.jdt.core.IClasspathEntry chainedEntry
        10: .line 3254
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 2 /* resolvedEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_1
            if_icmpne 12
            aload 9 /* resolvedPath */
            invokestatic org.eclipse.jdt.internal.core.ExternalFoldersManager.isExternalFolderPath:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 12
        11: .line 3255
            aload 5 /* externalFoldersManager */
            aload 9 /* resolvedPath */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.ExternalFoldersManager.addFolder:(Lorg/eclipse/core/runtime/IPath;Z)Lorg/eclipse/core/resources/IFolder;
            pop
        12: .line 3259
      StackMap locals:
      StackMap stack:
            aload 2 /* resolvedEntry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getSourceAttachmentPath:()Lorg/eclipse/core/runtime/IPath;
            astore 10 /* sourcePath */
        start local 10 // org.eclipse.core.runtime.IPath sourcePath
        13: .line 3260
            aload 10 /* sourcePath */
            ifnull 15
            aload 0 /* this */
            aload 10 /* sourcePath */
            aload 8 /* knownDrives */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.driveExists:(Lorg/eclipse/core/runtime/IPath;Ljava/util/Map;)Z
            ifeq 15
            aload 10 /* sourcePath */
            invokestatic org.eclipse.jdt.internal.core.ExternalFoldersManager.isExternalFolderPath:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 15
        14: .line 3261
            aload 5 /* externalFoldersManager */
            aload 10 /* sourcePath */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.ExternalFoldersManager.addFolder:(Lorg/eclipse/core/runtime/IPath;Z)Lorg/eclipse/core/resources/IFolder;
            pop
        15: .line 3263
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            return
        end local 10 // org.eclipse.core.runtime.IPath sourcePath
        end local 9 // org.eclipse.core.runtime.IPath resolvedPath
        end local 8 // java.util.Map knownDrives
        end local 7 // boolean addAsChainedEntry
        end local 6 // java.util.Map oldChainedEntriesMap
        end local 5 // org.eclipse.jdt.internal.core.ExternalFoldersManager externalFoldersManager
        end local 4 // java.util.LinkedHashSet resolvedEntries
        end local 3 // org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath result
        end local 2 // org.eclipse.jdt.core.IClasspathEntry resolvedEntry
        end local 1 // org.eclipse.jdt.core.IClasspathEntry rawEntry
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   16     0                    this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   16     1                rawEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            0   16     2           resolvedEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            0   16     3                  result  Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;
            0   16     4         resolvedEntries  Ljava/util/LinkedHashSet;
            0   16     5  externalFoldersManager  Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
            0   16     6    oldChainedEntriesMap  Ljava/util/Map;
            0   16     7       addAsChainedEntry  Z
            0   16     8             knownDrives  Ljava/util/Map;
            1   16     9            resolvedPath  Lorg/eclipse/core/runtime/IPath;
            7   10    10            chainedEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
           13   16    10              sourcePath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
                        Name  Flags
      rawEntry                
      resolvedEntry           
      result                  
      resolvedEntries         
      externalFoldersManager  
      oldChainedEntriesMap    
      addAsChainedEntry       
      knownDrives             

  private void copyFromOldChainedEntry(org.eclipse.jdt.internal.core.ClasspathEntry, org.eclipse.jdt.internal.core.ClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/internal/core/ClasspathEntry;Lorg/eclipse/jdt/internal/core/ClasspathEntry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.internal.core.ClasspathEntry resolvedEntry
        start local 2 // org.eclipse.jdt.internal.core.ClasspathEntry chainedEntry
         0: .line 3266
            aload 2 /* chainedEntry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.getSourceAttachmentPath:()Lorg/eclipse/core/runtime/IPath;
            astore 3 /* path */
        start local 3 // org.eclipse.core.runtime.IPath path
         1: .line 3267
            aload 3 /* path */
            ifnull 3
         2: .line 3268
            aload 1 /* resolvedEntry */
            aload 3 /* path */
            putfield org.eclipse.jdt.internal.core.ClasspathEntry.sourceAttachmentPath:Lorg/eclipse/core/runtime/IPath;
         3: .line 3270
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 2 /* chainedEntry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.getSourceAttachmentRootPath:()Lorg/eclipse/core/runtime/IPath;
            astore 3 /* path */
         4: .line 3271
            aload 3 /* path */
            ifnull 6
         5: .line 3272
            aload 1 /* resolvedEntry */
            aload 3 /* path */
            putfield org.eclipse.jdt.internal.core.ClasspathEntry.sourceAttachmentRootPath:Lorg/eclipse/core/runtime/IPath;
         6: .line 3274
      StackMap locals:
      StackMap stack:
            aload 2 /* chainedEntry */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
            astore 4 /* attributes */
        start local 4 // org.eclipse.jdt.core.IClasspathAttribute[] attributes
         7: .line 3275
            aload 4 /* attributes */
            ifnull 9
         8: .line 3276
            aload 1 /* resolvedEntry */
            aload 4 /* attributes */
            putfield org.eclipse.jdt.internal.core.ClasspathEntry.extraAttributes:[Lorg/eclipse/jdt/core/IClasspathAttribute;
         9: .line 3278
      StackMap locals: org.eclipse.jdt.core.IClasspathAttribute[]
      StackMap stack:
            return
        end local 4 // org.eclipse.jdt.core.IClasspathAttribute[] attributes
        end local 3 // org.eclipse.core.runtime.IPath path
        end local 2 // org.eclipse.jdt.internal.core.ClasspathEntry chainedEntry
        end local 1 // org.eclipse.jdt.internal.core.ClasspathEntry resolvedEntry
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   10     1  resolvedEntry  Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            0   10     2   chainedEntry  Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            1   10     3           path  Lorg/eclipse/core/runtime/IPath;
            7   10     4     attributes  [Lorg/eclipse/jdt/core/IClasspathAttribute;
    MethodParameters:
               Name  Flags
      resolvedEntry  
      chainedEntry   

  private boolean driveExists(org.eclipse.core.runtime.IPath, java.util.Map);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Ljava/util/Map;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.IPath sourcePath
        start local 2 // java.util.Map knownDrives
         0: .line 3285
            aload 1 /* sourcePath */
            invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
            astore 3 /* drive */
        start local 3 // java.lang.String drive
         1: .line 3286
            aload 3 /* drive */
            ifnonnull 2
            iconst_1
            ireturn
         2: .line 3287
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* knownDrives */
            aload 3 /* drive */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 4 /* good */
        start local 4 // java.lang.Boolean good
         3: .line 3288
            aload 4 /* good */
            ifnonnull 9
         4: .line 3289
            new java.io.File
            dup
            aload 3 /* drive */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ifeq 7
         5: .line 3290
            aload 2 /* knownDrives */
            aload 3 /* drive */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 3291
            iconst_1
            ireturn
         7: .line 3293
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 2 /* knownDrives */
            aload 3 /* drive */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 3294
            iconst_0
            ireturn
         9: .line 3297
      StackMap locals:
      StackMap stack:
            aload 4 /* good */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 4 // java.lang.Boolean good
        end local 3 // java.lang.String drive
        end local 2 // java.util.Map knownDrives
        end local 1 // org.eclipse.core.runtime.IPath sourcePath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   10     1   sourcePath  Lorg/eclipse/core/runtime/IPath;
            0   10     2  knownDrives  Ljava/util/Map;
            1   10     3        drive  Ljava/lang/String;
            3   10     4         good  Ljava/lang/Boolean;
    MethodParameters:
             Name  Flags
      sourcePath   
      knownDrives  

  public void resolveClasspath(org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo, boolean, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=10, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
        start local 2 // boolean usePreviousSession
        start local 3 // boolean addClasspathChange
         0: .line 3304
            getstatic org.eclipse.jdt.internal.core.JavaProject.CP_RESOLUTION_BP_LISTENERS:Ljava/util/ArrayList;
            ifnull 2
         1: .line 3305
            iconst_1
            aload 0 /* this */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.breakpoint:(ILorg/eclipse/jdt/internal/core/JavaProject;)V
         2: .line 3306
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 4 /* manager */
        start local 4 // org.eclipse.jdt.internal.core.JavaModelManager manager
         3: .line 3307
            aload 4 /* manager */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.isClasspathBeingResolved:(Lorg/eclipse/jdt/core/IJavaProject;)Z
            istore 5 /* isClasspathBeingResolved */
        start local 5 // boolean isClasspathBeingResolved
         4: .line 3309
            iload 5 /* isClasspathBeingResolved */
            ifne 6
         5: .line 3310
            aload 4 /* manager */
            aload 0 /* this */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.setClasspathBeingResolved:(Lorg/eclipse/jdt/core/IJavaProject;Z)V
         6: .line 3314
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager int
      StackMap stack:
            iconst_2
            anewarray org.eclipse.jdt.core.IClasspathEntry[]
            astore 6 /* classpath */
        start local 6 // org.eclipse.jdt.core.IClasspathEntry[][] classpath
         7: .line 3316
            aload 1 /* perProjectInfo */
            dup
            astore 8
            monitorenter
         8: .line 3317
            aload 6 /* classpath */
            iconst_0
            aload 1 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
            aastore
         9: .line 3318
            aload 6 /* classpath */
            iconst_1
            aload 1 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.referencedEntries:[Lorg/eclipse/jdt/core/IClasspathEntry;
            aastore
        10: .line 3320
            aload 6 /* classpath */
            iconst_0
            aaload
            ifnonnull 12
        11: .line 3321
            aload 1 /* perProjectInfo */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.readAndCacheClasspath:(Lorg/eclipse/jdt/internal/core/JavaProject;)[[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 6 /* classpath */
        12: .line 3322
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo int int org.eclipse.jdt.internal.core.JavaModelManager int org.eclipse.jdt.core.IClasspathEntry[][] top org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
      StackMap stack:
            aload 1 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawTimeStamp:I
            istore 7 /* timeStamp */
        start local 7 // int timeStamp
        13: .line 3316
            aload 8
            monitorexit
        14: goto 17
        end local 7 // int timeStamp
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: aload 8
            monitorexit
        16: athrow
        start local 7 // int timeStamp
        17: .line 3325
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo int int org.eclipse.jdt.internal.core.JavaModelManager int org.eclipse.jdt.core.IClasspathEntry[][] int
      StackMap stack:
            aload 0 /* this */
            aload 6 /* classpath */
            iconst_0
            aaload
            aload 6 /* classpath */
            iconst_1
            aaload
            iload 2 /* usePreviousSession */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.resolveClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;ZZ)Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;
            astore 8 /* result */
        start local 8 // org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath result
        18: .line 3327
            getstatic org.eclipse.jdt.internal.core.JavaProject.CP_RESOLUTION_BP_LISTENERS:Ljava/util/ArrayList;
            ifnull 20
        19: .line 3328
            iconst_2
            aload 0 /* this */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.breakpoint:(ILorg/eclipse/jdt/internal/core/JavaProject;)V
        20: .line 3331
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath
      StackMap stack:
            aload 1 /* perProjectInfo */
            aload 8 /* result */
            getfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.resolvedClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
            aload 8 /* result */
            getfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.referencedEntries:[Lorg/eclipse/jdt/core/IClasspathEntry;
            aload 8 /* result */
            getfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.rawReverseMap:Ljava/util/HashMap;
            aload 8 /* result */
            getfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.rootPathToResolvedEntries:Ljava/util/Map;
            iload 2 /* usePreviousSession */
            ifeq 21
            getstatic org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.NEED_RESOLUTION:Lorg/eclipse/jdt/core/IJavaModelStatus;
            goto 22
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo int int org.eclipse.jdt.internal.core.JavaModelManager int org.eclipse.jdt.core.IClasspathEntry[][] int org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath
      StackMap stack: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry[] java.util.HashMap java.util.Map
        21: aload 8 /* result */
            getfield org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath.unresolvedEntryStatus:Lorg/eclipse/jdt/core/IJavaModelStatus;
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo int int org.eclipse.jdt.internal.core.JavaModelManager int org.eclipse.jdt.core.IClasspathEntry[][] int org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath
      StackMap stack: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry[] java.util.HashMap java.util.Map org.eclipse.jdt.core.IJavaModelStatus
        22: iload 7 /* timeStamp */
            iload 3 /* addClasspathChange */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.setResolvedClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/util/Map;Ljava/util/Map;Lorg/eclipse/jdt/core/IJavaModelStatus;IZ)Lorg/eclipse/jdt/internal/core/ClasspathChange;
            pop
        end local 8 // org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath result
        end local 7 // int timeStamp
        end local 6 // org.eclipse.jdt.core.IClasspathEntry[][] classpath
        23: .line 3332
            goto 30
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo int int org.eclipse.jdt.internal.core.JavaModelManager int
      StackMap stack: java.lang.Throwable
        24: astore 9
        25: .line 3333
            iload 5 /* isClasspathBeingResolved */
            ifne 27
        26: .line 3334
            aload 4 /* manager */
            aload 0 /* this */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.setClasspathBeingResolved:(Lorg/eclipse/jdt/core/IJavaProject;Z)V
        27: .line 3336
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo int int org.eclipse.jdt.internal.core.JavaModelManager int top top top java.lang.Throwable
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaProject.CP_RESOLUTION_BP_LISTENERS:Ljava/util/ArrayList;
            ifnull 29
        28: .line 3337
            iconst_3
            aload 0 /* this */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.breakpoint:(ILorg/eclipse/jdt/internal/core/JavaProject;)V
        29: .line 3338
      StackMap locals:
      StackMap stack:
            aload 9
            athrow
        30: .line 3333
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo int int org.eclipse.jdt.internal.core.JavaModelManager int
      StackMap stack:
            iload 5 /* isClasspathBeingResolved */
            ifne 32
        31: .line 3334
            aload 4 /* manager */
            aload 0 /* this */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.setClasspathBeingResolved:(Lorg/eclipse/jdt/core/IJavaProject;Z)V
        32: .line 3336
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaProject.CP_RESOLUTION_BP_LISTENERS:Ljava/util/ArrayList;
            ifnull 34
        33: .line 3337
            iconst_3
            aload 0 /* this */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.breakpoint:(ILorg/eclipse/jdt/internal/core/JavaProject;)V
        34: .line 3339
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean isClasspathBeingResolved
        end local 4 // org.eclipse.jdt.internal.core.JavaModelManager manager
        end local 3 // boolean addClasspathChange
        end local 2 // boolean usePreviousSession
        end local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   35     0                      this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   35     1            perProjectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            0   35     2        usePreviousSession  Z
            0   35     3        addClasspathChange  Z
            3   35     4                   manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            4   35     5  isClasspathBeingResolved  Z
            7   23     6                 classpath  [[Lorg/eclipse/jdt/core/IClasspathEntry;
           13   15     7                 timeStamp  I
           17   23     7                 timeStamp  I
           18   23     8                    result  Lorg/eclipse/jdt/internal/core/JavaProject$ResolvedClasspath;
      Exception table:
        from    to  target  type
           8    14      15  any
          15    16      15  any
           4    24      24  any
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                    Name  Flags
      perProjectInfo      
      usePreviousSession  
      addClasspathChange  

  public java.lang.String rootID();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 3347
            new java.lang.StringBuilder
            dup
            ldc "[PRJ]"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;

  public boolean writeFileEntries(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.core.runtime.IPath);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] newClasspath
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] referencedEntries
        start local 3 // org.eclipse.core.runtime.IPath newOutputLocation
         0: .line 3361
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.isAccessible:()Z
            ifne 1
            iconst_0
            ireturn
         1: .line 3363
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* unknownElements */
        start local 4 // java.util.Map unknownElements
         2: .line 3364
            aload 0 /* this */
            aload 4 /* unknownElements */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.readFileEntries:(Ljava/util/Map;)[[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 5 /* fileEntries */
        start local 5 // org.eclipse.jdt.core.IClasspathEntry[][] fileEntries
         3: .line 3365
            aload 5 /* fileEntries */
            iconst_0
            aaload
            getstatic org.eclipse.jdt.internal.core.JavaProject.INVALID_CLASSPATH:[Lorg/eclipse/jdt/core/IClasspathEntry;
            if_acmpeq 7
         4: .line 3366
            aload 1 /* newClasspath */
            aload 3 /* newOutputLocation */
            aload 5 /* fileEntries */
            iconst_0
            aaload
            invokestatic org.eclipse.jdt.internal.core.JavaProject.areClasspathsEqual:([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathEntry;)Z
            ifeq 7
         5: .line 3367
            aload 2 /* referencedEntries */
            ifnull 6
            aload 2 /* referencedEntries */
            aload 5 /* fileEntries */
            iconst_1
            aaload
            invokestatic org.eclipse.jdt.internal.core.JavaProject.areClasspathsEqual:([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;)Z
            ifeq 7
         6: .line 3369
      StackMap locals: java.util.Map org.eclipse.jdt.core.IClasspathEntry[][]
      StackMap stack:
            iconst_0
            ireturn
         7: .line 3374
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ".classpath"
            aload 0 /* this */
            aload 1 /* newClasspath */
            aload 2 /* referencedEntries */
            aload 3 /* newOutputLocation */
            iconst_1
            aload 4 /* unknownElements */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.encodeClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;ZLjava/util/Map;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.setSharedProperty:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 3375
            iconst_1
            ireturn
         9: .line 3376
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
            astore 6 /* e */
        start local 6 // org.eclipse.core.runtime.CoreException e
        10: .line 3377
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 6 /* e */
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/core/runtime/CoreException;)V
            athrow
        end local 6 // org.eclipse.core.runtime.CoreException e
        end local 5 // org.eclipse.jdt.core.IClasspathEntry[][] fileEntries
        end local 4 // java.util.Map unknownElements
        end local 3 // org.eclipse.core.runtime.IPath newOutputLocation
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] referencedEntries
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] newClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   11     1       newClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   11     2  referencedEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   11     3  newOutputLocation  Lorg/eclipse/core/runtime/IPath;
            2   11     4    unknownElements  Ljava/util/Map;
            3   11     5        fileEntries  [[Lorg/eclipse/jdt/core/IClasspathEntry;
           10   11     6                  e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
           7     8       9  Class org.eclipse.core.runtime.CoreException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                   Name  Flags
      newClasspath       
      referencedEntries  
      newOutputLocation  

  public boolean writeFileEntries(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.core.runtime.IPath);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] newClasspath
        start local 2 // org.eclipse.core.runtime.IPath newOutputLocation
         0: .line 3381
            aload 0 /* this */
            aload 1 /* newClasspath */
            getstatic org.eclipse.jdt.internal.core.ClasspathEntry.NO_ENTRIES:[Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            aload 2 /* newOutputLocation */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.writeFileEntries:([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;)Z
            ireturn
        end local 2 // org.eclipse.core.runtime.IPath newOutputLocation
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] newClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     1       newClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    1     2  newOutputLocation  Lorg/eclipse/core/runtime/IPath;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                   Name  Flags
      newClasspath       
      newOutputLocation  

  private void setJavaCommand(org.eclipse.core.resources.IProjectDescription, org.eclipse.core.resources.ICommand);
    descriptor: (Lorg/eclipse/core/resources/IProjectDescription;Lorg/eclipse/core/resources/ICommand;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.resources.IProjectDescription description
        start local 2 // org.eclipse.core.resources.ICommand newCommand
         0: .line 3393
            aload 1 /* description */
            invokeinterface org.eclipse.core.resources.IProjectDescription.getBuildSpec:()[Lorg/eclipse/core/resources/ICommand;
            astore 3 /* oldBuildSpec */
        start local 3 // org.eclipse.core.resources.ICommand[] oldBuildSpec
         1: .line 3394
            aload 0 /* this */
            aload 3 /* oldBuildSpec */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getJavaCommandIndex:([Lorg/eclipse/core/resources/ICommand;)I
            istore 4 /* oldJavaCommandIndex */
        start local 4 // int oldJavaCommandIndex
         2: .line 3397
            iload 4 /* oldJavaCommandIndex */
            iconst_m1
            if_icmpne 7
         3: .line 3399
            aload 3 /* oldBuildSpec */
            arraylength
            iconst_1
            iadd
            anewarray org.eclipse.core.resources.ICommand
            astore 5 /* newCommands */
        start local 5 // org.eclipse.core.resources.ICommand[] newCommands
         4: .line 3400
            aload 3 /* oldBuildSpec */
            iconst_0
            aload 5 /* newCommands */
            iconst_1
            aload 3 /* oldBuildSpec */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 3401
            aload 5 /* newCommands */
            iconst_0
            aload 2 /* newCommand */
            aastore
         6: .line 3402
            goto 9
        end local 5 // org.eclipse.core.resources.ICommand[] newCommands
         7: .line 3403
      StackMap locals: org.eclipse.core.resources.ICommand[] int
      StackMap stack:
            aload 3 /* oldBuildSpec */
            iload 4 /* oldJavaCommandIndex */
            aload 2 /* newCommand */
            aastore
         8: .line 3404
            aload 3 /* oldBuildSpec */
            astore 5 /* newCommands */
        start local 5 // org.eclipse.core.resources.ICommand[] newCommands
         9: .line 3408
      StackMap locals: org.eclipse.core.resources.ICommand[]
      StackMap stack:
            aload 1 /* description */
            aload 5 /* newCommands */
            invokeinterface org.eclipse.core.resources.IProjectDescription.setBuildSpec:([Lorg/eclipse/core/resources/ICommand;)V
        10: .line 3409
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            aload 1 /* description */
            aconst_null
            invokeinterface org.eclipse.core.resources.IProject.setDescription:(Lorg/eclipse/core/resources/IProjectDescription;Lorg/eclipse/core/runtime/IProgressMonitor;)V
        11: .line 3410
            return
        end local 5 // org.eclipse.core.resources.ICommand[] newCommands
        end local 4 // int oldJavaCommandIndex
        end local 3 // org.eclipse.core.resources.ICommand[] oldBuildSpec
        end local 2 // org.eclipse.core.resources.ICommand newCommand
        end local 1 // org.eclipse.core.resources.IProjectDescription description
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   12     0                 this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   12     1          description  Lorg/eclipse/core/resources/IProjectDescription;
            0   12     2           newCommand  Lorg/eclipse/core/resources/ICommand;
            1   12     3         oldBuildSpec  [Lorg/eclipse/core/resources/ICommand;
            2   12     4  oldJavaCommandIndex  I
            4    7     5          newCommands  [Lorg/eclipse/core/resources/ICommand;
            9   12     5          newCommands  [Lorg/eclipse/core/resources/ICommand;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
             Name  Flags
      description  
      newCommand   

  public void setOption(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String optionName
        start local 2 // java.lang.String optionValue
         0: .line 3418
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getEclipsePreferences:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 3 /* projectPreferences */
        start local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences projectPreferences
         1: .line 3419
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 1 /* optionName */
            aload 2 /* optionValue */
            aload 3 /* projectPreferences */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.storePreference:(Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;Ljava/util/Map;)Z
            istore 4 /* modified */
        start local 4 // boolean modified
         2: .line 3422
            iload 4 /* modified */
            ifeq 6
         3: .line 3424
            aload 3 /* projectPreferences */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.flush:()V
         4: .line 3425
            goto 6
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.lang.String java.lang.String org.eclipse.core.runtime.preferences.IEclipsePreferences int
      StackMap stack: org.osgi.service.prefs.BackingStoreException
         5: pop
         6: .line 3429
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean modified
        end local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences projectPreferences
        end local 2 // java.lang.String optionValue
        end local 1 // java.lang.String optionName
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    7     1          optionName  Ljava/lang/String;
            0    7     2         optionValue  Ljava/lang/String;
            1    7     3  projectPreferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            2    7     4            modified  Z
      Exception table:
        from    to  target  type
           3     4       5  Class org.osgi.service.prefs.BackingStoreException
    MethodParameters:
             Name  Flags
      optionName   
      optionValue  

  public void setOptions(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.util.Map newOptions
         0: .line 3437
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getEclipsePreferences:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 2 /* projectPreferences */
        start local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences projectPreferences
         1: .line 3438
            aload 2 /* projectPreferences */
            ifnonnull 2
            return
         2: .line 3440
      StackMap locals: org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack:
            aload 1 /* newOptions */
            ifnonnull 5
         3: .line 3441
            aload 2 /* projectPreferences */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.clear:()V
         4: .line 3442
            goto 22
         5: .line 3443
      StackMap locals:
      StackMap stack:
            aload 1 /* newOptions */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* entries */
        start local 3 // java.util.Iterator entries
         6: .line 3444
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 4 /* javaModelManager */
        start local 4 // org.eclipse.jdt.internal.core.JavaModelManager javaModelManager
         7: .line 3445
            goto 12
         8: .line 3446
      StackMap locals: java.util.Iterator org.eclipse.jdt.internal.core.JavaModelManager
      StackMap stack:
            aload 3 /* entries */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
         9: .line 3447
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* key */
        start local 6 // java.lang.String key
        10: .line 3448
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* value */
        start local 7 // java.lang.String value
        11: .line 3449
            aload 4 /* javaModelManager */
            aload 6 /* key */
            aload 7 /* value */
            aload 2 /* projectPreferences */
            aload 1 /* newOptions */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.storePreference:(Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;Ljava/util/Map;)Z
            pop
        end local 7 // java.lang.String value
        end local 6 // java.lang.String key
        end local 5 // java.util.Map$Entry entry
        12: .line 3445
      StackMap locals:
      StackMap stack:
            aload 3 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        13: .line 3455
            aload 2 /* projectPreferences */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.keys:()[Ljava/lang/String;
            astore 5 /* pNames */
        start local 5 // java.lang.String[] pNames
        14: .line 3456
            aload 5 /* pNames */
            arraylength
            istore 6 /* ln */
        start local 6 // int ln
        15: .line 3457
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        16: goto 21
        17: .line 3458
      StackMap locals: java.lang.String[] int int
      StackMap stack:
            aload 5 /* pNames */
            iload 7 /* i */
            aaload
            astore 8 /* key */
        start local 8 // java.lang.String key
        18: .line 3459
            aload 1 /* newOptions */
            aload 8 /* key */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 20
        19: .line 3460
            aload 2 /* projectPreferences */
            aload 8 /* key */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.remove:(Ljava/lang/String;)V
        end local 8 // java.lang.String key
        20: .line 3457
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 7 /* i */
            iload 6 /* ln */
            if_icmplt 17
        end local 7 // int i
        end local 6 // int ln
        end local 5 // java.lang.String[] pNames
        end local 4 // org.eclipse.jdt.internal.core.JavaModelManager javaModelManager
        end local 3 // java.util.Iterator entries
        22: .line 3466
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.util.Map org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack:
            aload 2 /* projectPreferences */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.flush:()V
        23: .line 3470
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo:()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            aconst_null
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.options:Ljava/util/Hashtable;
        24: .line 3471
            goto 28
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        25: pop
        26: .line 3474
            goto 28
      StackMap locals:
      StackMap stack: org.osgi.service.prefs.BackingStoreException
        27: pop
        28: .line 3477
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences projectPreferences
        end local 1 // java.util.Map newOptions
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   29     0                this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   29     1          newOptions  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1   29     2  projectPreferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            6   22     3             entries  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;
            7   22     4    javaModelManager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            9   12     5               entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           10   12     6                 key  Ljava/lang/String;
           11   12     7               value  Ljava/lang/String;
           14   22     5              pNames  [Ljava/lang/String;
           15   22     6                  ln  I
           16   22     7                   i  I
           18   20     8                 key  Ljava/lang/String;
      Exception table:
        from    to  target  type
          23    24      25  Class org.eclipse.jdt.core.JavaModelException
           2    26      27  Class org.osgi.service.prefs.BackingStoreException
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      newOptions  

  public void setOutputLocation(org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.IPath path
        start local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 3483
            aload 1 /* path */
            ifnonnull 2
         1: .line 3484
            new java.lang.IllegalArgumentException
            dup
            getstatic org.eclipse.jdt.internal.core.util.Messages.path_nullPath:Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 3486
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOutputLocation:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 3487
            return
         4: .line 3489
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            aload 1 /* path */
            aload 2 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.setRawClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IProgressMonitor;)V
         5: .line 3490
            return
        end local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    6     1     path  Lorg/eclipse/core/runtime/IPath;
            0    6     2  monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      path     
      monitor  

  public void setProject(org.eclipse.core.resources.IProject);
    descriptor: (Lorg/eclipse/core/resources/IProject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.resources.IProject project
         0: .line 3502
            aload 0 /* this */
            aload 1 /* project */
            putfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
         1: .line 3503
            aload 0 /* this */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getJavaModel:()Lorg/eclipse/jdt/internal/core/JavaModel;
            putfield org.eclipse.jdt.internal.core.JavaProject.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
         2: .line 3504
            return
        end local 1 // org.eclipse.core.resources.IProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    3     1  project  Lorg/eclipse/core/resources/IProject;
    MethodParameters:
         Name  Flags
      project  

  public void setRawClasspath(org.eclipse.jdt.core.IClasspathEntry[], boolean, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;ZLorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] entries
        start local 2 // boolean canModifyResources
        start local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 3516
            aload 0 /* this */
         1: .line 3517
            aload 1 /* entries */
         2: .line 3518
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOutputLocation:()Lorg/eclipse/core/runtime/IPath;
         3: .line 3519
            iload 2 /* canModifyResources */
         4: .line 3520
            aload 3 /* monitor */
         5: .line 3516
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.setRawClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;ZLorg/eclipse/core/runtime/IProgressMonitor;)V
         6: .line 3521
            return
        end local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 2 // boolean canModifyResources
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] entries
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    7     1             entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    7     2  canModifyResources  Z
            0    7     3             monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                    Name  Flags
      entries             
      canModifyResources  
      monitor             

  public void setRawClasspath(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.core.runtime.IPath, boolean, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;ZLorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] newRawClasspath
        start local 2 // org.eclipse.core.runtime.IPath newOutputLocation
        start local 3 // boolean canModifyResources
        start local 4 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 3533
            aload 0 /* this */
            aload 1 /* newRawClasspath */
            aconst_null
            aload 2 /* newOutputLocation */
            iload 3 /* canModifyResources */
            aload 4 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.setRawClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;ZLorg/eclipse/core/runtime/IProgressMonitor;)V
         1: .line 3534
            return
        end local 4 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 3 // boolean canModifyResources
        end local 2 // org.eclipse.core.runtime.IPath newOutputLocation
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] newRawClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    2     1     newRawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    2     2   newOutputLocation  Lorg/eclipse/core/runtime/IPath;
            0    2     3  canModifyResources  Z
            0    2     4             monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                    Name  Flags
      newRawClasspath     
      newOutputLocation   
      canModifyResources  
      monitor             

  public void setRawClasspath(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] entries
        start local 2 // org.eclipse.core.runtime.IPath outputLocation
        start local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 3546
            aload 0 /* this */
         1: .line 3547
            aload 1 /* entries */
         2: .line 3548
            aload 2 /* outputLocation */
         3: .line 3549
            iconst_1
         4: .line 3550
            aload 3 /* monitor */
         5: .line 3546
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.setRawClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;ZLorg/eclipse/core/runtime/IProgressMonitor;)V
         6: .line 3551
            return
        end local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 2 // org.eclipse.core.runtime.IPath outputLocation
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] entries
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    7     1         entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    7     2  outputLocation  Lorg/eclipse/core/runtime/IPath;
            0    7     3         monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                Name  Flags
      entries         
      outputLocation  
      monitor         

  public void setRawClasspath(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] entries
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] referencedEntries
        start local 3 // org.eclipse.core.runtime.IPath outputLocation
        start local 4 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 3556
            aload 0 /* this */
            aload 1 /* entries */
            aload 2 /* referencedEntries */
            aload 3 /* outputLocation */
            iconst_1
            aload 4 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.setRawClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;ZLorg/eclipse/core/runtime/IProgressMonitor;)V
         1: .line 3557
            return
        end local 4 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 3 // org.eclipse.core.runtime.IPath outputLocation
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] referencedEntries
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] entries
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    2     1            entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    2     2  referencedEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    2     3     outputLocation  Lorg/eclipse/core/runtime/IPath;
            0    2     4            monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                   Name  Flags
      entries            
      referencedEntries  
      outputLocation     
      monitor            

  protected void setRawClasspath(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.core.runtime.IPath, boolean, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;ZLorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] newRawClasspath
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] referencedEntries
        start local 3 // org.eclipse.core.runtime.IPath newOutputLocation
        start local 4 // boolean canModifyResources
        start local 5 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 3563
            aload 1 /* newRawClasspath */
            ifnonnull 2
         1: .line 3564
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.defaultClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 1 /* newRawClasspath */
         2: .line 3567
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.SetClasspathOperation
            dup
         3: .line 3568
            aload 0 /* this */
         4: .line 3569
            aload 1 /* newRawClasspath */
         5: .line 3570
            aload 2 /* referencedEntries */
         6: .line 3571
            aload 3 /* newOutputLocation */
         7: .line 3572
            iload 4 /* canModifyResources */
         8: .line 3567
            invokespecial org.eclipse.jdt.internal.core.SetClasspathOperation.<init>:(Lorg/eclipse/jdt/internal/core/JavaProject;[Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;Z)V
         9: .line 3566
            astore 6 /* op */
        start local 6 // org.eclipse.jdt.internal.core.SetClasspathOperation op
        10: .line 3573
            aload 6 /* op */
            aload 5 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.SetClasspathOperation.runOperation:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
        end local 6 // org.eclipse.jdt.internal.core.SetClasspathOperation op
        11: .line 3574
            goto 15
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        12: astore 6 /* e */
        start local 6 // org.eclipse.jdt.core.JavaModelException e
        13: .line 3575
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getDeltaProcessor:()Lorg/eclipse/jdt/internal/core/DeltaProcessor;
            invokevirtual org.eclipse.jdt.internal.core.DeltaProcessor.flush:()V
        14: .line 3576
            aload 6 /* e */
            athrow
        end local 6 // org.eclipse.jdt.core.JavaModelException e
        15: .line 3578
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 4 // boolean canModifyResources
        end local 3 // org.eclipse.core.runtime.IPath newOutputLocation
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] referencedEntries
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] newRawClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   16     1     newRawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   16     2   referencedEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   16     3   newOutputLocation  Lorg/eclipse/core/runtime/IPath;
            0   16     4  canModifyResources  Z
            0   16     5             monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
           10   11     6                  op  Lorg/eclipse/jdt/internal/core/SetClasspathOperation;
           13   15     6                   e  Lorg/eclipse/jdt/core/JavaModelException;
      Exception table:
        from    to  target  type
           0    11      12  Class org.eclipse.jdt.core.JavaModelException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                    Name  Flags
      newRawClasspath     
      referencedEntries   
      newOutputLocation   
      canModifyResources  
      monitor             

  public void setRawClasspath(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] entries
        start local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 3589
            aload 0 /* this */
         1: .line 3590
            aload 1 /* entries */
         2: .line 3591
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOutputLocation:()Lorg/eclipse/core/runtime/IPath;
         3: .line 3592
            iconst_1
         4: .line 3593
            aload 2 /* monitor */
         5: .line 3589
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.setRawClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;ZLorg/eclipse/core/runtime/IProgressMonitor;)V
         6: .line 3594
            return
        end local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] entries
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    7     1  entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    7     2  monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      entries  
      monitor  

  public void setSharedProperty(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String value
         0: .line 3612
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaProject.project:Lorg/eclipse/core/resources/IProject;
            aload 1 /* key */
            invokeinterface org.eclipse.core.resources.IProject.getFile:(Ljava/lang/String;)Lorg/eclipse/core/resources/IFile;
            astore 3 /* rscFile */
        start local 3 // org.eclipse.core.resources.IFile rscFile
         1: .line 3613
            aconst_null
            astore 4 /* bytes */
        start local 4 // byte[] bytes
         2: .line 3615
            aload 2 /* value */
            ldc "UTF-8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 4 /* bytes */
         3: .line 3616
            goto 7
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.lang.String java.lang.String org.eclipse.core.resources.IFile byte[]
      StackMap stack: java.io.UnsupportedEncodingException
         4: astore 5 /* e */
        start local 5 // java.io.UnsupportedEncodingException e
         5: .line 3617
            aload 5 /* e */
            ldc "Could not write .classpath with UTF-8 encoding "
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Ljava/lang/Throwable;Ljava/lang/String;)V
         6: .line 3619
            aload 2 /* value */
            invokevirtual java.lang.String.getBytes:()[B
            astore 4 /* bytes */
        end local 5 // java.io.UnsupportedEncodingException e
         7: .line 3621
      StackMap locals:
      StackMap stack:
            new java.io.ByteArrayInputStream
            dup
            aload 4 /* bytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 5 /* inputStream */
        start local 5 // java.io.InputStream inputStream
         8: .line 3623
            aload 3 /* rscFile */
            invokeinterface org.eclipse.core.resources.IFile.exists:()Z
            ifeq 13
         9: .line 3624
            aload 3 /* rscFile */
            invokeinterface org.eclipse.core.resources.IFile.isReadOnly:()Z
            ifeq 11
        10: .line 3626
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            iconst_1
            anewarray org.eclipse.core.resources.IFile
            dup
            iconst_0
            aload 3 /* rscFile */
            aastore
            getstatic org.eclipse.core.resources.IWorkspace.VALIDATE_PROMPT:Ljava/lang/Object;
            invokeinterface org.eclipse.core.resources.IWorkspace.validateEdit:([Lorg/eclipse/core/resources/IFile;Ljava/lang/Object;)Lorg/eclipse/core/runtime/IStatus;
            pop
        11: .line 3628
      StackMap locals: java.io.InputStream
      StackMap stack:
            aload 3 /* rscFile */
            aload 5 /* inputStream */
            iconst_1
            aconst_null
            invokeinterface org.eclipse.core.resources.IFile.setContents:(Ljava/io/InputStream;ILorg/eclipse/core/runtime/IProgressMonitor;)V
        12: .line 3629
            goto 14
        13: .line 3630
      StackMap locals:
      StackMap stack:
            aload 3 /* rscFile */
            aload 5 /* inputStream */
            iconst_1
            aconst_null
            invokeinterface org.eclipse.core.resources.IFile.create:(Ljava/io/InputStream;ILorg/eclipse/core/runtime/IProgressMonitor;)V
        14: .line 3632
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.io.InputStream inputStream
        end local 4 // byte[] bytes
        end local 3 // org.eclipse.core.resources.IFile rscFile
        end local 2 // java.lang.String value
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   15     1          key  Ljava/lang/String;
            0   15     2        value  Ljava/lang/String;
            1   15     3      rscFile  Lorg/eclipse/core/resources/IFile;
            2   15     4        bytes  [B
            5    7     5            e  Ljava/io/UnsupportedEncodingException;
            8   15     5  inputStream  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.UnsupportedEncodingException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
       Name  Flags
      key    
      value  

  public void updateCycleParticipants(java.util.List<org.eclipse.core.runtime.IPath>, java.util.LinkedHashSet, java.util.Map<org.eclipse.core.runtime.IPath, java.util.List<org.eclipse.jdt.internal.core.JavaProject$CycleInfo>>, org.eclipse.core.resources.IWorkspaceRoot, java.util.HashSet, java.util.Map);
    descriptor: (Ljava/util/List;Ljava/util/LinkedHashSet;Ljava/util/Map;Lorg/eclipse/core/resources/IWorkspaceRoot;Ljava/util/HashSet;Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=24, args_size=7
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // java.util.List prereqChain
        start local 2 // java.util.LinkedHashSet cycleParticipants
        start local 3 // java.util.Map cyclesPerProject
        start local 4 // org.eclipse.core.resources.IWorkspaceRoot workspaceRoot
        start local 5 // java.util.HashSet traversed
        start local 6 // java.util.Map preferredClasspaths
         0: .line 3693
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 7 /* path */
        start local 7 // org.eclipse.core.runtime.IPath path
         1: .line 3694
            aload 1 /* prereqChain */
            aload 7 /* path */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 3695
            aload 5 /* traversed */
            aload 7 /* path */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 3697
            aconst_null
            astore 8 /* classpath */
        start local 8 // org.eclipse.jdt.core.IClasspathEntry[] classpath
         4: .line 3698
            aload 6 /* preferredClasspaths */
            ifnull 5
            aload 6 /* preferredClasspaths */
            aload 0 /* this */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IClasspathEntry[]
            astore 8 /* classpath */
         5: .line 3699
      StackMap locals: org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            aload 8 /* classpath */
            ifnonnull 6
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 8 /* classpath */
         6: .line 3700
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         7: aload 8 /* classpath */
            arraylength
            istore 10 /* length */
        start local 10 // int length
         8: goto 66
         9: .line 3701
      StackMap locals: int int
      StackMap stack:
            aload 8 /* classpath */
            iload 9 /* i */
            aaload
            astore 11 /* entry */
        start local 11 // org.eclipse.jdt.core.IClasspathEntry entry
        10: .line 3703
            aload 11 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_2
            if_icmpne 65
        11: .line 3704
            aload 11 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 12 /* prereqProjectPath */
        start local 12 // org.eclipse.core.runtime.IPath prereqProjectPath
        12: .line 3705
            aload 1 /* prereqChain */
            aload 12 /* prereqProjectPath */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 13 /* prereqIndex */
        start local 13 // int prereqIndex
        13: .line 3706
            iload 13 /* prereqIndex */
            iconst_m1
            if_icmple 26
        14: .line 3708
            aload 1 /* prereqChain */
            iload 13 /* prereqIndex */
            aload 1 /* prereqChain */
            invokeinterface java.util.List.size:()I
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            astore 14 /* cycle */
        start local 14 // java.util.List cycle
        15: .line 3710
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            astore 15 /* prefix */
        start local 15 // java.util.List prefix
        16: .line 3711
            aload 14 /* cycle */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17
            goto 19
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.util.List java.util.LinkedHashSet java.util.Map org.eclipse.core.resources.IWorkspaceRoot java.util.HashSet java.util.Map org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IClasspathEntry[] int int org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.runtime.IPath int java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        17: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            astore 16 /* prjInCycle */
        start local 16 // org.eclipse.core.runtime.IPath prjInCycle
        18: .line 3712
            aload 16 /* prjInCycle */
            aload 15 /* prefix */
            aload 14 /* cycle */
            aload 3 /* cyclesPerProject */
            invokestatic org.eclipse.jdt.internal.core.JavaProject$CycleInfo.add:(Lorg/eclipse/core/runtime/IPath;Ljava/util/List;Ljava/util/List;Ljava/util/Map;)V
        end local 16 // org.eclipse.core.runtime.IPath prjInCycle
        19: .line 3711
      StackMap locals:
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 3715
            iconst_0
            istore 16 /* j */
        start local 16 // int j
        21: goto 24
        22: .line 3716
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.util.List java.util.LinkedHashSet java.util.Map org.eclipse.core.resources.IWorkspaceRoot java.util.HashSet java.util.Map org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IClasspathEntry[] int int org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.runtime.IPath int java.util.List java.util.List int
      StackMap stack:
            aload 1 /* prereqChain */
            iload 16 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            aload 1 /* prereqChain */
            iload 16 /* j */
            iload 13 /* prereqIndex */
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            aload 14 /* cycle */
            aload 3 /* cyclesPerProject */
            invokestatic org.eclipse.jdt.internal.core.JavaProject$CycleInfo.add:(Lorg/eclipse/core/runtime/IPath;Ljava/util/List;Ljava/util/List;Ljava/util/Map;)V
        23: .line 3715
            iinc 16 /* j */ 1
      StackMap locals:
      StackMap stack:
        24: iload 16 /* j */
            iload 13 /* prereqIndex */
            if_icmplt 22
        end local 16 // int j
        end local 15 // java.util.List prefix
        end local 14 // java.util.List cycle
        25: .line 3718
            goto 59
      StackMap locals:
      StackMap stack:
        26: aload 2 /* cycleParticipants */
            aload 12 /* prereqProjectPath */
            invokevirtual java.util.LinkedHashSet.contains:(Ljava/lang/Object;)Z
            ifeq 53
        27: .line 3720
            aload 3 /* cyclesPerProject */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 12 /* prereqProjectPath */
            invokestatic org.eclipse.jdt.internal.core.JavaProject$CycleInfo.findCycleContaining:(Ljava/util/Collection;Lorg/eclipse/core/runtime/IPath;)Ljava/util/Optional;
            astore 14 /* cycle */
        start local 14 // java.util.Optional cycle
        28: .line 3721
            aload 14 /* cycle */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 51
        29: .line 3722
            aload 14 /* cycle */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaProject$CycleInfo
            getfield org.eclipse.jdt.internal.core.JavaProject$CycleInfo.cycle:Ljava/util/List;
            astore 15 /* theCycle */
        start local 15 // java.util.List theCycle
        30: .line 3723
            iconst_0
            istore 16 /* j */
        start local 16 // int j
        31: goto 50
        32: .line 3724
      StackMap locals: java.util.Optional java.util.List int
      StackMap stack:
            aload 1 /* prereqChain */
            iload 16 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            astore 17 /* prereq */
        start local 17 // org.eclipse.core.runtime.IPath prereq
        33: .line 3725
            aload 1 /* prereqChain */
            iload 16 /* j */
            aload 1 /* prereqChain */
            invokeinterface java.util.List.size:()I
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            astore 18 /* prereqSubList */
        start local 18 // java.util.List prereqSubList
        34: .line 3726
            aload 15 /* theCycle */
            aload 17 /* prereq */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 19 /* joinIndex1 */
        start local 19 // int joinIndex1
        35: .line 3727
            iload 19 /* joinIndex1 */
            iconst_m1
            if_icmpeq 48
        36: .line 3729
            new java.util.ArrayList
            dup
            aload 18 /* prereqSubList */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 20 /* newCycle */
        start local 20 // java.util.List newCycle
        37: .line 3730
            aload 15 /* theCycle */
            aload 12 /* prereqProjectPath */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 21 /* joinIndex2 */
        start local 21 // int joinIndex2
        38: .line 3731
            goto 42
        39: .line 3732
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.util.List java.util.LinkedHashSet java.util.Map org.eclipse.core.resources.IWorkspaceRoot java.util.HashSet java.util.Map org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IClasspathEntry[] int int org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.runtime.IPath int java.util.Optional java.util.List int org.eclipse.core.runtime.IPath java.util.List int java.util.List int
      StackMap stack:
            aload 20 /* newCycle */
            aload 15 /* theCycle */
            iload 21 /* joinIndex2 */
            iinc 21 /* joinIndex2 */ 1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        40: .line 3733
            iload 21 /* joinIndex2 */
            aload 15 /* theCycle */
            invokeinterface java.util.List.size:()I
            if_icmpne 42
        41: .line 3734
            iconst_0
            istore 21 /* joinIndex2 */
        42: .line 3731
      StackMap locals:
      StackMap stack:
            iload 21 /* joinIndex2 */
            iload 19 /* joinIndex1 */
            if_icmpne 39
        43: .line 3736
            aload 20 /* newCycle */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 23
            goto 46
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.util.List java.util.LinkedHashSet java.util.Map org.eclipse.core.resources.IWorkspaceRoot java.util.HashSet java.util.Map org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IClasspathEntry[] int int org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.runtime.IPath int java.util.Optional java.util.List int org.eclipse.core.runtime.IPath java.util.List int java.util.List int top java.util.Iterator
      StackMap stack:
        44: aload 23
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            astore 22 /* newMember */
        start local 22 // org.eclipse.core.runtime.IPath newMember
        45: .line 3737
            aload 22 /* newMember */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            aload 20 /* newCycle */
            aload 3 /* cyclesPerProject */
            invokestatic org.eclipse.jdt.internal.core.JavaProject$CycleInfo.add:(Lorg/eclipse/core/runtime/IPath;Ljava/util/List;Ljava/util/List;Ljava/util/Map;)V
        end local 22 // org.eclipse.core.runtime.IPath newMember
        46: .line 3736
      StackMap locals:
      StackMap stack:
            aload 23
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 44
        47: .line 3739
            goto 51
        end local 21 // int joinIndex2
        end local 20 // java.util.List newCycle
        48: .line 3741
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.util.List java.util.LinkedHashSet java.util.Map org.eclipse.core.resources.IWorkspaceRoot java.util.HashSet java.util.Map org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IClasspathEntry[] int int org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.runtime.IPath int java.util.Optional java.util.List int org.eclipse.core.runtime.IPath java.util.List int
      StackMap stack:
            aload 17 /* prereq */
            aload 18 /* prereqSubList */
            aload 15 /* theCycle */
            aload 3 /* cyclesPerProject */
            invokestatic org.eclipse.jdt.internal.core.JavaProject$CycleInfo.add:(Lorg/eclipse/core/runtime/IPath;Ljava/util/List;Ljava/util/List;Ljava/util/Map;)V
        end local 19 // int joinIndex1
        end local 18 // java.util.List prereqSubList
        end local 17 // org.eclipse.core.runtime.IPath prereq
        49: .line 3723
            iinc 16 /* j */ 1
      StackMap locals:
      StackMap stack:
        50: iload 16 /* j */
            aload 1 /* prereqChain */
            invokeinterface java.util.List.size:()I
            if_icmplt 32
        end local 16 // int j
        end local 15 // java.util.List theCycle
        51: .line 3745
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* prereqIndex */
        end local 14 // java.util.Optional cycle
        52: .line 3746
            goto 59
        53: .line 3747
      StackMap locals:
      StackMap stack:
            aload 5 /* traversed */
            aload 12 /* prereqProjectPath */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifne 65
        54: .line 3748
            aload 4 /* workspaceRoot */
            aload 12 /* prereqProjectPath */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.findMember:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
            astore 14 /* member */
        start local 14 // org.eclipse.core.resources.IResource member
        55: .line 3749
            aload 14 /* member */
            ifnull 65
            aload 14 /* member */
            invokeinterface org.eclipse.core.resources.IResource.getType:()I
            iconst_4
            if_icmpne 65
        56: .line 3750
            aload 14 /* member */
            checkcast org.eclipse.core.resources.IProject
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            checkcast org.eclipse.jdt.internal.core.JavaProject
            astore 15 /* javaProject */
        start local 15 // org.eclipse.jdt.internal.core.JavaProject javaProject
        57: .line 3751
            aload 15 /* javaProject */
            aload 1 /* prereqChain */
            aload 2 /* cycleParticipants */
            aload 3 /* cyclesPerProject */
            aload 4 /* workspaceRoot */
            aload 5 /* traversed */
            aload 6 /* preferredClasspaths */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.updateCycleParticipants:(Ljava/util/List;Ljava/util/LinkedHashSet;Ljava/util/Map;Lorg/eclipse/core/resources/IWorkspaceRoot;Ljava/util/HashSet;Ljava/util/Map;)V
        end local 15 // org.eclipse.jdt.internal.core.JavaProject javaProject
        end local 14 // org.eclipse.core.resources.IResource member
        58: .line 3754
            goto 65
        59: .line 3757
      StackMap locals:
      StackMap stack:
            iload 13 /* prereqIndex */
            istore 14 /* index */
        start local 14 // int index
        60: aload 1 /* prereqChain */
            invokeinterface java.util.List.size:()I
            istore 15 /* size */
        start local 15 // int size
        61: goto 64
        62: .line 3758
      StackMap locals: int int
      StackMap stack:
            aload 2 /* cycleParticipants */
            aload 1 /* prereqChain */
            iload 14 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
        63: .line 3757
            iinc 14 /* index */ 1
      StackMap locals:
      StackMap stack:
        64: iload 14 /* index */
            iload 15 /* size */
            if_icmplt 62
        end local 15 // int size
        end local 14 // int index
        end local 13 // int prereqIndex
        end local 12 // org.eclipse.core.runtime.IPath prereqProjectPath
        end local 11 // org.eclipse.jdt.core.IClasspathEntry entry
        65: .line 3700
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.util.List java.util.LinkedHashSet java.util.Map org.eclipse.core.resources.IWorkspaceRoot java.util.HashSet java.util.Map org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IClasspathEntry[] int int
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        66: iload 9 /* i */
            iload 10 /* length */
            if_icmplt 9
        end local 10 // int length
        end local 9 // int i
        end local 8 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        67: .line 3762
            goto 69
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject java.util.List java.util.LinkedHashSet java.util.Map org.eclipse.core.resources.IWorkspaceRoot java.util.HashSet java.util.Map org.eclipse.core.runtime.IPath
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        68: pop
        69: .line 3765
      StackMap locals:
      StackMap stack:
            aload 1 /* prereqChain */
            aload 7 /* path */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        70: .line 3766
            return
        end local 7 // org.eclipse.core.runtime.IPath path
        end local 6 // java.util.Map preferredClasspaths
        end local 5 // java.util.HashSet traversed
        end local 4 // org.eclipse.core.resources.IWorkspaceRoot workspaceRoot
        end local 3 // java.util.Map cyclesPerProject
        end local 2 // java.util.LinkedHashSet cycleParticipants
        end local 1 // java.util.List prereqChain
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   71     0                 this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   71     1          prereqChain  Ljava/util/List<Lorg/eclipse/core/runtime/IPath;>;
            0   71     2    cycleParticipants  Ljava/util/LinkedHashSet;
            0   71     3     cyclesPerProject  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Ljava/util/List<Lorg/eclipse/jdt/internal/core/JavaProject$CycleInfo;>;>;
            0   71     4        workspaceRoot  Lorg/eclipse/core/resources/IWorkspaceRoot;
            0   71     5            traversed  Ljava/util/HashSet;
            0   71     6  preferredClasspaths  Ljava/util/Map;
            1   71     7                 path  Lorg/eclipse/core/runtime/IPath;
            4   67     8            classpath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            7   67     9                    i  I
            8   67    10               length  I
           10   65    11                entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           12   65    12    prereqProjectPath  Lorg/eclipse/core/runtime/IPath;
           13   65    13          prereqIndex  I
           15   25    14                cycle  Ljava/util/List<Lorg/eclipse/core/runtime/IPath;>;
           16   25    15               prefix  Ljava/util/List<Lorg/eclipse/core/runtime/IPath;>;
           18   19    16           prjInCycle  Lorg/eclipse/core/runtime/IPath;
           21   25    16                    j  I
           28   52    14                cycle  Ljava/util/Optional<Lorg/eclipse/jdt/internal/core/JavaProject$CycleInfo;>;
           30   51    15             theCycle  Ljava/util/List<Lorg/eclipse/core/runtime/IPath;>;
           31   51    16                    j  I
           33   49    17               prereq  Lorg/eclipse/core/runtime/IPath;
           34   49    18        prereqSubList  Ljava/util/List<Lorg/eclipse/core/runtime/IPath;>;
           35   49    19           joinIndex1  I
           37   48    20             newCycle  Ljava/util/List<Lorg/eclipse/core/runtime/IPath;>;
           38   48    21           joinIndex2  I
           45   46    22            newMember  Lorg/eclipse/core/runtime/IPath;
           55   58    14               member  Lorg/eclipse/core/resources/IResource;
           57   58    15          javaProject  Lorg/eclipse/jdt/internal/core/JavaProject;
           60   65    14                index  I
           61   65    15                 size  I
      Exception table:
        from    to  target  type
           3    67      68  Class org.eclipse.jdt.core.JavaModelException
    Signature: (Ljava/util/List<Lorg/eclipse/core/runtime/IPath;>;Ljava/util/LinkedHashSet;Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Ljava/util/List<Lorg/eclipse/jdt/internal/core/JavaProject$CycleInfo;>;>;Lorg/eclipse/core/resources/IWorkspaceRoot;Ljava/util/HashSet;Ljava/util/Map;)V
    MethodParameters:
                     Name  Flags
      prereqChain          
      cycleParticipants    
      cyclesPerProject     
      workspaceRoot        
      traversed            
      preferredClasspaths  

  private void updatePreferences(org.eclipse.core.runtime.preferences.IEclipsePreferences);
    descriptor: (Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences preferences
         0: .line 3773
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.loadPreferences:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 2 /* oldPreferences */
        start local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences oldPreferences
         1: .line 3774
            aload 2 /* oldPreferences */
            ifnull 14
         2: .line 3776
            aload 2 /* oldPreferences */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.childrenNames:()[Ljava/lang/String;
            astore 3 /* propertyNames */
        start local 3 // java.lang.String[] propertyNames
         3: .line 3777
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 10
         5: .line 3778
      StackMap locals: org.eclipse.core.runtime.preferences.IEclipsePreferences java.lang.String[] int
      StackMap stack:
            aload 3 /* propertyNames */
            iload 4 /* i */
            aaload
            astore 5 /* propertyName */
        start local 5 // java.lang.String propertyName
         6: .line 3779
            aload 2 /* oldPreferences */
            aload 5 /* propertyName */
            ldc ""
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* propertyValue */
        start local 6 // java.lang.String propertyValue
         7: .line 3780
            ldc ""
            aload 6 /* propertyValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 3781
            aload 1 /* preferences */
            aload 5 /* propertyName */
            aload 6 /* propertyValue */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.put:(Ljava/lang/String;Ljava/lang/String;)V
        end local 6 // java.lang.String propertyValue
        end local 5 // java.lang.String propertyName
         9: .line 3777
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 3 /* propertyNames */
            arraylength
            if_icmplt 5
        end local 4 // int i
        11: .line 3785
            aload 1 /* preferences */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.flush:()V
        end local 3 // java.lang.String[] propertyNames
        12: .line 3786
            goto 14
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack: org.osgi.service.prefs.BackingStoreException
        13: pop
        14: .line 3790
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences oldPreferences
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences preferences
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   15     1     preferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            1   15     2  oldPreferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            3   12     3   propertyNames  [Ljava/lang/String;
            4   11     4               i  I
            6    9     5    propertyName  Ljava/lang/String;
            7    9     6   propertyValue  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2    12      13  Class org.osgi.service.prefs.BackingStoreException
    MethodParameters:
             Name  Flags
      preferences  

  protected org.eclipse.core.runtime.IStatus validateExistence(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/core/runtime/IStatus;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.core.resources.IResource underlyingResource
         0: .line 3796
            aload 1 /* underlyingResource */
            checkcast org.eclipse.core.resources.IProject
            ldc "org.eclipse.jdt.core.javanature"
            invokeinterface org.eclipse.core.resources.IProject.hasNature:(Ljava/lang/String;)Z
            ifne 5
         1: .line 3797
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newDoesNotExistStatus:()Lorg/eclipse/jdt/internal/core/JavaModelStatus;
         2: areturn
         3: .line 3798
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
            pop
         4: .line 3799
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newDoesNotExistStatus:()Lorg/eclipse/jdt/internal/core/JavaModelStatus;
            areturn
         5: .line 3801
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelStatus.VERIFIED_OK:Lorg/eclipse/jdt/core/IJavaModelStatus;
            areturn
        end local 1 // org.eclipse.core.resources.IResource underlyingResource
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    6     1  underlyingResource  Lorg/eclipse/core/resources/IResource;
      Exception table:
        from    to  target  type
           0     2       3  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
                    Name  Flags
      underlyingResource  

  public org.eclipse.jdt.core.IModuleDescription getModuleDescription();
    descriptor: ()Lorg/eclipse/jdt/core/IModuleDescription;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=14, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 3806
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaProjectElementInfo
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.core.JavaProjectElementInfo info
         1: .line 3807
            aload 1 /* info */
            invokevirtual org.eclipse.jdt.internal.core.JavaProjectElementInfo.getModule:()Lorg/eclipse/jdt/core/IModuleDescription;
            astore 2 /* module */
        start local 2 // org.eclipse.jdt.core.IModuleDescription module
         2: .line 3808
            aload 2 /* module */
            ifnull 4
         3: .line 3809
            aload 2 /* module */
            areturn
         4: .line 3810
      StackMap locals: org.eclipse.jdt.internal.core.JavaProjectElementInfo org.eclipse.jdt.core.IModuleDescription
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 22
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.JavaProjectElementInfo org.eclipse.jdt.core.IModuleDescription top int int org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
         5: aload 6
            iload 4
            aaload
            astore 3 /* entry */
        start local 3 // org.eclipse.jdt.core.IClasspathEntry entry
         6: .line 3811
            aload 0 /* this */
            aload 3 /* entry */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPatchedModules:(Lorg/eclipse/jdt/core/IClasspathEntry;)Ljava/util/List;
            astore 7 /* patchedModules */
        start local 7 // java.util.List patchedModules
         7: .line 3812
            aload 7 /* patchedModules */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 21
         8: .line 3813
            aload 7 /* patchedModules */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* mainModule */
        start local 8 // java.lang.String mainModule
         9: .line 3814
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 1 - 5
                    1: 14
                    2: 10
                    3: 21
                    4: 21
                    5: 14
              default: 21
          }
        10: .line 3816
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.JavaProjectElementInfo org.eclipse.jdt.core.IModuleDescription org.eclipse.jdt.core.IClasspathEntry int int org.eclipse.jdt.core.IClasspathEntry[] java.util.List java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getJavaModel:()Lorg/eclipse/jdt/core/IJavaModel;
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            invokeinterface org.eclipse.jdt.core.IJavaModel.getJavaProject:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 9 /* referencedProject */
        start local 9 // org.eclipse.jdt.core.IJavaProject referencedProject
        11: .line 3817
            aload 9 /* referencedProject */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getModuleDescription:()Lorg/eclipse/jdt/core/IModuleDescription;
            astore 2 /* module */
        12: .line 3818
            aload 2 /* module */
            ifnull 21
            aload 2 /* module */
            invokeinterface org.eclipse.jdt.core.IModuleDescription.getElementName:()Ljava/lang/String;
            aload 8 /* mainModule */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        13: .line 3819
            aload 2 /* module */
            areturn
        end local 9 // org.eclipse.jdt.core.IJavaProject referencedProject
        14: .line 3823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* entry */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.findPackageFragmentRoots:(Lorg/eclipse/jdt/core/IClasspathEntry;)[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 20
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.JavaProjectElementInfo org.eclipse.jdt.core.IModuleDescription org.eclipse.jdt.core.IClasspathEntry int int org.eclipse.jdt.core.IClasspathEntry[] java.util.List java.lang.String top top int int org.eclipse.jdt.core.IPackageFragmentRoot[]
      StackMap stack:
        15: aload 13
            iload 11
            aaload
            astore 10 /* root */
        start local 10 // org.eclipse.jdt.core.IPackageFragmentRoot root
        16: .line 3824
            aload 10 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getModuleDescription:()Lorg/eclipse/jdt/core/IModuleDescription;
            astore 2 /* module */
        17: .line 3825
            aload 2 /* module */
            ifnull 19
            aload 2 /* module */
            invokeinterface org.eclipse.jdt.core.IModuleDescription.getElementName:()Ljava/lang/String;
            aload 8 /* mainModule */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 3826
            aload 2 /* module */
            areturn
        end local 10 // org.eclipse.jdt.core.IPackageFragmentRoot root
        19: .line 3823
      StackMap locals:
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
        20: iload 11
            iload 12
            if_icmplt 15
        end local 8 // java.lang.String mainModule
        end local 7 // java.util.List patchedModules
        end local 3 // org.eclipse.jdt.core.IClasspathEntry entry
        21: .line 3810
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.JavaProjectElementInfo org.eclipse.jdt.core.IModuleDescription top int int org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        22: iload 4
            iload 5
            if_icmplt 5
        23: .line 3831
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.core.IModuleDescription module
        end local 1 // org.eclipse.jdt.internal.core.JavaProjectElementInfo info
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   24     0               this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1   24     1               info  Lorg/eclipse/jdt/internal/core/JavaProjectElementInfo;
            2   24     2             module  Lorg/eclipse/jdt/core/IModuleDescription;
            6   21     3              entry  Lorg/eclipse/jdt/core/IClasspathEntry;
            7   21     7     patchedModules  Ljava/util/List<Ljava/lang/String;>;
            9   21     8         mainModule  Ljava/lang/String;
           11   14     9  referencedProject  Lorg/eclipse/jdt/core/IJavaProject;
           16   19    10               root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.IModuleDescription getOwnModuleDescription();
    descriptor: ()Lorg/eclipse/jdt/core/IModuleDescription;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 3836
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaProjectElementInfo
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.core.JavaProjectElementInfo info
         1: .line 3837
            aload 1 /* info */
            invokevirtual org.eclipse.jdt.internal.core.JavaProjectElementInfo.getModule:()Lorg/eclipse/jdt/core/IModuleDescription;
            areturn
        end local 1 // org.eclipse.jdt.internal.core.JavaProjectElementInfo info
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1    2     1  info  Lorg/eclipse/jdt/internal/core/JavaProjectElementInfo;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.util.List<java.lang.String> getPatchedModules(org.eclipse.jdt.core.IClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=15, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry cpEntry
         0: .line 3841
            aload 1 /* cpEntry */
            ldc "patch-module"
            invokestatic org.eclipse.jdt.internal.core.ClasspathEntry.getExtraAttribute:(Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* patchModules */
        start local 2 // java.lang.String patchModules
         1: .line 3842
            aload 2 /* patchModules */
            ifnull 22
         2: .line 3843
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.List result
         3: .line 3844
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 4 /* prjPath */
        start local 4 // org.eclipse.core.runtime.IPath prjPath
         4: .line 3845
            aload 2 /* patchModules */
            ldc "::"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 20
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry java.lang.String java.util.List org.eclipse.core.runtime.IPath top int int java.lang.String[]
      StackMap stack:
         5: aload 8
            iload 6
            aaload
            astore 5 /* patchModule */
        start local 5 // java.lang.String patchModule
         6: .line 3846
            aload 5 /* patchModule */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 9 /* equalsIdx */
        start local 9 // int equalsIdx
         7: .line 3847
            iload 9 /* equalsIdx */
            iconst_m1
            if_icmpeq 18
         8: .line 3848
            iload 9 /* equalsIdx */
            aload 5 /* patchModule */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpge 19
         9: .line 3849
            aload 5 /* patchModule */
            iload 9 /* equalsIdx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 10 /* locations */
        start local 10 // java.lang.String locations
        10: .line 3850
            aload 10 /* locations */
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 16
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry java.lang.String java.util.List org.eclipse.core.runtime.IPath java.lang.String int int java.lang.String[] int java.lang.String top int int java.lang.String[]
      StackMap stack:
        11: aload 14
            iload 12
            aaload
            astore 11 /* location */
        start local 11 // java.lang.String location
        12: .line 3851
            aload 4 /* prjPath */
            new org.eclipse.core.runtime.Path
            dup
            aload 11 /* location */
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokeinterface org.eclipse.core.runtime.IPath.isPrefixOf:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 15
        13: .line 3852
            aload 3 /* result */
            aload 5 /* patchModule */
            iconst_0
            iload 9 /* equalsIdx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 3853
            goto 19
        end local 11 // java.lang.String location
        15: .line 3850
      StackMap locals:
      StackMap stack:
            iinc 12 1
      StackMap locals:
      StackMap stack:
        16: iload 12
            iload 13
            if_icmplt 11
        end local 10 // java.lang.String locations
        17: .line 3857
            goto 19
        18: .line 3858
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry java.lang.String java.util.List org.eclipse.core.runtime.IPath java.lang.String int int java.lang.String[] int
      StackMap stack:
            aload 3 /* result */
            aload 5 /* patchModule */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // int equalsIdx
        end local 5 // java.lang.String patchModule
        19: .line 3845
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry java.lang.String java.util.List org.eclipse.core.runtime.IPath top int int java.lang.String[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        20: iload 6
            iload 7
            if_icmplt 5
        21: .line 3861
            aload 3 /* result */
            areturn
        end local 4 // org.eclipse.core.runtime.IPath prjPath
        end local 3 // java.util.List result
        22: .line 3863
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry java.lang.String
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 2 // java.lang.String patchModules
        end local 1 // org.eclipse.jdt.core.IClasspathEntry cpEntry
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   23     1       cpEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            1   23     2  patchModules  Ljava/lang/String;
            3   22     3        result  Ljava/util/List<Ljava/lang/String;>;
            4   22     4       prjPath  Lorg/eclipse/core/runtime/IPath;
            6   19     5   patchModule  Ljava/lang/String;
            7   19     9     equalsIdx  I
           10   17    10     locations  Ljava/lang/String;
           12   15    11      location  Ljava/lang/String;
    Signature: (Lorg/eclipse/jdt/core/IClasspathEntry;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
         Name  Flags
      cpEntry  

  public org.eclipse.jdt.core.IModuleDescription getAutomaticModuleDescription();
    descriptor: ()Lorg/eclipse/jdt/core/IModuleDescription;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 3867
            iconst_1
            istore 1 /* nameFromManifest */
        start local 1 // boolean nameFromManifest
         1: .line 3868
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getManifest:()Ljava/util/jar/Manifest;
            invokestatic org.eclipse.jdt.internal.compiler.env.AutomaticModuleNaming.determineAutomaticModuleNameFromManifest:(Ljava/util/jar/Manifest;)[C
            astore 2 /* moduleName */
        start local 2 // char[] moduleName
         2: .line 3869
            aload 2 /* moduleName */
            ifnonnull 5
         3: .line 3870
            iconst_0
            istore 1 /* nameFromManifest */
         4: .line 3871
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getElementName:()Ljava/lang/String;
            iconst_1
            iconst_0
            invokestatic org.eclipse.jdt.internal.compiler.env.AutomaticModuleNaming.determineAutomaticModuleNameFromFileName:(Ljava/lang/String;ZZ)[C
            astore 2 /* moduleName */
         5: .line 3873
      StackMap locals: int char[]
      StackMap stack:
            new org.eclipse.jdt.internal.core.AbstractModule$AutoModule
            dup
            aload 0 /* this */
            aload 2 /* moduleName */
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            iload 1 /* nameFromManifest */
            invokespecial org.eclipse.jdt.internal.core.AbstractModule$AutoModule.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/lang/String;Z)V
            areturn
        end local 2 // char[] moduleName
        end local 1 // boolean nameFromManifest
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1    6     1  nameFromManifest  Z
            2    6     2        moduleName  [C
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public void setModuleDescription(org.eclipse.jdt.core.IModuleDescription);
    descriptor: (Lorg/eclipse/jdt/core/IModuleDescription;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
        start local 1 // org.eclipse.jdt.core.IModuleDescription module
         0: .line 3877
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaProjectElementInfo
            astore 2 /* info */
        start local 2 // org.eclipse.jdt.internal.core.JavaProjectElementInfo info
         1: .line 3878
            aload 2 /* info */
            invokevirtual org.eclipse.jdt.internal.core.JavaProjectElementInfo.getModule:()Lorg/eclipse/jdt/core/IModuleDescription;
            astore 3 /* current */
        start local 3 // org.eclipse.jdt.core.IModuleDescription current
         2: .line 3879
            aload 3 /* current */
            ifnull 9
         3: .line 3880
            aload 3 /* current */
            iconst_3
            invokeinterface org.eclipse.jdt.core.IModuleDescription.getAncestor:(I)Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IPackageFragmentRoot
            astore 4 /* root */
        start local 4 // org.eclipse.jdt.core.IPackageFragmentRoot root
         4: .line 3881
            aload 1 /* module */
            iconst_3
            invokeinterface org.eclipse.jdt.core.IModuleDescription.getAncestor:(I)Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IPackageFragmentRoot
            astore 5 /* newRoot */
        start local 5 // org.eclipse.jdt.core.IPackageFragmentRoot newRoot
         5: .line 3882
            aload 4 /* root */
            aload 5 /* newRoot */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 9
         6: .line 3883
            new org.eclipse.jdt.core.JavaModelException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            ldc "org.eclipse.jdt.core"
         7: .line 3884
            getstatic org.eclipse.jdt.internal.core.util.Messages.classpath_duplicateEntryPath:Ljava/lang/String;
            ldc "module-info.java"
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getElementName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;Ljava/lang/String;)V
         8: .line 3883
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 5 // org.eclipse.jdt.core.IPackageFragmentRoot newRoot
        end local 4 // org.eclipse.jdt.core.IPackageFragmentRoot root
         9: .line 3886
      StackMap locals: org.eclipse.jdt.internal.core.JavaProjectElementInfo org.eclipse.jdt.core.IModuleDescription
      StackMap stack:
            aload 2 /* info */
            aload 1 /* module */
            invokevirtual org.eclipse.jdt.internal.core.JavaProjectElementInfo.setModule:(Lorg/eclipse/jdt/core/IModuleDescription;)V
        10: .line 3887
            return
        end local 3 // org.eclipse.jdt.core.IModuleDescription current
        end local 2 // org.eclipse.jdt.internal.core.JavaProjectElementInfo info
        end local 1 // org.eclipse.jdt.core.IModuleDescription module
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   11     1   module  Lorg/eclipse/jdt/core/IModuleDescription;
            1   11     2     info  Lorg/eclipse/jdt/internal/core/JavaProjectElementInfo;
            2   11     3  current  Lorg/eclipse/jdt/core/IModuleDescription;
            4    9     4     root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            5    9     5  newRoot  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
        Name  Flags
      module  

  private boolean isUnNamedModule();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 3890
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaProjectElementInfo
            astore 1 /* info */
        start local 1 // org.eclipse.jdt.internal.core.JavaProjectElementInfo info
         1: .line 3891
            aload 1 /* info */
            invokevirtual org.eclipse.jdt.internal.core.JavaProjectElementInfo.getModule:()Lorg/eclipse/jdt/core/IModuleDescription;
            astore 2 /* module */
        start local 2 // org.eclipse.jdt.core.IModuleDescription module
         2: .line 3892
            aload 2 /* module */
            ifnull 4
         3: .line 3893
            iconst_0
            ireturn
         4: .line 3894
      StackMap locals: org.eclipse.jdt.internal.core.JavaProjectElementInfo org.eclipse.jdt.core.IModuleDescription
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.internal.core.JavaProjectElementInfo org.eclipse.jdt.core.IModuleDescription top int int org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
         5: aload 6
            iload 4
            aaload
            astore 3 /* entry */
        start local 3 // org.eclipse.jdt.core.IClasspathEntry entry
         6: .line 3895
            aload 0 /* this */
            aload 3 /* entry */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPatchedModules:(Lorg/eclipse/jdt/core/IClasspathEntry;)Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 8
         7: .line 3896
            iconst_0
            ireturn
        end local 3 // org.eclipse.jdt.core.IClasspathEntry entry
         8: .line 3894
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 5
        10: .line 3898
            iconst_1
            ireturn
        end local 2 // org.eclipse.jdt.core.IModuleDescription module
        end local 1 // org.eclipse.jdt.internal.core.JavaProjectElementInfo info
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1   11     1    info  Lorg/eclipse/jdt/internal/core/JavaProjectElementInfo;
            2   11     2  module  Lorg/eclipse/jdt/core/IModuleDescription;
            6    8     3   entry  Lorg/eclipse/jdt/core/IClasspathEntry;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.util.jar.Manifest getManifest();
    descriptor: ()Ljava/util/jar/Manifest;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 3902
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            new org.eclipse.core.runtime.Path
            dup
            ldc "META-INF/MANIFEST.MF"
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokeinterface org.eclipse.core.resources.IProject.getFile:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IFile;
            astore 1 /* file */
        start local 1 // org.eclipse.core.resources.IFile file
         1: .line 3903
            aload 1 /* file */
            invokeinterface org.eclipse.core.resources.IFile.exists:()Z
            ifeq 14
         2: .line 3904
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: aload 1 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getContents:()Ljava/io/InputStream;
            astore 4 /* contents */
        start local 4 // java.io.InputStream contents
         4: .line 3905
            new java.util.jar.Manifest
            dup
            aload 4 /* contents */
            invokespecial java.util.jar.Manifest.<init>:(Ljava/io/InputStream;)V
         5: .line 3906
            aload 4 /* contents */
            ifnull 6
            aload 4 /* contents */
            invokevirtual java.io.InputStream.close:()V
         6: .line 3905
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.resources.IFile java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.util.jar.Manifest
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 2
         8: .line 3906
            aload 4 /* contents */
            ifnull 9
            aload 4 /* contents */
            invokevirtual java.io.InputStream.close:()V
        end local 4 // java.io.InputStream contents
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 2
            ifnonnull 11
            aload 3
            astore 2
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 2
            aload 3
            if_acmpeq 12
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 2
            athrow
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.resources.IFile
      StackMap stack: java.lang.Exception
        13: pop
        14: .line 3910
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.eclipse.core.resources.IFile file
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/eclipse/jdt/internal/core/JavaProject;
            1   15     1      file  Lorg/eclipse/core/resources/IFile;
            4    9     4  contents  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           4     5       7  any
           3     6      10  any
           7    10      10  any
           2     6      13  Class java.io.IOException
           7    13      13  Class java.io.IOException
           2     6      13  Class org.eclipse.core.runtime.CoreException
           7    13      13  Class org.eclipse.core.runtime.CoreException

  public java.util.Set<java.lang.String> determineModulesOfProjectsWithNonEmptyClasspath();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaProject this
         0: .line 3915
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getExpandedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            invokestatic org.eclipse.jdt.internal.core.ModuleUpdater.determineModulesOfProjectsWithNonEmptyClasspath:(Lorg/eclipse/jdt/internal/core/JavaProject;[Lorg/eclipse/jdt/core/IClasspathEntry;)Ljava/util/Set;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaProject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaProject;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  private static org.eclipse.jdt.internal.compiler.env.IModule lambda$1(org.eclipse.jdt.core.IPackageFragmentRoot);
    descriptor: (Lorg/eclipse/jdt/core/IPackageFragmentRoot;)Lorg/eclipse/jdt/internal/compiler/env/IModule;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.IPackageFragmentRoot r
         0: .line 800
            aload 0 /* r */
            instanceof org.eclipse.jdt.internal.core.JrtPackageFragmentRoot
            ifeq 1
            aload 0 /* r */
            checkcast org.eclipse.jdt.internal.core.JrtPackageFragmentRoot
            invokevirtual org.eclipse.jdt.internal.core.JrtPackageFragmentRoot.getModule:()Lorg/eclipse/jdt/internal/compiler/env/IModule;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.env.IModule
         2: areturn
        end local 0 // org.eclipse.jdt.core.IPackageFragmentRoot r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     r  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
}
SourceFile: "JavaProject.java"
NestMembers:
  org.eclipse.jdt.internal.core.JavaProject$1  org.eclipse.jdt.internal.core.JavaProject$2  org.eclipse.jdt.internal.core.JavaProject$3  org.eclipse.jdt.internal.core.JavaProject$4  org.eclipse.jdt.internal.core.JavaProject$ClasspathResolutionBreakpointListener  org.eclipse.jdt.internal.core.JavaProject$CycleInfo  org.eclipse.jdt.internal.core.JavaProject$JImageModuleFragmentBridge  org.eclipse.jdt.internal.core.JavaProject$ModuleLookup  org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public abstract INodeChangeListener = org.eclipse.core.runtime.preferences.IEclipsePreferences$INodeChangeListener of org.eclipse.core.runtime.preferences.IEclipsePreferences
  public abstract IPreferenceChangeListener = org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener of org.eclipse.core.runtime.preferences.IEclipsePreferences
  public abstract IPackageExport = org.eclipse.jdt.internal.compiler.env.IModule$IPackageExport of org.eclipse.jdt.internal.compiler.env.IModule
  public abstract JrtFileVisitor = org.eclipse.jdt.internal.compiler.util.JRTUtil$JrtFileVisitor of org.eclipse.jdt.internal.compiler.util.JRTUtil
  public AutoModule = org.eclipse.jdt.internal.core.AbstractModule$AutoModule of org.eclipse.jdt.internal.core.AbstractModule
  public AssertionFailedException = org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException of org.eclipse.jdt.internal.core.ClasspathEntry
  public PerProjectInfo = org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo of org.eclipse.jdt.internal.core.JavaModelManager
  org.eclipse.jdt.internal.core.JavaProject$1
  org.eclipse.jdt.internal.core.JavaProject$2
  org.eclipse.jdt.internal.core.JavaProject$3
  org.eclipse.jdt.internal.core.JavaProject$4
  public ClasspathResolutionBreakpointListener = org.eclipse.jdt.internal.core.JavaProject$ClasspathResolutionBreakpointListener of org.eclipse.jdt.internal.core.JavaProject
  CycleInfo = org.eclipse.jdt.internal.core.JavaProject$CycleInfo of org.eclipse.jdt.internal.core.JavaProject
  JImageModuleFragmentBridge = org.eclipse.jdt.internal.core.JavaProject$JImageModuleFragmentBridge of org.eclipse.jdt.internal.core.JavaProject
  private ModuleLookup = org.eclipse.jdt.internal.core.JavaProject$ModuleLookup of org.eclipse.jdt.internal.core.JavaProject
  ResolvedClasspath = org.eclipse.jdt.internal.core.JavaProject$ResolvedClasspath of org.eclipse.jdt.internal.core.JavaProject
  ProjectCache = org.eclipse.jdt.internal.core.JavaProjectElementInfo$ProjectCache of org.eclipse.jdt.internal.core.JavaProjectElementInfo
  public Answer = org.eclipse.jdt.internal.core.NameLookup$Answer of org.eclipse.jdt.internal.core.NameLookup