aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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) {