diff options
Diffstat (limited to 'plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/UnnecessarilyQualifiedInnerClassAccessInspection.java')
-rw-r--r-- | plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/UnnecessarilyQualifiedInnerClassAccessInspection.java | 33 |
1 files changed, 18 insertions, 15 deletions
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 78e32e5eee60..e449ad98fc8f 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/UnnecessarilyQualifiedInnerClassAccessInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/UnnecessarilyQualifiedInnerClassAccessInspection.java @@ -99,7 +99,10 @@ public class UnnecessarilyQualifiedInnerClassAccessInspection extends BaseInspec } final PsiClass aClass = (PsiClass)target; ImportUtils.addImportIfNeeded(aClass, element); - element.delete(); + final String shortName = aClass.getName(); + if (isReferenceToTarget(shortName, aClass, parent)) { + element.delete(); + } } } @@ -108,6 +111,20 @@ public class UnnecessarilyQualifiedInnerClassAccessInspection extends BaseInspec return new UnnecessarilyQualifiedInnerClassAccessVisitor(); } + private 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); + if (results.length == 0) { + return true; + } + if (results.length > 1) { + return false; + } + final JavaResolveResult result = results[0]; + return result.isAccessible() && target.equals(result.getElement()); + } + private class UnnecessarilyQualifiedInnerClassAccessVisitor extends BaseInspectionVisitor { @@ -175,20 +192,6 @@ public class UnnecessarilyQualifiedInnerClassAccessInspection extends BaseInspec visitReferenceElement(expression); } - private 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); - if (results.length == 0) { - return true; - } - if (results.length > 1) { - return false; - } - final JavaResolveResult result = results[0]; - return result.isAccessible() && target.equals(result.getElement()); - } - private boolean isInImportOrPackage(PsiElement element) { while (element instanceof PsiJavaCodeReferenceElement) { element = element.getParent(); |