aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.matcher/src/org
diff options
context:
space:
mode:
authoraclement <aclement>2009-03-09 22:09:22 +0000
committeraclement <aclement>2009-03-09 22:09:22 +0000
commit3d69656ad9cb116192206949527160989b40a84f (patch)
tree7910cae53a511aa8eec42923809cec34a97aa5cf /org.aspectj.matcher/src/org
parent596406d0d78771524f4176d807a6791418bfb7b5 (diff)
downloadaspectj-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.java48
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;
+ }
}