mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
IDEA-43317 Complete static members from classes that are already mentioned in import block as static import (java)
This commit is contained in:
+1
-1
@@ -103,7 +103,7 @@ class Bar {{ abcmethod1()<caret> }}"""
|
||||
|
||||
def item = assertOneElement(myFixture.complete(CompletionType.CLASS_NAME))
|
||||
if (importStatic) {
|
||||
item.'as'(JavaGlobalMemberLookupElement).shouldImport = true
|
||||
item.'as'(StaticallyImportable).shouldBeImported = true
|
||||
}
|
||||
myFixture.type('\n')
|
||||
myFixture.checkResult output
|
||||
|
||||
+42
-18
@@ -1,20 +1,17 @@
|
||||
package com.intellij.codeInsight.completion;
|
||||
|
||||
|
||||
import com.intellij.JavaTestUtil;
|
||||
import com.intellij.codeInsight.CodeInsightSettings;
|
||||
import com.intellij.codeInsight.lookup.Lookup;
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.LookupManager;
|
||||
import com.intellij.psi.CommonClassNames;
|
||||
import com.intellij.psi.JavaPsiFacade;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettings;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import com.intellij.JavaTestUtil
|
||||
import com.intellij.codeInsight.CodeInsightSettings
|
||||
import com.intellij.codeInsight.lookup.Lookup
|
||||
import com.intellij.codeInsight.lookup.LookupElement
|
||||
import com.intellij.codeInsight.lookup.LookupManager
|
||||
import com.intellij.psi.CommonClassNames
|
||||
import com.intellij.psi.JavaPsiFacade
|
||||
import com.intellij.psi.PsiFile
|
||||
import com.intellij.psi.PsiMethod
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettings
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager
|
||||
|
||||
public class NormalCompletionTest extends LightFixtureCompletionTestCase {
|
||||
@Override
|
||||
@@ -282,11 +279,11 @@ public class NormalCompletionTest extends LightFixtureCompletionTestCase {
|
||||
|
||||
public void testMethodWithLeftParTailType() throws Exception {
|
||||
configureByFile("MethodWithLeftParTailType.java");
|
||||
selectItem(myItems[0], '(');
|
||||
type('(');
|
||||
checkResultByFile("MethodWithLeftParTailType_after.java");
|
||||
|
||||
configureByFile("MethodWithLeftParTailType2.java");
|
||||
selectItem(myItems[0], '(');
|
||||
type('(');
|
||||
checkResultByFile("MethodWithLeftParTailType2_after.java");
|
||||
}
|
||||
|
||||
@@ -296,7 +293,7 @@ public class NormalCompletionTest extends LightFixtureCompletionTestCase {
|
||||
|
||||
try {
|
||||
configureByFile(getTestName(false) + ".java");
|
||||
selectItem(myItems[0], '(');
|
||||
type('(');
|
||||
checkResultByFile(getTestName(false) + "_after.java");
|
||||
}
|
||||
finally {
|
||||
@@ -371,7 +368,7 @@ public class NormalCompletionTest extends LightFixtureCompletionTestCase {
|
||||
|
||||
public void testFinishWithDot() throws Throwable {
|
||||
configureByFile(getTestName(false) + ".java");
|
||||
selectItem(myItems[0], '.');
|
||||
type('.');
|
||||
checkResultByFile(getTestName(false) + "_after.java");
|
||||
}
|
||||
|
||||
@@ -652,4 +649,31 @@ public class NormalCompletionTest extends LightFixtureCompletionTestCase {
|
||||
assertStringItems("myField1", "myField2");
|
||||
}
|
||||
|
||||
public void testSuggestMembersOfStaticallyImportedClasses() throws Exception {
|
||||
myFixture.addClass("""package foo;
|
||||
public class Foo {
|
||||
public static void foo() {}
|
||||
public static void bar() {}
|
||||
}
|
||||
""")
|
||||
myFixture.configureByText("a.java", """
|
||||
import static foo.Foo.foo;
|
||||
|
||||
class Bar {{
|
||||
foo();
|
||||
ba<caret>
|
||||
}}
|
||||
""")
|
||||
complete()
|
||||
myFixture.checkResult """
|
||||
import static foo.Foo.bar;
|
||||
import static foo.Foo.foo;
|
||||
|
||||
class Bar {{
|
||||
foo();
|
||||
bar();<caret>
|
||||
}}
|
||||
"""
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user