aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2005-11-17 08:40:14 +0000
committeraclement <aclement>2005-11-17 08:40:14 +0000
commit0d52a36323a374d3ba32da3cbf765c01419d8667 (patch)
tree96fdfd6583deb7ed03744ad8d29948306ed8b445
parenta7e84c66fc7ced725454c0135fffdb237c899403 (diff)
downloadaspectj-0d52a36323a374d3ba32da3cbf765c01419d8667.tar.gz
aspectj-0d52a36323a374d3ba32da3cbf765c01419d8667.zip
fix for latest part of Alex's bug.
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java3
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())) {