public class net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate implements net.bytebuddy.description.type.TypeDescription$SuperTypeLoading$ClassLoadingDelegate
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate
super_class: java.lang.Object
{
private final java.util.concurrent.ExecutorService executorService;
descriptor: Ljava/util/concurrent/ExecutorService;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected void <init>(java.util.concurrent.ExecutorService);
descriptor: (Ljava/util/concurrent/ExecutorService;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 // net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate this
start local 1 // java.util.concurrent.ExecutorService executorService
0: .line 3681
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 3682
aload 0 /* this */
aload 1 /* executorService */
putfield net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate.executorService:Ljava/util/concurrent/ExecutorService;
2: .line 3683
return
end local 1 // java.util.concurrent.ExecutorService executorService
end local 0 // net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lnet/bytebuddy/agent/builder/AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate;
0 3 1 executorService Ljava/util/concurrent/ExecutorService;
MethodParameters:
Name Flags
executorService
public java.lang.Class<?> load(java.lang.String, java.lang.ClassLoader);
descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=3
start local 0 // net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate this
start local 1 // java.lang.String name
start local 2 // java.lang.ClassLoader classLoader
0: .line 3689
aload 2 /* classLoader */
ifnull 1
aload 2 /* classLoader */
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 3 /* holdsLock */
start local 3 // boolean holdsLock
3: .line 3690
new java.util.concurrent.atomic.AtomicBoolean
dup
iload 3 /* holdsLock */
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
astore 4 /* signal */
start local 4 // java.util.concurrent.atomic.AtomicBoolean signal
4: .line 3691
aload 0 /* this */
getfield net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate.executorService:Ljava/util/concurrent/ExecutorService;
iload 3 /* holdsLock */
ifeq 6
5: .line 3692
new net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate$NotifyingClassLoadingAction
dup
aload 1 /* name */
aload 2 /* classLoader */
aload 4 /* signal */
invokespecial net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate$NotifyingClassLoadingAction.<init>:(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/concurrent/atomic/AtomicBoolean;)V
goto 7
6: .line 3693
StackMap locals: net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate java.lang.String java.lang.ClassLoader int java.util.concurrent.atomic.AtomicBoolean
StackMap stack: java.util.concurrent.ExecutorService
new net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate$SimpleClassLoadingAction
dup
aload 1 /* name */
aload 2 /* classLoader */
invokespecial net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate$SimpleClassLoadingAction.<init>:(Ljava/lang/String;Ljava/lang/ClassLoader;)V
7: .line 3691
StackMap locals: net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate java.lang.String java.lang.ClassLoader int java.util.concurrent.atomic.AtomicBoolean
StackMap stack: java.util.concurrent.ExecutorService java.util.concurrent.Callable
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
astore 5 /* future */
start local 5 // java.util.concurrent.Future future
8: .line 3695
goto 10
9: .line 3696
StackMap locals: java.util.concurrent.Future
StackMap stack:
aload 2 /* classLoader */
invokevirtual java.lang.Object.wait:()V
10: .line 3695
StackMap locals:
StackMap stack:
iload 3 /* holdsLock */
ifeq 11
aload 4 /* signal */
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ifne 9
11: .line 3698
StackMap locals:
StackMap stack:
aload 5 /* future */
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
checkcast java.lang.Class
12: areturn
13: .line 3699
StackMap locals:
StackMap stack: java.util.concurrent.ExecutionException
astore 6 /* exception */
start local 6 // java.util.concurrent.ExecutionException exception
14: .line 3700
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Could not load "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* name */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " asynchronously"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6 /* exception */
invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 // java.util.concurrent.ExecutionException exception
15: .line 3701
StackMap locals:
StackMap stack: java.lang.Exception
astore 6 /* exception */
start local 6 // java.lang.Exception exception
16: .line 3702
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Could not load "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* name */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " asynchronously"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6 /* exception */
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 // java.lang.Exception exception
end local 5 // java.util.concurrent.Future future
end local 4 // java.util.concurrent.atomic.AtomicBoolean signal
end local 3 // boolean holdsLock
end local 2 // java.lang.ClassLoader classLoader
end local 1 // java.lang.String name
end local 0 // net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lnet/bytebuddy/agent/builder/AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate;
0 17 1 name Ljava/lang/String;
0 17 2 classLoader Ljava/lang/ClassLoader;
3 17 3 holdsLock Z
4 17 4 signal Ljava/util/concurrent/atomic/AtomicBoolean;
8 17 5 future Ljava/util/concurrent/Future<Ljava/lang/Class<*>;>;
14 15 6 exception Ljava/util/concurrent/ExecutionException;
16 17 6 exception Ljava/lang/Exception;
Exception table:
from to target type
8 12 13 Class java.util.concurrent.ExecutionException
8 12 15 Class java.lang.Exception
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
classLoader
}
SourceFile: "AgentBuilder.java"
NestHost: net.bytebuddy.agent.builder.AgentBuilder
InnerClasses:
public abstract DescriptionStrategy = net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy of net.bytebuddy.agent.builder.AgentBuilder
public SuperTypeLoading = net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading of net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy
public Asynchronous = net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous of net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading
protected ThreadSwitchingClassLoadingDelegate = net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate of net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous
protected NotifyingClassLoadingAction = net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate$NotifyingClassLoadingAction of net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate
protected SimpleClassLoadingAction = net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate$SimpleClassLoadingAction of net.bytebuddy.agent.builder.AgentBuilder$DescriptionStrategy$SuperTypeLoading$Asynchronous$ThreadSwitchingClassLoadingDelegate
public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
public SuperTypeLoading = net.bytebuddy.description.type.TypeDescription$SuperTypeLoading of net.bytebuddy.description.type.TypeDescription
public abstract ClassLoadingDelegate = net.bytebuddy.description.type.TypeDescription$SuperTypeLoading$ClassLoadingDelegate of net.bytebuddy.description.type.TypeDescription$SuperTypeLoading
RuntimeVisibleAnnotations:
net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()