public class org.aspectj.weaver.tools.cache.SimpleCache
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.aspectj.weaver.tools.cache.SimpleCache
super_class: java.lang.Object
{
private static final java.lang.String SAME_BYTES_STRING;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "IDEM"
private static final byte[] SAME_BYTES;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.util.Map<java.lang.String, byte[]> cacheMap;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;[B>;
private boolean enabled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, byte[]> generatedCache;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;[B>;
private static final java.lang.String GENERATED_CACHE_SUBFOLDER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "panenka.cache"
private static final java.lang.String GENERATED_CACHE_SEPARATOR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: ";"
public static final java.lang.String IMPL_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "shared"
private java.lang.reflect.Method defineClassMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x0002) ACC_PRIVATE
private java.lang.reflect.Method defineClassWithProtectionDomainMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "IDEM"
invokevirtual java.lang.String.getBytes:()[B
putstatic org.aspectj.weaver.tools.cache.SimpleCache.SAME_BYTES:[B
1: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(java.lang.String, boolean);
descriptor: (Ljava/lang/String;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 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield org.aspectj.weaver.tools.cache.SimpleCache.enabled:Z
2: aload 0
aconst_null
putfield org.aspectj.weaver.tools.cache.SimpleCache.defineClassMethod:Ljava/lang/reflect/Method;
3: aload 0
aconst_null
putfield org.aspectj.weaver.tools.cache.SimpleCache.defineClassWithProtectionDomainMethod:Ljava/lang/reflect/Method;
4: aload 0
iload 2
putfield org.aspectj.weaver.tools.cache.SimpleCache.enabled:Z
5: aload 0
aload 1
invokestatic org.aspectj.weaver.tools.cache.SimpleCache$StoreableCachingMap.init:(Ljava/lang/String;)Lorg/aspectj/weaver/tools/cache/SimpleCache$StoreableCachingMap;
invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
putfield org.aspectj.weaver.tools.cache.SimpleCache.cacheMap:Ljava/util/Map;
6: iload 2
ifeq 12
7: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "panenka.cache"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 8: new java.io.File
dup
aload 3
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 4
start local 4 9: aload 4
invokevirtual java.io.File.exists:()Z
ifne 11
10: aload 4
invokevirtual java.io.File.mkdir:()Z
pop
11: StackMap locals: org.aspectj.weaver.tools.cache.SimpleCache java.lang.String int java.lang.String java.io.File
StackMap stack:
aload 0
aload 3
iconst_0
invokestatic org.aspectj.weaver.tools.cache.SimpleCache$StoreableCachingMap.init:(Ljava/lang/String;I)Lorg/aspectj/weaver/tools/cache/SimpleCache$StoreableCachingMap;
invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
putfield org.aspectj.weaver.tools.cache.SimpleCache.generatedCache:Ljava/util/Map;
end local 4 end local 3 12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/aspectj/weaver/tools/cache/SimpleCache;
0 13 1 folder Ljava/lang/String;
0 13 2 enabled Z
8 12 3 generatedCachePath Ljava/lang/String;
9 12 4 f Ljava/io/File;
MethodParameters:
Name Flags
folder
enabled
public byte[] getAndInitialize(java.lang.String, byte[], java.lang.ClassLoader, java.security.ProtectionDomain);
descriptor: (Ljava/lang/String;[BLjava/lang/ClassLoader;Ljava/security/ProtectionDomain;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.enabled:Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.aspectj.weaver.tools.cache.SimpleCache.get:(Ljava/lang/String;[B)[B
astore 5
start local 5 3: getstatic org.aspectj.weaver.tools.cache.SimpleCache.SAME_BYTES:[B
aload 5
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 5
4: aload 2
areturn
5: StackMap locals: byte[]
StackMap stack:
aload 5
ifnull 7
6: aload 0
aload 1
aload 5
aload 3
aload 4
invokevirtual org.aspectj.weaver.tools.cache.SimpleCache.initializeClass:(Ljava/lang/String;[BLjava/lang/ClassLoader;Ljava/security/ProtectionDomain;)V
7: StackMap locals:
StackMap stack:
aload 5
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 8 0 this Lorg/aspectj/weaver/tools/cache/SimpleCache;
0 8 1 classname Ljava/lang/String;
0 8 2 bytes [B
0 8 3 loader Ljava/lang/ClassLoader;
0 8 4 protectionDomain Ljava/security/ProtectionDomain;
3 8 5 res [B
MethodParameters:
Name Flags
classname
bytes
loader
protectionDomain
private byte[] get(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.aspectj.weaver.tools.cache.SimpleCache.generateKey:(Ljava/lang/String;[B)Ljava/lang/String;
astore 3
start local 3 1: aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.cacheMap:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 4
start local 4 2: 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 3 0 this Lorg/aspectj/weaver/tools/cache/SimpleCache;
0 3 1 classname Ljava/lang/String;
0 3 2 bytes [B
1 3 3 key Ljava/lang/String;
2 3 4 res [B
MethodParameters:
Name Flags
classname
bytes
public void put(java.lang.String, byte[], byte[]);
descriptor: (Ljava/lang/String;[B[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.enabled:Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.aspectj.weaver.tools.cache.SimpleCache.generateKey:(Ljava/lang/String;[B)Ljava/lang/String;
astore 4
start local 4 3: aload 2
aload 3
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 6
4: aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.cacheMap:Ljava/util/Map;
aload 4
getstatic org.aspectj.weaver.tools.cache.SimpleCache.SAME_BYTES:[B
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: return
6: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.cacheMap:Ljava/util/Map;
aload 4
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/aspectj/weaver/tools/cache/SimpleCache;
0 8 1 classname Ljava/lang/String;
0 8 2 origbytes [B
0 8 3 wovenbytes [B
3 8 4 key Ljava/lang/String;
MethodParameters:
Name Flags
classname
origbytes
wovenbytes
private java.lang.String generateKey(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.util.zip.CRC32
dup
invokespecial java.util.zip.CRC32.<init>:()V
astore 3
start local 3 1: aload 3
aload 2
invokevirtual java.util.zip.CRC32.update:([B)V
2: aload 3
invokevirtual java.util.zip.CRC32.getValue:()J
lstore 4
start local 4 3: aload 1
ldc "/"
ldc "."
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 1
4: new java.lang.String
dup
new java.lang.StringBuilder
dup
aload 1
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;
lload 4
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/aspectj/weaver/tools/cache/SimpleCache;
0 5 1 classname Ljava/lang/String;
0 5 2 bytes [B
1 5 3 checksum Ljava/util/zip/CRC32;
3 5 4 crc J
MethodParameters:
Name Flags
classname
bytes
private void initializeClass(java.lang.String, byte[], java.lang.ClassLoader, java.security.ProtectionDomain);
descriptor: (Ljava/lang/String;[BLjava/lang/ClassLoader;Ljava/security/ProtectionDomain;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
invokevirtual org.aspectj.weaver.tools.cache.SimpleCache.getGeneratedClassesNames:(Ljava/lang/String;[B)[Ljava/lang/String;
astore 5
start local 5 1: aload 5
ifnonnull 3
2: return
3: StackMap locals: java.lang.String[]
StackMap stack:
aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 13
StackMap locals: org.aspectj.weaver.tools.cache.SimpleCache java.lang.String byte[] java.lang.ClassLoader java.security.ProtectionDomain java.lang.String[] top int int java.lang.String[]
StackMap stack:
4: aload 9
iload 7
aaload
astore 6
start local 6 5: aload 0
aload 6
aload 2
invokevirtual org.aspectj.weaver.tools.cache.SimpleCache.get:(Ljava/lang/String;[B)[B
astore 10
start local 10 6: aload 4
ifnonnull 9
7: aload 0
aload 3
aload 6
aload 10
invokevirtual org.aspectj.weaver.tools.cache.SimpleCache.defineClass:(Ljava/lang/ClassLoader;Ljava/lang/String;[B)V
8: goto 12
9: StackMap locals: org.aspectj.weaver.tools.cache.SimpleCache java.lang.String byte[] java.lang.ClassLoader java.security.ProtectionDomain java.lang.String[] java.lang.String int int java.lang.String[] byte[]
StackMap stack:
aload 0
aload 3
aload 6
aload 10
10: aload 4
11: invokevirtual org.aspectj.weaver.tools.cache.SimpleCache.defineClass:(Ljava/lang/ClassLoader;Ljava/lang/String;[BLjava/security/ProtectionDomain;)V
end local 10 end local 6 12: StackMap locals: org.aspectj.weaver.tools.cache.SimpleCache java.lang.String byte[] java.lang.ClassLoader java.security.ProtectionDomain java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
13: iload 7
iload 8
if_icmplt 4
14: return
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 15 0 this Lorg/aspectj/weaver/tools/cache/SimpleCache;
0 15 1 className Ljava/lang/String;
0 15 2 bytes [B
0 15 3 loader Ljava/lang/ClassLoader;
0 15 4 protectionDomain Ljava/security/ProtectionDomain;
1 15 5 generatedClassesNames [Ljava/lang/String;
5 12 6 generatedClassName Ljava/lang/String;
6 12 10 generatedBytes [B
MethodParameters:
Name Flags
className
bytes
loader
protectionDomain
private java.lang.String[] getGeneratedClassesNames(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.aspectj.weaver.tools.cache.SimpleCache.generateKey:(Ljava/lang/String;[B)Ljava/lang/String;
astore 3
start local 3 1: aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.generatedCache:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 4
start local 4 2: aload 4
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: java.lang.String byte[]
StackMap stack:
new java.lang.String
dup
aload 4
invokespecial java.lang.String.<init>:([B)V
astore 5
start local 5 5: aload 5
ldc ";"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
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 6 0 this Lorg/aspectj/weaver/tools/cache/SimpleCache;
0 6 1 className Ljava/lang/String;
0 6 2 bytes [B
1 6 3 key Ljava/lang/String;
2 6 4 readBytes [B
5 6 5 readString Ljava/lang/String;
MethodParameters:
Name Flags
className
bytes
public void addGeneratedClassesNames(java.lang.String, byte[], java.lang.String);
descriptor: (Ljava/lang/String;[BLjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.enabled:Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.aspectj.weaver.tools.cache.SimpleCache.generateKey:(Ljava/lang/String;[B)Ljava/lang/String;
astore 4
start local 4 3: aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.generatedCache:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 5
start local 5 4: aload 5
ifnonnull 7
5: aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.generatedCache:Ljava/util/Map;
aload 4
aload 3
invokevirtual java.lang.String.getBytes:()[B
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: goto 10
7: StackMap locals: java.lang.String byte[]
StackMap stack:
new java.lang.String
dup
aload 5
invokespecial java.lang.String.<init>:([B)V
astore 6
start local 6 8: new java.lang.StringBuilder
dup
aload 6
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 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
9: aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.generatedCache:Ljava/util/Map;
aload 4
aload 6
invokevirtual java.lang.String.getBytes:()[B
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 10: StackMap locals:
StackMap stack:
return
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 11 0 this Lorg/aspectj/weaver/tools/cache/SimpleCache;
0 11 1 parentClassName Ljava/lang/String;
0 11 2 parentBytes [B
0 11 3 generatedClassName Ljava/lang/String;
3 11 4 key Ljava/lang/String;
4 11 5 storedBytes [B
8 10 6 storedClasses Ljava/lang/String;
MethodParameters:
Name Flags
parentClassName
parentBytes
generatedClassName
private void defineClass(java.lang.ClassLoader, java.lang.String, byte[]);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;[B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.defineClassMethod:Ljava/lang/reflect/Method;
ifnonnull 5
1: aload 0
ldc Ljava/lang/ClassLoader;
2: ldc "defineClass"
iconst_4
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
3: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
dup
iconst_2
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
dup
iconst_3
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
4: invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
putfield org.aspectj.weaver.tools.cache.SimpleCache.defineClassMethod:Ljava/lang/reflect/Method;
5: StackMap locals:
StackMap stack:
aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.defineClassMethod:Ljava/lang/reflect/Method;
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
6: aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.defineClassMethod:Ljava/lang/reflect/Method;
aload 1
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
7: aload 3
aastore
dup
iconst_2
new java.lang.Integer
dup
iconst_0
invokespecial java.lang.Integer.<init>:(I)V
aastore
dup
iconst_3
new java.lang.Integer
dup
aload 3
arraylength
invokespecial java.lang.Integer.<init>:(I)V
aastore
8: invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
9: goto 21
StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
10: astore 4
start local 4 11: aload 4
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
instanceof java.lang.LinkageError
ifeq 14
12: aload 4
invokevirtual java.lang.reflect.InvocationTargetException.printStackTrace:()V
13: goto 21
14: StackMap locals: java.lang.reflect.InvocationTargetException
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "define generated class failed"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: aload 4
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 17: goto 21
18: StackMap locals: org.aspectj.weaver.tools.cache.SimpleCache java.lang.ClassLoader java.lang.String byte[]
StackMap stack: java.lang.Exception
astore 4
start local 4 19: aload 4
invokevirtual java.lang.Exception.printStackTrace:()V
20: aload 4
invokestatic org.aspectj.weaver.Dump.dumpWithException:(Ljava/lang/Throwable;)Ljava/lang/String;
pop
end local 4 21: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/aspectj/weaver/tools/cache/SimpleCache;
0 22 1 loader Ljava/lang/ClassLoader;
0 22 2 name Ljava/lang/String;
0 22 3 bytes [B
11 17 4 e Ljava/lang/reflect/InvocationTargetException;
19 21 4 e Ljava/lang/Exception;
Exception table:
from to target type
0 9 10 Class java.lang.reflect.InvocationTargetException
0 9 18 Class java.lang.Exception
MethodParameters:
Name Flags
loader
name
bytes
private void defineClass(java.lang.ClassLoader, java.lang.String, byte[], java.security.ProtectionDomain);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;[BLjava/security/ProtectionDomain;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.defineClassWithProtectionDomainMethod:Ljava/lang/reflect/Method;
ifnonnull 7
1: aload 0
ldc Ljava/lang/ClassLoader;
2: ldc "defineClass"
iconst_5
anewarray java.lang.Class
dup
iconst_0
3: ldc Ljava/lang/String;
aastore
dup
iconst_1
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
dup
iconst_2
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
dup
iconst_3
4: getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
dup
iconst_4
ldc Ljava/security/ProtectionDomain;
aastore
5: invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
6: putfield org.aspectj.weaver.tools.cache.SimpleCache.defineClassWithProtectionDomainMethod:Ljava/lang/reflect/Method;
7: StackMap locals:
StackMap stack:
aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.defineClassWithProtectionDomainMethod:Ljava/lang/reflect/Method;
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
8: aload 0
getfield org.aspectj.weaver.tools.cache.SimpleCache.defineClassWithProtectionDomainMethod:Ljava/lang/reflect/Method;
aload 1
9: iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
10: new java.lang.Integer
dup
aload 3
arraylength
invokespecial java.lang.Integer.<init>:(I)V
aastore
dup
iconst_4
aload 4
aastore
11: invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
12: goto 24
StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
13: astore 5
start local 5 14: aload 5
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
instanceof java.lang.LinkageError
ifeq 17
15: aload 5
invokevirtual java.lang.reflect.InvocationTargetException.printStackTrace:()V
16: goto 24
17: StackMap locals: java.lang.reflect.InvocationTargetException
StackMap stack:
aload 5
invokevirtual java.lang.reflect.InvocationTargetException.printStackTrace:()V
end local 5 18: goto 24
19: StackMap locals: org.aspectj.weaver.tools.cache.SimpleCache java.lang.ClassLoader java.lang.String byte[] java.security.ProtectionDomain
StackMap stack: java.lang.NullPointerException
pop
20: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "NullPointerException loading class:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ". Probabily caused by a corruput cache. Please clean it and reboot the server"
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
goto 24
21: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 22: aload 5
invokevirtual java.lang.Exception.printStackTrace:()V
23: aload 5
invokestatic org.aspectj.weaver.Dump.dumpWithException:(Ljava/lang/Throwable;)Ljava/lang/String;
pop
end local 5 24: 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 25 0 this Lorg/aspectj/weaver/tools/cache/SimpleCache;
0 25 1 loader Ljava/lang/ClassLoader;
0 25 2 name Ljava/lang/String;
0 25 3 bytes [B
0 25 4 protectionDomain Ljava/security/ProtectionDomain;
14 18 5 e Ljava/lang/reflect/InvocationTargetException;
22 24 5 e Ljava/lang/Exception;
Exception table:
from to target type
0 12 13 Class java.lang.reflect.InvocationTargetException
0 12 19 Class java.lang.NullPointerException
0 12 21 Class java.lang.Exception
MethodParameters:
Name Flags
loader
name
bytes
protectionDomain
}
SourceFile: "SimpleCache.java"
NestMembers:
org.aspectj.weaver.tools.cache.SimpleCache$StoreableCachingMap
InnerClasses:
private StoreableCachingMap = org.aspectj.weaver.tools.cache.SimpleCache$StoreableCachingMap of org.aspectj.weaver.tools.cache.SimpleCache