]> source.dussan.org Git - aspectj.git/commitdiff
use the orginal (non-synthetic) constructor sig for matching
authoracolyer <acolyer>
Thu, 1 Sep 2005 12:35:40 +0000 (12:35 +0000)
committeracolyer <acolyer>
Thu, 1 Sep 2005 12:35:40 +0000 (12:35 +0000)
weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java
weaver/src/org/aspectj/weaver/bcel/BcelShadow.java

index d5f09d801431390d8255b4ca7ac4c6385a3f4ac5..f50cc7260ecd452bc9a60247ba3b3e452557beca 100644 (file)
@@ -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;
index 495656bba4a9c356b0560039b345e1a118d069ed..9cad79a29c9771e2f0b614490b15a90f2fb987a8 100644 (file)
@@ -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;
        }