diff options
author | aclement <aclement> | 2005-11-17 08:40:14 +0000 |
---|---|---|
committer | aclement <aclement> | 2005-11-17 08:40:14 +0000 |
commit | 0d52a36323a374d3ba32da3cbf765c01419d8667 (patch) | |
tree | 96fdfd6583deb7ed03744ad8d29948306ed8b445 | |
parent | a7e84c66fc7ced725454c0135fffdb237c899403 (diff) | |
download | aspectj-0d52a36323a374d3ba32da3cbf765c01419d8667.tar.gz aspectj-0d52a36323a374d3ba32da3cbf765c01419d8667.zip |
fix for latest part of Alex's bug.
-rw-r--r-- | weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java b/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java index 4f219457d..3c7dc1639 100644 --- a/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java +++ b/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java @@ -194,7 +194,7 @@ public class BcelTypeMunger extends ConcreteTypeMunger { ResolvedMember superMethod = (ResolvedMember) iter.next(); if (!superMethod.getName().equals("<init>")) { LazyMethodGen subMethod = findMatchingMethod(newParentTarget, superMethod); - if (subMethod!=null) { + if (subMethod!=null && !subMethod.isBridgeMethod()) { // FIXME asc is this safe for all bridge methods? cont = enforceDecpRule3_visibilityChanges(weaver, newParent, superMethod, subMethod) && cont; cont = enforceDecpRule4_compatibleReturnTypes(weaver, superMethod, subMethod) && cont; cont = enforceDecpRule5_cantChangeFromStaticToNonstatic(weaver,munger.getSourceLocation(),superMethod,subMethod) && cont; @@ -633,6 +633,7 @@ public class BcelTypeMunger extends ConcreteTypeMunger { BcelClassWeaver weaver, PerObjectInterfaceTypeMunger munger) { + //System.err.println("Munging perobject ["+munger+"] onto "+weaver.getLazyClassGen().getClassName()); LazyClassGen gen = weaver.getLazyClassGen(); if (couldMatch(gen.getBcelObjectType(), munger.getTestPointcut())) { |