diff --git a/compiler/fir/cones/src/org/jetbrains/kotlin/fir/types/TypeRenderer.kt b/compiler/fir/cones/src/org/jetbrains/kotlin/fir/types/TypeRenderer.kt index ffe59acb079..1eef81c118f 100644 --- a/compiler/fir/cones/src/org/jetbrains/kotlin/fir/types/TypeRenderer.kt +++ b/compiler/fir/cones/src/org/jetbrains/kotlin/fir/types/TypeRenderer.kt @@ -13,7 +13,7 @@ fun ConeKotlinType.render(): String { val nullabilitySuffix = if (this !is ConeFlexibleType && this !is ConeClassErrorType) nullability.suffix else "" return when (this) { is ConeTypeVariableType -> "${renderAttributes()}TypeVariable(${this.lookupTag.name})" - is ConeDefinitelyNotNullType -> "${original.render()}!!" + is ConeDefinitelyNotNullType -> "${original.render()} & Any" is ConeClassErrorType -> "${renderAttributes()}ERROR CLASS: ${diagnostic.reason}" is ConeCapturedType -> "${renderAttributes()}CapturedType(${constructor.projection.render()})" is ConeClassLikeType -> { diff --git a/compiler/fir/dump/src/org/jetbrains/kotlin/fir/dump/HtmlFirDump.kt b/compiler/fir/dump/src/org/jetbrains/kotlin/fir/dump/HtmlFirDump.kt index 1003a1e8c2c..3a42c3c89df 100644 --- a/compiler/fir/dump/src/org/jetbrains/kotlin/fir/dump/HtmlFirDump.kt +++ b/compiler/fir/dump/src/org/jetbrains/kotlin/fir/dump/HtmlFirDump.kt @@ -853,7 +853,7 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver is ConeCapturedType -> inlineUnsupported(type) is ConeDefinitelyNotNullType -> resolved { generate(type.original) - +"!!" + +" & Any" } is ConeIntersectionType -> resolved { generate(type) } is ConeIntegerLiteralType -> inlineUnsupported(type) diff --git a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt index cca4fcacdb7..b2d28efc5b4 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt @@ -26,7 +26,6 @@ import org.jetbrains.kotlin.types.* import org.jetbrains.kotlin.types.ErrorUtils.UninferredParameterTypeConstructor import org.jetbrains.kotlin.types.TypeUtils.CANT_INFER_FUNCTION_PARAM_TYPE import org.jetbrains.kotlin.util.capitalizeDecapitalize.toLowerCaseAsciiOnly -import java.util.* internal class DescriptorRendererImpl( val options: DescriptorRendererOptionsImpl @@ -263,7 +262,7 @@ internal class DescriptorRendererImpl( } if (type.isDefinitelyNotNullType) { - append("!!") + append(" & Any") } } diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/SpecialTypes.kt b/core/descriptors/src/org/jetbrains/kotlin/types/SpecialTypes.kt index 70a8c1c10b5..00de767e3e9 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/SpecialTypes.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/types/SpecialTypes.kt @@ -174,7 +174,7 @@ class DefinitelyNotNullType private constructor( override fun makeNullableAsSpecified(newNullability: Boolean): SimpleType = if (newNullability) delegate.makeNullableAsSpecified(newNullability) else this - override fun toString(): String = "$delegate!!" + override fun toString(): String = "$delegate & Any" @TypeRefinement override fun replaceDelegate(delegate: SimpleType) = DefinitelyNotNullType(delegate, useCorrectedNullabilityForTypeParameters)