aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-09-01 12:35:40 +0000
committeracolyer <acolyer>2005-09-01 12:35:40 +0000
commit7ed592c3a67299f1680c5ce334a5aa79c1877e61 (patch)
tree47215c2b9cc05d153a31e871b9f7e2b2796d9c7d
parent8dee531bd67e50d61793a657e19cc8de9113d9c8 (diff)
downloadaspectj-7ed592c3a67299f1680c5ce334a5aa79c1877e61.tar.gz
aspectj-7ed592c3a67299f1680c5ce334a5aa79c1877e61.zip
use the orginal (non-synthetic) constructor sig for matching
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java3
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelShadow.java9
2 files changed, 11 insertions, 1 deletions
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java b/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java
index d5f09d801..f50cc7260 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java
@@ -1375,6 +1375,9 @@ class BcelClassWeaver implements IClassWeaver {
if (superOrThisCall == null) return false;
enclosingShadow = BcelShadow.makeConstructorExecution(world, mg, superOrThisCall);
+ if (mg.getEffectiveSignature() != null) {
+ enclosingShadow.setMatchingSignature(mg.getEffectiveSignature().getEffectiveSignature());
+ }
// walk the body
boolean beforeSuperOrThisCall = true;
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java b/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java
index 495656bba..9cad79a29 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java
@@ -592,12 +592,16 @@ public class BcelShadow extends Shadow {
BcelWorld world,
LazyMethodGen constructor)
{
- return new BcelShadow(
+ BcelShadow ret = new BcelShadow(
world,
Initialization,
world.makeJoinPointSignature(constructor),
constructor,
null);
+ if (constructor.getEffectiveSignature() != null) {
+ ret.setMatchingSignature(constructor.getEffectiveSignature().getEffectiveSignature());
+ }
+ return ret;
}
public static BcelShadow makeUnfinishedPreinitialization(
@@ -611,6 +615,9 @@ public class BcelShadow extends Shadow {
constructor,
null);
ret.fallsThrough = true;
+ if (constructor.getEffectiveSignature() != null) {
+ ret.setMatchingSignature(constructor.getEffectiveSignature().getEffectiveSignature());
+ }
return ret;
}