public abstract class org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking extends org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking
super_class: org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking
{
private static final java.util.concurrent.BlockingQueue<org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$AsyncCommand> commandsQ;
descriptor: Ljava/util/concurrent/BlockingQueue;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/BlockingQueue<Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$AsyncCommand;>;
private static final java.util.concurrent.ExecutorService execService;
descriptor: Ljava/util/concurrent/ExecutorService;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static java.util.concurrent.Future<?> commandsRunner;
descriptor: Ljava/util/concurrent/Future;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/concurrent/Future<*>;
protected final java.util.Map<java.lang.String, org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry> index;
descriptor: Ljava/util/Map;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry;>;
protected final java.util.Map<java.lang.String, org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry> exposedIndex;
descriptor: Ljava/util/Map;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry;>;
protected final java.util.Map<java.lang.String, byte[]> bytesMap;
descriptor: Ljava/util/Map;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;[B>;
protected final java.util.Map<java.lang.String, byte[]> exposedBytes;
descriptor: Ljava/util/Map;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;[B>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.concurrent.LinkedBlockingQueue
dup
invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:()V
putstatic org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.commandsQ:Ljava/util/concurrent/BlockingQueue;
1: invokestatic java.util.concurrent.Executors.newSingleThreadExecutor:()Ljava/util/concurrent/ExecutorService;
putstatic org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.execService:Ljava/util/concurrent/ExecutorService;
2: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking.<init>:(Ljava/io/File;)V
1: aload 0
aload 0
aload 1
aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getIndexFile:()Ljava/io/File;
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.readIndex:(Ljava/io/File;Ljava/io/File;)Ljava/util/Map;
putfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
2: aload 0
aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
putfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.exposedIndex:Ljava/util/Map;
3: aload 0
aload 0
aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
aload 1
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.readClassBytes:(Ljava/util/Map;Ljava/io/File;)Ljava/util/Map;
putfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.bytesMap:Ljava/util/Map;
4: aload 0
aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.bytesMap:Ljava/util/Map;
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
putfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.exposedBytes:Ljava/util/Map;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
0 6 1 cacheDir Ljava/io/File;
MethodParameters:
Name Flags
cacheDir
protected java.util.Map<java.lang.String, org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry> getIndex();
descriptor: ()Ljava/util/Map;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry;>;
public org.aspectj.weaver.tools.cache.CachedClassEntry get(org.aspectj.weaver.tools.cache.CachedClassReference, byte[]);
descriptor: (Lorg/aspectj/weaver/tools/cache/CachedClassReference;[B)Lorg/aspectj/weaver/tools/cache/CachedClassEntry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.aspectj.weaver.tools.cache.CachedClassReference.getKey:()Ljava/lang/String;
astore 3
start local 3 1: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
dup
astore 5
monitorenter
2: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry
dup
astore 4
start local 4 3: ifnonnull 6
4: aload 5
monitorexit
5: aconst_null
areturn
6: StackMap locals: java.lang.String org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry java.util.Map
StackMap stack:
aload 5
monitorexit
7: goto 10
end local 4 StackMap locals: org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking org.aspectj.weaver.tools.cache.CachedClassReference byte[] java.lang.String top java.util.Map
StackMap stack: java.lang.Throwable
8: aload 5
monitorexit
9: athrow
start local 4 10: StackMap locals: org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking org.aspectj.weaver.tools.cache.CachedClassReference byte[] java.lang.String org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry
StackMap stack:
aload 2
invokestatic org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.crc:([B)J
aload 4
getfield org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry.crcClass:J
lcmp
ifeq 15
11: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
ifnull 13
aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 13
12: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
new java.lang.StringBuilder
dup
ldc "get("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getCacheDirectory:()Ljava/io/File;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") mismatched original class bytes CRC for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.aspectj.weaver.tools.Trace.debug:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.remove:(Ljava/lang/String;)Lorg/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry;
pop
14: aconst_null
areturn
15: StackMap locals:
StackMap stack:
aload 4
getfield org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry.ignored:Z
ifeq 17
16: new org.aspectj.weaver.tools.cache.CachedClassEntry
dup
aload 1
getstatic org.aspectj.weaver.tools.cache.WeavedClassCache.ZERO_BYTES:[B
getstatic org.aspectj.weaver.tools.cache.CachedClassEntry$EntryType.IGNORED:Lorg/aspectj/weaver/tools/cache/CachedClassEntry$EntryType;
invokespecial org.aspectj.weaver.tools.cache.CachedClassEntry.<init>:(Lorg/aspectj/weaver/tools/cache/CachedClassReference;[BLorg/aspectj/weaver/tools/cache/CachedClassEntry$EntryType;)V
areturn
17: StackMap locals:
StackMap stack:
aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.bytesMap:Ljava/util/Map;
dup
astore 6
monitorenter
18: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.bytesMap:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
dup
astore 5
start local 5 19: ifnonnull 22
20: aload 6
monitorexit
21: aconst_null
areturn
22: StackMap locals: byte[] java.util.Map
StackMap stack:
aload 6
monitorexit
23: goto 26
end local 5 StackMap locals: org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking org.aspectj.weaver.tools.cache.CachedClassReference byte[] java.lang.String org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry top java.util.Map
StackMap stack: java.lang.Throwable
24: aload 6
monitorexit
25: athrow
start local 5 26: StackMap locals: org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking org.aspectj.weaver.tools.cache.CachedClassReference byte[] java.lang.String org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry byte[]
StackMap stack:
aload 4
getfield org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry.generated:Z
ifeq 28
27: new org.aspectj.weaver.tools.cache.CachedClassEntry
dup
aload 1
aload 5
getstatic org.aspectj.weaver.tools.cache.CachedClassEntry$EntryType.GENERATED:Lorg/aspectj/weaver/tools/cache/CachedClassEntry$EntryType;
invokespecial org.aspectj.weaver.tools.cache.CachedClassEntry.<init>:(Lorg/aspectj/weaver/tools/cache/CachedClassReference;[BLorg/aspectj/weaver/tools/cache/CachedClassEntry$EntryType;)V
areturn
28: StackMap locals:
StackMap stack:
new org.aspectj.weaver.tools.cache.CachedClassEntry
dup
aload 1
aload 5
getstatic org.aspectj.weaver.tools.cache.CachedClassEntry$EntryType.WEAVED:Lorg/aspectj/weaver/tools/cache/CachedClassEntry$EntryType;
invokespecial org.aspectj.weaver.tools.cache.CachedClassEntry.<init>:(Lorg/aspectj/weaver/tools/cache/CachedClassReference;[BLorg/aspectj/weaver/tools/cache/CachedClassEntry$EntryType;)V
areturn
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/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
0 29 1 ref Lorg/aspectj/weaver/tools/cache/CachedClassReference;
0 29 2 originalBytes [B
1 29 3 key Ljava/lang/String;
3 8 4 indexEntry Lorg/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry;
10 29 4 indexEntry Lorg/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry;
19 24 5 bytes [B
26 29 5 bytes [B
Exception table:
from to target type
2 5 8 any
6 7 8 any
8 9 8 any
18 21 24 any
22 23 24 any
24 25 24 any
MethodParameters:
Name Flags
ref
originalBytes
public void put(org.aspectj.weaver.tools.cache.CachedClassEntry, byte[]);
descriptor: (Lorg/aspectj/weaver/tools/cache/CachedClassEntry;[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.aspectj.weaver.tools.cache.CachedClassEntry.getKey:()Ljava/lang/String;
astore 3
start local 3 1: aload 1
invokevirtual org.aspectj.weaver.tools.cache.CachedClassEntry.isIgnored:()Z
ifeq 2
aconst_null
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: aload 1
invokevirtual org.aspectj.weaver.tools.cache.CachedClassEntry.getBytes:()[B
StackMap locals:
StackMap stack: byte[]
3: astore 4
start local 4 4: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
dup
astore 5
monitorenter
5: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry
astore 6
start local 6 6: aload 6
ifnull 9
7: aload 5
monitorexit
8: return
9: StackMap locals: byte[] java.util.Map org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry
StackMap stack:
aload 1
aload 2
invokestatic org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.createIndexEntry:(Lorg/aspectj/weaver/tools/cache/CachedClassEntry;[B)Lorg/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry;
astore 6
10: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
aload 3
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 11: aload 5
monitorexit
12: goto 15
StackMap locals: org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking org.aspectj.weaver.tools.cache.CachedClassEntry byte[] java.lang.String byte[] java.util.Map
StackMap stack: java.lang.Throwable
13: aload 5
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
new org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$InsertCommand
dup
aload 0
aload 3
aload 4
invokespecial org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$InsertCommand.<init>:(Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;Ljava/lang/String;[B)V
invokestatic org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.postCacheCommand:(Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$AsyncCommand;)Z
ifne 18
16: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
ifnull 18
aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 18
17: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
new java.lang.StringBuilder
dup
ldc "put("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getCacheDirectory:()Ljava/io/File;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") Failed to post insert command for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.aspectj.weaver.tools.Trace.error:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
ifnull 20
aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 20
19: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
new java.lang.StringBuilder
dup
ldc "put("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getCacheDirectory:()Ljava/io/File;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] inserted"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.aspectj.weaver.tools.Trace.debug:(Ljava/lang/String;)V
20: 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 21 0 this Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
0 21 1 entry Lorg/aspectj/weaver/tools/cache/CachedClassEntry;
0 21 2 originalBytes [B
1 21 3 key Ljava/lang/String;
4 21 4 bytes [B
6 11 6 indexEntry Lorg/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry;
Exception table:
from to target type
5 8 13 any
9 12 13 any
13 14 13 any
MethodParameters:
Name Flags
entry
originalBytes
public void remove(org.aspectj.weaver.tools.cache.CachedClassReference);
descriptor: (Lorg/aspectj/weaver/tools/cache/CachedClassReference;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.aspectj.weaver.tools.cache.CachedClassReference.getKey:()Ljava/lang/String;
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.remove:(Ljava/lang/String;)Lorg/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
0 2 1 ref Lorg/aspectj/weaver/tools/cache/CachedClassReference;
MethodParameters:
Name Flags
ref
protected org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry remove(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
dup
astore 3
monitorenter
1: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry
astore 2
start local 2 2: aload 3
monitorexit
3: goto 6
end local 2 StackMap locals: org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking java.lang.String top java.util.Map
StackMap stack: java.lang.Throwable
4: aload 3
monitorexit
5: athrow
start local 2 6: StackMap locals: org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking java.lang.String org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry
StackMap stack:
aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.bytesMap:Ljava/util/Map;
dup
astore 3
monitorenter
7: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.bytesMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 3
monitorexit
9: goto 12
StackMap locals: org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking java.lang.String org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry java.util.Map
StackMap stack: java.lang.Throwable
10: aload 3
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
new org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$RemoveCommand
dup
aload 0
aload 1
invokespecial org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$RemoveCommand.<init>:(Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;Ljava/lang/String;)V
invokestatic org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.postCacheCommand:(Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$AsyncCommand;)Z
ifne 15
13: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
ifnull 15
aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 15
14: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
new java.lang.StringBuilder
dup
ldc "remove("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getCacheDirectory:()Ljava/io/File;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") Failed to post remove command for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.aspectj.weaver.tools.Trace.error:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
aload 2
ifnull 22
16: aload 1
aload 2
getfield org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry.key:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
17: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
ifnull 22
aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 22
18: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
new java.lang.StringBuilder
dup
ldc "remove("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getCacheDirectory:()Ljava/io/File;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") Mismatched keys: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " / "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
getfield org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry.key:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.aspectj.weaver.tools.Trace.error:(Ljava/lang/String;)V
19: goto 22
StackMap locals:
StackMap stack:
20: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
ifnull 22
aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 22
21: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
new java.lang.StringBuilder
dup
ldc "remove("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getCacheDirectory:()Ljava/io/File;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] removed"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.aspectj.weaver.tools.Trace.debug:(Ljava/lang/String;)V
22: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
0 23 1 key Ljava/lang/String;
2 4 2 entry Lorg/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry;
6 23 2 entry Lorg/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry;
Exception table:
from to target type
1 3 4 any
4 5 4 any
7 9 10 any
10 11 10 any
MethodParameters:
Name Flags
key
public java.util.List<org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry> getIndexEntries();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
dup
astore 1
monitorenter
1: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifeq 4
2: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
aload 1
monitorexit
3: areturn
4: StackMap locals: java.util.Map
StackMap stack:
new java.util.ArrayList
dup
aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
aload 1
monitorexit
5: areturn
6: StackMap locals:
StackMap stack: java.lang.Throwable
aload 1
monitorexit
7: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
Exception table:
from to target type
1 3 6 any
4 5 6 any
6 7 6 any
Signature: ()Ljava/util/List<Lorg/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry;>;
public java.util.Map<java.lang.String, org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry> getIndexMap();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.exposedIndex:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry;>;
public java.util.Map<java.lang.String, byte[]> getBytesMap();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.exposedBytes:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
Signature: ()Ljava/util/Map<Ljava/lang/String;[B>;
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
dup
astore 1
monitorenter
1: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.index:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
2: aload 1
monitorexit
3: goto 6
StackMap locals: org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking java.util.Map
StackMap stack: java.lang.Throwable
4: aload 1
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
new org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$ClearCommand
dup
aload 0
invokespecial org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$ClearCommand.<init>:(Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;)V
invokestatic org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.postCacheCommand:(Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$AsyncCommand;)Z
ifne 9
7: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
ifnull 9
aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 9
8: aload 0
getfield org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.logger:Lorg/aspectj/weaver/tools/Trace;
new java.lang.StringBuilder
dup
ldc "Failed to post clear command for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getIndexFile:()Ljava/io/File;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.aspectj.weaver.tools.Trace.error:(Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
Exception table:
from to target type
1 3 4 any
4 5 4 any
protected void executeCommand(org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$AsyncCommand);
descriptor: (Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$AsyncCommand;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$ClearCommand
ifeq 3
1: aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.executeClearCommand:()V
2: goto 13
StackMap locals:
StackMap stack:
3: aload 1
instanceof org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$UpdateIndexCommand
ifeq 6
4: aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.executeUpdateIndexCommand:()V
5: goto 13
StackMap locals:
StackMap stack:
6: aload 1
instanceof org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$InsertCommand
ifeq 9
7: aload 0
aload 1
checkcast org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$InsertCommand
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.executeInsertCommand:(Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$InsertCommand;)V
8: goto 13
StackMap locals:
StackMap stack:
9: aload 1
instanceof org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$RemoveCommand
ifeq 12
10: aload 0
aload 1
checkcast org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$RemoveCommand
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.executeRemoveCommand:(Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$RemoveCommand;)V
11: goto 13
12: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "Unknown command: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
0 14 1 cmd Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$AsyncCommand;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
cmd
protected void executeClearCommand();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getIndexFile:()Ljava/io/File;
invokestatic org.aspectj.util.FileUtil.deleteContents:(Ljava/io/File;)I
pop
1: aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getCacheDirectory:()Ljava/io/File;
invokestatic org.aspectj.util.FileUtil.deleteContents:(Ljava/io/File;)I
pop
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
Exceptions:
throws java.lang.Exception
protected void executeUpdateIndexCommand();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getIndexFile:()Ljava/io/File;
aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getIndexEntries:()Ljava/util/List;
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.writeIndex:(Ljava/io/File;Ljava/util/Collection;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
Exceptions:
throws java.lang.Exception
protected void executeInsertCommand(org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$InsertCommand);
descriptor: (Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$InsertCommand;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getIndexFile:()Ljava/io/File;
aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getIndexEntries:()Ljava/util/List;
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.writeIndex:(Ljava/io/File;Ljava/util/Collection;)V
1: aload 1
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$InsertCommand.getClassBytes:()[B
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 0
aload 1
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$InsertCommand.getKey:()Ljava/lang/String;
aload 2
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.writeClassBytes:(Ljava/lang/String;[B)V
4: StackMap locals: byte[]
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
0 5 1 cmd Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$InsertCommand;
2 5 2 bytes [B
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
cmd
protected void executeRemoveCommand(org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$RemoveCommand);
descriptor: (Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$RemoveCommand;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
aload 1
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$RemoveCommand.getKey:()Ljava/lang/String;
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.removeClassBytes:(Ljava/lang/String;)V
2: goto 5
StackMap locals: org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$RemoveCommand java.lang.Exception
StackMap stack: java.lang.Exception
3: astore 3
start local 3 4: aload 3
astore 2
end local 3 5: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getIndexFile:()Ljava/io/File;
aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getIndexEntries:()Ljava/util/List;
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.writeIndex:(Ljava/io/File;Ljava/util/Collection;)V
6: aload 2
ifnull 8
7: aload 2
athrow
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
0 9 1 cmd Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$RemoveCommand;
1 9 2 err Ljava/lang/Exception;
4 5 3 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
cmd
protected abstract void removeClassBytes(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
key
protected abstract java.util.Map<java.lang.String, byte[]> readClassBytes(java.util.Map<java.lang.String, org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry>, java.io.File);
descriptor: (Ljava/util/Map;Ljava/io/File;)Ljava/util/Map;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/aspectj/weaver/tools/cache/AbstractIndexedFileCacheBacking$IndexEntry;>;Ljava/io/File;)Ljava/util/Map<Ljava/lang/String;[B>;
MethodParameters:
Name Flags
indexMap
cacheDir
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.getCacheDirectory:()Ljava/io/File;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)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;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
protected static final <T extends org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking> T createBacking(java.io.File, org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$AsynchronousFileCacheBackingCreator<T>);
descriptor: (Ljava/io/File;Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$AsynchronousFileCacheBackingCreator;)Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: invokestatic org.aspectj.weaver.tools.TraceFactory.getTraceFactory:()Lorg/aspectj/weaver/tools/TraceFactory;
ldc Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
invokevirtual org.aspectj.weaver.tools.TraceFactory.getTrace:(Ljava/lang/Class;)Lorg/aspectj/weaver/tools/Trace;
astore 2
start local 2 1: aload 0
invokevirtual java.io.File.exists:()Z
ifne 6
2: aload 0
invokevirtual java.io.File.mkdirs:()Z
ifne 6
3: aload 2
ifnull 5
aload 2
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 5
4: aload 2
new java.lang.StringBuilder
dup
ldc "Unable to create cache directory at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.aspectj.weaver.tools.Trace.error:(Ljava/lang/String;)V
5: StackMap locals: org.aspectj.weaver.tools.Trace
StackMap stack:
aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.File.canWrite:()Z
ifne 10
7: aload 2
ifnull 9
aload 2
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 9
8: aload 2
new java.lang.StringBuilder
dup
ldc "Cache directory is not writable at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.aspectj.weaver.tools.Trace.error:(Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
aconst_null
areturn
10: StackMap locals:
StackMap stack:
aload 1
aload 0
invokeinterface org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$AsynchronousFileCacheBackingCreator.create:(Ljava/io/File;)Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;
astore 3
start local 3 11: getstatic org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.execService:Ljava/util/concurrent/ExecutorService;
dup
astore 4
monitorenter
12: getstatic org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.commandsRunner:Ljava/util/concurrent/Future;
ifnonnull 14
13: getstatic org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.execService:Ljava/util/concurrent/ExecutorService;
new org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$1
dup
aload 2
invokespecial org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$1.<init>:(Lorg/aspectj/weaver/tools/Trace;)V
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
putstatic org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.commandsRunner:Ljava/util/concurrent/Future;
14: StackMap locals: org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking java.util.concurrent.ExecutorService
StackMap stack:
aload 4
monitorexit
15: goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
16: aload 4
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
new org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$UpdateIndexCommand
dup
aload 3
invokespecial org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$UpdateIndexCommand.<init>:(Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;)V
invokestatic org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.postCacheCommand:(Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$AsyncCommand;)Z
ifne 21
19: aload 2
ifnull 21
aload 2
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 21
20: aload 2
new java.lang.StringBuilder
dup
ldc "Failed to offer update index command to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.aspectj.weaver.tools.Trace.warn:(Ljava/lang/String;)V
21: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 cacheDir Ljava/io/File;
0 22 1 creator Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$AsynchronousFileCacheBackingCreator<TT;>;
1 22 2 trace Lorg/aspectj/weaver/tools/Trace;
11 22 3 backing TT;
Exception table:
from to target type
12 15 16 any
16 17 16 any
Signature: <T:Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking;>(Ljava/io/File;Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$AsynchronousFileCacheBackingCreator<TT;>;)TT;
MethodParameters:
Name Flags
cacheDir
creator
public static final boolean postCacheCommand(org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$AsyncCommand);
descriptor: (Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$AsyncCommand;)Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking.commandsQ:Ljava/util/concurrent/BlockingQueue;
aload 0
invokeinterface java.util.concurrent.BlockingQueue.offer:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cmd Lorg/aspectj/weaver/tools/cache/AsynchronousFileCacheBacking$AsyncCommand;
MethodParameters:
Name Flags
cmd
}
SourceFile: "AsynchronousFileCacheBacking.java"
NestMembers:
org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$1 org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$AbstractCommand org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$AsyncCommand org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$AsynchronousFileCacheBackingCreator org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$ClearCommand org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$InsertCommand org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$KeyedCommand org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$RemoveCommand org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$UpdateIndexCommand
InnerClasses:
public IndexEntry = org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking$IndexEntry of org.aspectj.weaver.tools.cache.AbstractIndexedFileCacheBacking
org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$1
public abstract AbstractCommand = org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$AbstractCommand of org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking
public abstract AsyncCommand = org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$AsyncCommand of org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking
public abstract AsynchronousFileCacheBackingCreator = org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$AsynchronousFileCacheBackingCreator of org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking
public ClearCommand = org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$ClearCommand of org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking
public InsertCommand = org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$InsertCommand of org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking
public abstract KeyedCommand = org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$KeyedCommand of org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking
public RemoveCommand = org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$RemoveCommand of org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking
public UpdateIndexCommand = org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking$UpdateIndexCommand of org.aspectj.weaver.tools.cache.AsynchronousFileCacheBacking
final EntryType = org.aspectj.weaver.tools.cache.CachedClassEntry$EntryType of org.aspectj.weaver.tools.cache.CachedClassEntry