diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt index bfe9b060e0d..53685eb1521 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/types/ConeTypeContext.kt @@ -113,9 +113,9 @@ interface ConeTypeContext : TypeSystemContext, TypeSystemOptimizationContext, Ty return this as? ConeDynamicType } - override fun FlexibleTypeMarker.asRawType(): RawTypeMarker? { - require(this is ConeFlexibleType) - return this as? ConeRawType + override fun KotlinTypeMarker.isRawType(): Boolean { + require(this is ConeKotlinType) + return this.isRaw() } override fun FlexibleTypeMarker.upperBound(): SimpleTypeMarker { diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeSystemContext.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeSystemContext.kt index e69884ddbd4..3468808e53a 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeSystemContext.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeSystemContext.kt @@ -54,7 +54,7 @@ interface IrTypeSystemContext : TypeSystemContext, TypeSystemCommonSuperTypesCon override fun FlexibleTypeMarker.asDynamicType() = this as? IrDynamicType - override fun FlexibleTypeMarker.asRawType(): RawTypeMarker? = null + override fun KotlinTypeMarker.isRawType(): Boolean = false override fun FlexibleTypeMarker.upperBound(): SimpleTypeMarker { return when (this) { diff --git a/compiler/resolution.common/src/org/jetbrains/kotlin/types/AbstractTypeApproximator.kt b/compiler/resolution.common/src/org/jetbrains/kotlin/types/AbstractTypeApproximator.kt index 76d49e4d49e..47db23dd54b 100644 --- a/compiler/resolution.common/src/org/jetbrains/kotlin/types/AbstractTypeApproximator.kt +++ b/compiler/resolution.common/src/org/jetbrains/kotlin/types/AbstractTypeApproximator.kt @@ -118,7 +118,7 @@ abstract class AbstractTypeApproximator( is FlexibleTypeMarker -> { if (type.isDynamic()) { return if (conf.dynamic) null else type.bound() - } else if (type.asRawType() != null) { + } else if (type.isRawType()) { return if (conf.rawType) null else type.bound() } diff --git a/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/typeEnhancement/AbstractSignatureParts.kt b/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/typeEnhancement/AbstractSignatureParts.kt index bc37cc65810..fd1213921c1 100644 --- a/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/typeEnhancement/AbstractSignatureParts.kt +++ b/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/typeEnhancement/AbstractSignatureParts.kt @@ -204,7 +204,7 @@ abstract class AbstractSignatureParts { private fun KotlinTypeMarker.toIndexed(): List = with(typeSystem) { TypeAndDefaultQualifiers(this@toIndexed, extractAndMergeDefaultQualifiers(containerDefaultTypeQualifiers), null).flattenTree { // Enhancement of raw type arguments may enter a loop in FE1.0. - if (skipRawTypeArguments && it.type?.asFlexibleType()?.asRawType() != null) return@flattenTree null + if (skipRawTypeArguments && it.type?.isRawType() == true) return@flattenTree null it.type?.typeConstructor()?.getParameters()?.zip(it.type.getArguments()) { parameter, arg -> if (arg.isStarProjection()) { diff --git a/core/compiler.common/src/org/jetbrains/kotlin/types/TypeSystemCommonBackendContext.kt b/core/compiler.common/src/org/jetbrains/kotlin/types/TypeSystemCommonBackendContext.kt index 014183bb8e4..a73041b1e55 100644 --- a/core/compiler.common/src/org/jetbrains/kotlin/types/TypeSystemCommonBackendContext.kt +++ b/core/compiler.common/src/org/jetbrains/kotlin/types/TypeSystemCommonBackendContext.kt @@ -62,8 +62,6 @@ interface TypeSystemCommonBackendContextForTypeMapping : TypeSystemCommonBackend fun SimpleTypeMarker.isSuspendFunction(): Boolean fun SimpleTypeMarker.isKClass(): Boolean - fun KotlinTypeMarker.isRawType(): Boolean - fun TypeConstructorMarker.typeWithArguments(arguments: List): SimpleTypeMarker fun TypeConstructorMarker.typeWithArguments(vararg arguments: KotlinTypeMarker): SimpleTypeMarker { return typeWithArguments(arguments.toList()) diff --git a/core/compiler.common/src/org/jetbrains/kotlin/types/model/TypeSystemContext.kt b/core/compiler.common/src/org/jetbrains/kotlin/types/model/TypeSystemContext.kt index a9192ea76ac..5e83470185a 100644 --- a/core/compiler.common/src/org/jetbrains/kotlin/types/model/TypeSystemContext.kt +++ b/core/compiler.common/src/org/jetbrains/kotlin/types/model/TypeSystemContext.kt @@ -356,7 +356,7 @@ interface TypeSystemContext : TypeSystemOptimizationContext { fun KotlinTypeMarker.isUninferredParameter(): Boolean fun FlexibleTypeMarker.asDynamicType(): DynamicTypeMarker? - fun FlexibleTypeMarker.asRawType(): RawTypeMarker? + fun KotlinTypeMarker.isRawType(): Boolean fun FlexibleTypeMarker.upperBound(): SimpleTypeMarker fun FlexibleTypeMarker.lowerBound(): SimpleTypeMarker diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/checker/ClassicTypeSystemContext.kt b/core/descriptors/src/org/jetbrains/kotlin/types/checker/ClassicTypeSystemContext.kt index 05c83a11ab7..dfa044f13dc 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/checker/ClassicTypeSystemContext.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/types/checker/ClassicTypeSystemContext.kt @@ -153,9 +153,9 @@ interface ClassicTypeSystemContext : TypeSystemInferenceExtensionContext, TypeSy return this as? DynamicType } - override fun FlexibleTypeMarker.asRawType(): RawTypeMarker? { - require(this is FlexibleType, this::errorMessage) - return this as? RawType + override fun KotlinTypeMarker.isRawType(): Boolean { + require(this is KotlinType, this::errorMessage) + return this is RawType } override fun FlexibleTypeMarker.upperBound(): SimpleTypeMarker {