aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-08-18 09:35:44 +0000
committeracolyer <acolyer>2005-08-18 09:35:44 +0000
commit5dd3cc085103f409982e5b484fe32ba68c909701 (patch)
tree6099a033b24df2eae870c4f954c7c1402fffa911
parente6dd6008a53908d96b21f4c07e84a0ec983ec595 (diff)
downloadaspectj-5dd3cc085103f409982e5b484fe32ba68c909701.tar.gz
aspectj-5dd3cc085103f409982e5b484fe32ba68c909701.zip
make sure we don't lose source location on parameterizeWith
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/SignaturePattern.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/weaver/src/org/aspectj/weaver/patterns/SignaturePattern.java b/weaver/src/org/aspectj/weaver/patterns/SignaturePattern.java
index 18c765a4b..7f1266396 100644
--- a/weaver/src/org/aspectj/weaver/patterns/SignaturePattern.java
+++ b/weaver/src/org/aspectj/weaver/patterns/SignaturePattern.java
@@ -127,15 +127,17 @@ public class SignaturePattern extends PatternNode {
* is replaced by the corresponding entry in the map.
*/
public SignaturePattern parameterizeWith(Map typeVariableMap) {
- return new SignaturePattern(
+ SignaturePattern ret = new SignaturePattern(
kind,
modifiers,
- returnType,
- declaringType,
+ returnType.parameterizeWith(typeVariableMap),
+ declaringType.parameterizeWith(typeVariableMap),
name,
parameterTypes.parameterizeWith(typeVariableMap),
- throwsPattern,
- annotationPattern);
+ throwsPattern.parameterizeWith(typeVariableMap),
+ annotationPattern.parameterizeWith(typeVariableMap));
+ ret.copyLocationFrom(this);
+ return ret;
}
public boolean matches(Member joinPointSignature, World world, boolean allowBridgeMethods) {