diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java index 4b51a867a779..d42ab2530a8f 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java @@ -218,18 +218,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh @Nullable public static JavaResolveResult resolveJavaReference(@NotNull PsiReference reference) { - if (reference instanceof PsiJavaReference) { - PsiJavaReference psiJavaReference = (PsiJavaReference)reference; - return psiJavaReference.advancedResolve(false); - } - if (reference instanceof PsiPolyVariantReference) { - ResolveResult[] resolve = ((PsiPolyVariantReference)reference). - multiResolve(false, PsiReference.Hint.classHint(PsiClass.class)); - if (resolve.length == 1 && resolve[0] instanceof JavaResolveResult) { - return (JavaResolveResult)resolve[0]; - } - } - return null; + return reference instanceof PsiJavaReference ? ((PsiJavaReference)reference).advancedResolve(false) : null; } @Override diff --git a/platform/core-api/src/com/intellij/psi/PsiPolyVariantReference.java b/platform/core-api/src/com/intellij/psi/PsiPolyVariantReference.java index 314f70822920..1e443a3d9a99 100644 --- a/platform/core-api/src/com/intellij/psi/PsiPolyVariantReference.java +++ b/platform/core-api/src/com/intellij/psi/PsiPolyVariantReference.java @@ -37,11 +37,4 @@ public interface PsiPolyVariantReference extends PsiReference { * @return the array of results for resolving the reference. */ @NotNull ResolveResult[] multiResolve(boolean incompleteCode); - - /** - * Implementations may optimize resolving process depending on the given hint. - */ - default @NotNull ResolveResult[] multiResolve(boolean incompleteCode, Hint hint) { - return ResolveResult.EMPTY_ARRAY; - } } \ No newline at end of file diff --git a/platform/core-api/src/com/intellij/psi/PsiReference.java b/platform/core-api/src/com/intellij/psi/PsiReference.java index 0104580b2ffa..c08b0a4cf286 100644 --- a/platform/core-api/src/com/intellij/psi/PsiReference.java +++ b/platform/core-api/src/com/intellij/psi/PsiReference.java @@ -19,7 +19,6 @@ import com.intellij.openapi.util.TextRange; import com.intellij.util.ArrayFactory; import com.intellij.util.ArrayUtil; import com.intellij.util.IncorrectOperationException; -import com.intellij.util.ReflectionUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -67,26 +66,6 @@ public interface PsiReference { @Nullable PsiElement resolve(); - class Hint { - public final Class targetClass; - - private Hint(Class targetClass) { - this.targetClass = targetClass; - } - - public static Hint classHint(Class targetClass) { - return new Hint<>(targetClass); - } - } - - /** - * Implementations may optimize resolving process depending on the given hint. - */ - default T resolve(Hint hint) { - PsiElement element = resolve(); - return element != null && ReflectionUtil.isAssignable(hint.targetClass, element.getClass()) ? (T)element : null; - } - /** * Returns the name of the reference target element which does not depend on import statements * and other context (for example, the full-qualified name of the class if the reference targets