public class org.eclipse.jdt.internal.core.builder.JavaBuilder extends org.eclipse.core.resources.IncrementalProjectBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.builder.JavaBuilder
  super_class: org.eclipse.core.resources.IncrementalProjectBuilder
{
  org.eclipse.core.resources.IProject currentProject;
    descriptor: Lorg/eclipse/core/resources/IProject;
    flags: (0x0000) 

  org.eclipse.jdt.internal.core.JavaProject javaProject;
    descriptor: Lorg/eclipse/jdt/internal/core/JavaProject;
    flags: (0x0000) 

  org.eclipse.core.resources.IWorkspaceRoot workspaceRoot;
    descriptor: Lorg/eclipse/core/resources/IWorkspaceRoot;
    flags: (0x0000) 

  org.eclipse.jdt.core.compiler.CompilationParticipant[] participants;
    descriptor: [Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
    flags: (0x0000) 

  org.eclipse.jdt.internal.core.builder.NameEnvironment nameEnvironment;
    descriptor: Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
    flags: (0x0000) 

  org.eclipse.jdt.internal.core.builder.NameEnvironment testNameEnvironment;
    descriptor: Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
    flags: (0x0000) 

  org.eclipse.jdt.internal.compiler.util.SimpleLookupTable binaryLocationsPerProject;
    descriptor: Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
    flags: (0x0000) 

  public org.eclipse.jdt.internal.core.builder.State lastState;
    descriptor: Lorg/eclipse/jdt/internal/core/builder/State;
    flags: (0x0001) ACC_PUBLIC

  org.eclipse.jdt.internal.core.builder.BuildNotifier notifier;
    descriptor: Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
    flags: (0x0000) 

  char[][] extraResourceFileFilters;
    descriptor: [[C
    flags: (0x0000) 

  java.lang.String[] extraResourceFolderFilters;
    descriptor: [Ljava/lang/String;
    flags: (0x0000) 

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

  public static boolean DEBUG;
    descriptor: Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static boolean SHOW_STATS;
    descriptor: Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  private static final boolean DISABLE_AUTO_BUILDING_ON_SETTINGS_CHANGE;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.eclipse.core.runtime.IPath JDT_CORE_SETTINGS_PATH;
    descriptor: Lorg/eclipse/core/runtime/IPath;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static java.util.LinkedHashSet<java.lang.String> builtProjects;
    descriptor: Ljava/util/LinkedHashSet;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/util/LinkedHashSet<Ljava/lang/String;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 46
            iconst_0
            putstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
         1: .line 47
            iconst_0
            putstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.SHOW_STATS:Z
         2: .line 53
            ldc "org.eclipse.disableAutoBuildOnSettingsChange"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            putstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DISABLE_AUTO_BUILDING_ON_SETTINGS_CHANGE:Z
         3: .line 54
            ldc ".settings/org.eclipse.jdt.core.prefs"
            invokestatic org.eclipse.core.runtime.Path.fromPortableString:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            putstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.JDT_CORE_SETTINGS_PATH:Lorg/eclipse/core/runtime/IPath;
         4: .line 61
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
         0: .line 31
            aload 0 /* this */
            invokespecial org.eclipse.core.resources.IncrementalProjectBuilder.<init>:()V
            return
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;

  public static org.eclipse.core.resources.IMarker[] getProblemsFor(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)[Lorg/eclipse/core/resources/IMarker;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.eclipse.core.resources.IResource resource
         0: .line 65
            aload 0 /* resource */
            ifnull 27
            aload 0 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.exists:()Z
            ifeq 27
         1: .line 66
            aload 0 /* resource */
            ldc "org.eclipse.jdt.core.problem"
            iconst_0
            iconst_2
            invokeinterface org.eclipse.core.resources.IResource.findMarkers:(Ljava/lang/String;ZI)[Lorg/eclipse/core/resources/IMarker;
            astore 1 /* markers */
        start local 1 // org.eclipse.core.resources.IMarker[] markers
         2: .line 67
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.compilationParticipants:Lorg/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$CompilationParticipants.managedMarkerTypes:()Ljava/util/HashSet;
            astore 2 /* markerTypes */
        start local 2 // java.util.Set markerTypes
         3: .line 68
            aload 2 /* markerTypes */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
            aload 1 /* markers */
         4: areturn
         5: .line 69
      StackMap locals: org.eclipse.core.resources.IMarker[] java.util.Set
      StackMap stack:
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* markerList */
        start local 3 // java.util.ArrayList markerList
         6: .line 70
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: aload 1 /* markers */
            arraylength
            istore 5 /* length */
        start local 5 // int length
         8: goto 11
         9: .line 71
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 3 /* markerList */
            aload 1 /* markers */
            iload 4 /* i */
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 70
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 9
        end local 5 // int length
        end local 4 // int i
        12: .line 73
            aload 2 /* markerTypes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* iterator */
        start local 4 // java.util.Iterator iterator
        13: .line 74
            goto 21
        14: .line 75
      StackMap locals: org.eclipse.core.resources.IResource org.eclipse.core.resources.IMarker[] java.util.Set java.util.ArrayList java.util.Iterator
      StackMap stack:
            aload 0 /* resource */
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            iconst_0
            iconst_2
            invokeinterface org.eclipse.core.resources.IResource.findMarkers:(Ljava/lang/String;ZI)[Lorg/eclipse/core/resources/IMarker;
            astore 1 /* markers */
        15: .line 76
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        16: aload 1 /* markers */
            arraylength
            istore 6 /* length */
        start local 6 // int length
        17: goto 20
        18: .line 77
      StackMap locals: int int
      StackMap stack:
            aload 3 /* markerList */
            aload 1 /* markers */
            iload 5 /* i */
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        19: .line 76
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 5 /* i */
            iload 6 /* length */
            if_icmplt 18
        end local 6 // int length
        end local 5 // int i
        21: .line 74
      StackMap locals:
      StackMap stack:
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        22: .line 81
            aload 3 /* markerList */
            aload 3 /* markerList */
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.core.resources.IMarker
            dup
            astore 5 /* result */
        start local 5 // org.eclipse.core.resources.IMarker[] result
        23: invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        24: .line 82
            aload 5 /* result */
        25: areturn
        end local 5 // org.eclipse.core.resources.IMarker[] result
        end local 4 // java.util.Iterator iterator
        end local 3 // java.util.ArrayList markerList
        end local 2 // java.util.Set markerTypes
        end local 1 // org.eclipse.core.resources.IMarker[] markers
        26: .line 84
      StackMap locals: org.eclipse.core.resources.IResource
      StackMap stack: org.eclipse.core.runtime.CoreException
            pop
        27: .line 87
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray org.eclipse.core.resources.IMarker
            areturn
        end local 0 // org.eclipse.core.resources.IResource resource
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   28     0     resource  Lorg/eclipse/core/resources/IResource;
            2   26     1      markers  [Lorg/eclipse/core/resources/IMarker;
            3   26     2  markerTypes  Ljava/util/Set;
            6   26     3   markerList  Ljava/util/ArrayList;
            7   12     4            i  I
            8   12     5       length  I
           13   26     4     iterator  Ljava/util/Iterator;
           16   21     5            i  I
           17   21     6       length  I
           23   26     5       result  [Lorg/eclipse/core/resources/IMarker;
      Exception table:
        from    to  target  type
           0     4      26  Class org.eclipse.core.runtime.CoreException
           5    25      26  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
          Name  Flags
      resource  

  public static org.eclipse.core.resources.IMarker[] getTasksFor(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)[Lorg/eclipse/core/resources/IMarker;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.core.resources.IResource resource
         0: .line 92
            aload 0 /* resource */
            ifnull 4
            aload 0 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.exists:()Z
            ifeq 4
         1: .line 93
            aload 0 /* resource */
            ldc "org.eclipse.jdt.core.task"
            iconst_0
            iconst_2
            invokeinterface org.eclipse.core.resources.IResource.findMarkers:(Ljava/lang/String;ZI)[Lorg/eclipse/core/resources/IMarker;
         2: areturn
         3: .line 94
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
            pop
         4: .line 97
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray org.eclipse.core.resources.IMarker
            areturn
        end local 0 // org.eclipse.core.resources.IResource resource
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  resource  Lorg/eclipse/core/resources/IResource;
      Exception table:
        from    to  target  type
           0     2       3  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
          Name  Flags
      resource  

  public static void buildStarting();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 106
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void buildFinished();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 113
            invokestatic org.eclipse.jdt.internal.core.builder.BuildNotifier.resetProblemCounters:()V
         1: .line 114
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void removeProblemsFor(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.eclipse.core.resources.IResource resource
         0: .line 118
            aload 0 /* resource */
            ifnull 11
            aload 0 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.exists:()Z
            ifeq 11
         1: .line 119
            aload 0 /* resource */
            ldc "org.eclipse.jdt.core.problem"
            iconst_0
            iconst_2
            invokeinterface org.eclipse.core.resources.IResource.deleteMarkers:(Ljava/lang/String;ZI)V
         2: .line 122
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.compilationParticipants:Lorg/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$CompilationParticipants.managedMarkerTypes:()Ljava/util/HashSet;
            astore 1 /* markerTypes */
        start local 1 // java.util.Set markerTypes
         3: .line 123
            aload 1 /* markerTypes */
            invokeinterface java.util.Set.size:()I
            ifne 5
         4: return
         5: .line 124
      StackMap locals: java.util.Set
      StackMap stack:
            aload 1 /* markerTypes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2 /* iterator */
        start local 2 // java.util.Iterator iterator
         6: .line 125
            goto 8
         7: .line 126
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* resource */
            aload 2 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            iconst_0
            iconst_2
            invokeinterface org.eclipse.core.resources.IResource.deleteMarkers:(Ljava/lang/String;ZI)V
         8: .line 125
      StackMap locals:
      StackMap stack:
            aload 2 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 2 // java.util.Iterator iterator
        end local 1 // java.util.Set markerTypes
         9: .line 128
            goto 11
      StackMap locals: org.eclipse.core.resources.IResource
      StackMap stack: org.eclipse.core.runtime.CoreException
        10: pop
        11: .line 131
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.core.resources.IResource resource
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0     resource  Lorg/eclipse/core/resources/IResource;
            3    9     1  markerTypes  Ljava/util/Set;
            6    9     2     iterator  Ljava/util/Iterator;
      Exception table:
        from    to  target  type
           0     4      10  Class org.eclipse.core.runtime.CoreException
           5     9      10  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
          Name  Flags
      resource  

  public static void removeTasksFor(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.core.resources.IResource resource
         0: .line 135
            aload 0 /* resource */
            ifnull 4
            aload 0 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.exists:()Z
            ifeq 4
         1: .line 136
            aload 0 /* resource */
            ldc "org.eclipse.jdt.core.task"
            iconst_0
            iconst_2
            invokeinterface org.eclipse.core.resources.IResource.deleteMarkers:(Ljava/lang/String;ZI)V
         2: .line 137
            goto 4
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
         3: pop
         4: .line 140
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.core.resources.IResource resource
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  resource  Lorg/eclipse/core/resources/IResource;
      Exception table:
        from    to  target  type
           0     2       3  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
          Name  Flags
      resource  

  public static void removeProblemsAndTasksFor(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.eclipse.core.resources.IResource resource
         0: .line 144
            aload 0 /* resource */
            ifnull 12
            aload 0 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.exists:()Z
            ifeq 12
         1: .line 145
            aload 0 /* resource */
            ldc "org.eclipse.jdt.core.problem"
            iconst_0
            iconst_2
            invokeinterface org.eclipse.core.resources.IResource.deleteMarkers:(Ljava/lang/String;ZI)V
         2: .line 146
            aload 0 /* resource */
            ldc "org.eclipse.jdt.core.task"
            iconst_0
            iconst_2
            invokeinterface org.eclipse.core.resources.IResource.deleteMarkers:(Ljava/lang/String;ZI)V
         3: .line 149
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.compilationParticipants:Lorg/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$CompilationParticipants.managedMarkerTypes:()Ljava/util/HashSet;
            astore 1 /* markerTypes */
        start local 1 // java.util.Set markerTypes
         4: .line 150
            aload 1 /* markerTypes */
            invokeinterface java.util.Set.size:()I
            ifne 6
         5: return
         6: .line 151
      StackMap locals: java.util.Set
      StackMap stack:
            aload 1 /* markerTypes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2 /* iterator */
        start local 2 // java.util.Iterator iterator
         7: .line 152
            goto 9
         8: .line 153
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* resource */
            aload 2 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            iconst_0
            iconst_2
            invokeinterface org.eclipse.core.resources.IResource.deleteMarkers:(Ljava/lang/String;ZI)V
         9: .line 152
      StackMap locals:
      StackMap stack:
            aload 2 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 2 // java.util.Iterator iterator
        end local 1 // java.util.Set markerTypes
        10: .line 155
            goto 12
      StackMap locals: org.eclipse.core.resources.IResource
      StackMap stack: org.eclipse.core.runtime.CoreException
        11: pop
        12: .line 158
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.core.resources.IResource resource
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0     resource  Lorg/eclipse/core/resources/IResource;
            4   10     1  markerTypes  Ljava/util/Set;
            7   10     2     iterator  Ljava/util/Iterator;
      Exception table:
        from    to  target  type
           0     5      11  Class org.eclipse.core.runtime.CoreException
           6    10      11  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
          Name  Flags
      resource  

  public static org.eclipse.jdt.internal.core.builder.State readState(org.eclipse.core.resources.IProject, java.io.DataInputStream);
    descriptor: (Lorg/eclipse/core/resources/IProject;Ljava/io/DataInputStream;)Lorg/eclipse/jdt/internal/core/builder/State;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.core.resources.IProject project
        start local 1 // java.io.DataInputStream in
         0: .line 161
            aload 0 /* project */
            aload 1 /* in */
            invokestatic org.eclipse.jdt.internal.core.builder.State.read:(Lorg/eclipse/core/resources/IProject;Ljava/io/DataInputStream;)Lorg/eclipse/jdt/internal/core/builder/State;
            areturn
        end local 1 // java.io.DataInputStream in
        end local 0 // org.eclipse.core.resources.IProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  project  Lorg/eclipse/core/resources/IProject;
            0    1     1       in  Ljava/io/DataInputStream;
    Exceptions:
      throws java.io.IOException, org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      project  
      in       

  public static void writeState(java.lang.Object, java.io.DataOutputStream);
    descriptor: (Ljava/lang/Object;Ljava/io/DataOutputStream;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object state
        start local 1 // java.io.DataOutputStream out
         0: .line 165
            aload 0 /* state */
            checkcast org.eclipse.jdt.internal.core.builder.State
            aload 1 /* out */
            invokevirtual org.eclipse.jdt.internal.core.builder.State.write:(Ljava/io/DataOutputStream;)V
         1: .line 166
            return
        end local 1 // java.io.DataOutputStream out
        end local 0 // java.lang.Object state
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  state  Ljava/lang/Object;
            0    2     1    out  Ljava/io/DataOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      state  
      out    

  protected org.eclipse.core.resources.IProject[] build(int, java.util.Map, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (ILjava/util/Map;Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/core/resources/IProject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=10, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
        start local 1 // int kind
        start local 2 // java.util.Map ignored
        start local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 170
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.getProject:()Lorg/eclipse/core/resources/IProject;
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
         1: .line 171
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            ifnull 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.isAccessible:()Z
            ifne 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
            anewarray org.eclipse.core.resources.IProject
            areturn
         3: .line 173
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 7
         4: .line 174
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "\nJavaBuilder: Starting build of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 175
            ldc " @ "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            new java.util.Date
            dup
            invokestatic java.lang.System.currentTimeMillis:()J
            invokespecial java.util.Date.<init>:(J)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 174
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.builder.BuildNotifier
            dup
            aload 3 /* monitor */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokespecial org.eclipse.jdt.internal.core.builder.BuildNotifier.<init>:(Lorg/eclipse/core/runtime/IProgressMonitor;Lorg/eclipse/core/resources/IProject;)V
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
         8: .line 177
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.begin:()V
         9: .line 178
            iconst_0
            istore 4 /* ok */
        start local 4 // boolean ok
        10: .line 180
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.checkCancel:()V
        11: .line 181
            aload 0 /* this */
            iload 1 /* kind */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.initializeBuilder:(IZ)I
            istore 1 /* kind */
        12: .line 183
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.isWorthBuilding:()Z
            ifeq 124
        13: .line 184
            iload 1 /* kind */
            bipush 6
            if_icmpne 18
        14: .line 185
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 16
        15: .line 186
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: Performing full build as requested"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        16: .line 187
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll:()V
        17: .line 188
            goto 54
        18: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.getLastState:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/internal/core/builder/State;
            dup_x1
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.lastState:Lorg/eclipse/jdt/internal/core/builder/State;
            ifnonnull 23
        19: .line 190
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 21
        20: .line 191
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: Performing full build since last saved state was not found"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        21: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll:()V
        22: .line 193
            goto 54
      StackMap locals:
      StackMap stack:
        23: aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.hasClasspathChanged:()Z
            ifeq 28
        24: .line 196
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 26
        25: .line 197
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: Performing full build since classpath has changed"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        26: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll:()V
        27: .line 199
            goto 54
      StackMap locals:
      StackMap stack:
        28: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.nameEnvironment:Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
            getfield org.eclipse.jdt.internal.core.builder.NameEnvironment.sourceLocations:[Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
            arraylength
            ifgt 29
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.testNameEnvironment:Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
            getfield org.eclipse.jdt.internal.core.builder.NameEnvironment.sourceLocations:[Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
            arraylength
            ifle 46
        29: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.findDeltas:()Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            astore 5 /* deltas */
        start local 5 // org.eclipse.jdt.internal.compiler.util.SimpleLookupTable deltas
        30: .line 202
            aload 5 /* deltas */
            ifnonnull 35
        31: .line 203
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 33
        32: .line 204
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: Performing full build since deltas are missing after incremental request"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        33: .line 205
      StackMap locals: org.eclipse.jdt.internal.compiler.util.SimpleLookupTable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll:()V
        34: .line 206
            goto 54
      StackMap locals:
      StackMap stack:
        35: aload 5 /* deltas */
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.elementSize:I
            ifle 43
        36: .line 207
            aload 0 /* this */
            aload 5 /* deltas */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.hasJdtCoreSettingsChange:(Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;)Z
            ifeq 41
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DISABLE_AUTO_BUILDING_ON_SETTINGS_CHANGE:Z
            ifne 41
        37: .line 208
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 39
        38: .line 209
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: Performing full build since project settings have changed"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll:()V
        40: .line 211
            goto 54
        41: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* deltas */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas:(Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;)V
        42: .line 214
            goto 54
      StackMap locals:
      StackMap stack:
        43: getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 54
        44: .line 215
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: Nothing to build since deltas were empty"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 5 // org.eclipse.jdt.internal.compiler.util.SimpleLookupTable deltas
        45: .line 217
            goto 54
        46: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.hasStructuralDelta:()Z
            ifeq 51
        47: .line 219
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 49
        48: .line 220
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: Performing full build since there are structural deltas"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        49: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll:()V
        50: .line 222
            goto 54
        51: .line 223
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 53
        52: .line 224
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: Nothing to build since there are no source folders and no deltas"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        53: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.lastState:Lorg/eclipse/jdt/internal/core/builder/State;
            invokevirtual org.eclipse.jdt.internal.core.builder.State.tagAsNoopBuild:()V
        54: .line 229
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* ok */
        55: .line 231
            goto 124
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
        56: astore 5 /* e */
        start local 5 // org.eclipse.core.runtime.CoreException e
        57: .line 232
            aload 5 /* e */
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder handling CoreException while building: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()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:(Ljava/lang/Throwable;Ljava/lang/String;)V
        58: .line 233
            aload 0 /* this */
            aload 5 /* e */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.createInconsistentBuildMarker:(Lorg/eclipse/core/runtime/CoreException;)V
        end local 5 // org.eclipse.core.runtime.CoreException e
        59: .line 252
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        60: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            ifnonnull 61
            iconst_0
            goto 62
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int java.util.Map org.eclipse.core.runtime.IProgressMonitor int top top top int
      StackMap stack:
        61: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            arraylength
      StackMap locals:
      StackMap stack: int
        62: istore 9 /* l */
        start local 9 // int l
        63: goto 66
        64: .line 253
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            iload 8 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            invokevirtual org.eclipse.jdt.core.compiler.CompilationParticipant.buildFinished:(Lorg/eclipse/jdt/core/IJavaProject;)V
        65: .line 252
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        66: iload 8 /* i */
            iload 9 /* l */
            if_icmplt 64
        end local 9 // int l
        end local 8 // int i
        67: .line 254
            iload 4 /* ok */
            ifne 69
        68: .line 256
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.clearLastState:()V
        69: .line 257
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int java.util.Map org.eclipse.core.runtime.IProgressMonitor int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.done:()V
        70: .line 258
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.cleanup:()V
            goto 136
        71: .line 234
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.builder.ImageBuilderInternalException
            astore 5 /* e */
        start local 5 // org.eclipse.jdt.internal.core.builder.ImageBuilderInternalException e
        72: .line 235
            aload 5 /* e */
            invokevirtual org.eclipse.jdt.internal.core.builder.ImageBuilderInternalException.getThrowable:()Lorg/eclipse/core/runtime/CoreException;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder handling ImageBuilderInternalException while building: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()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:(Ljava/lang/Throwable;Ljava/lang/String;)V
        73: .line 236
            aload 0 /* this */
            aload 5 /* e */
            getfield org.eclipse.jdt.internal.core.builder.ImageBuilderInternalException.coreException:Lorg/eclipse/core/runtime/CoreException;
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.createInconsistentBuildMarker:(Lorg/eclipse/core/runtime/CoreException;)V
        end local 5 // org.eclipse.jdt.internal.core.builder.ImageBuilderInternalException e
        74: .line 252
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        75: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            ifnonnull 76
            iconst_0
            goto 77
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int java.util.Map org.eclipse.core.runtime.IProgressMonitor int top top top int
      StackMap stack:
        76: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            arraylength
      StackMap locals:
      StackMap stack: int
        77: istore 9 /* l */
        start local 9 // int l
        78: goto 81
        79: .line 253
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            iload 8 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            invokevirtual org.eclipse.jdt.core.compiler.CompilationParticipant.buildFinished:(Lorg/eclipse/jdt/core/IJavaProject;)V
        80: .line 252
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        81: iload 8 /* i */
            iload 9 /* l */
            if_icmplt 79
        end local 9 // int l
        end local 8 // int i
        82: .line 254
            iload 4 /* ok */
            ifne 84
        83: .line 256
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.clearLastState:()V
        84: .line 257
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int java.util.Map org.eclipse.core.runtime.IProgressMonitor int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.done:()V
        85: .line 258
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.cleanup:()V
            goto 136
        86: .line 237
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.builder.MissingSourceFileException
            astore 5 /* e */
        start local 5 // org.eclipse.jdt.internal.core.builder.MissingSourceFileException e
        87: .line 239
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 89
        88: .line 240
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_missingSourceFile:Ljava/lang/String;
            aload 5 /* e */
            getfield org.eclipse.jdt.internal.core.builder.MissingSourceFileException.missingSourceFile:Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        89: .line 241
      StackMap locals: org.eclipse.jdt.internal.core.builder.MissingSourceFileException
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokestatic org.eclipse.jdt.internal.core.builder.JavaBuilder.removeProblemsAndTasksFor:(Lorg/eclipse/core/resources/IResource;)V
        90: .line 242
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            ldc "org.eclipse.jdt.core.problem"
            invokeinterface org.eclipse.core.resources.IProject.createMarker:(Ljava/lang/String;)Lorg/eclipse/core/resources/IMarker;
            astore 6 /* marker */
        start local 6 // org.eclipse.core.resources.IMarker marker
        91: .line 243
            aload 6 /* marker */
        92: .line 244
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "message"
            aastore
            dup
            iconst_1
            ldc "severity"
            aastore
            dup
            iconst_2
            ldc "sourceId"
            aastore
        93: .line 245
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        94: .line 246
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_missingSourceFile:Ljava/lang/String;
            aload 5 /* e */
            getfield org.eclipse.jdt.internal.core.builder.MissingSourceFileException.missingSourceFile:Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_1
        95: .line 247
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
        96: .line 248
            ldc "JDT"
            aastore
        97: .line 243
            invokeinterface org.eclipse.core.resources.IMarker.setAttributes:([Ljava/lang/String;[Ljava/lang/Object;)V
        end local 6 // org.eclipse.core.resources.IMarker marker
        end local 5 // org.eclipse.jdt.internal.core.builder.MissingSourceFileException e
        98: .line 252
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        99: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            ifnonnull 100
            iconst_0
            goto 101
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int java.util.Map org.eclipse.core.runtime.IProgressMonitor int top top top int
      StackMap stack:
       100: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            arraylength
      StackMap locals:
      StackMap stack: int
       101: istore 9 /* l */
        start local 9 // int l
       102: goto 105
       103: .line 253
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            iload 8 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            invokevirtual org.eclipse.jdt.core.compiler.CompilationParticipant.buildFinished:(Lorg/eclipse/jdt/core/IJavaProject;)V
       104: .line 252
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
       105: iload 8 /* i */
            iload 9 /* l */
            if_icmplt 103
        end local 9 // int l
        end local 8 // int i
       106: .line 254
            iload 4 /* ok */
            ifne 108
       107: .line 256
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.clearLastState:()V
       108: .line 257
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int java.util.Map org.eclipse.core.runtime.IProgressMonitor int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.done:()V
       109: .line 258
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.cleanup:()V
            goto 136
       110: .line 251
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
       111: .line 252
            iconst_0
            istore 8 /* i */
        start local 8 // int i
       112: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            ifnonnull 113
            iconst_0
            goto 114
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int java.util.Map org.eclipse.core.runtime.IProgressMonitor int top top java.lang.Throwable int
      StackMap stack:
       113: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            arraylength
      StackMap locals:
      StackMap stack: int
       114: istore 9 /* l */
        start local 9 // int l
       115: goto 118
       116: .line 253
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            iload 8 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            invokevirtual org.eclipse.jdt.core.compiler.CompilationParticipant.buildFinished:(Lorg/eclipse/jdt/core/IJavaProject;)V
       117: .line 252
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
       118: iload 8 /* i */
            iload 9 /* l */
            if_icmplt 116
        end local 9 // int l
        end local 8 // int i
       119: .line 254
            iload 4 /* ok */
            ifne 121
       120: .line 256
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.clearLastState:()V
       121: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.done:()V
       122: .line 258
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.cleanup:()V
       123: .line 259
            aload 7
            athrow
       124: .line 252
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int java.util.Map org.eclipse.core.runtime.IProgressMonitor int
      StackMap stack:
            iconst_0
            istore 8 /* i */
        start local 8 // int i
       125: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            ifnonnull 126
            iconst_0
            goto 127
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int java.util.Map org.eclipse.core.runtime.IProgressMonitor int top top top int
      StackMap stack:
       126: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            arraylength
      StackMap locals:
      StackMap stack: int
       127: istore 9 /* l */
        start local 9 // int l
       128: goto 131
       129: .line 253
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            iload 8 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            invokevirtual org.eclipse.jdt.core.compiler.CompilationParticipant.buildFinished:(Lorg/eclipse/jdt/core/IJavaProject;)V
       130: .line 252
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
       131: iload 8 /* i */
            iload 9 /* l */
            if_icmplt 129
        end local 9 // int l
        end local 8 // int i
       132: .line 254
            iload 4 /* ok */
            ifne 134
       133: .line 256
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.clearLastState:()V
       134: .line 257
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int java.util.Map org.eclipse.core.runtime.IProgressMonitor int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.done:()V
       135: .line 258
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.cleanup:()V
       136: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.getRequiredProjects:(Z)[Lorg/eclipse/core/resources/IProject;
            astore 5 /* requiredProjects */
        start local 5 // org.eclipse.core.resources.IProject[] requiredProjects
       137: .line 261
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 141
       138: .line 262
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: Finished build of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       139: .line 263
            ldc " @ "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            new java.util.Date
            dup
            invokestatic java.lang.System.currentTimeMillis:()J
            invokespecial java.util.Date.<init>:(J)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       140: .line 262
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       141: .line 264
      StackMap locals: org.eclipse.core.resources.IProject[]
      StackMap stack:
            aload 5 /* requiredProjects */
            areturn
        end local 5 // org.eclipse.core.resources.IProject[] requiredProjects
        end local 4 // boolean ok
        end local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 2 // java.util.Map ignored
        end local 1 // int kind
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  142     0              this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            0  142     1              kind  I
            0  142     2           ignored  Ljava/util/Map;
            0  142     3           monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
           10  142     4                ok  Z
           30   45     5            deltas  Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
           57   59     5                 e  Lorg/eclipse/core/runtime/CoreException;
           72   74     5                 e  Lorg/eclipse/jdt/internal/core/builder/ImageBuilderInternalException;
           87   98     5                 e  Lorg/eclipse/jdt/internal/core/builder/MissingSourceFileException;
           91   98     6            marker  Lorg/eclipse/core/resources/IMarker;
           60   67     8                 i  I
           75   82     8                 i  I
           99  106     8                 i  I
          112  119     8                 i  I
          125  132     8                 i  I
           63   67     9                 l  I
           78   82     9                 l  I
          102  106     9                 l  I
          115  119     9                 l  I
          128  132     9                 l  I
          137  142     5  requiredProjects  [Lorg/eclipse/core/resources/IProject;
      Exception table:
        from    to  target  type
          10    55      56  Class org.eclipse.core.runtime.CoreException
          10    55      71  Class org.eclipse.jdt.internal.core.builder.ImageBuilderInternalException
          10    55      86  Class org.eclipse.jdt.internal.core.builder.MissingSourceFileException
          10    59     110  any
          71    74     110  any
          86    98     110  any
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      kind     
      ignored  
      monitor  

  private void buildAll();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
         0: .line 268
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.checkCancel:()V
         1: .line 269
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_preparingBuild:Ljava/lang/String;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.subTask:(Ljava/lang/String;)V
         2: .line 270
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 4
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.lastState:Lorg/eclipse/jdt/internal/core/builder/State;
            ifnull 4
         3: .line 271
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: Clearing last state : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.lastState:Lorg/eclipse/jdt/internal/core/builder/State;
            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
         4: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.clearLastState:()V
         5: .line 273
            new org.eclipse.jdt.internal.core.builder.BatchImageBuilder
            dup
            aload 0 /* this */
            iconst_1
            getstatic org.eclipse.jdt.internal.core.CompilationGroup.MAIN:Lorg/eclipse/jdt/internal/core/CompilationGroup;
            invokespecial org.eclipse.jdt.internal.core.builder.BatchImageBuilder.<init>:(Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;ZLorg/eclipse/jdt/internal/core/CompilationGroup;)V
            astore 1 /* imageBuilder */
        start local 1 // org.eclipse.jdt.internal.core.builder.BatchImageBuilder imageBuilder
         6: .line 274
            new org.eclipse.jdt.internal.core.builder.BatchImageBuilder
            dup
            aload 1 /* imageBuilder */
            iconst_1
            getstatic org.eclipse.jdt.internal.core.CompilationGroup.TEST:Lorg/eclipse/jdt/internal/core/CompilationGroup;
            invokespecial org.eclipse.jdt.internal.core.builder.BatchImageBuilder.<init>:(Lorg/eclipse/jdt/internal/core/builder/BatchImageBuilder;ZLorg/eclipse/jdt/internal/core/CompilationGroup;)V
            astore 2 /* testImageBuilder */
        start local 2 // org.eclipse.jdt.internal.core.builder.BatchImageBuilder testImageBuilder
         7: .line 275
            aload 1 /* imageBuilder */
            invokevirtual org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build:()V
         8: .line 276
            aload 2 /* testImageBuilder */
            getfield org.eclipse.jdt.internal.core.builder.BatchImageBuilder.sourceLocations:[Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
            arraylength
            ifle 11
         9: .line 278
            aload 2 /* testImageBuilder */
            invokevirtual org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build:()V
        10: .line 279
            goto 12
        11: .line 280
      StackMap locals: org.eclipse.jdt.internal.core.builder.BatchImageBuilder org.eclipse.jdt.internal.core.builder.BatchImageBuilder
      StackMap stack:
            aload 2 /* testImageBuilder */
            invokevirtual org.eclipse.jdt.internal.core.builder.BatchImageBuilder.cleanUp:()V
        12: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* imageBuilder */
            getfield org.eclipse.jdt.internal.core.builder.BatchImageBuilder.newState:Lorg/eclipse/jdt/internal/core/builder/State;
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.recordNewState:(Lorg/eclipse/jdt/internal/core/builder/State;)V
        13: .line 283
            return
        end local 2 // org.eclipse.jdt.internal.core.builder.BatchImageBuilder testImageBuilder
        end local 1 // org.eclipse.jdt.internal.core.builder.BatchImageBuilder imageBuilder
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0              this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            6   14     1      imageBuilder  Lorg/eclipse/jdt/internal/core/builder/BatchImageBuilder;
            7   14     2  testImageBuilder  Lorg/eclipse/jdt/internal/core/builder/BatchImageBuilder;

  private void buildDeltas(org.eclipse.jdt.internal.compiler.util.SimpleLookupTable);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
        start local 1 // org.eclipse.jdt.internal.compiler.util.SimpleLookupTable deltas
         0: .line 286
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.checkCancel:()V
         1: .line 287
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_preparingBuild:Ljava/lang/String;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.subTask:(Ljava/lang/String;)V
         2: .line 288
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 4
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.lastState:Lorg/eclipse/jdt/internal/core/builder/State;
            ifnull 4
         3: .line 289
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: Clearing last state : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.lastState:Lorg/eclipse/jdt/internal/core/builder/State;
            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
         4: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.clearLastState:()V
         5: .line 291
            new org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.<init>:(Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;)V
            astore 2 /* imageBuilder */
        start local 2 // org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder imageBuilder
         6: .line 292
            aload 2 /* imageBuilder */
            aload 1 /* deltas */
            invokevirtual org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build:(Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;)Z
            ifeq 9
         7: .line 293
            aload 0 /* this */
            aload 2 /* imageBuilder */
            getfield org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.newState:Lorg/eclipse/jdt/internal/core/builder/State;
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.recordNewState:(Lorg/eclipse/jdt/internal/core/builder/State;)V
         8: .line 294
            goto 12
         9: .line 295
      StackMap locals: org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 11
        10: .line 296
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: Performing full build since incremental build failed"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll:()V
        12: .line 299
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder imageBuilder
        end local 1 // org.eclipse.jdt.internal.compiler.util.SimpleLookupTable deltas
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            0   13     1        deltas  Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            6   13     2  imageBuilder  Lorg/eclipse/jdt/internal/core/builder/IncrementalImageBuilder;
    MethodParameters:
        Name  Flags
      deltas  

  protected void clean(org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 303
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.getProject:()Lorg/eclipse/core/resources/IProject;
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
         1: .line 304
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            ifnull 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.isAccessible:()Z
            ifne 3
      StackMap locals:
      StackMap stack:
         2: return
         3: .line 306
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 7
         4: .line 307
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "\nJavaBuilder: Cleaning "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 308
            ldc " @ "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            new java.util.Date
            dup
            invokestatic java.lang.System.currentTimeMillis:()J
            invokespecial java.util.Date.<init>:(J)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 307
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.builder.BuildNotifier
            dup
            aload 1 /* monitor */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokespecial org.eclipse.jdt.internal.core.builder.BuildNotifier.<init>:(Lorg/eclipse/core/runtime/IProgressMonitor;Lorg/eclipse/core/resources/IProject;)V
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
         8: .line 310
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.begin:()V
         9: .line 312
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.checkCancel:()V
        10: .line 314
            aload 0 /* this */
            bipush 15
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.initializeBuilder:(IZ)I
            pop
        11: .line 315
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 13
        12: .line 316
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: Clearing last state as part of clean : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.lastState:Lorg/eclipse/jdt/internal/core/builder/State;
            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
        13: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.clearLastState:()V
        14: .line 318
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokestatic org.eclipse.jdt.internal.core.builder.JavaBuilder.removeProblemsAndTasksFor:(Lorg/eclipse/core/resources/IResource;)V
        15: .line 319
            new org.eclipse.jdt.internal.core.builder.BatchImageBuilder
            dup
            aload 0 /* this */
            iconst_0
            getstatic org.eclipse.jdt.internal.core.CompilationGroup.MAIN:Lorg/eclipse/jdt/internal/core/CompilationGroup;
            invokespecial org.eclipse.jdt.internal.core.builder.BatchImageBuilder.<init>:(Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;ZLorg/eclipse/jdt/internal/core/CompilationGroup;)V
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.builder.BatchImageBuilder.cleanOutputFolders:(Z)V
        16: .line 320
            new org.eclipse.jdt.internal.core.builder.BatchImageBuilder
            dup
            aload 0 /* this */
            iconst_0
            getstatic org.eclipse.jdt.internal.core.CompilationGroup.TEST:Lorg/eclipse/jdt/internal/core/CompilationGroup;
            invokespecial org.eclipse.jdt.internal.core.builder.BatchImageBuilder.<init>:(Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;ZLorg/eclipse/jdt/internal/core/CompilationGroup;)V
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.builder.BatchImageBuilder.cleanOutputFolders:(Z)V
        17: .line 321
            goto 27
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
        18: astore 2 /* e */
        start local 2 // org.eclipse.core.runtime.CoreException e
        19: .line 322
            aload 2 /* e */
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder handling CoreException while cleaning: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()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:(Ljava/lang/Throwable;Ljava/lang/String;)V
        20: .line 323
            aload 0 /* this */
            aload 2 /* e */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.createInconsistentBuildMarker:(Lorg/eclipse/core/runtime/CoreException;)V
        end local 2 // org.eclipse.core.runtime.CoreException e
        21: .line 325
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.done:()V
        22: .line 326
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.cleanup:()V
            goto 29
        23: .line 324
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        24: .line 325
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.done:()V
        25: .line 326
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.cleanup:()V
        26: .line 327
            aload 3
            athrow
        27: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.done:()V
        28: .line 326
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.cleanup:()V
        29: .line 328
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 33
        30: .line 329
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: Finished cleaning "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        31: .line 330
            ldc " @ "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            new java.util.Date
            dup
            invokestatic java.lang.System.currentTimeMillis:()J
            invokespecial java.util.Date.<init>:(J)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 329
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        33: .line 331
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0     this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            0   34     1  monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
           19   21     2        e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
           9    17      18  Class org.eclipse.core.runtime.CoreException
           9    21      23  any
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      monitor  

  private void createInconsistentBuildMarker(org.eclipse.core.runtime.CoreException);
    descriptor: (Lorg/eclipse/core/runtime/CoreException;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
        start local 1 // org.eclipse.core.runtime.CoreException coreException
         0: .line 334
            aconst_null
            astore 2 /* message */
        start local 2 // java.lang.String message
         1: .line 335
            aload 1 /* coreException */
            invokevirtual org.eclipse.core.runtime.CoreException.getStatus:()Lorg/eclipse/core/runtime/IStatus;
            astore 3 /* status */
        start local 3 // org.eclipse.core.runtime.IStatus status
         2: .line 336
            aload 3 /* status */
            invokeinterface org.eclipse.core.runtime.IStatus.isMultiStatus:()Z
            ifeq 6
         3: .line 337
            aload 3 /* status */
            invokeinterface org.eclipse.core.runtime.IStatus.getChildren:()[Lorg/eclipse/core/runtime/IStatus;
            astore 4 /* children */
        start local 4 // org.eclipse.core.runtime.IStatus[] children
         4: .line 338
            aload 4 /* children */
            ifnull 6
            aload 4 /* children */
            arraylength
            ifle 6
         5: .line 339
            aload 4 /* children */
            iconst_0
            aaload
            invokeinterface org.eclipse.core.runtime.IStatus.getMessage:()Ljava/lang/String;
            astore 2 /* message */
        end local 4 // org.eclipse.core.runtime.IStatus[] children
         6: .line 341
      StackMap locals: java.lang.String org.eclipse.core.runtime.IStatus
      StackMap stack:
            aload 2 /* message */
            ifnonnull 8
         7: .line 342
            aload 1 /* coreException */
            invokevirtual org.eclipse.core.runtime.CoreException.getMessage:()Ljava/lang/String;
            astore 2 /* message */
         8: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            ldc "org.eclipse.jdt.core.problem"
            invokeinterface org.eclipse.core.resources.IProject.createMarker:(Ljava/lang/String;)Lorg/eclipse/core/resources/IMarker;
            astore 4 /* marker */
        start local 4 // org.eclipse.core.resources.IMarker marker
         9: .line 345
            aload 4 /* marker */
        10: .line 346
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "message"
            aastore
            dup
            iconst_1
            ldc "severity"
            aastore
            dup
            iconst_2
            ldc "categoryId"
            aastore
            dup
            iconst_3
            ldc "sourceId"
            aastore
        11: .line 347
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 348
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_inconsistentProject:Ljava/lang/String;
            aload 2 /* message */
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_1
        13: .line 349
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
        14: .line 350
            bipush 10
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
        15: .line 351
            ldc "JDT"
            aastore
        16: .line 345
            invokeinterface org.eclipse.core.resources.IMarker.setAttributes:([Ljava/lang/String;[Ljava/lang/Object;)V
        17: .line 354
            return
        end local 4 // org.eclipse.core.resources.IMarker marker
        end local 3 // org.eclipse.core.runtime.IStatus status
        end local 2 // java.lang.String message
        end local 1 // org.eclipse.core.runtime.CoreException coreException
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            0   18     1  coreException  Lorg/eclipse/core/runtime/CoreException;
            1   18     2        message  Ljava/lang/String;
            2   18     3         status  Lorg/eclipse/core/runtime/IStatus;
            4    6     4       children  [Lorg/eclipse/core/runtime/IStatus;
            9   18     4         marker  Lorg/eclipse/core/resources/IMarker;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      coreException  

  private void cleanup();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
         0: .line 357
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
         1: .line 358
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.nameEnvironment:Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
            ifnull 4
         2: .line 359
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.nameEnvironment:Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
            invokevirtual org.eclipse.jdt.internal.core.builder.NameEnvironment.cleanup:()V
         3: .line 360
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.nameEnvironment:Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
         4: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.testNameEnvironment:Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
            ifnull 7
         5: .line 363
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.testNameEnvironment:Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
            invokevirtual org.eclipse.jdt.internal.core.builder.NameEnvironment.cleanup:()V
         6: .line 364
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.testNameEnvironment:Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
         7: .line 366
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.binaryLocationsPerProject:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
         8: .line 367
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.lastState:Lorg/eclipse/jdt/internal/core/builder/State;
         9: .line 368
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
        10: .line 369
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.extraResourceFileFilters:[[C
        11: .line 370
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.extraResourceFolderFilters:[Ljava/lang/String;
        12: .line 371
            return
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;

  private void clearLastState();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
         0: .line 374
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.setLastBuiltState:(Lorg/eclipse/core/resources/IProject;Ljava/lang/Object;)V
         1: .line 375
            return
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;

  boolean filterExtraResource(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
        start local 1 // org.eclipse.core.resources.IResource resource
         0: .line 378
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.extraResourceFileFilters:[[C
            ifnull 9
         1: .line 379
            aload 1 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            astore 2 /* name */
        start local 2 // char[] name
         2: .line 380
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.extraResourceFileFilters:[[C
            arraylength
            istore 4 /* l */
        start local 4 // int l
         4: goto 8
         5: .line 381
      StackMap locals: char[] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.extraResourceFileFilters:[[C
            iload 3 /* i */
            aaload
            aload 2 /* name */
            iconst_1
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.match:([C[CZ)Z
            ifeq 7
         6: .line 382
            iconst_1
            ireturn
         7: .line 380
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 4 /* l */
            if_icmplt 5
        end local 4 // int l
        end local 3 // int i
        end local 2 // char[] name
         9: .line 384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.extraResourceFolderFilters:[Ljava/lang/String;
            ifnull 26
        10: .line 385
            aload 1 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getProjectRelativePath:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* path */
        start local 2 // org.eclipse.core.runtime.IPath path
        11: .line 386
            aload 2 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            astore 3 /* pathName */
        start local 3 // java.lang.String pathName
        12: .line 387
            aload 2 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            istore 4 /* count */
        start local 4 // int count
        13: .line 388
            aload 1 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getType:()I
            iconst_1
            if_icmpne 14
            iinc 4 /* count */ -1
        14: .line 389
      StackMap locals: org.eclipse.core.runtime.IPath java.lang.String int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        15: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.extraResourceFolderFilters:[Ljava/lang/String;
            arraylength
            istore 6 /* l */
        start local 6 // int l
        16: goto 25
        17: .line 390
      StackMap locals: int int
      StackMap stack:
            aload 3 /* pathName */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.extraResourceFolderFilters:[Ljava/lang/String;
            iload 5 /* i */
            aaload
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 24
        18: .line 391
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        19: goto 23
        20: .line 392
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.extraResourceFolderFilters:[Ljava/lang/String;
            iload 5 /* i */
            aaload
            aload 2 /* path */
            iload 7 /* j */
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        21: .line 393
            iconst_1
            ireturn
        22: .line 391
      StackMap locals:
      StackMap stack:
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        23: iload 7 /* j */
            iload 4 /* count */
            if_icmplt 20
        end local 7 // int j
        24: .line 389
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 5 /* i */
            iload 6 /* l */
            if_icmplt 17
        end local 6 // int l
        end local 5 // int i
        end local 4 // int count
        end local 3 // java.lang.String pathName
        end local 2 // org.eclipse.core.runtime.IPath path
        26: .line 395
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder org.eclipse.core.resources.IResource
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.eclipse.core.resources.IResource resource
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            0   27     1  resource  Lorg/eclipse/core/resources/IResource;
            2    9     2      name  [C
            3    9     3         i  I
            4    9     4         l  I
           11   26     2      path  Lorg/eclipse/core/runtime/IPath;
           12   26     3  pathName  Ljava/lang/String;
           13   26     4     count  I
           15   26     5         i  I
           16   26     6         l  I
           19   24     7         j  I
    MethodParameters:
          Name  Flags
      resource  

  private org.eclipse.jdt.internal.compiler.util.SimpleLookupTable findDeltas();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=13, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
         0: .line 399
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_readingDelta:Ljava/lang/String;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.subTask:(Ljava/lang/String;)V
         1: .line 400
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.getDelta:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/core/resources/IResourceDelta;
            astore 1 /* delta */
        start local 1 // org.eclipse.core.resources.IResourceDelta delta
         2: .line 401
            new org.eclipse.jdt.internal.compiler.util.SimpleLookupTable
            dup
            iconst_3
            invokespecial org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.<init>:(I)V
            astore 2 /* deltas */
        start local 2 // org.eclipse.jdt.internal.compiler.util.SimpleLookupTable deltas
         3: .line 402
            aload 1 /* delta */
            ifnull 9
         4: .line 403
            aload 1 /* delta */
            invokeinterface org.eclipse.core.resources.IResourceDelta.getKind:()I
            ifeq 13
         5: .line 404
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 7
         6: .line 405
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: Found source delta for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 406
      StackMap locals: org.eclipse.core.resources.IResourceDelta org.eclipse.jdt.internal.compiler.util.SimpleLookupTable
      StackMap stack:
            aload 2 /* deltas */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            aload 1 /* delta */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 408
            goto 13
         9: .line 409
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 11
        10: .line 410
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: Missing delta for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            ldc ""
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.subTask:(Ljava/lang/String;)V
        12: .line 412
            aconst_null
            areturn
        13: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.binaryLocationsPerProject:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.keyTable:[Ljava/lang/Object;
            astore 3 /* keyTable */
        start local 3 // java.lang.Object[] keyTable
        14: .line 416
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.binaryLocationsPerProject:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.valueTable:[Ljava/lang/Object;
            astore 4 /* valueTable */
        start local 4 // java.lang.Object[] valueTable
        15: .line 417
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        16: aload 3 /* keyTable */
            arraylength
            istore 6 /* l */
        start local 6 // int l
        17: goto 48
        18: .line 418
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder org.eclipse.core.resources.IResourceDelta org.eclipse.jdt.internal.compiler.util.SimpleLookupTable java.lang.Object[] java.lang.Object[] int int
      StackMap stack:
            aload 3 /* keyTable */
            iload 5 /* i */
            aaload
            checkcast org.eclipse.core.resources.IProject
            astore 7 /* p */
        start local 7 // org.eclipse.core.resources.IProject p
        19: .line 419
            aload 7 /* p */
            ifnull 47
            aload 7 /* p */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            if_acmpeq 47
        20: .line 420
            aload 0 /* this */
            aload 7 /* p */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.getLastState:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/internal/core/builder/State;
            astore 8 /* s */
        start local 8 // org.eclipse.jdt.internal.core.builder.State s
        21: .line 421
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.lastState:Lorg/eclipse/jdt/internal/core/builder/State;
            aload 7 /* p */
            aload 8 /* s */
            invokevirtual org.eclipse.jdt.internal.core.builder.State.wasStructurallyChanged:(Lorg/eclipse/core/resources/IProject;Lorg/eclipse/jdt/internal/core/builder/State;)Z
            ifne 35
        22: .line 422
            aload 8 /* s */
            invokevirtual org.eclipse.jdt.internal.core.builder.State.wasNoopBuild:()Z
            ifeq 24
        23: .line 423
            goto 47
        24: .line 424
      StackMap locals: org.eclipse.core.resources.IProject org.eclipse.jdt.internal.core.builder.State
      StackMap stack:
            aload 4 /* valueTable */
            iload 5 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.builder.ClasspathLocation[]
            astore 9 /* classFoldersAndJars */
        start local 9 // org.eclipse.jdt.internal.core.builder.ClasspathLocation[] classFoldersAndJars
        25: .line 425
            iconst_1
            istore 10 /* canSkip */
        start local 10 // boolean canSkip
        26: .line 426
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        27: aload 9 /* classFoldersAndJars */
            arraylength
            istore 12 /* m */
        start local 12 // int m
        28: goto 33
        29: .line 427
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder org.eclipse.core.resources.IResourceDelta org.eclipse.jdt.internal.compiler.util.SimpleLookupTable java.lang.Object[] java.lang.Object[] int int org.eclipse.core.resources.IProject org.eclipse.jdt.internal.core.builder.State org.eclipse.jdt.internal.core.builder.ClasspathLocation[] int int int
      StackMap stack:
            aload 9 /* classFoldersAndJars */
            iload 11 /* j */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.builder.ClasspathLocation.isOutputFolder:()Z
            ifeq 31
        30: .line 428
            aload 9 /* classFoldersAndJars */
            iload 11 /* j */
            aconst_null
            aastore
            goto 32
        31: .line 430
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* canSkip */
        32: .line 426
      StackMap locals:
      StackMap stack:
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
        33: iload 11 /* j */
            iload 12 /* m */
            if_icmplt 29
        end local 12 // int m
        end local 11 // int j
        34: .line 432
            iload 10 /* canSkip */
            ifeq 35
            goto 47
        end local 10 // boolean canSkip
        end local 9 // org.eclipse.jdt.internal.core.builder.ClasspathLocation[] classFoldersAndJars
        35: .line 435
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder org.eclipse.core.resources.IResourceDelta org.eclipse.jdt.internal.compiler.util.SimpleLookupTable java.lang.Object[] java.lang.Object[] int int org.eclipse.core.resources.IProject org.eclipse.jdt.internal.core.builder.State
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_readingDelta:Ljava/lang/String;
            aload 7 /* p */
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.subTask:(Ljava/lang/String;)V
        36: .line 436
            aload 0 /* this */
            aload 7 /* p */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.getDelta:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/core/resources/IResourceDelta;
            astore 1 /* delta */
        37: .line 437
            aload 1 /* delta */
            ifnull 43
        38: .line 438
            aload 1 /* delta */
            invokeinterface org.eclipse.core.resources.IResourceDelta.getKind:()I
            ifeq 47
        39: .line 439
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 41
        40: .line 440
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: Found binary delta for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* p */
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        41: .line 441
      StackMap locals:
      StackMap stack:
            aload 2 /* deltas */
            aload 7 /* p */
            aload 1 /* delta */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        42: .line 443
            goto 47
        43: .line 444
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 45
        44: .line 445
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: Missing delta for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* p */
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        45: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            ldc ""
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.subTask:(Ljava/lang/String;)V
        46: .line 447
            aconst_null
            areturn
        end local 8 // org.eclipse.jdt.internal.core.builder.State s
        end local 7 // org.eclipse.core.resources.IProject p
        47: .line 417
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        48: iload 5 /* i */
            iload 6 /* l */
            if_icmplt 18
        end local 6 // int l
        end local 5 // int i
        49: .line 451
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            ldc ""
            invokevirtual org.eclipse.jdt.internal.core.builder.BuildNotifier.subTask:(Ljava/lang/String;)V
        50: .line 452
            aload 2 /* deltas */
            areturn
        end local 4 // java.lang.Object[] valueTable
        end local 3 // java.lang.Object[] keyTable
        end local 2 // org.eclipse.jdt.internal.compiler.util.SimpleLookupTable deltas
        end local 1 // org.eclipse.core.resources.IResourceDelta delta
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   51     0                 this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            2   51     1                delta  Lorg/eclipse/core/resources/IResourceDelta;
            3   51     2               deltas  Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
           14   51     3             keyTable  [Ljava/lang/Object;
           15   51     4           valueTable  [Ljava/lang/Object;
           16   49     5                    i  I
           17   49     6                    l  I
           19   47     7                    p  Lorg/eclipse/core/resources/IProject;
           21   47     8                    s  Lorg/eclipse/jdt/internal/core/builder/State;
           25   35     9  classFoldersAndJars  [Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;
           26   35    10              canSkip  Z
           27   34    11                    j  I
           28   34    12                    m  I

  public org.eclipse.jdt.internal.core.builder.State getLastState(org.eclipse.core.resources.IProject);
    descriptor: (Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/internal/core/builder/State;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
        start local 1 // org.eclipse.core.resources.IProject project
         0: .line 456
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 1 /* project */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            getfield org.eclipse.jdt.internal.core.builder.BuildNotifier.monitor:Lorg/eclipse/core/runtime/IProgressMonitor;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getLastBuiltState:(Lorg/eclipse/core/resources/IProject;Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.builder.State
            areturn
        end local 1 // org.eclipse.core.resources.IProject project
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            0    1     1  project  Lorg/eclipse/core/resources/IProject;
    MethodParameters:
         Name  Flags
      project  

  private org.eclipse.core.resources.IProject[] getRequiredProjects(boolean);
    descriptor: (Z)[Lorg/eclipse/core/resources/IProject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=11, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
        start local 1 // boolean includeBinaryPrerequisites
         0: .line 466
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.workspaceRoot:Lorg/eclipse/core/resources/IWorkspaceRoot;
            ifnonnull 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            anewarray org.eclipse.core.resources.IProject
            areturn
         2: .line 468
      StackMap locals:
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 2 /* projects */
        start local 2 // java.util.LinkedHashSet projects
         3: .line 469
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getExternalManager:()Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
            astore 3 /* externalFoldersManager */
        start local 3 // org.eclipse.jdt.internal.core.ExternalFoldersManager externalFoldersManager
         4: .line 471
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getExpandedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 4 /* entries */
        start local 4 // org.eclipse.jdt.core.IClasspathEntry[] entries
         5: .line 472
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: aload 4 /* entries */
            arraylength
            istore 6 /* l */
        start local 6 // int l
         7: goto 27
         8: .line 473
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int java.util.LinkedHashSet org.eclipse.jdt.internal.core.ExternalFoldersManager org.eclipse.jdt.core.IClasspathEntry[] int int
      StackMap stack:
            aload 4 /* entries */
            iload 5 /* i */
            aaload
            astore 7 /* entry */
        start local 7 // org.eclipse.jdt.core.IClasspathEntry entry
         9: .line 474
            aload 7 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 8 /* path */
        start local 8 // org.eclipse.core.runtime.IPath path
        10: .line 475
            aconst_null
            astore 9 /* p */
        start local 9 // org.eclipse.core.resources.IProject p
        11: .line 476
            aload 7 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 1 - 2
                    1: 16
                    2: 12
              default: 24
          }
        12: .line 478
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.runtime.IPath org.eclipse.core.resources.IProject
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.workspaceRoot:Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 8 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getProject:(Ljava/lang/String;)Lorg/eclipse/core/resources/IProject;
            astore 9 /* p */
        13: .line 479
            aload 7 /* entry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.isOptional:()Z
            ifeq 24
            aload 9 /* p */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.hasJavaNature:(Lorg/eclipse/core/resources/IProject;)Z
            ifne 24
        14: .line 480
            aconst_null
            astore 9 /* p */
        15: .line 481
            goto 24
        16: .line 483
      StackMap locals:
      StackMap stack:
            iload 1 /* includeBinaryPrerequisites */
            ifeq 24
            aload 8 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            ifle 24
        17: .line 485
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.workspaceRoot:Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 8 /* path */
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.findMember:(Ljava/lang/String;)Lorg/eclipse/core/resources/IResource;
            astore 10 /* resource */
        start local 10 // org.eclipse.core.resources.IResource resource
        18: .line 486
            aload 10 /* resource */
            instanceof org.eclipse.core.resources.IProject
            ifeq 21
        19: .line 487
            aload 10 /* resource */
            checkcast org.eclipse.core.resources.IProject
            astore 9 /* p */
        20: .line 488
            goto 24
        21: .line 489
      StackMap locals: org.eclipse.core.resources.IResource
      StackMap stack:
            aload 3 /* externalFoldersManager */
            aload 8 /* path */
            invokevirtual org.eclipse.jdt.internal.core.ExternalFoldersManager.getFolder:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IFolder;
            astore 10 /* resource */
        22: .line 490
            aload 10 /* resource */
            ifnull 24
        23: .line 491
            aload 10 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getProject:()Lorg/eclipse/core/resources/IProject;
            astore 9 /* p */
        end local 10 // org.eclipse.core.resources.IResource resource
        24: .line 495
      StackMap locals:
      StackMap stack:
            aload 9 /* p */
            ifnull 26
            aload 2 /* projects */
            aload 9 /* p */
            invokevirtual java.util.LinkedHashSet.contains:(Ljava/lang/Object;)Z
            ifne 26
        25: .line 496
            aload 2 /* projects */
            aload 9 /* p */
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.eclipse.core.resources.IProject p
        end local 8 // org.eclipse.core.runtime.IPath path
        end local 7 // org.eclipse.jdt.core.IClasspathEntry entry
        26: .line 472
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 5 /* i */
            iload 6 /* l */
            if_icmplt 8
        end local 6 // int l
        end local 5 // int i
        end local 4 // org.eclipse.jdt.core.IClasspathEntry[] entries
        28: .line 498
            goto 31
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int java.util.LinkedHashSet org.eclipse.jdt.internal.core.ExternalFoldersManager
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        29: pop
        30: .line 499
            iconst_0
            anewarray org.eclipse.core.resources.IProject
            areturn
        31: .line 501
      StackMap locals:
      StackMap stack:
            aload 2 /* projects */
            invokevirtual java.util.LinkedHashSet.size:()I
            anewarray org.eclipse.core.resources.IProject
            astore 4 /* result */
        start local 4 // org.eclipse.core.resources.IProject[] result
        32: .line 502
            aload 2 /* projects */
            aload 4 /* result */
            invokevirtual java.util.LinkedHashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        33: .line 503
            aload 4 /* result */
            areturn
        end local 4 // org.eclipse.core.resources.IProject[] result
        end local 3 // org.eclipse.jdt.internal.core.ExternalFoldersManager externalFoldersManager
        end local 2 // java.util.LinkedHashSet projects
        end local 1 // boolean includeBinaryPrerequisites
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   34     0                        this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            0   34     1  includeBinaryPrerequisites  Z
            3   34     2                    projects  Ljava/util/LinkedHashSet<Lorg/eclipse/core/resources/IProject;>;
            4   34     3      externalFoldersManager  Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
            5   28     4                     entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            6   28     5                           i  I
            7   28     6                           l  I
            9   26     7                       entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           10   26     8                        path  Lorg/eclipse/core/runtime/IPath;
           11   26     9                           p  Lorg/eclipse/core/resources/IProject;
           18   24    10                    resource  Lorg/eclipse/core/resources/IResource;
           32   34     4                      result  [Lorg/eclipse/core/resources/IProject;
      Exception table:
        from    to  target  type
           4    28      29  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                            Name  Flags
      includeBinaryPrerequisites  

  boolean hasBuildpathErrors();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
         0: .line 507
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            ldc "org.eclipse.jdt.core.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
         1: .line 508
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: aload 1 /* markers */
            arraylength
            istore 3 /* l */
        start local 3 // int l
         3: goto 7
         4: .line 509
      StackMap locals: org.eclipse.core.resources.IMarker[] int int
      StackMap stack:
            aload 1 /* markers */
            iload 2 /* i */
            aaload
            ldc "categoryId"
            iconst_m1
            invokeinterface org.eclipse.core.resources.IMarker.getAttribute:(Ljava/lang/String;I)I
            bipush 10
            if_icmpne 6
         5: .line 510
            iconst_1
            ireturn
         6: .line 508
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iload 3 /* l */
            if_icmplt 4
        end local 3 // int l
        end local 2 // int i
         8: .line 511
            iconst_0
            ireturn
        end local 1 // org.eclipse.core.resources.IMarker[] markers
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            1    9     1  markers  [Lorg/eclipse/core/resources/IMarker;
            2    8     2        i  I
            3    8     3        l  I
    Exceptions:
      throws org.eclipse.core.runtime.CoreException

  private boolean hasJdtCoreSettingsChange(org.eclipse.jdt.internal.compiler.util.SimpleLookupTable);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
        start local 1 // org.eclipse.jdt.internal.compiler.util.SimpleLookupTable deltas
         0: .line 515
            aload 1 /* deltas */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* resourceDelta */
        start local 2 // java.lang.Object resourceDelta
         1: .line 516
            aload 2 /* resourceDelta */
            instanceof org.eclipse.core.resources.IResourceDelta
            ifeq 4
         2: .line 517
            aload 2 /* resourceDelta */
            checkcast org.eclipse.core.resources.IResourceDelta
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.JDT_CORE_SETTINGS_PATH:Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.resources.IResourceDelta.findMember:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResourceDelta;
            ifnull 3
            iconst_1
            ireturn
      StackMap locals: java.lang.Object
      StackMap stack:
         3: iconst_0
            ireturn
         4: .line 519
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.Object resourceDelta
        end local 1 // org.eclipse.jdt.internal.compiler.util.SimpleLookupTable deltas
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            0    5     1         deltas  Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            1    5     2  resourceDelta  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      deltas  

  private boolean hasClasspathChanged();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
         0: .line 523
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.CompilationGroup.MAIN:Lorg/eclipse/jdt/internal/core/CompilationGroup;
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.hasClasspathChanged:(Lorg/eclipse/jdt/internal/core/CompilationGroup;)Z
            ifne 1
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.CompilationGroup.TEST:Lorg/eclipse/jdt/internal/core/CompilationGroup;
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.hasClasspathChanged:(Lorg/eclipse/jdt/internal/core/CompilationGroup;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;

  private boolean hasClasspathChanged(org.eclipse.jdt.internal.core.CompilationGroup);
    descriptor: (Lorg/eclipse/jdt/internal/core/CompilationGroup;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
        start local 1 // org.eclipse.jdt.internal.core.CompilationGroup compilationGroup
         0: .line 527
            aload 1 /* compilationGroup */
            getstatic org.eclipse.jdt.internal.core.CompilationGroup.MAIN:Lorg/eclipse/jdt/internal/core/CompilationGroup;
            if_acmpne 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.nameEnvironment:Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.testNameEnvironment:Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.builder.NameEnvironment
         2: getfield org.eclipse.jdt.internal.core.builder.NameEnvironment.sourceLocations:[Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
            astore 2 /* newSourceLocations */
        start local 2 // org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory[] newSourceLocations
         3: .line 528
            aload 1 /* compilationGroup */
            getstatic org.eclipse.jdt.internal.core.CompilationGroup.MAIN:Lorg/eclipse/jdt/internal/core/CompilationGroup;
            if_acmpne 4
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.lastState:Lorg/eclipse/jdt/internal/core/builder/State;
            getfield org.eclipse.jdt.internal.core.builder.State.sourceLocations:[Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
            goto 5
      StackMap locals: org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory[]
      StackMap stack:
         4: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.lastState:Lorg/eclipse/jdt/internal/core/builder/State;
            getfield org.eclipse.jdt.internal.core.builder.State.testSourceLocations:[Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory[]
         5: astore 3 /* oldSourceLocations */
        start local 3 // org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory[] oldSourceLocations
         6: .line 529
            aload 2 /* newSourceLocations */
            arraylength
            istore 4 /* newLength */
        start local 4 // int newLength
         7: .line 530
            aload 3 /* oldSourceLocations */
            arraylength
            istore 5 /* oldLength */
        start local 5 // int oldLength
         8: .line 532
            iconst_0
            dup
            istore 7 /* o */
        start local 7 // int o
         9: istore 6 /* n */
        start local 6 // int n
        10: goto 24
        11: .line 533
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder org.eclipse.jdt.internal.core.CompilationGroup org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory[] org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory[] int int int int
      StackMap stack:
            aload 2 /* newSourceLocations */
            iload 6 /* n */
            aaload
            aload 3 /* oldSourceLocations */
            iload 7 /* o */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory.equals:(Ljava/lang/Object;)Z
            ifeq 12
            goto 23
        12: .line 535
      StackMap locals:
      StackMap stack:
            aload 2 /* newSourceLocations */
            iload 6 /* n */
            aaload
            getfield org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory.sourceFolder:Lorg/eclipse/core/resources/IContainer;
            invokeinterface org.eclipse.core.resources.IContainer.members:()[Lorg/eclipse/core/resources/IResource;
            arraylength
            ifne 15
        13: .line 536
            iinc 7 /* o */ -1
        14: .line 537
            goto 23
        15: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.lastState:Lorg/eclipse/jdt/internal/core/builder/State;
            aload 3 /* oldSourceLocations */
            iload 7 /* o */
            aaload
            getfield org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory.sourceFolder:Lorg/eclipse/core/resources/IContainer;
            invokevirtual org.eclipse.jdt.internal.core.builder.State.isSourceFolderEmpty:(Lorg/eclipse/core/resources/IContainer;)Z
            ifeq 19
        16: .line 539
            iinc 6 /* n */ -1
        17: .line 540
            goto 23
        18: .line 542
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
            pop
        19: .line 544
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 22
        20: .line 545
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: New location: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* newSourceLocations */
            iload 6 /* n */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n!= old location: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* oldSourceLocations */
            iload 7 /* o */
            aaload
            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
        21: .line 546
            aload 0 /* this */
            aload 2 /* newSourceLocations */
            aload 3 /* oldSourceLocations */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.printLocations:([Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;[Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;)V
        22: .line 548
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        23: .line 532
      StackMap locals:
      StackMap stack:
            iinc 6 /* n */ 1
            iinc 7 /* o */ 1
      StackMap locals:
      StackMap stack:
        24: iload 6 /* n */
            iload 4 /* newLength */
            if_icmpge 34
            iload 7 /* o */
            iload 5 /* oldLength */
            if_icmplt 11
        25: .line 550
            goto 34
        26: .line 552
      StackMap locals:
      StackMap stack:
            aload 2 /* newSourceLocations */
            iload 6 /* n */
            aaload
            getfield org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory.sourceFolder:Lorg/eclipse/core/resources/IContainer;
            invokeinterface org.eclipse.core.resources.IContainer.members:()[Lorg/eclipse/core/resources/IResource;
            arraylength
            ifne 30
        27: .line 553
            iinc 6 /* n */ 1
        28: .line 554
            goto 34
        29: .line 556
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
            pop
        30: .line 558
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 33
        31: .line 559
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: Added non-empty source folder"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        32: .line 560
            aload 0 /* this */
            aload 2 /* newSourceLocations */
            aload 3 /* oldSourceLocations */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.printLocations:([Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;[Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;)V
        33: .line 562
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        34: .line 550
      StackMap locals:
      StackMap stack:
            iload 6 /* n */
            iload 4 /* newLength */
            if_icmplt 26
        35: .line 564
            goto 43
        36: .line 565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.lastState:Lorg/eclipse/jdt/internal/core/builder/State;
            aload 3 /* oldSourceLocations */
            iload 7 /* o */
            aaload
            getfield org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory.sourceFolder:Lorg/eclipse/core/resources/IContainer;
            invokevirtual org.eclipse.jdt.internal.core.builder.State.isSourceFolderEmpty:(Lorg/eclipse/core/resources/IContainer;)Z
            ifeq 39
        37: .line 566
            iinc 7 /* o */ 1
        38: .line 567
            goto 43
        39: .line 569
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 42
        40: .line 570
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: Removed non-empty source folder"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        41: .line 571
            aload 0 /* this */
            aload 2 /* newSourceLocations */
            aload 3 /* oldSourceLocations */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.printLocations:([Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;[Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;)V
        42: .line 573
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        43: .line 564
      StackMap locals:
      StackMap stack:
            iload 7 /* o */
            iload 5 /* oldLength */
            if_icmplt 36
        44: .line 576
            aload 1 /* compilationGroup */
            getstatic org.eclipse.jdt.internal.core.CompilationGroup.MAIN:Lorg/eclipse/jdt/internal/core/CompilationGroup;
            if_acmpne 45
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.nameEnvironment:Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
            goto 46
      StackMap locals:
      StackMap stack:
        45: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.testNameEnvironment:Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.builder.NameEnvironment
        46: getfield org.eclipse.jdt.internal.core.builder.NameEnvironment.binaryLocations:[Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;
            astore 8 /* newBinaryLocations */
        start local 8 // org.eclipse.jdt.internal.core.builder.ClasspathLocation[] newBinaryLocations
        47: .line 577
            aload 1 /* compilationGroup */
            getstatic org.eclipse.jdt.internal.core.CompilationGroup.MAIN:Lorg/eclipse/jdt/internal/core/CompilationGroup;
            if_acmpne 48
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.lastState:Lorg/eclipse/jdt/internal/core/builder/State;
            getfield org.eclipse.jdt.internal.core.builder.State.binaryLocations:[Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;
            goto 49
      StackMap locals: org.eclipse.jdt.internal.core.builder.ClasspathLocation[]
      StackMap stack:
        48: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.lastState:Lorg/eclipse/jdt/internal/core/builder/State;
            getfield org.eclipse.jdt.internal.core.builder.State.testBinaryLocations:[Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.builder.ClasspathLocation[]
        49: astore 9 /* oldBinaryLocations */
        start local 9 // org.eclipse.jdt.internal.core.builder.ClasspathLocation[] oldBinaryLocations
        50: .line 578
            aload 8 /* newBinaryLocations */
            arraylength
            istore 4 /* newLength */
        51: .line 579
            aload 9 /* oldBinaryLocations */
            arraylength
            istore 5 /* oldLength */
        52: .line 580
            iconst_0
            dup
            istore 7 /* o */
            istore 6 /* n */
            goto 59
        53: .line 581
      StackMap locals: org.eclipse.jdt.internal.core.builder.ClasspathLocation[]
      StackMap stack:
            aload 8 /* newBinaryLocations */
            iload 6 /* n */
            aaload
            aload 9 /* oldBinaryLocations */
            iload 7 /* o */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 54
            goto 58
        54: .line 582
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 57
        55: .line 583
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: New location: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* newBinaryLocations */
            iload 6 /* n */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n!= old location: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* oldBinaryLocations */
            iload 7 /* o */
            aaload
            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
        56: .line 584
            aload 0 /* this */
            aload 8 /* newBinaryLocations */
            aload 9 /* oldBinaryLocations */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.printLocations:([Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;[Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;)V
        57: .line 586
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        58: .line 580
      StackMap locals:
      StackMap stack:
            iinc 6 /* n */ 1
            iinc 7 /* o */ 1
      StackMap locals:
      StackMap stack:
        59: iload 6 /* n */
            iload 4 /* newLength */
            if_icmpge 60
            iload 7 /* o */
            iload 5 /* oldLength */
            if_icmplt 53
        60: .line 588
      StackMap locals:
      StackMap stack:
            iload 6 /* n */
            iload 4 /* newLength */
            if_icmplt 61
            iload 7 /* o */
            iload 5 /* oldLength */
            if_icmpge 65
        61: .line 589
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 64
        62: .line 590
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: Number of binary folders/jar files has changed:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        63: .line 591
            aload 0 /* this */
            aload 8 /* newBinaryLocations */
            aload 9 /* oldBinaryLocations */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.printLocations:([Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;[Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;)V
        64: .line 593
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        65: .line 595
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 9 // org.eclipse.jdt.internal.core.builder.ClasspathLocation[] oldBinaryLocations
        end local 8 // org.eclipse.jdt.internal.core.builder.ClasspathLocation[] newBinaryLocations
        end local 7 // int o
        end local 6 // int n
        end local 5 // int oldLength
        end local 4 // int newLength
        end local 3 // org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory[] oldSourceLocations
        end local 2 // org.eclipse.jdt.internal.core.builder.ClasspathMultiDirectory[] newSourceLocations
        end local 1 // org.eclipse.jdt.internal.core.CompilationGroup compilationGroup
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   66     0                this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            0   66     1    compilationGroup  Lorg/eclipse/jdt/internal/core/CompilationGroup;
            3   66     2  newSourceLocations  [Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
            6   66     3  oldSourceLocations  [Lorg/eclipse/jdt/internal/core/builder/ClasspathMultiDirectory;
            7   66     4           newLength  I
            8   66     5           oldLength  I
           10   66     6                   n  I
            9   66     7                   o  I
           47   66     8  newBinaryLocations  [Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;
           50   66     9  oldBinaryLocations  [Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;
      Exception table:
        from    to  target  type
          12    14      18  Class org.eclipse.core.runtime.CoreException
          15    17      18  Class org.eclipse.core.runtime.CoreException
          26    28      29  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
                  Name  Flags
      compilationGroup  

  private boolean hasJavaBuilder(org.eclipse.core.resources.IProject);
    descriptor: (Lorg/eclipse/core/resources/IProject;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
        start local 1 // org.eclipse.core.resources.IProject project
         0: .line 599
            aload 1 /* project */
            invokeinterface org.eclipse.core.resources.IProject.getDescription:()Lorg/eclipse/core/resources/IProjectDescription;
            invokeinterface org.eclipse.core.resources.IProjectDescription.getBuildSpec:()[Lorg/eclipse/core/resources/ICommand;
            astore 2 /* buildCommands */
        start local 2 // org.eclipse.core.resources.ICommand[] buildCommands
         1: .line 600
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 2 /* buildCommands */
            arraylength
            istore 4 /* l */
        start local 4 // int l
         3: goto 7
         4: .line 601
      StackMap locals: org.eclipse.core.resources.ICommand[] int int
      StackMap stack:
            aload 2 /* buildCommands */
            iload 3 /* 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 6
         5: .line 602
            iconst_1
            ireturn
         6: .line 600
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 4 /* l */
            if_icmplt 4
        end local 4 // int l
        end local 3 // int i
         8: .line 603
            iconst_0
            ireturn
        end local 2 // org.eclipse.core.resources.ICommand[] buildCommands
        end local 1 // org.eclipse.core.resources.IProject project
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            0    9     1        project  Lorg/eclipse/core/resources/IProject;
            1    9     2  buildCommands  [Lorg/eclipse/core/resources/ICommand;
            2    8     3              i  I
            3    8     4              l  I
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      project  

  private boolean hasStructuralDelta();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
         0: .line 608
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.getDelta:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/core/resources/IResourceDelta;
            astore 1 /* delta */
        start local 1 // org.eclipse.core.resources.IResourceDelta delta
         1: .line 609
            aload 1 /* delta */
            ifnull 16
            aload 1 /* delta */
            invokeinterface org.eclipse.core.resources.IResourceDelta.getKind:()I
            ifeq 16
         2: .line 610
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.binaryLocationsPerProject:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.builder.ClasspathLocation[]
            astore 2 /* classFoldersAndJars */
        start local 2 // org.eclipse.jdt.internal.core.builder.ClasspathLocation[] classFoldersAndJars
         3: .line 611
            aload 2 /* classFoldersAndJars */
            ifnull 16
         4: .line 612
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: aload 2 /* classFoldersAndJars */
            arraylength
            istore 4 /* l */
        start local 4 // int l
         6: goto 15
         7: .line 613
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder org.eclipse.core.resources.IResourceDelta org.eclipse.jdt.internal.core.builder.ClasspathLocation[] int int
      StackMap stack:
            aload 2 /* classFoldersAndJars */
            iload 3 /* i */
            aaload
            astore 5 /* classFolderOrJar */
        start local 5 // org.eclipse.jdt.internal.core.builder.ClasspathLocation classFolderOrJar
         8: .line 614
            aload 5 /* classFolderOrJar */
            ifnull 14
         9: .line 615
            aload 5 /* classFolderOrJar */
            invokevirtual org.eclipse.jdt.internal.core.builder.ClasspathLocation.getProjectRelativePath:()Lorg/eclipse/core/runtime/IPath;
            astore 6 /* p */
        start local 6 // org.eclipse.core.runtime.IPath p
        10: .line 616
            aload 6 /* p */
            ifnull 14
        11: .line 617
            aload 1 /* delta */
            aload 6 /* p */
            invokeinterface org.eclipse.core.resources.IResourceDelta.findMember:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResourceDelta;
            astore 7 /* binaryDelta */
        start local 7 // org.eclipse.core.resources.IResourceDelta binaryDelta
        12: .line 618
            aload 7 /* binaryDelta */
            ifnull 14
            aload 7 /* binaryDelta */
            invokeinterface org.eclipse.core.resources.IResourceDelta.getKind:()I
            ifeq 14
        13: .line 619
            iconst_1
            ireturn
        end local 7 // org.eclipse.core.resources.IResourceDelta binaryDelta
        end local 6 // org.eclipse.core.runtime.IPath p
        end local 5 // org.eclipse.jdt.internal.core.builder.ClasspathLocation classFolderOrJar
        14: .line 612
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            iload 4 /* l */
            if_icmplt 7
        end local 4 // int l
        end local 3 // int i
        end local 2 // org.eclipse.jdt.internal.core.builder.ClasspathLocation[] classFoldersAndJars
        16: .line 625
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.eclipse.core.resources.IResourceDelta delta
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   17     0                 this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            1   17     1                delta  Lorg/eclipse/core/resources/IResourceDelta;
            3   16     2  classFoldersAndJars  [Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;
            5   16     3                    i  I
            6   16     4                    l  I
            8   14     5     classFolderOrJar  Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;
           10   14     6                    p  Lorg/eclipse/core/runtime/IPath;
           12   14     7          binaryDelta  Lorg/eclipse/core/resources/IResourceDelta;

  private int initializeBuilder(int, boolean);
    descriptor: (IZ)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=10, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
        start local 1 // int kind
        start local 2 // boolean forBuild
         0: .line 630
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/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
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
         1: .line 631
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject: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;
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.workspaceRoot:Lorg/eclipse/core/resources/IWorkspaceRoot;
         2: .line 633
            iload 2 /* forBuild */
            ifeq 16
         3: .line 635
            aload 0 /* this */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.compilationParticipants:Lorg/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$CompilationParticipants.getCompilationParticipants:(Lorg/eclipse/jdt/core/IJavaProject;)[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
         4: .line 636
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            ifnull 12
         5: .line 637
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            arraylength
            istore 4 /* l */
        start local 4 // int l
         7: goto 11
         8: .line 638
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.participants:[Lorg/eclipse/jdt/core/compiler/CompilationParticipant;
            iload 3 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            invokevirtual org.eclipse.jdt.core.compiler.CompilationParticipant.aboutToBuild:(Lorg/eclipse/jdt/core/IJavaProject;)I
            iconst_2
            if_icmpne 10
         9: .line 639
            bipush 6
            istore 1 /* kind */
        10: .line 637
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            iload 4 /* l */
            if_icmplt 8
        end local 4 // int l
        end local 3 // int i
        12: .line 642
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            astore 3 /* projectName */
        start local 3 // java.lang.String projectName
        13: .line 643
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.builtProjects:Ljava/util/LinkedHashSet;
            ifnull 14
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.builtProjects:Ljava/util/LinkedHashSet;
            aload 3 /* projectName */
            invokevirtual java.util.LinkedHashSet.contains:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 644
      StackMap locals: java.lang.String
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.builtProjects:Ljava/util/LinkedHashSet;
        15: .line 646
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.builtProjects:Ljava/util/LinkedHashSet;
            aload 3 /* projectName */
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String projectName
        16: .line 649
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.util.SimpleLookupTable
            dup
            iconst_3
            invokespecial org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.binaryLocationsPerProject:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
        17: .line 650
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.builder.NameEnvironment
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.workspaceRoot:Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.binaryLocationsPerProject:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            getstatic org.eclipse.jdt.internal.core.CompilationGroup.MAIN:Lorg/eclipse/jdt/internal/core/CompilationGroup;
            invokespecial org.eclipse.jdt.internal.core.builder.NameEnvironment.<init>:(Lorg/eclipse/core/resources/IWorkspaceRoot;Lorg/eclipse/jdt/internal/core/JavaProject;Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;Lorg/eclipse/jdt/internal/core/CompilationGroup;)V
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.nameEnvironment:Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
        18: .line 651
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.builder.NameEnvironment
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.workspaceRoot:Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.binaryLocationsPerProject:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.notifier:Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;
            getstatic org.eclipse.jdt.internal.core.CompilationGroup.TEST:Lorg/eclipse/jdt/internal/core/CompilationGroup;
            invokespecial org.eclipse.jdt.internal.core.builder.NameEnvironment.<init>:(Lorg/eclipse/core/resources/IWorkspaceRoot;Lorg/eclipse/jdt/internal/core/JavaProject;Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;Lorg/eclipse/jdt/internal/core/builder/BuildNotifier;Lorg/eclipse/jdt/internal/core/CompilationGroup;)V
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.testNameEnvironment:Lorg/eclipse/jdt/internal/core/builder/NameEnvironment;
        19: .line 653
            iload 2 /* forBuild */
            ifeq 52
        20: .line 654
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            ldc "org.eclipse.jdt.core.builder.resourceCopyExclusionFilter"
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 3 /* filterSequence */
        start local 3 // java.lang.String filterSequence
        21: .line 655
            aload 3 /* filterSequence */
            ifnull 23
            aload 3 /* filterSequence */
            invokevirtual java.lang.String.length:()I
            ifle 23
        22: .line 656
            bipush 44
            aload 3 /* filterSequence */
            invokevirtual java.lang.String.toCharArray:()[C
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitAndTrimOn:(C[C)[[C
            goto 24
        23: .line 657
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
        24: .line 655
      StackMap locals:
      StackMap stack: char[][]
            astore 4 /* filters */
        start local 4 // char[][] filters
        25: .line 658
            aload 4 /* filters */
            ifnonnull 29
        26: .line 659
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.extraResourceFileFilters:[[C
        27: .line 660
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.extraResourceFolderFilters:[Ljava/lang/String;
        28: .line 661
            goto 52
        29: .line 662
      StackMap locals: char[][]
      StackMap stack:
            iconst_0
            istore 5 /* fileCount */
        start local 5 // int fileCount
        30: iconst_0
            istore 6 /* folderCount */
        start local 6 // int folderCount
        31: .line 663
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        32: aload 4 /* filters */
            arraylength
            istore 8 /* l */
        start local 8 // int l
        33: goto 39
        34: .line 664
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int int java.lang.String char[][] int int int int
      StackMap stack:
            aload 4 /* filters */
            iload 7 /* i */
            aaload
            astore 9 /* f */
        start local 9 // char[] f
        35: .line 665
            aload 9 /* f */
            arraylength
            ifne 36
            goto 38
        36: .line 666
      StackMap locals: char[]
      StackMap stack:
            aload 9 /* f */
            aload 9 /* f */
            arraylength
            iconst_1
            isub
            caload
            bipush 47
            if_icmpne 37
            iinc 6 /* folderCount */ 1
            goto 38
      StackMap locals:
      StackMap stack:
        37: iinc 5 /* fileCount */ 1
        end local 9 // char[] f
        38: .line 663
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 7 /* i */
            iload 8 /* l */
            if_icmplt 34
        end local 8 // int l
        end local 7 // int i
        40: .line 668
            aload 0 /* this */
            iload 5 /* fileCount */
            anewarray char[]
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.extraResourceFileFilters:[[C
        41: .line 669
            aload 0 /* this */
            iload 6 /* folderCount */
            anewarray java.lang.String
            putfield org.eclipse.jdt.internal.core.builder.JavaBuilder.extraResourceFolderFilters:[Ljava/lang/String;
        42: .line 670
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        43: aload 4 /* filters */
            arraylength
            istore 8 /* l */
        start local 8 // int l
        44: goto 51
        45: .line 671
      StackMap locals:
      StackMap stack:
            aload 4 /* filters */
            iload 7 /* i */
            aaload
            astore 9 /* f */
        start local 9 // char[] f
        46: .line 672
            aload 9 /* f */
            arraylength
            ifne 47
            goto 50
        47: .line 673
      StackMap locals: char[]
      StackMap stack:
            aload 9 /* f */
            aload 9 /* f */
            arraylength
            iconst_1
            isub
            caload
            bipush 47
            if_icmpne 49
        48: .line 674
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.extraResourceFolderFilters:[Ljava/lang/String;
            iinc 6 /* folderCount */ -1
            iload 6 /* folderCount */
            new java.lang.String
            dup
            aload 9 /* f */
            iconst_0
            aload 9 /* f */
            arraylength
            iconst_1
            isub
            invokespecial java.lang.String.<init>:([CII)V
            aastore
            goto 50
        49: .line 676
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.extraResourceFileFilters:[[C
            iinc 5 /* fileCount */ -1
            iload 5 /* fileCount */
            aload 9 /* f */
            aastore
        end local 9 // char[] f
        50: .line 670
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        51: iload 7 /* i */
            iload 8 /* l */
            if_icmplt 45
        end local 8 // int l
        end local 7 // int i
        end local 6 // int folderCount
        end local 5 // int fileCount
        end local 4 // char[][] filters
        end local 3 // java.lang.String filterSequence
        52: .line 680
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int int
      StackMap stack:
            iload 1 /* kind */
            ireturn
        end local 2 // boolean forBuild
        end local 1 // int kind
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   53     0            this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            0   53     1            kind  I
            0   53     2        forBuild  Z
            6   12     3               i  I
            7   12     4               l  I
           13   16     3     projectName  Ljava/lang/String;
           21   52     3  filterSequence  Ljava/lang/String;
           25   52     4         filters  [[C
           30   52     5       fileCount  I
           31   52     6     folderCount  I
           32   40     7               i  I
           33   40     8               l  I
           35   38     9               f  [C
           43   52     7               i  I
           44   52     8               l  I
           46   50     9               f  [C
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
          Name  Flags
      kind      
      forBuild  

  private boolean isClasspathBroken(org.eclipse.jdt.internal.core.JavaProject, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaProject;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
        start local 1 // org.eclipse.jdt.internal.core.JavaProject jProj
        start local 2 // boolean tryRepair
         0: .line 684
            aload 1 /* jProj */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()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 3 /* markers */
        start local 3 // org.eclipse.core.resources.IMarker[] markers
         1: .line 685
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: aload 3 /* markers */
            arraylength
            istore 5 /* l */
        start local 5 // int l
         3: goto 12
         4: .line 686
      StackMap locals: org.eclipse.core.resources.IMarker[] int int
      StackMap stack:
            aload 3 /* markers */
            iload 4 /* i */
            aaload
            ldc "severity"
            iconst_m1
            invokeinterface org.eclipse.core.resources.IMarker.getAttribute:(Ljava/lang/String;I)I
            iconst_2
            if_icmpne 11
         5: .line 687
            iload 2 /* tryRepair */
            ifeq 10
         6: .line 688
            aload 3 /* markers */
            iload 4 /* i */
            aaload
            ldc "id"
            invokeinterface org.eclipse.core.resources.IMarker.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            astore 6 /* code */
        start local 6 // java.lang.Object code
         7: .line 689
            aload 6 /* code */
            instanceof java.lang.Integer
            ifeq 10
            aload 6 /* code */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            sipush 1014
            if_icmpne 10
         8: .line 690
            new org.eclipse.jdt.internal.core.ClasspathValidation
            dup
            aload 1 /* jProj */
            invokespecial org.eclipse.jdt.internal.core.ClasspathValidation.<init>:(Lorg/eclipse/jdt/internal/core/JavaProject;)V
            invokevirtual org.eclipse.jdt.internal.core.ClasspathValidation.validate:()V
         9: .line 691
            aload 0 /* this */
            aload 1 /* jProj */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.isClasspathBroken:(Lorg/eclipse/jdt/internal/core/JavaProject;Z)Z
            ireturn
        end local 6 // java.lang.Object code
        10: .line 694
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        11: .line 685
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 5 /* l */
            if_icmplt 4
        end local 5 // int l
        end local 4 // int i
        13: .line 697
            iconst_0
            ireturn
        end local 3 // org.eclipse.core.resources.IMarker[] markers
        end local 2 // boolean tryRepair
        end local 1 // org.eclipse.jdt.internal.core.JavaProject jProj
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            0   14     1      jProj  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   14     2  tryRepair  Z
            1   14     3    markers  [Lorg/eclipse/core/resources/IMarker;
            2   13     4          i  I
            3   13     5          l  I
            7   10     6       code  Ljava/lang/Object;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
           Name  Flags
      jProj      
      tryRepair  

  private boolean isWorthBuilding();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=8, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
         0: .line 702
            ldc "abort"
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            ldc "org.eclipse.jdt.core.builder.invalidClasspath"
            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
         1: .line 701
            istore 1 /* abortBuilds */
        start local 1 // boolean abortBuilds
         2: .line 703
            iload 1 /* abortBuilds */
            ifne 6
         3: .line 704
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 5
         4: .line 705
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: Ignoring invalid classpath"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 706
      StackMap locals: int
      StackMap stack:
            iconst_1
            ireturn
         6: .line 710
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.isClasspathBroken:(Lorg/eclipse/jdt/internal/core/JavaProject;Z)Z
            ifeq 20
         7: .line 711
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 9
         8: .line 712
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: Aborted build because project has classpath errors (incomplete or involved in cycle)"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 714
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokestatic org.eclipse.jdt.internal.core.builder.JavaBuilder.removeProblemsAndTasksFor:(Lorg/eclipse/core/resources/IResource;)V
        10: .line 716
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            ldc "org.eclipse.jdt.core.problem"
            invokeinterface org.eclipse.core.resources.IProject.createMarker:(Ljava/lang/String;)Lorg/eclipse/core/resources/IMarker;
            astore 2 /* marker */
        start local 2 // org.eclipse.core.resources.IMarker marker
        11: .line 717
            aload 2 /* marker */
        12: .line 718
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "message"
            aastore
            dup
            iconst_1
            ldc "severity"
            aastore
            dup
            iconst_2
            ldc "categoryId"
            aastore
            dup
            iconst_3
            ldc "sourceId"
            aastore
        13: .line 719
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        14: .line 720
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_abortDueToClasspathProblems:Ljava/lang/String;
            aastore
            dup
            iconst_1
        15: .line 721
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
        16: .line 722
            bipush 10
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
        17: .line 723
            ldc "JDT"
            aastore
        18: .line 717
            invokeinterface org.eclipse.core.resources.IMarker.setAttributes:([Ljava/lang/String;[Ljava/lang/Object;)V
        19: .line 726
            iconst_0
            ireturn
        end local 2 // org.eclipse.core.resources.IMarker marker
        20: .line 729
      StackMap locals:
      StackMap stack:
            ldc "warning"
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            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 22
        21: .line 730
            iconst_1
            ireturn
        22: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.getRequiredProjects:(Z)[Lorg/eclipse/core/resources/IProject;
            astore 2 /* requiredProjects */
        start local 2 // org.eclipse.core.resources.IProject[] requiredProjects
        23: .line 735
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        24: aload 2 /* requiredProjects */
            arraylength
            istore 4 /* l */
        start local 4 // int l
        25: goto 60
        26: .line 736
      StackMap locals: org.eclipse.core.resources.IProject[] int int
      StackMap stack:
            aload 2 /* requiredProjects */
            iload 3 /* i */
            aaload
            astore 5 /* p */
        start local 5 // org.eclipse.core.resources.IProject p
        27: .line 737
            aload 0 /* this */
            aload 5 /* p */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.getLastState:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/internal/core/builder/State;
            ifnonnull 59
        28: .line 739
            aload 5 /* p */
            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 6 /* prereq */
        start local 6 // org.eclipse.jdt.internal.core.JavaProject prereq
        29: .line 740
            aload 6 /* prereq */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.hasCycleMarker:()Z
            ifeq 35
            ldc "warning"
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            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 35
        30: .line 741
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 59
        31: .line 742
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: Continued to build even though prereq project "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* p */
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        32: .line 743
            ldc " was not built since its part of a cycle"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        33: .line 742
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        34: .line 744
            goto 59
        35: .line 746
      StackMap locals: org.eclipse.core.resources.IProject org.eclipse.jdt.internal.core.JavaProject
      StackMap stack:
            aload 0 /* this */
            aload 5 /* p */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.hasJavaBuilder:(Lorg/eclipse/core/resources/IProject;)Z
            ifne 41
        36: .line 747
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 59
        37: .line 748
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: Continued to build even though prereq project "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* p */
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 749
            ldc " is not built by JavaBuilder"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        39: .line 748
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        40: .line 750
            goto 59
        41: .line 752
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 45
        42: .line 753
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: Aborted build because prereq project "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* p */
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        43: .line 754
            ldc " was not built"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        44: .line 753
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        45: .line 756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokestatic org.eclipse.jdt.internal.core.builder.JavaBuilder.removeProblemsAndTasksFor:(Lorg/eclipse/core/resources/IResource;)V
        46: .line 757
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            ldc "org.eclipse.jdt.core.problem"
            invokeinterface org.eclipse.core.resources.IProject.createMarker:(Ljava/lang/String;)Lorg/eclipse/core/resources/IMarker;
            astore 7 /* marker */
        start local 7 // org.eclipse.core.resources.IMarker marker
        47: .line 758
            aload 7 /* marker */
        48: .line 759
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "message"
            aastore
            dup
            iconst_1
            ldc "severity"
            aastore
            dup
            iconst_2
            ldc "categoryId"
            aastore
            dup
            iconst_3
            ldc "sourceId"
            aastore
        49: .line 760
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        50: .line 761
            aload 0 /* this */
            aload 6 /* prereq */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.isClasspathBroken:(Lorg/eclipse/jdt/internal/core/JavaProject;Z)Z
            ifeq 52
        51: .line 762
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_prereqProjectHasClasspathProblems:Ljava/lang/String;
            aload 5 /* p */
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            goto 53
        52: .line 763
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int org.eclipse.core.resources.IProject[] int int org.eclipse.core.resources.IProject org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.resources.IMarker
      StackMap stack: org.eclipse.core.resources.IMarker java.lang.String[] java.lang.Object[] java.lang.Object[] int
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_prereqProjectMustBeRebuilt:Ljava/lang/String;
            aload 5 /* p */
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
      StackMap locals: org.eclipse.jdt.internal.core.builder.JavaBuilder int org.eclipse.core.resources.IProject[] int int org.eclipse.core.resources.IProject org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.resources.IMarker
      StackMap stack: org.eclipse.core.resources.IMarker java.lang.String[] java.lang.Object[] java.lang.Object[] int java.lang.String
        53: aastore
            dup
            iconst_1
        54: .line 764
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
        55: .line 765
            bipush 10
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
        56: .line 766
            ldc "JDT"
            aastore
        57: .line 758
            invokeinterface org.eclipse.core.resources.IMarker.setAttributes:([Ljava/lang/String;[Ljava/lang/Object;)V
        58: .line 769
            iconst_0
            ireturn
        end local 7 // org.eclipse.core.resources.IMarker marker
        end local 6 // org.eclipse.jdt.internal.core.JavaProject prereq
        end local 5 // org.eclipse.core.resources.IProject p
        59: .line 735
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 3 /* i */
            iload 4 /* l */
            if_icmplt 26
        end local 4 // int l
        end local 3 // int i
        61: .line 772
            iconst_1
            ireturn
        end local 2 // org.eclipse.core.resources.IProject[] requiredProjects
        end local 1 // boolean abortBuilds
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   62     0              this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            2   62     1       abortBuilds  Z
           11   20     2            marker  Lorg/eclipse/core/resources/IMarker;
           23   62     2  requiredProjects  [Lorg/eclipse/core/resources/IProject;
           24   61     3                 i  I
           25   61     4                 l  I
           27   59     5                 p  Lorg/eclipse/core/resources/IProject;
           29   59     6            prereq  Lorg/eclipse/jdt/internal/core/JavaProject;
           47   59     7            marker  Lorg/eclipse/core/resources/IMarker;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException

  void mustPropagateStructuralChanges();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=8, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
         0: .line 780
            new java.util.LinkedHashSet
            dup
            iconst_3
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            astore 1 /* cycleParticipants */
        start local 1 // java.util.LinkedHashSet cycleParticipants
         1: .line 781
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            aload 1 /* cycleParticipants */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.workspaceRoot:Lorg/eclipse/core/resources/IWorkspaceRoot;
            new java.util.HashSet
            dup
            iconst_3
            invokespecial java.util.HashSet.<init>:(I)V
            aconst_null
            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
         2: .line 782
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.javaProject:Lorg/eclipse/jdt/internal/core/JavaProject;
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* currentPath */
        start local 2 // org.eclipse.core.runtime.IPath currentPath
         3: .line 783
            aload 1 /* cycleParticipants */
            invokevirtual java.util.LinkedHashSet.iterator:()Ljava/util/Iterator;
            astore 3 /* i */
        start local 3 // java.util.Iterator i
         4: .line 784
            goto 15
         5: .line 785
      StackMap locals: java.util.LinkedHashSet org.eclipse.core.runtime.IPath java.util.Iterator
      StackMap stack:
            aload 3 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            astore 4 /* participantPath */
        start local 4 // org.eclipse.core.runtime.IPath participantPath
         6: .line 786
            aload 4 /* participantPath */
            aload 2 /* currentPath */
            if_acmpeq 15
         7: .line 787
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.workspaceRoot:Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 4 /* participantPath */
            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;
            astore 5 /* project */
        start local 5 // org.eclipse.core.resources.IProject project
         8: .line 788
            aload 0 /* this */
            aload 5 /* project */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.hasBeenBuilt:(Lorg/eclipse/core/resources/IProject;)Z
            ifeq 15
         9: .line 789
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 13
        10: .line 790
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: Requesting another build iteration since cycle participant "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* project */
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 791
            ldc " has not yet seen some structural changes"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 790
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        13: .line 792
      StackMap locals: org.eclipse.core.runtime.IPath org.eclipse.core.resources.IProject
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.needRebuild:()V
        14: .line 793
            return
        end local 5 // org.eclipse.core.resources.IProject project
        end local 4 // org.eclipse.core.runtime.IPath participantPath
        15: .line 784
      StackMap locals:
      StackMap stack:
            aload 3 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        16: .line 797
            return
        end local 3 // java.util.Iterator i
        end local 2 // org.eclipse.core.runtime.IPath currentPath
        end local 1 // java.util.LinkedHashSet cycleParticipants
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            1   17     1  cycleParticipants  Ljava/util/LinkedHashSet;
            3   17     2        currentPath  Lorg/eclipse/core/runtime/IPath;
            4   17     3                  i  Ljava/util/Iterator;
            6   15     4    participantPath  Lorg/eclipse/core/runtime/IPath;
            8   15     5            project  Lorg/eclipse/core/resources/IProject;

  private void printLocations(org.eclipse.jdt.internal.core.builder.ClasspathLocation[], org.eclipse.jdt.internal.core.builder.ClasspathLocation[]);
    descriptor: ([Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;[Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
        start local 1 // org.eclipse.jdt.internal.core.builder.ClasspathLocation[] newLocations
        start local 2 // org.eclipse.jdt.internal.core.builder.ClasspathLocation[] oldLocations
         0: .line 800
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: New locations:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 801
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 1 /* newLocations */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         3: goto 6
         4: .line 802
      StackMap locals: int int
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "    "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* newLocations */
            iload 3 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.builder.ClasspathLocation.debugPathString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 801
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 4
        end local 4 // int length
        end local 3 // int i
         7: .line 803
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "JavaBuilder: Old locations:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         8: .line 804
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: aload 2 /* oldLocations */
            arraylength
            istore 4 /* length */
        start local 4 // int length
        10: goto 13
        11: .line 805
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "    "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* oldLocations */
            iload 3 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.builder.ClasspathLocation.debugPathString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        12: .line 804
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 11
        end local 4 // int length
        end local 3 // int i
        14: .line 806
            return
        end local 2 // org.eclipse.jdt.internal.core.builder.ClasspathLocation[] oldLocations
        end local 1 // org.eclipse.jdt.internal.core.builder.ClasspathLocation[] newLocations
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            0   15     1  newLocations  [Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;
            0   15     2  oldLocations  [Lorg/eclipse/jdt/internal/core/builder/ClasspathLocation;
            2    7     3             i  I
            3    7     4        length  I
            9   14     3             i  I
           10   14     4        length  I
    MethodParameters:
              Name  Flags
      newLocations  
      oldLocations  

  private void recordNewState(org.eclipse.jdt.internal.core.builder.State);
    descriptor: (Lorg/eclipse/jdt/internal/core/builder/State;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
        start local 1 // org.eclipse.jdt.internal.core.builder.State state
         0: .line 809
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.binaryLocationsPerProject:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.keyTable:[Ljava/lang/Object;
            astore 2 /* keyTable */
        start local 2 // java.lang.Object[] keyTable
         1: .line 810
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 2 /* keyTable */
            arraylength
            istore 4 /* l */
        start local 4 // int l
         3: goto 8
         4: .line 811
      StackMap locals: java.lang.Object[] int int
      StackMap stack:
            aload 2 /* keyTable */
            iload 3 /* i */
            aaload
            checkcast org.eclipse.core.resources.IProject
            astore 5 /* prereqProject */
        start local 5 // org.eclipse.core.resources.IProject prereqProject
         5: .line 812
            aload 5 /* prereqProject */
            ifnull 7
            aload 5 /* prereqProject */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            if_acmpeq 7
         6: .line 813
            aload 1 /* state */
            aload 5 /* prereqProject */
            aload 0 /* this */
            aload 5 /* prereqProject */
            invokevirtual org.eclipse.jdt.internal.core.builder.JavaBuilder.getLastState:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/internal/core/builder/State;
            invokevirtual org.eclipse.jdt.internal.core.builder.State.recordStructuralDependency:(Lorg/eclipse/core/resources/IProject;Lorg/eclipse/jdt/internal/core/builder/State;)V
        end local 5 // org.eclipse.core.resources.IProject prereqProject
         7: .line 810
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 4 /* l */
            if_icmplt 4
        end local 4 // int l
        end local 3 // int i
         9: .line 816
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 11
        10: .line 817
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder: Recording new state : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* state */
            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
        11: .line 819
      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.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            aload 1 /* state */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.setLastBuiltState:(Lorg/eclipse/core/resources/IProject;Ljava/lang/Object;)V
        12: .line 820
            return
        end local 2 // java.lang.Object[] keyTable
        end local 1 // org.eclipse.jdt.internal.core.builder.State state
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
            0   13     1          state  Lorg/eclipse/jdt/internal/core/builder/State;
            1   13     2       keyTable  [Ljava/lang/Object;
            2    9     3              i  I
            3    9     4              l  I
            5    7     5  prereqProject  Lorg/eclipse/core/resources/IProject;
    MethodParameters:
       Name  Flags
      state  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
         0: .line 827
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            ifnonnull 2
         1: .line 828
            ldc "JavaBuilder for unknown project"
            goto 3
         2: .line 829
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "JavaBuilder for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.builder.JavaBuilder.currentProject:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 827
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // org.eclipse.jdt.internal.core.builder.JavaBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/core/builder/JavaBuilder;
}
SourceFile: "JavaBuilder.java"
InnerClasses:
  public CompilationParticipants = org.eclipse.jdt.internal.core.JavaModelManager$CompilationParticipants of org.eclipse.jdt.internal.core.JavaModelManager
  CycleInfo = org.eclipse.jdt.internal.core.JavaProject$CycleInfo of org.eclipse.jdt.internal.core.JavaProject