Misc: Improve IDE rendering of type aliases

This commit is contained in:
Alexey Sedunov
2016-08-26 16:24:07 +03:00
parent 3405051bcc
commit c244baf087
3 changed files with 20 additions and 4 deletions
@@ -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("<font color=\"808080\"><i>")
}
append(" /* = ")
renderNormalizedTypeAsIs(abbreviated.expandedType)
append(" */")
if (textFormat == RenderingFormat.HTML) {
append("</i></font>")
}
}
private fun StringBuilder.renderNormalizedTypeAsIs(type: KotlinType) {
if (type is WrappedType && debugMode && !type.isComputed()) {
append("<Not computed yet>")