public class org.eclipse.jdt.internal.core.util.LRUCache<K, V> implements java.lang.Cloneable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jdt.internal.core.util.LRUCache
super_class: java.lang.Object
{
protected int currentSpace;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int spaceLimit;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int timestampCounter;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected java.util.Hashtable<K, org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry<K, V>> entryTable;
descriptor: Ljava/util/Hashtable;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/Hashtable<TK;Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;>;
protected org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry<K, V> entryQueue;
descriptor: Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
flags: (0x0004) ACC_PROTECTED
Signature: Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
protected org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry<K, V> entryQueueTail;
descriptor: Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
flags: (0x0004) ACC_PROTECTED
Signature: Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
protected static final int DEFAULT_SPACELIMIT;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 100
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
bipush 100
invokespecial org.eclipse.jdt.internal.core.util.LRUCache.<init>:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
iconst_0
dup_x1
putfield org.eclipse.jdt.internal.core.util.LRUCache.currentSpace:I
putfield org.eclipse.jdt.internal.core.util.LRUCache.timestampCounter:I
2: aload 0
aload 0
aconst_null
dup_x1
putfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueueTail:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
putfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueue:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
3: aload 0
new java.util.Hashtable
dup
iload 1
invokespecial java.util.Hashtable.<init>:(I)V
putfield org.eclipse.jdt.internal.core.util.LRUCache.entryTable:Ljava/util/Hashtable;
4: aload 0
iload 1
putfield org.eclipse.jdt.internal.core.util.LRUCache.spaceLimit:I
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 6 1 size I
MethodParameters:
Name Flags
size
public org.eclipse.jdt.internal.core.util.LRUCache<K, V> clone();
descriptor: ()Lorg/eclipse/jdt/internal/core/util/LRUCache;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.spaceLimit:I
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.newInstance:(I)Lorg/eclipse/jdt/internal/core/util/LRUCache;
astore 1
start local 1 1: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueueTail:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
astore 2
start local 2 2: goto 5
3: StackMap locals: org.eclipse.jdt.internal.core.util.LRUCache org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
StackMap stack:
aload 1
aload 2
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.key:Ljava/lang/Object;
aload 2
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.value:Ljava/lang/Object;
aload 2
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.space:I
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.privateAdd:(Ljava/lang/Object;Ljava/lang/Object;I)V
4: aload 2
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.previous:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
astore 2
5: StackMap locals:
StackMap stack:
aload 2
ifnonnull 3
6: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
1 7 1 newCache Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
2 7 2 qEntry Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
Signature: ()Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
public double fillingRatio();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.currentSpace:I
i2d
ldc 100.0
dmul
aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.spaceLimit:I
i2d
ddiv
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.eclipse.jdt.internal.core.util.LRUCache.currentSpace:I
1: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueueTail:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
astore 1
start local 1 2: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield org.eclipse.jdt.internal.core.util.LRUCache.entryTable:Ljava/util/Hashtable;
3: aload 0
aload 0
aconst_null
dup_x1
putfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueueTail:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
putfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueue:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
4: goto 6
5: StackMap locals: org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
StackMap stack:
aload 1
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.previous:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
astore 1
6: StackMap locals:
StackMap stack:
aload 1
ifnonnull 5
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
2 8 1 entry Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
public void flush();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryTable:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
astore 2
start local 2 1: aload 2
ifnonnull 2
return
2: StackMap locals: org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
StackMap stack:
aload 0
aload 2
iconst_0
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.privateRemoveEntry:(Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;Z)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 4 1 key TK;
1 4 2 entry Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
Signature: (TK;)V
MethodParameters:
Name Flags
key
public K getKey();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryTable:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aload 1
areturn
3: StackMap locals: org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
StackMap stack:
aload 2
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.key:Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 4 1 key TK;
1 4 2 entry Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
Signature: (TK;)TK;
MethodParameters:
Name Flags
key
public V get();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryTable:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
StackMap stack:
aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.updateTimestamp:(Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;)V
4: aload 2
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.value:Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 5 1 key TK;
1 5 2 entry Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
Signature: (TK;)TV;
MethodParameters:
Name Flags
key
public int getCurrentSpace();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.currentSpace:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
public int getNewestTimestampCounter();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueue:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueue:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.timestamp:I
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
public int getOldestTimestampCounter();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueueTail:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueueTail:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.timestamp:I
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
public K getOldestElement();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueueTail:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
ifnonnull 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueueTail:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.key:Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
Signature: ()TK;
public int getSpaceLimit();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.spaceLimit:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
public java.util.Enumeration<K> keys();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryTable:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
Signature: ()Ljava/util/Enumeration<TK;>;
public org.eclipse.jdt.internal.core.util.ICacheEnumeration<K, V> keysAndValues();
descriptor: ()Lorg/eclipse/jdt/internal/core/util/ICacheEnumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.eclipse.jdt.internal.core.util.LRUCache$1
dup
aload 0
invokespecial org.eclipse.jdt.internal.core.util.LRUCache$1.<init>:(Lorg/eclipse/jdt/internal/core/util/LRUCache;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
Signature: ()Lorg/eclipse/jdt/internal/core/util/ICacheEnumeration<TK;TV;>;
protected boolean makeSpace(int);
descriptor: (I)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.getSpaceLimit:()I
istore 2
start local 2 1: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.currentSpace:I
iload 1
iadd
iload 2
if_icmpgt 3
2: iconst_1
ireturn
3: StackMap locals: int
StackMap stack:
iload 1
iload 2
if_icmple 6
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueueTail:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
iconst_0
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.privateRemoveEntry:(Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;Z)V
6: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.currentSpace:I
iload 1
iadd
iload 2
if_icmple 7
aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueueTail:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
ifnonnull 5
7: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 8 1 space I
1 8 2 limit I
MethodParameters:
Name Flags
space
protected org.eclipse.jdt.internal.core.util.LRUCache<K, V> newInstance(int);
descriptor: (I)Lorg/eclipse/jdt/internal/core/util/LRUCache;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new org.eclipse.jdt.internal.core.util.LRUCache
dup
iload 1
invokespecial org.eclipse.jdt.internal.core.util.LRUCache.<init>:(I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 1 1 size I
Signature: (I)Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
MethodParameters:
Name Flags
size
public V peek();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryTable:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
StackMap stack:
aload 2
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.value:Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 4 1 key TK;
1 4 2 entry Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
Signature: (TK;)TV;
MethodParameters:
Name Flags
key
protected void privateAdd(K, V, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
dup
aload 1
aload 2
iload 3
invokespecial org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;I)V
astore 4
start local 4 1: aload 0
aload 4
iconst_0
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.privateAddEntry:(Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;Z)V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 3 1 key TK;
0 3 2 value TV;
0 3 3 space I
1 3 4 entry Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
Signature: (TK;TV;I)V
MethodParameters:
Name Flags
key
value
space
protected void privateAddEntry(org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry<K, V>, );
descriptor: (Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifne 3
1: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryTable:Ljava/util/Hashtable;
aload 1
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.key:Ljava/lang/Object;
aload 1
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
dup
getfield org.eclipse.jdt.internal.core.util.LRUCache.currentSpace:I
aload 1
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.space:I
iadd
putfield org.eclipse.jdt.internal.core.util.LRUCache.currentSpace:I
3: StackMap locals:
StackMap stack:
aload 1
aload 0
dup
getfield org.eclipse.jdt.internal.core.util.LRUCache.timestampCounter:I
dup_x1
iconst_1
iadd
putfield org.eclipse.jdt.internal.core.util.LRUCache.timestampCounter:I
putfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.timestamp:I
4: aload 1
aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueue:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
putfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.next:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
5: aload 1
aconst_null
putfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.previous:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
6: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueue:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
ifnonnull 9
7: aload 0
aload 1
putfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueueTail:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueue:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
aload 1
putfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.previous:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
10: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueue:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 12 1 entry Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
0 12 2 shuffle Z
Signature: (Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;Z)V
MethodParameters:
Name Flags
entry
shuffle
protected void privateRemoveEntry(org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry<K, V>, );
descriptor: (Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.previous:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
astore 3
start local 3 1: aload 1
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.next:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
astore 4
start local 4 2: iload 2
ifne 5
3: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryTable:Ljava/util/Hashtable;
aload 1
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.key:Ljava/lang/Object;
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 0
dup
getfield org.eclipse.jdt.internal.core.util.LRUCache.currentSpace:I
aload 1
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.space:I
isub
putfield org.eclipse.jdt.internal.core.util.LRUCache.currentSpace:I
5: StackMap locals: org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
StackMap stack:
aload 3
ifnonnull 8
6: aload 0
aload 4
putfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueue:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
7: goto 9
8: StackMap locals:
StackMap stack:
aload 3
aload 4
putfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.next:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
9: StackMap locals:
StackMap stack:
aload 4
ifnonnull 12
10: aload 0
aload 3
putfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueueTail:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
11: goto 13
12: StackMap locals:
StackMap stack:
aload 4
aload 3
putfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.previous:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
13: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 14 1 entry Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
0 14 2 shuffle Z
1 14 3 previous Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
2 14 4 next Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
Signature: (Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;Z)V
MethodParameters:
Name Flags
entry
shuffle
public V put(K, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.spaceFor:(Ljava/lang/Object;)I
istore 3
start local 3 1: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryTable:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
astore 6
start local 6 2: aload 6
ifnull 12
3: aload 6
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.space:I
istore 4
start local 4 4: aload 0
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.getCurrentSpace:()I
iload 4
isub
iload 3
iadd
istore 5
start local 5 5: iload 5
aload 0
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.getSpaceLimit:()I
if_icmpgt 11
6: aload 0
aload 6
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.updateTimestamp:(Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;)V
7: aload 6
aload 2
putfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.value:Ljava/lang/Object;
8: aload 6
iload 3
putfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.space:I
9: aload 0
iload 5
putfield org.eclipse.jdt.internal.core.util.LRUCache.currentSpace:I
10: aload 2
areturn
11: StackMap locals: org.eclipse.jdt.internal.core.util.LRUCache java.lang.Object java.lang.Object int int int org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
StackMap stack:
aload 0
aload 6
iconst_0
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.privateRemoveEntry:(Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;Z)V
end local 5 end local 4 12: StackMap locals: org.eclipse.jdt.internal.core.util.LRUCache java.lang.Object java.lang.Object int top top org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
StackMap stack:
aload 0
iload 3
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.makeSpace:(I)Z
ifeq 14
13: aload 0
aload 1
aload 2
iload 3
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.privateAdd:(Ljava/lang/Object;Ljava/lang/Object;I)V
14: StackMap locals:
StackMap stack:
aload 2
areturn
end local 6 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 15 1 key TK;
0 15 2 value TV;
1 15 3 newSpace I
4 12 4 oldSpace I
5 12 5 newTotal I
2 15 6 entry Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
Signature: (TK;TV;)TV;
MethodParameters:
Name Flags
key
value
public V removeKey();
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
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.util.LRUCache.entryTable:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry
StackMap stack:
aload 2
getfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.value:Ljava/lang/Object;
astore 3
start local 3 4: aload 0
aload 2
iconst_0
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.privateRemoveEntry:(Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;Z)V
5: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 6 1 key TK;
1 6 2 entry Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
4 6 3 value TV;
Signature: (TK;)TV;
MethodParameters:
Name Flags
key
public void setSpaceLimit(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.spaceLimit:I
if_icmpge 2
1: aload 0
aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.spaceLimit:I
iload 1
isub
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.makeSpace:(I)Z
pop
2: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield org.eclipse.jdt.internal.core.util.LRUCache.spaceLimit:I
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 4 1 limit I
MethodParameters:
Name Flags
limit
protected int spaceFor();
descriptor: (Ljava/lang/Object;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.eclipse.jdt.internal.core.util.ILRUCacheable
ifeq 2
1: aload 1
checkcast org.eclipse.jdt.internal.core.util.ILRUCacheable
invokeinterface org.eclipse.jdt.internal.core.util.ILRUCacheable.getCacheFootprint:()I
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 3 1 value TV;
Signature: (TV;)I
MethodParameters:
Name Flags
value
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
ldc "LRUCache"
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.toStringFillingRation:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: aload 0
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.toStringContents:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
protected java.lang.String toStringContents();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=8, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 1: new org.eclipse.jdt.internal.core.util.ToStringSorter
dup
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/eclipse/jdt/internal/core/util/LRUCache.lambda$0(Ljava/lang/Object;)Ljava/lang/String; (6)
(Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.eclipse.jdt.internal.core.util.ToStringSorter.<init>:(Ljava/util/function/Function;)V
astore 2
start local 2 2: aload 2
aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryTable:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.keySet:()Ljava/util/Set;
invokevirtual org.eclipse.jdt.internal.core.util.ToStringSorter.sort:(Ljava/util/Collection;)Ljava/util/List;
astore 3
start local 3 3: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals: org.eclipse.jdt.internal.core.util.LRUCache java.lang.StringBuffer org.eclipse.jdt.internal.core.util.ToStringSorter java.util.List top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jdt.internal.core.util.ToStringSorter$Pair
astore 4
start local 4 5: aload 4
getfield org.eclipse.jdt.internal.core.util.ToStringSorter$Pair.string:Ljava/lang/String;
astore 6
start local 6 6: aload 0
aload 4
getfield org.eclipse.jdt.internal.core.util.ToStringSorter$Pair.object:Ljava/lang/Object;
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 7: aload 1
aload 6
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
8: aload 1
ldc " -> "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
9: aload 1
aload 7
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
pop
10: aload 1
ldc "\n"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 7 end local 6 end local 4 11: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
12: aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
1 13 1 result Ljava/lang/StringBuffer;
2 13 2 sorter Lorg/eclipse/jdt/internal/core/util/ToStringSorter<TK;>;
3 13 3 sortedObjects Ljava/util/List<Lorg/eclipse/jdt/internal/core/util/ToStringSorter$Pair<TK;>;>;
5 11 4 pair Lorg/eclipse/jdt/internal/core/util/ToStringSorter$Pair<TK;>;
6 11 6 toString Ljava/lang/String;
7 11 7 value TV;
public java.lang.String toStringFillingRation(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuffer
dup
aload 1
invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: aload 2
bipush 91
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
2: aload 2
aload 0
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.getSpaceLimit:()I
invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
pop
3: aload 2
ldc "]: "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
4: aload 2
invokestatic java.text.NumberFormat.getInstance:()Ljava/text/NumberFormat;
aload 0
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.fillingRatio:()D
invokevirtual java.text.NumberFormat.format:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
5: aload 2
ldc "% full"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
6: aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 7 1 cacheName Ljava/lang/String;
1 7 2 buffer Ljava/lang/StringBuffer;
MethodParameters:
Name Flags
cacheName
protected void updateTimestamp(org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry<K, V>);
descriptor: (Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
dup
getfield org.eclipse.jdt.internal.core.util.LRUCache.timestampCounter:I
dup_x1
iconst_1
iadd
putfield org.eclipse.jdt.internal.core.util.LRUCache.timestampCounter:I
putfield org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry.timestamp:I
1: aload 0
getfield org.eclipse.jdt.internal.core.util.LRUCache.entryQueue:Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;
aload 1
if_acmpeq 4
2: aload 0
aload 1
iconst_1
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.privateRemoveEntry:(Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;Z)V
3: aload 0
aload 1
iconst_1
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.privateAddEntry:(Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry;Z)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jdt/internal/core/util/LRUCache<TK;TV;>;
0 5 1 entry Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;
Signature: (Lorg/eclipse/jdt/internal/core/util/LRUCache$LRUCacheEntry<TK;TV;>;)V
MethodParameters:
Name Flags
entry
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.clone:()Lorg/eclipse/jdt/internal/core/util/LRUCache;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.CloneNotSupportedException
private static java.lang.String lambda$0(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.eclipse.jdt.internal.core.JavaElement
ifeq 1
aload 0
checkcast org.eclipse.jdt.internal.core.JavaElement
invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementName:()Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 o TK;
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/lang/Cloneable;
SourceFile: "LRUCache.java"
NestMembers:
org.eclipse.jdt.internal.core.util.LRUCache$1 org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry org.eclipse.jdt.internal.core.util.LRUCache$Stats
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
org.eclipse.jdt.internal.core.util.LRUCache$1
public LRUCacheEntry = org.eclipse.jdt.internal.core.util.LRUCache$LRUCacheEntry of org.eclipse.jdt.internal.core.util.LRUCache
public Stats = org.eclipse.jdt.internal.core.util.LRUCache$Stats of org.eclipse.jdt.internal.core.util.LRUCache
Pair = org.eclipse.jdt.internal.core.util.ToStringSorter$Pair of org.eclipse.jdt.internal.core.util.ToStringSorter