mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
java smart completion: prefer all items with exactly expected type, not only classes (IDEA-169490)
This commit is contained in:
+12
@@ -0,0 +1,12 @@
|
||||
class Map {
|
||||
static class Builder {}
|
||||
static Builder builder() {}
|
||||
}
|
||||
class BiMap extends Map {
|
||||
static class Builder extends Map.Builder {}
|
||||
static Builder builder() {}
|
||||
}
|
||||
|
||||
class Usage {
|
||||
Map.Builder b = bui<caret>
|
||||
}
|
||||
+10
-3
@@ -33,7 +33,7 @@ class SmartTypeCompletionOrderingTest extends CompletionSortingTestCase {
|
||||
}
|
||||
|
||||
void testJComponentAdd() throws Throwable {
|
||||
checkPreferredItems(0, "name", "b", "fooBean239", "foo", "this")
|
||||
checkPreferredItems(0, "name", "b", "fooBean239", "foo")
|
||||
}
|
||||
|
||||
void testJComponentAddNew() throws Throwable {
|
||||
@@ -323,7 +323,7 @@ class SmartTypeCompletionOrderingTest extends CompletionSortingTestCase {
|
||||
}
|
||||
|
||||
void testPreferLocalOverThis() {
|
||||
checkPreferredItems 0, 'value', 'this', 'hashCode'
|
||||
checkPreferredItems 0, 'value', 'hashCode', 'this'
|
||||
}
|
||||
|
||||
void testGetLogger() {
|
||||
@@ -339,7 +339,7 @@ class SmartTypeCompletionOrderingTest extends CompletionSortingTestCase {
|
||||
}
|
||||
|
||||
void testPreferLocalWildcardClassOverObject() {
|
||||
checkPreferredItems 0, 'type', 'Object.class'
|
||||
checkPreferredItems 0, 'type', 'forName', 'forName', 'Object.class'
|
||||
}
|
||||
|
||||
void testPreferStringsInStringConcatenation() {
|
||||
@@ -361,6 +361,13 @@ class SmartTypeCompletionOrderingTest extends CompletionSortingTestCase {
|
||||
assert lookup.items.size() == 2
|
||||
}
|
||||
|
||||
void testPreferGlobalMembersReturningExpectedType() {
|
||||
configureNoCompletion(getTestName(false) + ".java")
|
||||
def items = myFixture.complete(CompletionType.SMART, 2)
|
||||
assert LookupElementPresentation.renderElement(items[0]).itemText == 'Map.builder'
|
||||
assert LookupElementPresentation.renderElement(items[1]).itemText == 'BiMap.builder'
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getBasePath() {
|
||||
return JavaTestUtil.getRelativeJavaTestDataPath() + BASE_PATH
|
||||
|
||||
+1
-1
@@ -830,7 +830,7 @@ public class SmartTypeCompletionTest extends LightFixtureCompletionTestCase {
|
||||
}
|
||||
public void testNoClassLiteral() throws Exception {
|
||||
doActionTest();
|
||||
assertStringItems("Object.class", "getClass", "forName", "forName");
|
||||
assertStringItems("forName", "forName", "Object.class", "getClass");
|
||||
}
|
||||
|
||||
public void testClassLiteralInAnno2() throws Throwable {
|
||||
|
||||
Reference in New Issue
Block a user