diff --git a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt
index 638c3f4b624..875a497d11e 100644
--- a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt
+++ b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt
@@ -36,6 +36,7 @@ import org.jetbrains.kotlin.serialization.deserialization.NotFoundClasses
import org.jetbrains.kotlin.types.*
import org.jetbrains.kotlin.types.ErrorUtils.UninferredParameterTypeConstructor
import org.jetbrains.kotlin.types.TypeUtils.CANT_INFER_FUNCTION_PARAM_TYPE
+import java.lang.UnsupportedOperationException
import java.util.*
internal class DescriptorRendererImpl(
@@ -128,9 +129,7 @@ internal class DescriptorRendererImpl(
// TODO nullability is lost for abbreviated type?
renderNormalizedTypeAsIs(abbreviated.abbreviation)
if (renderUnabbreviatedType) {
- append(" /* = ")
- renderNormalizedTypeAsIs(abbreviated.expandedType)
- append(" */")
+ renderAbbreviatedTypeExpansion(abbreviated)
}
return
}
@@ -138,6 +137,18 @@ internal class DescriptorRendererImpl(
renderNormalizedTypeAsIs(type)
}
+ private fun StringBuilder.renderAbbreviatedTypeExpansion(abbreviated: AbbreviatedType) {
+ if (textFormat == RenderingFormat.HTML) {
+ append("")
+ }
+ append(" /* = ")
+ renderNormalizedTypeAsIs(abbreviated.expandedType)
+ append(" */")
+ if (textFormat == RenderingFormat.HTML) {
+ append("")
+ }
+ }
+
private fun StringBuilder.renderNormalizedTypeAsIs(type: KotlinType) {
if (type is WrappedType && debugMode && !type.isComputed()) {
append("")
diff --git a/idea/ide-common/src/org/jetbrains/kotlin/idea/util/IdeDescriptorRenderers.kt b/idea/ide-common/src/org/jetbrains/kotlin/idea/util/IdeDescriptorRenderers.kt
index 1f2eb76c97f..75cc9e53618 100644
--- a/idea/ide-common/src/org/jetbrains/kotlin/idea/util/IdeDescriptorRenderers.kt
+++ b/idea/ide-common/src/org/jetbrains/kotlin/idea/util/IdeDescriptorRenderers.kt
@@ -51,6 +51,7 @@ object IdeDescriptorRenderers {
overrideRenderingPolicy = OverrideRenderingPolicy.RENDER_OVERRIDE
unitReturnType = false
modifiers = DescriptorRendererModifier.ALL
+ renderUnabbreviatedType = false
}
@JvmField val SOURCE_CODE: DescriptorRenderer = BASE.withOptions {
diff --git a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinFunctionParameterInfoHandler.kt b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinFunctionParameterInfoHandler.kt
index a22b1a4a09d..c66722ffd46 100644
--- a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinFunctionParameterInfoHandler.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinFunctionParameterInfoHandler.kt
@@ -233,6 +233,10 @@ abstract class KotlinParameterInfoWithCallHandlerBase()
override fun getParametersForDocumentation(item: FunctionDescriptor, context: ParameterInfoContext) = emptyArray()
+ private val RENDERER = DescriptorRenderer.SHORT_NAMES_IN_TYPES.withOptions {
+ renderUnabbreviatedType = false
+ }
+
private fun renderParameter(parameter: ValueParameterDescriptor, includeName: Boolean, named: Boolean, project: Project): String {
return buildString {
if (named) append("[")
@@ -246,7 +250,7 @@ abstract class KotlinParameterInfoWithCallHandlerBase