summaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoracolyer <acolyer>2006-04-14 17:34:28 +0000
committeracolyer <acolyer>2006-04-14 17:34:28 +0000
commitec93456d8ba48f828757783a50da2bca82e6e8fe (patch)
treeac07fe8dd9e264807a48e9c0955a2cdaaa8c800c /weaver
parent064c5145535c166d52252e010828e9994b3e7635 (diff)
downloadaspectj-ec93456d8ba48f828757783a50da2bca82e6e8fe.tar.gz
aspectj-ec93456d8ba48f828757783a50da2bca82e6e8fe.zip
@within, @withincode, and @annotation also need to return true to HasPossibleDynamicContent...
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/internal/tools/PointcutExpressionImpl.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/weaver/src/org/aspectj/weaver/internal/tools/PointcutExpressionImpl.java b/weaver/src/org/aspectj/weaver/internal/tools/PointcutExpressionImpl.java
index d9361a781..e8cca37b3 100644
--- a/weaver/src/org/aspectj/weaver/internal/tools/PointcutExpressionImpl.java
+++ b/weaver/src/org/aspectj/weaver/internal/tools/PointcutExpressionImpl.java
@@ -20,6 +20,7 @@ import org.aspectj.weaver.World;
import org.aspectj.weaver.ast.Literal;
import org.aspectj.weaver.ast.Test;
import org.aspectj.weaver.patterns.AbstractPatternNodeVisitor;
+import org.aspectj.weaver.patterns.AnnotationPointcut;
import org.aspectj.weaver.patterns.ArgsAnnotationPointcut;
import org.aspectj.weaver.patterns.ArgsPointcut;
import org.aspectj.weaver.patterns.CflowPointcut;
@@ -30,6 +31,8 @@ import org.aspectj.weaver.patterns.NotPointcut;
import org.aspectj.weaver.patterns.Pointcut;
import org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut;
import org.aspectj.weaver.patterns.ThisOrTargetPointcut;
+import org.aspectj.weaver.patterns.WithinAnnotationPointcut;
+import org.aspectj.weaver.patterns.WithinCodeAnnotationPointcut;
import org.aspectj.weaver.reflect.ReflectionFastMatchInfo;
import org.aspectj.weaver.reflect.ReflectionShadow;
import org.aspectj.weaver.reflect.ShadowMatchImpl;
@@ -252,6 +255,21 @@ public class PointcutExpressionImpl implements PointcutExpression {
public boolean hasDynamicContent() { return hasDynamicContent; }
+ public Object visit(WithinAnnotationPointcut node, Object data) {
+ hasDynamicContent = true;
+ return null;
+ }
+
+ public Object visit(WithinCodeAnnotationPointcut node, Object data) {
+ hasDynamicContent = true;
+ return null;
+ }
+
+ public Object visit(AnnotationPointcut node, Object data) {
+ hasDynamicContent = true;
+ return null;
+ }
+
public Object visit(ArgsAnnotationPointcut node, Object data) {
hasDynamicContent = true;
return null;