TypeSystemContext: Rework raw types processing
All the current usages are about checking if the type is raw, also in K2 it is simply incorrect to assume that only flexible types might be raw
This commit is contained in:
committed by
Space Team
parent
b6e59fe8fd
commit
eb09a25239
@@ -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 {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
+1
-1
@@ -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()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user