Smart completion: fixed lookup string for anonymous object item
This commit is contained in:
@@ -70,6 +70,7 @@ class TypeInstantiationItems(val resolveSession: ResolveSessionForBodies, val bi
|
||||
var lookupElement = createLookupElement(classifier, resolveSession, bindingContext)
|
||||
|
||||
var lookupString = lookupElement.getLookupString()
|
||||
var allLookupStrings = setOf(lookupString)
|
||||
|
||||
val typeArgs = jetType.getArguments()
|
||||
var itemText = lookupString + DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderTypeArguments(typeArgs)
|
||||
@@ -80,7 +81,8 @@ class TypeInstantiationItems(val resolveSession: ResolveSessionForBodies, val bi
|
||||
val constructorParenthesis = if (classifier.getKind() != ClassKind.TRAIT) "()" else ""
|
||||
itemText += constructorParenthesis
|
||||
itemText = "object: " + itemText + "{...}"
|
||||
lookupString = "object" //?
|
||||
lookupString = "object"
|
||||
allLookupStrings = setOf(lookupString, lookupElement.getLookupString())
|
||||
insertHandler = InsertHandler<LookupElement> {(context, item) ->
|
||||
val editor = context.getEditor()
|
||||
val startOffset = context.getStartOffset()
|
||||
@@ -127,6 +129,8 @@ class TypeInstantiationItems(val resolveSession: ResolveSessionForBodies, val bi
|
||||
lookupElement = object: LookupElementDecorator<LookupElement>(lookupElement) {
|
||||
override fun getLookupString() = lookupString
|
||||
|
||||
override fun getAllLookupStrings() = allLookupStrings
|
||||
|
||||
override fun renderElement(presentation: LookupElementPresentation) {
|
||||
getDelegate().renderElement(presentation)
|
||||
presentation.setItemText(itemText)
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
trait Foo
|
||||
|
||||
var a : Foo = o<caret>
|
||||
|
||||
// EXIST: { lookupString:"object", itemText:"object: Foo{...}" }
|
||||
@@ -77,6 +77,12 @@ public class JvmSmartCompletionTestGenerated extends AbstractJvmSmartCompletionT
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("AnonymousObjectWithPrefix.kt")
|
||||
public void testAnonymousObjectWithPrefix() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/smart/AnonymousObjectWithPrefix.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("AnyExpected.kt")
|
||||
public void testAnyExpected() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/smart/AnyExpected.kt");
|
||||
|
||||
Reference in New Issue
Block a user