FIR: add smartcast stability to FIR
This commit is contained in:
committed by
TeamCityServer
parent
02bd17a4e2
commit
97ea37c82f
+2
@@ -83,4 +83,6 @@ object FieldSets {
|
||||
val modality = field(modalityType, nullable = true)
|
||||
|
||||
val scopeProvider = field("scopeProvider", firScopeProviderType)
|
||||
|
||||
val smartcastStability = field(smartcastStabilityType)
|
||||
}
|
||||
|
||||
+3
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.tree.generator.FieldSets.name
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.receivers
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.returnTypeRef
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.scopeProvider
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.smartcastStability
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.status
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.superTypeRefs
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.symbol
|
||||
@@ -462,6 +463,8 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
+field("originalExpression", qualifiedAccessExpression)
|
||||
+field("typesFromSmartCast", "Collection<ConeKotlinType>", null, customType = coneKotlinTypeType)
|
||||
+field("originalType", typeRef)
|
||||
+field("smartcastType", typeRef)
|
||||
+smartcastStability
|
||||
}
|
||||
|
||||
expressionWithSmartcastToNull.configure {
|
||||
|
||||
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.types.SmartcastStability
|
||||
import org.jetbrains.kotlin.types.Variance
|
||||
|
||||
val sourceElementType = type("fir", "FirSourceElement")
|
||||
@@ -31,6 +32,7 @@ val nameType = type(Name::class)
|
||||
val visibilityType = type(Visibility::class)
|
||||
val effectiveVisibilityType = type("descriptors", "EffectiveVisibility")
|
||||
val modalityType = type(Modality::class)
|
||||
val smartcastStabilityType = type(SmartcastStability::class)
|
||||
val fqNameType = type(FqName::class)
|
||||
val classIdType = type(ClassId::class)
|
||||
val annotationUseSiteTargetType = type(AnnotationUseSiteTarget::class)
|
||||
|
||||
Reference in New Issue
Block a user