summaryrefslogtreecommitdiffstats
path: root/weaver/src
diff options
context:
space:
mode:
authoraclement <aclement>2004-02-26 09:56:40 +0000
committeraclement <aclement>2004-02-26 09:56:40 +0000
commita8c17de491cf0c062c50e7a7488d5074c3f30673 (patch)
treec2d0749597f07f7c42c457b49ef3a8f7f107651b /weaver/src
parent9a29a973f55a157c54b18bcf554a090bb8ef19e3 (diff)
downloadaspectj-a8c17de491cf0c062c50e7a7488d5074c3f30673.tar.gz
aspectj-a8c17de491cf0c062c50e7a7488d5074c3f30673.zip
Fix for preventing the use of if/target/this/args/cflow/cflowbelow in DeclareSofts.
Diffstat (limited to 'weaver/src')
-rw-r--r--weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java1
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java5
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java5
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/IfPointcut.java7
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java5
5 files changed, 9 insertions, 14 deletions
diff --git a/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java b/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java
index 4a359d69a..f8db5c29a 100644
--- a/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java
+++ b/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java
@@ -21,7 +21,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.aspectj.weaver.bcel.BcelTypeMunger;
import org.aspectj.weaver.patterns.DeclareParents;
/**
diff --git a/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java b/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java
index 7c6410623..86c55b920 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java
@@ -20,7 +20,6 @@ import java.io.IOException;
import org.aspectj.bridge.IMessage;
import org.aspectj.util.FuzzyBoolean;
import org.aspectj.weaver.BetaException;
-import org.aspectj.weaver.Checker;
import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.IntMap;
import org.aspectj.weaver.ResolvedTypeX;
@@ -89,8 +88,8 @@ public class ArgsPointcut extends NameBindingPointcut {
public Pointcut concretize1(ResolvedTypeX inAspect, IntMap bindings) {
- if (bindings.getEnclosingAdvice() instanceof Checker) {
- // Enforce rule about which designators are supported in deow
+ if (isDeclare(bindings.getEnclosingAdvice())) {
+ // Enforce rule about which designators are supported in declare
inAspect.getWorld().showMessage(IMessage.ERROR,
"args() pointcut designator cannot be used in declare statement",
bindings.getEnclosingAdvice().getSourceLocation(), null);
diff --git a/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java b/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java
index e7d5ac8b9..ef6dc5d80 100644
--- a/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java
@@ -25,7 +25,6 @@ import org.aspectj.bridge.IMessage;
import org.aspectj.util.FileUtil;
import org.aspectj.util.FuzzyBoolean;
import org.aspectj.weaver.Advice;
-import org.aspectj.weaver.Checker;
import org.aspectj.weaver.CrosscuttingMembers;
import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.IntMap;
@@ -123,8 +122,8 @@ public class CflowPointcut extends Pointcut {
public Pointcut concretize1(ResolvedTypeX inAspect, IntMap bindings) {
- if (bindings.getEnclosingAdvice() instanceof Checker) {
- // Enforce rule about which designators are supported in deow
+ if (isDeclare(bindings.getEnclosingAdvice())) {
+ // Enforce rule about which designators are supported in declare
inAspect.getWorld().showMessage(IMessage.ERROR,
"cflow"+(isBelow?"below":"")+"() pointcut designator cannot be used in declare statement",
bindings.getEnclosingAdvice().getSourceLocation(), null);
diff --git a/weaver/src/org/aspectj/weaver/patterns/IfPointcut.java b/weaver/src/org/aspectj/weaver/patterns/IfPointcut.java
index 6cb181329..baf55d85b 100644
--- a/weaver/src/org/aspectj/weaver/patterns/IfPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/IfPointcut.java
@@ -22,7 +22,6 @@ import java.util.List;
import org.aspectj.bridge.IMessage;
import org.aspectj.util.FuzzyBoolean;
import org.aspectj.weaver.Advice;
-import org.aspectj.weaver.Checker;
import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.IntMap;
import org.aspectj.weaver.ResolvedMember;
@@ -30,10 +29,10 @@ import org.aspectj.weaver.ResolvedPointcutDefinition;
import org.aspectj.weaver.ResolvedTypeX;
import org.aspectj.weaver.Shadow;
import org.aspectj.weaver.ShadowMunger;
-import org.aspectj.weaver.ast.*;
import org.aspectj.weaver.ast.Expr;
import org.aspectj.weaver.ast.Literal;
import org.aspectj.weaver.ast.Test;
+import org.aspectj.weaver.ast.Var;
public class IfPointcut extends Pointcut {
@@ -148,8 +147,8 @@ public class IfPointcut extends Pointcut {
public Pointcut concretize1(ResolvedTypeX inAspect, IntMap bindings) {
//System.err.println("concretize: " + this + " already: " + partiallyConcretized);
- if (bindings.getEnclosingAdvice() instanceof Checker) {
- // Enforce rule about which designators are supported in deow
+ if (isDeclare(bindings.getEnclosingAdvice())) {
+ // Enforce rule about which designators are supported in declare
inAspect.getWorld().showMessage(IMessage.ERROR,
"if() pointcut designator cannot be used in declare statement",
bindings.getEnclosingAdvice().getSourceLocation(),
diff --git a/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java b/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java
index 814370f15..daca6f922 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java
@@ -19,7 +19,6 @@ import java.io.IOException;
import org.aspectj.bridge.IMessage;
import org.aspectj.util.FuzzyBoolean;
-import org.aspectj.weaver.Checker;
import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.IntMap;
import org.aspectj.weaver.ResolvedTypeX;
@@ -117,8 +116,8 @@ public class ThisOrTargetPointcut extends NameBindingPointcut {
}
public Pointcut concretize1(ResolvedTypeX inAspect, IntMap bindings) {
- if (bindings.getEnclosingAdvice() instanceof Checker) {
- // Enforce rule about which designators are supported in deow
+ if (isDeclare(bindings.getEnclosingAdvice())) {
+ // Enforce rule about which designators are supported in declare
inAspect.getWorld().showMessage(IMessage.ERROR,
(isThis?"this":"target")+"() pointcut designator cannot be used in declare statement",
bindings.getEnclosingAdvice().getSourceLocation(), null);