class org.springframework.data.projection.ProxyProjectionFactory$TargetAwareMethodInterceptor implements org.aopalliance.intercept.MethodInterceptor
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.data.projection.ProxyProjectionFactory$TargetAwareMethodInterceptor
super_class: java.lang.Object
{
private static final java.lang.reflect.Method GET_TARGET_CLASS_METHOD;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Method GET_TARGET_METHOD;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.Class<?> targetType;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: ldc Lorg/springframework/data/projection/TargetAware;
ldc "getTargetClass"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
putstatic org.springframework.data.projection.ProxyProjectionFactory$TargetAwareMethodInterceptor.GET_TARGET_CLASS_METHOD:Ljava/lang/reflect/Method;
1: ldc Lorg/springframework/data/projection/TargetAware;
ldc "getTarget"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
putstatic org.springframework.data.projection.ProxyProjectionFactory$TargetAwareMethodInterceptor.GET_TARGET_METHOD:Ljava/lang/reflect/Method;
2: goto 5
StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
3: astore 0
start local 0 4: new java.lang.IllegalStateException
dup
aload 0
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 0 5: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
4 5 0 e Ljava/lang/NoSuchMethodException;
Exception table:
from to target type
0 2 3 Class java.lang.NoSuchMethodException
public void <init>(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "Target type must not be null!"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
putfield org.springframework.data.projection.ProxyProjectionFactory$TargetAwareMethodInterceptor.targetType:Ljava/lang/Class;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/data/projection/ProxyProjectionFactory$TargetAwareMethodInterceptor;
0 4 1 targetType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
targetType
public java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation);
descriptor: (Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.aopalliance.intercept.MethodInvocation.getMethod:()Ljava/lang/reflect/Method;
getstatic org.springframework.data.projection.ProxyProjectionFactory$TargetAwareMethodInterceptor.GET_TARGET_CLASS_METHOD:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.equals:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
getfield org.springframework.data.projection.ProxyProjectionFactory$TargetAwareMethodInterceptor.targetType:Ljava/lang/Class;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.aopalliance.intercept.MethodInvocation.getMethod:()Ljava/lang/reflect/Method;
getstatic org.springframework.data.projection.ProxyProjectionFactory$TargetAwareMethodInterceptor.GET_TARGET_METHOD:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 1
invokeinterface org.aopalliance.intercept.MethodInvocation.getThis:()Ljava/lang/Object;
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.aopalliance.intercept.MethodInvocation.proceed:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/data/projection/ProxyProjectionFactory$TargetAwareMethodInterceptor;
0 5 1 invocation Lorg/aopalliance/intercept/MethodInvocation;
Exceptions:
throws java.lang.Throwable
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
invocation
}
SourceFile: "ProxyProjectionFactory.java"
NestHost: org.springframework.data.projection.ProxyProjectionFactory
InnerClasses:
private TargetAwareMethodInterceptor = org.springframework.data.projection.ProxyProjectionFactory$TargetAwareMethodInterceptor of org.springframework.data.projection.ProxyProjectionFactory