aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-09-06 11:00:26 +0000
committeracolyer <acolyer>2005-09-06 11:00:26 +0000
commit752a7b4b45d02495ca1610d1a941d4feafc80bae (patch)
tree11185fcb663bf975c2dd930f30c5b72fb3105943 /weaver
parent9a7dfa5ff13d55a2934e877a7684944920efc224 (diff)
downloadaspectj-752a7b4b45d02495ca1610d1a941d4feafc80bae.tar.gz
aspectj-752a7b4b45d02495ca1610d1a941d4feafc80bae.zip
fix for pr108818, changed the signature of concretize and concretize1 to pass in the actual declaring type of the member owning the pointcut reference.
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/AndPointcut.java6
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/AnnotationPointcut.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ArgsAnnotationPointcut.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java4
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/Declare.java12
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/DeclareErrorOrWarning.java1
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/HandlerPointcut.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/IfPointcut.java8
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/KindedPointcut.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/NotPointcut.java4
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/OrPointcut.java6
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/PerCflow.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/PerClause.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/PerObject.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/Pointcut.java15
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/WithinAnnotationPointcut.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/WithinCodeAnnotationPointcut.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/WithinPointcut.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/WithincodePointcut.java2
-rw-r--r--weaver/testsrc/org/aspectj/weaver/bcel/PatternWeaveTestCase.java2
-rw-r--r--weaver/testsrc/org/aspectj/weaver/bcel/WeaveTestCase.java2
-rw-r--r--weaver/testsrc/org/aspectj/weaver/patterns/PointcutTestCase.java2
-rw-r--r--weaver/testsrc/org/aspectj/weaver/patterns/WithinTestCase.java2
27 files changed, 55 insertions, 39 deletions
diff --git a/weaver/src/org/aspectj/weaver/patterns/AndPointcut.java b/weaver/src/org/aspectj/weaver/patterns/AndPointcut.java
index ed74f33c8..3277d981f 100644
--- a/weaver/src/org/aspectj/weaver/patterns/AndPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/AndPointcut.java
@@ -136,9 +136,9 @@ public class AndPointcut extends Pointcut {
return Test.makeAnd(left.findResidue(shadow, state), right.findResidue(shadow, state));
}
- public Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
- AndPointcut ret = new AndPointcut(left.concretize(inAspect, bindings),
- right.concretize(inAspect, bindings));
+ public Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
+ AndPointcut ret = new AndPointcut(left.concretize(inAspect, declaringType, bindings),
+ right.concretize(inAspect, declaringType, bindings));
ret.copyLocationFrom(this);
return ret;
}
diff --git a/weaver/src/org/aspectj/weaver/patterns/AnnotationPointcut.java b/weaver/src/org/aspectj/weaver/patterns/AnnotationPointcut.java
index 8abc60a15..3a6dcfcf0 100644
--- a/weaver/src/org/aspectj/weaver/patterns/AnnotationPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/AnnotationPointcut.java
@@ -174,7 +174,7 @@ public class AnnotationPointcut extends NameBindingPointcut {
/* (non-Javadoc)
* @see org.aspectj.weaver.patterns.Pointcut#concretize1(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.IntMap)
*/
- protected Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ protected Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
ExactAnnotationTypePattern newType = (ExactAnnotationTypePattern) annotationTypePattern.remapAdviceFormals(bindings);
Pointcut ret = new AnnotationPointcut(newType, bindings.getEnclosingAdvice());
ret.copyLocationFrom(this);
diff --git a/weaver/src/org/aspectj/weaver/patterns/ArgsAnnotationPointcut.java b/weaver/src/org/aspectj/weaver/patterns/ArgsAnnotationPointcut.java
index c3e59a953..7dc86e166 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ArgsAnnotationPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ArgsAnnotationPointcut.java
@@ -99,7 +99,7 @@ public class ArgsAnnotationPointcut extends NameBindingPointcut {
/* (non-Javadoc)
* @see org.aspectj.weaver.patterns.Pointcut#concretize1(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.IntMap)
*/
- protected Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ protected Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
if (isDeclare(bindings.getEnclosingAdvice())) {
// Enforce rule about which designators are supported in declare
inAspect.getWorld().showMessage(IMessage.ERROR,
diff --git a/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java b/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java
index 33bcb26fc..e66dd4452 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java
@@ -255,7 +255,7 @@ public class ArgsPointcut extends NameBindingPointcut {
}
- public Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ public Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
if (isDeclare(bindings.getEnclosingAdvice())) {
// Enforce rule about which designators are supported in declare
inAspect.getWorld().showMessage(IMessage.ERROR,
diff --git a/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java b/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java
index c1edb4b68..6cd1f7e3f 100644
--- a/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java
@@ -173,7 +173,7 @@ public class CflowPointcut extends Pointcut {
throw new RuntimeException("unimplemented");
}
- public Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ public Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
// Enforce rule about which designators are supported in declare
if (isDeclare(bindings.getEnclosingAdvice())) {
@@ -206,7 +206,7 @@ public class CflowPointcut extends Pointcut {
entryBindings.pushEnclosingDefinition(CFLOW_MARKER);
// This block concretizes the pointcut within the cflow pointcut
try {
- concreteEntry = entry.concretize(inAspect, entryBindings);
+ concreteEntry = entry.concretize(inAspect, declaringType, entryBindings);
} finally {
entryBindings.popEnclosingDefinitition();
}
diff --git a/weaver/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java b/weaver/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java
index 88a6c5860..2c6fc51ba 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java
@@ -141,7 +141,7 @@ public class ConcreteCflowPointcut extends Pointcut {
MemberImpl.method(UnresolvedType.forName(NameMangler.CFLOW_COUNTER_TYPE), 0, "isValid", "()Z");
- public Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ public Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
throw new RuntimeException("unimplemented");
}
diff --git a/weaver/src/org/aspectj/weaver/patterns/Declare.java b/weaver/src/org/aspectj/weaver/patterns/Declare.java
index 4a23753af..2b35ea7a1 100644
--- a/weaver/src/org/aspectj/weaver/patterns/Declare.java
+++ b/weaver/src/org/aspectj/weaver/patterns/Declare.java
@@ -17,6 +17,7 @@ import java.io.IOException;
import java.util.Map;
import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.ResolvedType;
import org.aspectj.weaver.VersionedDataInputStream;
public abstract class Declare extends PatternNode {
@@ -25,6 +26,9 @@ public abstract class Declare extends PatternNode {
public static final byte SOFT = 3;
public static final byte DOMINATES = 4;
public static final byte ANNOTATION = 5;
+
+ // set when reading declare from aspect
+ private ResolvedType declaringType;
public static Declare read(VersionedDataInputStream s, ISourceContext context) throws IOException {
byte kind = s.readByte();
@@ -71,4 +75,12 @@ public abstract class Declare extends PatternNode {
* want to easily differentiate between the declare methods.
*/
public abstract String getNameSuffix();
+
+ public void setDeclaringType(ResolvedType aType) {
+ this.declaringType = aType;
+ }
+
+ public ResolvedType getDeclaringType() {
+ return declaringType;
+ }
}
diff --git a/weaver/src/org/aspectj/weaver/patterns/DeclareErrorOrWarning.java b/weaver/src/org/aspectj/weaver/patterns/DeclareErrorOrWarning.java
index 46dc89339..6ae99c818 100644
--- a/weaver/src/org/aspectj/weaver/patterns/DeclareErrorOrWarning.java
+++ b/weaver/src/org/aspectj/weaver/patterns/DeclareErrorOrWarning.java
@@ -18,6 +18,7 @@ import java.io.IOException;
import java.util.Map;
import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.ResolvedType;
import org.aspectj.weaver.VersionedDataInputStream;
public class DeclareErrorOrWarning extends Declare {
diff --git a/weaver/src/org/aspectj/weaver/patterns/HandlerPointcut.java b/weaver/src/org/aspectj/weaver/patterns/HandlerPointcut.java
index 027bef5a0..dbd0d5761 100644
--- a/weaver/src/org/aspectj/weaver/patterns/HandlerPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/HandlerPointcut.java
@@ -168,7 +168,7 @@ public class HandlerPointcut extends Pointcut {
return match(shadow).alwaysTrue() ? Literal.TRUE : Literal.FALSE;
}
- public Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ public Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
Pointcut ret = new HandlerPointcut(exceptionType);
ret.copyLocationFrom(this);
return ret;
diff --git a/weaver/src/org/aspectj/weaver/patterns/IfPointcut.java b/weaver/src/org/aspectj/weaver/patterns/IfPointcut.java
index 6d174d101..5efff72a8 100644
--- a/weaver/src/org/aspectj/weaver/patterns/IfPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/IfPointcut.java
@@ -268,7 +268,7 @@ public class IfPointcut extends Pointcut {
}
private IfPointcut partiallyConcretized = null;
- public Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ public Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
//System.err.println("concretize: " + this + " already: " + partiallyConcretized);
if (isDeclare(bindings.getEnclosingAdvice())) {
@@ -349,7 +349,7 @@ public class IfPointcut extends Pointcut {
} else {
ret.baseArgsCount = 0;
}
- ret.residueSource = advice.getPointcut().concretize(inAspect, ret.baseArgsCount, advice);
+ ret.residueSource = advice.getPointcut().concretize(inAspect, inAspect, ret.baseArgsCount, advice);
} else {
ResolvedPointcutDefinition def = bindings.peekEnclosingDefinitition();
if (def == CflowPointcut.CFLOW_MARKER) {
@@ -379,7 +379,7 @@ public class IfPointcut extends Pointcut {
IntMap newBindings = IntMap.idMap(ret.baseArgsCount);
newBindings.copyContext(bindings);
- ret.residueSource = def.getPointcut().concretize(inAspect, newBindings);
+ ret.residueSource = def.getPointcut().concretize(inAspect, declaringType, newBindings);
}
return ret;
@@ -444,6 +444,7 @@ public class IfPointcut extends Pointcut {
public Pointcut concretize1(
ResolvedType inAspect,
+ ResolvedType declaringType,
IntMap bindings) {
if (isDeclare(bindings.getEnclosingAdvice())) {
// Enforce rule about which designators are supported in declare
@@ -515,6 +516,7 @@ public class IfPointcut extends Pointcut {
public Pointcut concretize1(
ResolvedType inAspect,
+ ResolvedType declaringType,
IntMap bindings) {
if (isDeclare(bindings.getEnclosingAdvice())) {
// Enforce rule about which designators are supported in declare
diff --git a/weaver/src/org/aspectj/weaver/patterns/KindedPointcut.java b/weaver/src/org/aspectj/weaver/patterns/KindedPointcut.java
index f56218d84..cc19d438e 100644
--- a/weaver/src/org/aspectj/weaver/patterns/KindedPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/KindedPointcut.java
@@ -397,7 +397,7 @@ public class KindedPointcut extends Pointcut {
return match(shadow).alwaysTrue() ? Literal.TRUE : Literal.FALSE;
}
- public Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ public Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
Pointcut ret = new KindedPointcut(kind, signature, bindings.getEnclosingAdvice());
ret.copyLocationFrom(this);
return ret;
diff --git a/weaver/src/org/aspectj/weaver/patterns/NotPointcut.java b/weaver/src/org/aspectj/weaver/patterns/NotPointcut.java
index 4c727bd9c..8a1dc5539 100644
--- a/weaver/src/org/aspectj/weaver/patterns/NotPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/NotPointcut.java
@@ -132,8 +132,8 @@ public class NotPointcut extends Pointcut {
return Test.makeNot(body.findResidue(shadow, state));
}
- public Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
- Pointcut ret = new NotPointcut(body.concretize(inAspect, bindings));
+ public Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
+ Pointcut ret = new NotPointcut(body.concretize(inAspect, declaringType, bindings));
ret.copyLocationFrom(this);
return ret;
}
diff --git a/weaver/src/org/aspectj/weaver/patterns/OrPointcut.java b/weaver/src/org/aspectj/weaver/patterns/OrPointcut.java
index ad3eec289..5ec0962c3 100644
--- a/weaver/src/org/aspectj/weaver/patterns/OrPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/OrPointcut.java
@@ -138,9 +138,9 @@ public class OrPointcut extends Pointcut {
return Test.makeOr(left.findResidue(shadow, state), right.findResidue(shadow, state));
}
- public Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
- Pointcut ret = new OrPointcut(left.concretize(inAspect, bindings),
- right.concretize(inAspect, bindings));
+ public Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
+ Pointcut ret = new OrPointcut(left.concretize(inAspect, declaringType, bindings),
+ right.concretize(inAspect, declaringType, bindings));
ret.copyLocationFrom(this);
return ret;
}
diff --git a/weaver/src/org/aspectj/weaver/patterns/PerCflow.java b/weaver/src/org/aspectj/weaver/patterns/PerCflow.java
index 0c723baed..7afddbc8a 100644
--- a/weaver/src/org/aspectj/weaver/patterns/PerCflow.java
+++ b/weaver/src/org/aspectj/weaver/patterns/PerCflow.java
@@ -97,7 +97,7 @@ public class PerCflow extends PerClause {
CrosscuttingMembers xcut = inAspect.crosscuttingMembers;
Collection previousCflowEntries = xcut.getCflowEntries();
- Pointcut concreteEntry = entry.concretize(inAspect, 0, null); //IntMap.EMPTY);
+ Pointcut concreteEntry = entry.concretize(inAspect, inAspect, 0, null); //IntMap.EMPTY);
List innerCflowEntries = new ArrayList(xcut.getCflowEntries());
innerCflowEntries.removeAll(previousCflowEntries);
diff --git a/weaver/src/org/aspectj/weaver/patterns/PerClause.java b/weaver/src/org/aspectj/weaver/patterns/PerClause.java
index 2675c5751..bd3f7f801 100644
--- a/weaver/src/org/aspectj/weaver/patterns/PerClause.java
+++ b/weaver/src/org/aspectj/weaver/patterns/PerClause.java
@@ -33,7 +33,7 @@ public abstract class PerClause extends Pointcut {
throw new BCException("unknown kind: " + kind);
}
- public final Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ public final Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
throw new RuntimeException("unimplemented: wrong concretize");
}
diff --git a/weaver/src/org/aspectj/weaver/patterns/PerObject.java b/weaver/src/org/aspectj/weaver/patterns/PerObject.java
index 6b405cb2d..bb3bbbf63 100644
--- a/weaver/src/org/aspectj/weaver/patterns/PerObject.java
+++ b/weaver/src/org/aspectj/weaver/patterns/PerObject.java
@@ -106,7 +106,7 @@ public class PerObject extends PerClause {
World world = inAspect.getWorld();
- Pointcut concreteEntry = entry.concretize(inAspect, 0, null);
+ Pointcut concreteEntry = entry.concretize(inAspect, inAspect, 0, null);
//concreteEntry = new AndPointcut(this, concreteEntry);
//concreteEntry.state = Pointcut.CONCRETE;
inAspect.crosscuttingMembers.addConcreteShadowMunger(
diff --git a/weaver/src/org/aspectj/weaver/patterns/Pointcut.java b/weaver/src/org/aspectj/weaver/patterns/Pointcut.java
index d752c98ae..9b0a8a79a 100644
--- a/weaver/src/org/aspectj/weaver/patterns/Pointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/Pointcut.java
@@ -253,8 +253,8 @@ public abstract class Pointcut extends PatternNode implements PointcutExpression
* Returns a new pointcut
* Only used by test cases
*/
- public final Pointcut concretize(ResolvedType inAspect, int arity) {
- Pointcut ret = concretize(inAspect, IntMap.idMap(arity));
+ public final Pointcut concretize(ResolvedType inAspect, ResolvedType declaringType, int arity) {
+ Pointcut ret = concretize(inAspect, declaringType, IntMap.idMap(arity));
// copy the unbound ignore list
ret.m_ignoreUnboundBindingForNames = m_ignoreUnboundBindingForNames;
return ret;
@@ -262,12 +262,12 @@ public abstract class Pointcut extends PatternNode implements PointcutExpression
//XXX this is the signature we're moving to
- public final Pointcut concretize(ResolvedType inAspect, int arity, ShadowMunger advice) {
+ public final Pointcut concretize(ResolvedType inAspect, ResolvedType declaringType, int arity, ShadowMunger advice) {
//if (state == CONCRETE) return this; //???
IntMap map = IntMap.idMap(arity);
map.setEnclosingAdvice(advice);
map.setConcreteAspect(inAspect);
- return concretize(inAspect, map);
+ return concretize(inAspect, declaringType, map);
}
public boolean isDeclare(ShadowMunger munger) {
@@ -278,9 +278,9 @@ public abstract class Pointcut extends PatternNode implements PointcutExpression
}
- public final Pointcut concretize(ResolvedType inAspect, IntMap bindings) {
+ public final Pointcut concretize(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
//!!! add this test -- assertState(RESOLVED);
- Pointcut ret = this.concretize1(inAspect, bindings);
+ Pointcut ret = this.concretize1(inAspect, declaringType, bindings);
if (shouldCopyLocationForConcretize()) ret.copyLocationFrom(this);
ret.state = CONCRETE;
// copy the unbound ignore list
@@ -306,7 +306,7 @@ public abstract class Pointcut extends PatternNode implements PointcutExpression
* assumed in many places.
* XXX fix implementors to handle state
*/
- protected abstract Pointcut concretize1(ResolvedType inAspect, IntMap bindings);
+ protected abstract Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings);
//XXX implementors need to handle state
@@ -425,6 +425,7 @@ public abstract class Pointcut extends PatternNode implements PointcutExpression
public Pointcut concretize1(
ResolvedType inAspect,
+ ResolvedType declaringType,
IntMap bindings) {
return makeMatchesNothing(state);
}
diff --git a/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut.java b/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut.java
index a9326a113..784c42674 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut.java
@@ -138,7 +138,7 @@ public class ThisOrTargetAnnotationPointcut extends NameBindingPointcut {
/* (non-Javadoc)
* @see org.aspectj.weaver.patterns.Pointcut#concretize1(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.IntMap)
*/
- protected Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ protected Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
if (isDeclare(bindings.getEnclosingAdvice())) {
// Enforce rule about which designators are supported in declare
if (!alreadyWarnedAboutDEoW) {
diff --git a/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java b/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java
index 6c8c821e7..71f6c8a91 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java
@@ -226,7 +226,7 @@ public class ThisOrTargetPointcut extends NameBindingPointcut {
return exposeStateForVar(var, type, state, shadow.getIWorld());
}
- public Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ public Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
if (isDeclare(bindings.getEnclosingAdvice())) {
// Enforce rule about which designators are supported in declare
inAspect.getWorld().showMessage(IMessage.ERROR,
diff --git a/weaver/src/org/aspectj/weaver/patterns/WithinAnnotationPointcut.java b/weaver/src/org/aspectj/weaver/patterns/WithinAnnotationPointcut.java
index e55d6d635..4f83d5512 100644
--- a/weaver/src/org/aspectj/weaver/patterns/WithinAnnotationPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/WithinAnnotationPointcut.java
@@ -112,7 +112,7 @@ public class WithinAnnotationPointcut extends NameBindingPointcut {
/* (non-Javadoc)
* @see org.aspectj.weaver.patterns.Pointcut#concretize1(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.IntMap)
*/
- protected Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ protected Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
ExactAnnotationTypePattern newType = (ExactAnnotationTypePattern) annotationTypePattern.remapAdviceFormals(bindings);
Pointcut ret = new WithinAnnotationPointcut(newType, bindings.getEnclosingAdvice());
ret.copyLocationFrom(this);
diff --git a/weaver/src/org/aspectj/weaver/patterns/WithinCodeAnnotationPointcut.java b/weaver/src/org/aspectj/weaver/patterns/WithinCodeAnnotationPointcut.java
index a4f1601f2..08220f71b 100644
--- a/weaver/src/org/aspectj/weaver/patterns/WithinCodeAnnotationPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/WithinCodeAnnotationPointcut.java
@@ -123,7 +123,7 @@ public class WithinCodeAnnotationPointcut extends NameBindingPointcut {
/* (non-Javadoc)
* @see org.aspectj.weaver.patterns.Pointcut#concretize1(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.IntMap)
*/
- protected Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ protected Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
ExactAnnotationTypePattern newType = (ExactAnnotationTypePattern) annotationTypePattern.remapAdviceFormals(bindings);
Pointcut ret = new WithinCodeAnnotationPointcut(newType, bindings.getEnclosingAdvice());
ret.copyLocationFrom(this);
diff --git a/weaver/src/org/aspectj/weaver/patterns/WithinPointcut.java b/weaver/src/org/aspectj/weaver/patterns/WithinPointcut.java
index ba0fe8d98..698da839a 100644
--- a/weaver/src/org/aspectj/weaver/patterns/WithinPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/WithinPointcut.java
@@ -182,7 +182,7 @@ public class WithinPointcut extends Pointcut {
}
- public Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ public Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
Pointcut ret = new WithinPointcut(typePattern);
ret.copyLocationFrom(this);
return ret;
diff --git a/weaver/src/org/aspectj/weaver/patterns/WithincodePointcut.java b/weaver/src/org/aspectj/weaver/patterns/WithincodePointcut.java
index 7c134a220..9cbd5941a 100644
--- a/weaver/src/org/aspectj/weaver/patterns/WithincodePointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/WithincodePointcut.java
@@ -156,7 +156,7 @@ public class WithincodePointcut extends Pointcut {
}
- public Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ public Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
Pointcut ret = new WithincodePointcut(signature);
ret.copyLocationFrom(this);
return ret;
diff --git a/weaver/testsrc/org/aspectj/weaver/bcel/PatternWeaveTestCase.java b/weaver/testsrc/org/aspectj/weaver/bcel/PatternWeaveTestCase.java
index 7a2a6f0e6..5509c32b0 100644
--- a/weaver/testsrc/org/aspectj/weaver/bcel/PatternWeaveTestCase.java
+++ b/weaver/testsrc/org/aspectj/weaver/bcel/PatternWeaveTestCase.java
@@ -80,7 +80,7 @@ public class PatternWeaveTestCase extends WeaveTestCase {
{
Pointcut sp = Pointcut.fromString(pointcutSource);
Pointcut rp = sp.resolve(new SimpleScope(world, FormalBinding.NONE));
- Pointcut cp = rp.concretize(ResolvedType.MISSING, 0);
+ Pointcut cp = rp.concretize(ResolvedType.MISSING, ResolvedType.MISSING, 0);
final List l = new ArrayList();
BcelAdvice p = new BcelAdvice(null, cp, null, 0, -1, -1, null, null) {
diff --git a/weaver/testsrc/org/aspectj/weaver/bcel/WeaveTestCase.java b/weaver/testsrc/org/aspectj/weaver/bcel/WeaveTestCase.java
index 5a78845cc..c3a84b977 100644
--- a/weaver/testsrc/org/aspectj/weaver/bcel/WeaveTestCase.java
+++ b/weaver/testsrc/org/aspectj/weaver/bcel/WeaveTestCase.java
@@ -267,7 +267,7 @@ public abstract class WeaveTestCase extends TestCase {
public Pointcut makeConcretePointcut(String s) {
- return makeResolvedPointcut(s).concretize(null, 0);
+ return makeResolvedPointcut(s).concretize(null, null, 0);
}
public Pointcut makeResolvedPointcut(String s) {
diff --git a/weaver/testsrc/org/aspectj/weaver/patterns/PointcutTestCase.java b/weaver/testsrc/org/aspectj/weaver/patterns/PointcutTestCase.java
index 37c0266c1..3a4477f9c 100644
--- a/weaver/testsrc/org/aspectj/weaver/patterns/PointcutTestCase.java
+++ b/weaver/testsrc/org/aspectj/weaver/patterns/PointcutTestCase.java
@@ -57,7 +57,7 @@ public class PointcutTestCase extends TestCase {
protected void resolveBindingsFromRTTI() {}
- protected Pointcut concretize1(ResolvedType inAspect, IntMap bindings) {
+ protected Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings) {
return null;
}
diff --git a/weaver/testsrc/org/aspectj/weaver/patterns/WithinTestCase.java b/weaver/testsrc/org/aspectj/weaver/patterns/WithinTestCase.java
index b0a0fb259..92283c5e6 100644
--- a/weaver/testsrc/org/aspectj/weaver/patterns/WithinTestCase.java
+++ b/weaver/testsrc/org/aspectj/weaver/patterns/WithinTestCase.java
@@ -100,7 +100,7 @@ public class WithinTestCase extends TestCase {
pointcut0.resolveBindings(scope, bindingTable);
Pointcut pointcut1 = pointcut0;
- return pointcut1.concretize1(null, new IntMap());
+ return pointcut1.concretize1(null, null, new IntMap());
}