final class com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector
super_class: java.lang.Object
{
private static final java.util.concurrent.locks.ReentrantReadWriteLock irwl;
descriptor: Ljava/util/concurrent/locks/ReentrantReadWriteLock;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.concurrent.locks.Lock ir;
descriptor: Ljava/util/concurrent/locks/Lock;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.concurrent.locks.Lock iw;
descriptor: Ljava/util/concurrent/locks/Lock;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Map<java.lang.ClassLoader, java.lang.ref.WeakReference<com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector>> injectors;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/ClassLoader;Ljava/lang/ref/WeakReference<Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;>;>;
private static final java.util.logging.Logger logger;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.Map<java.lang.String, java.lang.Class> classes;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class;>;
private final java.util.concurrent.locks.ReentrantReadWriteLock rwl;
descriptor: Ljava/util/concurrent/locks/ReentrantReadWriteLock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.locks.Lock r;
descriptor: Ljava/util/concurrent/locks/Lock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.locks.Lock w;
descriptor: Ljava/util/concurrent/locks/Lock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.ClassLoader parent;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean loadable;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static java.lang.reflect.Method defineClass;
descriptor: Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.reflect.Method resolveClass;
descriptor: Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.reflect.Method findLoadedClass;
descriptor: Ljava/lang/reflect/Method;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.Object U;
descriptor: Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: ldc Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.$assertionsDisabled:Z
3: new java.util.concurrent.locks.ReentrantReadWriteLock
dup
invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.irwl:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
4: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.irwl:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.ir:Ljava/util/concurrent/locks/Lock;
5: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.irwl:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.iw:Ljava/util/concurrent/locks/Lock;
6: new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
7: putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.injectors:Ljava/util/Map;
8: invokestatic com.sun.xml.internal.bind.Util.getClassLogger:()Ljava/util/logging/Logger;
putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
9: new com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$1
dup
invokespecial com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$1.<init>:()V
10: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.reflect.Method[]
astore 0
start local 0 11: aload 0
iconst_0
aaload
putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.defineClass:Ljava/lang/reflect/Method;
12: aload 0
iconst_1
aaload
putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.resolveClass:Ljava/lang/reflect/Method;
13: aload 0
iconst_2
aaload
putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.findLoadedClass:Ljava/lang/reflect/Method;
end local 0 14: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
15: pop
16: new com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$2
dup
invokespecial com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$2.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.U:Ljava/lang/Object;
17: new com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$3
dup
invokespecial com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$3.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.lang.reflect.Method
putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.defineClass:Ljava/lang/reflect/Method;
18: goto 21
StackMap locals:
StackMap stack: java.lang.Exception
19: astore 0
start local 0 20: ldc Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
aconst_null
aload 0
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 0 21: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
11 14 0 m [Ljava/lang/reflect/Method;
20 21 0 ex Ljava/lang/Exception;
Exception table:
from to target type
9 14 15 Class java.lang.Throwable
16 18 19 Class java.lang.SecurityException
16 18 19 Class java.security.PrivilegedActionException
static java.lang.Class inject(java.lang.ClassLoader, java.lang.String, byte[]);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;[B)Ljava/lang/Class;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.get:(Ljava/lang/ClassLoader;)Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
aload 1
aload 2
invokevirtual com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.inject:(Ljava/lang/String;[B)Ljava/lang/Class;
areturn
3: StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cl Ljava/lang/ClassLoader;
0 4 1 className Ljava/lang/String;
0 4 2 image [B
1 4 3 injector Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
MethodParameters:
Name Flags
cl
className
image
static java.lang.Class find(java.lang.ClassLoader, java.lang.String);
descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.get:(Ljava/lang/ClassLoader;)Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
aload 1
invokevirtual com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.find:(Ljava/lang/String;)Ljava/lang/Class;
areturn
3: StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cl Ljava/lang/ClassLoader;
0 4 1 className Ljava/lang/String;
1 4 2 injector Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
MethodParameters:
Name Flags
cl
className
private static com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector get(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.ir:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.injectors:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 2
start local 2 3: goto 7
end local 2 StackMap locals: java.lang.ClassLoader com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector
StackMap stack: java.lang.Throwable
4: astore 3
5: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.ir:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
6: aload 3
athrow
start local 2 7: StackMap locals: java.lang.ref.WeakReference
StackMap stack:
getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.ir:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
8: aload 2
ifnull 10
9: aload 2
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector
astore 1
10: StackMap locals:
StackMap stack:
aload 1
ifnonnull 24
11: new java.lang.ref.WeakReference
dup
new com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector
dup
aload 0
invokespecial com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.<init>:(Ljava/lang/ClassLoader;)V
dup
astore 1
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
astore 2
12: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.iw:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
13: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.injectors:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 19
14: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.injectors:Ljava/util/Map;
aload 0
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 3
17: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.iw:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
18: aload 3
athrow
19: StackMap locals:
StackMap stack:
getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.iw:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
20: goto 24
StackMap locals:
StackMap stack: java.lang.SecurityException
21: astore 3
start local 3 22: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "Unable to set up a back-door for the injector"
aload 3
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
23: aconst_null
areturn
end local 3 24: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 cl Ljava/lang/ClassLoader;
1 25 1 injector Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
3 4 2 wr Ljava/lang/ref/WeakReference<Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;>;
7 25 2 wr Ljava/lang/ref/WeakReference<Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;>;
22 24 3 e Ljava/lang/SecurityException;
Exception table:
from to target type
2 4 4 any
13 16 16 any
11 20 21 Class java.lang.SecurityException
MethodParameters:
Name Flags
cl
private static java.lang.reflect.Method getMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 3
start local 3 1: aload 3
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
2: aload 3
3: areturn
end local 3 4: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
astore 3
start local 3 5: new java.lang.NoSuchMethodError
dup
aload 3
invokevirtual java.lang.NoSuchMethodException.getMessage:()Ljava/lang/String;
invokespecial java.lang.NoSuchMethodError.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 c Ljava/lang/Class<*>;
0 6 1 methodname Ljava/lang/String;
0 6 2 params [Ljava/lang/Class;
1 4 3 m Ljava/lang/reflect/Method;
5 6 3 e Ljava/lang/NoSuchMethodException;
Exception table:
from to target type
0 3 4 Class java.lang.NoSuchMethodException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
c final
methodname final
params final
private void <init>(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.classes:Ljava/util/Map;
2: aload 0
new java.util.concurrent.locks.ReentrantReadWriteLock
dup
invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
putfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.rwl:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
3: aload 0
aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.rwl:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
putfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
4: aload 0
aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.rwl:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
putfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
5: aload 0
aload 1
putfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.parent:Ljava/lang/ClassLoader;
6: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.$assertionsDisabled:Z
ifne 7
aload 1
ifnonnull 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.ClassLoader
StackMap stack:
iconst_0
istore 2
start local 2 8: aload 1
ldc Lcom/sun/xml/internal/bind/v2/runtime/reflect/Accessor;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
ldc Lcom/sun/xml/internal/bind/v2/runtime/reflect/Accessor;
if_acmpne 9
iconst_1
goto 10
StackMap locals: int
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 2
11: goto 13
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
12: pop
13: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.loadable:Z
14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
0 15 1 parent Ljava/lang/ClassLoader;
8 15 2 loadableCheck Z
Exception table:
from to target type
8 11 12 Class java.lang.ClassNotFoundException
MethodParameters:
Name Flags
parent
private java.lang.Class inject(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.loadable:Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
5: iconst_1
istore 4
6: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.classes:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 5
start local 5 7: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
8: iconst_0
istore 4
9: aload 5
ifnonnull 30
getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.findLoadedClass:Ljava/lang/reflect/Method;
ifnull 30
10: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.findLoadedClass:Ljava/lang/reflect/Method;
aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.parent:Ljava/lang/ClassLoader;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 5
11: goto 18
StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int java.lang.Class
StackMap stack: java.lang.Exception
12: astore 6
start local 6 13: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "Unable to find "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 6 14: goto 18
15: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 6
start local 6 16: aload 6
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
astore 7
start local 7 17: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "Unable to find "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 7
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 7 end local 6 18: StackMap locals:
StackMap stack:
aload 5
ifnull 30
19: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
20: iconst_1
istore 3
21: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.classes:Ljava/util/Map;
aload 1
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
23: iconst_0
istore 3
24: aload 5
astore 9
25: iload 4
ifeq 27
26: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
27: StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int java.lang.Class top top top java.lang.Class
StackMap stack:
iload 3
ifeq 29
28: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
29: StackMap locals:
StackMap stack:
aload 9
areturn
30: StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int java.lang.Class
StackMap stack:
aload 5
ifnonnull 81
31: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
32: iconst_1
istore 4
33: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.classes:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 5
34: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
35: iconst_0
istore 4
36: aload 5
ifnonnull 81
37: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.resolveClass:Ljava/lang/reflect/Method;
ifnull 41
38: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.defineClass:Ljava/lang/reflect/Method;
aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.parent:Ljava/lang/ClassLoader;
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 1
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
aload 2
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 5
39: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.resolveClass:Ljava/lang/reflect/Method;
aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.parent:Ljava/lang/ClassLoader;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
40: goto 75
41: StackMap locals:
StackMap stack:
getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.defineClass:Ljava/lang/reflect/Method;
getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.U:Ljava/lang/Object;
bipush 6
anewarray java.lang.Object
dup
iconst_0
aload 1
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
aload 2
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.parent:Ljava/lang/ClassLoader;
aastore
dup
iconst_5
ldc Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
invokevirtual java.lang.Class.getProtectionDomain:()Ljava/security/ProtectionDomain;
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 5
42: goto 75
StackMap locals:
StackMap stack: java.lang.IllegalAccessException
43: astore 6
start local 6 44: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "Unable to inject "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
45: iload 4
ifeq 47
46: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
47: StackMap locals: java.lang.IllegalAccessException
StackMap stack:
iload 3
ifeq 49
48: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
49: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 50: StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int java.lang.Class
StackMap stack: java.lang.reflect.InvocationTargetException
astore 6
start local 6 51: aload 6
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
astore 7
start local 7 52: aload 7
instanceof java.lang.LinkageError
ifeq 55
53: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "duplicate class definition bug occured? Please report this : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 7
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
54: goto 56
55: StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
StackMap stack:
getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "Unable to inject "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 7
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
56: StackMap locals:
StackMap stack:
iload 4
ifeq 58
57: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
58: StackMap locals:
StackMap stack:
iload 3
ifeq 60
59: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
60: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 7 end local 6 61: StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int java.lang.Class
StackMap stack: java.lang.SecurityException
astore 6
start local 6 62: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "Unable to inject "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
63: iload 4
ifeq 65
64: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
65: StackMap locals: java.lang.SecurityException
StackMap stack:
iload 3
ifeq 67
66: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
67: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 68: StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int java.lang.Class
StackMap stack: java.lang.LinkageError
astore 6
start local 6 69: getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "Unable to inject "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
70: iload 4
ifeq 72
71: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
72: StackMap locals: java.lang.LinkageError
StackMap stack:
iload 3
ifeq 74
73: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
74: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 75: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
76: iconst_1
istore 3
77: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.classes:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 79
78: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.classes:Ljava/util/Map;
aload 1
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
79: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
80: iconst_0
istore 3
81: StackMap locals:
StackMap stack:
aload 5
astore 9
82: iload 4
ifeq 84
83: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
84: StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int java.lang.Class top top top java.lang.Class
StackMap stack:
iload 3
ifeq 86
85: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
86: StackMap locals:
StackMap stack:
aload 9
areturn
end local 5 87: StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int
StackMap stack: java.lang.Throwable
astore 8
88: iload 4
ifeq 90
89: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
90: StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int top top top java.lang.Throwable
StackMap stack:
iload 3
ifeq 92
91: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
92: StackMap locals:
StackMap stack:
aload 8
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 93 0 this Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
0 93 1 className Ljava/lang/String;
0 93 2 image [B
3 93 3 wlocked Z
4 93 4 rlocked Z
7 87 5 c Ljava/lang/Class;
13 14 6 e Ljava/lang/Exception;
16 18 6 e Ljava/lang/reflect/InvocationTargetException;
17 18 7 t Ljava/lang/Throwable;
44 50 6 e Ljava/lang/IllegalAccessException;
51 61 6 e Ljava/lang/reflect/InvocationTargetException;
52 61 7 t Ljava/lang/Throwable;
62 68 6 e Ljava/lang/SecurityException;
69 75 6 e Ljava/lang/LinkageError;
Exception table:
from to target type
10 11 12 Class java.lang.IllegalArgumentException
10 11 12 Class java.lang.IllegalAccessException
10 11 15 Class java.lang.reflect.InvocationTargetException
37 42 43 Class java.lang.IllegalAccessException
37 42 50 Class java.lang.reflect.InvocationTargetException
37 42 61 Class java.lang.SecurityException
37 42 68 Class java.lang.LinkageError
4 25 87 any
30 45 87 any
50 56 87 any
61 63 87 any
68 70 87 any
75 82 87 any
MethodParameters:
Name Flags
className
image
private java.lang.Class find(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.classes:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 3
2: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
3: aload 3
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
5: aload 0
getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
6: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
0 7 1 className Ljava/lang/String;
Exception table:
from to target type
1 2 4 any
MethodParameters:
Name Flags
className
}
SourceFile: "Injector.java"
NestMembers:
com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$1 com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$2 com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$3
InnerClasses:
com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$1
com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$2
com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$3
public ReadLock = java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock of java.util.concurrent.locks.ReentrantReadWriteLock
public WriteLock = java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock of java.util.concurrent.locks.ReentrantReadWriteLock