public abstract class org.springframework.aop.aspectj.AbstractAspectJAdvice implements org.aopalliance.aop.Advice, org.springframework.aop.aspectj.AspectJPrecedenceInformation, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.springframework.aop.aspectj.AbstractAspectJAdvice
super_class: java.lang.Object
{
protected static final java.lang.String JOIN_POINT_KEY;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
private final java.lang.Class<?> declaringClass;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private final java.lang.String methodName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Class<?>[] parameterTypes;
descriptor: [Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Ljava/lang/Class<*>;
protected transient java.lang.reflect.Method aspectJAdviceMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT
private final org.springframework.aop.aspectj.AspectJExpressionPointcut pointcut;
descriptor: Lorg/springframework/aop/aspectj/AspectJExpressionPointcut;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.springframework.aop.aspectj.AspectInstanceFactory aspectInstanceFactory;
descriptor: Lorg/springframework/aop/aspectj/AspectInstanceFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String aspectName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int declarationOrder;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String[] argumentNames;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.lang.String throwingName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.lang.String returningName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.lang.Class<?> discoveredReturningType;
descriptor: Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/Class<*>;
private java.lang.Class<?> discoveredThrowingType;
descriptor: Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/Class<*>;
private int joinPointArgumentIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int joinPointStaticPartArgumentIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, java.lang.Integer> argumentBindings;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private boolean argumentsIntrospected;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.reflect.Type discoveredReturningGenericType;
descriptor: Ljava/lang/reflect/Type;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/aspectj/lang/JoinPoint;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
putstatic org.springframework.aop.aspectj.AbstractAspectJAdvice.JOIN_POINT_KEY:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
public static org.aspectj.lang.JoinPoint currentJoinPoint();
descriptor: ()Lorg/aspectj/lang/JoinPoint;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=0
0: invokestatic org.springframework.aop.interceptor.ExposeInvocationInterceptor.currentInvocation:()Lorg/aopalliance/intercept/MethodInvocation;
astore 0
start local 0 1: aload 0
instanceof org.springframework.aop.ProxyMethodInvocation
ifne 3
2: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "MethodInvocation is not a Spring ProxyMethodInvocation: "
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.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.aopalliance.intercept.MethodInvocation
StackMap stack:
aload 0
checkcast org.springframework.aop.ProxyMethodInvocation
astore 1
start local 1 4: aload 1
getstatic org.springframework.aop.aspectj.AbstractAspectJAdvice.JOIN_POINT_KEY:Ljava/lang/String;
invokeinterface org.springframework.aop.ProxyMethodInvocation.getUserAttribute:(Ljava/lang/String;)Ljava/lang/Object;
checkcast org.aspectj.lang.JoinPoint
astore 2
start local 2 5: aload 2
ifnonnull 8
6: new org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint
dup
aload 1
invokespecial org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.<init>:(Lorg/springframework/aop/ProxyMethodInvocation;)V
astore 2
7: aload 1
getstatic org.springframework.aop.aspectj.AbstractAspectJAdvice.JOIN_POINT_KEY:Ljava/lang/String;
aload 2
invokeinterface org.springframework.aop.ProxyMethodInvocation.setUserAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
8: StackMap locals: org.springframework.aop.ProxyMethodInvocation org.aspectj.lang.JoinPoint
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 9 0 mi Lorg/aopalliance/intercept/MethodInvocation;
4 9 1 pmi Lorg/springframework/aop/ProxyMethodInvocation;
5 9 2 jp Lorg/aspectj/lang/JoinPoint;
public void <init>(java.lang.reflect.Method, org.springframework.aop.aspectj.AspectJExpressionPointcut, org.springframework.aop.aspectj.AspectInstanceFactory);
descriptor: (Ljava/lang/reflect/Method;Lorg/springframework/aop/aspectj/AspectJExpressionPointcut;Lorg/springframework/aop/aspectj/AspectInstanceFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc ""
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectName:Ljava/lang/String;
2: aload 0
ldc Ljava/lang/Object;
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.discoveredReturningType:Ljava/lang/Class;
3: aload 0
ldc Ljava/lang/Object;
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.discoveredThrowingType:Ljava/lang/Class;
4: aload 0
iconst_m1
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.joinPointArgumentIndex:I
5: aload 0
iconst_m1
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.joinPointStaticPartArgumentIndex:I
6: aload 0
iconst_0
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentsIntrospected:Z
7: aload 1
ldc "Advice method must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
8: aload 0
aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.declaringClass:Ljava/lang/Class;
9: aload 0
aload 1
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.methodName:Ljava/lang/String;
10: aload 0
aload 1
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.parameterTypes:[Ljava/lang/Class;
11: aload 0
aload 1
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
12: aload 0
aload 2
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.pointcut:Lorg/springframework/aop/aspectj/AspectJExpressionPointcut;
13: aload 0
aload 3
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectInstanceFactory:Lorg/springframework/aop/aspectj/AspectInstanceFactory;
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 15 1 aspectJAdviceMethod Ljava/lang/reflect/Method;
0 15 2 pointcut Lorg/springframework/aop/aspectj/AspectJExpressionPointcut;
0 15 3 aspectInstanceFactory Lorg/springframework/aop/aspectj/AspectInstanceFactory;
MethodParameters:
Name Flags
aspectJAdviceMethod
pointcut
aspectInstanceFactory
public final java.lang.reflect.Method getAspectJAdviceMethod();
descriptor: ()Ljava/lang/reflect/Method;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
public final org.springframework.aop.aspectj.AspectJExpressionPointcut getPointcut();
descriptor: ()Lorg/springframework/aop/aspectj/AspectJExpressionPointcut;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.calculateArgumentBindings:()V
1: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.pointcut:Lorg/springframework/aop/aspectj/AspectJExpressionPointcut;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
public final org.springframework.aop.Pointcut buildSafePointcut();
descriptor: ()Lorg/springframework/aop/Pointcut;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.getPointcut:()Lorg/springframework/aop/aspectj/AspectJExpressionPointcut;
astore 1
start local 1 1: new org.springframework.aop.aspectj.AbstractAspectJAdvice$AdviceExcludingMethodMatcher
dup
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
invokespecial org.springframework.aop.aspectj.AbstractAspectJAdvice$AdviceExcludingMethodMatcher.<init>:(Ljava/lang/reflect/Method;)V
aload 1
invokeinterface org.springframework.aop.Pointcut.getMethodMatcher:()Lorg/springframework/aop/MethodMatcher;
2: invokestatic org.springframework.aop.support.MethodMatchers.intersection:(Lorg/springframework/aop/MethodMatcher;Lorg/springframework/aop/MethodMatcher;)Lorg/springframework/aop/MethodMatcher;
astore 2
start local 2 3: new org.springframework.aop.support.ComposablePointcut
dup
aload 1
invokeinterface org.springframework.aop.Pointcut.getClassFilter:()Lorg/springframework/aop/ClassFilter;
aload 2
invokespecial org.springframework.aop.support.ComposablePointcut.<init>:(Lorg/springframework/aop/ClassFilter;Lorg/springframework/aop/MethodMatcher;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
1 4 1 pc Lorg/springframework/aop/Pointcut;
3 4 2 safeMethodMatcher Lorg/springframework/aop/MethodMatcher;
public final org.springframework.aop.aspectj.AspectInstanceFactory getAspectInstanceFactory();
descriptor: ()Lorg/springframework/aop/aspectj/AspectInstanceFactory;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectInstanceFactory:Lorg/springframework/aop/aspectj/AspectInstanceFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
public final java.lang.ClassLoader getAspectClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectInstanceFactory:Lorg/springframework/aop/aspectj/AspectInstanceFactory;
invokeinterface org.springframework.aop.aspectj.AspectInstanceFactory.getAspectClassLoader:()Ljava/lang/ClassLoader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public int getOrder();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectInstanceFactory:Lorg/springframework/aop/aspectj/AspectInstanceFactory;
invokeinterface org.springframework.aop.aspectj.AspectInstanceFactory.getOrder:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
public void setAspectName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public java.lang.String getAspectName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
public void setDeclarationOrder(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.declarationOrder:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 2 1 order I
MethodParameters:
Name Flags
order
public int getDeclarationOrder();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.declarationOrder:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
public void setArgumentNames(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.springframework.util.StringUtils.commaDelimitedListToStringArray:(Ljava/lang/String;)[Ljava/lang/String;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.setArgumentNamesFromStringArray:([Ljava/lang/String;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 3 1 argNames Ljava/lang/String;
1 3 2 tokens [Ljava/lang/String;
MethodParameters:
Name Flags
argNames
public void setArgumentNamesFromStringArray(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
arraylength
anewarray java.lang.String
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
1: iconst_0
istore 2
start local 2 2: goto 11
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
iload 2
aload 1
iload 2
aaload
invokestatic org.springframework.util.StringUtils.trimWhitespace:(Ljava/lang/String;)Ljava/lang/String;
aastore
4: aload 0
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
iload 2
aaload
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.isVariableName:(Ljava/lang/String;)Z
ifne 10
5: new java.lang.IllegalArgumentException
dup
6: new java.lang.StringBuilder
dup
ldc "'argumentNames' property of AbstractAspectJAdvice contains an argument name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' that is not a valid Java identifier"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
aload 1
arraylength
if_icmplt 3
end local 2 12: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
ifnull 22
13: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getParameterCount:()I
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
arraylength
iconst_1
iadd
if_icmpne 22
14: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
iconst_0
aaload
astore 2
start local 2 15: aload 2
ldc Lorg/aspectj/lang/JoinPoint;
if_acmpeq 18
16: aload 2
ldc Lorg/aspectj/lang/ProceedingJoinPoint;
if_acmpeq 18
17: aload 2
ldc Lorg/aspectj/lang/JoinPoint$StaticPart;
if_acmpne 22
18: StackMap locals: org.springframework.aop.aspectj.AbstractAspectJAdvice java.lang.String[] java.lang.Class
StackMap stack:
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
astore 3
start local 3 19: aload 0
aload 3
arraylength
iconst_1
iadd
anewarray java.lang.String
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
20: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
iconst_0
ldc "THIS_JOIN_POINT"
aastore
21: aload 3
iconst_0
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
iconst_1
aload 3
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 3 end local 2 22: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 23 1 args [Ljava/lang/String;
2 12 2 i I
15 22 2 firstArgType Ljava/lang/Class<*>;
19 22 3 oldNames [Ljava/lang/String;
MethodParameters:
Name Flags
args
public void setReturningName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
ldc "Only afterReturning advice can be used to bind a return value"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
protected void setReturningNameNoCheck(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.isVariableName:(Ljava/lang/String;)Z
ifeq 3
1: aload 0
aload 1
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.returningName:Ljava/lang/String;
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.getAspectClassLoader:()Ljava/lang/ClassLoader;
invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.discoveredReturningType:Ljava/lang/Class;
4: goto 10
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 6: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Returning name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc "' is neither a valid argument name nor the fully-qualified "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc "name of a Java type on the classpath. Root cause: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 11 1 name Ljava/lang/String;
6 10 2 ex Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.lang.Throwable
MethodParameters:
Name Flags
name
protected java.lang.Class<?> getDiscoveredReturningType();
descriptor: ()Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.discoveredReturningType:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
Signature: ()Ljava/lang/Class<*>;
protected java.lang.reflect.Type getDiscoveredReturningGenericType();
descriptor: ()Ljava/lang/reflect/Type;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.discoveredReturningGenericType:Ljava/lang/reflect/Type;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void setThrowingName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
ldc "Only afterThrowing advice can be used to bind a thrown exception"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
protected void setThrowingNameNoCheck(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.isVariableName:(Ljava/lang/String;)Z
ifeq 3
1: aload 0
aload 1
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.throwingName:Ljava/lang/String;
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.getAspectClassLoader:()Ljava/lang/ClassLoader;
invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.discoveredThrowingType:Ljava/lang/Class;
4: goto 10
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 6: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Throwing name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc "' is neither a valid argument name nor the fully-qualified "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc "name of a Java type on the classpath. Root cause: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 11 1 name Ljava/lang/String;
6 10 2 ex Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.lang.Throwable
MethodParameters:
Name Flags
name
protected java.lang.Class<?> getDiscoveredThrowingType();
descriptor: ()Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.discoveredThrowingType:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
Signature: ()Ljava/lang/Class<*>;
private boolean isVariableName(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.toCharArray:()[C
astore 2
start local 2 1: aload 2
iconst_0
caload
invokestatic java.lang.Character.isJavaIdentifierStart:(C)Z
ifne 3
2: iconst_0
ireturn
3: StackMap locals: char[]
StackMap stack:
iconst_1
istore 3
start local 3 4: goto 8
5: StackMap locals: int
StackMap stack:
aload 2
iload 3
caload
invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
ifne 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 2
arraylength
if_icmplt 5
end local 3 9: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 10 1 name Ljava/lang/String;
1 10 2 chars [C
4 9 3 i I
MethodParameters:
Name Flags
name
public final synchronized void calculateArgumentBindings();
descriptor: ()V
flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentsIntrospected:Z
ifne 1
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.parameterTypes:[Ljava/lang/Class;
arraylength
ifne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.parameterTypes:[Ljava/lang/Class;
arraylength
istore 1
start local 1 3: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 2
start local 2 4: aload 0
aload 2
iconst_0
aaload
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.maybeBindJoinPoint:(Ljava/lang/Class;)Z
ifne 6
aload 0
aload 2
iconst_0
aaload
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.maybeBindProceedingJoinPoint:(Ljava/lang/Class;)Z
ifne 6
5: aload 0
aload 2
iconst_0
aaload
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.maybeBindJoinPointStaticPart:(Ljava/lang/Class;)Z
ifeq 7
6: StackMap locals: int java.lang.Class[]
StackMap stack:
iinc 1 -1
7: StackMap locals:
StackMap stack:
iload 1
ifle 9
8: aload 0
iload 1
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.bindArgumentsByName:(I)V
9: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentsIntrospected:Z
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
3 11 1 numUnboundArgs I
4 11 2 parameterTypes [Ljava/lang/Class;
private boolean maybeBindJoinPoint(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc Lorg/aspectj/lang/JoinPoint;
aload 1
if_acmpne 3
1: aload 0
iconst_0
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.joinPointArgumentIndex:I
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 4 1 candidateParameterType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
candidateParameterType
private boolean maybeBindProceedingJoinPoint(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: ldc Lorg/aspectj/lang/ProceedingJoinPoint;
aload 1
if_acmpne 5
1: aload 0
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.supportsProceedingJoinPoint:()Z
ifne 3
2: new java.lang.IllegalArgumentException
dup
ldc "ProceedingJoinPoint is only supported for around advice"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.joinPointArgumentIndex:I
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 6 1 candidateParameterType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
candidateParameterType
protected boolean supportsProceedingJoinPoint();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
private boolean maybeBindJoinPointStaticPart(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc Lorg/aspectj/lang/JoinPoint$StaticPart;
aload 1
if_acmpne 3
1: aload 0
iconst_0
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.joinPointStaticPartArgumentIndex:I
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 4 1 candidateParameterType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
candidateParameterType
private void bindArgumentsByName(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
ifnonnull 2
1: aload 0
aload 0
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.createParameterNameDiscoverer:()Lorg/springframework/core/ParameterNameDiscoverer;
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
invokeinterface org.springframework.core.ParameterNameDiscoverer.getParameterNames:(Ljava/lang/reflect/Method;)[Ljava/lang/String;
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
ifnull 5
3: aload 0
iload 1
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.bindExplicitArguments:(I)V
4: goto 9
5: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Advice method ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc "requires "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " arguments to be bound by name, but "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc "the argument names were not specified and could not be discovered."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 10 1 numArgumentsExpectingToBind I
MethodParameters:
Name Flags
numArgumentsExpectingToBind
protected org.springframework.core.ParameterNameDiscoverer createParameterNameDiscoverer();
descriptor: ()Lorg/springframework/core/ParameterNameDiscoverer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=1
start local 0 0: new org.springframework.core.DefaultParameterNameDiscoverer
dup
invokespecial org.springframework.core.DefaultParameterNameDiscoverer.<init>:()V
astore 1
start local 1 1: new org.springframework.aop.aspectj.AspectJAdviceParameterNameDiscoverer
dup
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.pointcut:Lorg/springframework/aop/aspectj/AspectJExpressionPointcut;
invokevirtual org.springframework.aop.aspectj.AspectJExpressionPointcut.getExpression:()Ljava/lang/String;
invokespecial org.springframework.aop.aspectj.AspectJAdviceParameterNameDiscoverer.<init>:(Ljava/lang/String;)V
2: astore 2
start local 2 3: aload 2
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.returningName:Ljava/lang/String;
invokevirtual org.springframework.aop.aspectj.AspectJAdviceParameterNameDiscoverer.setReturningName:(Ljava/lang/String;)V
4: aload 2
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.throwingName:Ljava/lang/String;
invokevirtual org.springframework.aop.aspectj.AspectJAdviceParameterNameDiscoverer.setThrowingName:(Ljava/lang/String;)V
5: aload 2
iconst_1
invokevirtual org.springframework.aop.aspectj.AspectJAdviceParameterNameDiscoverer.setRaiseExceptions:(Z)V
6: aload 1
aload 2
invokevirtual org.springframework.core.DefaultParameterNameDiscoverer.addDiscoverer:(Lorg/springframework/core/ParameterNameDiscoverer;)V
7: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
1 8 1 discoverer Lorg/springframework/core/DefaultParameterNameDiscoverer;
3 8 2 adviceParameterNameDiscoverer Lorg/springframework/aop/aspectj/AspectJAdviceParameterNameDiscoverer;
private void bindExplicitArguments(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No argument names available"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentBindings:Ljava/util/Map;
4: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getParameterCount:()I
istore 2
start local 2 5: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
arraylength
iload 2
if_icmpeq 10
6: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Expecting to find "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
7: ldc " arguments to bind by name in advice, but actually found "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " arguments."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: int
StackMap stack:
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.parameterTypes:[Ljava/lang/Class;
arraylength
iload 1
isub
istore 3
start local 3 11: iload 3
istore 4
start local 4 12: goto 15
13: StackMap locals: int int
StackMap stack:
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentBindings:Ljava/util/Map;
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
iload 4
aaload
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: iinc 4 1
StackMap locals:
StackMap stack:
15: iload 4
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
arraylength
if_icmplt 13
end local 4 16: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.returningName:Ljava/lang/String;
ifnull 24
17: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentBindings:Ljava/util/Map;
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.returningName:Ljava/lang/String;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 21
18: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Returning argument name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.returningName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: ldc "' was not bound in advice arguments"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentBindings:Ljava/util/Map;
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.returningName:Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 4
start local 4 22: aload 0
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
aload 4
invokevirtual java.lang.Integer.intValue:()I
aaload
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.discoveredReturningType:Ljava/lang/Class;
23: aload 0
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
aload 4
invokevirtual java.lang.Integer.intValue:()I
aaload
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.discoveredReturningGenericType:Ljava/lang/reflect/Type;
end local 4 24: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.throwingName:Ljava/lang/String;
ifnull 31
25: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentBindings:Ljava/util/Map;
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.throwingName:Ljava/lang/String;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 29
26: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Throwing argument name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.throwingName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
27: ldc "' was not bound in advice arguments"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
28: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentBindings:Ljava/util/Map;
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.throwingName:Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 4
start local 4 30: aload 0
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
aload 4
invokevirtual java.lang.Integer.intValue:()I
aaload
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.discoveredThrowingType:Ljava/lang/Class;
end local 4 31: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentNames:[Ljava/lang/String;
iload 3
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.configurePointcutParameters:([Ljava/lang/String;I)V
32: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 33 1 numArgumentsLeftToBind I
5 33 2 numExpectedArgumentNames I
11 33 3 argumentIndexOffset I
12 16 4 i I
22 24 4 index Ljava/lang/Integer;
30 31 4 index Ljava/lang/Integer;
MethodParameters:
Name Flags
numArgumentsLeftToBind
private void configurePointcutParameters(java.lang.String[], int);
descriptor: ([Ljava/lang/String;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: iload 2
istore 3
start local 3 1: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.returningName:Ljava/lang/String;
ifnull 3
2: iinc 3 1
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.throwingName:Ljava/lang/String;
ifnull 5
4: iinc 3 1
5: StackMap locals:
StackMap stack:
aload 1
arraylength
iload 3
isub
anewarray java.lang.String
astore 4
start local 4 6: aload 4
arraylength
anewarray java.lang.Class
astore 5
start local 5 7: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 6
start local 6 8: iconst_0
istore 7
start local 7 9: iconst_0
istore 8
start local 8 10: goto 20
11: StackMap locals: org.springframework.aop.aspectj.AbstractAspectJAdvice java.lang.String[] int int java.lang.String[] java.lang.Class[] java.lang.Class[] int int
StackMap stack:
iload 8
iload 2
if_icmpge 13
12: goto 19
13: StackMap locals:
StackMap stack:
aload 1
iload 8
aaload
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.returningName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 19
14: aload 1
iload 8
aaload
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.throwingName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
15: goto 19
16: StackMap locals:
StackMap stack:
aload 4
iload 7
aload 1
iload 8
aaload
aastore
17: aload 5
iload 7
aload 6
iload 8
aaload
aastore
18: iinc 7 1
19: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
20: iload 8
aload 1
arraylength
if_icmplt 11
end local 8 21: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.pointcut:Lorg/springframework/aop/aspectj/AspectJExpressionPointcut;
aload 4
invokevirtual org.springframework.aop.aspectj.AspectJExpressionPointcut.setParameterNames:([Ljava/lang/String;)V
22: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.pointcut:Lorg/springframework/aop/aspectj/AspectJExpressionPointcut;
aload 5
invokevirtual org.springframework.aop.aspectj.AspectJExpressionPointcut.setParameterTypes:([Ljava/lang/Class;)V
23: return
end local 7 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 24 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 24 1 argumentNames [Ljava/lang/String;
0 24 2 argumentIndexOffset I
1 24 3 numParametersToRemove I
6 24 4 pointcutParameterNames [Ljava/lang/String;
7 24 5 pointcutParameterTypes [Ljava/lang/Class;
8 24 6 methodParameterTypes [Ljava/lang/Class;
9 24 7 index I
10 21 8 i I
MethodParameters:
Name Flags
argumentNames
argumentIndexOffset
protected java.lang.Object[] argBinding(org.aspectj.lang.JoinPoint, org.aspectj.weaver.tools.JoinPointMatch, java.lang.Object, java.lang.Throwable);
descriptor: (Lorg/aspectj/lang/JoinPoint;Lorg/aspectj/weaver/tools/JoinPointMatch;Ljava/lang/Object;Ljava/lang/Throwable;)[Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.calculateArgumentBindings:()V
1: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.parameterTypes:[Ljava/lang/Class;
arraylength
anewarray java.lang.Object
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.joinPointArgumentIndex:I
iconst_m1
if_icmpeq 7
4: aload 5
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.joinPointArgumentIndex:I
aload 1
aastore
5: iinc 6 1
6: goto 10
7: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.joinPointStaticPartArgumentIndex:I
iconst_m1
if_icmpeq 10
8: aload 5
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.joinPointStaticPartArgumentIndex:I
aload 1
invokeinterface org.aspectj.lang.JoinPoint.getStaticPart:()Lorg/aspectj/lang/JoinPoint$StaticPart;
aastore
9: iinc 6 1
10: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentBindings:Ljava/util/Map;
invokestatic org.springframework.util.CollectionUtils.isEmpty:(Ljava/util/Map;)Z
ifne 29
11: aload 2
ifnull 21
12: aload 2
invokeinterface org.aspectj.weaver.tools.JoinPointMatch.getParameterBindings:()[Lorg/aspectj/weaver/tools/PointcutParameter;
astore 7
start local 7 13: aload 7
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 20
StackMap locals: org.springframework.aop.aspectj.AbstractAspectJAdvice org.aspectj.lang.JoinPoint org.aspectj.weaver.tools.JoinPointMatch java.lang.Object java.lang.Throwable java.lang.Object[] int org.aspectj.weaver.tools.PointcutParameter[] top int int org.aspectj.weaver.tools.PointcutParameter[]
StackMap stack:
14: aload 11
iload 9
aaload
astore 8
start local 8 15: aload 8
invokeinterface org.aspectj.weaver.tools.PointcutParameter.getName:()Ljava/lang/String;
astore 12
start local 12 16: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentBindings:Ljava/util/Map;
aload 12
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 13
start local 13 17: aload 5
aload 13
invokevirtual java.lang.Integer.intValue:()I
aload 8
invokeinterface org.aspectj.weaver.tools.PointcutParameter.getBinding:()Ljava/lang/Object;
aastore
18: iinc 6 1
end local 13 end local 12 end local 8 19: iinc 9 1
StackMap locals:
StackMap stack:
20: iload 9
iload 10
if_icmplt 14
end local 7 21: StackMap locals: org.springframework.aop.aspectj.AbstractAspectJAdvice org.aspectj.lang.JoinPoint org.aspectj.weaver.tools.JoinPointMatch java.lang.Object java.lang.Throwable java.lang.Object[] int
StackMap stack:
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.returningName:Ljava/lang/String;
ifnull 25
22: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentBindings:Ljava/util/Map;
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.returningName:Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 7
start local 7 23: aload 5
aload 7
invokevirtual java.lang.Integer.intValue:()I
aload 3
aastore
24: iinc 6 1
end local 7 25: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.throwingName:Ljava/lang/String;
ifnull 29
26: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.argumentBindings:Ljava/util/Map;
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.throwingName:Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 7
start local 7 27: aload 5
aload 7
invokevirtual java.lang.Integer.intValue:()I
aload 4
aastore
28: iinc 6 1
end local 7 29: StackMap locals:
StackMap stack:
iload 6
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.parameterTypes:[Ljava/lang/Class;
arraylength
if_icmpeq 36
30: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Required to bind "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.parameterTypes:[Ljava/lang/Class;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
31: ldc " arguments, but only bound "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " (JoinPointMatch "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: aload 2
ifnonnull 33
ldc "was NOT"
goto 34
StackMap locals: org.springframework.aop.aspectj.AbstractAspectJAdvice org.aspectj.lang.JoinPoint org.aspectj.weaver.tools.JoinPointMatch java.lang.Object java.lang.Throwable java.lang.Object[] int
StackMap stack: new 30 new 30 java.lang.StringBuilder
33: ldc "WAS"
StackMap locals: org.springframework.aop.aspectj.AbstractAspectJAdvice org.aspectj.lang.JoinPoint org.aspectj.weaver.tools.JoinPointMatch java.lang.Object java.lang.Throwable java.lang.Object[] int
StackMap stack: new 30 new 30 java.lang.StringBuilder java.lang.String
34: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " bound in invocation)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
35: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
36: 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 37 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 37 1 jp Lorg/aspectj/lang/JoinPoint;
0 37 2 jpMatch Lorg/aspectj/weaver/tools/JoinPointMatch;
0 37 3 returnValue Ljava/lang/Object;
0 37 4 ex Ljava/lang/Throwable;
2 37 5 adviceInvocationArgs [Ljava/lang/Object;
3 37 6 numBound I
13 21 7 parameterBindings [Lorg/aspectj/weaver/tools/PointcutParameter;
15 19 8 parameter Lorg/aspectj/weaver/tools/PointcutParameter;
16 19 12 name Ljava/lang/String;
17 19 13 index Ljava/lang/Integer;
23 25 7 index Ljava/lang/Integer;
27 29 7 index Ljava/lang/Integer;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
org.springframework.lang.Nullable()
3:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
jp
jpMatch
returnValue
ex
protected java.lang.Object invokeAdviceMethod(org.aspectj.weaver.tools.JoinPointMatch, java.lang.Object, java.lang.Throwable);
descriptor: (Lorg/aspectj/weaver/tools/JoinPointMatch;Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
aload 0
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.getJoinPoint:()Lorg/aspectj/lang/JoinPoint;
aload 1
aload 2
aload 3
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.argBinding:(Lorg/aspectj/lang/JoinPoint;Lorg/aspectj/weaver/tools/JoinPointMatch;Ljava/lang/Object;Ljava/lang/Throwable;)[Ljava/lang/Object;
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 1 1 jpMatch Lorg/aspectj/weaver/tools/JoinPointMatch;
0 1 2 returnValue Ljava/lang/Object;
0 1 3 ex Ljava/lang/Throwable;
Exceptions:
throws java.lang.Throwable
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
jpMatch
returnValue
ex
protected java.lang.Object invokeAdviceMethod(org.aspectj.lang.JoinPoint, org.aspectj.weaver.tools.JoinPointMatch, java.lang.Object, java.lang.Throwable);
descriptor: (Lorg/aspectj/lang/JoinPoint;Lorg/aspectj/weaver/tools/JoinPointMatch;Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.argBinding:(Lorg/aspectj/lang/JoinPoint;Lorg/aspectj/weaver/tools/JoinPointMatch;Ljava/lang/Object;Ljava/lang/Throwable;)[Ljava/lang/Object;
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 1 1 jp Lorg/aspectj/lang/JoinPoint;
0 1 2 jpMatch Lorg/aspectj/weaver/tools/JoinPointMatch;
0 1 3 returnValue Ljava/lang/Object;
0 1 4 t Ljava/lang/Throwable;
Exceptions:
throws java.lang.Throwable
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
org.springframework.lang.Nullable()
3:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
jp
jpMatch
returnValue
t
protected java.lang.Object invokeAdviceMethodWithGivenArgs(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getParameterCount:()I
ifne 3
2: aconst_null
astore 2
3: StackMap locals: java.lang.Object[]
StackMap stack:
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
invokestatic org.springframework.util.ReflectionUtils.makeAccessible:(Ljava/lang/reflect/Method;)V
4: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectInstanceFactory:Lorg/springframework/aop/aspectj/AspectInstanceFactory;
invokeinterface org.springframework.aop.aspectj.AspectInstanceFactory.getAspectInstance:()Ljava/lang/Object;
aload 2
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
5: areturn
6: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 3
start local 3 7: new org.springframework.aop.AopInvocationException
dup
new java.lang.StringBuilder
dup
ldc "Mismatch on arguments to advice method ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]; pointcut expression ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.pointcut:Lorg/springframework/aop/aspectj/AspectJExpressionPointcut;
invokevirtual org.springframework.aop.aspectj.AspectJExpressionPointcut.getPointcutExpression:()Lorg/aspectj/weaver/tools/PointcutExpression;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
10: invokespecial org.springframework.aop.AopInvocationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 11: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 3
start local 3 12: aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 13 1 args [Ljava/lang/Object;
1 13 2 actualArgs [Ljava/lang/Object;
7 11 3 ex Ljava/lang/IllegalArgumentException;
12 13 3 ex Ljava/lang/reflect/InvocationTargetException;
Exception table:
from to target type
3 5 6 Class java.lang.IllegalArgumentException
3 5 11 Class java.lang.reflect.InvocationTargetException
Exceptions:
throws java.lang.Throwable
MethodParameters:
Name Flags
args
protected org.aspectj.lang.JoinPoint getJoinPoint();
descriptor: ()Lorg/aspectj/lang/JoinPoint;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic org.springframework.aop.aspectj.AbstractAspectJAdvice.currentJoinPoint:()Lorg/aspectj/lang/JoinPoint;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
protected org.aspectj.weaver.tools.JoinPointMatch getJoinPointMatch();
descriptor: ()Lorg/aspectj/weaver/tools/JoinPointMatch;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=1
start local 0 0: invokestatic org.springframework.aop.interceptor.ExposeInvocationInterceptor.currentInvocation:()Lorg/aopalliance/intercept/MethodInvocation;
astore 1
start local 1 1: aload 1
instanceof org.springframework.aop.ProxyMethodInvocation
ifne 3
2: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "MethodInvocation is not a Spring ProxyMethodInvocation: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.aopalliance.intercept.MethodInvocation
StackMap stack:
aload 0
aload 1
checkcast org.springframework.aop.ProxyMethodInvocation
invokevirtual org.springframework.aop.aspectj.AbstractAspectJAdvice.getJoinPointMatch:(Lorg/springframework/aop/ProxyMethodInvocation;)Lorg/aspectj/weaver/tools/JoinPointMatch;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
1 4 1 mi Lorg/aopalliance/intercept/MethodInvocation;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
protected org.aspectj.weaver.tools.JoinPointMatch getJoinPointMatch(org.springframework.aop.ProxyMethodInvocation);
descriptor: (Lorg/springframework/aop/ProxyMethodInvocation;)Lorg/aspectj/weaver/tools/JoinPointMatch;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.pointcut:Lorg/springframework/aop/aspectj/AspectJExpressionPointcut;
invokevirtual org.springframework.aop.aspectj.AspectJExpressionPointcut.getExpression:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 2
aload 1
aload 2
invokeinterface org.springframework.aop.ProxyMethodInvocation.getUserAttribute:(Ljava/lang/String;)Ljava/lang/Object;
checkcast org.aspectj.weaver.tools.JoinPointMatch
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: org.aspectj.weaver.tools.JoinPointMatch
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 4 1 pmi Lorg/springframework/aop/ProxyMethodInvocation;
1 4 2 expression Ljava/lang/String;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
pmi
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": advice method ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]; "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: ldc "aspect name '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 0
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.declaringClass:Ljava/lang/Class;
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.methodName:Ljava/lang/String;
aload 0
getfield org.springframework.aop.aspectj.AbstractAspectJAdvice.parameterTypes:[Ljava/lang/Class;
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
putfield org.springframework.aop.aspectj.AbstractAspectJAdvice.aspectJAdviceMethod:Ljava/lang/reflect/Method;
2: goto 5
3: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
astore 2
start local 2 4: new java.lang.IllegalStateException
dup
ldc "Failed to find advice method on deserialization"
aload 2
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/aop/aspectj/AbstractAspectJAdvice;
0 6 1 inputStream Ljava/io/ObjectInputStream;
4 5 2 ex Ljava/lang/NoSuchMethodException;
Exception table:
from to target type
1 2 3 Class java.lang.NoSuchMethodException
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
inputStream
}
SourceFile: "AbstractAspectJAdvice.java"
NestMembers:
org.springframework.aop.aspectj.AbstractAspectJAdvice$AdviceExcludingMethodMatcher
InnerClasses:
public abstract StaticPart = org.aspectj.lang.JoinPoint$StaticPart of org.aspectj.lang.JoinPoint
private AdviceExcludingMethodMatcher = org.springframework.aop.aspectj.AbstractAspectJAdvice$AdviceExcludingMethodMatcher of org.springframework.aop.aspectj.AbstractAspectJAdvice