public class org.aspectj.weaver.patterns.PointcutRewriter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.aspectj.weaver.patterns.PointcutRewriter
super_class: java.lang.Object
{
private static final boolean WATCH_PROGRESS;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
public org.aspectj.weaver.patterns.Pointcut rewrite(org.aspectj.weaver.patterns.Pointcut, boolean);
descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;Z)Lorg/aspectj/weaver/patterns/Pointcut;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
astore 3
start local 3 1: iload 2
ifne 2
aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isDNF:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifne 4
2: StackMap locals: org.aspectj.weaver.patterns.Pointcut
StackMap stack:
aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.distributeNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 3
3: aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.pullUpDisjunctions:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 3
4: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.simplifyAnds:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 3
5: aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.removeNothings:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 3
6: aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.sortOrs:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 3
7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
0 8 1 pc Lorg/aspectj/weaver/patterns/Pointcut;
0 8 2 forceRewrite Z
1 8 3 result Lorg/aspectj/weaver/patterns/Pointcut;
MethodParameters:
Name Flags
pc
forceRewrite
public org.aspectj.weaver.patterns.Pointcut rewrite(org.aspectj.weaver.patterns.Pointcut);
descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
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
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.rewrite:(Lorg/aspectj/weaver/patterns/Pointcut;Z)Lorg/aspectj/weaver/patterns/Pointcut;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
0 1 1 pc Lorg/aspectj/weaver/patterns/Pointcut;
MethodParameters:
Name Flags
pc
private boolean isDNF(org.aspectj.weaver.patterns.Pointcut);
descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isDNFHelper:(Lorg/aspectj/weaver/patterns/Pointcut;Z)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
0 1 1 pc Lorg/aspectj/weaver/patterns/Pointcut;
MethodParameters:
Name Flags
pc
private boolean isDNFHelper(org.aspectj.weaver.patterns.Pointcut, boolean);
descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isAnd:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 4
1: aload 1
checkcast org.aspectj.weaver.patterns.AndPointcut
astore 3
start local 3 2: aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.AndPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
iconst_0
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isDNFHelper:(Lorg/aspectj/weaver/patterns/Pointcut;Z)Z
ifeq 3
aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.AndPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
iconst_0
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isDNFHelper:(Lorg/aspectj/weaver/patterns/Pointcut;Z)Z
ifeq 3
iconst_1
ireturn
StackMap locals: org.aspectj.weaver.patterns.AndPointcut
StackMap stack:
3: iconst_0
ireturn
end local 3 4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isOr:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 10
5: iload 2
ifne 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 1
checkcast org.aspectj.weaver.patterns.OrPointcut
astore 3
start local 3 8: aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
iconst_1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isDNFHelper:(Lorg/aspectj/weaver/patterns/Pointcut;Z)Z
ifeq 9
aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
iconst_1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isDNFHelper:(Lorg/aspectj/weaver/patterns/Pointcut;Z)Z
ifeq 9
iconst_1
ireturn
StackMap locals: org.aspectj.weaver.patterns.OrPointcut
StackMap stack:
9: iconst_0
ireturn
end local 3 10: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 12
11: aload 0
aload 1
checkcast org.aspectj.weaver.patterns.NotPointcut
invokevirtual org.aspectj.weaver.patterns.NotPointcut.getNegatedPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
iload 2
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isDNFHelper:(Lorg/aspectj/weaver/patterns/Pointcut;Z)Z
ireturn
12: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
0 13 1 pc Lorg/aspectj/weaver/patterns/Pointcut;
0 13 2 canStillHaveOrs Z
2 4 3 ap Lorg/aspectj/weaver/patterns/AndPointcut;
8 10 3 op Lorg/aspectj/weaver/patterns/OrPointcut;
MethodParameters:
Name Flags
pc
canStillHaveOrs
public static java.lang.String format(org.aspectj.weaver.patterns.Pointcut);
descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 p Lorg/aspectj/weaver/patterns/Pointcut;
1 2 1 s Ljava/lang/String;
MethodParameters:
Name Flags
p
private org.aspectj.weaver.patterns.Pointcut distributeNot(org.aspectj.weaver.patterns.Pointcut);
descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 16
1: aload 1
checkcast org.aspectj.weaver.patterns.NotPointcut
astore 2
start local 2 2: aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.NotPointcut.getNegatedPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.distributeNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 3
start local 3 3: aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 5
4: aload 3
checkcast org.aspectj.weaver.patterns.NotPointcut
invokevirtual org.aspectj.weaver.patterns.NotPointcut.getNegatedPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
areturn
5: StackMap locals: org.aspectj.weaver.patterns.NotPointcut org.aspectj.weaver.patterns.Pointcut
StackMap stack:
aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isAnd:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 10
6: aload 3
checkcast org.aspectj.weaver.patterns.AndPointcut
astore 4
start local 4 7: aload 0
new org.aspectj.weaver.patterns.NotPointcut
dup
aload 4
invokevirtual org.aspectj.weaver.patterns.AndPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
aload 2
invokevirtual org.aspectj.weaver.patterns.NotPointcut.getStart:()I
invokespecial org.aspectj.weaver.patterns.NotPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;I)V
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.distributeNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 5
start local 5 8: aload 0
new org.aspectj.weaver.patterns.NotPointcut
dup
aload 4
invokevirtual org.aspectj.weaver.patterns.AndPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
aload 2
invokevirtual org.aspectj.weaver.patterns.NotPointcut.getStart:()I
invokespecial org.aspectj.weaver.patterns.NotPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;I)V
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.distributeNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 6
start local 6 9: new org.aspectj.weaver.patterns.OrPointcut
dup
aload 5
aload 6
invokespecial org.aspectj.weaver.patterns.OrPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
areturn
end local 6 end local 5 end local 4 10: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isOr:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 15
11: aload 3
checkcast org.aspectj.weaver.patterns.OrPointcut
astore 4
start local 4 12: aload 0
new org.aspectj.weaver.patterns.NotPointcut
dup
aload 4
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
aload 2
invokevirtual org.aspectj.weaver.patterns.NotPointcut.getStart:()I
invokespecial org.aspectj.weaver.patterns.NotPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;I)V
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.distributeNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 5
start local 5 13: aload 0
new org.aspectj.weaver.patterns.NotPointcut
dup
aload 4
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
aload 2
invokevirtual org.aspectj.weaver.patterns.NotPointcut.getStart:()I
invokespecial org.aspectj.weaver.patterns.NotPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;I)V
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.distributeNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 6
start local 6 14: new org.aspectj.weaver.patterns.AndPointcut
dup
aload 5
aload 6
invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
areturn
end local 6 end local 5 end local 4 15: StackMap locals:
StackMap stack:
new org.aspectj.weaver.patterns.NotPointcut
dup
aload 3
aload 2
invokevirtual org.aspectj.weaver.patterns.NotPointcut.getStart:()I
invokespecial org.aspectj.weaver.patterns.NotPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;I)V
areturn
end local 3 end local 2 16: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isAnd:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 21
17: aload 1
checkcast org.aspectj.weaver.patterns.AndPointcut
astore 2
start local 2 18: aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.AndPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.distributeNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 3
start local 3 19: aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.AndPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.distributeNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 4
start local 4 20: new org.aspectj.weaver.patterns.AndPointcut
dup
aload 3
aload 4
invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
areturn
end local 4 end local 3 end local 2 21: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isOr:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 26
22: aload 1
checkcast org.aspectj.weaver.patterns.OrPointcut
astore 2
start local 2 23: aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.distributeNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 3
start local 3 24: aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.distributeNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 4
start local 4 25: new org.aspectj.weaver.patterns.OrPointcut
dup
aload 3
aload 4
invokespecial org.aspectj.weaver.patterns.OrPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
areturn
end local 4 end local 3 end local 2 26: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
0 27 1 pc Lorg/aspectj/weaver/patterns/Pointcut;
2 16 2 npc Lorg/aspectj/weaver/patterns/NotPointcut;
3 16 3 notBody Lorg/aspectj/weaver/patterns/Pointcut;
7 10 4 apc Lorg/aspectj/weaver/patterns/AndPointcut;
8 10 5 newLeft Lorg/aspectj/weaver/patterns/Pointcut;
9 10 6 newRight Lorg/aspectj/weaver/patterns/Pointcut;
12 15 4 opc Lorg/aspectj/weaver/patterns/OrPointcut;
13 15 5 newLeft Lorg/aspectj/weaver/patterns/Pointcut;
14 15 6 newRight Lorg/aspectj/weaver/patterns/Pointcut;
18 21 2 apc Lorg/aspectj/weaver/patterns/AndPointcut;
19 21 3 left Lorg/aspectj/weaver/patterns/Pointcut;
20 21 4 right Lorg/aspectj/weaver/patterns/Pointcut;
23 26 2 opc Lorg/aspectj/weaver/patterns/OrPointcut;
24 26 3 left Lorg/aspectj/weaver/patterns/Pointcut;
25 26 4 right Lorg/aspectj/weaver/patterns/Pointcut;
MethodParameters:
Name Flags
pc
private org.aspectj.weaver.patterns.Pointcut pullUpDisjunctions(org.aspectj.weaver.patterns.Pointcut);
descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=11, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 3
1: aload 1
checkcast org.aspectj.weaver.patterns.NotPointcut
astore 2
start local 2 2: new org.aspectj.weaver.patterns.NotPointcut
dup
aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.NotPointcut.getNegatedPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.pullUpDisjunctions:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
invokespecial org.aspectj.weaver.patterns.NotPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;)V
areturn
end local 2 3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isAnd:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 24
4: aload 1
checkcast org.aspectj.weaver.patterns.AndPointcut
astore 2
start local 2 5: aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.AndPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.pullUpDisjunctions:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 3
start local 3 6: aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.AndPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.pullUpDisjunctions:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 4
start local 4 7: aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isOr:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 11
aload 0
aload 4
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isOr:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifne 11
8: aload 3
checkcast org.aspectj.weaver.patterns.OrPointcut
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
astore 5
start local 5 9: aload 3
checkcast org.aspectj.weaver.patterns.OrPointcut
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
astore 6
start local 6 10: aload 0
new org.aspectj.weaver.patterns.OrPointcut
dup
new org.aspectj.weaver.patterns.AndPointcut
dup
aload 5
aload 4
invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
new org.aspectj.weaver.patterns.AndPointcut
dup
aload 6
aload 4
invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
invokespecial org.aspectj.weaver.patterns.OrPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.pullUpDisjunctions:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
areturn
end local 6 end local 5 11: StackMap locals: org.aspectj.weaver.patterns.AndPointcut org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.patterns.Pointcut
StackMap stack:
aload 0
aload 4
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isOr:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 15
aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isOr:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifne 15
12: aload 4
checkcast org.aspectj.weaver.patterns.OrPointcut
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
astore 5
start local 5 13: aload 4
checkcast org.aspectj.weaver.patterns.OrPointcut
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
astore 6
start local 6 14: aload 0
new org.aspectj.weaver.patterns.OrPointcut
dup
new org.aspectj.weaver.patterns.AndPointcut
dup
aload 3
aload 5
invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
new org.aspectj.weaver.patterns.AndPointcut
dup
aload 3
aload 6
invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
invokespecial org.aspectj.weaver.patterns.OrPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.pullUpDisjunctions:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
areturn
end local 6 end local 5 15: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isOr:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 23
aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isOr:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 23
16: aload 0
aload 3
checkcast org.aspectj.weaver.patterns.OrPointcut
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.pullUpDisjunctions:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 5
start local 5 17: aload 0
aload 3
checkcast org.aspectj.weaver.patterns.OrPointcut
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.pullUpDisjunctions:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 6
start local 6 18: aload 0
aload 4
checkcast org.aspectj.weaver.patterns.OrPointcut
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.pullUpDisjunctions:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 7
start local 7 19: aload 0
aload 4
checkcast org.aspectj.weaver.patterns.OrPointcut
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.pullUpDisjunctions:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 8
start local 8 20: new org.aspectj.weaver.patterns.OrPointcut
dup
new org.aspectj.weaver.patterns.AndPointcut
dup
aload 5
aload 7
invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
new org.aspectj.weaver.patterns.AndPointcut
dup
aload 5
aload 8
invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
invokespecial org.aspectj.weaver.patterns.OrPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
astore 9
start local 9 21: new org.aspectj.weaver.patterns.OrPointcut
dup
new org.aspectj.weaver.patterns.AndPointcut
dup
aload 6
aload 7
invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
new org.aspectj.weaver.patterns.AndPointcut
dup
aload 6
aload 8
invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
invokespecial org.aspectj.weaver.patterns.OrPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
astore 10
start local 10 22: aload 0
new org.aspectj.weaver.patterns.OrPointcut
dup
aload 9
aload 10
invokespecial org.aspectj.weaver.patterns.OrPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.pullUpDisjunctions:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 23: StackMap locals:
StackMap stack:
new org.aspectj.weaver.patterns.AndPointcut
dup
aload 3
aload 4
invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
areturn
end local 4 end local 3 end local 2 24: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isOr:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 27
25: aload 1
checkcast org.aspectj.weaver.patterns.OrPointcut
astore 2
start local 2 26: new org.aspectj.weaver.patterns.OrPointcut
dup
aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.pullUpDisjunctions:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.pullUpDisjunctions:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
invokespecial org.aspectj.weaver.patterns.OrPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
areturn
end local 2 27: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
0 28 1 pc Lorg/aspectj/weaver/patterns/Pointcut;
2 3 2 npc Lorg/aspectj/weaver/patterns/NotPointcut;
5 24 2 apc Lorg/aspectj/weaver/patterns/AndPointcut;
6 24 3 left Lorg/aspectj/weaver/patterns/Pointcut;
7 24 4 right Lorg/aspectj/weaver/patterns/Pointcut;
9 11 5 leftLeft Lorg/aspectj/weaver/patterns/Pointcut;
10 11 6 leftRight Lorg/aspectj/weaver/patterns/Pointcut;
13 15 5 rightLeft Lorg/aspectj/weaver/patterns/Pointcut;
14 15 6 rightRight Lorg/aspectj/weaver/patterns/Pointcut;
17 23 5 A Lorg/aspectj/weaver/patterns/Pointcut;
18 23 6 B Lorg/aspectj/weaver/patterns/Pointcut;
19 23 7 C Lorg/aspectj/weaver/patterns/Pointcut;
20 23 8 D Lorg/aspectj/weaver/patterns/Pointcut;
21 23 9 newLeft Lorg/aspectj/weaver/patterns/Pointcut;
22 23 10 newRight Lorg/aspectj/weaver/patterns/Pointcut;
26 27 2 opc Lorg/aspectj/weaver/patterns/OrPointcut;
MethodParameters:
Name Flags
pc
public org.aspectj.weaver.patterns.Pointcut not(org.aspectj.weaver.patterns.Pointcut);
descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 2
1: aload 1
checkcast org.aspectj.weaver.patterns.NotPointcut
invokevirtual org.aspectj.weaver.patterns.NotPointcut.getNegatedPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
areturn
2: StackMap locals:
StackMap stack:
new org.aspectj.weaver.patterns.NotPointcut
dup
aload 1
invokespecial org.aspectj.weaver.patterns.NotPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
0 3 1 p Lorg/aspectj/weaver/patterns/Pointcut;
MethodParameters:
Name Flags
p
public org.aspectj.weaver.patterns.Pointcut createAndsFor(org.aspectj.weaver.patterns.Pointcut[]);
descriptor: ([Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
arraylength
iconst_1
if_icmpne 2
1: aload 1
iconst_0
aaload
areturn
2: StackMap locals:
StackMap stack:
aload 1
arraylength
iconst_2
if_icmpne 4
3: new org.aspectj.weaver.patterns.AndPointcut
dup
aload 1
iconst_0
aaload
aload 1
iconst_1
aaload
invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
areturn
4: StackMap locals:
StackMap stack:
aload 1
arraylength
iconst_1
isub
anewarray org.aspectj.weaver.patterns.Pointcut
astore 2
start local 2 5: iconst_1
istore 3
start local 3 6: goto 9
7: StackMap locals: org.aspectj.weaver.patterns.Pointcut[] int
StackMap stack:
aload 2
iload 3
iconst_1
isub
aload 1
iload 3
aaload
aastore
8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 1
arraylength
if_icmplt 7
end local 3 10: new org.aspectj.weaver.patterns.AndPointcut
dup
aload 1
iconst_0
aaload
aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.createAndsFor:([Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
0 11 1 ps [Lorg/aspectj/weaver/patterns/Pointcut;
5 11 2 subset [Lorg/aspectj/weaver/patterns/Pointcut;
6 10 3 i I
MethodParameters:
Name Flags
ps
private org.aspectj.weaver.patterns.Pointcut simplifyAnds(org.aspectj.weaver.patterns.Pointcut);
descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 6
1: aload 1
checkcast org.aspectj.weaver.patterns.NotPointcut
astore 2
start local 2 2: aload 2
invokevirtual org.aspectj.weaver.patterns.NotPointcut.getNegatedPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
astore 3
start local 3 3: aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isNot:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 5
4: aload 0
aload 3
checkcast org.aspectj.weaver.patterns.NotPointcut
invokevirtual org.aspectj.weaver.patterns.NotPointcut.getNegatedPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.simplifyAnds:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
areturn
5: StackMap locals: org.aspectj.weaver.patterns.NotPointcut org.aspectj.weaver.patterns.Pointcut
StackMap stack:
new org.aspectj.weaver.patterns.NotPointcut
dup
aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.NotPointcut.getNegatedPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.simplifyAnds:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
invokespecial org.aspectj.weaver.patterns.NotPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;)V
areturn
end local 3 end local 2 6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isOr:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 9
7: aload 1
checkcast org.aspectj.weaver.patterns.OrPointcut
astore 2
start local 2 8: new org.aspectj.weaver.patterns.OrPointcut
dup
aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.simplifyAnds:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.simplifyAnds:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
invokespecial org.aspectj.weaver.patterns.OrPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
areturn
end local 2 9: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isAnd:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 11
10: aload 0
aload 1
checkcast org.aspectj.weaver.patterns.AndPointcut
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.simplifyAnd:(Lorg/aspectj/weaver/patterns/AndPointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
areturn
11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
0 12 1 pc Lorg/aspectj/weaver/patterns/Pointcut;
2 6 2 npc Lorg/aspectj/weaver/patterns/NotPointcut;
3 6 3 notBody Lorg/aspectj/weaver/patterns/Pointcut;
8 9 2 opc Lorg/aspectj/weaver/patterns/OrPointcut;
MethodParameters:
Name Flags
pc
private org.aspectj.weaver.patterns.Pointcut simplifyAnd(org.aspectj.weaver.patterns.AndPointcut);
descriptor: (Lorg/aspectj/weaver/patterns/AndPointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: new java.util.TreeSet
dup
new org.aspectj.weaver.patterns.PointcutEvaluationExpenseComparator
dup
invokespecial org.aspectj.weaver.patterns.PointcutEvaluationExpenseComparator.<init>:()V
invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
astore 2
start local 2 1: aload 0
aload 1
aload 2
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.collectAndNodes:(Lorg/aspectj/weaver/patterns/AndPointcut;Ljava/util/Set;)V
2: aload 2
invokeinterface java.util.SortedSet.iterator:()Ljava/util/Iterator;
astore 3
start local 3 3: goto 14
4: StackMap locals: java.util.SortedSet java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.aspectj.weaver.patterns.Pointcut
astore 4
start local 4 5: aload 4
instanceof org.aspectj.weaver.patterns.NotPointcut
ifeq 9
6: aload 4
checkcast org.aspectj.weaver.patterns.NotPointcut
invokevirtual org.aspectj.weaver.patterns.NotPointcut.getNegatedPointcut:()Lorg/aspectj/weaver/patterns/Pointcut;
astore 5
start local 5 7: aload 2
aload 5
invokeinterface java.util.SortedSet.contains:(Ljava/lang/Object;)Z
ifeq 9
8: aload 5
getfield org.aspectj.weaver.patterns.Pointcut.state:Lorg/aspectj/weaver/patterns/Pointcut$State;
invokestatic org.aspectj.weaver.patterns.Pointcut.makeMatchesNothing:(Lorg/aspectj/weaver/patterns/Pointcut$State;)Lorg/aspectj/weaver/patterns/Pointcut;
areturn
end local 5 9: StackMap locals: org.aspectj.weaver.patterns.Pointcut
StackMap stack:
aload 4
instanceof org.aspectj.weaver.patterns.IfPointcut
ifeq 12
10: aload 4
checkcast org.aspectj.weaver.patterns.IfPointcut
invokevirtual org.aspectj.weaver.patterns.IfPointcut.alwaysFalse:()Z
ifeq 12
11: aload 4
getfield org.aspectj.weaver.patterns.Pointcut.state:Lorg/aspectj/weaver/patterns/Pointcut$State;
invokestatic org.aspectj.weaver.patterns.Pointcut.makeMatchesNothing:(Lorg/aspectj/weaver/patterns/Pointcut$State;)Lorg/aspectj/weaver/patterns/Pointcut;
areturn
12: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.aspectj.weaver.patterns.Pointcut.couldMatchKinds:()I
getstatic org.aspectj.weaver.Shadow.NO_SHADOW_KINDS_BITS:I
if_icmpne 14
13: aload 4
areturn
end local 4 14: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 3 15: aload 1
invokevirtual org.aspectj.weaver.patterns.AndPointcut.couldMatchKinds:()I
getstatic org.aspectj.weaver.Shadow.NO_SHADOW_KINDS_BITS:I
if_icmpne 17
16: aload 1
getfield org.aspectj.weaver.patterns.AndPointcut.state:Lorg/aspectj/weaver/patterns/Pointcut$State;
invokestatic org.aspectj.weaver.patterns.Pointcut.makeMatchesNothing:(Lorg/aspectj/weaver/patterns/Pointcut$State;)Lorg/aspectj/weaver/patterns/Pointcut;
areturn
17: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.SortedSet.iterator:()Ljava/util/Iterator;
astore 3
start local 3 18: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.aspectj.weaver.patterns.Pointcut
astore 4
start local 4 19: goto 22
20: StackMap locals: java.util.Iterator org.aspectj.weaver.patterns.Pointcut
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.aspectj.weaver.patterns.Pointcut
astore 5
start local 5 21: new org.aspectj.weaver.patterns.AndPointcut
dup
aload 4
aload 5
invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
astore 4
end local 5 22: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
23: aload 4
areturn
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/aspectj/weaver/patterns/PointcutRewriter;
0 24 1 apc Lorg/aspectj/weaver/patterns/AndPointcut;
1 24 2 nodes Ljava/util/SortedSet<Lorg/aspectj/weaver/patterns/Pointcut;>;
3 15 3 iter Ljava/util/Iterator<Lorg/aspectj/weaver/patterns/Pointcut;>;
5 14 4 element Lorg/aspectj/weaver/patterns/Pointcut;
7 9 5 body Lorg/aspectj/weaver/patterns/Pointcut;
18 24 3 iter Ljava/util/Iterator<Lorg/aspectj/weaver/patterns/Pointcut;>;
19 24 4 result Lorg/aspectj/weaver/patterns/Pointcut;
21 22 5 right Lorg/aspectj/weaver/patterns/Pointcut;
MethodParameters:
Name Flags
apc
private org.aspectj.weaver.patterns.Pointcut sortOrs(org.aspectj.weaver.patterns.Pointcut);
descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: new java.util.TreeSet
dup
new org.aspectj.weaver.patterns.PointcutEvaluationExpenseComparator
dup
invokespecial org.aspectj.weaver.patterns.PointcutEvaluationExpenseComparator.<init>:()V
invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
astore 2
start local 2 1: aload 0
aload 1
aload 2
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.collectOrNodes:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/Set;)V
2: aload 2
invokeinterface java.util.SortedSet.iterator:()Ljava/util/Iterator;
astore 3
start local 3 3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.aspectj.weaver.patterns.Pointcut
astore 4
start local 4 4: goto 7
5: StackMap locals: java.util.SortedSet java.util.Iterator org.aspectj.weaver.patterns.Pointcut
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.aspectj.weaver.patterns.Pointcut
astore 5
start local 5 6: new org.aspectj.weaver.patterns.OrPointcut
dup
aload 4
aload 5
invokespecial org.aspectj.weaver.patterns.OrPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
astore 4
end local 5 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 4
areturn
end local 4 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/PointcutRewriter;
0 9 1 pc Lorg/aspectj/weaver/patterns/Pointcut;
1 9 2 nodes Ljava/util/SortedSet<Lorg/aspectj/weaver/patterns/Pointcut;>;
3 9 3 iter Ljava/util/Iterator<Lorg/aspectj/weaver/patterns/Pointcut;>;
4 9 4 result Lorg/aspectj/weaver/patterns/Pointcut;
6 7 5 right Lorg/aspectj/weaver/patterns/Pointcut;
MethodParameters:
Name Flags
pc
private org.aspectj.weaver.patterns.Pointcut removeNothings(org.aspectj.weaver.patterns.Pointcut);
descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isAnd:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 7
1: aload 1
checkcast org.aspectj.weaver.patterns.AndPointcut
astore 2
start local 2 2: aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.AndPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.removeNothings:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 3
start local 3 3: aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.AndPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.removeNothings:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 4
start local 4 4: aload 4
instanceof org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut
ifne 5
aload 3
instanceof org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut
ifeq 6
5: StackMap locals: org.aspectj.weaver.patterns.AndPointcut org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.patterns.Pointcut
StackMap stack:
new org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut
dup
invokespecial org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut.<init>:()V
areturn
6: StackMap locals:
StackMap stack:
new org.aspectj.weaver.patterns.AndPointcut
dup
aload 4
aload 3
invokespecial org.aspectj.weaver.patterns.AndPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
areturn
end local 4 end local 3 end local 2 7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isOr:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 19
8: aload 1
checkcast org.aspectj.weaver.patterns.OrPointcut
astore 2
start local 2 9: aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.removeNothings:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 3
start local 3 10: aload 0
aload 2
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.removeNothings:(Lorg/aspectj/weaver/patterns/Pointcut;)Lorg/aspectj/weaver/patterns/Pointcut;
astore 4
start local 4 11: aload 4
instanceof org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut
ifeq 13
aload 3
instanceof org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut
ifne 13
12: aload 3
areturn
13: StackMap locals: org.aspectj.weaver.patterns.OrPointcut org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.patterns.Pointcut
StackMap stack:
aload 3
instanceof org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut
ifeq 15
aload 4
instanceof org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut
ifne 15
14: aload 4
areturn
15: StackMap locals:
StackMap stack:
aload 4
instanceof org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut
ifne 17
aload 3
instanceof org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut
ifne 17
16: new org.aspectj.weaver.patterns.OrPointcut
dup
aload 4
aload 3
invokespecial org.aspectj.weaver.patterns.OrPointcut.<init>:(Lorg/aspectj/weaver/patterns/Pointcut;Lorg/aspectj/weaver/patterns/Pointcut;)V
areturn
17: StackMap locals:
StackMap stack:
aload 4
instanceof org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut
ifeq 19
aload 3
instanceof org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut
ifeq 19
18: new org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut
dup
invokespecial org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut.<init>:()V
areturn
end local 4 end local 3 end local 2 19: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
0 20 1 pc Lorg/aspectj/weaver/patterns/Pointcut;
2 7 2 apc Lorg/aspectj/weaver/patterns/AndPointcut;
3 7 3 right Lorg/aspectj/weaver/patterns/Pointcut;
4 7 4 left Lorg/aspectj/weaver/patterns/Pointcut;
9 19 2 opc Lorg/aspectj/weaver/patterns/OrPointcut;
10 19 3 right Lorg/aspectj/weaver/patterns/Pointcut;
11 19 4 left Lorg/aspectj/weaver/patterns/Pointcut;
MethodParameters:
Name Flags
pc
private void collectAndNodes(org.aspectj.weaver.patterns.AndPointcut, java.util.Set<org.aspectj.weaver.patterns.Pointcut>);
descriptor: (Lorg/aspectj/weaver/patterns/AndPointcut;Ljava/util/Set;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.aspectj.weaver.patterns.AndPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
astore 3
start local 3 1: aload 1
invokevirtual org.aspectj.weaver.patterns.AndPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
astore 4
start local 4 2: aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isAnd:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 5
3: aload 0
aload 3
checkcast org.aspectj.weaver.patterns.AndPointcut
aload 2
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.collectAndNodes:(Lorg/aspectj/weaver/patterns/AndPointcut;Ljava/util/Set;)V
4: goto 6
5: StackMap locals: org.aspectj.weaver.patterns.Pointcut org.aspectj.weaver.patterns.Pointcut
StackMap stack:
aload 2
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isAnd:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 9
7: aload 0
aload 4
checkcast org.aspectj.weaver.patterns.AndPointcut
aload 2
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.collectAndNodes:(Lorg/aspectj/weaver/patterns/AndPointcut;Ljava/util/Set;)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 2
aload 4
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
10: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
0 11 1 apc Lorg/aspectj/weaver/patterns/AndPointcut;
0 11 2 nodesSoFar Ljava/util/Set<Lorg/aspectj/weaver/patterns/Pointcut;>;
1 11 3 left Lorg/aspectj/weaver/patterns/Pointcut;
2 11 4 right Lorg/aspectj/weaver/patterns/Pointcut;
Signature: (Lorg/aspectj/weaver/patterns/AndPointcut;Ljava/util/Set<Lorg/aspectj/weaver/patterns/Pointcut;>;)V
MethodParameters:
Name Flags
apc
nodesSoFar
private void collectOrNodes(org.aspectj.weaver.patterns.Pointcut, java.util.Set<org.aspectj.weaver.patterns.Pointcut>);
descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/Set;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.isOr:(Lorg/aspectj/weaver/patterns/Pointcut;)Z
ifeq 5
1: aload 1
checkcast org.aspectj.weaver.patterns.OrPointcut
astore 3
start local 3 2: aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getLeft:()Lorg/aspectj/weaver/patterns/Pointcut;
aload 2
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.collectOrNodes:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/Set;)V
3: aload 0
aload 3
invokevirtual org.aspectj.weaver.patterns.OrPointcut.getRight:()Lorg/aspectj/weaver/patterns/Pointcut;
aload 2
invokevirtual org.aspectj.weaver.patterns.PointcutRewriter.collectOrNodes:(Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/Set;)V
end local 3 4: goto 6
5: StackMap locals:
StackMap stack:
aload 2
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
0 7 1 pc Lorg/aspectj/weaver/patterns/Pointcut;
0 7 2 nodesSoFar Ljava/util/Set<Lorg/aspectj/weaver/patterns/Pointcut;>;
2 4 3 opc Lorg/aspectj/weaver/patterns/OrPointcut;
Signature: (Lorg/aspectj/weaver/patterns/Pointcut;Ljava/util/Set<Lorg/aspectj/weaver/patterns/Pointcut;>;)V
MethodParameters:
Name Flags
pc
nodesSoFar
private boolean isNot(org.aspectj.weaver.patterns.Pointcut);
descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.aspectj.weaver.patterns.NotPointcut
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
0 1 1 pc Lorg/aspectj/weaver/patterns/Pointcut;
MethodParameters:
Name Flags
pc
private boolean isAnd(org.aspectj.weaver.patterns.Pointcut);
descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.aspectj.weaver.patterns.AndPointcut
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
0 1 1 pc Lorg/aspectj/weaver/patterns/Pointcut;
MethodParameters:
Name Flags
pc
private boolean isOr(org.aspectj.weaver.patterns.Pointcut);
descriptor: (Lorg/aspectj/weaver/patterns/Pointcut;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.aspectj.weaver.patterns.OrPointcut
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/weaver/patterns/PointcutRewriter;
0 1 1 pc Lorg/aspectj/weaver/patterns/Pointcut;
MethodParameters:
Name Flags
pc
}
SourceFile: "PointcutRewriter.java"
InnerClasses:
MatchesNothingPointcut = org.aspectj.weaver.patterns.Pointcut$MatchesNothingPointcut of org.aspectj.weaver.patterns.Pointcut
public final State = org.aspectj.weaver.patterns.Pointcut$State of org.aspectj.weaver.patterns.Pointcut