From 857fe985b2d4a478fc9b7145ff34cff39c058571 Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Fri, 11 Feb 2022 21:37:45 +0300 Subject: [PATCH] FIR tree. Make intersection type part-types non-null --- .../jetbrains/kotlin/fir/builder/RawFirBuilder.kt | 4 ++-- .../kotlin/fir/types/FirIntersectionTypeRef.kt | 4 ++-- .../types/builder/FirIntersectionTypeRefBuilder.kt | 4 ++-- .../fir/types/impl/FirIntersectionTypeRefImpl.kt | 12 ++++++------ .../kotlin/fir/tree/generator/NodeConfigurator.kt | 4 ++-- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt index 4e4f4d19b7b..637f3baf57d 100644 --- a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt +++ b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt @@ -1753,8 +1753,8 @@ open class RawFirBuilder( is KtIntersectionType -> FirIntersectionTypeRefBuilder().apply { this.source = source isMarkedNullable = isNullable - leftType = unwrappedElement.getLeftTypeRef()?.toFirOrErrorType() - rightType = unwrappedElement.getRightTypeRef()?.toFirOrErrorType() + leftType = unwrappedElement.getLeftTypeRef().toFirOrErrorType() + rightType = unwrappedElement.getRightTypeRef().toFirOrErrorType() } null -> FirErrorTypeRefBuilder().apply { this.source = source diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirIntersectionTypeRef.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirIntersectionTypeRef.kt index eb2da0f142a..17da21dc621 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirIntersectionTypeRef.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirIntersectionTypeRef.kt @@ -19,8 +19,8 @@ abstract class FirIntersectionTypeRef : FirTypeRefWithNullability() { abstract override val source: KtSourceElement? abstract override val annotations: List abstract override val isMarkedNullable: Boolean - abstract val leftType: FirTypeRef? - abstract val rightType: FirTypeRef? + abstract val leftType: FirTypeRef + abstract val rightType: FirTypeRef override fun accept(visitor: FirVisitor, data: D): R = visitor.visitIntersectionTypeRef(this, data) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirIntersectionTypeRefBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirIntersectionTypeRefBuilder.kt index 331b8806732..0b30c00b050 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirIntersectionTypeRefBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirIntersectionTypeRefBuilder.kt @@ -25,8 +25,8 @@ class FirIntersectionTypeRefBuilder : FirAnnotationContainerBuilder { override var source: KtSourceElement? = null override val annotations: MutableList = mutableListOf() var isMarkedNullable: Boolean by kotlin.properties.Delegates.notNull() - var leftType: FirTypeRef? = null - var rightType: FirTypeRef? = null + lateinit var leftType: FirTypeRef + lateinit var rightType: FirTypeRef override fun build(): FirIntersectionTypeRef { return FirIntersectionTypeRefImpl( diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirIntersectionTypeRefImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirIntersectionTypeRefImpl.kt index a727533ad19..a519e3caf5c 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirIntersectionTypeRefImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirIntersectionTypeRefImpl.kt @@ -20,19 +20,19 @@ internal class FirIntersectionTypeRefImpl( override val source: KtSourceElement?, override val annotations: MutableList, override val isMarkedNullable: Boolean, - override var leftType: FirTypeRef?, - override var rightType: FirTypeRef?, + override var leftType: FirTypeRef, + override var rightType: FirTypeRef, ) : FirIntersectionTypeRef() { override fun acceptChildren(visitor: FirVisitor, data: D) { annotations.forEach { it.accept(visitor, data) } - leftType?.accept(visitor, data) - rightType?.accept(visitor, data) + leftType.accept(visitor, data) + rightType.accept(visitor, data) } override fun transformChildren(transformer: FirTransformer, data: D): FirIntersectionTypeRefImpl { transformAnnotations(transformer, data) - leftType = leftType?.transform(transformer, data) - rightType = rightType?.transform(transformer, data) + leftType = leftType.transform(transformer, data) + rightType = rightType.transform(transformer, data) return this } diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt index 7bfb07209f3..85989684771 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt @@ -644,8 +644,8 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild } intersectionTypeRef.configure { - +field("leftType", typeRef, nullable = true) - +field("rightType", typeRef, nullable = true) + +field("leftType", typeRef) + +field("rightType", typeRef) } thisReceiverExpression.configure {