public class org.springframework.aop.support.annotation.AnnotationMatchingPointcut implements org.springframework.aop.Pointcut
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.aop.support.annotation.AnnotationMatchingPointcut
super_class: java.lang.Object
{
private final org.springframework.aop.ClassFilter classFilter;
descriptor: Lorg/springframework/aop/ClassFilter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.springframework.aop.MethodMatcher methodMatcher;
descriptor: Lorg/springframework/aop/MethodMatcher;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokespecial org.springframework.aop.support.annotation.AnnotationMatchingPointcut.<init>:(Ljava/lang/Class;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/aop/support/annotation/AnnotationMatchingPointcut;
0 2 1 classAnnotationType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)V
MethodParameters:
Name Flags
classAnnotationType
public void <init>(java.lang.Class<? extends java.lang.annotation.Annotation>, );
descriptor: (Ljava/lang/Class;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.springframework.aop.support.annotation.AnnotationClassFilter
dup
aload 1
iload 2
invokespecial org.springframework.aop.support.annotation.AnnotationClassFilter.<init>:(Ljava/lang/Class;Z)V
putfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.classFilter:Lorg/springframework/aop/ClassFilter;
2: aload 0
getstatic org.springframework.aop.MethodMatcher.TRUE:Lorg/springframework/aop/MethodMatcher;
putfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.methodMatcher:Lorg/springframework/aop/MethodMatcher;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/aop/support/annotation/AnnotationMatchingPointcut;
0 4 1 classAnnotationType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
0 4 2 checkInherited Z
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Z)V
MethodParameters:
Name Flags
classAnnotationType
checkInherited
public void <init>(java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokespecial org.springframework.aop.support.annotation.AnnotationMatchingPointcut.<init>:(Ljava/lang/Class;Ljava/lang/Class;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/aop/support/annotation/AnnotationMatchingPointcut;
0 2 1 classAnnotationType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
0 2 2 methodAnnotationType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)V
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
classAnnotationType
methodAnnotationType
public void <init>(java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.Class<? extends java.lang.annotation.Annotation>, );
descriptor: (Ljava/lang/Class;Ljava/lang/Class;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, 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 1
ifnonnull 2
aload 2
ifnonnull 2
iconst_0
goto 3
StackMap locals: org.springframework.aop.support.annotation.AnnotationMatchingPointcut java.lang.Class java.lang.Class int
StackMap stack:
2: iconst_1
3: StackMap locals:
StackMap stack: int
ldc "Either Class annotation type or Method annotation type needs to be specified (or both)"
4: invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
5: aload 1
ifnull 8
6: aload 0
new org.springframework.aop.support.annotation.AnnotationClassFilter
dup
aload 1
iload 3
invokespecial org.springframework.aop.support.annotation.AnnotationClassFilter.<init>:(Ljava/lang/Class;Z)V
putfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.classFilter:Lorg/springframework/aop/ClassFilter;
7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
getstatic org.springframework.aop.ClassFilter.TRUE:Lorg/springframework/aop/ClassFilter;
putfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.classFilter:Lorg/springframework/aop/ClassFilter;
9: StackMap locals:
StackMap stack:
aload 2
ifnull 12
10: aload 0
new org.springframework.aop.support.annotation.AnnotationMethodMatcher
dup
aload 2
iload 3
invokespecial org.springframework.aop.support.annotation.AnnotationMethodMatcher.<init>:(Ljava/lang/Class;Z)V
putfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.methodMatcher:Lorg/springframework/aop/MethodMatcher;
11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
getstatic org.springframework.aop.MethodMatcher.TRUE:Lorg/springframework/aop/MethodMatcher;
putfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.methodMatcher:Lorg/springframework/aop/MethodMatcher;
13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/aop/support/annotation/AnnotationMatchingPointcut;
0 14 1 classAnnotationType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
0 14 2 methodAnnotationType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
0 14 3 checkInherited Z
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Z)V
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
classAnnotationType
methodAnnotationType
checkInherited
public org.springframework.aop.ClassFilter getClassFilter();
descriptor: ()Lorg/springframework/aop/ClassFilter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.classFilter:Lorg/springframework/aop/ClassFilter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/support/annotation/AnnotationMatchingPointcut;
public org.springframework.aop.MethodMatcher getMethodMatcher();
descriptor: ()Lorg/springframework/aop/MethodMatcher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.methodMatcher:Lorg/springframework/aop/MethodMatcher;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/support/annotation/AnnotationMatchingPointcut;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.springframework.aop.support.annotation.AnnotationMatchingPointcut
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.springframework.aop.support.annotation.AnnotationMatchingPointcut
astore 2
start local 2 5: aload 0
getfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.classFilter:Lorg/springframework/aop/ClassFilter;
aload 2
getfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.classFilter:Lorg/springframework/aop/ClassFilter;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 0
getfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.methodMatcher:Lorg/springframework/aop/MethodMatcher;
aload 2
getfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.methodMatcher:Lorg/springframework/aop/MethodMatcher;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
7: iconst_1
ireturn
StackMap locals: org.springframework.aop.support.annotation.AnnotationMatchingPointcut
StackMap stack:
8: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/aop/support/annotation/AnnotationMatchingPointcut;
0 9 1 other Ljava/lang/Object;
5 9 2 otherPointcut Lorg/springframework/aop/support/annotation/AnnotationMatchingPointcut;
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.classFilter:Lorg/springframework/aop/ClassFilter;
invokevirtual java.lang.Object.hashCode:()I
bipush 37
imul
aload 0
getfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.methodMatcher:Lorg/springframework/aop/MethodMatcher;
invokevirtual java.lang.Object.hashCode:()I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/support/annotation/AnnotationMatchingPointcut;
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
ldc "AnnotationMatchingPointcut: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.classFilter:Lorg/springframework/aop/ClassFilter;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.springframework.aop.support.annotation.AnnotationMatchingPointcut.methodMatcher:Lorg/springframework/aop/MethodMatcher;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/support/annotation/AnnotationMatchingPointcut;
public static org.springframework.aop.support.annotation.AnnotationMatchingPointcut forClassAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)Lorg/springframework/aop/support/annotation/AnnotationMatchingPointcut;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "Annotation type must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: new org.springframework.aop.support.annotation.AnnotationMatchingPointcut
dup
aload 0
invokespecial org.springframework.aop.support.annotation.AnnotationMatchingPointcut.<init>:(Ljava/lang/Class;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 annotationType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Lorg/springframework/aop/support/annotation/AnnotationMatchingPointcut;
MethodParameters:
Name Flags
annotationType
public static org.springframework.aop.support.annotation.AnnotationMatchingPointcut forMethodAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)Lorg/springframework/aop/support/annotation/AnnotationMatchingPointcut;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc "Annotation type must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: new org.springframework.aop.support.annotation.AnnotationMatchingPointcut
dup
aconst_null
aload 0
invokespecial org.springframework.aop.support.annotation.AnnotationMatchingPointcut.<init>:(Ljava/lang/Class;Ljava/lang/Class;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 annotationType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Lorg/springframework/aop/support/annotation/AnnotationMatchingPointcut;
MethodParameters:
Name Flags
annotationType
}
SourceFile: "AnnotationMatchingPointcut.java"