public class net.bytebuddy.dynamic.loading.ClassReloadingStrategy implements net.bytebuddy.dynamic.loading.ClassLoadingStrategy<java.lang.ClassLoader>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.bytebuddy.dynamic.loading.ClassReloadingStrategy
super_class: java.lang.Object
{
private static final java.lang.String INSTALLER_TYPE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "net.bytebuddy.agent.Installer"
private static final java.lang.String INSTRUMENTATION_GETTER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "getInstrumentation"
private static final java.lang.Object STATIC_MEMBER;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
protected static final net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Dispatcher DISPATCHER;
descriptor: Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Dispatcher;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
private final java.lang.instrument.Instrumentation instrumentation;
descriptor: Ljava/lang/instrument/Instrumentation;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy strategy;
descriptor: Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final net.bytebuddy.dynamic.loading.ClassReloadingStrategy$BootstrapInjection bootstrapInjection;
descriptor: Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$BootstrapInjection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, java.lang.Class<?>> preregisteredTypes;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
putstatic net.bytebuddy.dynamic.loading.ClassReloadingStrategy.STATIC_MEMBER:Ljava/lang/Object;
1: getstatic net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Dispatcher$CreationAction.INSTANCE:Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Dispatcher$CreationAction;
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Dispatcher
putstatic net.bytebuddy.dynamic.loading.ClassReloadingStrategy.DISPATCHER:Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Dispatcher;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.instrument.Instrumentation, net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy);
descriptor: (Ljava/lang/instrument/Instrumentation;Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
1: aload 2
2: getstatic net.bytebuddy.dynamic.loading.ClassReloadingStrategy$BootstrapInjection$Disabled.INSTANCE:Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$BootstrapInjection$Disabled;
3: invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
invokespecial net.bytebuddy.dynamic.loading.ClassReloadingStrategy.<init>:(Ljava/lang/instrument/Instrumentation;Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$BootstrapInjection;Ljava/util/Map;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
0 5 1 instrumentation Ljava/lang/instrument/Instrumentation;
0 5 2 strategy Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;
MethodParameters:
Name Flags
instrumentation
strategy
protected void <init>(java.lang.instrument.Instrumentation, net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy, net.bytebuddy.dynamic.loading.ClassReloadingStrategy$BootstrapInjection, java.util.Map<java.lang.String, java.lang.Class<?>>);
descriptor: (Ljava/lang/instrument/Instrumentation;Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$BootstrapInjection;Ljava/util/Map;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.instrumentation:Ljava/lang/instrument/Instrumentation;
2: aload 0
aload 2
aload 1
invokevirtual net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy.validate:(Ljava/lang/instrument/Instrumentation;)Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;
putfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.strategy:Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;
3: aload 0
aload 3
putfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.bootstrapInjection:Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$BootstrapInjection;
4: aload 0
aload 4
putfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.preregisteredTypes:Ljava/util/Map;
5: return
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 Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
0 6 1 instrumentation Ljava/lang/instrument/Instrumentation;
0 6 2 strategy Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;
0 6 3 bootstrapInjection Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$BootstrapInjection;
0 6 4 preregisteredTypes Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
Signature: (Ljava/lang/instrument/Instrumentation;Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$BootstrapInjection;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;)V
MethodParameters:
Name Flags
instrumentation
strategy
bootstrapInjection
preregisteredTypes
public static net.bytebuddy.dynamic.loading.ClassReloadingStrategy of(java.lang.instrument.Instrumentation);
descriptor: (Ljava/lang/instrument/Instrumentation;)Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic net.bytebuddy.dynamic.loading.ClassReloadingStrategy.DISPATCHER:Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Dispatcher;
aload 0
invokeinterface net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Dispatcher.isRetransformClassesSupported:(Ljava/lang/instrument/Instrumentation;)Z
ifeq 2
1: new net.bytebuddy.dynamic.loading.ClassReloadingStrategy
dup
aload 0
getstatic net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy.RETRANSFORMATION:Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;
invokespecial net.bytebuddy.dynamic.loading.ClassReloadingStrategy.<init>:(Ljava/lang/instrument/Instrumentation;Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.lang.instrument.Instrumentation.isRedefineClassesSupported:()Z
ifeq 4
3: new net.bytebuddy.dynamic.loading.ClassReloadingStrategy
dup
aload 0
getstatic net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy.REDEFINITION:Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;
invokespecial net.bytebuddy.dynamic.loading.ClassReloadingStrategy.<init>:(Ljava/lang/instrument/Instrumentation;Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;)V
areturn
4: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Instrumentation does not support reloading of classes: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 instrumentation Ljava/lang/instrument/Instrumentation;
MethodParameters:
Name Flags
instrumentation
public static net.bytebuddy.dynamic.loading.ClassReloadingStrategy fromInstalledAgent();
descriptor: ()Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
1: ldc "net.bytebuddy.agent.Installer"
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
2: ldc "getInstrumentation"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
3: getstatic net.bytebuddy.dynamic.loading.ClassReloadingStrategy.STATIC_MEMBER:Ljava/lang/Object;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
4: checkcast java.lang.instrument.Instrumentation
invokestatic net.bytebuddy.dynamic.loading.ClassReloadingStrategy.of:(Ljava/lang/instrument/Instrumentation;)Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
5: areturn
6: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 0
start local 0 7: aload 0
athrow
end local 0 8: StackMap locals:
StackMap stack: java.lang.Exception
astore 0
start local 0 9: new java.lang.IllegalStateException
dup
ldc "The Byte Buddy agent is not installed or not accessible"
aload 0
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
7 8 0 exception Ljava/lang/RuntimeException;
9 10 0 exception Ljava/lang/Exception;
Exception table:
from to target type
0 5 6 Class java.lang.RuntimeException
0 5 8 Class java.lang.Exception
public static net.bytebuddy.dynamic.loading.ClassReloadingStrategy fromInstalledAgent(net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy);
descriptor: (Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;)Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: new net.bytebuddy.dynamic.loading.ClassReloadingStrategy
dup
invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
1: ldc "net.bytebuddy.agent.Installer"
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
2: ldc "getInstrumentation"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
3: getstatic net.bytebuddy.dynamic.loading.ClassReloadingStrategy.STATIC_MEMBER:Ljava/lang/Object;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.instrument.Instrumentation
aload 0
4: invokespecial net.bytebuddy.dynamic.loading.ClassReloadingStrategy.<init>:(Ljava/lang/instrument/Instrumentation;Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;)V
5: areturn
6: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 1
start local 1 7: aload 1
athrow
end local 1 8: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 9: new java.lang.IllegalStateException
dup
ldc "The Byte Buddy agent is not installed or not accessible"
aload 1
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 strategy Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;
7 8 1 exception Ljava/lang/RuntimeException;
9 10 1 exception Ljava/lang/Exception;
Exception table:
from to target type
0 5 6 Class java.lang.RuntimeException
0 5 8 Class java.lang.Exception
MethodParameters:
Name Flags
strategy
public java.util.Map<net.bytebuddy.description.type.TypeDescription, java.lang.Class<?>> load(java.lang.ClassLoader, java.util.Map<net.bytebuddy.description.type.TypeDescription, byte[]>);
descriptor: (Ljava/lang/ClassLoader;Ljava/util/Map;)Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new java.util.HashMap
dup
aload 0
getfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.preregisteredTypes:Ljava/util/Map;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
astore 3
start local 3 1: aload 0
getfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.instrumentation:Ljava/lang/instrument/Instrumentation;
aload 1
invokeinterface java.lang.instrument.Instrumentation.getInitiatedClasses:(Ljava/lang/ClassLoader;)[Ljava/lang/Class;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 5
StackMap locals: net.bytebuddy.dynamic.loading.ClassReloadingStrategy java.lang.ClassLoader java.util.Map java.util.Map top int int java.lang.Class[]
StackMap stack:
2: aload 7
iload 5
aaload
astore 4
start local 4 3: aload 3
aload 4
invokestatic net.bytebuddy.description.type.TypeDescription$ForLoadedType.getName:(Ljava/lang/Class;)Ljava/lang/String;
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 4: iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
iload 6
if_icmplt 2
6: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
astore 4
start local 4 7: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 5
start local 5 8: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 6
start local 6 9: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 17
StackMap locals: net.bytebuddy.dynamic.loading.ClassReloadingStrategy java.lang.ClassLoader java.util.Map java.util.Map java.util.Map java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
10: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7
start local 7 11: aload 3
aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast net.bytebuddy.description.type.TypeDescription
invokeinterface net.bytebuddy.description.type.TypeDescription.getName:()Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 9
start local 9 12: aload 9
ifnull 16
13: aload 4
aload 9
new java.lang.instrument.ClassDefinition
dup
aload 9
aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast byte[]
invokespecial java.lang.instrument.ClassDefinition.<init>:(Ljava/lang/Class;[B)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: aload 5
aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast net.bytebuddy.description.type.TypeDescription
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: goto 17
16: StackMap locals: net.bytebuddy.dynamic.loading.ClassReloadingStrategy java.lang.ClassLoader java.util.Map java.util.Map java.util.Map java.util.Map java.util.Map java.util.Map$Entry java.util.Iterator java.lang.Class
StackMap stack:
aload 6
aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast net.bytebuddy.description.type.TypeDescription
aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast byte[]
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 end local 7 17: StackMap locals: net.bytebuddy.dynamic.loading.ClassReloadingStrategy java.lang.ClassLoader java.util.Map java.util.Map java.util.Map java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
18: aload 0
getfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.strategy:Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;
aload 0
getfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.instrumentation:Ljava/lang/instrument/Instrumentation;
aload 4
invokevirtual net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy.apply:(Ljava/lang/instrument/Instrumentation;Ljava/util/Map;)V
19: aload 6
invokeinterface java.util.Map.isEmpty:()Z
ifne 30
20: aload 5
aload 1
ifnonnull 22
21: aload 0
getfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.bootstrapInjection:Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$BootstrapInjection;
aload 0
getfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.instrumentation:Ljava/lang/instrument/Instrumentation;
invokeinterface net.bytebuddy.dynamic.loading.ClassReloadingStrategy$BootstrapInjection.make:(Ljava/lang/instrument/Instrumentation;)Lnet/bytebuddy/dynamic/loading/ClassInjector;
goto 23
22: StackMap locals: net.bytebuddy.dynamic.loading.ClassReloadingStrategy java.lang.ClassLoader java.util.Map java.util.Map java.util.Map java.util.Map java.util.Map
StackMap stack: java.util.Map
new net.bytebuddy.dynamic.loading.ClassInjector$UsingReflection
dup
aload 1
invokespecial net.bytebuddy.dynamic.loading.ClassInjector$UsingReflection.<init>:(Ljava/lang/ClassLoader;)V
StackMap locals: net.bytebuddy.dynamic.loading.ClassReloadingStrategy java.lang.ClassLoader java.util.Map java.util.Map java.util.Map java.util.Map java.util.Map
StackMap stack: java.util.Map net.bytebuddy.dynamic.loading.ClassInjector
23: aload 6
invokeinterface net.bytebuddy.dynamic.loading.ClassInjector.inject:(Ljava/util/Map;)Ljava/util/Map;
24: invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
25: goto 30
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
26: astore 7
start local 7 27: new java.lang.IllegalArgumentException
dup
ldc "Could not locate classes for redefinition"
aload 7
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 28: StackMap locals:
StackMap stack: java.lang.instrument.UnmodifiableClassException
astore 7
start local 7 29: new java.lang.IllegalStateException
dup
ldc "Cannot redefine specified class"
aload 7
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 30: StackMap locals:
StackMap stack:
aload 5
areturn
end local 6 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 31 0 this Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
0 31 1 classLoader Ljava/lang/ClassLoader;
0 31 2 types Ljava/util/Map<Lnet/bytebuddy/description/type/TypeDescription;[B>;
1 31 3 availableTypes Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
3 4 4 type Ljava/lang/Class<*>;
7 31 4 classDefinitions Ljava/util/Map<Ljava/lang/Class<*>;Ljava/lang/instrument/ClassDefinition;>;
8 31 5 loadedClasses Ljava/util/Map<Lnet/bytebuddy/description/type/TypeDescription;Ljava/lang/Class<*>;>;
9 31 6 unloadedClasses Ljava/util/Map<Lnet/bytebuddy/description/type/TypeDescription;[B>;
11 17 7 entry Ljava/util/Map$Entry<Lnet/bytebuddy/description/type/TypeDescription;[B>;
12 17 9 type Ljava/lang/Class<*>;
27 28 7 exception Ljava/lang/ClassNotFoundException;
29 30 7 exception Ljava/lang/instrument/UnmodifiableClassException;
Exception table:
from to target type
18 25 26 Class java.lang.ClassNotFoundException
18 25 28 Class java.lang.instrument.UnmodifiableClassException
Signature: (Ljava/lang/ClassLoader;Ljava/util/Map<Lnet/bytebuddy/description/type/TypeDescription;[B>;)Ljava/util/Map<Lnet/bytebuddy/description/type/TypeDescription;Ljava/lang/Class<*>;>;
MethodParameters:
Name Flags
classLoader
types
public net.bytebuddy.dynamic.loading.ClassReloadingStrategy reset(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
arraylength
ifne 2
1: aload 0
goto 3
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
aaload
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic net.bytebuddy.dynamic.ClassFileLocator$ForClassLoader.of:(Ljava/lang/ClassLoader;)Lnet/bytebuddy/dynamic/ClassFileLocator;
aload 1
invokevirtual net.bytebuddy.dynamic.loading.ClassReloadingStrategy.reset:(Lnet/bytebuddy/dynamic/ClassFileLocator;[Ljava/lang/Class;)Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
3: StackMap locals:
StackMap stack: net.bytebuddy.dynamic.loading.ClassReloadingStrategy
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
0 4 1 type [Ljava/lang/Class;
Exceptions:
throws java.io.IOException
Signature: ([Ljava/lang/Class<*>;)Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
MethodParameters:
Name Flags
type
public net.bytebuddy.dynamic.loading.ClassReloadingStrategy reset(net.bytebuddy.dynamic.ClassFileLocator, java.lang.Class<?>[]);
descriptor: (Lnet/bytebuddy/dynamic/ClassFileLocator;[Ljava/lang/Class;)Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
arraylength
ifle 7
1: aload 0
getfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.strategy:Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;
aload 0
getfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.instrumentation:Ljava/lang/instrument/Instrumentation;
aload 1
aload 2
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy.reset:(Ljava/lang/instrument/Instrumentation;Lnet/bytebuddy/dynamic/ClassFileLocator;Ljava/util/List;)V
2: goto 7
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
3: astore 3
start local 3 4: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Cannot locate types "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 5: StackMap locals:
StackMap stack: java.lang.instrument.UnmodifiableClassException
astore 3
start local 3 6: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Cannot reset types "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 7: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
0 8 1 classFileLocator Lnet/bytebuddy/dynamic/ClassFileLocator;
0 8 2 type [Ljava/lang/Class;
4 5 3 exception Ljava/lang/ClassNotFoundException;
6 7 3 exception Ljava/lang/instrument/UnmodifiableClassException;
Exception table:
from to target type
1 2 3 Class java.lang.ClassNotFoundException
1 2 5 Class java.lang.instrument.UnmodifiableClassException
Exceptions:
throws java.io.IOException
Signature: (Lnet/bytebuddy/dynamic/ClassFileLocator;[Ljava/lang/Class<*>;)Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
MethodParameters:
Name Flags
classFileLocator
type
public net.bytebuddy.dynamic.loading.ClassReloadingStrategy enableBootstrapInjection(java.io.File);
descriptor: (Ljava/io/File;)Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: new net.bytebuddy.dynamic.loading.ClassReloadingStrategy
dup
aload 0
getfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.instrumentation:Ljava/lang/instrument/Instrumentation;
aload 0
getfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.strategy:Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;
new net.bytebuddy.dynamic.loading.ClassReloadingStrategy$BootstrapInjection$Enabled
dup
aload 1
invokespecial net.bytebuddy.dynamic.loading.ClassReloadingStrategy$BootstrapInjection$Enabled.<init>:(Ljava/io/File;)V
aload 0
getfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.preregisteredTypes:Ljava/util/Map;
invokespecial net.bytebuddy.dynamic.loading.ClassReloadingStrategy.<init>:(Ljava/lang/instrument/Instrumentation;Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$BootstrapInjection;Ljava/util/Map;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
0 1 1 folder Ljava/io/File;
MethodParameters:
Name Flags
folder
public net.bytebuddy.dynamic.loading.ClassReloadingStrategy preregistered(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
aload 0
getfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.preregisteredTypes:Ljava/util/Map;
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
astore 2
start local 2 1: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: net.bytebuddy.dynamic.loading.ClassReloadingStrategy java.lang.Class[] java.util.Map top int int java.lang.Class[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 2
aload 3
invokestatic net.bytebuddy.description.type.TypeDescription$ForLoadedType.getName:(Ljava/lang/Class;)Ljava/lang/String;
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: new net.bytebuddy.dynamic.loading.ClassReloadingStrategy
dup
aload 0
getfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.instrumentation:Ljava/lang/instrument/Instrumentation;
aload 0
getfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.strategy:Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;
aload 0
getfield net.bytebuddy.dynamic.loading.ClassReloadingStrategy.bootstrapInjection:Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$BootstrapInjection;
aload 2
invokespecial net.bytebuddy.dynamic.loading.ClassReloadingStrategy.<init>:(Ljava/lang/instrument/Instrumentation;Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$Strategy;Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy$BootstrapInjection;Ljava/util/Map;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
0 7 1 type [Ljava/lang/Class;
1 7 2 preregisteredTypes Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
3 4 3 aType Ljava/lang/Class<*>;
Signature: ([Ljava/lang/Class<*>;)Lnet/bytebuddy/dynamic/loading/ClassReloadingStrategy;
MethodParameters:
Name Flags
type
}
Signature: Ljava/lang/Object;Lnet/bytebuddy/dynamic/loading/ClassLoadingStrategy<Ljava/lang/ClassLoader;>;
SourceFile: "ClassReloadingStrategy.java"
NestMembers:
net.bytebuddy.dynamic.loading.ClassReloadingStrategy$BootstrapInjection net.bytebuddy.dynamic.loading.ClassReloadingStrategy$BootstrapInjection$Disabled net.bytebuddy.dynamic.loading.ClassReloadingStrategy$BootstrapInjection$Enabled net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Dispatcher net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Dispatcher$CreationAction net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Dispatcher$ForJava6CapableVm net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Dispatcher$ForLegacyVm net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy$1 net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy$2 net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy$ClassRedefinitionTransformer net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy$ClassResettingTransformer
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
public ForLoadedType = net.bytebuddy.description.type.TypeDescription$ForLoadedType of net.bytebuddy.description.type.TypeDescription
public ForClassLoader = net.bytebuddy.dynamic.ClassFileLocator$ForClassLoader of net.bytebuddy.dynamic.ClassFileLocator
public UsingReflection = net.bytebuddy.dynamic.loading.ClassInjector$UsingReflection of net.bytebuddy.dynamic.loading.ClassInjector
protected abstract BootstrapInjection = net.bytebuddy.dynamic.loading.ClassReloadingStrategy$BootstrapInjection of net.bytebuddy.dynamic.loading.ClassReloadingStrategy
public final Disabled = net.bytebuddy.dynamic.loading.ClassReloadingStrategy$BootstrapInjection$Disabled of net.bytebuddy.dynamic.loading.ClassReloadingStrategy$BootstrapInjection
public Enabled = net.bytebuddy.dynamic.loading.ClassReloadingStrategy$BootstrapInjection$Enabled of net.bytebuddy.dynamic.loading.ClassReloadingStrategy$BootstrapInjection
protected abstract Dispatcher = net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Dispatcher of net.bytebuddy.dynamic.loading.ClassReloadingStrategy
public final CreationAction = net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Dispatcher$CreationAction of net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Dispatcher
public abstract Strategy = net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy of net.bytebuddy.dynamic.loading.ClassReloadingStrategy
RuntimeVisibleAnnotations:
net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()