public final class org.eclipse.jdt.internal.core.nd.indexer.Indexer
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.eclipse.jdt.internal.core.nd.indexer.Indexer
super_class: java.lang.Object
{
private org.eclipse.jdt.internal.core.nd.Nd nd;
descriptor: Lorg/eclipse/jdt/internal/core/nd/Nd;
flags: (0x0002) ACC_PRIVATE
private org.eclipse.core.resources.IWorkspaceRoot root;
descriptor: Lorg/eclipse/core/resources/IWorkspaceRoot;
flags: (0x0002) ACC_PRIVATE
private static org.eclipse.jdt.internal.core.nd.indexer.Indexer indexer;
descriptor: Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public static boolean DEBUG;
descriptor: Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
public static boolean DEBUG_ALLOCATIONS;
descriptor: Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
public static boolean DEBUG_TIMING;
descriptor: Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
public static boolean DEBUG_SCHEDULING;
descriptor: Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
public static boolean DEBUG_INSERTIONS;
descriptor: Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
public static boolean DEBUG_SELFTEST;
descriptor: Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
public static int DEBUG_LOG_SIZE_MB;
descriptor: I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
private static final int TOTAL_TICKS_TO_REPORT_DURING_INDEXING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1000
private boolean enableAutomaticIndexing;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean indexerDirtiedWhileDisabled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.lang.Object automaticIndexingMutex;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.eclipse.jdt.internal.core.nd.indexer.FileStateCache fileStateCache;
descriptor: Lorg/eclipse/jdt/internal/core/nd/indexer/FileStateCache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.lang.Object mutex;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.lang.Object listenersMutex;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private java.util.Set<org.eclipse.jdt.internal.core.nd.indexer.Indexer$Listener> listeners;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer$Listener;>;
private org.eclipse.core.runtime.jobs.JobGroup group;
descriptor: Lorg/eclipse/core/runtime/jobs/JobGroup;
flags: (0x0002) ACC_PRIVATE
private org.eclipse.core.runtime.jobs.Job rescanJob;
descriptor: Lorg/eclipse/core/runtime/jobs/Job;
flags: (0x0002) ACC_PRIVATE
private org.eclipse.core.runtime.jobs.Job rebuildIndexJob;
descriptor: Lorg/eclipse/core/runtime/jobs/Job;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.mutex:Ljava/lang/Object;
return
LocalVariableTable:
Start End Slot Name Signature
public static org.eclipse.jdt.internal.core.nd.indexer.Indexer getInstance();
descriptor: ()Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.mutex:Ljava/lang/Object;
dup
astore 0
monitorenter
1: getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.indexer:Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
ifnonnull 3
2: new org.eclipse.jdt.internal.core.nd.indexer.Indexer
dup
invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.getGlobalNd:()Lorg/eclipse/jdt/internal/core/nd/Nd;
invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
invokespecial org.eclipse.jdt.internal.core.nd.indexer.Indexer.<init>:(Lorg/eclipse/jdt/internal/core/nd/Nd;Lorg/eclipse/core/resources/IWorkspaceRoot;)V
putstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.indexer:Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
3: StackMap locals: java.lang.Object
StackMap stack:
getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.indexer:Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
aload 0
monitorexit
4: areturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
aload 0
monitorexit
6: athrow
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
1 4 5 any
5 6 5 any
public void enableAutomaticIndexing(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.automaticIndexingMutex:Ljava/lang/Object;
dup
astore 3
monitorenter
2: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.enableAutomaticIndexing:Z
iload 1
if_icmpne 5
3: aload 3
monitorexit
4: return
5: StackMap locals: int java.lang.Object
StackMap stack:
aload 0
iload 1
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.enableAutomaticIndexing:Z
6: iload 1
ifeq 8
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.indexerDirtiedWhileDisabled:Z
ifeq 8
7: iconst_1
istore 2
8: StackMap locals:
StackMap stack:
aload 3
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 3
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.isEnabled:()Z
ifeq 19
13: iload 2
ifeq 15
14: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescanJob:Lorg/eclipse/core/runtime/jobs/Job;
invokevirtual org.eclipse.core.runtime.jobs.Job.schedule:()V
15: StackMap locals:
StackMap stack:
iload 1
ifne 19
16: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescanJob:Lorg/eclipse/core/runtime/jobs/Job;
lconst_0
aconst_null
invokevirtual org.eclipse.core.runtime.jobs.Job.join:(JLorg/eclipse/core/runtime/IProgressMonitor;)Z
pop
17: goto 19
StackMap locals:
StackMap stack: java.lang.Exception
18: pop
19: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 20 1 enabled Z
1 20 2 runRescan Z
Exception table:
from to target type
2 4 10 any
5 9 10 any
10 11 10 any
16 17 18 Class org.eclipse.core.runtime.OperationCanceledException
16 17 18 Class java.lang.InterruptedException
MethodParameters:
Name Flags
enabled
private static long getGarbageCleanupTimeout();
descriptor: ()J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: invokestatic org.eclipse.core.runtime.Platform.getPreferencesService:()Lorg/eclipse/core/runtime/preferences/IPreferencesService;
ldc "org.eclipse.jdt.core"
ldc "garbageCleanupTimeoutMs"
1: ldc 259200000
2: aconst_null
3: invokeinterface org.eclipse.core.runtime.preferences.IPreferencesService.getLong:(Ljava/lang/String;Ljava/lang/String;J[Lorg/eclipse/core/runtime/preferences/IScopeContext;)J
lreturn
LocalVariableTable:
Start End Slot Name Signature
private static long getUsageTimestampUpdatePeriod();
descriptor: ()J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: invokestatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.getGarbageCleanupTimeout:()J
ldc 4
ldiv
lreturn
LocalVariableTable:
Start End Slot Name Signature
public void rescan(org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=71, args_size=2
start local 0 start local 1 0: aload 1
bipush 100
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 2
start local 2 1: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getDB:()Lorg/eclipse/jdt/internal/core/nd/db/Database;
astore 3
start local 3 2: aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.resetCacheCounters:()V
3: aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getLog:()Lorg/eclipse/jdt/internal/core/nd/db/ModificationLog;
getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG_LOG_SIZE_MB:I
invokevirtual org.eclipse.jdt.internal.core.nd.db.ModificationLog.setBufferSize:(I)V
4: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.automaticIndexingMutex:Ljava/lang/Object;
dup
astore 4
monitorenter
5: aload 0
iconst_0
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.indexerDirtiedWhileDisabled:Z
6: aload 4
monitorexit
7: goto 10
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.db.Database java.lang.Object
StackMap stack: java.lang.Throwable
8: aload 4
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 4
start local 4 11: getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG:Z
ifeq 13
12: ldc "Indexer running rescan"
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.logInfo:(Ljava/lang/String;)V
13: StackMap locals: long
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.fileStateCache:Lorg/eclipse/jdt/internal/core/nd/indexer/FileStateCache;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.FileStateCache.clear:()V
14: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.root:Lorg/eclipse/core/resources/IWorkspaceRoot;
aload 2
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokestatic org.eclipse.jdt.internal.core.nd.indexer.WorkspaceSnapshot.create:(Lorg/eclipse/core/resources/IWorkspaceRoot;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/core/nd/indexer/WorkspaceSnapshot;
astore 6
start local 6 15: aload 6
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.WorkspaceSnapshot.allLocations:()Ljava/util/Set;
astore 7
start local 7 16: invokestatic java.lang.System.currentTimeMillis:()J
lstore 8
start local 8 17: aload 0
lload 4
aload 7
aload 2
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.cleanGarbage:(JLjava/util/Collection;Lorg/eclipse/core/runtime/IProgressMonitor;)I
istore 10
start local 10 18: invokestatic java.lang.System.currentTimeMillis:()J
lstore 11
start local 11 19: aload 0
aload 7
aload 2
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.testFingerprints:(Ljava/util/Collection;Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/util/Map;
astore 13
start local 13 20: new java.util.HashSet
dup
21: aload 0
aload 7
aload 13
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.getIndexablesThatHaveChanged:(Ljava/util/Collection;Ljava/util/Map;)Ljava/util/List;
22: invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 14
start local 14 23: invokestatic java.lang.System.currentTimeMillis:()J
lstore 15
start local 15 24: lconst_0
lstore 17
start local 17 25: aload 14
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 20
goto 29
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.db.Database long org.eclipse.jdt.internal.core.nd.indexer.WorkspaceSnapshot java.util.Set long int long java.util.Map java.util.Set long long top java.util.Iterator
StackMap stack:
26: aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.core.runtime.IPath
astore 19
start local 19 27: aload 13
aload 19
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult
astore 21
start local 21 28: lload 17
aload 21
invokevirtual org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult.getNewFingerprint:()Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint;
invokevirtual org.eclipse.jdt.internal.core.nd.java.FileFingerprint.getSize:()J
ladd
lstore 17
end local 21 end local 19 29: StackMap locals:
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
30: lload 17
lconst_0
lcmp
ifne 31
dconst_0
goto 32
31: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.db.Database long org.eclipse.jdt.internal.core.nd.indexer.WorkspaceSnapshot java.util.Set long int long java.util.Map java.util.Set long long
StackMap stack:
ldc 1000.0
lload 17
l2d
ddiv
32: StackMap locals:
StackMap stack: double
dstore 19
start local 19 33: iconst_0
istore 21
start local 21 34: aload 2
bipush 94
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
sipush 1000
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
astore 22
start local 22 35: aload 14
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 24
goto 42
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.db.Database long org.eclipse.jdt.internal.core.nd.indexer.WorkspaceSnapshot java.util.Set long int long java.util.Map java.util.Set long long double int org.eclipse.core.runtime.SubMonitor top java.util.Iterator
StackMap stack:
36: aload 24
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.core.runtime.IPath
astore 23
start local 23 37: aload 13
aload 23
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult
astore 25
start local 25 38: aload 25
invokevirtual org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult.getNewFingerprint:()Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint;
invokevirtual org.eclipse.jdt.internal.core.nd.java.FileFingerprint.getSize:()J
l2d
dload 19
dmul
d2i
istore 26
start local 26 39: iload 21
aload 0
lload 4
aload 23
aload 6
aload 23
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.WorkspaceSnapshot.get:(Lorg/eclipse/core/runtime/IPath;)Ljava/util/List;
40: aload 13
aload 23
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult
invokevirtual org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult.getNewFingerprint:()Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint;
aload 22
iload 26
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
41: invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescanArchive:(JLorg/eclipse/core/runtime/IPath;Ljava/util/List;Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint;Lorg/eclipse/core/runtime/IProgressMonitor;)I
iadd
istore 21
end local 26 end local 25 end local 23 42: StackMap locals:
StackMap stack:
aload 24
invokeinterface java.util.Iterator.hasNext:()Z
ifne 36
43: invokestatic java.lang.System.currentTimeMillis:()J
lstore 23
start local 23 44: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 25
start local 25 45: aload 7
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 27
goto 49
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.db.Database long org.eclipse.jdt.internal.core.nd.indexer.WorkspaceSnapshot java.util.Set long int long java.util.Map java.util.Set long long double int org.eclipse.core.runtime.SubMonitor long java.util.Map top java.util.Iterator
StackMap stack:
46: aload 27
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.core.runtime.IPath
astore 26
start local 26 47: aload 14
aload 26
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 49
48: aload 25
aload 26
aload 6
aload 26
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.WorkspaceSnapshot.get:(Lorg/eclipse/core/runtime/IPath;)Ljava/util/List;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 26 49: StackMap locals:
StackMap stack:
aload 27
invokeinterface java.util.Iterator.hasNext:()Z
ifne 46
50: aload 0
aload 25
aload 2
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.updateResourceMappings:(Ljava/util/Map;Lorg/eclipse/core/runtime/IProgressMonitor;)V
51: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 2
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireWriteLock:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
52: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getDB:()Lorg/eclipse/jdt/internal/core/nd/db/Database;
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.flush:()Z
pop
53: goto 57
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.db.Database long org.eclipse.jdt.internal.core.nd.indexer.WorkspaceSnapshot java.util.Set long int long java.util.Map java.util.Set long long double int org.eclipse.core.runtime.SubMonitor long java.util.Map
StackMap stack: java.lang.Throwable
54: astore 26
55: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
56: aload 26
athrow
57: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
58: aload 0
aload 14
aload 2
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.fireDelta:(Ljava/util/Set;Lorg/eclipse/core/runtime/IProgressMonitor;)V
59: getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG:Z
ifeq 61
60: ldc "Rescan finished"
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.logInfo:(Ljava/lang/String;)V
61: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 26
start local 26 62: lload 8
lload 4
lsub
lstore 28
start local 28 63: lload 11
lload 8
lsub
lstore 30
start local 30 64: lload 15
lload 11
lsub
lstore 32
start local 32 65: lload 23
lload 15
lsub
lstore 34
start local 34 66: lload 26
lload 23
lsub
lstore 36
start local 36 67: iload 10
ifne 68
dconst_0
goto 69
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.db.Database long org.eclipse.jdt.internal.core.nd.indexer.WorkspaceSnapshot java.util.Set long int long java.util.Map java.util.Set long long double int org.eclipse.core.runtime.SubMonitor long java.util.Map long long long long long long
StackMap stack:
68: lload 30
l2d
iload 10
i2d
ddiv
StackMap locals:
StackMap stack: double
69: dstore 38
start local 38 70: iload 21
ifne 71
dconst_0
goto 72
StackMap locals: double
StackMap stack:
71: lload 34
l2d
iload 21
i2d
ddiv
StackMap locals:
StackMap stack: double
72: dstore 40
start local 40 73: aload 7
invokeinterface java.util.Set.size:()I
ifne 74
dconst_0
goto 75
74: StackMap locals: double
StackMap stack:
lload 32
l2d
aload 7
invokeinterface java.util.Set.size:()I
i2d
ddiv
75: StackMap locals:
StackMap stack: double
dstore 42
start local 42 76: aload 25
invokeinterface java.util.Map.size:()I
ifne 77
dconst_0
goto 78
77: StackMap locals: double
StackMap stack:
lload 36
l2d
aload 25
invokeinterface java.util.Map.size:()I
i2d
ddiv
78: StackMap locals:
StackMap stack: double
dstore 44
start local 44 79: getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG_TIMING:Z
ifeq 135
80: new java.text.DecimalFormat
dup
ldc "#0.###"
invokespecial java.text.DecimalFormat.<init>:(Ljava/lang/String;)V
astore 46
start local 46 81: new java.text.DecimalFormat
dup
ldc "#0.###"
invokespecial java.text.DecimalFormat.<init>:(Ljava/lang/String;)V
astore 47
start local 47 82: new java.text.SimpleDateFormat
dup
ldc "yyyy-MM-dd HH:mm:ss.SSS\n"
invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;)V
astore 48
start local 48 83: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Indexing done at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 48
new java.util.Date
dup
lload 26
invokespecial java.util.Date.<init>:(J)V
invokevirtual java.text.SimpleDateFormat.format:(Ljava/util/Date;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
84: ldc " Located "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " indexables in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 28
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "ms"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
85: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
86: iload 10
ifeq 90
87: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " Collected garbage from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " files in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 30
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
88: ldc "ms, average time = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 46
dload 38
invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "ms"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
89: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
90: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.db.Database long org.eclipse.jdt.internal.core.nd.indexer.WorkspaceSnapshot java.util.Set long int long java.util.Map java.util.Set long long double int org.eclipse.core.runtime.SubMonitor long java.util.Map long long long long long long double double double double java.text.DecimalFormat java.text.DecimalFormat java.text.SimpleDateFormat
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " Tested "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " fingerprints in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 32
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
91: ldc "ms, average time = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 46
dload 42
invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "ms"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
92: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
93: iload 21
ifeq 98
94: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " Indexed "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 21
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " classes (from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 14
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
95: ldc " files containing "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 17
invokestatic org.eclipse.jdt.internal.core.nd.db.Database.formatByteString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 34
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
96: ldc "ms, average time per class = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 46
dload 40
invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "ms"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
97: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
98: StackMap locals:
StackMap stack:
aload 25
invokeinterface java.util.Map.size:()I
ifeq 102
99: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " Updated "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 25
invokeinterface java.util.Map.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " paths in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 36
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
100: ldc "ms, average time = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 46
dload 44
invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "ms"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
101: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
102: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getChunkStats:()Lorg/eclipse/jdt/internal/core/nd/db/Database$ChunkStats;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
103: aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getCacheHits:()J
lstore 49
start local 49 104: aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getCacheMisses:()J
lstore 51
start local 51 105: lload 51
lload 49
ladd
lstore 53
start local 53 106: lload 53
lconst_0
lcmp
ifne 107
dconst_0
goto 108
StackMap locals: long long long
StackMap stack:
107: lload 51
l2d
ldc 100.0
dmul
lload 53
l2d
ddiv
StackMap locals:
StackMap stack: double
108: dstore 55
start local 55 109: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " Cache misses = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 51
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
110: aload 47
dload 55
invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "%)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
111: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
112: aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getBytesRead:()J
lstore 57
start local 57 113: aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getBytesWritten:()J
lstore 59
start local 59 114: lload 26
lload 4
lsub
l2d
dstore 61
start local 61 115: aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getCumulativeFlushTimeMs:()J
lstore 63
start local 63 116: dload 61
dconst_0
dcmpl
ifne 117
dconst_0
goto 118
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.db.Database long org.eclipse.jdt.internal.core.nd.indexer.WorkspaceSnapshot java.util.Set long int long java.util.Map java.util.Set long long double int org.eclipse.core.runtime.SubMonitor long java.util.Map long long long long long long double double double double java.text.DecimalFormat java.text.DecimalFormat java.text.SimpleDateFormat long long long double long long double long
StackMap stack:
117: lload 63
l2d
ldc 100.0
dmul
dload 61
ddiv
StackMap locals:
StackMap stack: double
118: dstore 65
start local 65 119: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " Reads = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 57
invokestatic org.eclipse.jdt.internal.core.nd.db.Database.formatByteString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", writes = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 59
invokestatic org.eclipse.jdt.internal.core.nd.db.Database.formatByteString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
120: aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getAverageReadBytesPerMs:()D
ldc 1000.0
dmul
dstore 67
start local 67 121: aload 3
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getAverageWriteBytesPerMs:()D
ldc 1000.0
dmul
dstore 69
start local 69 122: lload 57
ldc 409600
lcmp
ifle 126
123: getstatic java.lang.System.out:Ljava/io/PrintStream;
124: new java.lang.StringBuilder
dup
ldc " Read speed = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
dload 67
d2l
invokestatic org.eclipse.jdt.internal.core.nd.db.Database.formatByteString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/s"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
125: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
126: StackMap locals: double double double
StackMap stack:
lload 59
ldc 409600
lcmp
ifle 130
127: getstatic java.lang.System.out:Ljava/io/PrintStream;
128: new java.lang.StringBuilder
dup
ldc " Write speed = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
dload 69
d2l
invokestatic org.eclipse.jdt.internal.core.nd.db.Database.formatByteString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/s"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
129: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
130: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " Time spent performing flushes = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
131: aload 46
lload 63
invokevirtual java.text.DecimalFormat.format:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "ms ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
132: aload 47
dload 65
invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "%)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
133: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
134: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " Total indexing time = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 46
dload 61
invokevirtual java.text.DecimalFormat.format:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "ms"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 69 end local 67 end local 65 end local 63 end local 61 end local 59 end local 57 end local 55 end local 53 end local 51 end local 49 end local 48 end local 47 end local 46 135: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.db.Database long org.eclipse.jdt.internal.core.nd.indexer.WorkspaceSnapshot java.util.Set long int long java.util.Map java.util.Set long long double int org.eclipse.core.runtime.SubMonitor long java.util.Map long long long long long long double double double double
StackMap stack:
getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG_ALLOCATIONS:Z
ifeq 146
136: aconst_null
astore 46
aconst_null
astore 47
137: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireReadLock:()Lorg/eclipse/jdt/internal/core/nd/IReader;
astore 48
start local 48 138: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getDB:()Lorg/eclipse/jdt/internal/core/nd/db/Database;
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.reportFreeBlocks:()V
139: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getDB:()Lorg/eclipse/jdt/internal/core/nd/db/Database;
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.getMemoryStats:()Lorg/eclipse/jdt/internal/core/nd/db/MemoryStats;
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getTypeRegistry:()Lorg/eclipse/jdt/internal/core/nd/NdNodeTypeRegistry;
invokevirtual org.eclipse.jdt.internal.core.nd.db.MemoryStats.printMemoryStats:(Lorg/eclipse/jdt/internal/core/nd/NdNodeTypeRegistry;)V
140: aload 48
ifnull 146
aload 48
invokeinterface org.eclipse.jdt.internal.core.nd.IReader.close:()V
goto 146
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.db.Database long org.eclipse.jdt.internal.core.nd.indexer.WorkspaceSnapshot java.util.Set long int long java.util.Map java.util.Set long long double int org.eclipse.core.runtime.SubMonitor long java.util.Map long long long long long long double double double double java.lang.Throwable java.lang.Throwable org.eclipse.jdt.internal.core.nd.IReader
StackMap stack: java.lang.Throwable
141: astore 46
aload 48
ifnull 142
aload 48
invokeinterface org.eclipse.jdt.internal.core.nd.IReader.close:()V
end local 48 StackMap locals:
StackMap stack:
142: aload 46
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
143: astore 47
aload 46
ifnonnull 144
aload 47
astore 46
goto 145
StackMap locals:
StackMap stack:
144: aload 46
aload 47
if_acmpeq 145
aload 46
aload 47
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
145: aload 46
athrow
146: StackMap locals:
StackMap stack:
return
end local 44 end local 42 end local 40 end local 38 end local 36 end local 34 end local 32 end local 30 end local 28 end local 26 end local 25 end local 23 end local 22 end local 21 end local 19 end local 17 end local 15 end local 14 end local 13 end local 11 end local 10 end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 147 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 147 1 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 147 2 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
2 147 3 db Lorg/eclipse/jdt/internal/core/nd/db/Database;
11 147 4 currentTimeMs J
15 147 6 snapshot Lorg/eclipse/jdt/internal/core/nd/indexer/WorkspaceSnapshot;
16 147 7 locations Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;
17 147 8 startGarbageCollectionMs J
18 147 10 gcFiles I
19 147 11 startFingerprintTestMs J
20 147 13 fingerprints Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint$FingerprintTestResult;>;
23 147 14 indexablesWithChanges Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;
24 147 15 startIndexingMs J
25 147 17 totalSizeToIndex J
27 29 19 next Lorg/eclipse/core/runtime/IPath;
28 29 21 nextFingerprint Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint$FingerprintTestResult;
33 147 19 tickCoefficient D
34 147 21 classesIndexed I
35 147 22 loopMonitor Lorg/eclipse/core/runtime/SubMonitor;
37 42 23 next Lorg/eclipse/core/runtime/IPath;
38 42 25 nextFingerprint Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint$FingerprintTestResult;
39 42 26 ticks I
44 147 23 endIndexingMs J
45 147 25 pathsToUpdate Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Ljava/util/List<Lorg/eclipse/jdt/core/IJavaElement;>;>;
47 49 26 next Lorg/eclipse/core/runtime/IPath;
62 147 26 endResourceMappingMs J
63 147 28 locateIndexablesTimeMs J
64 147 30 garbageCollectionMs J
65 147 32 fingerprintTimeMs J
66 147 34 indexingTimeMs J
67 147 36 resourceMappingTimeMs J
70 147 38 averageGcTimeMs D
73 147 40 averageIndexTimeMs D
76 147 42 averageFingerprintTimeMs D
79 147 44 averageResourceMappingMs D
81 135 46 msFormat Ljava/text/DecimalFormat;
82 135 47 percentFormat Ljava/text/DecimalFormat;
83 135 48 format Ljava/text/SimpleDateFormat;
104 135 49 cacheHits J
105 135 51 cacheMisses J
106 135 53 totalReads J
109 135 55 cacheMissPercent D
113 135 57 bytesRead J
114 135 59 bytesWritten J
115 135 61 totalTimeMs D
116 135 63 flushTimeMs J
119 135 65 flushPercent D
121 135 67 averageReadBytesPerSecond D
122 135 69 averageWriteBytesPerSecond D
138 142 48 readLock Lorg/eclipse/jdt/internal/core/nd/IReader;
Exception table:
from to target type
5 7 8 any
8 9 8 any
52 54 54 any
138 140 141 any
137 143 143 any
Exceptions:
throws org.eclipse.core.runtime.CoreException
MethodParameters:
Name Flags
monitor
private void fireDelta(java.util.Set<org.eclipse.core.runtime.IPath>, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Ljava/util/Set;Lorg/eclipse/core/runtime/IProgressMonitor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=19, args_size=3
start local 0 start local 1 start local 2 0: aload 2
iconst_1
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 3
start local 3 1: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.root:Lorg/eclipse/core/resources/IWorkspaceRoot;
invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getProjects:()[Lorg/eclipse/core/resources/IProject;
astore 4
start local 4 2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 3: aload 4
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 8
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer java.util.Set org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.core.resources.IProject[] java.util.List top int int org.eclipse.core.resources.IProject[]
StackMap stack:
4: aload 9
iload 7
aaload
astore 6
start local 6 5: aload 6
invokeinterface org.eclipse.core.resources.IProject.isOpen:()Z
ifeq 7
6: aload 5
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 7: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
8: iload 7
iload 8
if_icmplt 4
9: 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 6
start local 6 10: iconst_0
istore 7
start local 7 11: new org.eclipse.jdt.internal.core.JavaElementDelta
dup
aload 6
invokespecial org.eclipse.jdt.internal.core.JavaElementDelta.<init>:(Lorg/eclipse/jdt/core/IJavaElement;)V
astore 8
start local 8 12: aload 3
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
aload 5
invokeinterface java.util.List.size:()I
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
astore 9
start local 9 13: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 33
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer java.util.Set org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.core.resources.IProject[] java.util.List org.eclipse.jdt.internal.core.JavaModel int org.eclipse.jdt.internal.core.JavaElementDelta org.eclipse.core.runtime.SubMonitor top java.util.Iterator
StackMap stack:
14: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.core.resources.IProject
astore 10
start local 10 15: aload 9
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
pop
16: aload 10
invokeinterface org.eclipse.core.resources.IProject.isOpen:()Z
ifeq 33
aload 10
ldc "org.eclipse.jdt.core.javanature"
invokeinterface org.eclipse.core.resources.IProject.isNatureEnabled:(Ljava/lang/String;)Z
ifeq 33
17: aload 10
invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
astore 12
start local 12 18: aload 12
invokeinterface org.eclipse.jdt.core.IJavaProject.getAllPackageFragmentRoots:()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
astore 13
start local 13 19: aload 13
dup
astore 17
arraylength
istore 16
iconst_0
istore 15
goto 29
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer java.util.Set org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.core.resources.IProject[] java.util.List org.eclipse.jdt.internal.core.JavaModel int org.eclipse.jdt.internal.core.JavaElementDelta org.eclipse.core.runtime.SubMonitor org.eclipse.core.resources.IProject java.util.Iterator org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IPackageFragmentRoot[] top int int org.eclipse.jdt.core.IPackageFragmentRoot[]
StackMap stack:
20: aload 17
iload 15
aaload
astore 14
start local 14 21: aload 14
invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.isArchive:()Z
ifeq 28
22: aload 14
invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.getLocationForElement:(Lorg/eclipse/jdt/core/IJavaElement;)Lorg/eclipse/core/runtime/IPath;
astore 18
start local 18 23: aload 1
aload 18
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 28
24: iconst_1
istore 7
25: aload 8
aload 14
26: ldc 32769
27: invokevirtual org.eclipse.jdt.internal.core.JavaElementDelta.changed:(Lorg/eclipse/jdt/core/IJavaElement;I)Lorg/eclipse/jdt/internal/core/JavaElementDelta;
pop
end local 18 end local 14 28: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
29: iload 15
iload 16
if_icmplt 20
end local 13 end local 12 30: goto 33
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer java.util.Set org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.core.resources.IProject[] java.util.List org.eclipse.jdt.internal.core.JavaModel int org.eclipse.jdt.internal.core.JavaElementDelta org.eclipse.core.runtime.SubMonitor org.eclipse.core.resources.IProject java.util.Iterator
StackMap stack: org.eclipse.core.runtime.CoreException
31: astore 12
start local 12 32: aload 12
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.log:(Ljava/lang/Throwable;)V
end local 12 end local 10 33: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer java.util.Set org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.core.resources.IProject[] java.util.List org.eclipse.jdt.internal.core.JavaModel int org.eclipse.jdt.internal.core.JavaElementDelta org.eclipse.core.runtime.SubMonitor top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
34: iload 7
ifeq 36
35: aload 0
aload 8
invokestatic org.eclipse.jdt.internal.core.nd.indexer.IndexerEvent.createChange:(Lorg/eclipse/jdt/core/IJavaElementDelta;)Lorg/eclipse/jdt/internal/core/nd/indexer/IndexerEvent;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.fireChange:(Lorg/eclipse/jdt/internal/core/nd/indexer/IndexerEvent;)V
36: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer java.util.Set org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.core.resources.IProject[] java.util.List org.eclipse.jdt.internal.core.JavaModel int org.eclipse.jdt.internal.core.JavaElementDelta org.eclipse.core.runtime.SubMonitor
StackMap stack:
return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 37 1 indexablesWithChanges Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;
0 37 2 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 37 3 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
2 37 4 projects [Lorg/eclipse/core/resources/IProject;
3 37 5 projectsToScan Ljava/util/List<Lorg/eclipse/core/resources/IProject;>;
5 7 6 next Lorg/eclipse/core/resources/IProject;
10 37 6 model Lorg/eclipse/jdt/internal/core/JavaModel;
11 37 7 hasChanges Z
12 37 8 delta Lorg/eclipse/jdt/internal/core/JavaElementDelta;
13 37 9 projectLoopMonitor Lorg/eclipse/core/runtime/SubMonitor;
15 33 10 project Lorg/eclipse/core/resources/IProject;
18 30 12 javaProject Lorg/eclipse/jdt/core/IJavaProject;
19 30 13 roots [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
21 28 14 next Lorg/eclipse/jdt/core/IPackageFragmentRoot;
23 28 18 location Lorg/eclipse/core/runtime/IPath;
32 33 12 e Lorg/eclipse/core/runtime/CoreException;
Exception table:
from to target type
16 30 31 Class org.eclipse.core.runtime.CoreException
Signature: (Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;Lorg/eclipse/core/runtime/IProgressMonitor;)V
MethodParameters:
Name Flags
indexablesWithChanges
monitor
private void updateResourceMappings(java.util.Map<org.eclipse.core.runtime.IPath, java.util.List<org.eclipse.jdt.core.IJavaElement>>, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Ljava/util/Map;Lorg/eclipse/core/runtime/IProgressMonitor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 3
start local 3 1: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.getIndex:(Lorg/eclipse/jdt/internal/core/nd/Nd;)Lorg/eclipse/jdt/internal/core/nd/java/JavaIndex;
astore 4
start local 4 2: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 16
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer java.util.Map org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 5
start local 5 4: aload 3
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
bipush 10
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
astore 7
start local 7 5: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 7
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireWriteLock:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
6: aload 4
aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.eclipse.core.runtime.IPath
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
invokevirtual org.eclipse.jdt.internal.core.nd.java.JavaIndex.getResourceFile:([C)Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
astore 8
start local 8 7: aload 8
ifnonnull 10
8: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
9: goto 16
10: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer java.util.Map org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex java.util.Map$Entry java.util.Iterator org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.java.NdResourceFile
StackMap stack:
aload 0
aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.List
aload 8
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.attachWorkspaceFilesToResource:(Ljava/util/List;Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;)V
end local 8 11: goto 15
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer java.util.Map org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex java.util.Map$Entry java.util.Iterator org.eclipse.core.runtime.SubMonitor
StackMap stack: java.lang.Throwable
12: astore 9
13: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
14: aload 9
athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
end local 7 end local 5 16: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer java.util.Map org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
17: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 18 1 pathsToUpdate Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Ljava/util/List<Lorg/eclipse/jdt/core/IJavaElement;>;>;
0 18 2 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 18 3 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
2 18 4 index Lorg/eclipse/jdt/internal/core/nd/java/JavaIndex;
4 16 5 entry Ljava/util/Map$Entry<Lorg/eclipse/core/runtime/IPath;Ljava/util/List<Lorg/eclipse/jdt/core/IJavaElement;>;>;
5 16 7 iterationMonitor Lorg/eclipse/core/runtime/SubMonitor;
7 11 8 resourceFile Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
Exception table:
from to target type
6 8 12 any
10 12 12 any
Signature: (Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Ljava/util/List<Lorg/eclipse/jdt/core/IJavaElement;>;>;Lorg/eclipse/core/runtime/IProgressMonitor;)V
MethodParameters:
Name Flags
pathsToUpdate
monitor
private int cleanGarbage(long, java.util.Collection<org.eclipse.core.runtime.IPath>, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (JLjava/util/Collection;Lorg/eclipse/core/runtime/IProgressMonitor;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=27, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.getIndex:(Lorg/eclipse/jdt/internal/core/nd/Nd;)Lorg/eclipse/jdt/internal/core/nd/java/JavaIndex;
astore 5
start local 5 1: iconst_0
istore 6
start local 6 2: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 7
start local 7 3: aload 7
aload 3
invokevirtual java.util.HashSet.addAll:(Ljava/util/Collection;)Z
pop
4: aload 4
iconst_3
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 8
start local 8 5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 6: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
start local 10 7: invokestatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.getUsageTimestampUpdatePeriod:()J
lstore 11
start local 11 8: invokestatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.getGarbageCleanupTimeout:()J
lstore 13
start local 13 9: aconst_null
astore 15
aconst_null
astore 16
10: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireReadLock:()Lorg/eclipse/jdt/internal/core/nd/IReader;
astore 17
start local 17 11: aload 5
invokevirtual org.eclipse.jdt.internal.core.nd.java.JavaIndex.getAllResourceFiles:()Ljava/util/List;
astore 18
start local 18 12: aload 18
invokeinterface java.util.List.size:()I
istore 6
13: aload 8
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
aload 18
invokeinterface java.util.List.size:()I
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
astore 19
start local 19 14: aload 18
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 21
goto 29
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer long java.util.Collection org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex int java.util.HashSet org.eclipse.core.runtime.SubMonitor java.util.List java.util.List long long java.lang.Throwable java.lang.Throwable org.eclipse.jdt.internal.core.nd.IReader java.util.List org.eclipse.core.runtime.SubMonitor top java.util.Iterator
StackMap stack:
15: aload 21
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.nd.java.NdResourceFile
astore 20
start local 20 16: aload 19
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
pop
17: aload 20
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.isDoneIndexing:()Z
ifne 20
18: aload 9
aload 20
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: goto 29
20: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer long java.util.Collection org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex int java.util.HashSet org.eclipse.core.runtime.SubMonitor java.util.List java.util.List long long java.lang.Throwable java.lang.Throwable org.eclipse.jdt.internal.core.nd.IReader java.util.List org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.java.NdResourceFile java.util.Iterator
StackMap stack:
new org.eclipse.core.runtime.Path
dup
aload 20
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.getLocation:()Lorg/eclipse/jdt/internal/core/nd/db/IString;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
astore 22
start local 22 21: aload 20
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.getTimeLastUsed:()J
lstore 23
start local 23 22: lload 1
lload 23
lsub
lstore 25
start local 25 23: aload 7
aload 22
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifeq 27
24: lload 25
lload 11
lcmp
ifle 29
25: aload 10
aload 20
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
26: goto 29
27: StackMap locals: org.eclipse.core.runtime.IPath long long
StackMap stack:
lload 25
lload 13
lcmp
ifle 29
28: aload 9
aload 20
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 25 end local 23 end local 22 end local 20 29: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer long java.util.Collection org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex int java.util.HashSet org.eclipse.core.runtime.SubMonitor java.util.List java.util.List long long java.lang.Throwable java.lang.Throwable org.eclipse.jdt.internal.core.nd.IReader java.util.List org.eclipse.core.runtime.SubMonitor top java.util.Iterator
StackMap stack:
aload 21
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
end local 19 end local 18 30: aload 17
ifnull 36
aload 17
invokeinterface org.eclipse.jdt.internal.core.nd.IReader.close:()V
goto 36
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer long java.util.Collection org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex int java.util.HashSet org.eclipse.core.runtime.SubMonitor java.util.List java.util.List long long java.lang.Throwable java.lang.Throwable org.eclipse.jdt.internal.core.nd.IReader
StackMap stack: java.lang.Throwable
31: astore 15
aload 17
ifnull 32
aload 17
invokeinterface org.eclipse.jdt.internal.core.nd.IReader.close:()V
end local 17 StackMap locals:
StackMap stack:
32: aload 15
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
33: astore 16
aload 15
ifnonnull 34
aload 16
astore 15
goto 35
StackMap locals:
StackMap stack:
34: aload 15
aload 16
if_acmpeq 35
aload 15
aload 16
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
35: aload 15
athrow
36: StackMap locals:
StackMap stack:
aload 8
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
aload 9
invokeinterface java.util.List.size:()I
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
astore 15
start local 15 37: aload 9
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 17
goto 40
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer long java.util.Collection org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex int java.util.HashSet org.eclipse.core.runtime.SubMonitor java.util.List java.util.List long long org.eclipse.core.runtime.SubMonitor top java.util.Iterator
StackMap stack:
38: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.nd.java.NdResourceFile
astore 16
start local 16 39: aload 0
aload 16
aload 15
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.deleteResource:(Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;Lorg/eclipse/core/runtime/IProgressMonitor;)V
end local 16 40: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 38
41: aload 8
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
aload 10
invokeinterface java.util.List.size:()I
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
astore 16
start local 16 42: aload 10
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 18
goto 52
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer long java.util.Collection org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex int java.util.HashSet org.eclipse.core.runtime.SubMonitor java.util.List java.util.List long long org.eclipse.core.runtime.SubMonitor org.eclipse.core.runtime.SubMonitor top java.util.Iterator
StackMap stack:
43: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.nd.java.NdResourceFile
astore 17
start local 17 44: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 16
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireWriteLock:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
45: aload 17
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.isInIndex:()Z
ifeq 51
46: aload 17
lload 1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.setTimeLastUsed:(J)V
47: goto 51
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer long java.util.Collection org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex int java.util.HashSet org.eclipse.core.runtime.SubMonitor java.util.List java.util.List long long org.eclipse.core.runtime.SubMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.java.NdResourceFile java.util.Iterator
StackMap stack: java.lang.Throwable
48: astore 19
49: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
50: aload 19
athrow
51: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
end local 17 52: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer long java.util.Collection org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex int java.util.HashSet org.eclipse.core.runtime.SubMonitor java.util.List java.util.List long long org.eclipse.core.runtime.SubMonitor org.eclipse.core.runtime.SubMonitor top java.util.Iterator
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 43
53: iload 6
ireturn
end local 16 end local 15 end local 13 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 54 1 currentTimeMillis J
0 54 3 allIndexables Ljava/util/Collection<Lorg/eclipse/core/runtime/IPath;>;
0 54 4 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 54 5 index Lorg/eclipse/jdt/internal/core/nd/java/JavaIndex;
2 54 6 result I
3 54 7 paths Ljava/util/HashSet<Lorg/eclipse/core/runtime/IPath;>;
5 54 8 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
6 54 9 garbage Ljava/util/List<Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;>;
7 54 10 needsUpdate Ljava/util/List<Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;>;
8 54 11 usageTimestampUpdatePeriod J
9 54 13 garbageCleanupTimeout J
11 32 17 reader Lorg/eclipse/jdt/internal/core/nd/IReader;
12 30 18 resourceFiles Ljava/util/List<Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;>;
14 30 19 testMonitor Lorg/eclipse/core/runtime/SubMonitor;
16 29 20 next Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
21 29 22 nextPath Lorg/eclipse/core/runtime/IPath;
22 29 23 timeLastUsed J
23 29 25 timeSinceLastUsed J
37 54 15 deleteMonitor Lorg/eclipse/core/runtime/SubMonitor;
39 40 16 next Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
42 54 16 updateMonitor Lorg/eclipse/core/runtime/SubMonitor;
44 52 17 next Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
Exception table:
from to target type
11 30 31 any
10 33 33 any
45 48 48 any
Signature: (JLjava/util/Collection<Lorg/eclipse/core/runtime/IPath;>;Lorg/eclipse/core/runtime/IProgressMonitor;)I
MethodParameters:
Name Flags
currentTimeMillis
allIndexables
monitor
protected void deleteResource(org.eclipse.jdt.internal.core.nd.java.NdResourceFile, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;Lorg/eclipse/core/runtime/IProgressMonitor;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
bipush 10
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 3
start local 3 1: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 3
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireWriteLock:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
2: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.isInIndex:()Z
ifeq 8
3: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.markAsInvalid:()V
4: goto 8
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor
StackMap stack: java.lang.Throwable
5: astore 4
6: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
7: aload 4
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
9: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 3
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireWriteLock:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
10: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.isInIndex:()Z
ifne 13
11: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
12: goto 30
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.getTypeCount:()I
istore 4
start local 4 14: aload 3
iload 4
iconst_1
iadd
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
pop
15: iload 4
ifne 18
16: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
17: goto 30
18: StackMap locals: int
StackMap stack:
aload 1
iload 4
iconst_1
isub
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.getType:(I)Lorg/eclipse/jdt/internal/core/nd/java/NdType;
astore 5
start local 5 19: getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG_INSERTIONS:Z
ifeq 23
20: new java.lang.StringBuilder
dup
ldc "Deleting "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdType.getTypeId:()Lorg/eclipse/jdt/internal/core/nd/java/NdTypeId;
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdTypeId.getFieldDescriptor:()Lorg/eclipse/jdt/internal/core/nd/db/IString;
invokeinterface org.eclipse.jdt.internal.core.nd.db.IString.getString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.getLocation:()Lorg/eclipse/jdt/internal/core/nd/db/IString;
invokeinterface org.eclipse.jdt.internal.core.nd.db.IString.getString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield org.eclipse.jdt.internal.core.nd.java.NdResourceFile.address:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
22: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.logInfo:(Ljava/lang/String;)V
23: StackMap locals: org.eclipse.jdt.internal.core.nd.java.NdType
StackMap stack:
aload 5
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdType.delete:()V
end local 5 end local 4 24: goto 28
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor
StackMap stack: java.lang.Throwable
25: astore 6
26: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
27: aload 6
athrow
28: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
29: goto 9
30: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 3
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireWriteLock:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
31: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.isInIndex:()Z
ifeq 37
32: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.delete:()V
33: goto 37
StackMap locals:
StackMap stack: java.lang.Throwable
34: astore 4
35: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
36: aload 4
athrow
37: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
38: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 39 1 toDelete Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
0 39 2 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 39 3 deletionMonitor Lorg/eclipse/core/runtime/SubMonitor;
14 24 4 numChildren I
19 24 5 nextDeletion Lorg/eclipse/jdt/internal/core/nd/java/NdType;
Exception table:
from to target type
2 5 5 any
10 11 25 any
13 16 25 any
18 25 25 any
31 34 34 any
MethodParameters:
Name Flags
toDelete
monitor
private java.util.Map<org.eclipse.core.runtime.IPath, org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult> testFingerprints(java.util.Collection<org.eclipse.core.runtime.IPath>, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Ljava/util/Collection;Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokeinterface java.util.Collection.size:()I
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 3
start local 3 1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 4
start local 4 2: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 5
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer java.util.Collection org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor java.util.Map top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.core.runtime.IPath
astore 5
start local 5 4: aload 4
aload 5
aload 0
aload 5
aload 3
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.testForChanges:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint$FingerprintTestResult;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 5: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 7 1 allIndexables Ljava/util/Collection<Lorg/eclipse/core/runtime/IPath;>;
0 7 2 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 7 3 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
2 7 4 result Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint$FingerprintTestResult;>;
4 5 5 next Lorg/eclipse/core/runtime/IPath;
Exceptions:
throws org.eclipse.core.runtime.CoreException
Signature: (Ljava/util/Collection<Lorg/eclipse/core/runtime/IPath;>;Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint$FingerprintTestResult;>;
MethodParameters:
Name Flags
allIndexables
monitor
private int rescanArchive(long, org.eclipse.core.runtime.IPath, java.util.List<org.eclipse.jdt.core.IJavaElement>, org.eclipse.jdt.internal.core.nd.java.FileFingerprint, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (JLorg/eclipse/core/runtime/IPath;Ljava/util/List;Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint;Lorg/eclipse/core/runtime/IProgressMonitor;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=17, args_size=6
start local 0 start local 1 start local 3 start local 4 start local 5 start local 6 0: aload 6
bipush 100
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 7
start local 7 1: aload 4
invokeinterface java.util.List.isEmpty:()Z
ifeq 3
2: iconst_0
ireturn
3: StackMap locals: org.eclipse.core.runtime.SubMonitor
StackMap stack:
aload 4
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.eclipse.jdt.core.IJavaElement
astore 8
start local 8 4: aload 3
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
astore 9
start local 9 5: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.getIndex:(Lorg/eclipse/jdt/internal/core/nd/Nd;)Lorg/eclipse/jdt/internal/core/nd/java/JavaIndex;
astore 10
start local 10 6: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 7
iconst_5
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireWriteLock:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
7: new org.eclipse.jdt.internal.core.nd.java.NdResourceFile
dup
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokespecial org.eclipse.jdt.internal.core.nd.java.NdResourceFile.<init>:(Lorg/eclipse/jdt/internal/core/nd/Nd;)V
astore 11
start local 11 8: aload 11
lload 1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.setTimeLastUsed:(J)V
9: aload 11
aload 9
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.setLocation:(Ljava/lang/String;)V
10: aload 8
11: iconst_3
invokeinterface org.eclipse.jdt.core.IJavaElement.getAncestor:(I)Lorg/eclipse/jdt/core/IJavaElement;
12: checkcast org.eclipse.jdt.core.IPackageFragmentRoot
astore 12
start local 12 13: aload 12
invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.getLocationForElement:(Lorg/eclipse/jdt/core/IJavaElement;)Lorg/eclipse/core/runtime/IPath;
astore 13
start local 13 14: aload 13
aload 3
invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
ifne 16
15: aload 11
aload 13
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.setPackageFragmentRoot:([C)V
16: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer long org.eclipse.core.runtime.IPath java.util.List org.eclipse.jdt.internal.core.nd.java.FileFingerprint org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IJavaElement java.lang.String org.eclipse.jdt.internal.core.nd.java.JavaIndex org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.jdt.core.IPackageFragmentRoot org.eclipse.core.runtime.IPath
StackMap stack:
aload 0
aload 4
aload 11
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.attachWorkspaceFilesToResource:(Ljava/util/List;Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;)V
end local 13 end local 12 17: goto 21
end local 11 StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer long org.eclipse.core.runtime.IPath java.util.List org.eclipse.jdt.internal.core.nd.java.FileFingerprint org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IJavaElement java.lang.String org.eclipse.jdt.internal.core.nd.java.JavaIndex
StackMap stack: java.lang.Throwable
18: astore 14
19: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
20: aload 14
athrow
start local 11 21: StackMap locals: org.eclipse.jdt.internal.core.nd.java.NdResourceFile
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
22: getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG:Z
ifeq 24
23: new java.lang.StringBuilder
dup
ldc "rescanning "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
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.nd.indexer.Package.logInfo:(Ljava/lang/String;)V
24: StackMap locals:
StackMap stack:
iconst_0
istore 12
start local 12 25: aload 5
invokevirtual org.eclipse.jdt.internal.core.nd.java.FileFingerprint.fileExists:()Z
ifeq 46
26: aload 0
aload 11
aload 8
aload 7
bipush 50
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.addElement:(Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;Lorg/eclipse/jdt/core/IJavaElement;Lorg/eclipse/core/runtime/IProgressMonitor;)I
istore 12
27: goto 46
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer long org.eclipse.core.runtime.IPath java.util.List org.eclipse.jdt.internal.core.nd.java.FileFingerprint org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IJavaElement java.lang.String org.eclipse.jdt.internal.core.nd.java.JavaIndex org.eclipse.jdt.internal.core.nd.java.NdResourceFile int
StackMap stack: org.eclipse.jdt.core.JavaModelException
28: pop
29: getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG:Z
ifeq 31
30: new java.lang.StringBuilder
dup
ldc "the file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " cannot be indexed due to a recoverable error"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
31: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 7
iconst_5
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireWriteLock:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
32: aload 11
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.isInIndex:()Z
ifeq 38
33: aload 11
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.delete:()V
34: goto 38
StackMap locals:
StackMap stack: java.lang.Throwable
35: astore 13
36: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
37: aload 13
athrow
38: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
39: iconst_0
ireturn
40: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 13
start local 13 41: getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG:Z
ifeq 43
42: new java.lang.StringBuilder
dup
ldc "A RuntimeException occurred while indexing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 13
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
43: StackMap locals: java.lang.RuntimeException
StackMap stack:
aload 13
athrow
end local 13 44: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer long org.eclipse.core.runtime.IPath java.util.List org.eclipse.jdt.internal.core.nd.java.FileFingerprint org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IJavaElement java.lang.String org.eclipse.jdt.internal.core.nd.java.JavaIndex org.eclipse.jdt.internal.core.nd.java.NdResourceFile int
StackMap stack: java.io.FileNotFoundException
pop
45: invokestatic org.eclipse.jdt.internal.core.nd.java.FileFingerprint.getEmpty:()Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint;
astore 5
46: StackMap locals:
StackMap stack:
getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG:Z
ifeq 48
aload 5
invokevirtual org.eclipse.jdt.internal.core.nd.java.FileFingerprint.fileExists:()Z
ifne 48
47: new java.lang.StringBuilder
dup
ldc "the file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " was not indexed because it does not exist"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
48: StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
astore 13
start local 13 49: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 7
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireWriteLock:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
50: aload 11
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.isInIndex:()Z
ifeq 58
51: aload 11
aload 5
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.setFingerprint:(Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint;)V
52: aload 10
aload 9
invokevirtual org.eclipse.jdt.internal.core.nd.java.JavaIndex.findResourcesWithPath:(Ljava/lang/String;)Ljava/util/List;
astore 13
53: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.fileStateCache:Lorg/eclipse/jdt/internal/core/nd/indexer/FileStateCache;
aload 11
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.getLocation:()Lorg/eclipse/jdt/internal/core/nd/db/IString;
invokeinterface org.eclipse.jdt.internal.core.nd.db.IString.getString:()Ljava/lang/String;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.FileStateCache.remove:(Ljava/lang/String;)V
54: goto 58
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer long org.eclipse.core.runtime.IPath java.util.List org.eclipse.jdt.internal.core.nd.java.FileFingerprint org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IJavaElement java.lang.String org.eclipse.jdt.internal.core.nd.java.JavaIndex org.eclipse.jdt.internal.core.nd.java.NdResourceFile int java.util.List
StackMap stack: java.lang.Throwable
55: astore 14
56: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
57: aload 14
athrow
58: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
59: aload 7
bipush 40
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
aload 13
invokeinterface java.util.List.size:()I
iconst_1
isub
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
astore 14
start local 14 60: aload 13
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 16
goto 64
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer long org.eclipse.core.runtime.IPath java.util.List org.eclipse.jdt.internal.core.nd.java.FileFingerprint org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IJavaElement java.lang.String org.eclipse.jdt.internal.core.nd.java.JavaIndex org.eclipse.jdt.internal.core.nd.java.NdResourceFile int java.util.List org.eclipse.core.runtime.SubMonitor top java.util.Iterator
StackMap stack:
61: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.nd.java.NdResourceFile
astore 15
start local 15 62: aload 15
aload 11
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.equals:(Ljava/lang/Object;)Z
ifne 64
63: aload 0
aload 15
aload 14
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.deleteResource:(Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;Lorg/eclipse/core/runtime/IProgressMonitor;)V
end local 15 64: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 61
65: iload 12
ireturn
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 66 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 66 1 currentTimeMillis J
0 66 3 thePath Lorg/eclipse/core/runtime/IPath;
0 66 4 elementsMappingOntoLocation Ljava/util/List<Lorg/eclipse/jdt/core/IJavaElement;>;
0 66 5 fingerprint Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint;
0 66 6 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 66 7 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
4 66 8 element Lorg/eclipse/jdt/core/IJavaElement;
5 66 9 pathString Ljava/lang/String;
6 66 10 javaIndex Lorg/eclipse/jdt/internal/core/nd/java/JavaIndex;
8 18 11 resourceFile Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
21 66 11 resourceFile Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
13 17 12 packageFragmentRoot Lorg/eclipse/jdt/core/IPackageFragmentRoot;
14 17 13 rootPathString Lorg/eclipse/core/runtime/IPath;
25 66 12 result I
41 44 13 e Ljava/lang/RuntimeException;
49 66 13 allResourcesWithThisPath Ljava/util/List<Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;>;
60 66 14 deletionMonitor Lorg/eclipse/core/runtime/SubMonitor;
62 64 15 next Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
Exception table:
from to target type
7 18 18 any
25 27 28 Class org.eclipse.jdt.core.JavaModelException
32 35 35 any
25 27 40 Class java.lang.RuntimeException
25 27 44 Class java.io.FileNotFoundException
50 55 55 any
Exceptions:
throws org.eclipse.jdt.core.JavaModelException
Signature: (JLorg/eclipse/core/runtime/IPath;Ljava/util/List<Lorg/eclipse/jdt/core/IJavaElement;>;Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint;Lorg/eclipse/core/runtime/IProgressMonitor;)I
MethodParameters:
Name Flags
currentTimeMillis
thePath
elementsMappingOntoLocation
fingerprint
monitor
private void attachWorkspaceFilesToResource(java.util.List<org.eclipse.jdt.core.IJavaElement>, org.eclipse.jdt.internal.core.nd.java.NdResourceFile);
descriptor: (Ljava/util/List;Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer java.util.List org.eclipse.jdt.internal.core.nd.java.NdResourceFile top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jdt.core.IJavaElement
astore 3
start local 3 2: aload 3
invokeinterface org.eclipse.jdt.core.IJavaElement.getResource:()Lorg/eclipse/core/resources/IResource;
astore 5
start local 5 3: aload 5
ifnull 7
4: new org.eclipse.jdt.internal.core.nd.java.NdWorkspaceLocation
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 2
5: aload 5
invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
6: invokespecial org.eclipse.jdt.internal.core.nd.java.NdWorkspaceLocation.<init>:(Lorg/eclipse/jdt/internal/core/nd/Nd;Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;[C)V
end local 5 end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 9 1 elementsMappingOntoLocation Ljava/util/List<Lorg/eclipse/jdt/core/IJavaElement;>;
0 9 2 resourceFile Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
2 7 3 next Lorg/eclipse/jdt/core/IJavaElement;
3 7 5 nextResource Lorg/eclipse/core/resources/IResource;
Signature: (Ljava/util/List<Lorg/eclipse/jdt/core/IJavaElement;>;Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;)V
MethodParameters:
Name Flags
elementsMappingOntoLocation
resourceFile
private int addElement(org.eclipse.jdt.internal.core.nd.java.NdResourceFile, org.eclipse.jdt.core.IJavaElement, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;Lorg/eclipse/jdt/core/IJavaElement;Lorg/eclipse/core/runtime/IProgressMonitor;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=23, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/core/runtime/SubMonitor;
astore 4
start local 4 1: aload 2
instanceof org.eclipse.jdt.internal.core.JarPackageFragmentRoot
ifeq 102
2: aload 2
checkcast org.eclipse.jdt.internal.core.JarPackageFragmentRoot
astore 5
start local 5 3: aload 5
invokevirtual org.eclipse.jdt.internal.core.JarPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
astore 6
start local 6 4: aload 5
invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.getLocationForElement:(Lorg/eclipse/jdt/core/IJavaElement;)Lorg/eclipse/core/runtime/IPath;
astore 7
start local 7 5: iconst_0
istore 8
start local 8 6: aconst_null
astore 9
aconst_null
astore 10
7: new java.util.zip.ZipFile
dup
aload 5
invokevirtual org.eclipse.jdt.internal.core.JarPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getLocalFile:(Lorg/eclipse/core/runtime/IPath;)Ljava/io/File;
invokespecial java.util.zip.ZipFile.<init>:(Ljava/io/File;)V
astore 11
start local 11 8: getstatic org.eclipse.jdt.internal.core.JavaModelManager.throwIoExceptionsInGetZipFile:Z
ifeq 12
9: getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG:Z
ifeq 11
10: ldc "Throwing simulated IOException for error handling test case"
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.logInfo:(Ljava/lang/String;)V
11: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.JarPackageFragmentRoot org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath int java.lang.Throwable java.lang.Throwable java.util.zip.ZipFile
StackMap stack:
new java.io.IOException
dup
invokespecial java.io.IOException.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
aload 4
aload 11
invokevirtual java.util.zip.ZipFile.size:()I
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
pop
13: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 4
iconst_5
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireWriteLock:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
14: aload 1
aload 11
invokevirtual java.util.zip.ZipFile.size:()I
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.allocateZipEntries:(I)V
15: goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 12
17: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
18: aload 12
athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
20: aload 11
invokevirtual java.util.zip.ZipFile.entries:()Ljava/util/Enumeration;
astore 12
start local 12 21: goto 75
22: StackMap locals: java.util.Enumeration
StackMap stack:
aload 4
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
iconst_2
invokevirtual org.eclipse.core.runtime.SubMonitor.setWorkRemaining:(I)Lorg/eclipse/core/runtime/SubMonitor;
astore 13
start local 13 23: aload 12
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.util.zip.ZipEntry
astore 14
start local 14 24: aload 14
invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
astore 15
start local 15 25: aload 15
invokestatic org.eclipse.jdt.internal.compiler.util.Util.isClassFileName:(Ljava/lang/String;)Z
istore 16
start local 16 26: aload 14
invokevirtual java.util.zip.ZipEntry.isDirectory:()Z
ifne 27
iload 16
ifne 49
27: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.JarPackageFragmentRoot org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath int java.lang.Throwable java.lang.Throwable java.util.zip.ZipFile java.util.Enumeration org.eclipse.core.runtime.SubMonitor java.util.zip.ZipEntry java.lang.String int
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 4
iconst_5
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireWriteLock:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
28: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.isInIndex:()Z
ifeq 48
29: getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG_INSERTIONS:Z
ifeq 33
30: new java.lang.StringBuilder
dup
ldc "Inserting non-class file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " into "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
31: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.getLocation:()Lorg/eclipse/jdt/internal/core/nd/db/IString;
invokeinterface org.eclipse.jdt.internal.core.nd.db.IString.getString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield org.eclipse.jdt.internal.core.nd.java.NdResourceFile.address:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
32: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.logInfo:(Ljava/lang/String;)V
33: StackMap locals:
StackMap stack:
aload 1
aload 15
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.addZipEntry:(Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/nd/java/NdZipEntry;
pop
34: aload 15
ldc "META-INF/MANIFEST.MF"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 48
35: aconst_null
astore 17
aconst_null
astore 18
36: aload 11
aload 14
invokevirtual java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
astore 19
start local 19 37: aload 19
iconst_m1
ldc "UTF-8"
invokestatic org.eclipse.jdt.internal.compiler.util.Util.getInputStreamAsCharArray:(Ljava/io/InputStream;ILjava/lang/String;)[C
astore 20
start local 20 38: aload 1
aload 20
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.setManifestContent:([C)V
end local 20 39: aload 19
ifnull 48
aload 19
invokevirtual java.io.InputStream.close:()V
goto 48
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.JarPackageFragmentRoot org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath int java.lang.Throwable java.lang.Throwable java.util.zip.ZipFile java.util.Enumeration org.eclipse.core.runtime.SubMonitor java.util.zip.ZipEntry java.lang.String int java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
40: astore 17
aload 19
ifnull 41
aload 19
invokevirtual java.io.InputStream.close:()V
end local 19 StackMap locals:
StackMap stack:
41: aload 17
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
42: astore 18
aload 17
ifnonnull 43
aload 18
astore 17
goto 44
StackMap locals:
StackMap stack:
43: aload 17
aload 18
if_acmpeq 44
aload 17
aload 18
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
44: aload 17
athrow
45: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.JarPackageFragmentRoot org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath int java.lang.Throwable java.lang.Throwable java.util.zip.ZipFile java.util.Enumeration org.eclipse.core.runtime.SubMonitor java.util.zip.ZipEntry java.lang.String int
StackMap stack: java.lang.Throwable
astore 21
46: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
47: aload 21
athrow
48: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
49: StackMap locals:
StackMap stack:
aload 14
invokevirtual java.util.zip.ZipEntry.isDirectory:()Z
ifeq 51
50: goto 75
51: StackMap locals:
StackMap stack:
aload 13
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
pop
52: iload 16
ifeq 75
53: aload 15
iconst_0
54: aload 15
invokevirtual java.lang.String.length:()I
ldc ".class"
invokevirtual java.lang.String.length:()I
isub
55: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 17
start local 17 56: aload 17
invokevirtual java.lang.String.toCharArray:()[C
invokestatic org.eclipse.jdt.internal.core.nd.java.JavaNames.binaryNameToFieldDescriptor:([C)[C
astore 18
start local 18 57: new java.lang.StringBuilder
dup
aload 5
invokevirtual org.eclipse.jdt.internal.core.JarPackageFragmentRoot.getHandleIdentifier:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 124
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
58: aload 17
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
59: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 19
start local 19 60: new org.eclipse.jdt.internal.core.nd.java.model.BinaryTypeDescriptor
dup
aload 7
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
61: aload 18
aload 6
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
aload 19
invokevirtual java.lang.String.toCharArray:()[C
62: invokespecial org.eclipse.jdt.internal.core.nd.java.model.BinaryTypeDescriptor.<init>:([C[C[C[C)V
astore 20
start local 20 63: aload 14
64: aload 11
65: invokestatic org.eclipse.jdt.internal.compiler.util.Util.getZipEntryByteContent:(Ljava/util/zip/ZipEntry;Ljava/util/zip/ZipFile;)[B
astore 21
start local 21 66: new org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader
dup
aload 21
aload 20
getfield org.eclipse.jdt.internal.core.nd.java.model.BinaryTypeDescriptor.indexPath:[C
iconst_1
invokespecial org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>:([B[CZ)V
astore 22
start local 22 67: aload 0
aload 1
aload 20
getfield org.eclipse.jdt.internal.core.nd.java.model.BinaryTypeDescriptor.fieldDescriptor:[C
aload 20
getfield org.eclipse.jdt.internal.core.nd.java.model.BinaryTypeDescriptor.indexPath:[C
68: aload 22
aload 13
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
69: invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.addClassToIndex:(Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;[C[CLorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;Lorg/eclipse/core/runtime/IProgressMonitor;)Z
70: ifeq 75
71: iinc 8 1
end local 22 end local 21 72: goto 75
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.JarPackageFragmentRoot org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath int java.lang.Throwable java.lang.Throwable java.util.zip.ZipFile java.util.Enumeration org.eclipse.core.runtime.SubMonitor java.util.zip.ZipEntry java.lang.String int java.lang.String char[] java.lang.String org.eclipse.jdt.internal.core.nd.java.model.BinaryTypeDescriptor
StackMap stack: java.lang.Exception
73: astore 21
start local 21 74: new java.lang.StringBuilder
dup
ldc "Unable to index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 20
invokevirtual org.eclipse.jdt.internal.core.nd.java.model.BinaryTypeDescriptor.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 21
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 75: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.JarPackageFragmentRoot org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath int java.lang.Throwable java.lang.Throwable java.util.zip.ZipFile java.util.Enumeration
StackMap stack:
aload 12
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 22
end local 12 76: aload 11
ifnull 99
aload 11
invokevirtual java.util.zip.ZipFile.close:()V
goto 99
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.JarPackageFragmentRoot org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath int java.lang.Throwable java.lang.Throwable java.util.zip.ZipFile
StackMap stack: java.lang.Throwable
77: astore 9
aload 11
ifnull 78
aload 11
invokevirtual java.util.zip.ZipFile.close:()V
end local 11 StackMap locals:
StackMap stack:
78: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
79: astore 10
aload 9
ifnonnull 80
aload 10
astore 9
goto 81
StackMap locals:
StackMap stack:
80: aload 9
aload 10
if_acmpeq 81
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
81: aload 9
athrow
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.JarPackageFragmentRoot org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath int
StackMap stack: java.util.zip.ZipException
82: astore 9
start local 9 83: new java.lang.StringBuilder
dup
ldc "The zip file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual org.eclipse.jdt.internal.core.JarPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " was corrupt"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 9
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
84: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aconst_null
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireWriteLock:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
85: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.isInIndex:()Z
ifeq 91
86: aload 1
iconst_1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.setFlags:(I)V
87: goto 91
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.JarPackageFragmentRoot org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath int java.util.zip.ZipException
StackMap stack: java.lang.Throwable
88: astore 10
89: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
90: aload 10
athrow
91: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
end local 9 92: goto 99
93: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.JarPackageFragmentRoot org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath int
StackMap stack: java.io.FileNotFoundException
astore 9
start local 9 94: aload 9
athrow
end local 9 95: StackMap locals:
StackMap stack: java.io.IOException
astore 9
start local 9 96: new org.eclipse.jdt.core.JavaModelException
dup
aload 9
sipush 985
invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Ljava/lang/Throwable;I)V
athrow
end local 9 97: StackMap locals:
StackMap stack: org.eclipse.core.runtime.CoreException
astore 9
start local 9 98: new org.eclipse.jdt.core.JavaModelException
dup
aload 9
invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/core/runtime/CoreException;)V
athrow
end local 9 99: StackMap locals:
StackMap stack:
getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG:Z
ifeq 101
iload 8
ifne 101
100: new java.lang.StringBuilder
dup
ldc "The path "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokeinterface org.eclipse.jdt.core.IJavaElement.getPath:()Lorg/eclipse/core/runtime/IPath;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " contained no class files"
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.nd.indexer.Package.logInfo:(Ljava/lang/String;)V
101: StackMap locals:
StackMap stack:
iload 8
ireturn
end local 8 end local 7 end local 6 end local 5 102: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor
StackMap stack:
aload 2
instanceof org.eclipse.jdt.core.IOrdinaryClassFile
ifeq 118
103: aload 2
checkcast org.eclipse.jdt.core.IOrdinaryClassFile
astore 5
start local 5 104: aload 4
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
astore 6
start local 6 105: aload 5
invokestatic org.eclipse.jdt.internal.core.nd.java.model.BinaryTypeFactory.createDescriptor:(Lorg/eclipse/jdt/core/IOrdinaryClassFile;)Lorg/eclipse/jdt/internal/core/nd/java/model/BinaryTypeDescriptor;
astore 7
start local 7 106: iconst_0
istore 8
start local 8 107: aload 7
iconst_1
iconst_0
invokestatic org.eclipse.jdt.internal.core.nd.java.model.BinaryTypeFactory.rawReadTypeTestForExists:(Lorg/eclipse/jdt/internal/core/nd/java/model/BinaryTypeDescriptor;ZZ)Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
astore 9
start local 9 108: aload 9
ifnull 115
109: aload 0
aload 1
aload 7
getfield org.eclipse.jdt.internal.core.nd.java.model.BinaryTypeDescriptor.fieldDescriptor:[C
aload 7
getfield org.eclipse.jdt.internal.core.nd.java.model.BinaryTypeDescriptor.indexPath:[C
110: aload 9
aload 6
111: invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.addClassToIndex:(Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;[C[CLorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;Lorg/eclipse/core/runtime/IProgressMonitor;)Z
istore 8
end local 9 112: goto 115
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.IOrdinaryClassFile org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.java.model.BinaryTypeDescriptor int
StackMap stack: java.lang.Exception
113: astore 9
start local 9 114: new java.lang.StringBuilder
dup
ldc "Unable to index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 9
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 9 115: StackMap locals:
StackMap stack:
iload 8
ifeq 116
iconst_1
goto 117
StackMap locals:
StackMap stack:
116: iconst_0
StackMap locals:
StackMap stack: int
117: ireturn
end local 8 end local 7 end local 6 end local 5 118: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.jdt.core.IJavaElement org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unable to index elements of type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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.nd.indexer.Package.logInfo:(Ljava/lang/String;)V
119: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 120 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 120 1 resourceFile Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
0 120 2 element Lorg/eclipse/jdt/core/IJavaElement;
0 120 3 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 120 4 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
3 102 5 jarRoot Lorg/eclipse/jdt/internal/core/JarPackageFragmentRoot;
4 102 6 workspacePath Lorg/eclipse/core/runtime/IPath;
5 102 7 location Lorg/eclipse/core/runtime/IPath;
6 102 8 classesIndexed I
8 78 11 zipFile Ljava/util/zip/ZipFile;
21 76 12 e Ljava/util/Enumeration<+Ljava/util/zip/ZipEntry;>;
23 75 13 nextEntry Lorg/eclipse/core/runtime/SubMonitor;
24 75 14 member Ljava/util/zip/ZipEntry;
25 75 15 fileName Ljava/lang/String;
26 75 16 classFileName Z
37 41 19 inputStream Ljava/io/InputStream;
38 39 20 chars [C
56 75 17 binaryName Ljava/lang/String;
57 75 18 fieldDescriptor [C
60 75 19 indexPath Ljava/lang/String;
63 75 20 descriptor Lorg/eclipse/jdt/internal/core/nd/java/model/BinaryTypeDescriptor;
66 72 21 contents [B
67 72 22 classFileReader Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
74 75 21 exception Ljava/lang/Exception;
83 92 9 e Ljava/util/zip/ZipException;
94 95 9 e Ljava/io/FileNotFoundException;
96 97 9 ioException Ljava/io/IOException;
98 99 9 coreException Lorg/eclipse/core/runtime/CoreException;
104 118 5 classFile Lorg/eclipse/jdt/core/IOrdinaryClassFile;
105 118 6 iterationMonitor Lorg/eclipse/core/runtime/SubMonitor;
106 118 7 descriptor Lorg/eclipse/jdt/internal/core/nd/java/model/BinaryTypeDescriptor;
107 118 8 indexed Z
108 112 9 classFileReader Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
114 115 9 e Ljava/lang/Exception;
Exception table:
from to target type
14 16 16 any
37 39 40 any
36 42 42 any
28 45 45 any
63 72 73 Class org.eclipse.core.runtime.CoreException
63 72 73 Class org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
8 76 77 any
7 79 79 any
6 82 82 Class java.util.zip.ZipException
85 88 88 any
6 82 93 Class java.io.FileNotFoundException
6 82 95 Class java.io.IOException
6 82 97 Class org.eclipse.core.runtime.CoreException
107 112 113 Class org.eclipse.core.runtime.CoreException
107 112 113 Class org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
Exceptions:
throws org.eclipse.jdt.core.JavaModelException, java.io.FileNotFoundException
MethodParameters:
Name Flags
resourceFile
element
monitor
private boolean addClassToIndex(org.eclipse.jdt.internal.core.nd.java.NdResourceFile, char[], char[], org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;[C[CLorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;Lorg/eclipse/core/runtime/IProgressMonitor;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=19, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
bipush 100
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 6
start local 6 1: new org.eclipse.jdt.internal.core.nd.indexer.ClassFileToIndexConverter
dup
aload 1
invokespecial org.eclipse.jdt.internal.core.nd.indexer.ClassFileToIndexConverter.<init>:(Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;)V
astore 7
start local 7 2: iconst_0
istore 8
start local 8 3: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 6
iconst_5
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireWriteLock:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
4: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.isInIndex:()Z
ifeq 16
5: getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG_INSERTIONS:Z
ifeq 9
6: new java.lang.StringBuilder
dup
ldc "Inserting "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 2
invokespecial java.lang.String.<init>:([C)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " into "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.getLocation:()Lorg/eclipse/jdt/internal/core/nd/db/IString;
invokeinterface org.eclipse.jdt.internal.core.nd.db.IString.getString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield org.eclipse.jdt.internal.core.nd.java.NdResourceFile.address:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.logInfo:(Ljava/lang/String;)V
9: StackMap locals: org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.indexer.ClassFileToIndexConverter int
StackMap stack:
aload 7
aload 4
aload 2
aload 6
bipush 45
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.ClassFileToIndexConverter.addType:(Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;[CLorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/core/nd/java/NdType;
pop
10: aload 1
aload 4
invokevirtual org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.getVersion:()J
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.setJdkLevel:(J)V
11: iconst_1
istore 8
12: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 9
14: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
15: aload 9
athrow
16: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
17: getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG_SELFTEST:Z
ifeq 46
iload 8
ifeq 46
18: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.getIndex:(Lorg/eclipse/jdt/internal/core/nd/Nd;)Lorg/eclipse/jdt/internal/core/nd/java/JavaIndex;
astore 9
start local 9 19: aconst_null
astore 10
aconst_null
astore 11
20: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireReadLock:()Lorg/eclipse/jdt/internal/core/nd/IReader;
astore 12
start local 12 21: aload 9
aload 2
invokevirtual org.eclipse.jdt.internal.core.nd.java.JavaIndex.findType:([C)Lorg/eclipse/jdt/internal/core/nd/java/NdTypeId;
astore 13
start local 13 22: aconst_null
astore 14
start local 14 23: aload 13
ifnull 32
24: aload 13
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdTypeId.getTypes:()Ljava/util/List;
astore 15
start local 15 25: aload 15
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 17
goto 31
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile char[] char[] org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.indexer.ClassFileToIndexConverter int org.eclipse.jdt.internal.core.nd.java.JavaIndex java.lang.Throwable java.lang.Throwable org.eclipse.jdt.internal.core.nd.IReader org.eclipse.jdt.internal.core.nd.java.NdTypeId org.eclipse.jdt.internal.core.nd.java.NdType java.util.List top java.util.Iterator
StackMap stack:
26: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.nd.java.NdType
astore 16
start local 16 27: aload 16
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdType.getResourceFile:()Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
astore 18
start local 18 28: aload 18
aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.equals:(Ljava/lang/Object;)Z
ifeq 31
29: aload 16
astore 14
30: goto 32
end local 18 end local 16 31: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
end local 15 32: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile char[] char[] org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.indexer.ClassFileToIndexConverter int org.eclipse.jdt.internal.core.nd.java.JavaIndex java.lang.Throwable java.lang.Throwable org.eclipse.jdt.internal.core.nd.IReader org.eclipse.jdt.internal.core.nd.java.NdTypeId org.eclipse.jdt.internal.core.nd.java.NdType
StackMap stack:
aload 14
ifnull 36
33: new org.eclipse.jdt.internal.core.nd.java.model.IndexBinaryType
dup
aload 14
invokestatic org.eclipse.jdt.internal.core.nd.java.TypeRef.create:(Lorg/eclipse/jdt/internal/core/nd/java/NdType;)Lorg/eclipse/jdt/internal/core/nd/java/TypeRef;
aload 3
invokespecial org.eclipse.jdt.internal.core.nd.java.model.IndexBinaryType.<init>:(Lorg/eclipse/jdt/internal/core/nd/java/TypeRef;[C)V
astore 15
start local 15 34: aload 4
aload 15
invokestatic org.eclipse.jdt.internal.core.nd.indexer.IndexTester.testType:(Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;Lorg/eclipse/jdt/internal/compiler/env/IBinaryType;)V
end local 15 35: goto 38
36: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Could not find class in index immediately after indexing it: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 3
invokespecial java.lang.String.<init>:([C)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
37: invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.logInfo:(Ljava/lang/String;)V
end local 14 end local 13 38: StackMap locals:
StackMap stack:
aload 12
ifnull 46
aload 12
invokeinterface org.eclipse.jdt.internal.core.nd.IReader.close:()V
goto 46
StackMap locals:
StackMap stack: java.lang.Throwable
39: astore 10
aload 12
ifnull 40
aload 12
invokeinterface org.eclipse.jdt.internal.core.nd.IReader.close:()V
end local 12 StackMap locals:
StackMap stack:
40: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
41: astore 11
aload 10
ifnonnull 42
aload 11
astore 10
goto 43
StackMap locals:
StackMap stack:
42: aload 10
aload 11
if_acmpeq 43
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
43: aload 10
athrow
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.java.NdResourceFile char[] char[] org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.indexer.ClassFileToIndexConverter int org.eclipse.jdt.internal.core.nd.java.JavaIndex
StackMap stack: java.lang.RuntimeException
44: astore 10
start local 10 45: new java.lang.StringBuilder
dup
ldc "Error during indexing: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 3
invokespecial java.lang.String.<init>:([C)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 10
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 10 end local 9 46: StackMap locals:
StackMap stack:
iload 8
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 47 1 resourceFile Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
0 47 2 fieldDescriptor [C
0 47 3 indexPath [C
0 47 4 binaryType Lorg/eclipse/jdt/internal/compiler/classfmt/ClassFileReader;
0 47 5 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 47 6 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
2 47 7 converter Lorg/eclipse/jdt/internal/core/nd/indexer/ClassFileToIndexConverter;
3 47 8 indexed Z
19 46 9 index Lorg/eclipse/jdt/internal/core/nd/java/JavaIndex;
21 40 12 readLock Lorg/eclipse/jdt/internal/core/nd/IReader;
22 38 13 typeId Lorg/eclipse/jdt/internal/core/nd/java/NdTypeId;
23 38 14 targetType Lorg/eclipse/jdt/internal/core/nd/java/NdType;
25 32 15 implementations Ljava/util/List<Lorg/eclipse/jdt/internal/core/nd/java/NdType;>;
27 31 16 nextType Lorg/eclipse/jdt/internal/core/nd/java/NdType;
28 31 18 nextResourceFile Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
34 35 15 actualType Lorg/eclipse/jdt/internal/core/nd/java/model/IndexBinaryType;
45 46 10 e Ljava/lang/RuntimeException;
Exception table:
from to target type
4 13 13 any
21 38 39 any
20 41 41 any
19 44 44 Class java.lang.RuntimeException
Exceptions:
throws org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException, org.eclipse.core.runtime.CoreException
MethodParameters:
Name Flags
resourceFile
fieldDescriptor
indexPath
binaryType
monitor
private java.util.List<org.eclipse.core.runtime.IPath> getIndexablesThatHaveChanged(java.util.Collection<org.eclipse.core.runtime.IPath>, java.util.Map<org.eclipse.core.runtime.IPath, org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult>);
descriptor: (Ljava/util/Collection;Ljava/util/Map;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer java.util.Collection java.util.Map java.util.List top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.core.runtime.IPath
astore 4
start local 4 3: aload 2
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult
astore 6
start local 6 4: aload 6
invokevirtual org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult.matches:()Z
ifne 6
5: aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 8 1 indexables Ljava/util/Collection<Lorg/eclipse/core/runtime/IPath;>;
0 8 2 fingerprints Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint$FingerprintTestResult;>;
1 8 3 indexablesWithChanges Ljava/util/List<Lorg/eclipse/core/runtime/IPath;>;
3 6 4 next Lorg/eclipse/core/runtime/IPath;
4 6 6 testResult Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint$FingerprintTestResult;
Signature: (Ljava/util/Collection<Lorg/eclipse/core/runtime/IPath;>;Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint$FingerprintTestResult;>;)Ljava/util/List<Lorg/eclipse/core/runtime/IPath;>;
MethodParameters:
Name Flags
indexables
fingerprints
private org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult testForChanges(org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint$FingerprintTestResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 2
bipush 100
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 3
start local 3 1: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.getIndex:(Lorg/eclipse/jdt/internal/core/nd/Nd;)Lorg/eclipse/jdt/internal/core/nd/java/JavaIndex;
astore 4
start local 4 2: aload 1
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
astore 5
start local 5 3: aload 3
bipush 50
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
pop
4: aconst_null
astore 6
start local 6 5: invokestatic org.eclipse.jdt.internal.core.nd.java.FileFingerprint.getEmpty:()Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint;
astore 7
start local 7 6: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireReadLock:()Lorg/eclipse/jdt/internal/core/nd/IReader;
pop
7: aload 4
aload 5
invokevirtual java.lang.String.toCharArray:()[C
invokevirtual org.eclipse.jdt.internal.core.nd.java.JavaIndex.getResourceFile:([C)Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
astore 6
8: aload 6
ifnull 14
9: aload 6
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.getFingerprint:()Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint;
astore 7
10: goto 14
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.internal.core.nd.java.JavaIndex java.lang.String org.eclipse.jdt.internal.core.nd.java.NdResourceFile org.eclipse.jdt.internal.core.nd.java.FileFingerprint
StackMap stack: java.lang.Throwable
11: astore 8
12: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseReadLock:()V
13: aload 8
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseReadLock:()V
15: aload 7
aload 1
aload 3
bipush 40
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.java.FileFingerprint.test:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint$FingerprintTestResult;
astore 8
start local 8 16: aload 6
ifnull 28
aload 8
invokevirtual org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult.matches:()Z
ifeq 28
aload 8
invokevirtual org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult.needsNewFingerprint:()Z
ifeq 28
17: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 3
bipush 10
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireWriteLock:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
18: aload 6
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.isInIndex:()Z
ifeq 27
19: getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG:Z
ifeq 22
20: new java.lang.StringBuilder
dup
ldc "Writing updated fingerprint for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult.getNewFingerprint:()Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.logInfo:(Ljava/lang/String;)V
22: StackMap locals: org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult
StackMap stack:
aload 6
aload 8
invokevirtual org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult.getNewFingerprint:()Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint;
invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.setFingerprint:(Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint;)V
23: goto 27
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 9
25: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
26: aload 9
athrow
27: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
28: StackMap locals:
StackMap stack:
aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 29 1 thePath Lorg/eclipse/core/runtime/IPath;
0 29 2 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 29 3 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
2 29 4 javaIndex Lorg/eclipse/jdt/internal/core/nd/java/JavaIndex;
3 29 5 pathString Ljava/lang/String;
5 29 6 resourceFile Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
6 29 7 fingerprint Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint;
16 29 8 result Lorg/eclipse/jdt/internal/core/nd/java/FileFingerprint$FingerprintTestResult;
Exception table:
from to target type
7 11 11 any
18 24 24 any
Exceptions:
throws org.eclipse.core.runtime.CoreException
MethodParameters:
Name Flags
thePath
monitor
public void <init>(org.eclipse.jdt.internal.core.nd.Nd, org.eclipse.core.resources.IWorkspaceRoot);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/Nd;Lorg/eclipse/core/resources/IWorkspaceRoot;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.enableAutomaticIndexing:Z
2: aload 0
iconst_0
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.indexerDirtiedWhileDisabled:Z
3: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.automaticIndexingMutex:Ljava/lang/Object;
4: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.listenersMutex:Ljava/lang/Object;
5: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.listeners:Ljava/util/Set;
6: aload 0
new org.eclipse.core.runtime.jobs.JobGroup
dup
getstatic org.eclipse.jdt.internal.core.nd.indexer.Messages.Indexer_updating_index_job_name:Ljava/lang/String;
iconst_1
iconst_1
invokespecial org.eclipse.core.runtime.jobs.JobGroup.<init>:(Ljava/lang/String;II)V
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.group:Lorg/eclipse/core/runtime/jobs/JobGroup;
7: aload 0
getstatic org.eclipse.jdt.internal.core.nd.indexer.Messages.Indexer_updating_index_job_name:Ljava/lang/String;
aload 0
invokedynamic run(Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;)Lorg/eclipse/core/runtime/ICoreRunnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lorg/eclipse/core/runtime/IProgressMonitor;)V
org/eclipse/jdt/internal/core/nd/indexer/Indexer.lambda$0(Lorg/eclipse/core/runtime/IProgressMonitor;)V (7)
(Lorg/eclipse/core/runtime/IProgressMonitor;)V
invokestatic org.eclipse.core.runtime.jobs.Job.create:(Ljava/lang/String;Lorg/eclipse/core/runtime/ICoreRunnable;)Lorg/eclipse/core/runtime/jobs/Job;
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescanJob:Lorg/eclipse/core/runtime/jobs/Job;
8: aload 0
getstatic org.eclipse.jdt.internal.core.nd.indexer.Messages.Indexer_updating_index_job_name:Ljava/lang/String;
aload 0
invokedynamic run(Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;)Lorg/eclipse/core/runtime/ICoreRunnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lorg/eclipse/core/runtime/IProgressMonitor;)V
org/eclipse/jdt/internal/core/nd/indexer/Indexer.lambda$1(Lorg/eclipse/core/runtime/IProgressMonitor;)V (7)
(Lorg/eclipse/core/runtime/IProgressMonitor;)V
invokestatic org.eclipse.core.runtime.jobs.Job.create:(Ljava/lang/String;Lorg/eclipse/core/runtime/ICoreRunnable;)Lorg/eclipse/core/runtime/jobs/Job;
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.rebuildIndexJob:Lorg/eclipse/core/runtime/jobs/Job;
9: aload 0
aload 1
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
10: aload 0
aload 2
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.root:Lorg/eclipse/core/resources/IWorkspaceRoot;
11: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescanJob:Lorg/eclipse/core/runtime/jobs/Job;
iconst_1
invokevirtual org.eclipse.core.runtime.jobs.Job.setSystem:(Z)V
12: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescanJob:Lorg/eclipse/core/runtime/jobs/Job;
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.group:Lorg/eclipse/core/runtime/jobs/JobGroup;
invokevirtual org.eclipse.core.runtime.jobs.Job.setJobGroup:(Lorg/eclipse/core/runtime/jobs/JobGroup;)V
13: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.rebuildIndexJob:Lorg/eclipse/core/runtime/jobs/Job;
iconst_1
invokevirtual org.eclipse.core.runtime.jobs.Job.setSystem:(Z)V
14: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.rebuildIndexJob:Lorg/eclipse/core/runtime/jobs/Job;
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.group:Lorg/eclipse/core/runtime/jobs/JobGroup;
invokevirtual org.eclipse.core.runtime.jobs.Job.setJobGroup:(Lorg/eclipse/core/runtime/jobs/JobGroup;)V
15: aload 0
aload 1
invokestatic org.eclipse.jdt.internal.core.nd.indexer.FileStateCache.getCache:(Lorg/eclipse/jdt/internal/core/nd/Nd;)Lorg/eclipse/jdt/internal/core/nd/indexer/FileStateCache;
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.fileStateCache:Lorg/eclipse/jdt/internal/core/nd/indexer/FileStateCache;
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 17 1 toPopulate Lorg/eclipse/jdt/internal/core/nd/Nd;
0 17 2 workspaceRoot Lorg/eclipse/core/resources/IWorkspaceRoot;
MethodParameters:
Name Flags
toPopulate
workspaceRoot
public void rescanAll();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic org.eclipse.jdt.internal.core.nd.indexer.Indexer.DEBUG_SCHEDULING:Z
ifeq 2
1: ldc "Scheduling rescanAll now"
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.logInfo:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.automaticIndexingMutex:Ljava/lang/Object;
dup
astore 1
monitorenter
3: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.enableAutomaticIndexing:Z
ifne 8
4: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.indexerDirtiedWhileDisabled:Z
ifne 6
5: aload 0
iconst_1
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.indexerDirtiedWhileDisabled:Z
6: StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
7: return
8: StackMap locals:
StackMap stack:
aload 1
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 1
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.isEnabled:()Z
ifne 14
13: return
14: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescanJob:Lorg/eclipse/core/runtime/jobs/Job;
invokevirtual org.eclipse.core.runtime.jobs.Job.schedule:()V
15: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
Exception table:
from to target type
3 7 10 any
8 9 10 any
10 11 10 any
public void addListener(org.eclipse.jdt.internal.core.nd.indexer.Indexer$Listener);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer$Listener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.listenersMutex:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.listeners:Ljava/util/Set;
astore 3
start local 3 2: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.listeners:Ljava/util/Set;
3: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.listeners:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
4: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.listeners:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 3 5: aload 2
monitorexit
6: goto 9
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.indexer.Indexer$Listener java.lang.Object
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 10 1 newListener Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer$Listener;
2 5 3 oldListeners Ljava/util/Set<Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer$Listener;>;
Exception table:
from to target type
1 6 7 any
7 8 7 any
MethodParameters:
Name Flags
newListener
public void removeListener(org.eclipse.jdt.internal.core.nd.indexer.Indexer$Listener);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer$Listener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.listenersMutex:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.listeners:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 4
2: aload 2
monitorexit
3: return
4: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.listeners:Ljava/util/Set;
astore 3
start local 3 5: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
putfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.listeners:Ljava/util/Set;
6: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.listeners:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
7: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.listeners:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
end local 3 8: aload 2
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 2
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 13 1 oldListener Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer$Listener;
5 8 3 oldListeners Ljava/util/Set<Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer$Listener;>;
Exception table:
from to target type
1 3 10 any
4 9 10 any
10 11 10 any
MethodParameters:
Name Flags
oldListener
private void fireChange(org.eclipse.jdt.internal.core.nd.indexer.IndexerEvent);
descriptor: (Lorg/eclipse/jdt/internal/core/nd/indexer/IndexerEvent;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.listenersMutex:Ljava/lang/Object;
dup
astore 3
monitorenter
1: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.listeners:Ljava/util/Set;
astore 2
start local 2 2: aload 3
monitorexit
3: goto 6
end local 2 StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.indexer.IndexerEvent top java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 3
monitorexit
5: athrow
start local 2 6: StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.indexer.IndexerEvent java.util.Set
StackMap stack:
aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.jdt.internal.core.nd.indexer.IndexerEvent java.util.Set top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.nd.indexer.Indexer$Listener
astore 3
start local 3 8: aload 3
aload 1
invokeinterface org.eclipse.jdt.internal.core.nd.indexer.Indexer$Listener.consume:(Lorg/eclipse/jdt/internal/core/nd/indexer/IndexerEvent;)V
end local 3 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 11 1 event Lorg/eclipse/jdt/internal/core/nd/indexer/IndexerEvent;
2 4 2 localListeners Ljava/util/Set<Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer$Listener;>;
6 11 2 localListeners Ljava/util/Set<Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer$Listener;>;
8 9 3 next Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer$Listener;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
event
public void waitForIndex(org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.automaticIndexingMutex:Ljava/lang/Object;
dup
astore 3
monitorenter
2: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.enableAutomaticIndexing:Z
ifne 4
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.indexerDirtiedWhileDisabled:Z
ifeq 4
3: iconst_1
istore 2
4: StackMap locals: int java.lang.Object
StackMap stack:
aload 3
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
iload 2
ifeq 10
9: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescanJob:Lorg/eclipse/core/runtime/jobs/Job;
invokevirtual org.eclipse.core.runtime.jobs.Job.schedule:()V
10: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescanJob:Lorg/eclipse/core/runtime/jobs/Job;
lconst_0
aload 1
invokevirtual org.eclipse.core.runtime.jobs.Job.join:(JLorg/eclipse/core/runtime/IProgressMonitor;)Z
pop
end local 2 11: goto 14
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.core.runtime.IProgressMonitor
StackMap stack: java.lang.InterruptedException
12: pop
13: new org.eclipse.core.runtime.OperationCanceledException
dup
invokespecial org.eclipse.core.runtime.OperationCanceledException.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 15 1 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 11 2 shouldRescan Z
Exception table:
from to target type
2 5 6 any
6 7 6 any
0 11 12 Class java.lang.InterruptedException
MethodParameters:
Name Flags
monitor
public void waitForIndex(int, org.eclipse.core.runtime.IProgressMonitor);
descriptor: (ILorg/eclipse/core/runtime/IProgressMonitor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.isEnabled:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
iload 1
tableswitch { // 1 - 3
1: 3
2: 4
3: 6
default: 7
}
3: StackMap locals:
StackMap stack:
goto 7
4: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescanJob:Lorg/eclipse/core/runtime/jobs/Job;
invokevirtual org.eclipse.core.runtime.jobs.Job.getState:()I
ifeq 7
5: new org.eclipse.core.runtime.OperationCanceledException
dup
invokespecial org.eclipse.core.runtime.OperationCanceledException.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.waitForIndex:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 8 1 waitingPolicy I
0 8 2 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
MethodParameters:
Name Flags
waitingPolicy
monitor
public void rebuildIndex(org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
bipush 100
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/SubMonitor;
astore 2
start local 2 1: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescanJob:Lorg/eclipse/core/runtime/jobs/Job;
invokevirtual org.eclipse.core.runtime.jobs.Job.cancel:()Z
pop
2: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescanJob:Lorg/eclipse/core/runtime/jobs/Job;
lconst_0
aload 2
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.core.runtime.jobs.Job.join:(JLorg/eclipse/core/runtime/IProgressMonitor;)Z
pop
3: goto 5
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor
StackMap stack: java.lang.InterruptedException
4: pop
5: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 2
iconst_1
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireWriteLock:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
6: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
aload 2
iconst_2
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.clear:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
7: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.getDB:()Lorg/eclipse/jdt/internal/core/nd/db/Database;
invokevirtual org.eclipse.jdt.internal.core.nd.db.Database.flush:()Z
pop
8: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 3
10: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
11: aload 3
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.nd:Lorg/eclipse/jdt/internal/core/nd/Nd;
invokevirtual org.eclipse.jdt.internal.core.nd.Nd.releaseWriteLock:()V
13: invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.isEnabled:()Z
ifne 15
14: return
15: StackMap locals:
StackMap stack:
aload 0
aload 2
bipush 97
invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescan:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 17 1 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 17 2 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
Exception table:
from to target type
2 3 4 Class java.lang.InterruptedException
6 9 9 any
Exceptions:
throws org.eclipse.core.runtime.CoreException
MethodParameters:
Name Flags
monitor
public void requestRebuildIndex();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.rebuildIndexJob:Lorg/eclipse/core/runtime/jobs/Job;
invokevirtual org.eclipse.core.runtime.jobs.Job.schedule:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
public void makeDirty(org.eclipse.core.runtime.IPath);
descriptor: (Lorg/eclipse/core/runtime/IPath;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.fileStateCache:Lorg/eclipse/jdt/internal/core/nd/indexer/FileStateCache;
aload 1
invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.FileStateCache.remove:(Ljava/lang/String;)V
1: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescanAll:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 3 1 location Lorg/eclipse/core/runtime/IPath;
MethodParameters:
Name Flags
location
public void makeDirty(org.eclipse.core.resources.IProject);
descriptor: (Lorg/eclipse/core/resources/IProject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.fileStateCache:Lorg/eclipse/jdt/internal/core/nd/indexer/FileStateCache;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.FileStateCache.clear:()V
1: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescanAll:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 3 1 project Lorg/eclipse/core/resources/IProject;
MethodParameters:
Name Flags
project
public void makeWorkspacePathDirty(org.eclipse.core.runtime.IPath);
descriptor: (Lorg/eclipse/core/runtime/IPath;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.core.nd.indexer.Indexer.fileStateCache:Lorg/eclipse/jdt/internal/core/nd/indexer/FileStateCache;
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.FileStateCache.clear:()V
1: aload 0
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescanAll:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 3 1 pathToRescan Lorg/eclipse/core/runtime/IPath;
MethodParameters:
Name Flags
pathToRescan
private void lambda$0(org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/core/runtime/SubMonitor;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.rescan:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
2: goto 6
StackMap locals: org.eclipse.jdt.internal.core.nd.indexer.Indexer org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor
StackMap stack: org.eclipse.jdt.internal.core.nd.db.IndexException
3: astore 3
start local 3 4: ldc "Database corruption detected during indexing. Deleting and rebuilding the index."
aload 3
invokestatic org.eclipse.jdt.internal.core.nd.indexer.Package.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
5: aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.rebuildIndex:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
end local 3 end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 7 1 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
1 6 2 subMonitor Lorg/eclipse/core/runtime/SubMonitor;
4 6 3 e Lorg/eclipse/jdt/internal/core/nd/db/IndexException;
Exception table:
from to target type
1 2 3 Class org.eclipse.jdt.internal.core.nd.db.IndexException
Exceptions:
throws org.eclipse.core.runtime.CoreException
private void lambda$1(org.eclipse.core.runtime.IProgressMonitor);
descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.eclipse.jdt.internal.core.nd.indexer.Indexer.rebuildIndex:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jdt/internal/core/nd/indexer/Indexer;
0 2 1 monitor Lorg/eclipse/core/runtime/IProgressMonitor;
Exceptions:
throws org.eclipse.core.runtime.CoreException
}
SourceFile: "Indexer.java"
NestMembers:
org.eclipse.jdt.internal.core.nd.indexer.Indexer$Listener
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public ChunkStats = org.eclipse.jdt.internal.core.nd.db.Database$ChunkStats of org.eclipse.jdt.internal.core.nd.db.Database
public abstract Listener = org.eclipse.jdt.internal.core.nd.indexer.Indexer$Listener of org.eclipse.jdt.internal.core.nd.indexer.Indexer
public FingerprintTestResult = org.eclipse.jdt.internal.core.nd.java.FileFingerprint$FingerprintTestResult of org.eclipse.jdt.internal.core.nd.java.FileFingerprint