diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/UnnecessarilyQualifiedInnerClassAccessInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/UnnecessarilyQualifiedInnerClassAccessInspection.java index de8e07639f0f..33e1f57c3985 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/UnnecessarilyQualifiedInnerClassAccessInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/UnnecessarilyQualifiedInnerClassAccessInspection.java @@ -105,7 +105,7 @@ public class UnnecessarilyQualifiedInnerClassAccessInspection extends BaseInspec return new UnnecessarilyQualifiedInnerClassAccessVisitor(); } - private static boolean isReferenceToTarget(String referenceText, @NotNull PsiClass target, PsiElement context) { + static boolean isReferenceToTarget(String referenceText, @NotNull PsiClass target, PsiElement context) { final PsiJavaCodeReferenceElement reference = JavaPsiFacade.getElementFactory(target.getProject()).createReferenceFromText(referenceText, context); final JavaResolveResult[] results = reference.multiResolve(false); @@ -151,13 +151,13 @@ public class UnnecessarilyQualifiedInnerClassAccessInspection extends BaseInspec return; } final PsiElement brace = referenceClass.getLBrace(); + ProblemHighlightType highlightType = ProblemHighlightType.LIKE_UNUSED_SYMBOL; if (!referenceClass.equals(qualifierTarget) || brace != null && brace.getTextOffset() > reference.getTextOffset()) { if (ignoreReferencesNeedingImport && - (PsiTreeUtil.isAncestor(referenceClass, qualifierTarget, - true) || - !PsiTreeUtil.isAncestor(qualifierTarget, - referenceClass, true))) { - return; + (PsiTreeUtil.isAncestor(referenceClass, qualifierTarget, true) || + !PsiTreeUtil.isAncestor(qualifierTarget, referenceClass, true))) { + if (!isOnTheFly()) return; + highlightType = ProblemHighlightType.INFORMATION; } } final PsiElement target = reference.resolve(); @@ -176,7 +176,7 @@ public class UnnecessarilyQualifiedInnerClassAccessInspection extends BaseInspec if (!isReferenceToTarget(shortName, aClass, reference)) { return; } - registerError(qualifier, ProblemHighlightType.LIKE_UNUSED_SYMBOL, aClass); + registerError(qualifier, highlightType, aClass); } @Override diff --git a/plugins/InspectionGadgets/src/META-INF/InspectionGadgets.xml b/plugins/InspectionGadgets/src/META-INF/InspectionGadgets.xml index 222a8d65e8b5..3b2931ea4e2a 100644 --- a/plugins/InspectionGadgets/src/META-INF/InspectionGadgets.xml +++ b/plugins/InspectionGadgets/src/META-INF/InspectionGadgets.xml @@ -2387,7 +2387,7 @@ level="WARNING" implementationClass="com.siyeh.ig.style.TypeParameterExtendsObjectInspection"/> /*1*/./*2*/Y foo;\n" + + " /**/X/*1*/./*2*/Y foo;\n" + " \n" + " class Y{}\n" + "}", @@ -27,7 +27,7 @@ public class UnnecessarilyQualifiedInnerClassAccessFixTest extends IGQuickFixesT doTest("Remove qualifier", "package p;\n" + "import java.util.List;\n" + - "abstract class X implements List<X.Y> {\n" + + "abstract class X implements List {\n" + " class Y{}\n" + "}",