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**/X.Y> {\n" +
" class Y{}\n" +
"}",