public class org.aspectj.weaver.patterns.AnnotationPointcut extends org.aspectj.weaver.patterns.NameBindingPointcut
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.aspectj.weaver.patterns.AnnotationPointcut
super_class: org.aspectj.weaver.patterns.NameBindingPointcut
{
private org.aspectj.weaver.patterns.ExactAnnotationTypePattern annotationTypePattern;
descriptor: Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
flags: (0x0002) ACC_PRIVATE
private java.lang.String declarationText;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
public void <init>(org.aspectj.weaver.patterns.ExactAnnotationTypePattern);
descriptor: (Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.aspectj.weaver.patterns.NameBindingPointcut.<init>:()V
1: aload 0
aload 1
putfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
2: aload 0
bipush 16
putfield org.aspectj.weaver.patterns.AnnotationPointcut.pointcutKind:B
3: aload 0
invokevirtual org.aspectj.weaver.patterns.AnnotationPointcut.buildDeclarationText:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
0 5 1 type Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
MethodParameters:
Name Flags
type
public void <init>(org.aspectj.weaver.patterns.ExactAnnotationTypePattern, org.aspectj.weaver.ShadowMunger);
descriptor: (Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;Lorg/aspectj/weaver/ShadowMunger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial org.aspectj.weaver.patterns.AnnotationPointcut.<init>:(Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;)V
1: aload 0
invokevirtual org.aspectj.weaver.patterns.AnnotationPointcut.buildDeclarationText:()V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
0 3 1 type Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
0 3 2 munger Lorg/aspectj/weaver/ShadowMunger;
MethodParameters:
Name Flags
type
munger
public org.aspectj.weaver.patterns.ExactAnnotationTypePattern getAnnotationTypePattern();
descriptor: ()Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
public int couldMatchKinds();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.aspectj.weaver.Shadow.ALL_SHADOW_KINDS_BITS:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
public org.aspectj.weaver.patterns.Pointcut parameterizeWith(java.util.Map<java.lang.String, org.aspectj.weaver.UnresolvedType>, org.aspectj.weaver.World);
descriptor: (Ljava/util/Map;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/Pointcut;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.aspectj.weaver.patterns.AnnotationPointcut
dup
aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
1: aload 1
aload 2
2: invokevirtual org.aspectj.weaver.patterns.ExactAnnotationTypePattern.parameterizeWith:(Ljava/util/Map;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
checkcast org.aspectj.weaver.patterns.ExactAnnotationTypePattern
invokespecial org.aspectj.weaver.patterns.AnnotationPointcut.<init>:(Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;)V
astore 3
start local 3 3: aload 3
aload 0
invokevirtual org.aspectj.weaver.patterns.AnnotationPointcut.copyLocationFrom:(Lorg/aspectj/weaver/patterns/PatternNode;)V
4: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
0 5 1 typeVariableMap Ljava/util/Map<Ljava/lang/String;Lorg/aspectj/weaver/UnresolvedType;>;
0 5 2 w Lorg/aspectj/weaver/World;
3 5 3 ret Lorg/aspectj/weaver/patterns/AnnotationPointcut;
Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/aspectj/weaver/UnresolvedType;>;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/patterns/Pointcut;
MethodParameters:
Name Flags
typeVariableMap
w
public org.aspectj.util.FuzzyBoolean fastMatch(org.aspectj.weaver.patterns.FastMatchInfo);
descriptor: (Lorg/aspectj/weaver/patterns/FastMatchInfo;)Lorg/aspectj/util/FuzzyBoolean;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.aspectj.weaver.patterns.FastMatchInfo.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
getstatic org.aspectj.weaver.Shadow.StaticInitialization:Lorg/aspectj/weaver/Shadow$Kind;
if_acmpne 2
1: aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
aload 1
invokevirtual org.aspectj.weaver.patterns.FastMatchInfo.getType:()Lorg/aspectj/weaver/ResolvedType;
invokevirtual org.aspectj.weaver.patterns.ExactAnnotationTypePattern.fastMatches:(Lorg/aspectj/weaver/AnnotatedElement;)Lorg/aspectj/util/FuzzyBoolean;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.aspectj.util.FuzzyBoolean.MAYBE:Lorg/aspectj/util/FuzzyBoolean;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
0 3 1 info Lorg/aspectj/weaver/patterns/FastMatchInfo;
MethodParameters:
Name Flags
info
protected org.aspectj.util.FuzzyBoolean matchInternal(org.aspectj.weaver.Shadow);
descriptor: (Lorg/aspectj/weaver/Shadow;)Lorg/aspectj/util/FuzzyBoolean;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=12, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokevirtual org.aspectj.weaver.Shadow.getSignature:()Lorg/aspectj/weaver/Member;
astore 3
start local 3 2: aload 3
aload 1
invokevirtual org.aspectj.weaver.Shadow.getIWorld:()Lorg/aspectj/weaver/World;
invokeinterface org.aspectj.weaver.Member.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedMember;
astore 4
start local 4 3: aload 4
ifnonnull 8
4: aload 3
invokeinterface org.aspectj.weaver.Member.getName:()Ljava/lang/String;
ldc "ajc$"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 6
5: getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
areturn
6: StackMap locals: org.aspectj.weaver.AnnotatedElement org.aspectj.weaver.Member org.aspectj.weaver.ResolvedMember
StackMap stack:
aload 1
invokevirtual org.aspectj.weaver.Shadow.getIWorld:()Lorg/aspectj/weaver/World;
invokevirtual org.aspectj.weaver.World.getLint:()Lorg/aspectj/weaver/Lint;
getfield org.aspectj.weaver.Lint.unresolvableMember:Lorg/aspectj/weaver/Lint$Kind;
aload 3
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
aload 0
invokevirtual org.aspectj.weaver.patterns.AnnotationPointcut.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
invokevirtual org.aspectj.weaver.Lint$Kind.signal:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;)V
7: getstatic org.aspectj.util.FuzzyBoolean.NO:Lorg/aspectj/util/FuzzyBoolean;
areturn
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.aspectj.weaver.Shadow.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
astore 5
start local 5 9: aload 5
getstatic org.aspectj.weaver.Shadow.StaticInitialization:Lorg/aspectj/weaver/Shadow$Kind;
if_acmpne 12
10: aload 4
invokeinterface org.aspectj.weaver.ResolvedMember.getDeclaringType:()Lorg/aspectj/weaver/UnresolvedType;
aload 1
invokevirtual org.aspectj.weaver.Shadow.getIWorld:()Lorg/aspectj/weaver/World;
invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
astore 2
11: goto 29
StackMap locals: org.aspectj.weaver.Shadow$Kind
StackMap stack:
12: aload 5
getstatic org.aspectj.weaver.Shadow.ExceptionHandler:Lorg/aspectj/weaver/Shadow$Kind;
if_acmpne 15
13: aload 4
invokeinterface org.aspectj.weaver.ResolvedMember.getParameterTypes:()[Lorg/aspectj/weaver/UnresolvedType;
iconst_0
aaload
aload 1
invokevirtual org.aspectj.weaver.Shadow.getIWorld:()Lorg/aspectj/weaver/World;
invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
astore 2
14: goto 29
15: StackMap locals:
StackMap stack:
aload 4
astore 2
16: aload 4
invokeinterface org.aspectj.weaver.ResolvedMember.isAnnotatedElsewhere:()Z
ifeq 29
17: aload 5
getstatic org.aspectj.weaver.Shadow.FieldGet:Lorg/aspectj/weaver/Shadow$Kind;
if_acmpeq 18
aload 5
getstatic org.aspectj.weaver.Shadow.FieldSet:Lorg/aspectj/weaver/Shadow$Kind;
if_acmpne 29
18: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.aspectj.weaver.ResolvedMember.getDeclaringType:()Lorg/aspectj/weaver/UnresolvedType;
aload 1
invokevirtual org.aspectj.weaver.Shadow.getIWorld:()Lorg/aspectj/weaver/World;
invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
invokevirtual org.aspectj.weaver.ResolvedType.getInterTypeMungers:()Ljava/util/List;
astore 6
start local 6 19: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
start local 7 20: goto 28
21: StackMap locals: java.util.List java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.aspectj.weaver.ConcreteTypeMunger
astore 8
start local 8 22: aload 8
invokevirtual org.aspectj.weaver.ConcreteTypeMunger.getMunger:()Lorg/aspectj/weaver/ResolvedTypeMunger;
instanceof org.aspectj.weaver.NewFieldTypeMunger
ifeq 28
23: aload 8
invokevirtual org.aspectj.weaver.ConcreteTypeMunger.getSignature:()Lorg/aspectj/weaver/ResolvedMember;
astore 9
start local 9 24: aload 9
aload 3
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 28
25: aload 9
aload 8
invokevirtual org.aspectj.weaver.ConcreteTypeMunger.getAspectType:()Lorg/aspectj/weaver/ResolvedType;
invokestatic org.aspectj.weaver.AjcMemberMaker.interFieldInitializer:(Lorg/aspectj/weaver/ResolvedMember;Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/weaver/ResolvedMember;
astore 10
start local 10 26: aload 0
aload 8
invokevirtual org.aspectj.weaver.ConcreteTypeMunger.getAspectType:()Lorg/aspectj/weaver/ResolvedType;
aload 10
invokevirtual org.aspectj.weaver.patterns.AnnotationPointcut.findMethod:(Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedMember;)Lorg/aspectj/weaver/ResolvedMember;
astore 11
start local 11 27: aload 11
astore 2
end local 11 end local 10 end local 9 end local 8 28: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
end local 7 end local 6 29: StackMap locals:
StackMap stack:
aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
aload 1
invokevirtual org.aspectj.weaver.Shadow.getIWorld:()Lorg/aspectj/weaver/World;
invokevirtual org.aspectj.weaver.patterns.ExactAnnotationTypePattern.resolve:(Lorg/aspectj/weaver/World;)V
30: aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
aload 2
invokevirtual org.aspectj.weaver.patterns.ExactAnnotationTypePattern.matches:(Lorg/aspectj/weaver/AnnotatedElement;)Lorg/aspectj/util/FuzzyBoolean;
areturn
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 31 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
0 31 1 shadow Lorg/aspectj/weaver/Shadow;
1 31 2 toMatchAgainst Lorg/aspectj/weaver/AnnotatedElement;
2 31 3 member Lorg/aspectj/weaver/Member;
3 31 4 rMember Lorg/aspectj/weaver/ResolvedMember;
9 31 5 kind Lorg/aspectj/weaver/Shadow$Kind;
19 29 6 mungers Ljava/util/List;
20 29 7 iter Ljava/util/Iterator;
22 28 8 typeMunger Lorg/aspectj/weaver/ConcreteTypeMunger;
24 28 9 fakerm Lorg/aspectj/weaver/ResolvedMember;
26 28 10 ajcMethod Lorg/aspectj/weaver/ResolvedMember;
27 28 11 rmm Lorg/aspectj/weaver/ResolvedMember;
MethodParameters:
Name Flags
shadow
private org.aspectj.weaver.ResolvedMember findMethod(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.ResolvedMember);
descriptor: (Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedMember;)Lorg/aspectj/weaver/ResolvedMember;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.aspectj.weaver.ResolvedType.getDeclaredMethods:()[Lorg/aspectj/weaver/ResolvedMember;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 7
3: StackMap locals: org.aspectj.weaver.ResolvedMember[] int
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 4: aload 5
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 5
areturn
end local 5 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
aload 3
arraylength
if_icmplt 3
end local 4 8: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
0 9 1 aspectType Lorg/aspectj/weaver/ResolvedType;
0 9 2 ajcMethod Lorg/aspectj/weaver/ResolvedMember;
1 9 3 decMethods [Lorg/aspectj/weaver/ResolvedMember;
2 8 4 i I
4 6 5 member Lorg/aspectj/weaver/ResolvedMember;
MethodParameters:
Name Flags
aspectType
ajcMethod
protected void resolveBindings(org.aspectj.weaver.patterns.IScope, org.aspectj.weaver.patterns.Bindings);
descriptor: (Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.aspectj.weaver.patterns.IScope.getWorld:()Lorg/aspectj/weaver/World;
invokevirtual org.aspectj.weaver.World.isInJava5Mode:()Z
ifne 5
1: aload 1
ldc "atannotationNeedsJava5"
invokestatic org.aspectj.weaver.WeaverMessages.format:(Ljava/lang/String;)Ljava/lang/String;
2: aload 0
invokevirtual org.aspectj.weaver.patterns.AnnotationPointcut.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
3: invokestatic org.aspectj.bridge.MessageUtil.error:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;)Lorg/aspectj/bridge/IMessage;
invokeinterface org.aspectj.weaver.patterns.IScope.message:(Lorg/aspectj/bridge/IMessage;)V
4: return
5: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
aload 1
aload 2
iconst_1
invokevirtual org.aspectj.weaver.patterns.ExactAnnotationTypePattern.resolveBindings:(Lorg/aspectj/weaver/patterns/IScope;Lorg/aspectj/weaver/patterns/Bindings;Z)Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
checkcast org.aspectj.weaver.patterns.ExactAnnotationTypePattern
putfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
0 7 1 scope Lorg/aspectj/weaver/patterns/IScope;
0 7 2 bindings Lorg/aspectj/weaver/patterns/Bindings;
MethodParameters:
Name Flags
scope
bindings
protected org.aspectj.weaver.patterns.Pointcut concretize1(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.ResolvedType, org.aspectj.weaver.IntMap);
descriptor: (Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/IntMap;)Lorg/aspectj/weaver/patterns/Pointcut;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
aload 3
invokevirtual org.aspectj.weaver.patterns.ExactAnnotationTypePattern.remapAdviceFormals:(Lorg/aspectj/weaver/IntMap;)Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
checkcast org.aspectj.weaver.patterns.ExactAnnotationTypePattern
astore 4
start local 4 1: new org.aspectj.weaver.patterns.AnnotationPointcut
dup
aload 4
aload 3
invokevirtual org.aspectj.weaver.IntMap.getEnclosingAdvice:()Lorg/aspectj/weaver/ShadowMunger;
invokespecial org.aspectj.weaver.patterns.AnnotationPointcut.<init>:(Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;Lorg/aspectj/weaver/ShadowMunger;)V
astore 5
start local 5 2: aload 5
aload 0
invokevirtual org.aspectj.weaver.patterns.Pointcut.copyLocationFrom:(Lorg/aspectj/weaver/patterns/PatternNode;)V
3: aload 5
areturn
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 4 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
0 4 1 inAspect Lorg/aspectj/weaver/ResolvedType;
0 4 2 declaringType Lorg/aspectj/weaver/ResolvedType;
0 4 3 bindings Lorg/aspectj/weaver/IntMap;
1 4 4 newType Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
2 4 5 ret Lorg/aspectj/weaver/patterns/Pointcut;
MethodParameters:
Name Flags
inAspect
declaringType
bindings
protected org.aspectj.weaver.ast.Test findResidueInternal(org.aspectj.weaver.Shadow, org.aspectj.weaver.patterns.ExposedState);
descriptor: (Lorg/aspectj/weaver/Shadow;Lorg/aspectj/weaver/patterns/ExposedState;)Lorg/aspectj/weaver/ast/Test;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
instanceof org.aspectj.weaver.patterns.BindingAnnotationFieldTypePattern
ifeq 17
1: aload 1
invokevirtual org.aspectj.weaver.Shadow.getKind:()Lorg/aspectj/weaver/Shadow$Kind;
getstatic org.aspectj.weaver.Shadow.MethodExecution:Lorg/aspectj/weaver/Shadow$Kind;
if_acmpeq 9
2: aload 1
invokevirtual org.aspectj.weaver.Shadow.getIWorld:()Lorg/aspectj/weaver/World;
3: invokevirtual org.aspectj.weaver.World.getMessageHandler:()Lorg/aspectj/bridge/IMessageHandler;
4: ldc "Annotation field binding is only supported at method-execution join points (compiler limitation)"
5: aload 0
invokevirtual org.aspectj.weaver.patterns.AnnotationPointcut.getSourceLocation:()Lorg/aspectj/bridge/ISourceLocation;
6: invokestatic org.aspectj.bridge.MessageUtil.error:(Ljava/lang/String;Lorg/aspectj/bridge/ISourceLocation;)Lorg/aspectj/bridge/IMessage;
7: invokeinterface org.aspectj.bridge.IMessageHandler.handleMessage:(Lorg/aspectj/bridge/IMessage;)Z
pop
8: getstatic org.aspectj.weaver.ast.Literal.TRUE:Lorg/aspectj/weaver/ast/Literal;
areturn
9: StackMap locals:
StackMap stack:
aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
checkcast org.aspectj.weaver.patterns.BindingAnnotationFieldTypePattern
astore 3
start local 3 10: aload 3
invokevirtual org.aspectj.weaver.patterns.BindingAnnotationFieldTypePattern.getFormalType:()Lorg/aspectj/weaver/UnresolvedType;
aload 1
invokevirtual org.aspectj.weaver.Shadow.getIWorld:()Lorg/aspectj/weaver/World;
invokevirtual org.aspectj.weaver.UnresolvedType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
astore 4
start local 4 11: aload 3
invokevirtual org.aspectj.weaver.patterns.BindingAnnotationFieldTypePattern.getAnnotationType:()Lorg/aspectj/weaver/UnresolvedType;
astore 5
start local 5 12: aload 1
aload 5
invokevirtual org.aspectj.weaver.Shadow.getKindedAnnotationVar:(Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/weaver/ast/Var;
astore 6
start local 6 13: aload 6
ifnonnull 15
14: new org.aspectj.weaver.BCException
dup
new java.lang.StringBuilder
dup
ldc "Unexpected problem locating annotation at join point '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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;
invokespecial org.aspectj.weaver.BCException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: org.aspectj.weaver.patterns.AnnotationPointcut org.aspectj.weaver.Shadow org.aspectj.weaver.patterns.ExposedState org.aspectj.weaver.patterns.BindingAnnotationFieldTypePattern org.aspectj.weaver.ResolvedType org.aspectj.weaver.UnresolvedType org.aspectj.weaver.ast.Var
StackMap stack:
aload 2
aload 3
invokevirtual org.aspectj.weaver.patterns.BindingAnnotationFieldTypePattern.getFormalIndex:()I
aload 6
aload 4
aload 3
getfield org.aspectj.weaver.patterns.BindingAnnotationFieldTypePattern.formalName:Ljava/lang/String;
invokevirtual org.aspectj.weaver.ast.Var.getAccessorForValue:(Lorg/aspectj/weaver/ResolvedType;Ljava/lang/String;)Lorg/aspectj/weaver/ast/Var;
invokevirtual org.aspectj.weaver.patterns.ExposedState.set:(ILorg/aspectj/weaver/ast/Var;)V
end local 6 end local 5 end local 4 end local 3 16: goto 26
StackMap locals: org.aspectj.weaver.patterns.AnnotationPointcut org.aspectj.weaver.Shadow org.aspectj.weaver.patterns.ExposedState
StackMap stack:
17: aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
instanceof org.aspectj.weaver.patterns.BindingAnnotationTypePattern
ifeq 26
18: aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
checkcast org.aspectj.weaver.patterns.BindingAnnotationTypePattern
astore 3
start local 3 19: aload 3
invokevirtual org.aspectj.weaver.patterns.BindingAnnotationTypePattern.getAnnotationType:()Lorg/aspectj/weaver/UnresolvedType;
astore 4
start local 4 20: aload 1
aload 4
invokevirtual org.aspectj.weaver.Shadow.getKindedAnnotationVar:(Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/weaver/ast/Var;
astore 5
start local 5 21: aload 5
ifnonnull 25
22: aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.AnnotationPointcut.matchInternal:(Lorg/aspectj/weaver/Shadow;)Lorg/aspectj/util/FuzzyBoolean;
invokevirtual org.aspectj.util.FuzzyBoolean.alwaysTrue:()Z
ifeq 24
23: getstatic org.aspectj.weaver.ast.Literal.TRUE:Lorg/aspectj/weaver/ast/Literal;
areturn
24: StackMap locals: org.aspectj.weaver.patterns.BindingAnnotationTypePattern org.aspectj.weaver.UnresolvedType org.aspectj.weaver.ast.Var
StackMap stack:
getstatic org.aspectj.weaver.ast.Literal.FALSE:Lorg/aspectj/weaver/ast/Literal;
areturn
25: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual org.aspectj.weaver.patterns.BindingAnnotationTypePattern.getFormalIndex:()I
aload 5
invokevirtual org.aspectj.weaver.patterns.ExposedState.set:(ILorg/aspectj/weaver/ast/Var;)V
end local 5 end local 4 end local 3 26: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.AnnotationPointcut.matchInternal:(Lorg/aspectj/weaver/Shadow;)Lorg/aspectj/util/FuzzyBoolean;
invokevirtual org.aspectj.util.FuzzyBoolean.alwaysTrue:()Z
ifeq 28
27: getstatic org.aspectj.weaver.ast.Literal.TRUE:Lorg/aspectj/weaver/ast/Literal;
areturn
28: StackMap locals:
StackMap stack:
getstatic org.aspectj.weaver.ast.Literal.FALSE:Lorg/aspectj/weaver/ast/Literal;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
0 29 1 shadow Lorg/aspectj/weaver/Shadow;
0 29 2 state Lorg/aspectj/weaver/patterns/ExposedState;
10 16 3 btp Lorg/aspectj/weaver/patterns/BindingAnnotationFieldTypePattern;
11 16 4 formalType Lorg/aspectj/weaver/ResolvedType;
12 16 5 annoType Lorg/aspectj/weaver/UnresolvedType;
13 16 6 var Lorg/aspectj/weaver/ast/Var;
19 26 3 btp Lorg/aspectj/weaver/patterns/BindingAnnotationTypePattern;
20 26 4 annotationType Lorg/aspectj/weaver/UnresolvedType;
21 26 5 var Lorg/aspectj/weaver/ast/Var;
MethodParameters:
Name Flags
shadow
state
public java.util.List<org.aspectj.weaver.patterns.BindingPattern> getBindingAnnotationTypePatterns();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
instanceof org.aspectj.weaver.patterns.BindingPattern
ifeq 4
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 2: aload 1
aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
checkcast org.aspectj.weaver.patterns.BindingPattern
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: aload 1
areturn
end local 1 4: StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
2 4 1 l Ljava/util/List<Lorg/aspectj/weaver/patterns/BindingPattern;>;
Signature: ()Ljava/util/List<Lorg/aspectj/weaver/patterns/BindingPattern;>;
public java.util.List<org.aspectj.weaver.patterns.BindingTypePattern> getBindingTypePatterns();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
Signature: ()Ljava/util/List<Lorg/aspectj/weaver/patterns/BindingTypePattern;>;
public void write(org.aspectj.weaver.CompressingDataOutputStream);
descriptor: (Lorg/aspectj/weaver/CompressingDataOutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
bipush 16
invokevirtual org.aspectj.weaver.CompressingDataOutputStream.writeByte:(I)V
1: aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
aload 1
invokevirtual org.aspectj.weaver.patterns.ExactAnnotationTypePattern.write:(Lorg/aspectj/weaver/CompressingDataOutputStream;)V
2: aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.AnnotationPointcut.writeLocation:(Ljava/io/DataOutputStream;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
0 4 1 s Lorg/aspectj/weaver/CompressingDataOutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
public static org.aspectj.weaver.patterns.Pointcut read(org.aspectj.weaver.VersionedDataInputStream, org.aspectj.weaver.ISourceContext);
descriptor: (Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/Pointcut;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.aspectj.weaver.patterns.AnnotationTypePattern.read:(Lorg/aspectj/weaver/VersionedDataInputStream;Lorg/aspectj/weaver/ISourceContext;)Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
astore 2
start local 2 1: new org.aspectj.weaver.patterns.AnnotationPointcut
dup
aload 2
checkcast org.aspectj.weaver.patterns.ExactAnnotationTypePattern
invokespecial org.aspectj.weaver.patterns.AnnotationPointcut.<init>:(Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;)V
astore 3
start local 3 2: aload 3
aload 1
aload 0
invokevirtual org.aspectj.weaver.patterns.AnnotationPointcut.readLocation:(Lorg/aspectj/weaver/ISourceContext;Ljava/io/DataInputStream;)V
3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 s Lorg/aspectj/weaver/VersionedDataInputStream;
0 4 1 context Lorg/aspectj/weaver/ISourceContext;
1 4 2 type Lorg/aspectj/weaver/patterns/AnnotationTypePattern;
2 4 3 ret Lorg/aspectj/weaver/patterns/AnnotationPointcut;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
context
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 1
instanceof org.aspectj.weaver.patterns.AnnotationPointcut
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast org.aspectj.weaver.patterns.AnnotationPointcut
astore 2
start local 2 3: aload 2
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
invokevirtual org.aspectj.weaver.patterns.ExactAnnotationTypePattern.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
0 4 1 other Ljava/lang/Object;
3 4 2 o Lorg/aspectj/weaver/patterns/AnnotationPointcut;
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: bipush 17
istore 1
start local 1 1: bipush 37
iload 1
imul
aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
invokevirtual org.aspectj.weaver.patterns.ExactAnnotationTypePattern.hashCode:()I
iadd
istore 1
2: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
1 3 1 result I
public void buildDeclarationText();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1
start local 1 1: aload 1
ldc "@annotation("
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.annotationTypePattern:Lorg/aspectj/weaver/patterns/ExactAnnotationTypePattern;
invokevirtual org.aspectj.weaver.patterns.ExactAnnotationTypePattern.toString:()Ljava/lang/String;
astore 2
start local 2 3: aload 1
aload 2
ldc "@"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
aload 2
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
goto 5
StackMap locals: org.aspectj.weaver.patterns.AnnotationPointcut java.lang.StringBuffer java.lang.String
StackMap stack: java.lang.StringBuffer
4: aload 2
StackMap locals: org.aspectj.weaver.patterns.AnnotationPointcut java.lang.StringBuffer java.lang.String
StackMap stack: java.lang.StringBuffer java.lang.String
5: invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
6: aload 1
ldc ")"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
7: aload 0
aload 1
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
putfield org.aspectj.weaver.patterns.AnnotationPointcut.declarationText:Ljava/lang/String;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
1 9 1 buf Ljava/lang/StringBuffer;
3 9 2 annPatt Ljava/lang/String;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.aspectj.weaver.patterns.AnnotationPointcut.declarationText:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
public java.lang.Object accept(org.aspectj.weaver.patterns.PatternNodeVisitor, java.lang.Object);
descriptor: (Lorg/aspectj/weaver/patterns/PatternNodeVisitor;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
aload 2
invokeinterface org.aspectj.weaver.patterns.PatternNodeVisitor.visit:(Lorg/aspectj/weaver/patterns/AnnotationPointcut;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/patterns/AnnotationPointcut;
0 1 1 visitor Lorg/aspectj/weaver/patterns/PatternNodeVisitor;
0 1 2 data Ljava/lang/Object;
MethodParameters:
Name Flags
visitor
data
}
SourceFile: "AnnotationPointcut.java"
InnerClasses:
public Kind = org.aspectj.weaver.Lint$Kind of org.aspectj.weaver.Lint
public final Kind = org.aspectj.weaver.Shadow$Kind of org.aspectj.weaver.Shadow