public class org.springframework.aop.aspectj.annotation.AspectMetadata implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.aop.aspectj.annotation.AspectMetadata
super_class: java.lang.Object
{
private final java.lang.String aspectName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Class<?> aspectClass;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private transient org.aspectj.lang.reflect.AjType<?> ajType;
descriptor: Lorg/aspectj/lang/reflect/AjType;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
Signature: Lorg/aspectj/lang/reflect/AjType<*>;
private final org.springframework.aop.Pointcut perClausePointcut;
descriptor: Lorg/springframework/aop/Pointcut;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$org$aspectj$lang$reflect$PerClauseKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield org.springframework.aop.aspectj.annotation.AspectMetadata.aspectName:Ljava/lang/String;
2: aload 1
astore 3
start local 3 3: aconst_null
astore 4
start local 4 4: goto 10
5: StackMap locals: org.springframework.aop.aspectj.annotation.AspectMetadata java.lang.Class java.lang.String java.lang.Class org.aspectj.lang.reflect.AjType
StackMap stack:
aload 3
invokestatic org.aspectj.lang.reflect.AjTypeSystem.getAjType:(Ljava/lang/Class;)Lorg/aspectj/lang/reflect/AjType;
astore 5
start local 5 6: aload 5
invokeinterface org.aspectj.lang.reflect.AjType.isAspect:()Z
ifeq 9
7: aload 5
astore 4
8: goto 11
9: StackMap locals: org.aspectj.lang.reflect.AjType
StackMap stack:
aload 3
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 3
end local 5 10: StackMap locals:
StackMap stack:
aload 3
ldc Ljava/lang/Object;
if_acmpne 5
11: StackMap locals:
StackMap stack:
aload 4
ifnonnull 13
12: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Class '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' is not an @AspectJ aspect"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.aspectj.lang.reflect.AjType.getDeclarePrecedence:()[Lorg/aspectj/lang/reflect/DeclarePrecedence;
arraylength
ifle 15
14: new java.lang.IllegalArgumentException
dup
ldc "DeclarePrecendence not presently supported in Spring AOP"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 0
aload 4
invokeinterface org.aspectj.lang.reflect.AjType.getJavaClass:()Ljava/lang/Class;
putfield org.springframework.aop.aspectj.annotation.AspectMetadata.aspectClass:Ljava/lang/Class;
16: aload 0
aload 4
putfield org.springframework.aop.aspectj.annotation.AspectMetadata.ajType:Lorg/aspectj/lang/reflect/AjType;
17: invokestatic org.springframework.aop.aspectj.annotation.AspectMetadata.$SWITCH_TABLE$org$aspectj$lang$reflect$PerClauseKind:()[I
aload 0
getfield org.springframework.aop.aspectj.annotation.AspectMetadata.ajType:Lorg/aspectj/lang/reflect/AjType;
invokeinterface org.aspectj.lang.reflect.AjType.getPerClause:()Lorg/aspectj/lang/reflect/PerClause;
invokeinterface org.aspectj.lang.reflect.PerClause.getKind:()Lorg/aspectj/lang/reflect/PerClauseKind;
invokevirtual org.aspectj.lang.reflect.PerClauseKind.ordinal:()I
iaload
tableswitch { // 1 - 6
1: 18
2: 20
3: 20
4: 28
5: 28
6: 26
default: 28
}
18: StackMap locals:
StackMap stack:
aload 0
getstatic org.springframework.aop.Pointcut.TRUE:Lorg/springframework/aop/Pointcut;
putfield org.springframework.aop.aspectj.annotation.AspectMetadata.perClausePointcut:Lorg/springframework/aop/Pointcut;
19: return
20: StackMap locals:
StackMap stack:
new org.springframework.aop.aspectj.AspectJExpressionPointcut
dup
invokespecial org.springframework.aop.aspectj.AspectJExpressionPointcut.<init>:()V
astore 5
start local 5 21: aload 5
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual org.springframework.aop.aspectj.AspectJExpressionPointcut.setLocation:(Ljava/lang/String;)V
22: aload 5
aload 0
aload 1
invokevirtual org.springframework.aop.aspectj.annotation.AspectMetadata.findPerClause:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual org.springframework.aop.aspectj.AspectJExpressionPointcut.setExpression:(Ljava/lang/String;)V
23: aload 5
aload 1
invokevirtual org.springframework.aop.aspectj.AspectJExpressionPointcut.setPointcutDeclarationScope:(Ljava/lang/Class;)V
24: aload 0
aload 5
putfield org.springframework.aop.aspectj.annotation.AspectMetadata.perClausePointcut:Lorg/springframework/aop/Pointcut;
25: return
end local 5 26: StackMap locals:
StackMap stack:
aload 0
new org.springframework.aop.support.ComposablePointcut
dup
new org.springframework.aop.aspectj.TypePatternClassFilter
dup
aload 0
aload 1
invokevirtual org.springframework.aop.aspectj.annotation.AspectMetadata.findPerClause:(Ljava/lang/Class;)Ljava/lang/String;
invokespecial org.springframework.aop.aspectj.TypePatternClassFilter.<init>:(Ljava/lang/String;)V
invokespecial org.springframework.aop.support.ComposablePointcut.<init>:(Lorg/springframework/aop/ClassFilter;)V
putfield org.springframework.aop.aspectj.annotation.AspectMetadata.perClausePointcut:Lorg/springframework/aop/Pointcut;
27: return
28: StackMap locals:
StackMap stack:
new org.springframework.aop.framework.AopConfigException
dup
29: new java.lang.StringBuilder
dup
ldc "PerClause "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokeinterface org.aspectj.lang.reflect.AjType.getPerClause:()Lorg/aspectj/lang/reflect/PerClause;
invokeinterface org.aspectj.lang.reflect.PerClause.getKind:()Lorg/aspectj/lang/reflect/PerClauseKind;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " not supported by Spring AOP for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
30: invokespecial org.springframework.aop.framework.AopConfigException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/springframework/aop/aspectj/annotation/AspectMetadata;
0 31 1 aspectClass Ljava/lang/Class<*>;
0 31 2 aspectName Ljava/lang/String;
3 31 3 currClass Ljava/lang/Class<*>;
4 31 4 ajType Lorg/aspectj/lang/reflect/AjType<*>;
6 10 5 ajTypeToCheck Lorg/aspectj/lang/reflect/AjType<*>;
21 26 5 ajexp Lorg/springframework/aop/aspectj/AspectJExpressionPointcut;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)V
MethodParameters:
Name Flags
aspectClass
aspectName
private java.lang.String findPerClause(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc Lorg/aspectj/lang/annotation/Aspect;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast org.aspectj.lang.annotation.Aspect
invokeinterface org.aspectj.lang.annotation.Aspect.value:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
aload 2
bipush 40
invokevirtual java.lang.String.indexOf:(I)I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
2: aload 2
iconst_0
aload 2
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/aop/aspectj/annotation/AspectMetadata;
0 4 1 aspectClass Ljava/lang/Class<*>;
1 4 2 str Ljava/lang/String;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
aspectClass
public org.aspectj.lang.reflect.AjType<?> getAjType();
descriptor: ()Lorg/aspectj/lang/reflect/AjType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.aspectj.annotation.AspectMetadata.ajType:Lorg/aspectj/lang/reflect/AjType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/annotation/AspectMetadata;
Signature: ()Lorg/aspectj/lang/reflect/AjType<*>;
public java.lang.Class<?> getAspectClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.aspectj.annotation.AspectMetadata.aspectClass:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/annotation/AspectMetadata;
Signature: ()Ljava/lang/Class<*>;
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.annotation.AspectMetadata.aspectName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/annotation/AspectMetadata;
public org.springframework.aop.Pointcut getPerClausePointcut();
descriptor: ()Lorg/springframework/aop/Pointcut;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.aspectj.annotation.AspectMetadata.perClausePointcut:Lorg/springframework/aop/Pointcut;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/aspectj/annotation/AspectMetadata;
public boolean isPerThisOrPerTarget();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.aop.aspectj.annotation.AspectMetadata.getAjType:()Lorg/aspectj/lang/reflect/AjType;
invokeinterface org.aspectj.lang.reflect.AjType.getPerClause:()Lorg/aspectj/lang/reflect/PerClause;
invokeinterface org.aspectj.lang.reflect.PerClause.getKind:()Lorg/aspectj/lang/reflect/PerClauseKind;
astore 1
start local 1 1: aload 1
getstatic org.aspectj.lang.reflect.PerClauseKind.PERTARGET:Lorg/aspectj/lang/reflect/PerClauseKind;
if_acmpeq 2
aload 1
getstatic org.aspectj.lang.reflect.PerClauseKind.PERTHIS:Lorg/aspectj/lang/reflect/PerClauseKind;
if_acmpeq 2
iconst_0
ireturn
StackMap locals: org.aspectj.lang.reflect.PerClauseKind
StackMap stack:
2: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/aop/aspectj/annotation/AspectMetadata;
1 3 1 kind Lorg/aspectj/lang/reflect/PerClauseKind;
public boolean isPerTypeWithin();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.aop.aspectj.annotation.AspectMetadata.getAjType:()Lorg/aspectj/lang/reflect/AjType;
invokeinterface org.aspectj.lang.reflect.AjType.getPerClause:()Lorg/aspectj/lang/reflect/PerClause;
invokeinterface org.aspectj.lang.reflect.PerClause.getKind:()Lorg/aspectj/lang/reflect/PerClauseKind;
astore 1
start local 1 1: aload 1
getstatic org.aspectj.lang.reflect.PerClauseKind.PERTYPEWITHIN:Lorg/aspectj/lang/reflect/PerClauseKind;
if_acmpne 2
iconst_1
ireturn
StackMap locals: org.aspectj.lang.reflect.PerClauseKind
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/aop/aspectj/annotation/AspectMetadata;
1 3 1 kind Lorg/aspectj/lang/reflect/PerClauseKind;
public boolean isLazilyInstantiated();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.aop.aspectj.annotation.AspectMetadata.isPerThisOrPerTarget:()Z
ifne 1
aload 0
invokevirtual org.springframework.aop.aspectj.annotation.AspectMetadata.isPerTypeWithin:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/aop/aspectj/annotation/AspectMetadata;
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, 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.annotation.AspectMetadata.aspectClass:Ljava/lang/Class;
invokestatic org.aspectj.lang.reflect.AjTypeSystem.getAjType:(Ljava/lang/Class;)Lorg/aspectj/lang/reflect/AjType;
putfield org.springframework.aop.aspectj.annotation.AspectMetadata.ajType:Lorg/aspectj/lang/reflect/AjType;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/aop/aspectj/annotation/AspectMetadata;
0 3 1 inputStream Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
inputStream
static int[] $SWITCH_TABLE$org$aspectj$lang$reflect$PerClauseKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.springframework.aop.aspectj.annotation.AspectMetadata.$SWITCH_TABLE$org$aspectj$lang$reflect$PerClauseKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.aspectj.lang.reflect.PerClauseKind.values:()[Lorg/aspectj/lang/reflect/PerClauseKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.aspectj.lang.reflect.PerClauseKind.PERCFLOW:Lorg/aspectj/lang/reflect/PerClauseKind;
invokevirtual org.aspectj.lang.reflect.PerClauseKind.ordinal:()I
iconst_4
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.aspectj.lang.reflect.PerClauseKind.PERCFLOWBELOW:Lorg/aspectj/lang/reflect/PerClauseKind;
invokevirtual org.aspectj.lang.reflect.PerClauseKind.ordinal:()I
iconst_5
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.aspectj.lang.reflect.PerClauseKind.PERTARGET:Lorg/aspectj/lang/reflect/PerClauseKind;
invokevirtual org.aspectj.lang.reflect.PerClauseKind.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.aspectj.lang.reflect.PerClauseKind.PERTHIS:Lorg/aspectj/lang/reflect/PerClauseKind;
invokevirtual org.aspectj.lang.reflect.PerClauseKind.ordinal:()I
iconst_2
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.aspectj.lang.reflect.PerClauseKind.PERTYPEWITHIN:Lorg/aspectj/lang/reflect/PerClauseKind;
invokevirtual org.aspectj.lang.reflect.PerClauseKind.ordinal:()I
bipush 6
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.aspectj.lang.reflect.PerClauseKind.SINGLETON:Lorg/aspectj/lang/reflect/PerClauseKind;
invokevirtual org.aspectj.lang.reflect.PerClauseKind.ordinal:()I
iconst_1
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
dup
putstatic org.springframework.aop.aspectj.annotation.AspectMetadata.$SWITCH_TABLE$org$aspectj$lang$reflect$PerClauseKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
}
SourceFile: "AspectMetadata.java"