final class io.micronaut.context.DefaultBeanContext$BeanExecutionHandle<T, R> extends io.micronaut.context.DefaultBeanContext$AbstractExecutionHandle<T, R>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.micronaut.context.DefaultBeanContext$BeanExecutionHandle
super_class: io.micronaut.context.DefaultBeanContext$AbstractExecutionHandle
{
private final io.micronaut.context.BeanContext beanContext;
descriptor: Lio/micronaut/context/BeanContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Class<T> beanType;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<TT;>;
private final io.micronaut.context.Qualifier<T> qualifier;
descriptor: Lio/micronaut/context/Qualifier;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/micronaut/context/Qualifier<TT;>;
private final boolean isSingleton;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private T target;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Signature: TT;
void <init>(io.micronaut.context.BeanContext, java.lang.Class<T>, io.micronaut.context.Qualifier<T>, io.micronaut.inject.ExecutableMethod<T, R>);
descriptor: (Lio/micronaut/context/BeanContext;Ljava/lang/Class;Lio/micronaut/context/Qualifier;Lio/micronaut/inject/ExecutableMethod;)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 4
invokespecial io.micronaut.context.DefaultBeanContext$AbstractExecutionHandle.<init>:(Lio/micronaut/inject/ExecutableMethod;)V
1: aload 0
aload 1
putfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.beanContext:Lio/micronaut/context/BeanContext;
2: aload 0
aload 2
putfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.beanType:Ljava/lang/Class;
3: aload 0
aload 3
putfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.qualifier:Lio/micronaut/context/Qualifier;
4: aload 0
aload 1
aload 2
aload 3
invokeinterface io.micronaut.context.BeanContext.findBeanDefinition:(Ljava/lang/Class;Lio/micronaut/context/Qualifier;)Ljava/util/Optional;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
io/micronaut/inject/BeanDefinition.isSingleton()Z (9 itf)
(Lio/micronaut/inject/BeanDefinition;)Ljava/lang/Boolean;
invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
putfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.isSingleton:Z
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 Lio/micronaut/context/DefaultBeanContext$BeanExecutionHandle<TT;TR;>;
0 6 1 beanContext Lio/micronaut/context/BeanContext;
0 6 2 beanType Ljava/lang/Class<TT;>;
0 6 3 qualifier Lio/micronaut/context/Qualifier<TT;>;
0 6 4 method Lio/micronaut/inject/ExecutableMethod<TT;TR;>;
Signature: (Lio/micronaut/context/BeanContext;Ljava/lang/Class<TT;>;Lio/micronaut/context/Qualifier<TT;>;Lio/micronaut/inject/ExecutableMethod<TT;TR;>;)V
MethodParameters:
Name Flags
beanContext
beanType
qualifier
method
public T getTarget();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.target:Ljava/lang/Object;
astore 1
start local 1 1: aload 1
ifnonnull 11
2: aload 0
dup
astore 2
monitorenter
3: aload 0
getfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.target:Ljava/lang/Object;
astore 1
4: aload 1
ifnonnull 7
5: aload 0
getfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.beanContext:Lio/micronaut/context/BeanContext;
aload 0
getfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.beanType:Ljava/lang/Class;
aload 0
getfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.qualifier:Lio/micronaut/context/Qualifier;
invokeinterface io.micronaut.context.BeanContext.getBean:(Ljava/lang/Class;Lio/micronaut/context/Qualifier;)Ljava/lang/Object;
astore 1
6: aload 0
aload 1
putfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.target:Ljava/lang/Object;
7: StackMap locals: java.lang.Object io.micronaut.context.DefaultBeanContext$BeanExecutionHandle
StackMap stack:
aload 2
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/micronaut/context/DefaultBeanContext$BeanExecutionHandle<TT;TR;>;
1 12 1 target TT;
Exception table:
from to target type
3 8 9 any
9 10 9 any
Signature: ()TT;
public java.lang.reflect.Method getTargetMethod();
descriptor: ()Ljava/lang/reflect/Method;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.method:Lio/micronaut/inject/ExecutableMethod;
invokeinterface io.micronaut.inject.ExecutableMethod.getTargetMethod:()Ljava/lang/reflect/Method;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/context/DefaultBeanContext$BeanExecutionHandle<TT;TR;>;
public java.lang.Class getDeclaringType();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.beanType:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/context/DefaultBeanContext$BeanExecutionHandle<TT;TR;>;
public R invoke([]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.isSingleton:Z
ifeq 3
1: aload 0
invokevirtual io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.getTarget:()Ljava/lang/Object;
astore 2
start local 2 2: aload 0
getfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.method:Lio/micronaut/inject/ExecutableMethod;
aload 2
aload 1
invokeinterface io.micronaut.inject.ExecutableMethod.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 3: StackMap locals:
StackMap stack:
aload 0
getfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.method:Lio/micronaut/inject/ExecutableMethod;
aload 0
getfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.beanContext:Lio/micronaut/context/BeanContext;
aload 0
getfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.beanType:Ljava/lang/Class;
aload 0
getfield io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.qualifier:Lio/micronaut/context/Qualifier;
invokeinterface io.micronaut.context.BeanContext.getBean:(Ljava/lang/Class;Lio/micronaut/context/Qualifier;)Ljava/lang/Object;
aload 1
invokeinterface io.micronaut.inject.ExecutableMethod.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/micronaut/context/DefaultBeanContext$BeanExecutionHandle<TT;TR;>;
0 4 1 arguments [Ljava/lang/Object;
2 3 2 target TT;
Signature: ([Ljava/lang/Object;)TR;
MethodParameters:
Name Flags
arguments
}
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>Lio/micronaut/context/DefaultBeanContext$AbstractExecutionHandle<TT;TR;>;
SourceFile: "DefaultBeanContext.java"
NestHost: io.micronaut.context.DefaultBeanContext
InnerClasses:
private abstract AbstractExecutionHandle = io.micronaut.context.DefaultBeanContext$AbstractExecutionHandle of io.micronaut.context.DefaultBeanContext
private final BeanExecutionHandle = io.micronaut.context.DefaultBeanContext$BeanExecutionHandle of io.micronaut.context.DefaultBeanContext
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles