1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved.
- * This program and the accompanying materials are made available
- * under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * PARC initial implementation
- * ******************************************************************/
-
- package org.aspectj.weaver;
-
- import java.io.IOException;
-
- public class NewParentTypeMunger extends ResolvedTypeMunger {
- ResolvedType newParent;
- ResolvedType declaringType;
- private boolean isMixin;
-
- public NewParentTypeMunger(ResolvedType newParent, ResolvedType declaringType) {
- super(Parent, null);
- this.newParent = newParent;
- this.declaringType = declaringType;
- this.isMixin = false;
- }
-
- public void write(CompressingDataOutputStream 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) && 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 ResolvedType getDeclaringType() {
- return declaringType;
- }
-
- public void setIsMixin(boolean b) {
- isMixin = true;
- }
-
- public boolean isMixin() {
- return isMixin;
- }
- }
|