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 lookupElement = createLookupElement(classifier, resolveSession, bindingContext)
|
||||||
|
|
||||||
var lookupString = lookupElement.getLookupString()
|
var lookupString = lookupElement.getLookupString()
|
||||||
|
var allLookupStrings = setOf(lookupString)
|
||||||
|
|
||||||
val typeArgs = jetType.getArguments()
|
val typeArgs = jetType.getArguments()
|
||||||
var itemText = lookupString + DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderTypeArguments(typeArgs)
|
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 ""
|
val constructorParenthesis = if (classifier.getKind() != ClassKind.TRAIT) "()" else ""
|
||||||
itemText += constructorParenthesis
|
itemText += constructorParenthesis
|
||||||
itemText = "object: " + itemText + "{...}"
|
itemText = "object: " + itemText + "{...}"
|
||||||
lookupString = "object" //?
|
lookupString = "object"
|
||||||
|
allLookupStrings = setOf(lookupString, lookupElement.getLookupString())
|
||||||
insertHandler = InsertHandler<LookupElement> {(context, item) ->
|
insertHandler = InsertHandler<LookupElement> {(context, item) ->
|
||||||
val editor = context.getEditor()
|
val editor = context.getEditor()
|
||||||
val startOffset = context.getStartOffset()
|
val startOffset = context.getStartOffset()
|
||||||
@@ -127,6 +129,8 @@ class TypeInstantiationItems(val resolveSession: ResolveSessionForBodies, val bi
|
|||||||
lookupElement = object: LookupElementDecorator<LookupElement>(lookupElement) {
|
lookupElement = object: LookupElementDecorator<LookupElement>(lookupElement) {
|
||||||
override fun getLookupString() = lookupString
|
override fun getLookupString() = lookupString
|
||||||
|
|
||||||
|
override fun getAllLookupStrings() = allLookupStrings
|
||||||
|
|
||||||
override fun renderElement(presentation: LookupElementPresentation) {
|
override fun renderElement(presentation: LookupElementPresentation) {
|
||||||
getDelegate().renderElement(presentation)
|
getDelegate().renderElement(presentation)
|
||||||
presentation.setItemText(itemText)
|
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);
|
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")
|
@TestMetadata("AnyExpected.kt")
|
||||||
public void testAnyExpected() throws Exception {
|
public void testAnyExpected() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/smart/AnyExpected.kt");
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/smart/AnyExpected.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user