diff options
author | aclement <aclement> | 2009-03-09 22:09:22 +0000 |
---|---|---|
committer | aclement <aclement> | 2009-03-09 22:09:22 +0000 |
commit | 3d69656ad9cb116192206949527160989b40a84f (patch) | |
tree | 7910cae53a511aa8eec42923809cec34a97aa5cf /org.aspectj.matcher/src/org | |
parent | 596406d0d78771524f4176d807a6791418bfb7b5 (diff) | |
download | aspectj-3d69656ad9cb116192206949527160989b40a84f.tar.gz aspectj-3d69656ad9cb116192206949527160989b40a84f.zip |
declareMixin
Diffstat (limited to 'org.aspectj.matcher/src/org')
-rw-r--r-- | org.aspectj.matcher/src/org/aspectj/weaver/NewParentTypeMunger.java | 48 |
1 files changed, 30 insertions, 18 deletions
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/NewParentTypeMunger.java b/org.aspectj.matcher/src/org/aspectj/weaver/NewParentTypeMunger.java index cc8ac44aa..069711bc1 100644 --- a/org.aspectj.matcher/src/org/aspectj/weaver/NewParentTypeMunger.java +++ b/org.aspectj.matcher/src/org/aspectj/weaver/NewParentTypeMunger.java @@ -10,7 +10,6 @@ * PARC initial implementation * ******************************************************************/ - package org.aspectj.weaver; import java.io.DataOutputStream; @@ -18,34 +17,47 @@ import java.io.IOException; public class NewParentTypeMunger extends ResolvedTypeMunger { ResolvedType newParent; - + private boolean isMixin; + public NewParentTypeMunger(ResolvedType newParent) { super(Parent, null); this.newParent = newParent; + this.isMixin = false; } public void write(DataOutputStream s) throws IOException { throw new RuntimeException("unimplemented"); } - public ResolvedType getNewParent() { return newParent; } - public boolean equals(Object other) { - if (! (other instanceof NewParentTypeMunger)) return false; - NewParentTypeMunger o = (NewParentTypeMunger) other; - return newParent.equals(o.newParent); - } - - private volatile int hashCode = 0; - public int hashCode() { - if (hashCode == 0) { - int result = 17; - result = 37*result + newParent.hashCode(); - hashCode = result; - } - return hashCode; - } + public boolean equals(Object other) { + if (!(other instanceof NewParentTypeMunger)) { + return false; + } + NewParentTypeMunger o = (NewParentTypeMunger) other; + return newParent.equals(o.newParent) && isMixin == o.isMixin; + } + + private volatile int hashCode = 0; + + public int hashCode() { + if (hashCode == 0) { + int result = 17; + result = 37 * result + newParent.hashCode(); + result = 37 * result + (isMixin ? 0 : 1); + hashCode = result; + } + return hashCode; + } + + public void setIsMixin(boolean b) { + isMixin = true; + } + + public boolean isMixin() { + return isMixin; + } } |