hashCode, equals, toString for JavaElement

This commit is contained in:
Alexander Udalov
2013-08-02 16:23:56 +04:00
parent 34a552abfc
commit 2c4c1d7cc6
3 changed files with 41 additions and 1 deletions
@@ -31,4 +31,19 @@ public abstract class JavaElementImpl implements JavaElement {
public PsiElement getPsi() {
return psiElement;
}
@Override
public int hashCode() {
return getPsi().hashCode();
}
@Override
public boolean equals(Object obj) {
return obj instanceof JavaElement && getPsi().equals(((JavaElement) obj).getPsi());
}
@Override
public String toString() {
return getClass().getSimpleName() + ": " + getPsi();
}
}
@@ -67,8 +67,18 @@ public abstract class JavaType {
});
}
@Override
public int hashCode() {
return getPsi().hashCode();
}
@Override
public boolean equals(Object obj) {
return obj instanceof JavaType && getPsi().equals(((JavaType) obj).getPsi());
}
@Override
public String toString() {
return getClass().getSimpleName() + ": " + getPsi();
}
}
@@ -33,6 +33,21 @@ public class JavaTypeSubstitutor {
@NotNull
public JavaType substitute(@NotNull JavaType type) {
return JavaType.create(psiSubstitutor.substitute(type.getPsi()));
return JavaType.create(getPsi().substitute(type.getPsi()));
}
@Override
public int hashCode() {
return getPsi().hashCode();
}
@Override
public boolean equals(Object obj) {
return obj instanceof JavaTypeSubstitutor && getPsi().equals(((JavaTypeSubstitutor) obj).getPsi());
}
@Override
public String toString() {
return getClass().getSimpleName() + ": " + getPsi();
}
}