]> source.dussan.org Git - aspectj.git/commitdiff
259649: equivalentTo() added
authoraclement <aclement>
Mon, 5 Jan 2009 22:02:29 +0000 (22:02 +0000)
committeraclement <aclement>
Mon, 5 Jan 2009 22:02:29 +0000 (22:02 +0000)
org.aspectj.matcher/src/org/aspectj/weaver/ConcreteTypeMunger.java

index 524d091be26f88eebdc4cf331cde4a428a6e13d3..7e25ce8c121177f45d66ce839e71297866b7145c 100644 (file)
@@ -26,13 +26,18 @@ public abstract class ConcreteTypeMunger implements PartialOrder.PartialComparab
                this.aspectType = aspectType;
        }
 
-       // An EclipseTypeMunger and a BcelTypeMunger may say TRUE for equivalentTo()...
-       // public boolean equivalentTo(Object other) {
-       // if (! (other instanceof ConcreteTypeMunger)) return false;
-       // ConcreteTypeMunger o = (ConcreteTypeMunger) other;
-       // return ((o.getMunger() == null) ? (getMunger() == null) : o.getMunger().equals(getMunger()))
-       // && ((o.getAspectType() == null) ? (getAspectType() == null) : o.getAspectType().equals(getAspectType()));
-       // }
+    /**
+     * Equivalence can be true for an EclipseTypeMunger and a BcelTypeMunger that represent the
+     * same transformation (just at different points in the pipeline).
+    */
+       public boolean equivalentTo(Object other) {
+               if (!(other instanceof ConcreteTypeMunger)) {
+                       return false;
+               }
+               ConcreteTypeMunger o = (ConcreteTypeMunger) other;
+               return ((o.getMunger() == null) ? (getMunger() == null) : o.getMunger().equals(getMunger()))
+                               && ((o.getAspectType() == null) ? (getAspectType() == null) : o.getAspectType().equals(getAspectType()));
+       }
 
        // public abstract boolean munge(LazyClassGen gen);
 
@@ -141,4 +146,8 @@ public abstract class ConcreteTypeMunger implements PartialOrder.PartialComparab
                }
                return false;
        }
+
+       public boolean shouldOverwrite() {
+               return true;
+       }
 }