diff options
author | acolyer <acolyer> | 2005-09-06 11:00:26 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2005-09-06 11:00:26 +0000 |
commit | 752a7b4b45d02495ca1610d1a941d4feafc80bae (patch) | |
tree | 11185fcb663bf975c2dd930f30c5b72fb3105943 /weaver | |
parent | 9a7dfa5ff13d55a2934e877a7684944920efc224 (diff) | |
download | aspectj-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')
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()); } |