FIR: refactor cone types (arguments, projections)
This commit is contained in:
committed by
Mikhail Glukhikh
parent
02bedeca05
commit
6c3fe5dc98
+3
-5
@@ -13,8 +13,6 @@ import org.jetbrains.kotlin.fir.symbols.LibraryTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeAbbreviatedTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassTypeImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeKotlinTypeProjectionInImpl
|
||||
import org.jetbrains.kotlin.fir.types.impl.ConeKotlinTypeProjectionOutImpl
|
||||
import org.jetbrains.kotlin.metadata.ProtoBuf
|
||||
import org.jetbrains.kotlin.metadata.deserialization.*
|
||||
import org.jetbrains.kotlin.serialization.deserialization.ProtoEnumFlags
|
||||
@@ -78,7 +76,7 @@ class FirTypeDeserializer(
|
||||
|
||||
val arguments = proto.collectAllArguments().mapIndexed { index, proto ->
|
||||
typeArgument(constructor.typeParameters.getOrNull(index), proto)
|
||||
}.toList()
|
||||
}.toTypedArray()
|
||||
|
||||
val simpleType = if (Flags.SUSPEND_TYPE.get(proto.flags)) {
|
||||
//createSuspendFunctionType(annotations, constructor, arguments, proto.nullable)
|
||||
@@ -121,8 +119,8 @@ class FirTypeDeserializer(
|
||||
val coneType = type(type)
|
||||
return when (projection) {
|
||||
Variance.INVARIANT -> coneType
|
||||
Variance.IN_VARIANCE -> ConeKotlinTypeProjectionInImpl(coneType)
|
||||
Variance.OUT_VARIANCE -> ConeKotlinTypeProjectionOutImpl(coneType)
|
||||
Variance.IN_VARIANCE -> ConeKotlinTypeProjectionIn(coneType)
|
||||
Variance.OUT_VARIANCE -> ConeKotlinTypeProjectionOut(coneType)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -25,14 +25,14 @@ class FirTypeResolverImpl : FirTypeResolver {
|
||||
val type = (it.type as FirResolvedType).type
|
||||
when (it.variance) {
|
||||
Variance.INVARIANT -> type
|
||||
Variance.IN_VARIANCE -> ConeKotlinTypeProjectionInImpl(type)
|
||||
Variance.OUT_VARIANCE -> ConeKotlinTypeProjectionOutImpl(type)
|
||||
Variance.IN_VARIANCE -> ConeKotlinTypeProjectionIn(type)
|
||||
Variance.OUT_VARIANCE -> ConeKotlinTypeProjectionOut(type)
|
||||
}
|
||||
}
|
||||
else -> error("!")
|
||||
}
|
||||
}
|
||||
}
|
||||
}.toTypedArray()
|
||||
|
||||
private fun ConeSymbol.toConeKotlinType(parts: List<FirQualifierPart>): ConeKotlinType? {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user