diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicLookupElementFactory.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicLookupElementFactory.kt index 4319a654e4a..4ef06689f3e 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicLookupElementFactory.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/BasicLookupElementFactory.kt @@ -169,7 +169,7 @@ class BasicLookupElementFactory( element = element.withTypeText(DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderType(descriptor.type), parametersAndTypeGrayed) } - is ClassDescriptor -> { + is ClassifierDescriptorWithTypeParameters -> { val typeParams = descriptor.declaredTypeParameters if (includeClassTypeArguments && typeParams.isNotEmpty()) { element = element.appendTailText(typeParams.map { it.name.asString() }.joinToString(", ", "<", ">"), true) @@ -192,6 +192,10 @@ class BasicLookupElementFactory( if (container is PackageFragmentDescriptor || container is ClassDescriptor) { element = element.appendTailText(" (" + DescriptorUtils.getFqName(container) + ")", true) } + + if (descriptor is TypeAliasDescriptor) { + element = element.withTypeText(DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderType(descriptor.underlyingType), false) + } } else -> { diff --git a/idea/idea-completion/testData/basic/java/StandardKotlinTypeAliasFirst.kt b/idea/idea-completion/testData/basic/java/StandardKotlinTypeAliasFirst.kt index 39af925666b..e2d500c7c5d 100644 --- a/idea/idea-completion/testData/basic/java/StandardKotlinTypeAliasFirst.kt +++ b/idea/idea-completion/testData/basic/java/StandardKotlinTypeAliasFirst.kt @@ -3,5 +3,5 @@ fun some(e: IllegalArgumentException) { // INVOCATION_COUNT: 2 // WITH_ORDER -// EXIST: { lookupString:"IllegalArgumentException", typeText:"public typealias IllegalArgumentException = IllegalArgumentException defined in kotlin" } +// EXIST: { lookupString:"IllegalArgumentException", tailText: " (kotlin)", typeText:"IllegalArgumentException" } // EXIST: { lookupString:"IllegalArgumentException", tailText:" (java.lang)" } diff --git a/idea/idea-completion/testData/basic/multifile/ParameterNameAndTypeForNotImportedAlias/ParameterNameAndTypeForNotImportedAlias.kt b/idea/idea-completion/testData/basic/multifile/ParameterNameAndTypeForNotImportedAlias/ParameterNameAndTypeForNotImportedAlias.kt index d538f2e4ee4..01d5c294b95 100644 --- a/idea/idea-completion/testData/basic/multifile/ParameterNameAndTypeForNotImportedAlias/ParameterNameAndTypeForNotImportedAlias.kt +++ b/idea/idea-completion/testData/basic/multifile/ParameterNameAndTypeForNotImportedAlias/ParameterNameAndTypeForNotImportedAlias.kt @@ -2,4 +2,4 @@ package test2 fun foo(ali) -// EXIST: { lookupString: "alias : MyAlias", itemText: "alias: MyAlias", typeText: "public typealias MyAlias = MyClass defined in test", attributes: "" } +// EXIST: { lookupString: "alias : MyAlias", itemText: "alias: MyAlias", tailText: " (test)", typeText: "MyClass", attributes: "" } diff --git a/idea/idea-completion/testData/basic/multifile/TypeAliases/TypeAliases.kt b/idea/idea-completion/testData/basic/multifile/TypeAliases/TypeAliases.kt index 8e160bb6c78..79ebafb49af 100644 --- a/idea/idea-completion/testData/basic/multifile/TypeAliases/TypeAliases.kt +++ b/idea/idea-completion/testData/basic/multifile/TypeAliases/TypeAliases.kt @@ -5,6 +5,6 @@ private typealias MyPrivateAlias = (String, Char) -> Unit val test: My -// EXIST: { lookupString: "MySameFileAlias", itemText: "MySameFileAlias", tailText: null, typeText: "public typealias MySameFileAlias = (String) -> Int defined in test", attributes: "" } -// EXIST: { lookupString: "MyPrivateAlias", itemText: "MyPrivateAlias", tailText: null, typeText: "private typealias MyPrivateAlias = (String, Char) -> Unit defined in test", attributes: "" } -// EXIST: { lookupString: "MyAlias", itemText: "MyAlias", tailText: null, typeText: "public typealias MyAlias = MyClass defined in dependency", attributes: "" } +// EXIST: { lookupString: "MySameFileAlias", itemText: "MySameFileAlias", tailText: " (test)", typeText: "(String) -> Int", attributes: "" } +// EXIST: { lookupString: "MyPrivateAlias", itemText: "MyPrivateAlias", tailText: " (test)", typeText: "(String, Char) -> Unit", attributes: "" } +// EXIST: { lookupString: "MyAlias", itemText: "MyAlias", tailText: " (dependency)", typeText: "MyClass", attributes: "" }