mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-13 09:19:13 +07:00
unknown class get all unresolved reference fixes (IDEA-192090)
This commit is contained in:
+7
-1
@@ -2004,7 +2004,13 @@ public class HighlightUtil extends HighlightUtilBase {
|
||||
if (aClass == null) {
|
||||
String canonicalText = type.getCanonicalText();
|
||||
String description = JavaErrorMessages.message("unknown.class", canonicalText);
|
||||
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(typeElement).descriptionAndTooltip(description).create();
|
||||
HighlightInfo info =
|
||||
HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(typeElement).descriptionAndTooltip(description).create();
|
||||
PsiJavaCodeReferenceElement referenceElement = typeElement.getInnermostComponentReferenceElement();
|
||||
if (referenceElement != null) {
|
||||
UnresolvedReferenceQuickFixProvider.registerReferenceFixes(referenceElement, new QuickFixActionRegistrarImpl(info));
|
||||
}
|
||||
return info;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+7
-2
@@ -105,8 +105,13 @@ public abstract class CreateClassFromUsageBaseFix extends BaseIntentionAction {
|
||||
public boolean isAvailable(@NotNull final Project project, final Editor editor, final PsiFile file) {
|
||||
final PsiJavaCodeReferenceElement element = getRefElement();
|
||||
if (element == null ||
|
||||
!element.getManager().isInProject(element) ||
|
||||
CreateFromUsageUtils.isValidReference(element, true)) return false;
|
||||
!element.getManager().isInProject(element)) {
|
||||
return false;
|
||||
}
|
||||
JavaResolveResult[] results = element.multiResolve(true);
|
||||
if (results.length > 0 && results[0].getElement() instanceof PsiClass) {
|
||||
return false;
|
||||
}
|
||||
final String refName = element.getReferenceName();
|
||||
if (refName == null || !checkClassName(refName)) return false;
|
||||
PsiElement nameElement = element.getReferenceNameElement();
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
// "Create class 'Abc'" "true"
|
||||
public class Test {
|
||||
Abc Abc;
|
||||
}
|
||||
|
||||
public class Abc {
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
// "Create class 'Abc'" "true"
|
||||
public class Test {
|
||||
<caret>Abc Abc;
|
||||
}
|
||||
Reference in New Issue
Block a user