summaryrefslogtreecommitdiff
path: root/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/UnnecessarilyQualifiedInnerClassAccessInspection.java
diff options
context:
space:
mode:
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.java33
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();