public class org.aspectj.weaver.loadtime.Aj implements org.aspectj.weaver.loadtime.ClassPreProcessor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.aspectj.weaver.loadtime.Aj
super_class: java.lang.Object
{
private org.aspectj.weaver.loadtime.IWeavingContext weavingContext;
descriptor: Lorg/aspectj/weaver/loadtime/IWeavingContext;
flags: (0x0002) ACC_PRIVATE
public static org.aspectj.weaver.tools.cache.SimpleCache laCache;
descriptor: Lorg/aspectj/weaver/tools/cache/SimpleCache;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
private static java.lang.ref.ReferenceQueue adaptorQueue;
descriptor: Ljava/lang/ref/ReferenceQueue;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static org.aspectj.weaver.tools.Trace trace;
descriptor: Lorg/aspectj/weaver/tools/Trace;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.lang.String deleLoader;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "sun.reflect.DelegatingClassLoader"
private static final java.lang.String deleLoader2;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jdk.internal.reflect.DelegatingClassLoader"
public static java.util.List<java.lang.String> loadersToSkip;
descriptor: Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Signature: Ljava/util/List<Ljava/lang/String;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=0
0: invokestatic org.aspectj.weaver.tools.cache.SimpleCacheFactory.createSimpleCache:()Lorg/aspectj/weaver/tools/cache/SimpleCache;
putstatic org.aspectj.weaver.loadtime.Aj.laCache:Lorg/aspectj/weaver/tools/cache/SimpleCache;
1: new java.lang.ref.ReferenceQueue
dup
invokespecial java.lang.ref.ReferenceQueue.<init>:()V
putstatic org.aspectj.weaver.loadtime.Aj.adaptorQueue:Ljava/lang/ref/ReferenceQueue;
2: invokestatic org.aspectj.weaver.tools.TraceFactory.getTraceFactory:()Lorg/aspectj/weaver/tools/TraceFactory;
ldc Lorg/aspectj/weaver/loadtime/Aj;
invokevirtual org.aspectj.weaver.tools.TraceFactory.getTrace:(Ljava/lang/Class;)Lorg/aspectj/weaver/tools/Trace;
putstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
3: aconst_null
putstatic org.aspectj.weaver.loadtime.Aj.loadersToSkip:Ljava/util/List;
4: new org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor
new org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor
dup
invokespecial org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.<init>:()V
invokespecial org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.<init>:(Lorg/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor;)V
5: ldc "aj.weaving.loadersToSkip"
ldc ""
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 6: new java.util.StringTokenizer
dup
aload 0
ldc ","
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 1
start local 1 7: aload 0
ifnull 16
getstatic org.aspectj.weaver.loadtime.Aj.loadersToSkip:Ljava/util/List;
ifnonnull 16
8: aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifeq 13
9: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putstatic org.aspectj.weaver.loadtime.Aj.loadersToSkip:Ljava/util/List;
10: goto 13
11: StackMap locals: java.lang.String java.util.StringTokenizer
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 2
start local 2 12: getstatic org.aspectj.weaver.loadtime.Aj.loadersToSkip:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 13: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 11
end local 1 end local 0 14: goto 16
StackMap locals:
StackMap stack: java.lang.Exception
15: pop
16: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
6 14 0 loadersToSkipProperty Ljava/lang/String;
7 14 1 st Ljava/util/StringTokenizer;
12 13 2 nextLoader Ljava/lang/String;
Exception table:
from to target type
5 14 15 Class java.lang.Exception
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokespecial org.aspectj.weaver.loadtime.Aj.<init>:(Lorg/aspectj/weaver/loadtime/IWeavingContext;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/aspectj/weaver/loadtime/Aj;
public void <init>(org.aspectj.weaver.loadtime.IWeavingContext);
descriptor: (Lorg/aspectj/weaver/loadtime/IWeavingContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: getstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 3
2: getstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
ldc "<init>"
aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
aastore
invokeinterface org.aspectj.weaver.tools.Trace.enter:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V
3: StackMap locals: org.aspectj.weaver.loadtime.Aj org.aspectj.weaver.loadtime.IWeavingContext
StackMap stack:
aload 0
aload 1
putfield org.aspectj.weaver.loadtime.Aj.weavingContext:Lorg/aspectj/weaver/loadtime/IWeavingContext;
4: getstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 6
5: getstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
ldc "<init>"
invokeinterface org.aspectj.weaver.tools.Trace.exit:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/aspectj/weaver/loadtime/Aj;
0 7 1 context Lorg/aspectj/weaver/loadtime/IWeavingContext;
MethodParameters:
Name Flags
context
public void initialize();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/loadtime/Aj;
public byte[] preProcess(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=7, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
ifnull 2
aload 1
ifnull 2
1: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "sun.reflect.DelegatingClassLoader"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "jdk.internal.reflect.DelegatingClassLoader"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: StackMap locals:
StackMap stack:
aload 2
areturn
3: StackMap locals:
StackMap stack:
getstatic org.aspectj.weaver.loadtime.Aj.loadersToSkip:Ljava/util/List;
ifnull 6
4: getstatic org.aspectj.weaver.loadtime.Aj.loadersToSkip:Ljava/util/List;
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 6
5: aload 2
areturn
6: StackMap locals:
StackMap stack:
getstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 8
7: getstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
ldc "preProcess"
aload 0
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 3
aastore
invokeinterface org.aspectj.weaver.tools.Trace.enter:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
getstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 10
9: getstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
ldc "preProcess"
aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
aastore
dup
iconst_1
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
aastore
invokeinterface org.aspectj.weaver.tools.Trace.event:(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
aload 3
dup
astore 5
monitorenter
11: invokestatic org.aspectj.weaver.tools.cache.SimpleCacheFactory.isEnabled:()Z
ifeq 17
12: getstatic org.aspectj.weaver.loadtime.Aj.laCache:Lorg/aspectj/weaver/tools/cache/SimpleCache;
aload 1
aload 2
aload 3
aload 4
invokevirtual org.aspectj.weaver.tools.cache.SimpleCache.getAndInitialize:(Ljava/lang/String;[BLjava/lang/ClassLoader;Ljava/security/ProtectionDomain;)[B
astore 6
start local 6 13: aload 6
ifnull 17
14: aload 6
astore 11
aload 5
monitorexit
15: invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.resetForThread:()V
16: aload 11
areturn
end local 6 17: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 3
aload 0
getfield org.aspectj.weaver.loadtime.Aj.weavingContext:Lorg/aspectj/weaver/loadtime/IWeavingContext;
invokestatic org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver:(Ljava/lang/ClassLoader;Lorg/aspectj/weaver/loadtime/IWeavingContext;)Lorg/aspectj/weaver/tools/WeavingAdaptor;
astore 6
start local 6 18: aload 6
ifnonnull 24
19: getstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 21
20: getstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
ldc "preProcess"
invokeinterface org.aspectj.weaver.tools.Trace.exit:(Ljava/lang/String;)V
21: StackMap locals: org.aspectj.weaver.tools.WeavingAdaptor
StackMap stack:
aload 2
astore 11
aload 5
monitorexit
22: invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.resetForThread:()V
23: aload 11
areturn
24: StackMap locals:
StackMap stack:
aload 6
aload 4
invokevirtual org.aspectj.weaver.tools.WeavingAdaptor.setActiveProtectionDomain:(Ljava/security/ProtectionDomain;)V
25: aload 6
aload 1
aload 2
iconst_0
invokevirtual org.aspectj.weaver.tools.WeavingAdaptor.weaveClass:(Ljava/lang/String;[BZ)[B
astore 7
start local 7 26: aload 6
invokevirtual org.aspectj.weaver.tools.WeavingAdaptor.getMessageHolder:()Lorg/aspectj/bridge/IMessageHolder;
iconst_1
invokestatic org.aspectj.weaver.Dump.dumpOnExit:(Lorg/aspectj/bridge/IMessageHolder;Z)Ljava/lang/String;
pop
27: getstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 29
28: getstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
ldc "preProcess"
aload 7
invokeinterface org.aspectj.weaver.tools.Trace.exit:(Ljava/lang/String;Ljava/lang/Object;)V
29: StackMap locals: byte[]
StackMap stack:
invokestatic org.aspectj.weaver.tools.cache.SimpleCacheFactory.isEnabled:()Z
ifeq 31
30: getstatic org.aspectj.weaver.loadtime.Aj.laCache:Lorg/aspectj/weaver/tools/cache/SimpleCache;
aload 1
aload 2
aload 7
invokevirtual org.aspectj.weaver.tools.cache.SimpleCache.put:(Ljava/lang/String;[B[B)V
31: StackMap locals:
StackMap stack:
aload 7
astore 9
32: aload 6
aconst_null
invokevirtual org.aspectj.weaver.tools.WeavingAdaptor.setActiveProtectionDomain:(Ljava/security/ProtectionDomain;)V
aload 5
monitorexit
33: invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.resetForThread:()V
34: aload 9
areturn
end local 7 35: StackMap locals: org.aspectj.weaver.loadtime.Aj java.lang.String byte[] java.lang.ClassLoader java.security.ProtectionDomain java.lang.ClassLoader org.aspectj.weaver.tools.WeavingAdaptor
StackMap stack: java.lang.Throwable
astore 8
36: aload 6
aconst_null
invokevirtual org.aspectj.weaver.tools.WeavingAdaptor.setActiveProtectionDomain:(Ljava/security/ProtectionDomain;)V
37: aload 8
athrow
end local 6 38: StackMap locals: org.aspectj.weaver.loadtime.Aj java.lang.String byte[] java.lang.ClassLoader java.security.ProtectionDomain java.lang.ClassLoader
StackMap stack: java.lang.Throwable
aload 5
monitorexit
39: athrow
40: StackMap locals: org.aspectj.weaver.loadtime.Aj java.lang.String byte[] java.lang.ClassLoader java.security.ProtectionDomain
StackMap stack: java.lang.Throwable
astore 5
start local 5 41: getstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
aload 1
aload 5
invokeinterface org.aspectj.weaver.tools.Trace.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
42: aload 5
invokestatic org.aspectj.weaver.Dump.dumpWithException:(Ljava/lang/Throwable;)Ljava/lang/String;
pop
43: getstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
invokeinterface org.aspectj.weaver.tools.Trace.isTraceEnabled:()Z
ifeq 45
44: getstatic org.aspectj.weaver.loadtime.Aj.trace:Lorg/aspectj/weaver/tools/Trace;
ldc "preProcess"
aload 5
invokeinterface org.aspectj.weaver.tools.Trace.exit:(Ljava/lang/String;Ljava/lang/Throwable;)V
45: StackMap locals: java.lang.Throwable
StackMap stack:
aload 2
astore 11
46: invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.resetForThread:()V
47: aload 11
areturn
end local 5 48: StackMap locals: org.aspectj.weaver.loadtime.Aj java.lang.String byte[] java.lang.ClassLoader java.security.ProtectionDomain
StackMap stack: java.lang.Throwable
astore 10
49: invokestatic org.aspectj.bridge.context.CompilationAndWeavingContext.resetForThread:()V
50: aload 10
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Lorg/aspectj/weaver/loadtime/Aj;
0 51 1 className Ljava/lang/String;
0 51 2 bytes [B
0 51 3 loader Ljava/lang/ClassLoader;
0 51 4 protectionDomain Ljava/security/ProtectionDomain;
13 17 6 cacheBytes [B
18 38 6 weavingAdaptor Lorg/aspectj/weaver/tools/WeavingAdaptor;
26 35 7 newBytes [B
41 48 5 th Ljava/lang/Throwable;
Exception table:
from to target type
24 32 35 any
11 15 38 any
17 22 38 any
24 33 38 any
35 39 38 any
10 15 40 Class java.lang.Throwable
17 22 40 Class java.lang.Throwable
24 33 40 Class java.lang.Throwable
35 40 40 Class java.lang.Throwable
10 15 48 any
17 22 48 any
24 33 48 any
35 46 48 any
MethodParameters:
Name Flags
className
bytes
loader
protectionDomain
public static int removeStaleAdaptors(boolean);
descriptor: (Z)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: getstatic org.aspectj.weaver.loadtime.Aj$WeaverContainer.weavingAdaptors:Ljava/util/Map;
dup
astore 2
monitorenter
2: iload 0
ifeq 11
3: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Weaver adaptors before queue processing:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: getstatic org.aspectj.weaver.loadtime.Aj$WeaverContainer.weavingAdaptors:Ljava/util/Map;
astore 3
start local 3 5: aload 3
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
astore 4
start local 4 6: aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
start local 5 7: goto 10
8: StackMap locals: int int java.util.Map java.util.Map java.util.Set java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 6
start local 6 9: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic org.aspectj.weaver.loadtime.Aj$WeaverContainer.weavingAdaptors:Ljava/util/Map;
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 10: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 5 end local 4 end local 3 11: StackMap locals:
StackMap stack:
getstatic org.aspectj.weaver.loadtime.Aj.adaptorQueue:Ljava/lang/ref/ReferenceQueue;
invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
astore 3
start local 3 12: goto 26
13: StackMap locals: java.lang.Object
StackMap stack:
iload 0
ifeq 15
14: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Processing referencequeue entry "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
aload 3
checkcast org.aspectj.weaver.loadtime.Aj$AdaptorKey
astore 4
start local 4 16: getstatic org.aspectj.weaver.loadtime.Aj$WeaverContainer.weavingAdaptors:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 17
iconst_1
goto 18
StackMap locals: org.aspectj.weaver.loadtime.Aj$AdaptorKey
StackMap stack:
17: iconst_0
StackMap locals:
StackMap stack: int
18: istore 5
start local 5 19: iload 5
ifeq 22
20: iinc 1 1
21: goto 23
22: StackMap locals: int
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Eh?? key="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
iload 0
ifeq 25
24: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Removed? "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
getstatic org.aspectj.weaver.loadtime.Aj.adaptorQueue:Ljava/lang/ref/ReferenceQueue;
invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
astore 3
end local 5 end local 4 26: StackMap locals:
StackMap stack:
aload 3
ifnonnull 13
27: iload 0
ifeq 36
28: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Weaver adaptors after queue processing:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
29: getstatic org.aspectj.weaver.loadtime.Aj$WeaverContainer.weavingAdaptors:Ljava/util/Map;
astore 4
start local 4 30: aload 4
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
astore 5
start local 5 31: aload 5
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
start local 6 32: goto 35
33: StackMap locals: java.util.Map java.util.Set java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 7
start local 7 34: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic org.aspectj.weaver.loadtime.Aj$WeaverContainer.weavingAdaptors:Ljava/util/Map;
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 7 35: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
end local 6 end local 5 end local 4 end local 3 36: StackMap locals: int int java.util.Map
StackMap stack:
aload 2
monitorexit
37: goto 40
StackMap locals:
StackMap stack: java.lang.Throwable
38: aload 2
monitorexit
39: athrow
40: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 displayProgress Z
1 41 1 removed I
5 11 3 m Ljava/util/Map<Lorg/aspectj/weaver/loadtime/Aj$AdaptorKey;Lorg/aspectj/weaver/loadtime/Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor;>;
6 11 4 keys Ljava/util/Set<Lorg/aspectj/weaver/loadtime/Aj$AdaptorKey;>;
7 11 5 iterator Ljava/util/Iterator<Lorg/aspectj/weaver/loadtime/Aj$AdaptorKey;>;
9 10 6 object Ljava/lang/Object;
12 36 3 o Ljava/lang/Object;
16 26 4 wo Lorg/aspectj/weaver/loadtime/Aj$AdaptorKey;
19 26 5 didit Z
30 36 4 m Ljava/util/Map<Lorg/aspectj/weaver/loadtime/Aj$AdaptorKey;Lorg/aspectj/weaver/loadtime/Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor;>;
31 36 5 keys Ljava/util/Set<Lorg/aspectj/weaver/loadtime/Aj$AdaptorKey;>;
32 36 6 iterator Ljava/util/Iterator<Lorg/aspectj/weaver/loadtime/Aj$AdaptorKey;>;
34 35 7 object Ljava/lang/Object;
Exception table:
from to target type
2 37 38 any
38 39 38 any
MethodParameters:
Name Flags
displayProgress
public static int getActiveAdaptorCount();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.aspectj.weaver.loadtime.Aj$WeaverContainer.weavingAdaptors:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static void checkQ();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=0
0: getstatic org.aspectj.weaver.loadtime.Aj.adaptorQueue:Ljava/lang/ref/ReferenceQueue;
dup
astore 0
monitorenter
1: getstatic org.aspectj.weaver.loadtime.Aj.adaptorQueue:Ljava/lang/ref/ReferenceQueue;
invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
astore 1
start local 1 2: goto 6
3: StackMap locals: java.lang.ref.ReferenceQueue java.lang.Object
StackMap stack:
aload 1
checkcast org.aspectj.weaver.loadtime.Aj$AdaptorKey
astore 2
start local 2 4: getstatic org.aspectj.weaver.loadtime.Aj$WeaverContainer.weavingAdaptors:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
5: getstatic org.aspectj.weaver.loadtime.Aj.adaptorQueue:Ljava/lang/ref/ReferenceQueue;
invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
astore 1
end local 2 6: StackMap locals:
StackMap stack:
aload 1
ifnonnull 3
end local 1 7: aload 0
monitorexit
8: goto 11
StackMap locals: java.lang.ref.ReferenceQueue
StackMap stack: java.lang.Throwable
9: aload 0
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
2 7 1 o Ljava/lang/Object;
4 6 2 wo Lorg/aspectj/weaver/loadtime/Aj$AdaptorKey;
Exception table:
from to target type
1 8 9 any
9 10 9 any
public java.lang.String getNamespace(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.aspectj.weaver.loadtime.Aj.weavingContext:Lorg/aspectj/weaver/loadtime/IWeavingContext;
invokestatic org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver:(Ljava/lang/ClassLoader;Lorg/aspectj/weaver/loadtime/IWeavingContext;)Lorg/aspectj/weaver/tools/WeavingAdaptor;
checkcast org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor
astore 2
start local 2 1: aload 2
invokevirtual org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.getNamespace:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/aspectj/weaver/loadtime/Aj;
0 2 1 loader Ljava/lang/ClassLoader;
1 2 2 weavingAdaptor Lorg/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor;
MethodParameters:
Name Flags
loader
public boolean generatedClassesExist(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.aspectj.weaver.loadtime.Aj.weavingContext:Lorg/aspectj/weaver/loadtime/IWeavingContext;
invokestatic org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver:(Ljava/lang/ClassLoader;Lorg/aspectj/weaver/loadtime/IWeavingContext;)Lorg/aspectj/weaver/tools/WeavingAdaptor;
checkcast org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor
aconst_null
invokevirtual org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.generatedClassesExistFor:(Ljava/lang/String;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/loadtime/Aj;
0 1 1 loader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
loader
public void flushGeneratedClasses(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.aspectj.weaver.loadtime.Aj.weavingContext:Lorg/aspectj/weaver/loadtime/IWeavingContext;
invokestatic org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver:(Ljava/lang/ClassLoader;Lorg/aspectj/weaver/loadtime/IWeavingContext;)Lorg/aspectj/weaver/tools/WeavingAdaptor;
checkcast org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor
invokevirtual org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.flushGeneratedClasses:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/aspectj/weaver/loadtime/Aj;
0 2 1 loader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
loader
public void prepareForRedefinition(java.lang.ClassLoader, java.lang.String);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield org.aspectj.weaver.loadtime.Aj.weavingContext:Lorg/aspectj/weaver/loadtime/IWeavingContext;
invokestatic org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver:(Ljava/lang/ClassLoader;Lorg/aspectj/weaver/loadtime/IWeavingContext;)Lorg/aspectj/weaver/tools/WeavingAdaptor;
checkcast org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor
aload 2
invokevirtual org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.flushGeneratedClassesFor:(Ljava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/aspectj/weaver/loadtime/Aj;
0 2 1 loader Ljava/lang/ClassLoader;
0 2 2 className Ljava/lang/String;
MethodParameters:
Name Flags
loader
className
}
SourceFile: "Aj.java"
NestMembers:
org.aspectj.weaver.loadtime.Aj$AdaptorKey org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor org.aspectj.weaver.loadtime.Aj$WeaverContainer
InnerClasses:
private AdaptorKey = org.aspectj.weaver.loadtime.Aj$AdaptorKey of org.aspectj.weaver.loadtime.Aj
ExplicitlyInitializedClassLoaderWeavingAdaptor = org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor of org.aspectj.weaver.loadtime.Aj
WeaverContainer = org.aspectj.weaver.loadtime.Aj$WeaverContainer of org.aspectj.weaver.loadtime.Aj