From 8ada522a7268c32a6a38f155fd17d9cf91ef8c93 Mon Sep 17 00:00:00 2001 From: anna Date: Mon, 27 Dec 2010 17:46:29 +0300 Subject: [PATCH] safe delete unused static imports (IDEA-62051) --- .../refactoring/safeDelete/JavaSafeDeleteProcessor.java | 4 ++-- .../safeDelete/safeDeleteStaticImports/after/A.java | 3 +++ .../safeDelete/safeDeleteStaticImports/after/B.java | 4 ++++ .../safeDelete/safeDeleteStaticImports/before/A.java | 4 ++++ .../safeDelete/safeDeleteStaticImports/before/B.java | 4 ++++ .../testSrc/com/intellij/refactoring/SafeDeleteTest.java | 5 +++++ 6 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/after/A.java create mode 100644 java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/after/B.java create mode 100644 java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/before/A.java create mode 100644 java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/before/B.java diff --git a/java/java-impl/src/com/intellij/refactoring/safeDelete/JavaSafeDeleteProcessor.java b/java/java-impl/src/com/intellij/refactoring/safeDelete/JavaSafeDeleteProcessor.java index 65a80c335b76..6db581792a27 100644 --- a/java/java-impl/src/com/intellij/refactoring/safeDelete/JavaSafeDeleteProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/safeDelete/JavaSafeDeleteProcessor.java @@ -393,7 +393,7 @@ public class JavaSafeDeleteProcessor implements SafeDeleteProcessorDelegate { for (PsiReference reference : references) { final PsiElement element = reference.getElement(); if (!isInside(element, allElementsToDelete) && !isInside(element, overridingMethods)) { - usages.add(new SafeDeleteReferenceJavaDeleteUsageInfo(element, psiMethod, false)); + usages.add(new SafeDeleteReferenceJavaDeleteUsageInfo(element, psiMethod, PsiTreeUtil.getParentOfType(element, PsiImportStaticStatement.class) != null)); } } @@ -612,7 +612,7 @@ public class JavaSafeDeleteProcessor implements SafeDeleteProcessorDelegate { else { TextRange range = reference.getRangeInElement(); usages.add(new SafeDeleteReferenceJavaDeleteUsageInfo(reference.getElement(), psiField, range.getStartOffset(), - range.getEndOffset(), false, false)); + range.getEndOffset(), false, PsiTreeUtil.getParentOfType(element, PsiImportStaticStatement.class) != null)); } } diff --git a/java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/after/A.java b/java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/after/A.java new file mode 100644 index 000000000000..325811643a53 --- /dev/null +++ b/java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/after/A.java @@ -0,0 +1,3 @@ +public class A { + } + diff --git a/java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/after/B.java b/java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/after/B.java new file mode 100644 index 000000000000..dea4708e6996 --- /dev/null +++ b/java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/after/B.java @@ -0,0 +1,4 @@ + +class B { + +} \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/before/A.java b/java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/before/A.java new file mode 100644 index 000000000000..73f344512b4f --- /dev/null +++ b/java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/before/A.java @@ -0,0 +1,4 @@ +public class A { + static void bar() {} +} + diff --git a/java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/before/B.java b/java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/before/B.java new file mode 100644 index 000000000000..5ba90f13bd06 --- /dev/null +++ b/java/java-tests/testData/refactoring/safeDelete/safeDeleteStaticImports/before/B.java @@ -0,0 +1,4 @@ +import static A.bar; +class B { + +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/refactoring/SafeDeleteTest.java b/java/java-tests/testSrc/com/intellij/refactoring/SafeDeleteTest.java index 41bfe7c0944e..c8982184a57a 100644 --- a/java/java-tests/testSrc/com/intellij/refactoring/SafeDeleteTest.java +++ b/java/java-tests/testSrc/com/intellij/refactoring/SafeDeleteTest.java @@ -77,6 +77,11 @@ public class SafeDeleteTest extends MultiFileTestCase { doTest("UserFlags"); } + public void testSafeDeleteStaticImports() throws Exception { + myDoCompare = false; + doTest("A"); + } + public void testRemoveOverridersInspiteOfUnsafeUsages() throws Exception { myDoCompare = false; try {