Provide equals/hashCode based on psiElementSource
#KT-59445
This commit is contained in:
committed by
Space Team
parent
d0477a6a30
commit
7e9a897ef3
+8
-3
@@ -23,6 +23,8 @@ import org.jetbrains.kotlin.load.java.structure.impl.source.JavaElementPsiSource
|
|||||||
import org.jetbrains.kotlin.load.java.structure.impl.source.JavaElementSourceFactory;
|
import org.jetbrains.kotlin.load.java.structure.impl.source.JavaElementSourceFactory;
|
||||||
import org.jetbrains.kotlin.load.java.structure.impl.source.JavaSourceFactoryOwner;
|
import org.jetbrains.kotlin.load.java.structure.impl.source.JavaSourceFactoryOwner;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
public abstract class JavaElementImpl<Psi extends PsiElement> implements JavaElement, JavaSourceFactoryOwner {
|
public abstract class JavaElementImpl<Psi extends PsiElement> implements JavaElement, JavaSourceFactoryOwner {
|
||||||
protected final JavaElementPsiSource<Psi> psiElementSource;
|
protected final JavaElementPsiSource<Psi> psiElementSource;
|
||||||
|
|
||||||
@@ -43,12 +45,15 @@ public abstract class JavaElementImpl<Psi extends PsiElement> implements JavaEle
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return getPsi().hashCode();
|
return psiElementSource.hashCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object o) {
|
||||||
return obj instanceof JavaElementImpl && getPsi().equals(((JavaElementImpl) obj).getPsi());
|
if (this == o) return true;
|
||||||
|
if (o == null || getClass() != o.getClass()) return false;
|
||||||
|
JavaElementImpl<?> element = (JavaElementImpl<?>) o;
|
||||||
|
return Objects.equals(psiElementSource, element.psiElementSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user