diff --git a/java/java-psi-api/src/com/intellij/psi/util/ImportsUtil.java b/java/java-psi-api/src/com/intellij/psi/util/ImportsUtil.java index 71e64e67ce0f..db4bc10200c1 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/ImportsUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/util/ImportsUtil.java @@ -92,7 +92,7 @@ public class ImportsUtil { if (containingClass != null && stmt.resolveTargetClass() == containingClass) { if (!stmt.isOnDemand() && Comparing.strEqual(referenceName, member.getName())) { if (member instanceof PsiMethod) { - return containingClass.findMethodsByName(referenceName, false).length == 1; + return containingClass.findMethodsByName(referenceName, false).length > 0; } return true; } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advFixture/StaticImportCompoundWithInheritance.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advFixture/StaticImportCompoundWithInheritance.java new file mode 100644 index 000000000000..2ee4ec50d7c2 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advFixture/StaticImportCompoundWithInheritance.java @@ -0,0 +1,9 @@ +package a; + +import static a.A.foo; + +interface B extends A { + static void bar() { + foo(""); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/moveMembers/staticImportAndOverridenMethods/after/bar/U.java b/java/java-tests/testData/refactoring/moveMembers/staticImportAndOverridenMethods/after/bar/U.java index ba41fd861b7c..116322433d8e 100644 --- a/java/java-tests/testData/refactoring/moveMembers/staticImportAndOverridenMethods/after/bar/U.java +++ b/java/java-tests/testData/refactoring/moveMembers/staticImportAndOverridenMethods/after/bar/U.java @@ -1,7 +1,7 @@ -import bar.A; +import static bar.A.foo; class Usage { void bar() { - A.foo(); + foo(); } } \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingFixtureTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingFixtureTest.java index bc9a989a32de..bb2873e181a0 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingFixtureTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingFixtureTest.java @@ -56,6 +56,13 @@ public class LightAdvHighlightingFixtureTest extends LightCodeInsightFixtureTest myFixture.checkHighlighting(); } + public void testStaticImportCompoundWithInheritance() throws Exception { + myFixture.addClass("package a; public interface A { static void foo(Object o){} static void foo(String str) {}}"); + + myFixture.configureByFile(getTestName(false) + ".java"); + myFixture.checkHighlighting(); + } + public void testSuppressedInGenerated() throws Exception { myFixture.addClass("package javax.annotation; public @interface Generated {}"); final RedundantCastInspection inspection = new RedundantCastInspection();