mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-200293 IDE blocks on JSP reformat
re-fixed without using new API
This commit is contained in:
+1
-12
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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<T extends PsiElement> {
|
||||
public final Class<T> targetClass;
|
||||
|
||||
private Hint(Class<T> targetClass) {
|
||||
this.targetClass = targetClass;
|
||||
}
|
||||
|
||||
public static <T extends PsiElement> Hint<T> classHint(Class<T> targetClass) {
|
||||
return new Hint<>(targetClass);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementations may optimize resolving process depending on the given hint.
|
||||
*/
|
||||
default <T extends PsiElement> T resolve(Hint<T> 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
|
||||
|
||||
Reference in New Issue
Block a user