]> source.dussan.org Git - aspectj.git/commitdiff
@within, @withincode, and @annotation also need to return true to HasPossibleDynamicC...
authoracolyer <acolyer>
Fri, 14 Apr 2006 17:34:28 +0000 (17:34 +0000)
committeracolyer <acolyer>
Fri, 14 Apr 2006 17:34:28 +0000 (17:34 +0000)
weaver/src/org/aspectj/weaver/internal/tools/PointcutExpressionImpl.java

index d9361a78102d05fceccbdad7bd608d316a381180..e8cca37b30a94d3c7e5af1814f16f20cc3dd0f92 100644 (file)
@@ -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;