Override/Implement: Fix processing of unresolved types

#KT-17350 Fixed
This commit is contained in:
Alexey Sedunov
2018-06-08 16:34:48 +03:00
parent ed8b4b761a
commit 694997651a
8 changed files with 33 additions and 1 deletions
@@ -214,6 +214,7 @@ interface DescriptorRendererOptions {
var includeAdditionalModifiers: Boolean
var parameterNamesInFunctionalTypes: Boolean
var renderFunctionContracts: Boolean
var presentableUnresolvedTypes: Boolean
}
object ExcludedTypeAnnotations {
@@ -229,7 +229,11 @@ internal class DescriptorRendererImpl(
this.renderAnnotations(type)
if (type.isError) {
append(type.constructor.toString()) // Debug name of an error type is more informative
if (type is UnresolvedType && presentableUnresolvedTypes) {
append(type.presentableName)
} else {
append(type.constructor.toString()) // Debug name of an error type is more informative
}
append(renderTypeArguments(type.arguments))
}
else {
@@ -115,4 +115,6 @@ internal class DescriptorRendererOptionsImpl : DescriptorRendererOptions {
override var parameterNamesInFunctionalTypes: Boolean by property(true)
override var renderFunctionContracts: Boolean by property(false)
override var presentableUnresolvedTypes: Boolean by property(false)
}