public class org.eclipse.jdt.internal.core.search.indexing.IndexManager extends org.eclipse.jdt.internal.core.search.processing.JobManager implements org.eclipse.jdt.internal.core.search.indexing.IIndexConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.search.indexing.IndexManager
  super_class: org.eclipse.jdt.internal.core.search.processing.JobManager
{
  public org.eclipse.jdt.internal.compiler.util.SimpleLookupTable indexLocations;
    descriptor: Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
    flags: (0x0001) ACC_PUBLIC

  private org.eclipse.jdt.internal.compiler.util.SimpleLookupTable indexes;
    descriptor: Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
    flags: (0x0002) ACC_PRIVATE

  private boolean needToSave;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.core.runtime.IPath javaPluginLocation;
    descriptor: Lorg/eclipse/core/runtime/IPath;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.internal.compiler.util.SimpleLookupTable indexStates;
    descriptor: Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
    flags: (0x0002) ACC_PRIVATE

  private java.io.File indexNamesMapFile;
    descriptor: Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE

  private java.io.File participantIndexNamesFile;
    descriptor: Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE

  private boolean javaLikeNamesChanged;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public static final java.lang.Integer SAVED_STATE;
    descriptor: Ljava/lang/Integer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.Integer UPDATING_STATE;
    descriptor: Ljava/lang/Integer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.Integer UNKNOWN_STATE;
    descriptor: Ljava/lang/Integer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.Integer REBUILDING_STATE;
    descriptor: Ljava/lang/Integer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.Integer REUSE_STATE;
    descriptor: Ljava/lang/Integer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final org.eclipse.jdt.internal.core.search.indexing.IndexNamesRegistry nameRegistry;
    descriptor: Lorg/eclipse/jdt/internal/core/search/indexing/IndexNamesRegistry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.eclipse.jdt.internal.compiler.util.SimpleLookupTable participantsContainers;
    descriptor: Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
    flags: (0x0002) ACC_PRIVATE

  private boolean participantUpdated;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 90
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.SAVED_STATE:Ljava/lang/Integer;
         1: .line 91
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.UPDATING_STATE:Ljava/lang/Integer;
         2: .line 92
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.UNKNOWN_STATE:Ljava/lang/Integer;
         3: .line 93
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REBUILDING_STATE:Ljava/lang/Integer;
         4: .line 94
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REUSE_STATE:Ljava/lang/Integer;
         5: .line 104
            ldc "jdt.core.manageProductIndexes"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            putstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.IS_MANAGING_PRODUCT_INDEXES_PROPERTY:Z
         6: .line 107
            iconst_0
            putstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.DEBUG:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 67
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.processing.JobManager.<init>:()V
         1: .line 71
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.util.SimpleLookupTable
            dup
            invokespecial org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.<init>:()V
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
         2: .line 73
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.util.SimpleLookupTable
            dup
            invokespecial org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.<init>:()V
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
         3: .line 81
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.needToSave:Z
         4: .line 82
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.javaPluginLocation:Lorg/eclipse/core/runtime/IPath;
         5: .line 86
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
         6: .line 87
            aload 0 /* this */
            new java.io.File
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getSavedIndexesDirectory:()Ljava/io/File;
            ldc "indexNamesMap.txt"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexNamesMapFile:Ljava/io/File;
         7: .line 88
            aload 0 /* this */
            new java.io.File
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getSavedIndexesDirectory:()Ljava/io/File;
            ldc "participantsIndexNames.txt"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantIndexNamesFile:Ljava/io/File;
         8: .line 89
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.javaLikeNamesChanged:Z
         9: .line 96
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.search.indexing.IndexNamesRegistry
            dup
            new java.io.File
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getSavedIndexesDirectory:()Ljava/io/File;
        10: .line 97
            ldc "savedIndexNames.txt"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getJavaPluginWorkingLocation:()Lorg/eclipse/core/runtime/IPath;
        11: .line 96
            invokespecial org.eclipse.jdt.internal.core.search.indexing.IndexNamesRegistry.<init>:(Ljava/io/File;Lorg/eclipse/core/runtime/IPath;)V
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.nameRegistry:Lorg/eclipse/jdt/internal/core/search/indexing/IndexNamesRegistry;
        12: .line 99
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantsContainers:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
        13: .line 100
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantUpdated:Z
        14: .line 67
            return
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;

  public synchronized void aboutToUpdateIndex(org.eclipse.core.runtime.IPath, java.lang.Integer);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Ljava/lang/Integer;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
        start local 2 // java.lang.Integer newIndexState
         0: .line 113
            aload 0 /* this */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.computeIndexLocation:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 3 /* indexLocation */
        start local 3 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
         1: .line 114
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndexStates:()Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 3 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* state */
        start local 4 // java.lang.Object state
         2: .line 115
            aload 4 /* state */
            ifnonnull 3
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.UNKNOWN_STATE:Ljava/lang/Integer;
            goto 4
      StackMap locals: org.eclipse.jdt.internal.core.index.IndexLocation java.lang.Object
      StackMap stack:
         3: aload 4 /* state */
            checkcast java.lang.Integer
      StackMap locals:
      StackMap stack: java.lang.Integer
         4: astore 5 /* currentIndexState */
        start local 5 // java.lang.Integer currentIndexState
         5: .line 116
            aload 5 /* currentIndexState */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REBUILDING_STATE:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.compareTo:(Ljava/lang/Integer;)I
            iflt 6
            return
         6: .line 118
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 2 /* newIndexState */
            aload 5 /* currentIndexState */
            invokevirtual java.lang.Integer.compareTo:(Ljava/lang/Integer;)I
            istore 6 /* compare */
        start local 6 // int compare
         7: .line 119
            iload 6 /* compare */
            ifle 10
         8: .line 121
            aload 0 /* this */
            aload 3 /* indexLocation */
            aload 2 /* newIndexState */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.updateIndexState:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Ljava/lang/Integer;)V
         9: .line 122
            goto 12
      StackMap locals: int
      StackMap stack:
        10: iload 6 /* compare */
            ifge 12
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 3 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 12
        11: .line 124
            aload 0 /* this */
            aload 3 /* indexLocation */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.rebuildIndex:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/core/runtime/IPath;)V
        12: .line 126
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int compare
        end local 5 // java.lang.Integer currentIndexState
        end local 4 // java.lang.Object state
        end local 3 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 2 // java.lang.Integer newIndexState
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0               this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   13     1      containerPath  Lorg/eclipse/core/runtime/IPath;
            0   13     2      newIndexState  Ljava/lang/Integer;
            1   13     3      indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            2   13     4              state  Ljava/lang/Object;
            5   13     5  currentIndexState  Ljava/lang/Integer;
            7   13     6            compare  I
    MethodParameters:
               Name  Flags
      containerPath  
      newIndexState  

  public void addBinary(org.eclipse.core.resources.IFile, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/resources/IFile;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.resources.IFile resource
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         0: .line 132
            invokestatic org.eclipse.jdt.core.JavaCore.getPlugin:()Lorg/eclipse/core/runtime/Plugin;
            ifnonnull 1
            return
         1: .line 133
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.core.search.SearchEngine.getDefaultSearchParticipant:()Lorg/eclipse/jdt/core/search/SearchParticipant;
            astore 3 /* participant */
        start local 3 // org.eclipse.jdt.core.search.SearchParticipant participant
         2: .line 134
            aload 3 /* participant */
            aload 1 /* resource */
            invokeinterface org.eclipse.core.resources.IFile.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.search.SearchParticipant.getDocument:(Ljava/lang/String;)Lorg/eclipse/jdt/core/search/SearchDocument;
            astore 4 /* document */
        start local 4 // org.eclipse.jdt.core.search.SearchDocument document
         3: .line 135
            aload 0 /* this */
            aload 2 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.computeIndexLocation:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 5 /* indexLocation */
        start local 5 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
         4: .line 136
            aload 0 /* this */
            aload 4 /* document */
            aload 2 /* containerPath */
            aload 5 /* indexLocation */
            aload 3 /* participant */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.scheduleDocumentIndexing:(Lorg/eclipse/jdt/core/search/SearchDocument;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/jdt/core/search/SearchParticipant;)V
         5: .line 137
            return
        end local 5 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 4 // org.eclipse.jdt.core.search.SearchDocument document
        end local 3 // org.eclipse.jdt.core.search.SearchParticipant participant
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.core.resources.IFile resource
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    6     1       resource  Lorg/eclipse/core/resources/IFile;
            0    6     2  containerPath  Lorg/eclipse/core/runtime/IPath;
            2    6     3    participant  Lorg/eclipse/jdt/core/search/SearchParticipant;
            3    6     4       document  Lorg/eclipse/jdt/core/search/SearchDocument;
            4    6     5  indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
    MethodParameters:
               Name  Flags
      resource       
      containerPath  

  public void addSource(org.eclipse.core.resources.IFile, org.eclipse.core.runtime.IPath, org.eclipse.jdt.internal.compiler.SourceElementParser);
    descriptor: (Lorg/eclipse/core/resources/IFile;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/compiler/SourceElementParser;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.resources.IFile resource
        start local 2 // org.eclipse.core.runtime.IPath containerPath
        start local 3 // org.eclipse.jdt.internal.compiler.SourceElementParser parser
         0: .line 143
            invokestatic org.eclipse.jdt.core.JavaCore.getPlugin:()Lorg/eclipse/core/runtime/Plugin;
            ifnonnull 1
            return
         1: .line 144
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.core.search.SearchEngine.getDefaultSearchParticipant:()Lorg/eclipse/jdt/core/search/SearchParticipant;
            astore 4 /* participant */
        start local 4 // org.eclipse.jdt.core.search.SearchParticipant participant
         2: .line 145
            aload 4 /* participant */
            aload 1 /* resource */
            invokeinterface org.eclipse.core.resources.IFile.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.search.SearchParticipant.getDocument:(Ljava/lang/String;)Lorg/eclipse/jdt/core/search/SearchDocument;
            astore 5 /* document */
        start local 5 // org.eclipse.jdt.core.search.SearchDocument document
         3: .line 146
            aload 5 /* document */
            aload 3 /* parser */
            invokevirtual org.eclipse.jdt.core.search.SearchDocument.setParser:(Lorg/eclipse/jdt/internal/compiler/SourceElementParser;)V
         4: .line 147
            aload 0 /* this */
            aload 2 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.computeIndexLocation:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 6 /* indexLocation */
        start local 6 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
         5: .line 148
            aload 0 /* this */
            aload 5 /* document */
            aload 2 /* containerPath */
            aload 6 /* indexLocation */
            aload 4 /* participant */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.scheduleDocumentIndexing:(Lorg/eclipse/jdt/core/search/SearchDocument;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/jdt/core/search/SearchParticipant;)V
         6: .line 149
            return
        end local 6 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 5 // org.eclipse.jdt.core.search.SearchDocument document
        end local 4 // org.eclipse.jdt.core.search.SearchParticipant participant
        end local 3 // org.eclipse.jdt.internal.compiler.SourceElementParser parser
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.core.resources.IFile resource
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    7     1       resource  Lorg/eclipse/core/resources/IFile;
            0    7     2  containerPath  Lorg/eclipse/core/runtime/IPath;
            0    7     3         parser  Lorg/eclipse/jdt/internal/compiler/SourceElementParser;
            2    7     4    participant  Lorg/eclipse/jdt/core/search/SearchParticipant;
            3    7     5       document  Lorg/eclipse/jdt/core/search/SearchDocument;
            5    7     6  indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
    MethodParameters:
               Name  Flags
      resource       
      containerPath  
      parser         

  public void cleanUpIndexes();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 154
            new org.eclipse.jdt.internal.compiler.util.SimpleSet
            dup
            invokespecial org.eclipse.jdt.internal.compiler.util.SimpleSet.<init>:()V
            astore 1 /* knownPaths */
        start local 1 // org.eclipse.jdt.internal.compiler.util.SimpleSet knownPaths
         1: .line 155
            invokestatic org.eclipse.jdt.internal.core.search.BasicSearchEngine.createWorkspaceScope:()Lorg/eclipse/jdt/core/search/IJavaSearchScope;
            astore 2 /* scope */
        start local 2 // org.eclipse.jdt.core.search.IJavaSearchScope scope
         2: .line 156
            new org.eclipse.jdt.internal.core.search.PatternSearchJob
            dup
            aconst_null
            invokestatic org.eclipse.jdt.core.search.SearchEngine.getDefaultSearchParticipant:()Lorg/eclipse/jdt/core/search/SearchParticipant;
            aload 2 /* scope */
            aconst_null
            invokespecial org.eclipse.jdt.internal.core.search.PatternSearchJob.<init>:(Lorg/eclipse/jdt/core/search/SearchPattern;Lorg/eclipse/jdt/core/search/SearchParticipant;Lorg/eclipse/jdt/core/search/IJavaSearchScope;Lorg/eclipse/jdt/internal/core/search/IndexQueryRequestor;)V
            astore 3 /* job */
        start local 3 // org.eclipse.jdt.internal.core.search.PatternSearchJob job
         3: .line 157
            aload 3 /* job */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.PatternSearchJob.getIndexes:(Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/jdt/internal/core/index/Index;
            astore 4 /* selectedIndexes */
        start local 4 // org.eclipse.jdt.internal.core.index.Index[] selectedIndexes
         4: .line 158
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: aload 4 /* selectedIndexes */
            arraylength
            istore 6 /* l */
        start local 6 // int l
         6: goto 10
         7: .line 159
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.jdt.internal.compiler.util.SimpleSet org.eclipse.jdt.core.search.IJavaSearchScope org.eclipse.jdt.internal.core.search.PatternSearchJob org.eclipse.jdt.internal.core.index.Index[] int int
      StackMap stack:
            aload 4 /* selectedIndexes */
            iload 5 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.index.Index.getIndexLocation:()Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 7 /* IndexLocation */
        start local 7 // org.eclipse.jdt.internal.core.index.IndexLocation IndexLocation
         8: .line 160
            aload 1 /* knownPaths */
            aload 7 /* IndexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleSet.add:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // org.eclipse.jdt.internal.core.index.IndexLocation IndexLocation
         9: .line 158
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 6 /* l */
            if_icmplt 7
        end local 6 // int l
        end local 5 // int i
        11: .line 163
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            ifnull 25
        12: .line 164
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.keyTable:[Ljava/lang/Object;
            astore 5 /* keys */
        start local 5 // java.lang.Object[] keys
        13: .line 165
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.elementSize:I
            anewarray org.eclipse.jdt.internal.core.index.IndexLocation
            astore 6 /* locations */
        start local 6 // org.eclipse.jdt.internal.core.index.IndexLocation[] locations
        14: .line 166
            iconst_0
            istore 7 /* count */
        start local 7 // int count
        15: .line 167
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        16: aload 5 /* keys */
            arraylength
            istore 9 /* l */
        start local 9 // int l
        17: goto 22
        18: .line 168
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.jdt.internal.compiler.util.SimpleSet org.eclipse.jdt.core.search.IJavaSearchScope org.eclipse.jdt.internal.core.search.PatternSearchJob org.eclipse.jdt.internal.core.index.Index[] java.lang.Object[] org.eclipse.jdt.internal.core.index.IndexLocation[] int int int
      StackMap stack:
            aload 5 /* keys */
            iload 8 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.index.IndexLocation
            astore 10 /* key */
        start local 10 // org.eclipse.jdt.internal.core.index.IndexLocation key
        19: .line 169
            aload 10 /* key */
            ifnull 21
            aload 1 /* knownPaths */
            aload 10 /* key */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleSet.includes:(Ljava/lang/Object;)Z
            ifne 21
        20: .line 170
            aload 6 /* locations */
            iload 7 /* count */
            iinc 7 /* count */ 1
            aload 10 /* key */
            aastore
        end local 10 // org.eclipse.jdt.internal.core.index.IndexLocation key
        21: .line 167
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 8 /* i */
            iload 9 /* l */
            if_icmplt 18
        end local 9 // int l
        end local 8 // int i
        23: .line 172
            iload 7 /* count */
            ifle 25
        24: .line 173
            aload 0 /* this */
            aload 6 /* locations */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.removeIndexesState:([Lorg/eclipse/jdt/internal/core/index/IndexLocation;)V
        end local 7 // int count
        end local 6 // org.eclipse.jdt.internal.core.index.IndexLocation[] locations
        end local 5 // java.lang.Object[] keys
        25: .line 175
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.jdt.internal.compiler.util.SimpleSet org.eclipse.jdt.core.search.IJavaSearchScope org.eclipse.jdt.internal.core.search.PatternSearchJob org.eclipse.jdt.internal.core.index.Index[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* knownPaths */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.deleteIndexFiles:(Lorg/eclipse/jdt/internal/compiler/util/SimpleSet;Lorg/eclipse/core/runtime/IProgressMonitor;)V
        26: .line 176
            return
        end local 4 // org.eclipse.jdt.internal.core.index.Index[] selectedIndexes
        end local 3 // org.eclipse.jdt.internal.core.search.PatternSearchJob job
        end local 2 // org.eclipse.jdt.core.search.IJavaSearchScope scope
        end local 1 // org.eclipse.jdt.internal.compiler.util.SimpleSet knownPaths
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   27     0             this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            1   27     1       knownPaths  Lorg/eclipse/jdt/internal/compiler/util/SimpleSet;
            2   27     2            scope  Lorg/eclipse/jdt/core/search/IJavaSearchScope;
            3   27     3              job  Lorg/eclipse/jdt/internal/core/search/PatternSearchJob;
            4   27     4  selectedIndexes  [Lorg/eclipse/jdt/internal/core/index/Index;
            5   11     5                i  I
            6   11     6                l  I
            8    9     7    IndexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
           13   25     5             keys  [Ljava/lang/Object;
           14   25     6        locations  [Lorg/eclipse/jdt/internal/core/index/IndexLocation;
           15   25     7            count  I
           16   23     8                i  I
           17   23     9                l  I
           19   21    10              key  Lorg/eclipse/jdt/internal/core/index/IndexLocation;

  public synchronized org.eclipse.jdt.internal.core.index.IndexLocation computeIndexLocation(org.eclipse.core.runtime.IPath, java.net.URL);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Ljava/net/URL;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
        start local 2 // java.net.URL newIndexURL
         0: .line 181
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.index.IndexLocation
            astore 3 /* indexLocation */
        start local 3 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
         1: .line 182
            aload 3 /* indexLocation */
            ifnonnull 7
         2: .line 183
            aload 2 /* newIndexURL */
            ifnull 14
         3: .line 184
            aload 2 /* newIndexURL */
            invokestatic org.eclipse.jdt.internal.core.index.IndexLocation.createIndexLocation:(Ljava/net/URL;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 3 /* indexLocation */
         4: .line 186
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndexStates:()Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 3 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.getKey:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.index.IndexLocation
            astore 3 /* indexLocation */
         5: .line 187
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* containerPath */
            aload 3 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 189
            goto 14
         7: .line 192
      StackMap locals: org.eclipse.jdt.internal.core.index.IndexLocation
      StackMap stack:
            aload 3 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.core.index.IndexLocation.getUrl:()Ljava/net/URL;
            astore 4 /* existingURL */
        start local 4 // java.net.URL existingURL
         8: .line 193
            aload 2 /* newIndexURL */
            ifnull 14
         9: .line 195
            aload 2 /* newIndexURL */
            aload 4 /* existingURL */
            invokevirtual java.net.URL.equals:(Ljava/lang/Object;)Z
            ifne 14
        10: .line 197
            aload 0 /* this */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.removeIndex:(Lorg/eclipse/core/runtime/IPath;)V
        11: .line 199
            aload 2 /* newIndexURL */
            invokestatic org.eclipse.jdt.internal.core.index.IndexLocation.createIndexLocation:(Ljava/net/URL;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 3 /* indexLocation */
        12: .line 201
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndexStates:()Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 3 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.getKey:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.index.IndexLocation
            astore 3 /* indexLocation */
        13: .line 202
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* containerPath */
            aload 3 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.net.URL existingURL
        14: .line 206
      StackMap locals:
      StackMap stack:
            aload 3 /* indexLocation */
            areturn
        end local 3 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 2 // java.net.URL newIndexURL
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   15     1  containerPath  Lorg/eclipse/core/runtime/IPath;
            0   15     2    newIndexURL  Ljava/net/URL;
            1   15     3  indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            8   14     4    existingURL  Ljava/net/URL;
    MethodParameters:
               Name  Flags
      containerPath  
      newIndexURL    final

  public synchronized org.eclipse.jdt.internal.core.index.IndexLocation computeIndexLocation(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
         0: .line 209
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.index.IndexLocation
            astore 2 /* indexLocation */
        start local 2 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
         1: .line 210
            aload 2 /* indexLocation */
            ifnonnull 10
         2: .line 211
            aload 1 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            astore 3 /* pathString */
        start local 3 // java.lang.String pathString
         3: .line 212
            new java.util.zip.CRC32
            dup
            invokespecial java.util.zip.CRC32.<init>:()V
            astore 4 /* checksumCalculator */
        start local 4 // java.util.zip.CRC32 checksumCalculator
         4: .line 213
            aload 4 /* checksumCalculator */
            aload 3 /* pathString */
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual java.util.zip.CRC32.update:([B)V
         5: .line 214
            new java.lang.StringBuilder
            dup
            aload 4 /* checksumCalculator */
            invokevirtual java.util.zip.CRC32.getValue:()J
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".index"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* fileName */
        start local 5 // java.lang.String fileName
         6: .line 215
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 8
         7: .line 216
            new java.lang.StringBuilder
            dup
            ldc "-> index name for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* pathString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* fileName */
            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.verbose:(Ljava/lang/String;)V
         8: .line 218
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.core.runtime.IPath org.eclipse.jdt.internal.core.index.IndexLocation java.lang.String java.util.zip.CRC32 java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndexStates:()Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            new org.eclipse.jdt.internal.core.index.FileIndexLocation
            dup
            new java.io.File
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getSavedIndexesDirectory:()Ljava/io/File;
            aload 5 /* fileName */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokespecial org.eclipse.jdt.internal.core.index.FileIndexLocation.<init>:(Ljava/io/File;)V
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.getKey:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.index.IndexLocation
            astore 2 /* indexLocation */
         9: .line 219
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* containerPath */
            aload 2 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.String fileName
        end local 4 // java.util.zip.CRC32 checksumCalculator
        end local 3 // java.lang.String pathString
        10: .line 221
      StackMap locals:
      StackMap stack:
            aload 2 /* indexLocation */
            areturn
        end local 2 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0                this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   11     1       containerPath  Lorg/eclipse/core/runtime/IPath;
            1   11     2       indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            3   10     3          pathString  Ljava/lang/String;
            4   10     4  checksumCalculator  Ljava/util/zip/CRC32;
            6   10     5            fileName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      containerPath  

  public final void deleteIndexFiles();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 227
            aload 0 /* this */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.deleteIndexFiles:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         1: .line 228
            return
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;

  public void deleteIndexFiles(org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 230
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.DEBUG:Z
            ifeq 2
         1: .line 231
            ldc "Deleting index files"
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         2: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.nameRegistry:Lorg/eclipse/jdt/internal/core/search/indexing/IndexNamesRegistry;
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexNamesRegistry.delete:()V
         3: .line 233
            aload 0 /* this */
            aconst_null
            aload 1 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.deleteIndexFiles:(Lorg/eclipse/jdt/internal/compiler/util/SimpleSet;Lorg/eclipse/core/runtime/IProgressMonitor;)V
         4: .line 234
            return
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    5     1  monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    MethodParameters:
         Name  Flags
      monitor  

  private void deleteIndexFiles(org.eclipse.jdt.internal.compiler.util.SimpleSet, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/util/SimpleSet;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.internal.compiler.util.SimpleSet pathsToKeep
        start local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 236
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getSavedIndexesDirectory:()Ljava/io/File;
            invokevirtual java.io.File.listFiles:()[Ljava/io/File;
            astore 3 /* indexesFiles */
        start local 3 // java.io.File[] indexesFiles
         1: .line 237
            aload 3 /* indexesFiles */
            ifnonnull 2
            return
         2: .line 239
      StackMap locals: java.io.File[]
      StackMap stack:
            aload 2 /* monitor */
            aload 3 /* indexesFiles */
            arraylength
            invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
            astore 4 /* subMonitor */
        start local 4 // org.eclipse.core.runtime.SubMonitor subMonitor
         3: .line 240
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: aload 3 /* indexesFiles */
            arraylength
            istore 6 /* l */
        start local 6 // int l
         5: goto 15
         6: .line 241
      StackMap locals: org.eclipse.core.runtime.SubMonitor int int
      StackMap stack:
            aload 4 /* subMonitor */
            iconst_1
            invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
            pop
         7: .line 242
            aload 3 /* indexesFiles */
            iload 5 /* i */
            aaload
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 7 /* fileName */
        start local 7 // java.lang.String fileName
         8: .line 243
            aload 1 /* pathsToKeep */
            ifnull 9
            aload 1 /* pathsToKeep */
            new org.eclipse.jdt.internal.core.index.FileIndexLocation
            dup
            aload 3 /* indexesFiles */
            iload 5 /* i */
            aaload
            invokespecial org.eclipse.jdt.internal.core.index.FileIndexLocation.<init>:(Ljava/io/File;)V
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleSet.includes:(Ljava/lang/Object;)Z
            ifeq 9
            goto 14
         9: .line 244
      StackMap locals: java.lang.String
      StackMap stack:
            ldc ".index"
            astore 8 /* suffix */
        start local 8 // java.lang.String suffix
        10: .line 245
            aload 7 /* fileName */
            iconst_1
            aload 7 /* fileName */
            invokevirtual java.lang.String.length:()I
            aload 8 /* suffix */
            invokevirtual java.lang.String.length:()I
            isub
            aload 8 /* suffix */
            iconst_0
            aload 8 /* suffix */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
            ifeq 14
        11: .line 246
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifne 12
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.DEBUG:Z
            ifeq 13
        12: .line 247
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Deleting index file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* indexesFiles */
            iload 5 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        13: .line 248
      StackMap locals:
      StackMap stack:
            aload 3 /* indexesFiles */
            iload 5 /* i */
            aaload
            invokevirtual java.io.File.delete:()Z
            pop
        end local 8 // java.lang.String suffix
        end local 7 // java.lang.String fileName
        14: .line 240
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            iload 6 /* l */
            if_icmplt 6
        end local 6 // int l
        end local 5 // int i
        16: .line 251
            return
        end local 4 // org.eclipse.core.runtime.SubMonitor subMonitor
        end local 3 // java.io.File[] indexesFiles
        end local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 1 // org.eclipse.jdt.internal.compiler.util.SimpleSet pathsToKeep
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   17     1   pathsToKeep  Lorg/eclipse/jdt/internal/compiler/util/SimpleSet;
            0   17     2       monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1   17     3  indexesFiles  [Ljava/io/File;
            3   17     4    subMonitor  Lorg/eclipse/core/runtime/SubMonitor;
            4   16     5             i  I
            5   16     6             l  I
            8   14     7      fileName  Ljava/lang/String;
           10   14     8        suffix  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      pathsToKeep  
      monitor      

  public synchronized void ensureIndexExists(org.eclipse.jdt.internal.core.index.IndexLocation, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         0: .line 258
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndexStates:()Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            astore 3 /* states */
        start local 3 // org.eclipse.jdt.internal.compiler.util.SimpleLookupTable states
         1: .line 259
            aload 3 /* states */
            aload 1 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* state */
        start local 4 // java.lang.Object state
         2: .line 260
            aload 4 /* state */
            ifnonnull 5
         3: .line 261
            aload 0 /* this */
            aload 1 /* indexLocation */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REBUILDING_STATE:Ljava/lang/Integer;
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.updateIndexState:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Ljava/lang/Integer;)V
         4: .line 262
            aload 0 /* this */
            aload 2 /* containerPath */
            aload 1 /* indexLocation */
            iconst_1
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndex:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/index/IndexLocation;ZZ)Lorg/eclipse/jdt/internal/core/index/Index;
            pop
         5: .line 264
      StackMap locals: org.eclipse.jdt.internal.compiler.util.SimpleLookupTable java.lang.Object
      StackMap stack:
            return
        end local 4 // java.lang.Object state
        end local 3 // org.eclipse.jdt.internal.compiler.util.SimpleLookupTable states
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    6     1  indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            0    6     2  containerPath  Lorg/eclipse/core/runtime/IPath;
            1    6     3         states  Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            2    6     4          state  Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      indexLocation  
      containerPath  

  public org.eclipse.jdt.internal.compiler.SourceElementParser getSourceElementParser(org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.internal.compiler.ISourceElementRequestor);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/internal/compiler/ISourceElementRequestor;)Lorg/eclipse/jdt/internal/compiler/SourceElementParser;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.jdt.internal.compiler.ISourceElementRequestor requestor
         0: .line 267
            aload 1 /* project */
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOptions:(Z)Ljava/util/Map;
            astore 3 /* options */
        start local 3 // java.util.Map options
         1: .line 268
            aload 3 /* options */
            ldc "org.eclipse.jdt.core.compiler.taskTags"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 270
            new org.eclipse.jdt.internal.core.search.indexing.IndexingParser
            dup
         3: .line 271
            aload 2 /* requestor */
         4: .line 272
            new org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory
            dup
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokespecial org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory.<init>:(Ljava/util/Locale;)V
         5: .line 273
            new org.eclipse.jdt.internal.compiler.impl.CompilerOptions
            dup
            aload 3 /* options */
            invokespecial org.eclipse.jdt.internal.compiler.impl.CompilerOptions.<init>:(Ljava/util/Map;)V
         6: .line 274
            iconst_1
         7: .line 275
            iconst_1
         8: .line 276
            iconst_0
         9: .line 270
            invokespecial org.eclipse.jdt.internal.core.search.indexing.IndexingParser.<init>:(Lorg/eclipse/jdt/internal/compiler/ISourceElementRequestor;Lorg/eclipse/jdt/internal/compiler/IProblemFactory;Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;ZZZ)V
            astore 4 /* parser */
        start local 4 // org.eclipse.jdt.internal.compiler.SourceElementParser parser
        10: .line 277
            aload 4 /* parser */
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.SourceElementParser.reportOnlyOneSyntaxError:Z
        11: .line 280
            aload 4 /* parser */
            getfield org.eclipse.jdt.internal.compiler.SourceElementParser.javadocParser:Lorg/eclipse/jdt/internal/compiler/parser/JavadocParser;
            iconst_1
            putfield org.eclipse.jdt.internal.compiler.parser.JavadocParser.checkDocComment:Z
        12: .line 281
            aload 4 /* parser */
            getfield org.eclipse.jdt.internal.compiler.SourceElementParser.javadocParser:Lorg/eclipse/jdt/internal/compiler/parser/JavadocParser;
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.parser.JavadocParser.reportProblems:Z
        13: .line 283
            aload 4 /* parser */
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.SourceElementParser parser
        end local 3 // java.util.Map options
        end local 2 // org.eclipse.jdt.internal.compiler.ISourceElementRequestor requestor
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   14     1    project  Lorg/eclipse/jdt/core/IJavaProject;
            0   14     2  requestor  Lorg/eclipse/jdt/internal/compiler/ISourceElementRequestor;
            1   14     3    options  Ljava/util/Map;
           10   14     4     parser  Lorg/eclipse/jdt/internal/compiler/SourceElementParser;
    MethodParameters:
           Name  Flags
      project    
      requestor  

  public synchronized org.eclipse.jdt.internal.core.index.Index getIndex(org.eclipse.jdt.internal.core.index.IndexLocation);
    descriptor: (Lorg/eclipse/jdt/internal/core/index/IndexLocation;)Lorg/eclipse/jdt/internal/core/index/Index;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
         0: .line 292
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.index.Index
            areturn
        end local 1 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    1     1  indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
    MethodParameters:
               Name  Flags
      indexLocation  

  public synchronized org.eclipse.jdt.internal.core.index.Index getIndex(org.eclipse.core.runtime.IPath, boolean, boolean);
    descriptor: (Lorg/eclipse/core/runtime/IPath;ZZ)Lorg/eclipse/jdt/internal/core/index/Index;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
        start local 2 // boolean reuseExistingFile
        start local 3 // boolean createIfMissing
         0: .line 303
            aload 0 /* this */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.computeIndexLocation:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 4 /* indexLocation */
        start local 4 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
         1: .line 304
            aload 0 /* this */
            aload 1 /* containerPath */
            aload 4 /* indexLocation */
            iload 2 /* reuseExistingFile */
            iload 3 /* createIfMissing */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndex:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/index/IndexLocation;ZZ)Lorg/eclipse/jdt/internal/core/index/Index;
            areturn
        end local 4 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 3 // boolean createIfMissing
        end local 2 // boolean reuseExistingFile
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    2     1      containerPath  Lorg/eclipse/core/runtime/IPath;
            0    2     2  reuseExistingFile  Z
            0    2     3    createIfMissing  Z
            1    2     4      indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
    MethodParameters:
                   Name  Flags
      containerPath      
      reuseExistingFile  
      createIfMissing    

  public synchronized org.eclipse.jdt.internal.core.index.Index getIndex(org.eclipse.core.runtime.IPath, org.eclipse.jdt.internal.core.index.IndexLocation, boolean, boolean);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/index/IndexLocation;ZZ)Lorg/eclipse/jdt/internal/core/index/Index;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
        start local 2 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        start local 3 // boolean reuseExistingFile
        start local 4 // boolean createIfMissing
         0: .line 316
            aload 0 /* this */
            aload 2 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndex:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;)Lorg/eclipse/jdt/internal/core/index/Index;
            astore 5 /* index */
        start local 5 // org.eclipse.jdt.internal.core.index.Index index
         1: .line 317
            aload 5 /* index */
            ifnonnull 48
         2: .line 318
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndexStates:()Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 2 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* state */
        start local 6 // java.lang.Object state
         3: .line 319
            aload 6 /* state */
            ifnonnull 4
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.UNKNOWN_STATE:Ljava/lang/Integer;
            goto 5
      StackMap locals: org.eclipse.jdt.internal.core.index.Index java.lang.Object
      StackMap stack:
         4: aload 6 /* state */
            checkcast java.lang.Integer
      StackMap locals:
      StackMap stack: java.lang.Integer
         5: astore 7 /* currentIndexState */
        start local 7 // java.lang.Integer currentIndexState
         6: .line 320
            aload 7 /* currentIndexState */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.UNKNOWN_STATE:Ljava/lang/Integer;
            if_acmpne 9
         7: .line 323
            aload 0 /* this */
            aload 2 /* indexLocation */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.rebuildIndex:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/core/runtime/IPath;)V
         8: .line 324
            aconst_null
            areturn
         9: .line 328
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 1 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
            ifnonnull 10
            aload 1 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 1 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        11: astore 8 /* containerPathString */
        start local 8 // java.lang.String containerPathString
        12: .line 329
            iload 3 /* reuseExistingFile */
            ifeq 37
        13: .line 330
            aload 2 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.core.index.IndexLocation.exists:()Z
            ifeq 24
        14: .line 332
            new org.eclipse.jdt.internal.core.index.Index
            dup
            aload 2 /* indexLocation */
            aload 8 /* containerPathString */
            iconst_1
            invokespecial org.eclipse.jdt.internal.core.index.Index.<init>:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Ljava/lang/String;Z)V
            astore 5 /* index */
        15: .line 333
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 2 /* indexLocation */
            aload 5 /* index */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 334
            aload 5 /* index */
        17: areturn
        18: .line 335
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.core.runtime.IPath org.eclipse.jdt.internal.core.index.IndexLocation int int org.eclipse.jdt.internal.core.index.Index java.lang.Object java.lang.Integer java.lang.String
      StackMap stack: java.io.IOException
            pop
        19: .line 337
            aload 7 /* currentIndexState */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REBUILDING_STATE:Ljava/lang/Integer;
            if_acmpeq 24
            aload 7 /* currentIndexState */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REUSE_STATE:Ljava/lang/Integer;
            if_acmpeq 24
        20: .line 338
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 22
        21: .line 339
            new java.lang.StringBuilder
            dup
            ldc "-> cannot reuse existing index: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* indexLocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " path: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* containerPathString */
            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.verbose:(Ljava/lang/String;)V
        22: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* indexLocation */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.rebuildIndex:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/core/runtime/IPath;)V
        23: .line 341
            aconst_null
            areturn
        24: .line 346
      StackMap locals:
      StackMap stack:
            aload 7 /* currentIndexState */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.SAVED_STATE:Ljava/lang/Integer;
            if_acmpne 27
        25: .line 347
            aload 0 /* this */
            aload 2 /* indexLocation */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.rebuildIndex:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/core/runtime/IPath;)V
        26: .line 348
            aconst_null
            areturn
        27: .line 350
      StackMap locals:
      StackMap stack:
            aload 7 /* currentIndexState */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REUSE_STATE:Ljava/lang/Integer;
            if_acmpne 37
        28: .line 352
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 30
        29: .line 353
            new java.lang.StringBuilder
            dup
            ldc "-> cannot reuse given index: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* indexLocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " path: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* containerPathString */
            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.verbose:(Ljava/lang/String;)V
        30: .line 354
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.IS_MANAGING_PRODUCT_INDEXES_PROPERTY:Z
            ifne 35
        31: .line 355
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* containerPath */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 356
            aload 0 /* this */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.computeIndexLocation:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 2 /* indexLocation */
        33: .line 357
            aload 0 /* this */
            aload 2 /* indexLocation */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.rebuildIndex:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/core/runtime/IPath;)V
        34: .line 358
            goto 36
        35: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* indexLocation */
            aload 1 /* containerPath */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.rebuildIndex:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/core/runtime/IPath;Z)V
        36: .line 362
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        37: .line 366
      StackMap locals:
      StackMap stack:
            iload 4 /* createIfMissing */
            ifeq 48
        38: .line 368
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 40
        39: .line 369
            new java.lang.StringBuilder
            dup
            ldc "-> create empty index: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* indexLocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " path: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* containerPathString */
            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.verbose:(Ljava/lang/String;)V
        40: .line 370
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.index.Index
            dup
            aload 2 /* indexLocation */
            aload 8 /* containerPathString */
            iconst_0
            invokespecial org.eclipse.jdt.internal.core.index.Index.<init>:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Ljava/lang/String;Z)V
            astore 5 /* index */
        41: .line 371
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 2 /* indexLocation */
            aload 5 /* index */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        42: .line 372
            aload 5 /* index */
        43: areturn
        44: .line 373
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        45: .line 374
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 47
        46: .line 375
            new java.lang.StringBuilder
            dup
            ldc "-> unable to create empty index: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* indexLocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " path: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* containerPathString */
            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.verbose:(Ljava/lang/String;)V
        47: .line 377
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 8 // java.lang.String containerPathString
        end local 7 // java.lang.Integer currentIndexState
        end local 6 // java.lang.Object state
        48: .line 382
      StackMap locals:
      StackMap stack:
            aload 5 /* index */
            areturn
        end local 5 // org.eclipse.jdt.internal.core.index.Index index
        end local 4 // boolean createIfMissing
        end local 3 // boolean reuseExistingFile
        end local 2 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   49     0                 this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   49     1        containerPath  Lorg/eclipse/core/runtime/IPath;
            0   49     2        indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            0   49     3    reuseExistingFile  Z
            0   49     4      createIfMissing  Z
            1   49     5                index  Lorg/eclipse/jdt/internal/core/index/Index;
            3   48     6                state  Ljava/lang/Object;
            6   48     7    currentIndexState  Ljava/lang/Integer;
           12   48     8  containerPathString  Ljava/lang/String;
      Exception table:
        from    to  target  type
          14    17      18  Class java.io.IOException
          38    43      44  Class java.io.IOException
    MethodParameters:
                   Name  Flags
      containerPath      
      indexLocation      
      reuseExistingFile  
      createIfMissing    

  public org.eclipse.jdt.internal.core.index.Index[] getIndexes(org.eclipse.jdt.internal.core.index.IndexLocation[], org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/jdt/internal/core/index/Index;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.internal.core.index.IndexLocation[] locations
        start local 2 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
         0: .line 393
            aload 1 /* locations */
            arraylength
            istore 3 /* length */
        start local 3 // int length
         1: .line 394
            iload 3 /* length */
            anewarray org.eclipse.jdt.internal.core.index.Index
            astore 4 /* locatedIndexes */
        start local 4 // org.eclipse.jdt.internal.core.index.Index[] locatedIndexes
         2: .line 395
            iconst_0
            istore 5 /* count */
        start local 5 // int count
         3: .line 396
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.javaLikeNamesChanged:Z
            ifeq 5
         4: .line 397
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.hasJavaLikeNamesChanged:()Z
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.javaLikeNamesChanged:Z
         5: .line 399
      StackMap locals: int org.eclipse.jdt.internal.core.index.Index[] int
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 35
         7: .line 400
      StackMap locals: int
      StackMap stack:
            aload 2 /* progressMonitor */
            ifnull 9
            aload 2 /* progressMonitor */
            invokeinterface org.eclipse.core.runtime.IProgressMonitor.isCanceled:()Z
            ifeq 9
         8: .line 401
            new org.eclipse.core.runtime.OperationCanceledException
            dup
            invokespecial org.eclipse.core.runtime.OperationCanceledException.<init>:()V
            athrow
         9: .line 404
      StackMap locals:
      StackMap stack:
            aload 1 /* locations */
            iload 6 /* i */
            aaload
            astore 7 /* indexLocation */
        start local 7 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        10: .line 405
            aload 0 /* this */
            aload 7 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndex:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;)Lorg/eclipse/jdt/internal/core/index/Index;
            astore 8 /* index */
        start local 8 // org.eclipse.jdt.internal.core.index.Index index
        11: .line 406
            aload 8 /* index */
            ifnonnull 32
        12: .line 408
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 7 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.keyForValue:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            astore 9 /* containerPath */
        start local 9 // org.eclipse.core.runtime.IPath containerPath
        13: .line 409
            aload 9 /* containerPath */
            ifnull 25
        14: .line 410
            aload 0 /* this */
            aload 9 /* containerPath */
            aload 7 /* indexLocation */
            iconst_1
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndex:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/index/IndexLocation;ZZ)Lorg/eclipse/jdt/internal/core/index/Index;
            astore 8 /* index */
        15: .line 411
            aload 8 /* index */
            ifnull 32
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.javaLikeNamesChanged:Z
            ifeq 32
            aload 8 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.isIndexForJar:()Z
            ifne 32
        16: .line 415
            aload 8 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.getIndexFile:()Ljava/io/File;
            astore 10 /* indexFile */
        start local 10 // java.io.File indexFile
        17: .line 416
            aload 10 /* indexFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 21
        18: .line 417
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.DEBUG:Z
            ifeq 20
        19: .line 418
            new java.lang.StringBuilder
            dup
            ldc "Change in javaLikeNames - removing index file for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* containerPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        20: .line 419
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.jdt.internal.core.index.IndexLocation[] org.eclipse.core.runtime.IProgressMonitor int org.eclipse.jdt.internal.core.index.Index[] int int org.eclipse.jdt.internal.core.index.IndexLocation org.eclipse.jdt.internal.core.index.Index org.eclipse.core.runtime.IPath java.io.File
      StackMap stack:
            aload 10 /* indexFile */
            invokevirtual java.io.File.delete:()Z
            pop
        21: .line 421
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 7 /* indexLocation */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 422
            aload 0 /* this */
            aload 7 /* indexLocation */
            aload 9 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.rebuildIndex:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/core/runtime/IPath;)V
        23: .line 423
            aconst_null
            astore 8 /* index */
        end local 10 // java.io.File indexFile
        24: .line 425
            goto 32
        25: .line 426
      StackMap locals:
      StackMap stack:
            aload 7 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.core.index.IndexLocation.isParticipantIndex:()Z
            ifeq 32
            aload 7 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.core.index.IndexLocation.exists:()Z
            ifeq 32
        26: .line 428
            aload 0 /* this */
            aload 7 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getParticipantsContainer:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;)Lorg/eclipse/core/runtime/IPath;
            astore 10 /* container */
        start local 10 // org.eclipse.core.runtime.IPath container
        27: .line 429
            aload 10 /* container */
            ifnull 32
        28: .line 430
            new org.eclipse.jdt.internal.core.index.Index
            dup
            aload 7 /* indexLocation */
            aload 10 /* container */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            iconst_1
            invokespecial org.eclipse.jdt.internal.core.index.Index.<init>:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Ljava/lang/String;Z)V
            astore 8 /* index */
        29: .line 431
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 7 /* indexLocation */
            aload 8 /* index */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // org.eclipse.core.runtime.IPath container
        30: .line 433
            goto 32
      StackMap locals:
      StackMap stack: java.io.IOException
        31: pop
        end local 9 // org.eclipse.core.runtime.IPath containerPath
        32: .line 439
      StackMap locals:
      StackMap stack:
            aload 8 /* index */
            ifnull 34
        33: .line 440
            aload 4 /* locatedIndexes */
            iload 5 /* count */
            iinc 5 /* count */ 1
            aload 8 /* index */
            aastore
        end local 8 // org.eclipse.jdt.internal.core.index.Index index
        end local 7 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        34: .line 399
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 6 /* i */
            iload 3 /* length */
            if_icmplt 7
        end local 6 // int i
        36: .line 442
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.javaLikeNamesChanged:Z
            ifeq 39
        37: .line 443
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.writeJavaLikeNamesFile:()V
        38: .line 444
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.javaLikeNamesChanged:Z
        39: .line 446
      StackMap locals:
      StackMap stack:
            iload 5 /* count */
            iload 3 /* length */
            if_icmpge 41
        40: .line 447
            aload 4 /* locatedIndexes */
            iconst_0
            iload 5 /* count */
            anewarray org.eclipse.jdt.internal.core.index.Index
            dup
            astore 4 /* locatedIndexes */
            iconst_0
            iload 5 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        41: .line 449
      StackMap locals:
      StackMap stack:
            aload 4 /* locatedIndexes */
            areturn
        end local 5 // int count
        end local 4 // org.eclipse.jdt.internal.core.index.Index[] locatedIndexes
        end local 3 // int length
        end local 2 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
        end local 1 // org.eclipse.jdt.internal.core.index.IndexLocation[] locations
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   42     0             this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   42     1        locations  [Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            0   42     2  progressMonitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1   42     3           length  I
            2   42     4   locatedIndexes  [Lorg/eclipse/jdt/internal/core/index/Index;
            3   42     5            count  I
            6   36     6                i  I
           10   34     7    indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
           11   34     8            index  Lorg/eclipse/jdt/internal/core/index/Index;
           13   32     9    containerPath  Lorg/eclipse/core/runtime/IPath;
           17   24    10        indexFile  Ljava/io/File;
           27   30    10        container  Lorg/eclipse/core/runtime/IPath;
      Exception table:
        from    to  target  type
          26    30      31  Class java.io.IOException
    MethodParameters:
                 Name  Flags
      locations        
      progressMonitor  

  public synchronized org.eclipse.jdt.internal.core.index.Index getIndexForUpdate(org.eclipse.core.runtime.IPath, boolean, boolean);
    descriptor: (Lorg/eclipse/core/runtime/IPath;ZZ)Lorg/eclipse/jdt/internal/core/index/Index;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
        start local 2 // boolean reuseExistingFile
        start local 3 // boolean createIfMissing
         0: .line 452
            aload 0 /* this */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.computeIndexLocation:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 4 /* indexLocation */
        start local 4 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
         1: .line 453
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndexStates:()Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 4 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REBUILDING_STATE:Ljava/lang/Integer;
            if_acmpne 3
         2: .line 454
            aload 0 /* this */
            aload 1 /* containerPath */
            aload 4 /* indexLocation */
            iload 2 /* reuseExistingFile */
            iload 3 /* createIfMissing */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndex:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/index/IndexLocation;ZZ)Lorg/eclipse/jdt/internal/core/index/Index;
            areturn
         3: .line 456
      StackMap locals: org.eclipse.jdt.internal.core.index.IndexLocation
      StackMap stack:
            aconst_null
            areturn
        end local 4 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 3 // boolean createIfMissing
        end local 2 // boolean reuseExistingFile
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    4     1      containerPath  Lorg/eclipse/core/runtime/IPath;
            0    4     2  reuseExistingFile  Z
            0    4     3    createIfMissing  Z
            1    4     4      indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
    MethodParameters:
                   Name  Flags
      containerPath      
      reuseExistingFile  
      createIfMissing    

  private org.eclipse.jdt.internal.compiler.util.SimpleLookupTable getIndexStates();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 459
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            areturn
         1: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.util.SimpleLookupTable
            dup
            invokespecial org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.<init>:()V
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
         2: .line 462
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getSavedIndexesDirectory:()Ljava/io/File;
            astore 1 /* indexesDirectoryPath */
        start local 1 // java.io.File indexesDirectoryPath
         3: .line 463
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.nameRegistry:Lorg/eclipse/jdt/internal/core/search/indexing/IndexNamesRegistry;
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexNamesRegistry.read:(Lorg/eclipse/core/runtime/IProgressMonitor;)[[C
            astore 2 /* savedNames */
        start local 2 // char[][] savedNames
         4: .line 464
            aload 2 /* savedNames */
            ifnull 17
         5: .line 465
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         6: aload 2 /* savedNames */
            arraylength
            istore 4 /* l */
        start local 4 // int l
         7: goto 15
         8: .line 466
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.io.File char[][] int int
      StackMap stack:
            aload 2 /* savedNames */
            iload 3 /* i */
            aaload
            astore 5 /* savedName */
        start local 5 // char[] savedName
         9: .line 467
            aload 5 /* savedName */
            arraylength
            ifle 14
        10: .line 468
            new org.eclipse.jdt.internal.core.index.FileIndexLocation
            dup
            new java.io.File
            dup
            aload 1 /* indexesDirectoryPath */
            aload 5 /* savedName */
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokespecial org.eclipse.jdt.internal.core.index.FileIndexLocation.<init>:(Ljava/io/File;)V
            astore 6 /* indexLocation */
        start local 6 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        11: .line 469
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 13
        12: .line 470
            new java.lang.StringBuilder
            dup
            ldc "Reading saved index file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* indexLocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        13: .line 471
      StackMap locals: char[] org.eclipse.jdt.internal.core.index.IndexLocation
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 6 /* indexLocation */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.SAVED_STATE:Ljava/lang/Integer;
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 5 // char[] savedName
        14: .line 465
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            iload 4 /* l */
            if_icmplt 8
        end local 4 // int l
        end local 3 // int i
        16: .line 474
            goto 20
        17: .line 477
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.writeJavaLikeNamesFile:()V
        18: .line 478
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.javaLikeNamesChanged:Z
        19: .line 479
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.deleteIndexFiles:()V
        20: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.readIndexMap:()V
        21: .line 482
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            areturn
        end local 2 // char[][] savedNames
        end local 1 // java.io.File indexesDirectoryPath
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   22     0                  this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            3   22     1  indexesDirectoryPath  Ljava/io/File;
            4   22     2            savedNames  [[C
            6   16     3                     i  I
            7   16     4                     l  I
            9   14     5             savedName  [C
           11   14     6         indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;

  private org.eclipse.core.runtime.IPath getParticipantsContainer(org.eclipse.jdt.internal.core.index.IndexLocation);
    descriptor: (Lorg/eclipse/jdt/internal/core/index/IndexLocation;)Lorg/eclipse/core/runtime/IPath;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
         0: .line 485
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantsContainers:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            ifnonnull 2
         1: .line 486
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.readParticipantsIndexNamesFile:()V
         2: .line 488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantsContainers:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            areturn
        end local 1 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    3     1  indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
    MethodParameters:
               Name  Flags
      indexLocation  

  private org.eclipse.core.runtime.IPath getJavaPluginWorkingLocation();
    descriptor: ()Lorg/eclipse/core/runtime/IPath;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 491
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.javaPluginLocation:Lorg/eclipse/core/runtime/IPath;
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.javaPluginLocation:Lorg/eclipse/core/runtime/IPath;
            areturn
         1: .line 493
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.core.JavaCore.getPlugin:()Lorg/eclipse/core/runtime/Plugin;
            invokevirtual org.eclipse.core.runtime.Plugin.getStateLocation:()Lorg/eclipse/core/runtime/IPath;
            astore 1 /* stateLocation */
        start local 1 // org.eclipse.core.runtime.IPath stateLocation
         2: .line 494
            aload 0 /* this */
            aload 1 /* stateLocation */
            dup_x1
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.javaPluginLocation:Lorg/eclipse/core/runtime/IPath;
            areturn
        end local 1 // org.eclipse.core.runtime.IPath stateLocation
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            2    3     1  stateLocation  Lorg/eclipse/core/runtime/IPath;

  private java.io.File getSavedIndexesDirectory();
    descriptor: ()Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 497
            new java.io.File
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getJavaPluginWorkingLocation:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;

  private boolean hasJavaLikeNamesChanged();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 510
            invokestatic org.eclipse.jdt.internal.core.util.Util.getJavaLikeExtensions:()[[C
            astore 1 /* currentNames */
        start local 1 // char[][] currentNames
         1: .line 511
            aload 1 /* currentNames */
            arraylength
            istore 2 /* current */
        start local 2 // int current
         2: .line 512
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.readJavaLikeNamesFile:()[[C
            astore 3 /* prevNames */
        start local 3 // char[][] prevNames
         3: .line 513
            aload 3 /* prevNames */
            ifnonnull 8
         4: .line 514
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 6
            iload 2 /* current */
            iconst_1
            if_icmpeq 6
         5: .line 515
            ldc "No Java like names found and there is atleast one non-default javaLikeName"
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;Ljava/io/PrintStream;)V
         6: .line 516
      StackMap locals: char[][] int char[][]
      StackMap stack:
            iload 2 /* current */
            iconst_1
            if_icmpeq 7
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
         8: .line 518
      StackMap locals:
      StackMap stack:
            aload 3 /* prevNames */
            arraylength
            istore 4 /* prev */
        start local 4 // int prev
         9: .line 519
            iload 2 /* current */
            iload 4 /* prev */
            if_icmpeq 13
        10: .line 520
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 12
        11: .line 521
            ldc "Java like names have changed"
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;Ljava/io/PrintStream;)V
        12: .line 522
      StackMap locals: int
      StackMap stack:
            iconst_1
            ireturn
        13: .line 524
      StackMap locals:
      StackMap stack:
            iload 2 /* current */
            iconst_1
            if_icmple 16
        14: .line 527
            aload 1 /* currentNames */
            iconst_0
            iload 2 /* current */
            anewarray char[]
            dup
            astore 1 /* currentNames */
            iconst_0
            iload 2 /* current */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        15: .line 528
            aload 1 /* currentNames */
            invokestatic org.eclipse.jdt.internal.core.util.Util.sort:([[C)V
        16: .line 533
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        17: goto 23
        18: .line 534
      StackMap locals: int
      StackMap stack:
            aload 1 /* currentNames */
            iload 5 /* i */
            aaload
            aload 3 /* prevNames */
            iload 5 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.equals:([C[C)Z
            ifne 22
        19: .line 535
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 21
        20: .line 536
            ldc "Java like names have changed"
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;Ljava/io/PrintStream;)V
        21: .line 537
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        22: .line 533
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 5 /* i */
            iload 2 /* current */
            if_icmplt 18
        end local 5 // int i
        24: .line 540
            iconst_0
            ireturn
        end local 4 // int prev
        end local 3 // char[][] prevNames
        end local 2 // int current
        end local 1 // char[][] currentNames
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0          this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            1   25     1  currentNames  [[C
            2   25     2       current  I
            3   25     3     prevNames  [[C
            9   25     4          prev  I
           17   24     5             i  I

  public void indexDocument(org.eclipse.jdt.core.search.SearchDocument, org.eclipse.jdt.core.search.SearchParticipant, org.eclipse.jdt.internal.core.index.Index, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/core/search/SearchDocument;Lorg/eclipse/jdt/core/search/SearchParticipant;Lorg/eclipse/jdt/internal/core/index/Index;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.core.search.SearchDocument searchDocument
        start local 2 // org.eclipse.jdt.core.search.SearchParticipant searchParticipant
        start local 3 // org.eclipse.jdt.internal.core.index.Index index
        start local 4 // org.eclipse.core.runtime.IPath indexLocation
         0: .line 544
            aload 1 /* searchDocument */
            aload 3 /* index */
            invokevirtual org.eclipse.jdt.core.search.SearchDocument.setIndex:(Lorg/eclipse/jdt/internal/core/index/Index;)V
         1: .line 545
            aload 2 /* searchParticipant */
            aload 1 /* searchDocument */
            aload 4 /* indexLocation */
            invokevirtual org.eclipse.jdt.core.search.SearchParticipant.indexDocument:(Lorg/eclipse/jdt/core/search/SearchDocument;Lorg/eclipse/core/runtime/IPath;)V
         2: .line 546
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 5
         4: .line 547
            aload 1 /* searchDocument */
            aconst_null
            invokevirtual org.eclipse.jdt.core.search.SearchDocument.setIndex:(Lorg/eclipse/jdt/internal/core/index/Index;)V
         5: .line 548
            aload 5
            athrow
         6: .line 547
      StackMap locals:
      StackMap stack:
            aload 1 /* searchDocument */
            aconst_null
            invokevirtual org.eclipse.jdt.core.search.SearchDocument.setIndex:(Lorg/eclipse/jdt/internal/core/index/Index;)V
         7: .line 549
            return
        end local 4 // org.eclipse.core.runtime.IPath indexLocation
        end local 3 // org.eclipse.jdt.internal.core.index.Index index
        end local 2 // org.eclipse.jdt.core.search.SearchParticipant searchParticipant
        end local 1 // org.eclipse.jdt.core.search.SearchDocument searchDocument
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    8     1     searchDocument  Lorg/eclipse/jdt/core/search/SearchDocument;
            0    8     2  searchParticipant  Lorg/eclipse/jdt/core/search/SearchParticipant;
            0    8     3              index  Lorg/eclipse/jdt/internal/core/index/Index;
            0    8     4      indexLocation  Lorg/eclipse/core/runtime/IPath;
      Exception table:
        from    to  target  type
           0     3       3  any
    MethodParameters:
                   Name  Flags
      searchDocument     
      searchParticipant  
      index              
      indexLocation      

  public void indexResolvedDocument(org.eclipse.jdt.core.search.SearchDocument, org.eclipse.jdt.core.search.SearchParticipant, org.eclipse.jdt.internal.core.index.Index, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/core/search/SearchDocument;Lorg/eclipse/jdt/core/search/SearchParticipant;Lorg/eclipse/jdt/internal/core/index/Index;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.core.search.SearchDocument searchDocument
        start local 2 // org.eclipse.jdt.core.search.SearchParticipant searchParticipant
        start local 3 // org.eclipse.jdt.internal.core.index.Index index
        start local 4 // org.eclipse.core.runtime.IPath indexLocation
         0: .line 551
            aload 2 /* searchParticipant */
            aload 1 /* searchDocument */
            invokevirtual org.eclipse.jdt.core.search.SearchParticipant.resolveDocument:(Lorg/eclipse/jdt/core/search/SearchDocument;)V
         1: .line 552
            aload 3 /* index */
            getfield org.eclipse.jdt.internal.core.index.Index.monitor:Lorg/eclipse/jdt/internal/core/search/indexing/ReadWriteMonitor;
            astore 5 /* monitor */
        start local 5 // org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor monitor
         2: .line 553
            aload 5 /* monitor */
            ifnonnull 4
         3: .line 554
            return
         4: .line 556
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor
      StackMap stack:
            aload 5 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor.enterWrite:()V
         5: .line 557
            aload 1 /* searchDocument */
            aload 3 /* index */
            invokevirtual org.eclipse.jdt.core.search.SearchDocument.setIndex:(Lorg/eclipse/jdt/internal/core/index/Index;)V
         6: .line 558
            aload 2 /* searchParticipant */
            aload 1 /* searchDocument */
            aload 4 /* indexLocation */
            invokevirtual org.eclipse.jdt.core.search.SearchParticipant.indexResolvedDocument:(Lorg/eclipse/jdt/core/search/SearchDocument;Lorg/eclipse/core/runtime/IPath;)V
         7: .line 559
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 6
         9: .line 560
            aload 1 /* searchDocument */
            aconst_null
            invokevirtual org.eclipse.jdt.core.search.SearchDocument.setIndex:(Lorg/eclipse/jdt/internal/core/index/Index;)V
        10: .line 561
            aload 5 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor.exitWrite:()V
        11: .line 562
            aload 6
            athrow
        12: .line 560
      StackMap locals:
      StackMap stack:
            aload 1 /* searchDocument */
            aconst_null
            invokevirtual org.eclipse.jdt.core.search.SearchDocument.setIndex:(Lorg/eclipse/jdt/internal/core/index/Index;)V
        13: .line 561
            aload 5 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor.exitWrite:()V
        14: .line 563
            return
        end local 5 // org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor monitor
        end local 4 // org.eclipse.core.runtime.IPath indexLocation
        end local 3 // org.eclipse.jdt.internal.core.index.Index index
        end local 2 // org.eclipse.jdt.core.search.SearchParticipant searchParticipant
        end local 1 // org.eclipse.jdt.core.search.SearchDocument searchDocument
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   15     1     searchDocument  Lorg/eclipse/jdt/core/search/SearchDocument;
            0   15     2  searchParticipant  Lorg/eclipse/jdt/core/search/SearchParticipant;
            0   15     3              index  Lorg/eclipse/jdt/internal/core/index/Index;
            0   15     4      indexLocation  Lorg/eclipse/core/runtime/IPath;
            2   15     5            monitor  Lorg/eclipse/jdt/internal/core/search/indexing/ReadWriteMonitor;
      Exception table:
        from    to  target  type
           4     8       8  any
    MethodParameters:
                   Name  Flags
      searchDocument     
      searchParticipant  
      index              
      indexLocation      

  public void indexAll(org.eclipse.core.resources.IProject);
    descriptor: (Lorg/eclipse/core/resources/IProject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.resources.IProject project
         0: .line 571
            invokestatic org.eclipse.jdt.core.JavaCore.getPlugin:()Lorg/eclipse/core/runtime/Plugin;
            ifnonnull 1
            return
         1: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.disable:()V
         2: .line 580
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getJavaModel:()Lorg/eclipse/jdt/internal/core/JavaModel;
            astore 2 /* model */
        start local 2 // org.eclipse.jdt.internal.core.JavaModel model
         3: .line 581
            aload 2 /* model */
            aload 1 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaModel.getJavaProject:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IJavaProject;
            checkcast org.eclipse.jdt.internal.core.JavaProject
            astore 3 /* javaProject */
        start local 3 // org.eclipse.jdt.internal.core.JavaProject javaProject
         4: .line 585
            aload 3 /* javaProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 4 /* entries */
        start local 4 // org.eclipse.jdt.core.IClasspathEntry[] entries
         5: .line 586
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 11
         7: .line 587
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.core.resources.IProject org.eclipse.jdt.internal.core.JavaModel org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry[] int
      StackMap stack:
            aload 4 /* entries */
            iload 5 /* i */
            aaload
            astore 6 /* entry */
        start local 6 // org.eclipse.jdt.core.IClasspathEntry entry
         8: .line 588
            aload 6 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_1
            if_icmpne 10
         9: .line 589
            aload 0 /* this */
            aload 6 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 1 /* project */
            aload 6 /* entry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.getLibraryIndexLocation:()Ljava/net/URL;
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLibrary:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/resources/IProject;Ljava/net/URL;)V
        end local 6 // org.eclipse.jdt.core.IClasspathEntry entry
        10: .line 586
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            aload 4 /* entries */
            arraylength
            if_icmplt 7
        end local 5 // int i
        end local 4 // org.eclipse.jdt.core.IClasspathEntry[] entries
        end local 3 // org.eclipse.jdt.internal.core.JavaProject javaProject
        end local 2 // org.eclipse.jdt.internal.core.JavaModel model
        12: .line 591
            goto 14
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.core.resources.IProject
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        13: pop
        14: .line 595
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.search.indexing.IndexAllProject
            dup
            aload 1 /* project */
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.IndexAllProject.<init>:(Lorg/eclipse/core/resources/IProject;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;)V
            astore 2 /* request */
        start local 2 // org.eclipse.jdt.internal.core.search.indexing.IndexRequest request
        15: .line 596
            aload 0 /* this */
            aload 2 /* request */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.isJobWaiting:(Lorg/eclipse/jdt/internal/core/search/processing/IJob;)Z
            ifne 21
        16: .line 597
            aload 0 /* this */
            aload 2 /* request */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.request:(Lorg/eclipse/jdt/internal/core/search/processing/IJob;)V
        end local 2 // org.eclipse.jdt.internal.core.search.indexing.IndexRequest request
        17: .line 598
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 7
        19: .line 600
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.enable:()V
        20: .line 601
            aload 7
            athrow
        21: .line 600
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.enable:()V
        22: .line 602
            return
        end local 1 // org.eclipse.core.resources.IProject project
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0         this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   23     1      project  Lorg/eclipse/core/resources/IProject;
            3   12     2        model  Lorg/eclipse/jdt/internal/core/JavaModel;
            4   12     3  javaProject  Lorg/eclipse/jdt/internal/core/JavaProject;
            5   12     4      entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            6   12     5            i  I
            8   10     6        entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           15   17     2      request  Lorg/eclipse/jdt/internal/core/search/indexing/IndexRequest;
      Exception table:
        from    to  target  type
           2    12      13  Class org.eclipse.jdt.core.JavaModelException
           1    18      18  any
    MethodParameters:
         Name  Flags
      project  

  public void indexLibrary(org.eclipse.core.runtime.IPath, org.eclipse.core.resources.IProject, java.net.URL);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/resources/IProject;Ljava/net/URL;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath path
        start local 2 // org.eclipse.core.resources.IProject requestingProject
        start local 3 // java.net.URL indexURL
         0: .line 604
            aload 0 /* this */
            aload 1 /* path */
            aload 2 /* requestingProject */
            aload 3 /* indexURL */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLibrary:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/resources/IProject;Ljava/net/URL;Z)V
         1: .line 605
            return
        end local 3 // java.net.URL indexURL
        end local 2 // org.eclipse.core.resources.IProject requestingProject
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    2     1               path  Lorg/eclipse/core/runtime/IPath;
            0    2     2  requestingProject  Lorg/eclipse/core/resources/IProject;
            0    2     3           indexURL  Ljava/net/URL;
    MethodParameters:
                   Name  Flags
      path               
      requestingProject  
      indexURL           

  private org.eclipse.jdt.internal.core.search.indexing.IndexRequest getRequest(java.lang.Object, org.eclipse.core.runtime.IPath, org.eclipse.jdt.internal.core.index.IndexLocation, org.eclipse.jdt.internal.core.search.indexing.IndexManager, boolean);
    descriptor: (Ljava/lang/Object;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;Z)Lorg/eclipse/jdt/internal/core/search/indexing/IndexRequest;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // java.lang.Object target
        start local 2 // org.eclipse.core.runtime.IPath jPath
        start local 3 // org.eclipse.jdt.internal.core.index.IndexLocation indexFile
        start local 4 // org.eclipse.jdt.internal.core.search.indexing.IndexManager manager
        start local 5 // boolean updateIndex
         0: .line 608
            aload 0 /* this */
            aload 1 /* target */
            checkcast java.io.File
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.isJrt:(Ljava/lang/String;)Z
            ifeq 1
            new org.eclipse.jdt.internal.core.search.indexing.AddJrtToIndex
            dup
            aload 2 /* jPath */
            aload 3 /* indexFile */
            aload 0 /* this */
            iload 5 /* updateIndex */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.AddJrtToIndex.<init>:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;Z)V
            goto 2
         1: .line 609
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.search.indexing.AddJarFileToIndex
            dup
            aload 2 /* jPath */
            aload 3 /* indexFile */
            aload 0 /* this */
            iload 5 /* updateIndex */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.AddJarFileToIndex.<init>:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;Z)V
         2: .line 608
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.indexing.BinaryContainer
            areturn
        end local 5 // boolean updateIndex
        end local 4 // org.eclipse.jdt.internal.core.search.indexing.IndexManager manager
        end local 3 // org.eclipse.jdt.internal.core.index.IndexLocation indexFile
        end local 2 // org.eclipse.core.runtime.IPath jPath
        end local 1 // java.lang.Object target
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    3     1       target  Ljava/lang/Object;
            0    3     2        jPath  Lorg/eclipse/core/runtime/IPath;
            0    3     3    indexFile  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            0    3     4      manager  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    3     5  updateIndex  Z
    MethodParameters:
             Name  Flags
      target       
      jPath        
      indexFile    
      manager      
      updateIndex  

  private boolean isJrt(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // java.lang.String fileName
         0: .line 613
            aload 1 /* fileName */
            ifnull 1
            aload 1 /* fileName */
            ldc "jrt-fs.jar"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.String fileName
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    2     1  fileName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fileName  

  public void indexLibrary(org.eclipse.core.runtime.IPath, org.eclipse.core.resources.IProject, java.net.URL, boolean);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/resources/IProject;Ljava/net/URL;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath path
        start local 2 // org.eclipse.core.resources.IProject requestingProject
        start local 3 // java.net.URL indexURL
        start local 4 // boolean updateIndex
         0: .line 623
            aconst_null
            astore 5 /* indexFile */
        start local 5 // org.eclipse.jdt.internal.core.index.IndexLocation indexFile
         1: .line 624
            iconst_0
            istore 6 /* forceIndexUpdate */
        start local 6 // boolean forceIndexUpdate
         2: .line 625
            aload 3 /* indexURL */
            ifnull 11
         3: .line 626
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.IS_MANAGING_PRODUCT_INDEXES_PROPERTY:Z
            ifeq 10
         4: .line 627
            aload 0 /* this */
            aload 1 /* path */
            aload 3 /* indexURL */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.computeIndexLocation:(Lorg/eclipse/core/runtime/IPath;Ljava/net/URL;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 5 /* indexFile */
         5: .line 628
            iload 4 /* updateIndex */
            ifne 8
            aload 5 /* indexFile */
            invokevirtual org.eclipse.jdt.internal.core.index.IndexLocation.exists:()Z
            ifne 8
         6: .line 629
            iconst_1
            istore 6 /* forceIndexUpdate */
         7: .line 630
            goto 11
         8: .line 632
      StackMap locals: org.eclipse.jdt.internal.core.index.IndexLocation int
      StackMap stack:
            iload 4 /* updateIndex */
            istore 6 /* forceIndexUpdate */
         9: .line 634
            goto 11
        10: .line 636
      StackMap locals:
      StackMap stack:
            aload 3 /* indexURL */
            invokestatic org.eclipse.jdt.internal.core.index.IndexLocation.createIndexLocation:(Ljava/net/URL;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 5 /* indexFile */
        11: .line 639
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.core.JavaCore.getPlugin:()Lorg/eclipse/core/runtime/Plugin;
            ifnonnull 12
            return
        12: .line 640
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* request */
        start local 7 // org.eclipse.jdt.internal.core.search.indexing.IndexRequest request
        13: .line 641
            aload 1 /* path */
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getTarget:(Lorg/eclipse/core/runtime/IPath;Z)Ljava/lang/Object;
            astore 8 /* target */
        start local 8 // java.lang.Object target
        14: .line 642
            aload 8 /* target */
            instanceof org.eclipse.core.resources.IFile
            ifeq 20
        15: .line 643
            aload 0 /* this */
            aload 8 /* target */
            checkcast org.eclipse.core.resources.IFile
            invokeinterface org.eclipse.core.resources.IFile.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.isJrt:(Ljava/lang/String;)Z
            ifeq 17
        16: .line 644
            new org.eclipse.jdt.internal.core.search.indexing.AddJrtToIndex
            dup
            aload 8 /* target */
            checkcast org.eclipse.core.resources.IFile
            aload 5 /* indexFile */
            aload 0 /* this */
            iload 6 /* forceIndexUpdate */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.AddJrtToIndex.<init>:(Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;Z)V
            goto 18
        17: .line 645
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexRequest java.lang.Object
      StackMap stack:
            new org.eclipse.jdt.internal.core.search.indexing.AddJarFileToIndex
            dup
            aload 8 /* target */
            checkcast org.eclipse.core.resources.IFile
            aload 5 /* indexFile */
            aload 0 /* this */
            iload 6 /* forceIndexUpdate */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.AddJarFileToIndex.<init>:(Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;Z)V
        18: .line 643
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.indexing.BinaryContainer
            astore 7 /* request */
        19: .line 646
            goto 27
      StackMap locals:
      StackMap stack:
        20: aload 8 /* target */
            instanceof java.io.File
            ifeq 23
        21: .line 647
            aload 0 /* this */
            aload 8 /* target */
            aload 1 /* path */
            aload 5 /* indexFile */
            aload 0 /* this */
            iload 6 /* forceIndexUpdate */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getRequest:(Ljava/lang/Object;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;Z)Lorg/eclipse/jdt/internal/core/search/indexing/IndexRequest;
            astore 7 /* request */
        22: .line 648
            goto 27
      StackMap locals:
      StackMap stack:
        23: aload 8 /* target */
            instanceof org.eclipse.core.resources.IContainer
            ifeq 26
        24: .line 649
            new org.eclipse.jdt.internal.core.search.indexing.IndexBinaryFolder
            dup
            aload 8 /* target */
            checkcast org.eclipse.core.resources.IContainer
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.IndexBinaryFolder.<init>:(Lorg/eclipse/core/resources/IContainer;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;)V
            astore 7 /* request */
        25: .line 650
            goto 27
        26: .line 651
      StackMap locals:
      StackMap stack:
            return
        27: .line 655
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* request */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.isJobWaiting:(Lorg/eclipse/jdt/internal/core/search/processing/IJob;)Z
            ifne 29
        28: .line 656
            aload 0 /* this */
            aload 7 /* request */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.request:(Lorg/eclipse/jdt/internal/core/search/processing/IJob;)V
        29: .line 657
      StackMap locals:
      StackMap stack:
            return
        end local 8 // java.lang.Object target
        end local 7 // org.eclipse.jdt.internal.core.search.indexing.IndexRequest request
        end local 6 // boolean forceIndexUpdate
        end local 5 // org.eclipse.jdt.internal.core.index.IndexLocation indexFile
        end local 4 // boolean updateIndex
        end local 3 // java.net.URL indexURL
        end local 2 // org.eclipse.core.resources.IProject requestingProject
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   30     0               this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   30     1               path  Lorg/eclipse/core/runtime/IPath;
            0   30     2  requestingProject  Lorg/eclipse/core/resources/IProject;
            0   30     3           indexURL  Ljava/net/URL;
            0   30     4        updateIndex  Z
            1   30     5          indexFile  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            2   30     6   forceIndexUpdate  Z
           13   30     7            request  Lorg/eclipse/jdt/internal/core/search/indexing/IndexRequest;
           14   30     8             target  Ljava/lang/Object;
    MethodParameters:
                   Name  Flags
      path               
      requestingProject  
      indexURL           
      updateIndex        final

  synchronized boolean addIndex(org.eclipse.core.runtime.IPath, org.eclipse.jdt.internal.core.index.IndexLocation);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/index/IndexLocation;)Z
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
        start local 2 // org.eclipse.jdt.internal.core.index.IndexLocation indexFile
         0: .line 660
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndexStates:()Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 2 /* indexFile */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REUSE_STATE:Ljava/lang/Integer;
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 661
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* containerPath */
            aload 2 /* indexFile */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 662
            aload 0 /* this */
            aload 1 /* containerPath */
            aload 2 /* indexFile */
            iconst_1
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndex:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/index/IndexLocation;ZZ)Lorg/eclipse/jdt/internal/core/index/Index;
            astore 3 /* index */
        start local 3 // org.eclipse.jdt.internal.core.index.Index index
         3: .line 663
            aload 3 /* index */
            ifnonnull 7
         4: .line 664
            aload 2 /* indexFile */
            invokevirtual org.eclipse.jdt.internal.core.index.IndexLocation.close:()V
         5: .line 665
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* containerPath */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 666
            iconst_0
            ireturn
         7: .line 668
      StackMap locals: org.eclipse.jdt.internal.core.index.Index
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.writeIndexMapFile:()V
         8: .line 669
            iconst_1
            ireturn
        end local 3 // org.eclipse.jdt.internal.core.index.Index index
        end local 2 // org.eclipse.jdt.internal.core.index.IndexLocation indexFile
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    9     1  containerPath  Lorg/eclipse/core/runtime/IPath;
            0    9     2      indexFile  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            3    9     3          index  Lorg/eclipse/jdt/internal/core/index/Index;
    MethodParameters:
               Name  Flags
      containerPath  
      indexFile      

  public void indexSourceFolder(org.eclipse.jdt.internal.core.JavaProject, org.eclipse.core.runtime.IPath, char[][], char[][]);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaProject;Lorg/eclipse/core/runtime/IPath;[[C[[C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        start local 2 // org.eclipse.core.runtime.IPath sourceFolder
        start local 3 // char[][] inclusionPatterns
        start local 4 // char[][] exclusionPatterns
         0: .line 676
            aload 1 /* javaProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            astore 5 /* project */
        start local 5 // org.eclipse.core.resources.IProject project
         1: .line 679
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.jobEnd:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.jobStart:I
            if_icmple 4
         2: .line 681
            new org.eclipse.jdt.internal.core.search.indexing.IndexAllProject
            dup
            aload 5 /* project */
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.IndexAllProject.<init>:(Lorg/eclipse/core/resources/IProject;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;)V
            astore 6 /* request */
        start local 6 // org.eclipse.jdt.internal.core.search.indexing.IndexRequest request
         3: .line 682
            aload 0 /* this */
            aload 6 /* request */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.isJobWaiting:(Lorg/eclipse/jdt/internal/core/search/processing/IJob;)Z
            ifeq 4
            return
        end local 6 // org.eclipse.jdt.internal.core.search.indexing.IndexRequest request
         4: .line 685
      StackMap locals: org.eclipse.core.resources.IProject
      StackMap stack:
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.search.indexing.AddFolderToIndex
            dup
            aload 2 /* sourceFolder */
            aload 5 /* project */
            aload 3 /* inclusionPatterns */
            aload 4 /* exclusionPatterns */
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.AddFolderToIndex.<init>:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/resources/IProject;[[C[[CLorg/eclipse/jdt/internal/core/search/indexing/IndexManager;)V
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.request:(Lorg/eclipse/jdt/internal/core/search/processing/IJob;)V
         5: .line 686
            return
        end local 5 // org.eclipse.core.resources.IProject project
        end local 4 // char[][] exclusionPatterns
        end local 3 // char[][] inclusionPatterns
        end local 2 // org.eclipse.core.runtime.IPath sourceFolder
        end local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    6     1        javaProject  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    6     2       sourceFolder  Lorg/eclipse/core/runtime/IPath;
            0    6     3  inclusionPatterns  [[C
            0    6     4  exclusionPatterns  [[C
            1    6     5            project  Lorg/eclipse/core/resources/IProject;
            3    4     6            request  Lorg/eclipse/jdt/internal/core/search/indexing/IndexRequest;
    MethodParameters:
                   Name  Flags
      javaProject        
      sourceFolder       
      inclusionPatterns  
      exclusionPatterns  

  public synchronized void jobWasCancelled(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
         0: .line 688
            aload 0 /* this */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.computeIndexLocation:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 2 /* indexLocation */
        start local 2 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
         1: .line 689
            aload 0 /* this */
            aload 2 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndex:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;)Lorg/eclipse/jdt/internal/core/index/Index;
            astore 3 /* index */
        start local 3 // org.eclipse.jdt.internal.core.index.Index index
         2: .line 690
            aload 3 /* index */
            ifnull 5
         3: .line 691
            aload 3 /* index */
            aconst_null
            putfield org.eclipse.jdt.internal.core.index.Index.monitor:Lorg/eclipse/jdt/internal/core/search/indexing/ReadWriteMonitor;
         4: .line 692
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 2 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.removeKey:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 694
      StackMap locals: org.eclipse.jdt.internal.core.index.IndexLocation org.eclipse.jdt.internal.core.index.Index
      StackMap stack:
            aload 0 /* this */
            aload 2 /* indexLocation */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.UNKNOWN_STATE:Ljava/lang/Integer;
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.updateIndexState:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Ljava/lang/Integer;)V
         6: .line 695
            return
        end local 3 // org.eclipse.jdt.internal.core.index.Index index
        end local 2 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    7     1  containerPath  Lorg/eclipse/core/runtime/IPath;
            1    7     2  indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            2    7     3          index  Lorg/eclipse/jdt/internal/core/index/Index;
    MethodParameters:
               Name  Flags
      containerPath  

  protected synchronized void moveToNextJob();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 703
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.needToSave:Z
         1: .line 704
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.processing.JobManager.moveToNextJob:()V
         2: .line 705
            return
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;

  protected void notifyIdle(long);
    descriptor: (J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // long idlingTime
         0: .line 711
            lload 1 /* idlingTime */
            ldc 1000
            lcmp
            ifle 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.needToSave:Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.saveIndexes:()V
         1: .line 712
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long idlingTime
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    2     1  idlingTime  J
    MethodParameters:
            Name  Flags
      idlingTime  

  public java.lang.String processName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 718
            getstatic org.eclipse.jdt.internal.core.util.Messages.process_name:Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;

  private char[][] readJavaLikeNamesFile();
    descriptor: ()[[C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 722
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getJavaPluginWorkingLocation:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            astore 1 /* pathName */
        start local 1 // java.lang.String pathName
         1: .line 723
            new java.io.File
            dup
            aload 1 /* pathName */
            ldc "javaLikeNames.txt"
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* javaLikeNamesFile */
        start local 2 // java.io.File javaLikeNamesFile
         2: .line 724
            aload 2 /* javaLikeNamesFile */
            invokevirtual java.io.File.exists:()Z
            ifne 4
         3: .line 725
            aconst_null
            areturn
         4: .line 726
      StackMap locals: java.lang.String java.io.File
      StackMap stack:
            aload 2 /* javaLikeNamesFile */
            aconst_null
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.getFileCharContent:(Ljava/io/File;Ljava/lang/String;)[C
            astore 3 /* javaLikeNames */
        start local 3 // char[] javaLikeNames
         5: .line 727
            aload 3 /* javaLikeNames */
            arraylength
            ifle 12
         6: .line 728
            bipush 10
            aload 3 /* javaLikeNames */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitOn:(C[C)[[C
            astore 4 /* names */
        start local 4 // char[][] names
         7: .line 729
            aload 4 /* names */
         8: areturn
        end local 4 // char[][] names
        end local 3 // char[] javaLikeNames
        end local 2 // java.io.File javaLikeNamesFile
        end local 1 // java.lang.String pathName
         9: .line 731
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager
      StackMap stack: java.io.IOException
            pop
        10: .line 732
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 12
        11: .line 733
            ldc "Failed to read javaLikeNames file"
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        12: .line 735
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0               this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            1    9     1           pathName  Ljava/lang/String;
            2    9     2  javaLikeNamesFile  Ljava/io/File;
            5    9     3      javaLikeNames  [C
            7    9     4              names  [[C
      Exception table:
        from    to  target  type
           0     3       9  Class java.io.IOException
           4     8       9  Class java.io.IOException

  private void rebuildIndex(org.eclipse.jdt.internal.core.index.IndexLocation, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         0: .line 738
            aload 0 /* this */
            aload 1 /* indexLocation */
            aload 2 /* containerPath */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.rebuildIndex:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/core/runtime/IPath;Z)V
         1: .line 739
            return
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    2     1  indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            0    2     2  containerPath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
               Name  Flags
      indexLocation  
      containerPath  

  private void rebuildIndex(org.eclipse.jdt.internal.core.index.IndexLocation, org.eclipse.core.runtime.IPath, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/core/runtime/IPath;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        start local 2 // org.eclipse.core.runtime.IPath containerPath
        start local 3 // boolean updateIndex
         0: .line 743
            aload 2 /* containerPath */
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getTarget:(Lorg/eclipse/core/runtime/IPath;Z)Ljava/lang/Object;
            astore 4 /* target */
        start local 4 // java.lang.Object target
         1: .line 744
            aload 4 /* target */
            ifnonnull 2
            return
         2: .line 746
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 4
         3: .line 747
            new java.lang.StringBuilder
            dup
            ldc "-> request to rebuild index: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* indexLocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " path: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* containerPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         4: .line 749
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* indexLocation */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REBUILDING_STATE:Ljava/lang/Integer;
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.updateIndexState:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Ljava/lang/Integer;)V
         5: .line 750
            aconst_null
            astore 5 /* request */
        start local 5 // org.eclipse.jdt.internal.core.search.indexing.IndexRequest request
         6: .line 751
            aload 4 /* target */
            instanceof org.eclipse.core.resources.IProject
            ifeq 11
         7: .line 752
            aload 4 /* target */
            checkcast org.eclipse.core.resources.IProject
            astore 6 /* p */
        start local 6 // org.eclipse.core.resources.IProject p
         8: .line 753
            aload 6 /* p */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.hasJavaNature:(Lorg/eclipse/core/resources/IProject;)Z
            ifeq 22
         9: .line 754
            new org.eclipse.jdt.internal.core.search.indexing.IndexAllProject
            dup
            aload 6 /* p */
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.IndexAllProject.<init>:(Lorg/eclipse/core/resources/IProject;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;)V
            astore 5 /* request */
        end local 6 // org.eclipse.core.resources.IProject p
        10: .line 755
            goto 22
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexRequest
      StackMap stack:
        11: aload 4 /* target */
            instanceof org.eclipse.core.resources.IFolder
            ifeq 14
        12: .line 756
            new org.eclipse.jdt.internal.core.search.indexing.IndexBinaryFolder
            dup
            aload 4 /* target */
            checkcast org.eclipse.core.resources.IFolder
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.IndexBinaryFolder.<init>:(Lorg/eclipse/core/resources/IContainer;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;)V
            astore 5 /* request */
        13: .line 757
            goto 22
      StackMap locals:
      StackMap stack:
        14: aload 4 /* target */
            instanceof org.eclipse.core.resources.IFile
            ifeq 20
        15: .line 758
            aload 0 /* this */
            aload 4 /* target */
            checkcast org.eclipse.core.resources.IFile
            invokeinterface org.eclipse.core.resources.IFile.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.isJrt:(Ljava/lang/String;)Z
            ifeq 17
        16: .line 759
            new org.eclipse.jdt.internal.core.search.indexing.AddJrtToIndex
            dup
            aload 4 /* target */
            checkcast org.eclipse.core.resources.IFile
            aconst_null
            aload 0 /* this */
            iload 3 /* updateIndex */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.AddJrtToIndex.<init>:(Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;Z)V
            goto 18
        17: .line 760
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.search.indexing.AddJarFileToIndex
            dup
            aload 4 /* target */
            checkcast org.eclipse.core.resources.IFile
            aconst_null
            aload 0 /* this */
            iload 3 /* updateIndex */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.AddJarFileToIndex.<init>:(Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;Z)V
        18: .line 758
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.indexing.BinaryContainer
            astore 5 /* request */
        19: .line 761
            goto 22
      StackMap locals:
      StackMap stack:
        20: aload 4 /* target */
            instanceof java.io.File
            ifeq 22
        21: .line 762
            aload 0 /* this */
            aload 4 /* target */
            aload 2 /* containerPath */
            aconst_null
            aload 0 /* this */
            iload 3 /* updateIndex */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getRequest:(Ljava/lang/Object;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;Z)Lorg/eclipse/jdt/internal/core/search/indexing/IndexRequest;
            astore 5 /* request */
        22: .line 764
      StackMap locals:
      StackMap stack:
            aload 5 /* request */
            ifnull 24
        23: .line 765
            aload 0 /* this */
            aload 5 /* request */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.request:(Lorg/eclipse/jdt/internal/core/search/processing/IJob;)V
        24: .line 766
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.eclipse.jdt.internal.core.search.indexing.IndexRequest request
        end local 4 // java.lang.Object target
        end local 3 // boolean updateIndex
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   25     1  indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            0   25     2  containerPath  Lorg/eclipse/core/runtime/IPath;
            0   25     3    updateIndex  Z
            1   25     4         target  Ljava/lang/Object;
            6   25     5        request  Lorg/eclipse/jdt/internal/core/search/indexing/IndexRequest;
            8   10     6              p  Lorg/eclipse/core/resources/IProject;
    MethodParameters:
               Name  Flags
      indexLocation  
      containerPath  
      updateIndex    final

  public synchronized org.eclipse.jdt.internal.core.index.Index recreateIndex(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/index/Index;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
         0: .line 774
            aload 1 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
            ifnonnull 1
            aload 1 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 2 /* containerPathString */
        start local 2 // java.lang.String containerPathString
         3: .line 777
            aload 0 /* this */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.computeIndexLocation:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 3 /* indexLocation */
        start local 3 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
         4: .line 778
            aload 0 /* this */
            aload 3 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndex:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;)Lorg/eclipse/jdt/internal/core/index/Index;
            astore 4 /* index */
        start local 4 // org.eclipse.jdt.internal.core.index.Index index
         5: .line 779
            aload 4 /* index */
            ifnonnull 6
            aconst_null
            goto 7
      StackMap locals: java.lang.String org.eclipse.jdt.internal.core.index.IndexLocation org.eclipse.jdt.internal.core.index.Index
      StackMap stack:
         6: aload 4 /* index */
            getfield org.eclipse.jdt.internal.core.index.Index.monitor:Lorg/eclipse/jdt/internal/core/search/indexing/ReadWriteMonitor;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor
         7: astore 5 /* monitor */
        start local 5 // org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor monitor
         8: .line 781
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 10
         9: .line 782
            new java.lang.StringBuilder
            dup
            ldc "-> recreating index: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* indexLocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " for path: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* containerPathString */
            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.verbose:(Ljava/lang/String;)V
        10: .line 783
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor
      StackMap stack:
            new org.eclipse.jdt.internal.core.index.Index
            dup
            aload 3 /* indexLocation */
            aload 2 /* containerPathString */
            iconst_0
            invokespecial org.eclipse.jdt.internal.core.index.Index.<init>:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Ljava/lang/String;Z)V
            astore 4 /* index */
        11: .line 784
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 3 /* indexLocation */
            aload 4 /* index */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 785
            aload 4 /* index */
            aload 5 /* monitor */
            putfield org.eclipse.jdt.internal.core.index.Index.monitor:Lorg/eclipse/jdt/internal/core/search/indexing/ReadWriteMonitor;
        13: .line 786
            aload 4 /* index */
        14: areturn
        end local 5 // org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor monitor
        end local 4 // org.eclipse.jdt.internal.core.index.Index index
        end local 3 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        15: .line 787
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.core.runtime.IPath java.lang.String
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        16: .line 789
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 19
        17: .line 790
            new java.lang.StringBuilder
            dup
            ldc "-> failed to recreate index for path: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* containerPathString */
            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.verbose:(Ljava/lang/String;)V
        18: .line 791
            aload 3 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        19: .line 793
      StackMap locals: java.io.IOException
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.io.IOException e
        end local 2 // java.lang.String containerPathString
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   20     0                 this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   20     1        containerPath  Lorg/eclipse/core/runtime/IPath;
            3   20     2  containerPathString  Ljava/lang/String;
            4   15     3        indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            5   15     4                index  Lorg/eclipse/jdt/internal/core/index/Index;
            8   15     5              monitor  Lorg/eclipse/jdt/internal/core/search/indexing/ReadWriteMonitor;
           16   20     3                    e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3    14      15  Class java.io.IOException
    MethodParameters:
               Name  Flags
      containerPath  

  public void remove(java.lang.String, org.eclipse.core.runtime.IPath);
    descriptor: (Ljava/lang/String;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // java.lang.String containerRelativePath
        start local 2 // org.eclipse.core.runtime.IPath indexedContainer
         0: .line 803
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.search.indexing.RemoveFromIndex
            dup
            aload 1 /* containerRelativePath */
            aload 2 /* indexedContainer */
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.RemoveFromIndex.<init>:(Ljava/lang/String;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;)V
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.request:(Lorg/eclipse/jdt/internal/core/search/processing/IJob;)V
         1: .line 804
            return
        end local 2 // org.eclipse.core.runtime.IPath indexedContainer
        end local 1 // java.lang.String containerRelativePath
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    2     1  containerRelativePath  Ljava/lang/String;
            0    2     2       indexedContainer  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
                       Name  Flags
      containerRelativePath  
      indexedContainer       

  public synchronized void removeIndex(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
         0: .line 810
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifne 1
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.DEBUG:Z
            ifeq 2
         1: .line 811
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "removing index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* containerPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         2: .line 814
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.computeIndexLocation:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 2 /* indexLocation */
        start local 2 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
         3: .line 815
            aload 0 /* this */
            aload 2 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndex:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;)Lorg/eclipse/jdt/internal/core/index/Index;
            astore 3 /* index */
        start local 3 // org.eclipse.jdt.internal.core.index.Index index
         4: .line 816
            aconst_null
            astore 4 /* indexFile */
        start local 4 // java.io.File indexFile
         5: .line 817
            aload 3 /* index */
            ifnull 8
         6: .line 818
            aload 3 /* index */
            aconst_null
            putfield org.eclipse.jdt.internal.core.index.Index.monitor:Lorg/eclipse/jdt/internal/core/search/indexing/ReadWriteMonitor;
         7: .line 819
            aload 3 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.getIndexFile:()Ljava/io/File;
            astore 4 /* indexFile */
         8: .line 821
      StackMap locals: org.eclipse.jdt.internal.core.index.IndexLocation org.eclipse.jdt.internal.core.index.Index java.io.File
      StackMap stack:
            aload 4 /* indexFile */
            ifnonnull 10
         9: .line 822
            aload 2 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.core.index.IndexLocation.getIndexFile:()Ljava/io/File;
            astore 4 /* indexFile */
        10: .line 823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 2 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REUSE_STATE:Ljava/lang/Integer;
            if_acmpne 14
        11: .line 824
            aload 2 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.core.index.IndexLocation.close:()V
        12: .line 825
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* containerPath */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 826
            goto 18
      StackMap locals:
      StackMap stack:
        14: aload 4 /* indexFile */
            ifnull 18
            aload 4 /* indexFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 18
        15: .line 827
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.DEBUG:Z
            ifeq 17
        16: .line 828
            new java.lang.StringBuilder
            dup
            ldc "removing index file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* indexFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        17: .line 829
      StackMap locals:
      StackMap stack:
            aload 4 /* indexFile */
            invokevirtual java.io.File.delete:()Z
            pop
        18: .line 831
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 2 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.removeKey:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 832
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.IS_MANAGING_PRODUCT_INDEXES_PROPERTY:Z
            ifeq 21
        20: .line 833
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.removeKey:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 835
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* indexLocation */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.updateIndexState:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Ljava/lang/Integer;)V
        22: .line 836
            return
        end local 4 // java.io.File indexFile
        end local 3 // org.eclipse.jdt.internal.core.index.Index index
        end local 2 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   23     1  containerPath  Lorg/eclipse/core/runtime/IPath;
            3   23     2  indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            4   23     3          index  Lorg/eclipse/jdt/internal/core/index/Index;
            5   23     4      indexFile  Ljava/io/File;
    MethodParameters:
               Name  Flags
      containerPath  

  public synchronized void removeIndexPath(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=11, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 841
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifne 1
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.DEBUG:Z
            ifeq 2
         1: .line 842
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "removing index path "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         2: .line 845
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes: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
         3: .line 846
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.valueTable:[Ljava/lang/Object;
            astore 3 /* valueTable */
        start local 3 // java.lang.Object[] valueTable
         4: .line 847
            aconst_null
            astore 4 /* locations */
        start local 4 // org.eclipse.jdt.internal.core.index.IndexLocation[] locations
         5: .line 848
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.elementSize:I
            istore 5 /* max */
        start local 5 // int max
         6: .line 849
            iconst_0
            istore 6 /* count */
        start local 6 // int count
         7: .line 850
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         8: aload 2 /* keyTable */
            arraylength
            istore 8 /* l */
        start local 8 // int l
         9: goto 28
        10: .line 851
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.core.runtime.IPath java.lang.Object[] java.lang.Object[] org.eclipse.jdt.internal.core.index.IndexLocation[] int int int int
      StackMap stack:
            aload 2 /* keyTable */
            iload 7 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.index.IndexLocation
            astore 9 /* indexLocation */
        start local 9 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        11: .line 852
            aload 9 /* indexLocation */
            ifnonnull 13
        12: .line 853
            goto 27
        13: .line 854
      StackMap locals: org.eclipse.jdt.internal.core.index.IndexLocation
      StackMap stack:
            aload 9 /* indexLocation */
            aload 1 /* path */
            invokevirtual org.eclipse.jdt.internal.core.index.IndexLocation.startsWith:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 26
        14: .line 855
            aload 3 /* valueTable */
            iload 7 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.index.Index
            astore 10 /* index */
        start local 10 // org.eclipse.jdt.internal.core.index.Index index
        15: .line 856
            aload 10 /* index */
            aconst_null
            putfield org.eclipse.jdt.internal.core.index.Index.monitor:Lorg/eclipse/jdt/internal/core/search/indexing/ReadWriteMonitor;
        16: .line 857
            aload 4 /* locations */
            ifnonnull 18
        17: .line 858
            iload 5 /* max */
            anewarray org.eclipse.jdt.internal.core.index.IndexLocation
            astore 4 /* locations */
        18: .line 859
      StackMap locals: org.eclipse.jdt.internal.core.index.Index
      StackMap stack:
            aload 4 /* locations */
            iload 6 /* count */
            iinc 6 /* count */ 1
            aload 9 /* indexLocation */
            aastore
        19: .line 860
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 9 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REUSE_STATE:Ljava/lang/Integer;
            if_acmpne 22
        20: .line 861
            aload 9 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.core.index.IndexLocation.close:()V
        21: .line 862
            goto 27
        22: .line 863
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.DEBUG:Z
            ifeq 24
        23: .line 864
            new java.lang.StringBuilder
            dup
            ldc "removing index file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* indexLocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        24: .line 865
      StackMap locals:
      StackMap stack:
            aload 9 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.core.index.IndexLocation.delete:()Z
            pop
        end local 10 // org.eclipse.jdt.internal.core.index.Index index
        25: .line 867
            goto 27
        26: .line 868
      StackMap locals:
      StackMap stack:
            iinc 5 /* max */ -1
        end local 9 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        27: .line 850
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 7 /* i */
            iload 8 /* l */
            if_icmplt 10
        end local 8 // int l
        end local 7 // int i
        29: .line 871
            aload 4 /* locations */
            ifnull 46
        30: .line 872
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        31: goto 34
        32: .line 873
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 4 /* locations */
            iload 7 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.removeKey:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 872
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 7 /* i */
            iload 6 /* count */
            if_icmplt 32
        end local 7 // int i
        35: .line 874
            aload 0 /* this */
            aload 4 /* locations */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.removeIndexesState:([Lorg/eclipse/jdt/internal/core/index/IndexLocation;)V
        36: .line 875
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantsContainers:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            ifnull 46
        37: .line 876
            iconst_0
            istore 7 /* update */
        start local 7 // boolean update
        38: .line 877
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        39: goto 44
        40: .line 878
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.core.runtime.IPath java.lang.Object[] java.lang.Object[] org.eclipse.jdt.internal.core.index.IndexLocation[] int int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantsContainers:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 4 /* locations */
            iload 8 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 43
        41: .line 879
            iconst_1
            istore 7 /* update */
        42: .line 880
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantsContainers:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 4 /* locations */
            iload 8 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.removeKey:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        43: .line 877
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 8 /* i */
            iload 6 /* count */
            if_icmplt 40
        end local 8 // int i
        45: .line 883
            iload 7 /* update */
            ifeq 46
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.writeParticipantsIndexNamesFile:()V
        end local 7 // boolean update
        46: .line 886
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int count
        end local 5 // int max
        end local 4 // org.eclipse.jdt.internal.core.index.IndexLocation[] locations
        end local 3 // java.lang.Object[] valueTable
        end local 2 // java.lang.Object[] keyTable
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   47     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   47     1           path  Lorg/eclipse/core/runtime/IPath;
            3   47     2       keyTable  [Ljava/lang/Object;
            4   47     3     valueTable  [Ljava/lang/Object;
            5   47     4      locations  [Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            6   47     5            max  I
            7   47     6          count  I
            8   29     7              i  I
            9   29     8              l  I
           11   27     9  indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
           15   25    10          index  Lorg/eclipse/jdt/internal/core/index/Index;
           31   35     7              i  I
           38   46     7         update  Z
           39   45     8              i  I
    MethodParameters:
      Name  Flags
      path  

  public synchronized void removeIndexFamily(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 894
            aconst_null
            astore 2 /* toRemove */
        start local 2 // java.util.ArrayList toRemove
         1: .line 895
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.keyTable:[Ljava/lang/Object;
            astore 3 /* containerPaths */
        start local 3 // java.lang.Object[] containerPaths
         2: .line 896
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: aload 3 /* containerPaths */
            arraylength
            istore 5 /* length */
        start local 5 // int length
         4: goto 12
         5: .line 897
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.core.runtime.IPath java.util.ArrayList java.lang.Object[] int int
      StackMap stack:
            aload 3 /* containerPaths */
            iload 4 /* i */
            aaload
            checkcast org.eclipse.core.runtime.IPath
            astore 6 /* containerPath */
        start local 6 // org.eclipse.core.runtime.IPath containerPath
         6: .line 898
            aload 6 /* containerPath */
            ifnonnull 7
            goto 11
         7: .line 899
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 1 /* path */
            aload 6 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.isPrefixOf:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 11
         8: .line 900
            aload 2 /* toRemove */
            ifnonnull 10
         9: .line 901
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* toRemove */
        10: .line 902
      StackMap locals:
      StackMap stack:
            aload 2 /* toRemove */
            aload 6 /* containerPath */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.eclipse.core.runtime.IPath containerPath
        11: .line 896
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 5
        end local 5 // int length
        end local 4 // int i
        13: .line 905
            aload 2 /* toRemove */
            ifnull 20
        14: .line 906
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        15: aload 2 /* toRemove */
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* length */
        start local 5 // int length
        16: goto 19
        17: .line 907
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* toRemove */
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.removeIndex:(Lorg/eclipse/core/runtime/IPath;)V
        18: .line 906
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 17
        end local 5 // int length
        end local 4 // int i
        20: .line 908
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object[] containerPaths
        end local 2 // java.util.ArrayList toRemove
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   21     1            path  Lorg/eclipse/core/runtime/IPath;
            1   21     2        toRemove  Ljava/util/ArrayList;
            2   21     3  containerPaths  [Ljava/lang/Object;
            3   13     4               i  I
            4   13     5          length  I
            6   11     6   containerPath  Lorg/eclipse/core/runtime/IPath;
           15   20     4               i  I
           16   20     5          length  I
    MethodParameters:
      Name  Flags
      path  

  public void removeSourceFolderFromIndex(org.eclipse.jdt.internal.core.JavaProject, org.eclipse.core.runtime.IPath, char[][], char[][]);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaProject;Lorg/eclipse/core/runtime/IPath;[[C[[C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        start local 2 // org.eclipse.core.runtime.IPath sourceFolder
        start local 3 // char[][] inclusionPatterns
        start local 4 // char[][] exclusionPatterns
         0: .line 915
            aload 1 /* javaProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            astore 5 /* project */
        start local 5 // org.eclipse.core.resources.IProject project
         1: .line 916
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.jobEnd:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.jobStart:I
            if_icmple 4
         2: .line 918
            new org.eclipse.jdt.internal.core.search.indexing.IndexAllProject
            dup
            aload 5 /* project */
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.IndexAllProject.<init>:(Lorg/eclipse/core/resources/IProject;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;)V
            astore 6 /* request */
        start local 6 // org.eclipse.jdt.internal.core.search.indexing.IndexRequest request
         3: .line 919
            aload 0 /* this */
            aload 6 /* request */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.isJobWaiting:(Lorg/eclipse/jdt/internal/core/search/processing/IJob;)Z
            ifeq 4
            return
        end local 6 // org.eclipse.jdt.internal.core.search.indexing.IndexRequest request
         4: .line 922
      StackMap locals: org.eclipse.core.resources.IProject
      StackMap stack:
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.search.indexing.RemoveFolderFromIndex
            dup
            aload 2 /* sourceFolder */
            aload 3 /* inclusionPatterns */
            aload 4 /* exclusionPatterns */
            aload 5 /* project */
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.RemoveFolderFromIndex.<init>:(Lorg/eclipse/core/runtime/IPath;[[C[[CLorg/eclipse/core/resources/IProject;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;)V
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.request:(Lorg/eclipse/jdt/internal/core/search/processing/IJob;)V
         5: .line 923
            return
        end local 5 // org.eclipse.core.resources.IProject project
        end local 4 // char[][] exclusionPatterns
        end local 3 // char[][] inclusionPatterns
        end local 2 // org.eclipse.core.runtime.IPath sourceFolder
        end local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    6     1        javaProject  Lorg/eclipse/jdt/internal/core/JavaProject;
            0    6     2       sourceFolder  Lorg/eclipse/core/runtime/IPath;
            0    6     3  inclusionPatterns  [[C
            0    6     4  exclusionPatterns  [[C
            1    6     5            project  Lorg/eclipse/core/resources/IProject;
            3    4     6            request  Lorg/eclipse/jdt/internal/core/search/indexing/IndexRequest;
    MethodParameters:
                   Name  Flags
      javaProject        
      sourceFolder       
      inclusionPatterns  
      exclusionPatterns  

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 929
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.processing.JobManager.reset:()V
         1: .line 930
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 931
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            ifnull 5
         3: .line 932
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.util.SimpleLookupTable
            dup
            invokespecial org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.<init>:()V
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
         4: .line 933
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
         5: .line 935
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager
      StackMap stack:
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.util.SimpleLookupTable
            dup
            invokespecial org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.<init>:()V
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
         6: .line 936
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.javaPluginLocation:Lorg/eclipse/core/runtime/IPath;
         7: .line 930
            aload 1
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 938
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
      Exception table:
        from    to  target  type
           2     8       9  any
           9    10       9  any

  public synchronized boolean resetIndex(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
         0: .line 945
            aload 1 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
            ifnonnull 1
            aload 1 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 2 /* containerPathString */
        start local 2 // java.lang.String containerPathString
         3: .line 948
            aload 0 /* this */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.computeIndexLocation:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 3 /* indexLocation */
        start local 3 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
         4: .line 949
            aload 0 /* this */
            aload 3 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndex:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;)Lorg/eclipse/jdt/internal/core/index/Index;
            astore 4 /* index */
        start local 4 // org.eclipse.jdt.internal.core.index.Index index
         5: .line 950
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 7
         6: .line 951
            new java.lang.StringBuilder
            dup
            ldc "-> reseting index: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* indexLocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " for path: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* containerPathString */
            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.verbose:(Ljava/lang/String;)V
         7: .line 953
      StackMap locals: java.lang.String org.eclipse.jdt.internal.core.index.IndexLocation org.eclipse.jdt.internal.core.index.Index
      StackMap stack:
            aload 4 /* index */
            ifnonnull 11
         8: .line 955
            aload 0 /* this */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.recreateIndex:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/index/Index;
            ifnull 9
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         9: iconst_0
        10: ireturn
        11: .line 957
      StackMap locals:
      StackMap stack:
            aload 4 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.reset:()V
        12: .line 958
            iconst_1
            ireturn
        end local 4 // org.eclipse.jdt.internal.core.index.Index index
        end local 3 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        13: .line 959
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.core.runtime.IPath java.lang.String
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        14: .line 961
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 17
        15: .line 962
            new java.lang.StringBuilder
            dup
            ldc "-> failed to reset index for path: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* containerPathString */
            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.verbose:(Ljava/lang/String;)V
        16: .line 963
            aload 3 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        17: .line 965
      StackMap locals: java.io.IOException
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.io.IOException e
        end local 2 // java.lang.String containerPathString
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   18     0                 this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   18     1        containerPath  Lorg/eclipse/core/runtime/IPath;
            3   18     2  containerPathString  Ljava/lang/String;
            4   13     3        indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            5   13     4                index  Lorg/eclipse/jdt/internal/core/index/Index;
           14   18     3                    e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3    10      13  Class java.io.IOException
          11    12      13  Class java.io.IOException
    MethodParameters:
               Name  Flags
      containerPath  

  public void savePreBuiltIndex(org.eclipse.jdt.internal.core.index.Index);
    descriptor: (Lorg/eclipse/jdt/internal/core/index/Index;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.internal.core.index.Index index
         0: .line 976
            aload 1 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.hasChanged:()Z
            ifeq 4
         1: .line 977
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 3
         2: .line 978
            new java.lang.StringBuilder
            dup
            ldc "-> saving pre-build index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.getIndexLocation:()Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         3: .line 979
      StackMap locals:
      StackMap stack:
            aload 1 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.save:()V
         4: .line 981
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         5: .line 982
            aload 0 /* this */
            aload 1 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.getIndexLocation:()Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REUSE_STATE:Ljava/lang/Integer;
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.updateIndexState:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Ljava/lang/Integer;)V
         6: .line 981
            aload 2
            monitorexit
         7: goto 10
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.jdt.internal.core.index.Index org.eclipse.jdt.internal.core.search.indexing.IndexManager
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        10: .line 984
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jdt.internal.core.index.Index index
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   11     1  index  Lorg/eclipse/jdt/internal/core/index/Index;
      Exception table:
        from    to  target  type
           5     7       8  any
           8     9       8  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      index  

  public void saveIndex(org.eclipse.jdt.internal.core.index.Index);
    descriptor: (Lorg/eclipse/jdt/internal/core/index/Index;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.internal.core.index.Index index
         0: .line 987
            aload 1 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.hasChanged:()Z
            ifeq 4
         1: .line 988
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 3
         2: .line 989
            new java.lang.StringBuilder
            dup
            ldc "-> saving index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.getIndexLocation:()Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         3: .line 990
      StackMap locals:
      StackMap stack:
            aload 1 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.save:()V
         4: .line 992
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         5: .line 993
            new org.eclipse.core.runtime.Path
            dup
            aload 1 /* index */
            getfield org.eclipse.jdt.internal.core.index.Index.containerPath:Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            astore 3 /* containerPath */
        start local 3 // org.eclipse.core.runtime.IPath containerPath
         6: .line 994
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.jobEnd:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.jobStart:I
            if_icmple 15
         7: .line 995
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.jobEnd:I
            istore 4 /* i */
        start local 4 // int i
         8: goto 14
         9: .line 996
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.core.runtime.IPath int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.awaitingJobs:[Lorg/eclipse/jdt/internal/core/search/processing/IJob;
            iload 4 /* i */
            aaload
            astore 5 /* job */
        start local 5 // org.eclipse.jdt.internal.core.search.processing.IJob job
        10: .line 997
            aload 5 /* job */
            instanceof org.eclipse.jdt.internal.core.search.indexing.IndexRequest
            ifeq 13
        11: .line 998
            aload 5 /* job */
            checkcast org.eclipse.jdt.internal.core.search.indexing.IndexRequest
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexRequest.containerPath:Lorg/eclipse/core/runtime/IPath;
            aload 3 /* containerPath */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 13
            aload 2
            monitorexit
        12: return
        end local 5 // org.eclipse.jdt.internal.core.search.processing.IJob job
        13: .line 995
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.jobStart:I
            if_icmpgt 9
        end local 4 // int i
        15: .line 1001
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.computeIndexLocation:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 4 /* indexLocation */
        start local 4 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        16: .line 1002
            aload 0 /* this */
            aload 4 /* indexLocation */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.SAVED_STATE:Ljava/lang/Integer;
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.updateIndexState:(Lorg/eclipse/jdt/internal/core/index/IndexLocation;Ljava/lang/Integer;)V
        end local 4 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 3 // org.eclipse.core.runtime.IPath containerPath
        17: .line 992
            aload 2
            monitorexit
        18: goto 21
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.jdt.internal.core.index.Index org.eclipse.jdt.internal.core.search.indexing.IndexManager
      StackMap stack: java.lang.Throwable
        19: aload 2
            monitorexit
        20: athrow
        21: .line 1004
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jdt.internal.core.index.Index index
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   22     1          index  Lorg/eclipse/jdt/internal/core/index/Index;
            6   17     3  containerPath  Lorg/eclipse/core/runtime/IPath;
            8   15     4              i  I
           10   13     5            job  Lorg/eclipse/jdt/internal/core/search/processing/IJob;
           16   17     4  indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
      Exception table:
        from    to  target  type
           5    12      19  any
          13    18      19  any
          19    20      19  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      index  

  public void saveIndexes();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=10, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 1010
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* toSave */
        start local 1 // java.util.ArrayList toSave
         1: .line 1011
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 1012
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.valueTable:[Ljava/lang/Object;
            astore 3 /* valueTable */
        start local 3 // java.lang.Object[] valueTable
         3: .line 1013
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: aload 3 /* valueTable */
            arraylength
            istore 5 /* l */
        start local 5 // int l
         5: goto 10
         6: .line 1014
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.util.ArrayList org.eclipse.jdt.internal.core.search.indexing.IndexManager java.lang.Object[] int int
      StackMap stack:
            aload 3 /* valueTable */
            iload 4 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.index.Index
            astore 6 /* index */
        start local 6 // org.eclipse.jdt.internal.core.index.Index index
         7: .line 1015
            aload 6 /* index */
            ifnull 9
         8: .line 1016
            aload 1 /* toSave */
            aload 6 /* index */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.eclipse.jdt.internal.core.index.Index index
         9: .line 1013
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            iload 5 /* l */
            if_icmplt 6
        end local 5 // int l
        end local 4 // int i
        end local 3 // java.lang.Object[] valueTable
        11: .line 1011
            aload 2
            monitorexit
        12: goto 15
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.util.ArrayList org.eclipse.jdt.internal.core.search.indexing.IndexManager
      StackMap stack: java.lang.Throwable
        13: aload 2
            monitorexit
        14: athrow
        15: .line 1020
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* allSaved */
        start local 2 // boolean allSaved
        16: .line 1021
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        17: aload 1 /* toSave */
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* length */
        start local 4 // int length
        18: goto 45
        19: .line 1022
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* toSave */
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.index.Index
            astore 5 /* index */
        start local 5 // org.eclipse.jdt.internal.core.index.Index index
        20: .line 1023
            aload 5 /* index */
            getfield org.eclipse.jdt.internal.core.index.Index.monitor:Lorg/eclipse/jdt/internal/core/search/indexing/ReadWriteMonitor;
            astore 6 /* monitor */
        start local 6 // org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor monitor
        21: .line 1024
            aload 6 /* monitor */
            ifnonnull 22
            goto 44
        22: .line 1028
      StackMap locals: org.eclipse.jdt.internal.core.index.Index org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor
      StackMap stack:
            aload 6 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor.enterRead:()V
        23: .line 1029
            aload 5 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.hasChanged:()Z
            ifeq 43
        24: .line 1030
            aload 6 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor.exitReadEnterWrite:()Z
            ifeq 38
        25: .line 1032
            aload 0 /* this */
            aload 5 /* index */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.saveIndex:(Lorg/eclipse/jdt/internal/core/index/Index;)V
        26: .line 1033
            goto 36
      StackMap locals:
      StackMap stack: java.io.IOException
        27: astore 7 /* e */
        start local 7 // java.io.IOException e
        28: .line 1034
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 31
        29: .line 1035
            ldc "-> got the following exception while saving:"
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;Ljava/io/PrintStream;)V
        30: .line 1036
            aload 7 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        31: .line 1038
      StackMap locals: java.io.IOException
      StackMap stack:
            iconst_0
            istore 2 /* allSaved */
        end local 7 // java.io.IOException e
        32: .line 1040
            aload 6 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor.exitWriteEnterRead:()V
            goto 43
        33: .line 1039
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.util.ArrayList int int int org.eclipse.jdt.internal.core.index.Index org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor
      StackMap stack: java.lang.Throwable
            astore 8
        34: .line 1040
            aload 6 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor.exitWriteEnterRead:()V
        35: .line 1041
            aload 8
            athrow
        36: .line 1040
      StackMap locals:
      StackMap stack:
            aload 6 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor.exitWriteEnterRead:()V
        37: .line 1042
            goto 43
        38: .line 1043
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* allSaved */
        39: .line 1046
            goto 43
      StackMap locals:
      StackMap stack: java.lang.Throwable
        40: astore 9
        41: .line 1047
            aload 6 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor.exitRead:()V
        42: .line 1048
            aload 9
            athrow
        43: .line 1047
      StackMap locals:
      StackMap stack:
            aload 6 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor.exitRead:()V
        end local 6 // org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor monitor
        end local 5 // org.eclipse.jdt.internal.core.index.Index index
        44: .line 1021
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        45: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 19
        end local 4 // int length
        end local 3 // int i
        46: .line 1050
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantsContainers:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            ifnull 49
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantUpdated:Z
            ifeq 49
        47: .line 1051
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.writeParticipantsIndexNamesFile:()V
        48: .line 1052
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantUpdated:Z
        49: .line 1054
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* allSaved */
            ifeq 50
            iconst_0
            goto 51
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.search.indexing.IndexManager
        50: iconst_1
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.util.ArrayList int
      StackMap stack: org.eclipse.jdt.internal.core.search.indexing.IndexManager int
        51: putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.needToSave:Z
        52: .line 1055
            return
        end local 2 // boolean allSaved
        end local 1 // java.util.ArrayList toSave
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   53     0        this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            1   53     1      toSave  Ljava/util/ArrayList;
            3   11     3  valueTable  [Ljava/lang/Object;
            4   11     4           i  I
            5   11     5           l  I
            7    9     6       index  Lorg/eclipse/jdt/internal/core/index/Index;
           16   53     2    allSaved  Z
           17   46     3           i  I
           18   46     4      length  I
           20   44     5       index  Lorg/eclipse/jdt/internal/core/index/Index;
           21   44     6     monitor  Lorg/eclipse/jdt/internal/core/search/indexing/ReadWriteMonitor;
           28   32     7           e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2    12      13  any
          13    14      13  any
          25    26      27  Class java.io.IOException
          25    32      33  any
          22    40      40  any

  public void scheduleDocumentIndexing(org.eclipse.jdt.core.search.SearchDocument, org.eclipse.core.runtime.IPath, org.eclipse.jdt.internal.core.index.IndexLocation, org.eclipse.jdt.core.search.SearchParticipant);
    descriptor: (Lorg/eclipse/jdt/core/search/SearchDocument;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/jdt/core/search/SearchParticipant;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.core.search.SearchDocument searchDocument
        start local 2 // org.eclipse.core.runtime.IPath container
        start local 3 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        start local 4 // org.eclipse.jdt.core.search.SearchParticipant searchParticipant
         0: .line 1062
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.search.indexing.IndexManager$1
            dup
            aload 0 /* this */
            aload 2 /* container */
            aload 0 /* this */
            aload 3 /* indexLocation */
            aload 1 /* searchDocument */
            aload 4 /* searchParticipant */
            invokespecial org.eclipse.jdt.internal.core.search.indexing.IndexManager$1.<init>:(Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;Lorg/eclipse/jdt/internal/core/index/IndexLocation;Lorg/eclipse/jdt/core/search/SearchDocument;Lorg/eclipse/jdt/core/search/SearchParticipant;)V
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.request:(Lorg/eclipse/jdt/internal/core/search/processing/IJob;)V
         1: .line 1093
            return
        end local 4 // org.eclipse.jdt.core.search.SearchParticipant searchParticipant
        end local 3 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 2 // org.eclipse.core.runtime.IPath container
        end local 1 // org.eclipse.jdt.core.search.SearchDocument searchDocument
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    2     1     searchDocument  Lorg/eclipse/jdt/core/search/SearchDocument;
            0    2     2          container  Lorg/eclipse/core/runtime/IPath;
            0    2     3      indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            0    2     4  searchParticipant  Lorg/eclipse/jdt/core/search/SearchParticipant;
    MethodParameters:
                   Name  Flags
      searchDocument     final
      container          
      indexLocation      final
      searchParticipant  final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 1097
            new java.lang.StringBuffer
            dup
            bipush 10
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuffer buffer
         1: .line 1098
            aload 1 /* buffer */
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.search.processing.JobManager.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 1099
            aload 1 /* buffer */
            ldc "In-memory indexes:\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 1100
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         4: .line 1101
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexes:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.valueTable:[Ljava/lang/Object;
            astore 3 /* valueTable */
        start local 3 // java.lang.Object[] valueTable
         5: .line 1102
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: aload 3 /* valueTable */
            arraylength
            istore 5 /* l */
        start local 5 // int l
         7: goto 12
         8: .line 1103
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.lang.StringBuffer int java.lang.Object[] int int
      StackMap stack:
            aload 3 /* valueTable */
            iload 4 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.index.Index
            astore 6 /* index */
        start local 6 // org.eclipse.jdt.internal.core.index.Index index
         9: .line 1104
            aload 6 /* index */
            ifnull 11
        10: .line 1105
            aload 1 /* buffer */
            iinc 2 /* count */ 1
            iload 2 /* count */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            ldc " - "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 6 /* index */
            invokevirtual org.eclipse.jdt.internal.core.index.Index.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 6 // org.eclipse.jdt.internal.core.index.Index index
        11: .line 1102
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 5 /* l */
            if_icmplt 8
        end local 5 // int l
        end local 4 // int i
        13: .line 1107
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.Object[] valueTable
        end local 2 // int count
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            1   14     1      buffer  Ljava/lang/StringBuffer;
            4   14     2       count  I
            5   14     3  valueTable  [Ljava/lang/Object;
            6   13     4           i  I
            7   13     5           l  I
            9   11     6       index  Lorg/eclipse/jdt/internal/core/index/Index;

  private void readIndexMap();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 1112
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexNamesMapFile:Ljava/io/File;
            aconst_null
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.getFileCharContent:(Ljava/io/File;Ljava/lang/String;)[C
            astore 1 /* indexMaps */
        start local 1 // char[] indexMaps
         1: .line 1113
            bipush 10
            aload 1 /* indexMaps */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitOn:(C[C)[[C
            astore 2 /* names */
        start local 2 // char[][] names
         2: .line 1114
            aload 2 /* names */
            arraylength
            iconst_3
            if_icmplt 18
         3: .line 1116
            ldc "INDEX VERSION 1.131"
            astore 3 /* savedSignature */
        start local 3 // java.lang.String savedSignature
         4: .line 1117
            aload 3 /* savedSignature */
            new java.lang.String
            dup
            aload 2 /* names */
            iconst_0
            aaload
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
         5: .line 1118
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         6: aload 2 /* names */
            arraylength
            iconst_1
            isub
            istore 5 /* l */
        start local 5 // int l
         7: goto 13
         8: .line 1119
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager char[] char[][] java.lang.String int int
      StackMap stack:
            new java.net.URL
            dup
            new java.lang.String
            dup
            aload 2 /* names */
            iload 4 /* i */
            aaload
            invokespecial java.lang.String.<init>:([C)V
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            invokestatic org.eclipse.jdt.internal.core.index.IndexLocation.createIndexLocation:(Ljava/net/URL;)Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            astore 6 /* indexPath */
        start local 6 // org.eclipse.jdt.internal.core.index.IndexLocation indexPath
         9: .line 1120
            aload 6 /* indexPath */
            ifnonnull 10
            goto 12
        10: .line 1121
      StackMap locals: org.eclipse.jdt.internal.core.index.IndexLocation
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            new org.eclipse.core.runtime.Path
            dup
            new java.lang.String
            dup
            aload 2 /* names */
            iload 4 /* i */
            iconst_1
            iadd
            aaload
            invokespecial java.lang.String.<init>:([C)V
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            aload 6 /* indexPath */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 1122
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 6 /* indexPath */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REUSE_STATE:Ljava/lang/Integer;
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // org.eclipse.jdt.internal.core.index.IndexLocation indexPath
        12: .line 1118
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 2
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iload 5 /* l */
            if_icmplt 8
        end local 5 // int l
        end local 4 // int i
        end local 3 // java.lang.String savedSignature
        end local 2 // char[][] names
        end local 1 // char[] indexMaps
        14: .line 1126
            goto 18
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager
      StackMap stack: java.io.IOException
        15: pop
        16: .line 1127
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 18
        17: .line 1128
            ldc "Failed to read saved index file names"
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        18: .line 1130
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            1   14     1       indexMaps  [C
            2   14     2           names  [[C
            4   14     3  savedSignature  Ljava/lang/String;
            6   14     4               i  I
            7   14     5               l  I
            9   12     6       indexPath  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
      Exception table:
        from    to  target  type
           0    14      15  Class java.io.IOException

  private void readParticipantsIndexNamesFile();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=7, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 1133
            new org.eclipse.jdt.internal.compiler.util.SimpleLookupTable
            dup
            iconst_3
            invokespecial org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.<init>:(I)V
            astore 1 /* containers */
        start local 1 // org.eclipse.jdt.internal.compiler.util.SimpleLookupTable containers
         1: .line 1135
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantIndexNamesFile:Ljava/io/File;
            aconst_null
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.getFileCharContent:(Ljava/io/File;Ljava/lang/String;)[C
            astore 2 /* participantIndexNames */
        start local 2 // char[] participantIndexNames
         2: .line 1136
            aload 2 /* participantIndexNames */
            arraylength
            ifle 17
         3: .line 1137
            bipush 10
            aload 2 /* participantIndexNames */
            invokestatic org.eclipse.jdt.core.compiler.CharOperation.splitOn:(C[C)[[C
            astore 3 /* names */
        start local 3 // char[][] names
         4: .line 1138
            aload 3 /* names */
            arraylength
            iconst_3
            if_icmplt 17
         5: .line 1140
            ldc "INDEX VERSION 1.131"
            new java.lang.String
            dup
            aload 3 /* names */
            iconst_0
            aaload
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
         6: .line 1141
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         7: aload 3 /* names */
            arraylength
            iconst_1
            isub
            istore 5 /* l */
        start local 5 // int l
         8: goto 12
         9: .line 1142
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.jdt.internal.compiler.util.SimpleLookupTable char[] char[][] int int
      StackMap stack:
            new org.eclipse.jdt.internal.core.index.FileIndexLocation
            dup
            new java.io.File
            dup
            new java.lang.String
            dup
            aload 3 /* names */
            iload 4 /* i */
            aaload
            invokespecial java.lang.String.<init>:([C)V
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            iconst_1
            invokespecial org.eclipse.jdt.internal.core.index.FileIndexLocation.<init>:(Ljava/io/File;Z)V
            astore 6 /* indexLocation */
        start local 6 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        10: .line 1143
            aload 1 /* containers */
            aload 6 /* indexLocation */
            new org.eclipse.core.runtime.Path
            dup
            new java.lang.String
            dup
            aload 3 /* names */
            iload 4 /* i */
            iconst_1
            iadd
            aaload
            invokespecial java.lang.String.<init>:([C)V
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        11: .line 1141
            iinc 4 /* i */ 2
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 5 /* l */
            if_icmplt 9
        end local 5 // int l
        end local 4 // int i
        end local 3 // char[][] names
        end local 2 // char[] participantIndexNames
        13: .line 1148
            goto 17
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager org.eclipse.jdt.internal.compiler.util.SimpleLookupTable
      StackMap stack: java.io.IOException
        14: pop
        15: .line 1149
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 17
        16: .line 1150
            ldc "Failed to read participant index file names"
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        17: .line 1152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* containers */
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantsContainers:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
        18: .line 1153
            return
        end local 1 // org.eclipse.jdt.internal.compiler.util.SimpleLookupTable containers
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   19     0                   this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            1   19     1             containers  Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            2   13     2  participantIndexNames  [C
            4   13     3                  names  [[C
            7   13     4                      i  I
            8   13     5                      l  I
           10   11     6          indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
      Exception table:
        from    to  target  type
           1    13      14  Class java.io.IOException

  private synchronized void removeIndexesState(org.eclipse.jdt.internal.core.index.IndexLocation[]);
    descriptor: ([Lorg/eclipse/jdt/internal/core/index/IndexLocation;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.internal.core.index.IndexLocation[] locations
         0: .line 1156
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndexStates:()Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            pop
         1: .line 1157
            aload 1 /* locations */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         2: .line 1158
            iconst_0
            istore 3 /* changed */
        start local 3 // boolean changed
         3: .line 1159
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 11
         5: .line 1160
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* locations */
            iload 4 /* i */
            aaload
            ifnonnull 6
            goto 10
         6: .line 1161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* locations */
            iload 4 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.removeKey:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 10
         7: .line 1162
            iconst_1
            istore 3 /* changed */
         8: .line 1163
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 10
         9: .line 1164
            new java.lang.StringBuilder
            dup
            ldc "-> index state updated to: ? for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* locations */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        10: .line 1159
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 2 /* length */
            if_icmplt 5
        end local 4 // int i
        12: .line 1168
            iload 3 /* changed */
            ifne 13
            return
        13: .line 1170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.writeSavedIndexNamesFile:()V
        14: .line 1171
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.writeIndexMapFile:()V
        15: .line 1172
            return
        end local 3 // boolean changed
        end local 2 // int length
        end local 1 // org.eclipse.jdt.internal.core.index.IndexLocation[] locations
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   16     1  locations  [Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            2   16     2     length  I
            3   16     3    changed  Z
            4   12     4          i  I
    MethodParameters:
           Name  Flags
      locations  

  private synchronized void updateIndexState(org.eclipse.jdt.internal.core.index.IndexLocation, java.lang.Integer);
    descriptor: (Lorg/eclipse/jdt/internal/core/index/IndexLocation;Ljava/lang/Integer;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        start local 2 // java.lang.Integer indexState
         0: .line 1174
            aload 1 /* indexLocation */
            ifnonnull 2
         1: .line 1175
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 1177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getIndexStates:()Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            pop
         3: .line 1178
            aload 2 /* indexState */
            ifnull 7
         4: .line 1179
            aload 2 /* indexState */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
            ifeq 5
            return
         5: .line 1180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* indexLocation */
            aload 2 /* indexState */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 1181
            goto 9
         7: .line 1182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.containsKey:(Ljava/lang/Object;)Z
            ifne 8
            return
         8: .line 1183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 1 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.removeKey:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 1186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.writeSavedIndexNamesFile:()V
        10: .line 1188
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 21
        11: .line 1189
            aload 2 /* indexState */
            ifnonnull 14
        12: .line 1190
            new java.lang.StringBuilder
            dup
            ldc "-> index state removed for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* indexLocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        13: .line 1191
            goto 21
        14: .line 1192
      StackMap locals:
      StackMap stack:
            ldc "?"
            astore 3 /* state */
        start local 3 // java.lang.String state
        15: .line 1193
            aload 2 /* indexState */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.SAVED_STATE:Ljava/lang/Integer;
            if_acmpne 16
            ldc "SAVED"
            astore 3 /* state */
            goto 20
        16: .line 1194
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* indexState */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.UPDATING_STATE:Ljava/lang/Integer;
            if_acmpne 17
            ldc "UPDATING"
            astore 3 /* state */
            goto 20
        17: .line 1195
      StackMap locals:
      StackMap stack:
            aload 2 /* indexState */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.UNKNOWN_STATE:Ljava/lang/Integer;
            if_acmpne 18
            ldc "UNKNOWN"
            astore 3 /* state */
            goto 20
        18: .line 1196
      StackMap locals:
      StackMap stack:
            aload 2 /* indexState */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REBUILDING_STATE:Ljava/lang/Integer;
            if_acmpne 19
            ldc "REBUILDING"
            astore 3 /* state */
            goto 20
        19: .line 1197
      StackMap locals:
      StackMap stack:
            aload 2 /* indexState */
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REUSE_STATE:Ljava/lang/Integer;
            if_acmpne 20
            ldc "REUSE"
            astore 3 /* state */
        20: .line 1198
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "-> index state updated to: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* state */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " for: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* indexLocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        end local 3 // java.lang.String state
        21: .line 1202
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Integer indexState
        end local 1 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0   22     1  indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
            0   22     2     indexState  Ljava/lang/Integer;
           15   21     3          state  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      indexLocation  
      indexState     

  public void updateParticipant(org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
        start local 1 // org.eclipse.core.runtime.IPath indexPath
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         0: .line 1204
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantsContainers:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            ifnonnull 2
         1: .line 1205
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.readParticipantsIndexNamesFile:()V
         2: .line 1207
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.index.FileIndexLocation
            dup
            aload 1 /* indexPath */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            iconst_1
            invokespecial org.eclipse.jdt.internal.core.index.FileIndexLocation.<init>:(Ljava/io/File;Z)V
            astore 3 /* indexLocation */
        start local 3 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
         3: .line 1208
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantsContainers:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 3 /* indexLocation */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 6
         4: .line 1209
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantsContainers:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 3 /* indexLocation */
            aload 2 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1210
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantUpdated:Z
         6: .line 1212
      StackMap locals: org.eclipse.jdt.internal.core.index.IndexLocation
      StackMap stack:
            return
        end local 3 // org.eclipse.jdt.internal.core.index.IndexLocation indexLocation
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.core.runtime.IPath indexPath
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            0    7     1      indexPath  Lorg/eclipse/core/runtime/IPath;
            0    7     2  containerPath  Lorg/eclipse/core/runtime/IPath;
            3    7     3  indexLocation  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
    MethodParameters:
               Name  Flags
      indexPath      
      containerPath  

  private void writeJavaLikeNamesFile();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 1214
            aconst_null
            astore 1 /* writer */
        start local 1 // java.io.BufferedWriter writer
         1: .line 1215
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.getJavaPluginWorkingLocation:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            astore 2 /* pathName */
        start local 2 // java.lang.String pathName
         2: .line 1217
            invokestatic org.eclipse.jdt.internal.core.util.Util.getJavaLikeExtensions:()[[C
            astore 3 /* currentNames */
        start local 3 // char[][] currentNames
         3: .line 1218
            aload 3 /* currentNames */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         4: .line 1219
            iload 4 /* length */
            iconst_1
            if_icmple 7
         5: .line 1222
            aload 3 /* currentNames */
            iconst_0
            iload 4 /* length */
            anewarray char[]
            dup
            astore 3 /* currentNames */
            iconst_0
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1223
            aload 3 /* currentNames */
            invokestatic org.eclipse.jdt.internal.core.util.Util.sort:([[C)V
         7: .line 1225
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.io.BufferedWriter java.lang.String char[][] int
      StackMap stack:
            new java.io.File
            dup
            aload 2 /* pathName */
            ldc "javaLikeNames.txt"
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* javaLikeNamesFile */
        start local 5 // java.io.File javaLikeNamesFile
         8: .line 1226
            new java.io.BufferedWriter
            dup
            new java.io.FileWriter
            dup
            aload 5 /* javaLikeNamesFile */
            invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedWriter.<init>:(Ljava/io/Writer;)V
            astore 1 /* writer */
         9: .line 1227
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        10: goto 14
        11: .line 1228
      StackMap locals: java.io.File int
      StackMap stack:
            aload 1 /* writer */
            aload 3 /* currentNames */
            iload 6 /* i */
            aaload
            invokevirtual java.io.BufferedWriter.write:([C)V
        12: .line 1229
            aload 1 /* writer */
            bipush 10
            invokevirtual java.io.BufferedWriter.write:(I)V
        13: .line 1227
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 6 /* i */
            iload 4 /* length */
            iconst_1
            isub
            if_icmplt 11
        end local 6 // int i
        15: .line 1231
            iload 4 /* length */
            ifle 31
        16: .line 1232
            aload 1 /* writer */
            aload 3 /* currentNames */
            iload 4 /* length */
            iconst_1
            isub
            aaload
            invokevirtual java.io.BufferedWriter.write:([C)V
        end local 5 // java.io.File javaLikeNamesFile
        end local 4 // int length
        end local 3 // char[][] currentNames
        17: .line 1234
            goto 31
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.io.BufferedWriter java.lang.String
      StackMap stack: java.io.IOException
        18: pop
        19: .line 1235
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 21
        20: .line 1236
            ldc "Failed to write javaLikeNames file"
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;Ljava/io/PrintStream;)V
        21: .line 1238
      StackMap locals:
      StackMap stack:
            aload 1 /* writer */
            ifnull 35
        22: .line 1240
            aload 1 /* writer */
            invokevirtual java.io.BufferedWriter.close:()V
        23: .line 1241
            goto 35
      StackMap locals:
      StackMap stack: java.io.IOException
        24: pop
            goto 35
        25: .line 1237
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        26: .line 1238
            aload 1 /* writer */
            ifnull 30
        27: .line 1240
            aload 1 /* writer */
            invokevirtual java.io.BufferedWriter.close:()V
        28: .line 1241
            goto 30
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.io.BufferedWriter java.lang.String top top top top java.lang.Throwable
      StackMap stack: java.io.IOException
        29: pop
        30: .line 1245
      StackMap locals:
      StackMap stack:
            aload 7
            athrow
        31: .line 1238
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.io.BufferedWriter java.lang.String
      StackMap stack:
            aload 1 /* writer */
            ifnull 35
        32: .line 1240
            aload 1 /* writer */
            invokevirtual java.io.BufferedWriter.close:()V
        33: .line 1241
            goto 35
      StackMap locals:
      StackMap stack: java.io.IOException
        34: pop
        35: .line 1246
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String pathName
        end local 1 // java.io.BufferedWriter writer
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   36     0               this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            1   36     1             writer  Ljava/io/BufferedWriter;
            2   36     2           pathName  Ljava/lang/String;
            3   17     3       currentNames  [[C
            4   17     4             length  I
            8   17     5  javaLikeNamesFile  Ljava/io/File;
           10   15     6                  i  I
      Exception table:
        from    to  target  type
           2    17      18  Class java.io.IOException
          22    23      24  Class java.io.IOException
           2    21      25  any
          27    28      29  Class java.io.IOException
          32    33      34  Class java.io.IOException

  private void writeIndexMapFile();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 1248
            aconst_null
            astore 1 /* writer */
        start local 1 // java.io.BufferedWriter writer
         1: .line 1250
            new java.io.BufferedWriter
            dup
            new java.io.FileWriter
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexNamesMapFile:Ljava/io/File;
            invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedWriter.<init>:(Ljava/io/Writer;)V
            astore 1 /* writer */
         2: .line 1251
            aload 1 /* writer */
            ldc "INDEX VERSION 1.131"
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
         3: .line 1252
            aload 1 /* writer */
            bipush 10
            invokevirtual java.io.BufferedWriter.write:(I)V
         4: .line 1253
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.keyTable:[Ljava/lang/Object;
            astore 2 /* keys */
        start local 2 // java.lang.Object[] keys
         5: .line 1254
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.valueTable:[Ljava/lang/Object;
            astore 3 /* states */
        start local 3 // java.lang.Object[] states
         6: .line 1255
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: aload 3 /* states */
            arraylength
            istore 5 /* l */
        start local 5 // int l
         8: goto 18
         9: .line 1256
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.io.BufferedWriter java.lang.Object[] java.lang.Object[] int int
      StackMap stack:
            aload 2 /* keys */
            iload 4 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.index.IndexLocation
            astore 6 /* location */
        start local 6 // org.eclipse.jdt.internal.core.index.IndexLocation location
        10: .line 1257
            aload 6 /* location */
            ifnull 17
            aload 3 /* states */
            iload 4 /* i */
            aaload
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.REUSE_STATE:Ljava/lang/Integer;
            if_acmpne 17
        11: .line 1258
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexLocations:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            aload 6 /* location */
            invokevirtual org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.keyForValue:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            astore 7 /* container */
        start local 7 // org.eclipse.core.runtime.IPath container
        12: .line 1259
            aload 7 /* container */
            ifnull 17
        13: .line 1260
            aload 1 /* writer */
            aload 6 /* location */
            invokevirtual org.eclipse.jdt.internal.core.index.IndexLocation.toString:()Ljava/lang/String;
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
        14: .line 1261
            aload 1 /* writer */
            bipush 10
            invokevirtual java.io.BufferedWriter.write:(I)V
        15: .line 1262
            aload 1 /* writer */
            aload 7 /* container */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
        16: .line 1263
            aload 1 /* writer */
            bipush 10
            invokevirtual java.io.BufferedWriter.write:(I)V
        end local 7 // org.eclipse.core.runtime.IPath container
        end local 6 // org.eclipse.jdt.internal.core.index.IndexLocation location
        17: .line 1255
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 4 /* i */
            iload 5 /* l */
            if_icmplt 9
        end local 5 // int l
        end local 4 // int i
        end local 3 // java.lang.Object[] states
        end local 2 // java.lang.Object[] keys
        19: .line 1267
            goto 33
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.io.BufferedWriter
      StackMap stack: java.io.IOException
        20: pop
        21: .line 1268
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 23
        22: .line 1269
            ldc "Failed to write saved index file names"
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;Ljava/io/PrintStream;)V
        23: .line 1271
      StackMap locals:
      StackMap stack:
            aload 1 /* writer */
            ifnull 37
        24: .line 1273
            aload 1 /* writer */
            invokevirtual java.io.BufferedWriter.close:()V
        25: .line 1274
            goto 37
      StackMap locals:
      StackMap stack: java.io.IOException
        26: pop
            goto 37
        27: .line 1270
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        28: .line 1271
            aload 1 /* writer */
            ifnull 32
        29: .line 1273
            aload 1 /* writer */
            invokevirtual java.io.BufferedWriter.close:()V
        30: .line 1274
            goto 32
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.io.BufferedWriter top top top top top top java.lang.Throwable
      StackMap stack: java.io.IOException
        31: pop
        32: .line 1278
      StackMap locals:
      StackMap stack:
            aload 8
            athrow
        33: .line 1271
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.io.BufferedWriter
      StackMap stack:
            aload 1 /* writer */
            ifnull 37
        34: .line 1273
            aload 1 /* writer */
            invokevirtual java.io.BufferedWriter.close:()V
        35: .line 1274
            goto 37
      StackMap locals:
      StackMap stack: java.io.IOException
        36: pop
        37: .line 1279
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.BufferedWriter writer
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   38     0       this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            1   38     1     writer  Ljava/io/BufferedWriter;
            5   19     2       keys  [Ljava/lang/Object;
            6   19     3     states  [Ljava/lang/Object;
            7   19     4          i  I
            8   19     5          l  I
           10   17     6   location  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
           12   17     7  container  Lorg/eclipse/core/runtime/IPath;
      Exception table:
        from    to  target  type
           1    19      20  Class java.io.IOException
          24    25      26  Class java.io.IOException
           1    23      27  any
          29    30      31  Class java.io.IOException
          34    35      36  Class java.io.IOException

  private void writeParticipantsIndexNamesFile();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 1281
            aconst_null
            astore 1 /* writer */
        start local 1 // java.io.BufferedWriter writer
         1: .line 1283
            new java.io.BufferedWriter
            dup
            new java.io.FileWriter
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantIndexNamesFile:Ljava/io/File;
            invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedWriter.<init>:(Ljava/io/Writer;)V
            astore 1 /* writer */
         2: .line 1284
            aload 1 /* writer */
            ldc "INDEX VERSION 1.131"
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
         3: .line 1285
            aload 1 /* writer */
            bipush 10
            invokevirtual java.io.BufferedWriter.write:(I)V
         4: .line 1286
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantsContainers:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.keyTable:[Ljava/lang/Object;
            astore 2 /* indexFiles */
        start local 2 // java.lang.Object[] indexFiles
         5: .line 1287
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.participantsContainers:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.valueTable:[Ljava/lang/Object;
            astore 3 /* containers */
        start local 3 // java.lang.Object[] containers
         6: .line 1288
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: aload 2 /* indexFiles */
            arraylength
            istore 5 /* l */
        start local 5 // int l
         8: goto 16
         9: .line 1289
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.io.BufferedWriter java.lang.Object[] java.lang.Object[] int int
      StackMap stack:
            aload 2 /* indexFiles */
            iload 4 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.index.IndexLocation
            astore 6 /* indexFile */
        start local 6 // org.eclipse.jdt.internal.core.index.IndexLocation indexFile
        10: .line 1290
            aload 6 /* indexFile */
            ifnull 15
        11: .line 1291
            aload 1 /* writer */
            aload 6 /* indexFile */
            invokevirtual org.eclipse.jdt.internal.core.index.IndexLocation.getIndexFile:()Ljava/io/File;
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
        12: .line 1292
            aload 1 /* writer */
            bipush 10
            invokevirtual java.io.BufferedWriter.write:(I)V
        13: .line 1293
            aload 1 /* writer */
            aload 3 /* containers */
            iload 4 /* i */
            aaload
            checkcast org.eclipse.core.runtime.IPath
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
        14: .line 1294
            aload 1 /* writer */
            bipush 10
            invokevirtual java.io.BufferedWriter.write:(I)V
        end local 6 // org.eclipse.jdt.internal.core.index.IndexLocation indexFile
        15: .line 1288
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            iload 5 /* l */
            if_icmplt 9
        end local 5 // int l
        end local 4 // int i
        end local 3 // java.lang.Object[] containers
        end local 2 // java.lang.Object[] indexFiles
        17: .line 1297
            goto 31
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.io.BufferedWriter
      StackMap stack: java.io.IOException
        18: pop
        19: .line 1298
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.VERBOSE:Z
            ifeq 21
        20: .line 1299
            ldc "Failed to write participant index file names"
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;Ljava/io/PrintStream;)V
        21: .line 1301
      StackMap locals:
      StackMap stack:
            aload 1 /* writer */
            ifnull 35
        22: .line 1303
            aload 1 /* writer */
            invokevirtual java.io.BufferedWriter.close:()V
        23: .line 1304
            goto 35
      StackMap locals:
      StackMap stack: java.io.IOException
        24: pop
            goto 35
        25: .line 1300
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        26: .line 1301
            aload 1 /* writer */
            ifnull 30
        27: .line 1303
            aload 1 /* writer */
            invokevirtual java.io.BufferedWriter.close:()V
        28: .line 1304
            goto 30
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.io.BufferedWriter top top top top top java.lang.Throwable
      StackMap stack: java.io.IOException
        29: pop
        30: .line 1308
      StackMap locals:
      StackMap stack:
            aload 7
            athrow
        31: .line 1301
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.io.BufferedWriter
      StackMap stack:
            aload 1 /* writer */
            ifnull 35
        32: .line 1303
            aload 1 /* writer */
            invokevirtual java.io.BufferedWriter.close:()V
        33: .line 1304
            goto 35
      StackMap locals:
      StackMap stack: java.io.IOException
        34: pop
        35: .line 1309
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.BufferedWriter writer
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   36     0        this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            1   36     1      writer  Ljava/io/BufferedWriter;
            5   17     2  indexFiles  [Ljava/lang/Object;
            6   17     3  containers  [Ljava/lang/Object;
            7   17     4           i  I
            8   17     5           l  I
           10   15     6   indexFile  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
      Exception table:
        from    to  target  type
           1    17      18  Class java.io.IOException
          22    23      24  Class java.io.IOException
           1    21      25  any
          27    28      29  Class java.io.IOException
          32    33      34  Class java.io.IOException

  private void writeSavedIndexNamesFile();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
         0: .line 1311
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.keyTable:[Ljava/lang/Object;
            astore 1 /* keys */
        start local 1 // java.lang.Object[] keys
         1: .line 1312
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexStates:Lorg/eclipse/jdt/internal/compiler/util/SimpleLookupTable;
            getfield org.eclipse.jdt.internal.compiler.util.SimpleLookupTable.valueTable:[Ljava/lang/Object;
            astore 2 /* states */
        start local 2 // java.lang.Object[] states
         2: .line 1313
            iconst_0
            istore 3 /* numToSave */
        start local 3 // int numToSave
         3: .line 1314
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: aload 2 /* states */
            arraylength
            istore 5 /* l */
        start local 5 // int l
         5: goto 10
         6: .line 1315
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.lang.Object[] java.lang.Object[] int int int
      StackMap stack:
            aload 1 /* keys */
            iload 4 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.index.IndexLocation
            astore 6 /* key */
        start local 6 // org.eclipse.jdt.internal.core.index.IndexLocation key
         7: .line 1316
            aload 6 /* key */
            ifnull 9
            aload 2 /* states */
            iload 4 /* i */
            aaload
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.SAVED_STATE:Ljava/lang/Integer;
            if_acmpne 9
         8: .line 1317
            iinc 3 /* numToSave */ 1
        end local 6 // org.eclipse.jdt.internal.core.index.IndexLocation key
         9: .line 1314
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            iload 5 /* l */
            if_icmplt 6
        end local 5 // int l
        end local 4 // int i
        11: .line 1320
            iload 3 /* numToSave */
            anewarray char[]
            astore 4 /* arrays */
        start local 4 // char[][] arrays
        12: .line 1321
            iconst_0
            istore 5 /* idx */
        start local 5 // int idx
        13: .line 1322
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: aload 2 /* states */
            arraylength
            istore 7 /* l */
        start local 7 // int l
        15: goto 20
        16: .line 1323
      StackMap locals: org.eclipse.jdt.internal.core.search.indexing.IndexManager java.lang.Object[] java.lang.Object[] int char[][] int int int
      StackMap stack:
            aload 1 /* keys */
            iload 6 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.index.IndexLocation
            astore 8 /* key */
        start local 8 // org.eclipse.jdt.internal.core.index.IndexLocation key
        17: .line 1324
            aload 8 /* key */
            ifnull 19
            aload 2 /* states */
            iload 6 /* i */
            aaload
            getstatic org.eclipse.jdt.internal.core.search.indexing.IndexManager.SAVED_STATE:Ljava/lang/Integer;
            if_acmpne 19
        18: .line 1325
            aload 4 /* arrays */
            iload 5 /* idx */
            iinc 5 /* idx */ 1
            aload 8 /* key */
            invokevirtual org.eclipse.jdt.internal.core.index.IndexLocation.fileName:()Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            aastore
        end local 8 // org.eclipse.jdt.internal.core.index.IndexLocation key
        19: .line 1322
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 6 /* i */
            iload 7 /* l */
            if_icmplt 16
        end local 7 // int l
        end local 6 // int i
        21: .line 1328
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.search.indexing.IndexManager.nameRegistry:Lorg/eclipse/jdt/internal/core/search/indexing/IndexNamesRegistry;
            aload 4 /* arrays */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexNamesRegistry.write:([[C)V
        22: .line 1329
            return
        end local 5 // int idx
        end local 4 // char[][] arrays
        end local 3 // int numToSave
        end local 2 // java.lang.Object[] states
        end local 1 // java.lang.Object[] keys
        end local 0 // org.eclipse.jdt.internal.core.search.indexing.IndexManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            1   23     1       keys  [Ljava/lang/Object;
            2   23     2     states  [Ljava/lang/Object;
            3   23     3  numToSave  I
            4   11     4          i  I
            5   11     5          l  I
            7    9     6        key  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
           12   23     4     arrays  [[C
           13   23     5        idx  I
           14   21     6          i  I
           15   21     7          l  I
           17   19     8        key  Lorg/eclipse/jdt/internal/core/index/IndexLocation;
}
SourceFile: "IndexManager.java"
NestMembers:
  org.eclipse.jdt.internal.core.search.indexing.IndexManager$1
InnerClasses:
  org.eclipse.jdt.internal.core.search.indexing.IndexManager$1