diff --git a/idea/idea-completion/testData/basic/common/ImportedMemberFromObject.kt b/idea/idea-completion/testData/basic/common/ImportedMemberFromObject.kt index 4e397d7cb9e..767246403a7 100644 --- a/idea/idea-completion/testData/basic/common/ImportedMemberFromObject.kt +++ b/idea/idea-completion/testData/basic/common/ImportedMemberFromObject.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON package a import a.O.uniqueName diff --git a/idea/idea-completion/testData/basic/common/NoTopLevelCompletionInQualifiedUserTypes.kt b/idea/idea-completion/testData/basic/common/NoTopLevelCompletionInQualifiedUserTypes.kt index b5576b5f492..0ef868d83b2 100644 --- a/idea/idea-completion/testData/basic/common/NoTopLevelCompletionInQualifiedUserTypes.kt +++ b/idea/idea-completion/testData/basic/common/NoTopLevelCompletionInQualifiedUserTypes.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON class Test : java.lang.A // ABSENT: Annotation \ No newline at end of file diff --git a/idea/idea-completion/testData/basic/common/annotations/AfterPackageName.kt b/idea/idea-completion/testData/basic/common/annotations/AfterPackageName.kt index 304b02cee41..218949eaca2 100644 --- a/idea/idea-completion/testData/basic/common/annotations/AfterPackageName.kt +++ b/idea/idea-completion/testData/basic/common/annotations/AfterPackageName.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON @kotlin.concurrent. // INVOCATION_COUNT: 2 diff --git a/idea/idea-completion/testData/basic/common/annotations/TypeAliasToAnnotation.kt b/idea/idea-completion/testData/basic/common/annotations/TypeAliasToAnnotation.kt index 7455577eae8..a090581cfe6 100644 --- a/idea/idea-completion/testData/basic/common/annotations/TypeAliasToAnnotation.kt +++ b/idea/idea-completion/testData/basic/common/annotations/TypeAliasToAnnotation.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON annotation class Anno typealias TypedAnno = Anno diff --git a/idea/idea-completion/testData/basic/common/extensionFunctionTypeValues/ImplicitReceiver.kt b/idea/idea-completion/testData/basic/common/extensionFunctionTypeValues/ImplicitReceiver.kt index 19407ccacb1..2705b6ec510 100644 --- a/idea/idea-completion/testData/basic/common/extensionFunctionTypeValues/ImplicitReceiver.kt +++ b/idea/idea-completion/testData/basic/common/extensionFunctionTypeValues/ImplicitReceiver.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON class C fun C.test(foo: C.() -> Unit) { diff --git a/idea/idea-completion/testData/basic/common/shadowing/InInitializer1.kt b/idea/idea-completion/testData/basic/common/shadowing/InInitializer1.kt index c3c4c2f98a6..47f5a52ca89 100644 --- a/idea/idea-completion/testData/basic/common/shadowing/InInitializer1.kt +++ b/idea/idea-completion/testData/basic/common/shadowing/InInitializer1.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON fun foo(xxx: String) { var xxx: Int = xx } diff --git a/idea/idea-completion/testData/basic/common/shadowing/InInitializer3.kt b/idea/idea-completion/testData/basic/common/shadowing/InInitializer3.kt index 8f6985a2612..b47581ad937 100644 --- a/idea/idea-completion/testData/basic/common/shadowing/InInitializer3.kt +++ b/idea/idea-completion/testData/basic/common/shadowing/InInitializer3.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON fun foo(xxx: Int) { val xxx: Any = run { xx diff --git a/idea/idea-completion/testData/basic/common/shadowing/Locals1.kt b/idea/idea-completion/testData/basic/common/shadowing/Locals1.kt index 81059e43592..cc519472c06 100644 --- a/idea/idea-completion/testData/basic/common/shadowing/Locals1.kt +++ b/idea/idea-completion/testData/basic/common/shadowing/Locals1.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON class C { val xxx = 1 diff --git a/idea/idea-completion/testData/basic/common/shadowing/Locals2.kt b/idea/idea-completion/testData/basic/common/shadowing/Locals2.kt index a1119f44b91..b8d912ca057 100644 --- a/idea/idea-completion/testData/basic/common/shadowing/Locals2.kt +++ b/idea/idea-completion/testData/basic/common/shadowing/Locals2.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON class C { val xxx = 1 diff --git a/idea/idea-completion/testData/basic/common/shadowing/PreferCloserMember.kt b/idea/idea-completion/testData/basic/common/shadowing/PreferCloserMember.kt index 460899f9740..e10095b4238 100644 --- a/idea/idea-completion/testData/basic/common/shadowing/PreferCloserMember.kt +++ b/idea/idea-completion/testData/basic/common/shadowing/PreferCloserMember.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON class C { inner class Inner { fun foo() { diff --git a/idea/idea-completion/testData/basic/common/shadowing/PreferCloserReceiverGeneric.kt b/idea/idea-completion/testData/basic/common/shadowing/PreferCloserReceiverGeneric.kt index ee7ce332369..6715fa1eb29 100644 --- a/idea/idea-completion/testData/basic/common/shadowing/PreferCloserReceiverGeneric.kt +++ b/idea/idea-completion/testData/basic/common/shadowing/PreferCloserReceiverGeneric.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON interface I { fun xxx(): T } diff --git a/idea/idea-completion/testData/basic/common/substitutedSignature/SubstitutedSignature2.kt b/idea/idea-completion/testData/basic/common/substitutedSignature/SubstitutedSignature2.kt index 127a569b876..d66956ba789 100644 --- a/idea/idea-completion/testData/basic/common/substitutedSignature/SubstitutedSignature2.kt +++ b/idea/idea-completion/testData/basic/common/substitutedSignature/SubstitutedSignature2.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON open class C { fun foo(t: T): T = t } diff --git a/idea/idea-completion/testData/handlers/basic/SuperMethod.kt b/idea/idea-completion/testData/handlers/basic/SuperMethod.kt index 8b889210fe6..640c5d02cb3 100644 --- a/idea/idea-completion/testData/handlers/basic/SuperMethod.kt +++ b/idea/idea-completion/testData/handlers/basic/SuperMethod.kt @@ -1,3 +1,4 @@ +// FIR_COMPARISON open class Base { open fun foo(p: Int){} } diff --git a/idea/idea-completion/testData/handlers/basic/SuperMethod.kt.after b/idea/idea-completion/testData/handlers/basic/SuperMethod.kt.after index 956b401a404..3dd921e0902 100644 --- a/idea/idea-completion/testData/handlers/basic/SuperMethod.kt.after +++ b/idea/idea-completion/testData/handlers/basic/SuperMethod.kt.after @@ -1,3 +1,4 @@ +// FIR_COMPARISON open class Base { open fun foo(p: Int){} } diff --git a/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/KotlinFirLookupElementFactory.kt b/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/KotlinFirLookupElementFactory.kt index 529f33874cb..a64103847c1 100644 --- a/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/KotlinFirLookupElementFactory.kt +++ b/idea/idea-fir/src/org/jetbrains/kotlin/idea/completion/KotlinFirLookupElementFactory.kt @@ -19,6 +19,7 @@ import org.jetbrains.kotlin.idea.completion.handlers.isTextAt import org.jetbrains.kotlin.idea.core.asFqNameWithRootPrefixIfNeeded import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession import org.jetbrains.kotlin.idea.frontend.api.analyse +import org.jetbrains.kotlin.idea.frontend.api.components.KtTypeRendererOptions import org.jetbrains.kotlin.idea.frontend.api.fir.utils.addImportToFile import org.jetbrains.kotlin.idea.frontend.api.symbols.* import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtNamedSymbol @@ -119,7 +120,7 @@ private class VariableLookupElementFactory { ) return LookupElementBuilder.create(lookupObject, symbol.name.asString()) - .withTypeText(symbol.annotatedType.type.render()) + .withTypeText(symbol.annotatedType.type.render(WITH_TYPE_RENDERING_OPTIONS)) .markIfSyntheticJavaProperty(symbol) .withInsertHandler(VariableInsertionHandler) } @@ -163,7 +164,7 @@ private class FunctionLookupElementFactory { return try { LookupElementBuilder.create(lookupObject, symbol.name.asString()) .withTailText(getTailText(symbol), true) - .withTypeText(symbol.annotatedType.type.render()) + .withTypeText(symbol.annotatedType.type.render(WITH_TYPE_RENDERING_OPTIONS)) .withInsertHandler(FunctionInsertionHandler) } catch (e: Throwable) { if (e is ControlFlowException) throw e @@ -198,6 +199,8 @@ private class FunctionLookupElementFactory { } } +private val WITH_TYPE_RENDERING_OPTIONS = KtTypeRendererOptions.SHORT_NAMES + /** * The simplest implementation of the insertion handler for a classifiers. */ @@ -399,7 +402,7 @@ private object ShortNamesRenderer { function.valueParameters.joinToString(", ", "(", ")") { renderFunctionParameter(it) } private fun KtAnalysisSession.renderFunctionParameter(param: KtValueParameterSymbol): String = - "${if (param.isVararg) "vararg " else ""}${param.name.asString()}: ${param.annotatedType.type.render()}" + "${if (param.isVararg) "vararg " else ""}${param.name.asString()}: ${param.annotatedType.type.render(WITH_TYPE_RENDERING_OPTIONS)}" }