public class net.bytebuddy.dynamic.loading.MultipleParentClassLoader extends net.bytebuddy.dynamic.loading.InjectionClassLoader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.bytebuddy.dynamic.loading.MultipleParentClassLoader
super_class: net.bytebuddy.dynamic.loading.InjectionClassLoader
{
private final java.util.List<? extends java.lang.ClassLoader> parents;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<+Ljava/lang/ClassLoader;>;
public void <init>(java.util.List<? extends java.lang.ClassLoader>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic net.bytebuddy.dynamic.loading.ClassLoadingStrategy.BOOTSTRAP_LOADER:Ljava/lang/ClassLoader;
aload 1
invokespecial net.bytebuddy.dynamic.loading.MultipleParentClassLoader.<init>:(Ljava/lang/ClassLoader;Ljava/util/List;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lnet/bytebuddy/dynamic/loading/MultipleParentClassLoader;
0 2 1 parents Ljava/util/List<+Ljava/lang/ClassLoader;>;
Signature: (Ljava/util/List<+Ljava/lang/ClassLoader;>;)V
MethodParameters:
Name Flags
parents
public void <init>(java.lang.ClassLoader, java.util.List<? extends java.lang.ClassLoader>);
descriptor: (Ljava/lang/ClassLoader;Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokespecial net.bytebuddy.dynamic.loading.MultipleParentClassLoader.<init>:(Ljava/lang/ClassLoader;Ljava/util/List;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lnet/bytebuddy/dynamic/loading/MultipleParentClassLoader;
0 2 1 parent Ljava/lang/ClassLoader;
0 2 2 parents Ljava/util/List<+Ljava/lang/ClassLoader;>;
Signature: (Ljava/lang/ClassLoader;Ljava/util/List<+Ljava/lang/ClassLoader;>;)V
MethodParameters:
Name Flags
parent
parents
public void <init>(java.lang.ClassLoader, java.util.List<? extends java.lang.ClassLoader>, );
descriptor: (Ljava/lang/ClassLoader;Ljava/util/List;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 3
invokespecial net.bytebuddy.dynamic.loading.InjectionClassLoader.<init>:(Ljava/lang/ClassLoader;Z)V
1: aload 0
aload 2
putfield net.bytebuddy.dynamic.loading.MultipleParentClassLoader.parents:Ljava/util/List;
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lnet/bytebuddy/dynamic/loading/MultipleParentClassLoader;
0 3 1 parent Ljava/lang/ClassLoader;
0 3 2 parents Ljava/util/List<+Ljava/lang/ClassLoader;>;
0 3 3 sealed Z
Signature: (Ljava/lang/ClassLoader;Ljava/util/List<+Ljava/lang/ClassLoader;>;Z)V
MethodParameters:
Name Flags
parent
parents
sealed
protected java.lang.Class<?> loadClass(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield net.bytebuddy.dynamic.loading.MultipleParentClassLoader.parents:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: net.bytebuddy.dynamic.loading.MultipleParentClassLoader java.lang.String int top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ClassLoader
astore 3
start local 3 2: aload 3
aload 1
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 5
start local 5 3: iload 2
ifeq 5
4: aload 0
aload 5
invokevirtual net.bytebuddy.dynamic.loading.MultipleParentClassLoader.resolveClass:(Ljava/lang/Class;)V
5: StackMap locals: net.bytebuddy.dynamic.loading.MultipleParentClassLoader java.lang.String int java.lang.ClassLoader java.util.Iterator java.lang.Class
StackMap stack:
aload 5
6: areturn
end local 5 7: StackMap locals: net.bytebuddy.dynamic.loading.MultipleParentClassLoader java.lang.String int java.lang.ClassLoader java.util.Iterator
StackMap stack: java.lang.ClassNotFoundException
pop
end local 3 8: StackMap locals: net.bytebuddy.dynamic.loading.MultipleParentClassLoader java.lang.String int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
9: aload 0
aload 1
iload 2
invokespecial net.bytebuddy.dynamic.loading.InjectionClassLoader.loadClass:(Ljava/lang/String;Z)Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lnet/bytebuddy/dynamic/loading/MultipleParentClassLoader;
0 10 1 name Ljava/lang/String;
0 10 2 resolve Z
2 8 3 parent Ljava/lang/ClassLoader;
3 7 5 type Ljava/lang/Class<*>;
Exception table:
from to target type
2 6 7 Class java.lang.ClassNotFoundException
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;Z)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
resolve
public java.net.URL getResource(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/net/URL;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield net.bytebuddy.dynamic.loading.MultipleParentClassLoader.parents:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: net.bytebuddy.dynamic.loading.MultipleParentClassLoader java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ClassLoader
astore 2
start local 2 2: aload 2
aload 1
invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
astore 4
start local 4 3: aload 4
ifnull 5
4: aload 4
areturn
end local 4 end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: aload 0
aload 1
invokespecial net.bytebuddy.dynamic.loading.InjectionClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lnet/bytebuddy/dynamic/loading/MultipleParentClassLoader;
0 7 1 name Ljava/lang/String;
2 5 2 parent Ljava/lang/ClassLoader;
3 5 4 url Ljava/net/URL;
MethodParameters:
Name Flags
name
public java.util.Enumeration<java.net.URL> getResources(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 0
getfield net.bytebuddy.dynamic.loading.MultipleParentClassLoader.parents:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 1: aload 0
getfield net.bytebuddy.dynamic.loading.MultipleParentClassLoader.parents:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: net.bytebuddy.dynamic.loading.MultipleParentClassLoader java.lang.String java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ClassLoader
astore 3
start local 3 3: aload 2
aload 3
aload 1
invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 2
aload 0
aload 1
invokespecial net.bytebuddy.dynamic.loading.InjectionClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: new net.bytebuddy.dynamic.loading.MultipleParentClassLoader$CompoundEnumeration
dup
aload 2
invokespecial net.bytebuddy.dynamic.loading.MultipleParentClassLoader$CompoundEnumeration.<init>:(Ljava/util/List;)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/MultipleParentClassLoader;
0 7 1 name Ljava/lang/String;
1 7 2 enumerations Ljava/util/List<Ljava/util/Enumeration<Ljava/net/URL;>;>;
3 4 3 parent Ljava/lang/ClassLoader;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
MethodParameters:
Name Flags
name
protected java.util.Map<java.lang.String, java.lang.Class<?>> doDefineClasses(java.util.Map<java.lang.String, byte[]>);
descriptor: (Ljava/util/Map;)Ljava/util/Map;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 1: aload 1
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: net.bytebuddy.dynamic.loading.MultipleParentClassLoader java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 3: aload 2
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 0
aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast byte[]
iconst_0
aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast byte[]
arraylength
invokevirtual net.bytebuddy.dynamic.loading.MultipleParentClassLoader.defineClass:(Ljava/lang/String;[BII)Ljava/lang/Class;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lnet/bytebuddy/dynamic/loading/MultipleParentClassLoader;
0 6 1 typeDefinitions Ljava/util/Map<Ljava/lang/String;[B>;
1 6 2 types Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
3 4 3 entry Ljava/util/Map$Entry<Ljava/lang/String;[B>;
Signature: (Ljava/util/Map<Ljava/lang/String;[B>;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
MethodParameters:
Name Flags
typeDefinitions
}
SourceFile: "MultipleParentClassLoader.java"
NestMembers:
net.bytebuddy.dynamic.loading.MultipleParentClassLoader$Builder net.bytebuddy.dynamic.loading.MultipleParentClassLoader$CompoundEnumeration
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public Builder = net.bytebuddy.dynamic.loading.MultipleParentClassLoader$Builder of net.bytebuddy.dynamic.loading.MultipleParentClassLoader
protected CompoundEnumeration = net.bytebuddy.dynamic.loading.MultipleParentClassLoader$CompoundEnumeration of net.bytebuddy.dynamic.loading.MultipleParentClassLoader