diff options
Diffstat (limited to 'dx/src/com/android/dx/rop/cst/CstMemberRef.java')
-rw-r--r-- | dx/src/com/android/dx/rop/cst/CstMemberRef.java | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/dx/src/com/android/dx/rop/cst/CstMemberRef.java b/dx/src/com/android/dx/rop/cst/CstMemberRef.java deleted file mode 100644 index dbaad47eb..000000000 --- a/dx/src/com/android/dx/rop/cst/CstMemberRef.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.dx.rop.cst; - -/** - * Constants of type <code>CONSTANT_*ref_info</code>. - */ -public abstract class CstMemberRef extends TypedConstant { - /** non-null; the type of the defining class */ - private final CstType definingClass; - - /** non-null; the name-and-type */ - private final CstNat nat; - - /** - * Constructs an instance. - * - * @param definingClass non-null; the type of the defining class - * @param nat non-null; the name-and-type - */ - /*package*/ CstMemberRef(CstType definingClass, CstNat nat) { - if (definingClass == null) { - throw new NullPointerException("definingClass == null"); - } - - if (nat == null) { - throw new NullPointerException("nat == null"); - } - - this.definingClass = definingClass; - this.nat = nat; - } - - /** {@inheritDoc} */ - @Override - public final boolean equals(Object other) { - if ((other == null) || (getClass() != other.getClass())) { - return false; - } - - CstMemberRef otherRef = (CstMemberRef) other; - return definingClass.equals(otherRef.definingClass) && - nat.equals(otherRef.nat); - } - - /** {@inheritDoc} */ - @Override - public final int hashCode() { - return (definingClass.hashCode() * 31) ^ nat.hashCode(); - } - - /** - * {@inheritDoc} - * - * <p><b>Note:</b> This implementation just compares the defining - * class and name, and it is up to subclasses to compare the rest - * after calling <code>super.compareTo0()</code>.</p> - */ - @Override - protected int compareTo0(Constant other) { - CstMemberRef otherMember = (CstMemberRef) other; - int cmp = definingClass.compareTo(otherMember.definingClass); - - if (cmp != 0) { - return cmp; - } - - CstUtf8 thisName = nat.getName(); - CstUtf8 otherName = otherMember.nat.getName(); - - return thisName.compareTo(otherName); - } - - /** {@inheritDoc} */ - @Override - public final String toString() { - return typeName() + '{' + toHuman() + '}'; - } - - /** {@inheritDoc} */ - @Override - public final boolean isCategory2() { - return false; - } - - /** {@inheritDoc} */ - public final String toHuman() { - return definingClass.toHuman() + '.' + nat.toHuman(); - } - - /** - * Gets the type of the defining class. - * - * @return non-null; the type of defining class - */ - public final CstType getDefiningClass() { - return definingClass; - } - - /** - * Gets the defining name-and-type. - * - * @return non-null; the name-and-type - */ - public final CstNat getNat() { - return nat; - } -} |