FIR2IR: Drop the-same-value property from ConversionTypeContext
This commit is contained in:
committed by
Space Team
parent
e107de6f36
commit
45eefab811
@@ -32,7 +32,6 @@ import org.jetbrains.kotlin.fir.resolve.providers.FirProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.FirTypeScope
|
||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.importedFromObjectOrStaticData
|
||||
import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope
|
||||
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
@@ -103,35 +102,26 @@ internal enum class ConversionTypeOrigin {
|
||||
}
|
||||
|
||||
class ConversionTypeContext internal constructor(
|
||||
internal val definitelyNotNull: Boolean,
|
||||
internal val invariantProjection: Boolean = false,
|
||||
internal val origin: ConversionTypeOrigin = ConversionTypeOrigin.DEFAULT,
|
||||
) {
|
||||
fun definitelyNotNull() = ConversionTypeContext(
|
||||
definitelyNotNull = true,
|
||||
invariantProjection = invariantProjection,
|
||||
origin = origin
|
||||
)
|
||||
|
||||
fun inSetter() = ConversionTypeContext(
|
||||
definitelyNotNull = definitelyNotNull,
|
||||
invariantProjection = invariantProjection,
|
||||
origin = ConversionTypeOrigin.SETTER
|
||||
)
|
||||
|
||||
fun withInvariantProjections() = ConversionTypeContext(
|
||||
definitelyNotNull = definitelyNotNull,
|
||||
invariantProjection = true,
|
||||
origin = origin
|
||||
)
|
||||
|
||||
companion object {
|
||||
internal val DEFAULT = ConversionTypeContext(
|
||||
definitelyNotNull = false, origin = ConversionTypeOrigin.DEFAULT, invariantProjection = false
|
||||
invariantProjection = false, origin = ConversionTypeOrigin.DEFAULT
|
||||
)
|
||||
internal val WITH_INVARIANT = DEFAULT.withInvariantProjections()
|
||||
internal val IN_SETTER = ConversionTypeContext(
|
||||
definitelyNotNull = false, origin = ConversionTypeOrigin.SETTER, invariantProjection = false
|
||||
invariantProjection = false, origin = ConversionTypeOrigin.SETTER
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -332,7 +332,6 @@ class Fir2IrDeclarationStorage(
|
||||
}
|
||||
val forSetter = function is FirPropertyAccessor && function.isSetter
|
||||
val typeContext = ConversionTypeContext(
|
||||
definitelyNotNull = false,
|
||||
origin = if (forSetter) ConversionTypeOrigin.SETTER else ConversionTypeOrigin.DEFAULT
|
||||
)
|
||||
if (function is FirDefaultPropertySetter) {
|
||||
@@ -728,7 +727,6 @@ class Fir2IrDeclarationStorage(
|
||||
with(classifierStorage) {
|
||||
setTypeParameters(
|
||||
property, ConversionTypeContext(
|
||||
definitelyNotNull = false,
|
||||
origin = if (isSetter) ConversionTypeOrigin.SETTER else ConversionTypeOrigin.DEFAULT
|
||||
)
|
||||
)
|
||||
|
||||
@@ -20,7 +20,10 @@ import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
|
||||
import org.jetbrains.kotlin.ir.types.IrType
|
||||
import org.jetbrains.kotlin.ir.types.IrTypeArgument
|
||||
import org.jetbrains.kotlin.ir.types.IrTypeProjection
|
||||
import org.jetbrains.kotlin.ir.types.impl.*
|
||||
import org.jetbrains.kotlin.ir.types.impl.IrDynamicTypeImpl
|
||||
import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl
|
||||
import org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl
|
||||
import org.jetbrains.kotlin.ir.types.impl.makeTypeProjection
|
||||
import org.jetbrains.kotlin.ir.types.makeNotNull
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.StandardClassIds
|
||||
@@ -158,7 +161,7 @@ class Fir2IrTypeConverter(
|
||||
val approximatedType = approximateType(expandedType)
|
||||
IrSimpleTypeImpl(
|
||||
irSymbol,
|
||||
hasQuestionMark = !typeContext.definitelyNotNull && approximatedType.isMarkedNullable,
|
||||
hasQuestionMark = approximatedType.isMarkedNullable,
|
||||
arguments = approximatedType.typeArguments.map { it.toIrTypeArgument(typeContext) },
|
||||
annotations = typeAnnotations
|
||||
)
|
||||
|
||||
@@ -179,7 +179,6 @@ class Fir2IrLazyProperty(
|
||||
with(classifierStorage) {
|
||||
setTypeParameters(
|
||||
this@Fir2IrLazyProperty.fir, ConversionTypeContext(
|
||||
definitelyNotNull = false,
|
||||
origin = ConversionTypeOrigin.DEFAULT
|
||||
)
|
||||
)
|
||||
@@ -212,7 +211,6 @@ class Fir2IrLazyProperty(
|
||||
with(classifierStorage) {
|
||||
setTypeParameters(
|
||||
this@Fir2IrLazyProperty.fir, ConversionTypeContext(
|
||||
definitelyNotNull = false,
|
||||
origin = ConversionTypeOrigin.SETTER
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user