public class org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
  super_class: java.lang.Object
{
  private static final int JAVADOC_CACHE_INITIAL_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  static final org.eclipse.jdt.core.IJavaModelStatus NEED_RESOLUTION;
    descriptor: Lorg/eclipse/jdt/core/IJavaModelStatus;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  public org.eclipse.core.resources.IProject project;
    descriptor: Lorg/eclipse/core/resources/IProject;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.Object savedState;
    descriptor: Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC

  public boolean triedRead;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.core.IClasspathEntry[] rawClasspath;
    descriptor: [Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.core.IClasspathEntry[] referencedEntries;
    descriptor: [Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.core.IJavaModelStatus rawClasspathStatus;
    descriptor: Lorg/eclipse/jdt/core/IJavaModelStatus;
    flags: (0x0001) ACC_PUBLIC

  public int rawTimeStamp;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public boolean writtingRawClasspath;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.core.IClasspathEntry[] resolvedClasspath;
    descriptor: [Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.core.IJavaModelStatus unresolvedEntryStatus;
    descriptor: Lorg/eclipse/jdt/core/IJavaModelStatus;
    flags: (0x0001) ACC_PUBLIC

  public java.util.Map<org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathEntry> rootPathToRawEntries;
    descriptor: Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathEntry;>;

  public java.util.Map<org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathEntry> rootPathToResolvedEntries;
    descriptor: Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathEntry;>;

  public org.eclipse.core.runtime.IPath outputLocation;
    descriptor: Lorg/eclipse/core/runtime/IPath;
    flags: (0x0001) ACC_PUBLIC

  public java.util.Map<org.eclipse.core.runtime.IPath, org.eclipse.jdt.internal.compiler.util.ObjectVector> jrtRoots;
    descriptor: Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;>;

  public org.eclipse.core.runtime.preferences.IEclipsePreferences preferences;
    descriptor: Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0001) ACC_PUBLIC

  public java.util.Hashtable<java.lang.String, java.lang.String> options;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;

  public java.util.Hashtable<java.lang.String, java.util.Map<java.lang.String, org.eclipse.jdt.core.IType>> secondaryTypes;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;

  volatile java.util.Map<org.eclipse.core.resources.IFile, java.util.Map<java.lang.String, java.util.Map<java.lang.String, org.eclipse.jdt.core.IType>>> indexingSecondaryCache;
    descriptor: Ljava/util/Map;
    flags: (0x0040) ACC_VOLATILE
    Signature: Ljava/util/Map<Lorg/eclipse/core/resources/IFile;Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;

  public org.eclipse.jdt.internal.core.util.LRUCache<org.eclipse.jdt.core.IJavaElement, java.lang.Object> javadocCache;
    descriptor: Lorg/eclipse/jdt/internal/core/util/LRUCache;
    flags: (0x0001) ACC_PUBLIC
    Signature: Lorg/eclipse/jdt/internal/core/util/LRUCache<Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 1262
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:()V
            putstatic org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.NEED_RESOLUTION:Lorg/eclipse/jdt/core/IJavaModelStatus;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.eclipse.core.resources.IProject);
    descriptor: (Lorg/eclipse/core/resources/IProject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
        start local 1 // org.eclipse.core.resources.IProject project
         0: .line 1292
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1270
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawTimeStamp:I
         2: .line 1271
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.writtingRawClasspath:Z
         3: .line 1294
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.triedRead:Z
         4: .line 1295
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.savedState:Ljava/lang/Object;
         5: .line 1296
            aload 0 /* this */
            aload 1 /* project */
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.project:Lorg/eclipse/core/resources/IProject;
         6: .line 1297
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.util.LRUCache
            dup
            bipush 10
            invokespecial org.eclipse.jdt.internal.core.util.LRUCache.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.javadocCache:Lorg/eclipse/jdt/internal/core/util/LRUCache;
         7: .line 1298
            return
        end local 1 // org.eclipse.core.resources.IProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            0    8     1  project  Lorg/eclipse/core/resources/IProject;
    MethodParameters:
         Name  Flags
      project  

  public synchronized org.eclipse.jdt.core.IClasspathEntry[] getResolvedClasspath();
    descriptor: ()[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
         0: .line 1301
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.unresolvedEntryStatus:Lorg/eclipse/jdt/core/IJavaModelStatus;
            getstatic org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.NEED_RESOLUTION:Lorg/eclipse/jdt/core/IJavaModelStatus;
            if_acmpne 2
         1: .line 1302
            aconst_null
            areturn
         2: .line 1303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.resolvedClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;

  public void forgetExternalTimestampsAndIndexes();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=10, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
         0: .line 1307
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.resolvedClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 1 /* classpath */
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] classpath
         1: .line 1308
            aload 1 /* classpath */
            ifnonnull 2
            return
         2: .line 1309
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 2 /* manager */
        start local 2 // org.eclipse.jdt.internal.core.JavaModelManager manager
         3: .line 1310
            aload 2 /* manager */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.indexManager:Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            astore 3 /* indexManager */
        start local 3 // org.eclipse.jdt.internal.core.search.indexing.IndexManager indexManager
         4: .line 1311
            aload 2 /* manager */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deltaState:Lorg/eclipse/jdt/internal/core/DeltaProcessingState;
            invokevirtual org.eclipse.jdt.internal.core.DeltaProcessingState.getExternalLibTimeStamps:()Ljava/util/Hashtable;
            astore 4 /* externalTimeStamps */
        start local 4 // java.util.Hashtable externalTimeStamps
         5: .line 1312
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getDeltaState:()Lorg/eclipse/jdt/internal/core/DeltaProcessingState;
            getfield org.eclipse.jdt.internal.core.DeltaProcessingState.otherRoots:Ljava/util/Map;
            astore 5 /* rootInfos */
        start local 5 // java.util.Map rootInfos
         6: .line 1313
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: aload 1 /* classpath */
            arraylength
            istore 7 /* length */
        start local 7 // int length
         8: goto 16
         9: .line 1314
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.internal.core.search.indexing.IndexManager java.util.Hashtable java.util.Map int int
      StackMap stack:
            aload 1 /* classpath */
            iload 6 /* i */
            aaload
            astore 8 /* entry */
        start local 8 // org.eclipse.jdt.core.IClasspathEntry entry
        10: .line 1315
            aload 8 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_1
            if_icmpne 15
        11: .line 1316
            aload 8 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 9 /* path */
        start local 9 // org.eclipse.core.runtime.IPath path
        12: .line 1317
            aload 5 /* rootInfos */
            aload 9 /* path */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 15
        13: .line 1318
            aload 4 /* externalTimeStamps */
            aload 9 /* path */
            invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 1319
            aload 3 /* indexManager */
            aload 9 /* path */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.removeIndex:(Lorg/eclipse/core/runtime/IPath;)V
        end local 9 // org.eclipse.core.runtime.IPath path
        end local 8 // org.eclipse.jdt.core.IClasspathEntry entry
        15: .line 1313
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* i */
            iload 7 /* length */
            if_icmplt 9
        end local 7 // int length
        end local 6 // int i
        17: .line 1323
            return
        end local 5 // java.util.Map rootInfos
        end local 4 // java.util.Hashtable externalTimeStamps
        end local 3 // org.eclipse.jdt.internal.core.search.indexing.IndexManager indexManager
        end local 2 // org.eclipse.jdt.internal.core.JavaModelManager manager
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   18     0                this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            1   18     1           classpath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            3   18     2             manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            4   18     3        indexManager  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            5   18     4  externalTimeStamps  Ljava/util/Hashtable<Lorg/eclipse/core/runtime/IPath;Ljava/lang/Long;>;
            6   18     5           rootInfos  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Ljava/util/List<Lorg/eclipse/jdt/internal/core/DeltaProcessor$RootInfo;>;>;
            7   17     6                   i  I
            8   17     7              length  I
           10   15     8               entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           12   15     9                path  Lorg/eclipse/core/runtime/IPath;

  public void rememberExternalLibTimestamps();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
         0: .line 1326
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.resolvedClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 1 /* classpath */
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] classpath
         1: .line 1327
            aload 1 /* classpath */
            ifnonnull 2
            return
         2: .line 1328
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deltaState:Lorg/eclipse/jdt/internal/core/DeltaProcessingState;
            invokevirtual org.eclipse.jdt.internal.core.DeltaProcessingState.getExternalLibTimeStamps:()Ljava/util/Hashtable;
            astore 2 /* externalTimeStamps */
        start local 2 // java.util.Map externalTimeStamps
         3: .line 1329
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: aload 1 /* classpath */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         5: goto 15
         6: .line 1330
      StackMap locals: java.util.Map int int
      StackMap stack:
            aload 1 /* classpath */
            iload 3 /* i */
            aaload
            astore 5 /* entry */
        start local 5 // org.eclipse.jdt.core.IClasspathEntry entry
         7: .line 1331
            aload 5 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_1
            if_icmpne 14
         8: .line 1332
            aload 5 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 6 /* path */
        start local 6 // org.eclipse.core.runtime.IPath path
         9: .line 1333
            aload 2 /* externalTimeStamps */
            aload 6 /* path */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 14
        10: .line 1334
            aload 6 /* path */
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getExternalTarget:(Lorg/eclipse/core/runtime/IPath;Z)Ljava/lang/Object;
            astore 7 /* target */
        start local 7 // java.lang.Object target
        11: .line 1335
            aload 7 /* target */
            instanceof java.io.File
            ifeq 14
        12: .line 1336
            aload 7 /* target */
            checkcast java.io.File
            invokestatic org.eclipse.jdt.internal.core.DeltaProcessor.getTimeStamp:(Ljava/io/File;)J
            lstore 8 /* timestamp */
        start local 8 // long timestamp
        13: .line 1337
            aload 2 /* externalTimeStamps */
            aload 6 /* path */
            lload 8 /* timestamp */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // long timestamp
        end local 7 // java.lang.Object target
        end local 6 // org.eclipse.core.runtime.IPath path
        end local 5 // org.eclipse.jdt.core.IClasspathEntry entry
        14: .line 1329
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 6
        end local 4 // int length
        end local 3 // int i
        16: .line 1342
            return
        end local 2 // java.util.Map externalTimeStamps
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0                this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            1   17     1           classpath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            3   17     2  externalTimeStamps  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Ljava/lang/Long;>;
            4   16     3                   i  I
            5   16     4              length  I
            7   14     5               entry  Lorg/eclipse/jdt/core/IClasspathEntry;
            9   14     6                path  Lorg/eclipse/core/runtime/IPath;
           11   14     7              target  Ljava/lang/Object;
           13   14     8           timestamp  J

  public synchronized org.eclipse.jdt.internal.core.ClasspathChange resetResolvedClasspath();
    descriptor: ()Lorg/eclipse/jdt/internal/core/ClasspathChange;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
         0: .line 1346
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.resetClasspathListCache:()V
         1: .line 1349
            aload 0 /* this */
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawTimeStamp:I
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.setResolvedClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/util/Map;Ljava/util/Map;Lorg/eclipse/jdt/core/IJavaModelStatus;IZ)Lorg/eclipse/jdt/internal/core/ClasspathChange;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;

  private org.eclipse.jdt.internal.core.ClasspathChange setClasspath(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaModelStatus, org.eclipse.jdt.core.IClasspathEntry[], java.util.Map<org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathEntry>, java.util.Map<org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathEntry>, org.eclipse.jdt.core.IJavaModelStatus, boolean);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaModelStatus;[Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/util/Map;Ljava/util/Map;Lorg/eclipse/jdt/core/IJavaModelStatus;Z)Lorg/eclipse/jdt/internal/core/ClasspathChange;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=14, args_size=10
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo 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 // org.eclipse.jdt.core.IJavaModelStatus newRawClasspathStatus
        start local 5 // org.eclipse.jdt.core.IClasspathEntry[] newResolvedClasspath
        start local 6 // java.util.Map newRootPathToRawEntries
        start local 7 // java.util.Map newRootPathToResolvedEntries
        start local 8 // org.eclipse.jdt.core.IJavaModelStatus newUnresolvedEntryStatus
        start local 9 // boolean addClasspathChange
         0: .line 1353
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.DEBUG_CLASSPATH:Z
            ifeq 10
         1: .line 1354
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Setting resolved classpath for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.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;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 1355
            aload 5 /* newResolvedClasspath */
            ifnonnull 5
         3: .line 1356
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "New classpath = null"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 1357
            goto 10
         5: .line 1358
      StackMap locals:
      StackMap stack:
            aload 5 /* newResolvedClasspath */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 9
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IJavaModelStatus org.eclipse.jdt.core.IClasspathEntry[] java.util.Map java.util.Map org.eclipse.jdt.core.IJavaModelStatus int top int int org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
         6: aload 13
            iload 11
            aaload
            astore 10 /* next */
        start local 10 // org.eclipse.jdt.core.IClasspathEntry next
         7: .line 1359
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "    "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* next */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 10 // org.eclipse.jdt.core.IClasspathEntry next
         8: .line 1358
            iinc 11 1
      StackMap locals:
      StackMap stack:
         9: iload 11
            iload 12
            if_icmplt 6
        10: .line 1363
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IJavaModelStatus org.eclipse.jdt.core.IClasspathEntry[] java.util.Map java.util.Map org.eclipse.jdt.core.IJavaModelStatus int
      StackMap stack:
            iload 9 /* addClasspathChange */
            ifeq 11
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.addClasspathChange:()Lorg/eclipse/jdt/internal/core/ClasspathChange;
            goto 12
      StackMap locals:
      StackMap stack:
        11: aconst_null
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.ClasspathChange
        12: astore 10 /* classpathChange */
        start local 10 // org.eclipse.jdt.internal.core.ClasspathChange classpathChange
        13: .line 1365
            aload 2 /* referencedEntries */
            ifnull 14
            aload 0 /* this */
            aload 2 /* referencedEntries */
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.referencedEntries:[Lorg/eclipse/jdt/core/IClasspathEntry;
        14: .line 1366
      StackMap locals: org.eclipse.jdt.internal.core.ClasspathChange
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.referencedEntries:[Lorg/eclipse/jdt/core/IClasspathEntry;
            ifnonnull 15
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.ClasspathEntry.NO_ENTRIES:[Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.referencedEntries:[Lorg/eclipse/jdt/core/IClasspathEntry;
        15: .line 1367
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newRawClasspath */
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
        16: .line 1368
            aload 0 /* this */
            aload 3 /* newOutputLocation */
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.outputLocation:Lorg/eclipse/core/runtime/IPath;
        17: .line 1369
            aload 0 /* this */
            aload 4 /* newRawClasspathStatus */
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawClasspathStatus:Lorg/eclipse/jdt/core/IJavaModelStatus;
        18: .line 1370
            aload 0 /* this */
            aload 5 /* newResolvedClasspath */
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.resolvedClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
        19: .line 1371
            aload 0 /* this */
            aload 6 /* newRootPathToRawEntries */
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rootPathToRawEntries:Ljava/util/Map;
        20: .line 1372
            aload 0 /* this */
            aload 7 /* newRootPathToResolvedEntries */
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rootPathToResolvedEntries:Ljava/util/Map;
        21: .line 1373
            aload 0 /* this */
            aload 8 /* newUnresolvedEntryStatus */
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.unresolvedEntryStatus:Lorg/eclipse/jdt/core/IJavaModelStatus;
        22: .line 1374
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.util.LRUCache
            dup
            bipush 10
            invokespecial org.eclipse.jdt.internal.core.util.LRUCache.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.javadocCache:Lorg/eclipse/jdt/internal/core/util/LRUCache;
        23: .line 1376
            aload 10 /* classpathChange */
            areturn
        end local 10 // org.eclipse.jdt.internal.core.ClasspathChange classpathChange
        end local 9 // boolean addClasspathChange
        end local 8 // org.eclipse.jdt.core.IJavaModelStatus newUnresolvedEntryStatus
        end local 7 // java.util.Map newRootPathToResolvedEntries
        end local 6 // java.util.Map newRootPathToRawEntries
        end local 5 // org.eclipse.jdt.core.IClasspathEntry[] newResolvedClasspath
        end local 4 // org.eclipse.jdt.core.IJavaModelStatus newRawClasspathStatus
        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.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   24     0                          this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            0   24     1               newRawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   24     2             referencedEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   24     3             newOutputLocation  Lorg/eclipse/core/runtime/IPath;
            0   24     4         newRawClasspathStatus  Lorg/eclipse/jdt/core/IJavaModelStatus;
            0   24     5          newResolvedClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   24     6       newRootPathToRawEntries  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathEntry;>;
            0   24     7  newRootPathToResolvedEntries  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathEntry;>;
            0   24     8      newUnresolvedEntryStatus  Lorg/eclipse/jdt/core/IJavaModelStatus;
            0   24     9            addClasspathChange  Z
            7    8    10                          next  Lorg/eclipse/jdt/core/IClasspathEntry;
           13   24    10               classpathChange  Lorg/eclipse/jdt/internal/core/ClasspathChange;
    Signature: ([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaModelStatus;[Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathEntry;>;Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathEntry;>;Lorg/eclipse/jdt/core/IJavaModelStatus;Z)Lorg/eclipse/jdt/internal/core/ClasspathChange;
    MethodParameters:
                              Name  Flags
      newRawClasspath               
      referencedEntries             
      newOutputLocation             
      newRawClasspathStatus         
      newResolvedClasspath          
      newRootPathToRawEntries       
      newRootPathToResolvedEntries  
      newUnresolvedEntryStatus      
      addClasspathChange            

  protected org.eclipse.jdt.internal.core.ClasspathChange addClasspathChange();
    descriptor: ()Lorg/eclipse/jdt/internal/core/ClasspathChange;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
         0: .line 1381
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 1 /* manager */
        start local 1 // org.eclipse.jdt.internal.core.JavaModelManager manager
         1: .line 1382
            aload 1 /* manager */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deltaState:Lorg/eclipse/jdt/internal/core/DeltaProcessingState;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.project:Lorg/eclipse/core/resources/IProject;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.outputLocation:Lorg/eclipse/core/runtime/IPath;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.resolvedClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
            invokevirtual org.eclipse.jdt.internal.core.DeltaProcessingState.addClasspathChange:(Lorg/eclipse/core/resources/IProject;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathEntry;)Lorg/eclipse/jdt/internal/core/ClasspathChange;
            astore 2 /* classpathChange */
        start local 2 // org.eclipse.jdt.internal.core.ClasspathChange classpathChange
         2: .line 1383
            aload 2 /* classpathChange */
            areturn
        end local 2 // org.eclipse.jdt.internal.core.ClasspathChange classpathChange
        end local 1 // org.eclipse.jdt.internal.core.JavaModelManager manager
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            1    3     1          manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            2    3     2  classpathChange  Lorg/eclipse/jdt/internal/core/ClasspathChange;

  public org.eclipse.jdt.internal.core.ClasspathChange setRawClasspath(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaModelStatus);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaModelStatus;)Lorg/eclipse/jdt/internal/core/ClasspathChange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] newRawClasspath
        start local 2 // org.eclipse.core.runtime.IPath newOutputLocation
        start local 3 // org.eclipse.jdt.core.IJavaModelStatus newRawClasspathStatus
         0: .line 1387
            aload 0 /* this */
            aload 1 /* newRawClasspath */
            aconst_null
            aload 2 /* newOutputLocation */
            aload 3 /* newRawClasspathStatus */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.setRawClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaModelStatus;)Lorg/eclipse/jdt/internal/core/ClasspathChange;
            areturn
        end local 3 // org.eclipse.jdt.core.IJavaModelStatus newRawClasspathStatus
        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.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    1     0                   this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            0    1     1        newRawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    1     2      newOutputLocation  Lorg/eclipse/core/runtime/IPath;
            0    1     3  newRawClasspathStatus  Lorg/eclipse/jdt/core/IJavaModelStatus;
    MethodParameters:
                       Name  Flags
      newRawClasspath        
      newOutputLocation      
      newRawClasspathStatus  

  public synchronized org.eclipse.jdt.internal.core.ClasspathChange setRawClasspath(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaModelStatus);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaModelStatus;)Lorg/eclipse/jdt/internal/core/ClasspathChange;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=10, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo 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 // org.eclipse.jdt.core.IJavaModelStatus newRawClasspathStatus
         0: .line 1391
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawTimeStamp:I
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawTimeStamp:I
         1: .line 1392
            aload 0 /* this */
            aload 1 /* newRawClasspath */
            aload 2 /* referencedEntries */
            aload 3 /* newOutputLocation */
            aload 4 /* newRawClasspathStatus */
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.setClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaModelStatus;[Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/util/Map;Ljava/util/Map;Lorg/eclipse/jdt/core/IJavaModelStatus;Z)Lorg/eclipse/jdt/internal/core/ClasspathChange;
            areturn
        end local 4 // org.eclipse.jdt.core.IJavaModelStatus newRawClasspathStatus
        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.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            0    2     1        newRawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    2     2      referencedEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    2     3      newOutputLocation  Lorg/eclipse/core/runtime/IPath;
            0    2     4  newRawClasspathStatus  Lorg/eclipse/jdt/core/IJavaModelStatus;
    MethodParameters:
                       Name  Flags
      newRawClasspath        
      referencedEntries      
      newOutputLocation      
      newRawClasspathStatus  

  public org.eclipse.jdt.internal.core.ClasspathChange setResolvedClasspath(org.eclipse.jdt.core.IClasspathEntry[], java.util.Map<org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathEntry>, java.util.Map<org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathEntry>, org.eclipse.jdt.core.IJavaModelStatus, int, boolean);
    descriptor: ([Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/util/Map;Ljava/util/Map;Lorg/eclipse/jdt/core/IJavaModelStatus;IZ)Lorg/eclipse/jdt/internal/core/ClasspathChange;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] newResolvedClasspath
        start local 2 // java.util.Map newRootPathToRawEntries
        start local 3 // java.util.Map newRootPathToResolvedEntries
        start local 4 // org.eclipse.jdt.core.IJavaModelStatus newUnresolvedEntryStatus
        start local 5 // int timeStamp
        start local 6 // boolean addClasspathChange
         0: .line 1396
            aload 0 /* this */
            aload 1 /* newResolvedClasspath */
            aconst_null
            aload 2 /* newRootPathToRawEntries */
            aload 3 /* newRootPathToResolvedEntries */
            aload 4 /* newUnresolvedEntryStatus */
            iload 5 /* timeStamp */
            iload 6 /* 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;
            areturn
        end local 6 // boolean addClasspathChange
        end local 5 // int timeStamp
        end local 4 // org.eclipse.jdt.core.IJavaModelStatus newUnresolvedEntryStatus
        end local 3 // java.util.Map newRootPathToResolvedEntries
        end local 2 // java.util.Map newRootPathToRawEntries
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] newResolvedClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    1     0                          this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            0    1     1          newResolvedClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    1     2       newRootPathToRawEntries  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathEntry;>;
            0    1     3  newRootPathToResolvedEntries  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathEntry;>;
            0    1     4      newUnresolvedEntryStatus  Lorg/eclipse/jdt/core/IJavaModelStatus;
            0    1     5                     timeStamp  I
            0    1     6            addClasspathChange  Z
    Signature: ([Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathEntry;>;Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathEntry;>;Lorg/eclipse/jdt/core/IJavaModelStatus;IZ)Lorg/eclipse/jdt/internal/core/ClasspathChange;
    MethodParameters:
                              Name  Flags
      newResolvedClasspath          
      newRootPathToRawEntries       
      newRootPathToResolvedEntries  
      newUnresolvedEntryStatus      
      timeStamp                     
      addClasspathChange            

  public synchronized org.eclipse.jdt.internal.core.ClasspathChange setResolvedClasspath(org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.jdt.core.IClasspathEntry[], java.util.Map<org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathEntry>, java.util.Map<org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathEntry>, org.eclipse.jdt.core.IJavaModelStatus, int, boolean);
    descriptor: ([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;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=10, locals=8, args_size=8
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry[] newResolvedClasspath
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] referencedEntries
        start local 3 // java.util.Map newRootPathToRawEntries
        start local 4 // java.util.Map newRootPathToResolvedEntries
        start local 5 // org.eclipse.jdt.core.IJavaModelStatus newUnresolvedEntryStatus
        start local 6 // int timeStamp
        start local 7 // boolean addClasspathChange
         0: .line 1400
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawTimeStamp:I
            iload 6 /* timeStamp */
            if_icmpeq 2
         1: .line 1401
            aconst_null
            areturn
         2: .line 1402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
            aload 2 /* referencedEntries */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.outputLocation:Lorg/eclipse/core/runtime/IPath;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawClasspathStatus:Lorg/eclipse/jdt/core/IJavaModelStatus;
            aload 1 /* newResolvedClasspath */
            aload 3 /* newRootPathToRawEntries */
            aload 4 /* newRootPathToResolvedEntries */
            aload 5 /* newUnresolvedEntryStatus */
            iload 7 /* addClasspathChange */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.setClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaModelStatus;[Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/util/Map;Ljava/util/Map;Lorg/eclipse/jdt/core/IJavaModelStatus;Z)Lorg/eclipse/jdt/internal/core/ClasspathChange;
            areturn
        end local 7 // boolean addClasspathChange
        end local 6 // int timeStamp
        end local 5 // org.eclipse.jdt.core.IJavaModelStatus newUnresolvedEntryStatus
        end local 4 // java.util.Map newRootPathToResolvedEntries
        end local 3 // java.util.Map newRootPathToRawEntries
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] referencedEntries
        end local 1 // org.eclipse.jdt.core.IClasspathEntry[] newResolvedClasspath
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    3     0                          this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            0    3     1          newResolvedClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    3     2             referencedEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    3     3       newRootPathToRawEntries  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathEntry;>;
            0    3     4  newRootPathToResolvedEntries  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathEntry;>;
            0    3     5      newUnresolvedEntryStatus  Lorg/eclipse/jdt/core/IJavaModelStatus;
            0    3     6                     timeStamp  I
            0    3     7            addClasspathChange  Z
    Signature: ([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathEntry;>;Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathEntry;>;Lorg/eclipse/jdt/core/IJavaModelStatus;IZ)Lorg/eclipse/jdt/internal/core/ClasspathChange;
    MethodParameters:
                              Name  Flags
      newResolvedClasspath          
      referencedEntries             
      newRootPathToRawEntries       
      newRootPathToResolvedEntries  
      newUnresolvedEntryStatus      
      timeStamp                     
      addClasspathChange            

  public synchronized void setJrtPackageRoots(org.eclipse.core.runtime.IPath, org.eclipse.jdt.internal.compiler.util.ObjectVector);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
        start local 1 // org.eclipse.core.runtime.IPath jrtPath
        start local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector roots
         0: .line 1406
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.jrtRoots:Ljava/util/Map;
            ifnonnull 1
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.jrtRoots:Ljava/util/Map;
         1: .line 1407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.jrtRoots:Ljava/util/Map;
            aload 1 /* jrtPath */
            aload 2 /* roots */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1408
            return
        end local 2 // org.eclipse.jdt.internal.compiler.util.ObjectVector roots
        end local 1 // org.eclipse.core.runtime.IPath jrtPath
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            0    3     1  jrtPath  Lorg/eclipse/core/runtime/IPath;
            0    3     2    roots  Lorg/eclipse/jdt/internal/compiler/util/ObjectVector;
    MethodParameters:
         Name  Flags
      jrtPath  
      roots    

  public synchronized org.eclipse.jdt.core.IClasspathEntry[][] readAndCacheClasspath(org.eclipse.jdt.internal.core.JavaProject);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaProject;)[[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=8, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
        start local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
         0: .line 1421
            aload 1 /* javaProject */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.readFileEntriesWithException:(Ljava/util/Map;)[[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* classpath */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[][] classpath
         1: .line 1422
            getstatic org.eclipse.jdt.internal.core.JavaModelStatus.VERIFIED_OK:Lorg/eclipse/jdt/core/IJavaModelStatus;
            astore 3 /* status */
        start local 3 // org.eclipse.jdt.core.IJavaModelStatus status
         2: .line 1423
            goto 33
        end local 3 // org.eclipse.jdt.core.IJavaModelStatus status
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[][] classpath
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
         3: pop
         4: .line 1424
            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
            astore 2 /* classpath */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[][] classpath
         5: .line 1426
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
         6: .line 1427
            sipush 1000
         7: .line 1428
            getstatic org.eclipse.jdt.internal.core.util.Messages.classpath_cannotReadClasspathFile:Ljava/lang/String;
            aload 1 /* javaProject */
            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/String;
         8: .line 1426
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILjava/lang/String;)V
         9: .line 1425
            astore 3 /* status */
        start local 3 // org.eclipse.jdt.core.IJavaModelStatus status
        10: goto 33
        end local 3 // org.eclipse.jdt.core.IJavaModelStatus status
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[][] classpath
        11: .line 1429
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* e */
        start local 4 // java.io.IOException e
        12: .line 1430
            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
            astore 2 /* classpath */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[][] classpath
        13: .line 1431
            getstatic org.eclipse.jdt.internal.core.util.Messages.file_badFormat:Ljava/lang/String;
            aload 4 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        14: .line 1433
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
        15: .line 1434
            sipush 1000
        16: .line 1435
            getstatic org.eclipse.jdt.internal.core.util.Messages.classpath_xmlFormatError:Ljava/lang/String;
            aload 1 /* javaProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getElementName:()Ljava/lang/String;
            getstatic org.eclipse.jdt.internal.core.util.Messages.file_badFormat:Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
        17: .line 1433
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILjava/lang/String;)V
        18: .line 1432
            astore 3 /* status */
        start local 3 // org.eclipse.jdt.core.IJavaModelStatus status
        19: .line 1435
            goto 33
        end local 3 // org.eclipse.jdt.core.IJavaModelStatus status
        20: .line 1438
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry[][] top java.io.IOException
      StackMap stack:
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
        21: .line 1439
            sipush 1000
        22: .line 1440
            getstatic org.eclipse.jdt.internal.core.util.Messages.classpath_cannotReadClasspathFile:Ljava/lang/String;
            aload 1 /* javaProject */
            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/String;
        23: .line 1438
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILjava/lang/String;)V
        24: .line 1437
            astore 3 /* status */
        end local 4 // java.io.IOException e
        start local 3 // org.eclipse.jdt.core.IJavaModelStatus status
        25: goto 33
        end local 3 // org.eclipse.jdt.core.IJavaModelStatus status
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[][] classpath
        26: .line 1441
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo org.eclipse.jdt.internal.core.JavaProject
      StackMap stack: org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException
            astore 4 /* e */
        start local 4 // org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException e
        27: .line 1442
            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
            astore 2 /* classpath */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[][] classpath
        28: .line 1444
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
        29: .line 1445
            sipush 1000
        30: .line 1446
            getstatic org.eclipse.jdt.internal.core.util.Messages.classpath_illegalEntryInClasspathFile:Ljava/lang/String;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* javaProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getElementName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 4 /* e */
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException.getMessage:()Ljava/lang/String;
            aastore
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        31: .line 1444
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILjava/lang/String;)V
        32: .line 1443
            astore 3 /* status */
        end local 4 // org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException e
        start local 3 // org.eclipse.jdt.core.IJavaModelStatus status
        33: .line 1450
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[][] org.eclipse.jdt.core.IJavaModelStatus
      StackMap stack:
            aload 2 /* classpath */
            iconst_0
            aaload
            arraylength
            istore 4 /* rawClasspathLength */
        start local 4 // int rawClasspathLength
        34: .line 1451
            aconst_null
            astore 5 /* output */
        start local 5 // org.eclipse.core.runtime.IPath output
        35: .line 1452
            iload 4 /* rawClasspathLength */
            ifle 42
        36: .line 1453
            aload 2 /* classpath */
            iconst_0
            aaload
            iload 4 /* rawClasspathLength */
            iconst_1
            isub
            aaload
            astore 6 /* entry */
        start local 6 // org.eclipse.jdt.core.IClasspathEntry entry
        37: .line 1454
            aload 6 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getContentKind:()I
            bipush 10
            if_icmpne 42
        38: .line 1455
            aload 6 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 5 /* output */
        39: .line 1456
            iload 4 /* rawClasspathLength */
            iconst_1
            isub
            anewarray org.eclipse.jdt.core.IClasspathEntry
            astore 7 /* copy */
        start local 7 // org.eclipse.jdt.core.IClasspathEntry[] copy
        40: .line 1457
            aload 2 /* classpath */
            iconst_0
            aaload
            iconst_0
            aload 7 /* copy */
            iconst_0
            aload 7 /* copy */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        41: .line 1458
            aload 2 /* classpath */
            iconst_0
            aload 7 /* copy */
            aastore
        end local 7 // org.eclipse.jdt.core.IClasspathEntry[] copy
        end local 6 // org.eclipse.jdt.core.IClasspathEntry entry
        42: .line 1463
      StackMap locals: int org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 0 /* this */
            aload 2 /* classpath */
            iconst_0
            aaload
            aload 2 /* classpath */
            iconst_1
            aaload
            aload 5 /* output */
            aload 3 /* status */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.setRawClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaModelStatus;)Lorg/eclipse/jdt/internal/core/ClasspathChange;
            pop
        43: .line 1465
            aload 2 /* classpath */
            areturn
        end local 5 // org.eclipse.core.runtime.IPath output
        end local 4 // int rawClasspathLength
        end local 3 // org.eclipse.jdt.core.IJavaModelStatus status
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[][] classpath
        end local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   44     0                this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            0   44     1         javaProject  Lorg/eclipse/jdt/internal/core/JavaProject;
            1    3     2           classpath  [[Lorg/eclipse/jdt/core/IClasspathEntry;
            5   11     2           classpath  [[Lorg/eclipse/jdt/core/IClasspathEntry;
           13   26     2           classpath  [[Lorg/eclipse/jdt/core/IClasspathEntry;
           28   44     2           classpath  [[Lorg/eclipse/jdt/core/IClasspathEntry;
            2    3     3              status  Lorg/eclipse/jdt/core/IJavaModelStatus;
           10   11     3              status  Lorg/eclipse/jdt/core/IJavaModelStatus;
           19   20     3              status  Lorg/eclipse/jdt/core/IJavaModelStatus;
           25   26     3              status  Lorg/eclipse/jdt/core/IJavaModelStatus;
           33   44     3              status  Lorg/eclipse/jdt/core/IJavaModelStatus;
           12   25     4                   e  Ljava/io/IOException;
           27   33     4                   e  Lorg/eclipse/jdt/internal/core/ClasspathEntry$AssertionFailedException;
           34   44     4  rawClasspathLength  I
           35   44     5              output  Lorg/eclipse/core/runtime/IPath;
           37   42     6               entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           40   42     7                copy  [Lorg/eclipse/jdt/core/IClasspathEntry;
      Exception table:
        from    to  target  type
           0     2       3  Class org.eclipse.core.runtime.CoreException
           0     2      11  Class java.io.IOException
           0     2      26  Class org.eclipse.jdt.internal.core.ClasspathEntry$AssertionFailedException
    MethodParameters:
             Name  Flags
      javaProject  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
         0: .line 1470
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuffer buffer
         1: .line 1471
            aload 1 /* buffer */
            ldc "Info for "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 1472
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
         3: .line 1473
            aload 1 /* buffer */
            ldc "\nRaw classpath:\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 1474
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
            ifnonnull 7
         5: .line 1475
            aload 1 /* buffer */
            ldc "  <null>\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 1476
            goto 15
         7: .line 1477
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         8: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
            arraylength
            istore 3 /* length */
        start local 3 // int length
         9: goto 14
        10: .line 1478
      StackMap locals: int int
      StackMap stack:
            aload 1 /* buffer */
            ldc "  "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 1479
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rawClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
            iload 2 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
        12: .line 1480
            aload 1 /* buffer */
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        13: .line 1477
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 10
        end local 3 // int length
        end local 2 // int i
        15: .line 1483
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            ldc "Resolved classpath:\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        16: .line 1484
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.resolvedClasspath:[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* resolvedCP */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] resolvedCP
        17: .line 1485
            aload 2 /* resolvedCP */
            ifnonnull 20
        18: .line 1486
            aload 1 /* buffer */
            ldc "  <null>\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        19: .line 1487
            goto 28
        20: .line 1488
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        21: aload 2 /* resolvedCP */
            arraylength
            istore 4 /* length */
        start local 4 // int length
        22: goto 27
        23: .line 1489
      StackMap locals: int int
      StackMap stack:
            aload 1 /* buffer */
            ldc "  "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        24: .line 1490
            aload 1 /* buffer */
            aload 2 /* resolvedCP */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
        25: .line 1491
            aload 1 /* buffer */
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        26: .line 1488
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 23
        end local 4 // int length
        end local 3 // int i
        28: .line 1494
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            ldc "Resolved classpath status: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        29: .line 1495
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.unresolvedEntryStatus:Lorg/eclipse/jdt/core/IJavaModelStatus;
            getstatic org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.NEED_RESOLUTION:Lorg/eclipse/jdt/core/IJavaModelStatus;
            if_acmpne 31
        30: .line 1496
            aload 1 /* buffer */
            ldc "NEED RESOLUTION"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
            goto 34
        31: .line 1498
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.unresolvedEntryStatus:Lorg/eclipse/jdt/core/IJavaModelStatus;
            ifnonnull 32
            ldc "<null>\n"
            goto 33
      StackMap locals:
      StackMap stack: java.lang.StringBuffer
        32: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.unresolvedEntryStatus:Lorg/eclipse/jdt/core/IJavaModelStatus;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.lang.StringBuffer org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack: java.lang.StringBuffer java.lang.String
        33: invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        34: .line 1499
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            ldc "Output location:\n  "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        35: .line 1500
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.outputLocation:Lorg/eclipse/core/runtime/IPath;
            ifnonnull 38
        36: .line 1501
            aload 1 /* buffer */
            ldc "<null>"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        37: .line 1502
            goto 39
        38: .line 1503
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.outputLocation:Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
        39: .line 1505
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] resolvedCP
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   40     0        this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            1   40     1      buffer  Ljava/lang/StringBuffer;
            8   15     2           i  I
            9   15     3      length  I
           17   40     2  resolvedCP  [Lorg/eclipse/jdt/core/IClasspathEntry;
           21   28     3           i  I
           22   28     4      length  I

  public boolean writeAndCacheClasspath(org.eclipse.jdt.internal.core.JavaProject, org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaProject;[Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
        start local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] newRawClasspath
        start local 3 // org.eclipse.jdt.core.IClasspathEntry[] newReferencedEntries
        start local 4 // org.eclipse.core.runtime.IPath newOutputLocation
         0: .line 1514
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.writtingRawClasspath:Z
         1: .line 1515
            aload 3 /* newReferencedEntries */
            ifnonnull 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.referencedEntries:[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 3 /* newReferencedEntries */
         2: .line 1518
      StackMap locals:
      StackMap stack:
            aload 1 /* javaProject */
            aload 2 /* newRawClasspath */
            aload 3 /* newReferencedEntries */
            aload 4 /* 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
            ifne 5
         3: .line 1524
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.writtingRawClasspath:Z
         4: .line 1519
            iconst_0
            ireturn
         5: .line 1522
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* newRawClasspath */
            aload 3 /* newReferencedEntries */
            aload 4 /* newOutputLocation */
            getstatic org.eclipse.jdt.internal.core.JavaModelStatus.VERIFIED_OK:Lorg/eclipse/jdt/core/IJavaModelStatus;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.setRawClasspath:([Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaModelStatus;)Lorg/eclipse/jdt/internal/core/ClasspathChange;
            pop
         6: .line 1523
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 5
         8: .line 1524
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.writtingRawClasspath:Z
         9: .line 1525
            aload 5
            athrow
        10: .line 1524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.writtingRawClasspath:Z
        11: .line 1526
            iconst_1
            ireturn
        end local 4 // org.eclipse.core.runtime.IPath newOutputLocation
        end local 3 // org.eclipse.jdt.core.IClasspathEntry[] newReferencedEntries
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] newRawClasspath
        end local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0                  this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            0   12     1           javaProject  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   12     2       newRawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   12     3  newReferencedEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   12     4     newOutputLocation  Lorg/eclipse/core/runtime/IPath;
      Exception table:
        from    to  target  type
           0     3       7  any
           5     7       7  any
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                      Name  Flags
      javaProject           
      newRawClasspath       final
      newReferencedEntries  
      newOutputLocation     final

  public boolean writeAndCacheClasspath(org.eclipse.jdt.internal.core.JavaProject, org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaProject;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
        start local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        start local 2 // org.eclipse.jdt.core.IClasspathEntry[] newRawClasspath
        start local 3 // org.eclipse.core.runtime.IPath newOutputLocation
         0: .line 1530
            aload 0 /* this */
            aload 1 /* javaProject */
            aload 2 /* newRawClasspath */
            aconst_null
            aload 3 /* newOutputLocation */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.writeAndCacheClasspath:(Lorg/eclipse/jdt/internal/core/JavaProject;[Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;)Z
            ireturn
        end local 3 // org.eclipse.core.runtime.IPath newOutputLocation
        end local 2 // org.eclipse.jdt.core.IClasspathEntry[] newRawClasspath
        end local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            0    1     1        javaProject  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    1     2    newRawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0    1     3  newOutputLocation  Lorg/eclipse/core/runtime/IPath;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                   Name  Flags
      javaProject        
      newRawClasspath    final
      newOutputLocation  final
}
SourceFile: "JavaModelManager.java"
NestHost: org.eclipse.jdt.internal.core.JavaModelManager
InnerClasses:
  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