Relates to #215. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>tags/V1_9_20
@@ -333,4 +333,11 @@ public class AnnotationPointcut extends NameBindingPointcut { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.annotationTypePattern != null) | |||
this.annotationTypePattern.traverse(visitor, ret); | |||
return ret; | |||
} | |||
} |
@@ -247,4 +247,12 @@ public class ArgsAnnotationPointcut extends NameBindingPointcut { | |||
public Object accept(PatternNodeVisitor visitor, Object data) { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.arguments != null) | |||
this.arguments.traverse(visitor, ret); | |||
return ret; | |||
} | |||
} |
@@ -285,4 +285,12 @@ public class ArgsPointcut extends NameBindingPointcut { | |||
public Object accept(PatternNodeVisitor visitor, Object data) { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.arguments != null) | |||
this.arguments.traverse(visitor, ret); | |||
return ret; | |||
} | |||
} |
@@ -352,4 +352,11 @@ public class CflowPointcut extends Pointcut { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.entry != null) | |||
this.entry.traverse(visitor, ret); | |||
return ret; | |||
} | |||
} |
@@ -138,4 +138,12 @@ public class HandlerPointcut extends Pointcut { | |||
public Object accept(PatternNodeVisitor visitor, Object data) { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.exceptionType != null) | |||
this.exceptionType.traverse(visitor, ret); | |||
return ret; | |||
} | |||
} |
@@ -489,6 +489,16 @@ public class IfPointcut extends Pointcut { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.partiallyConcretized != null) | |||
this.partiallyConcretized.traverse(visitor, ret); | |||
if (this.residueSource != null) | |||
this.residueSource.traverse(visitor, ret); | |||
return ret; | |||
} | |||
public static class IfFalsePointcut extends IfPointcut { | |||
public IfFalsePointcut() { |
@@ -476,4 +476,12 @@ public class KindedPointcut extends Pointcut { | |||
public Object accept(PatternNodeVisitor visitor, Object data) { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.signature != null) | |||
this.signature.traverse(visitor, ret); | |||
return ret; | |||
} | |||
} |
@@ -52,6 +52,14 @@ public class PerCflow extends PerClause { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.entry != null) | |||
this.entry.traverse(visitor, ret); | |||
return ret; | |||
} | |||
public int couldMatchKinds() { | |||
return Shadow.ALL_SHADOW_KINDS_BITS; | |||
} |
@@ -63,6 +63,14 @@ public class PerObject extends PerClause { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.entry != null) | |||
this.entry.traverse(visitor, ret); | |||
return ret; | |||
} | |||
public int couldMatchKinds() { | |||
return isThis ? thisKindSet : targetKindSet; | |||
} |
@@ -411,4 +411,14 @@ public class ReferencePointcut extends Pointcut { | |||
public Object accept(PatternNodeVisitor visitor, Object data) { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.onTypeSymbolic != null) | |||
this.onTypeSymbolic.traverse(visitor, ret); | |||
if (this.arguments != null) | |||
this.arguments.traverse(visitor, ret); | |||
return ret; | |||
} | |||
} |
@@ -334,4 +334,12 @@ public class ThisOrTargetAnnotationPointcut extends NameBindingPointcut { | |||
public Object accept(PatternNodeVisitor visitor, Object data) { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.annotationTypePattern != null) | |||
this.annotationTypePattern.traverse(visitor, ret); | |||
return ret; | |||
} | |||
} |
@@ -239,4 +239,12 @@ public class ThisOrTargetPointcut extends NameBindingPointcut { | |||
public Object accept(PatternNodeVisitor visitor, Object data) { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.typePattern != null) | |||
this.typePattern.traverse(visitor, ret); | |||
return ret; | |||
} | |||
} |
@@ -238,4 +238,12 @@ public class WithinAnnotationPointcut extends NameBindingPointcut { | |||
public Object accept(PatternNodeVisitor visitor, Object data) { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.annotationTypePattern != null) | |||
this.annotationTypePattern.traverse(visitor, ret); | |||
return ret; | |||
} | |||
} |
@@ -227,4 +227,12 @@ public class WithinCodeAnnotationPointcut extends NameBindingPointcut { | |||
public Object accept(PatternNodeVisitor visitor, Object data) { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.annotationTypePattern != null) | |||
this.annotationTypePattern.traverse(visitor, ret); | |||
return ret; | |||
} | |||
} |
@@ -146,4 +146,12 @@ public class WithinPointcut extends Pointcut { | |||
public Object accept(PatternNodeVisitor visitor, Object data) { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.typePattern != null) | |||
this.typePattern.traverse(visitor, ret); | |||
return ret; | |||
} | |||
} |
@@ -138,4 +138,12 @@ public class WithincodePointcut extends Pointcut { | |||
public Object accept(PatternNodeVisitor visitor, Object data) { | |||
return visitor.visit(this, data); | |||
} | |||
@Override | |||
public Object traverse(PatternNodeVisitor visitor, Object data) { | |||
Object ret = accept(visitor, data); | |||
if (this.signature != null) | |||
this.signature.traverse(visitor, ret); | |||
return ret; | |||
} | |||
} |