Provide equals/hashCode based on psiElementSource

#KT-59445
This commit is contained in:
Vladimir Dolzhenko
2023-06-21 11:24:04 +02:00
committed by Space Team
parent d0477a6a30
commit 7e9a897ef3
@@ -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.JavaSourceFactoryOwner;
import java.util.Objects;
public abstract class JavaElementImpl<Psi extends PsiElement> implements JavaElement, JavaSourceFactoryOwner {
protected final JavaElementPsiSource<Psi> psiElementSource;
@@ -43,12 +45,15 @@ public abstract class JavaElementImpl<Psi extends PsiElement> implements JavaEle
@Override
public int hashCode() {
return getPsi().hashCode();
return psiElementSource.hashCode();
}
@Override
public boolean equals(Object obj) {
return obj instanceof JavaElementImpl && getPsi().equals(((JavaElementImpl) obj).getPsi());
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
JavaElementImpl<?> element = (JavaElementImpl<?>) o;
return Objects.equals(psiElementSource, element.psiElementSource);
}
@Override