diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/editor/GroovyImportOptimizer.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/editor/GroovyImportOptimizer.java index 6b7a13c5bb83..a90973344e4b 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/editor/GroovyImportOptimizer.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/editor/GroovyImportOptimizer.java @@ -227,16 +227,23 @@ public class GroovyImportOptimizer implements ImportOptimizer { usedImports.add(anImport); } - final String className = getImportReferenceText(anImport); + final String symbolName = getImportReferenceText(anImport); if (anImport.isAliasedImport()) { if (aliased != null) { - aliased.put(className, importedName); + aliased.put(symbolName, importedName); } } else { - if (importedClasses != null) { - importedClasses.add(className); + if (anImport.isStatic()) { + if (staticallyImportedMembers != null) { + staticallyImportedMembers.add(symbolName); + } + } + else { + if (importedClasses != null) { + importedClasses.add(symbolName); + } } } } diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/optimizeImports/OptimizeImportsTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/optimizeImports/OptimizeImportsTest.groovy index 9baff80feaf9..223927107763 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/optimizeImports/OptimizeImportsTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/optimizeImports/OptimizeImportsTest.groovy @@ -150,6 +150,8 @@ public class OptimizeImportsTest extends LightGroovyTestCase { public void testDontRemoveRedImports5() { doTest(); } public void testDontRemoveRedImports6() { doTest(); } public void testDontRemoveRedImports7() { doTest(); } + public void testDontRemoveRedImports8() { doTest(); } + public void testDontRemoveRedImports9() { doTest(); } public void testRemoveSamePackaged() { myFixture.addClass("package foo.bar; public class Aaaa {}"); diff --git a/plugins/groovy/testdata/optimizeImports/DontRemoveRedImports8.groovy b/plugins/groovy/testdata/optimizeImports/DontRemoveRedImports8.groovy new file mode 100644 index 000000000000..dd0b3f63e88b --- /dev/null +++ b/plugins/groovy/testdata/optimizeImports/DontRemoveRedImports8.groovy @@ -0,0 +1,4 @@ +import static abc.X.foo +import static abc.X.bar + +print foo() \ No newline at end of file diff --git a/plugins/groovy/testdata/optimizeImports/DontRemoveRedImports8_after.groovy b/plugins/groovy/testdata/optimizeImports/DontRemoveRedImports8_after.groovy new file mode 100644 index 000000000000..b3eafc4b7e34 --- /dev/null +++ b/plugins/groovy/testdata/optimizeImports/DontRemoveRedImports8_after.groovy @@ -0,0 +1,3 @@ +import static abc.X.foo + +print foo() \ No newline at end of file diff --git a/plugins/groovy/testdata/optimizeImports/DontRemoveRedImports9.groovy b/plugins/groovy/testdata/optimizeImports/DontRemoveRedImports9.groovy new file mode 100644 index 000000000000..1fb427bc3c54 --- /dev/null +++ b/plugins/groovy/testdata/optimizeImports/DontRemoveRedImports9.groovy @@ -0,0 +1,4 @@ +import static abc.X.foo as bar +import static abc.X.baz as xyz + +print bar() \ No newline at end of file diff --git a/plugins/groovy/testdata/optimizeImports/DontRemoveRedImports9_after.groovy b/plugins/groovy/testdata/optimizeImports/DontRemoveRedImports9_after.groovy new file mode 100644 index 000000000000..0549ca776781 --- /dev/null +++ b/plugins/groovy/testdata/optimizeImports/DontRemoveRedImports9_after.groovy @@ -0,0 +1,3 @@ +import static abc.X.foo as bar + +print bar() \ No newline at end of file