From ae819ff0596a83fcf7aea09f44212a35ba0bbf41 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Mon, 14 Sep 2020 15:58:36 +0300 Subject: [PATCH] [FIR] Add configurable typeRef to FirArrayOfCallBuilder --- .../fir/expressions/builder/FirArrayOfCallBuilder.kt | 9 ++------- .../kotlin/fir/expressions/impl/FirArrayOfCallImpl.kt | 4 +--- .../kotlin/fir/tree/generator/BuilderConfigurator.kt | 3 ++- .../fir/tree/generator/ImplementationConfigurator.kt | 1 + 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirArrayOfCallBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirArrayOfCallBuilder.kt index 0992d0a2599..0f13c2a1049 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirArrayOfCallBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/builder/FirArrayOfCallBuilder.kt @@ -27,24 +27,19 @@ import org.jetbrains.kotlin.fir.visitors.* @FirBuilderDsl class FirArrayOfCallBuilder : FirCallBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder { override var source: FirSourceElement? = null + override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override val annotations: MutableList = mutableListOf() override lateinit var argumentList: FirArgumentList override fun build(): FirArrayOfCall { return FirArrayOfCallImpl( source, + typeRef, annotations, argumentList, ) } - - @Deprecated("Modification of 'typeRef' has no impact for FirArrayOfCallBuilder", level = DeprecationLevel.HIDDEN) - override var typeRef: FirTypeRef - get() = throw IllegalStateException() - set(value) { - throw IllegalStateException() - } } @OptIn(ExperimentalContracts::class) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirArrayOfCallImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirArrayOfCallImpl.kt index 2b276c55c1c..618fa8c0f94 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirArrayOfCallImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/impl/FirArrayOfCallImpl.kt @@ -10,7 +10,6 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirArgumentList import org.jetbrains.kotlin.fir.expressions.FirArrayOfCall import org.jetbrains.kotlin.fir.types.FirTypeRef -import org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl import org.jetbrains.kotlin.fir.visitors.* /* @@ -20,11 +19,10 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirArrayOfCallImpl( override val source: FirSourceElement?, + override var typeRef: FirTypeRef, override val annotations: MutableList, override var argumentList: FirArgumentList, ) : FirArrayOfCall() { - override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) - override fun acceptChildren(visitor: FirVisitor, data: D) { typeRef.accept(visitor, data) annotations.forEach { it.accept(visitor, data) } diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt index 4ec9a7b9802..fa6c3fc3690 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt @@ -325,7 +325,8 @@ object BuilderConfigurator : AbstractBuilderConfigurator(FirTree expression to "FirExpressionStub", varargArgumentsExpression, checkedSafeCallSubject, - safeCallExpression + safeCallExpression, + arrayOfCall ) elementsWithDefaultTypeRef.forEach { val (element, name) = when (it) { diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt index ae7c8340585..9ce082e4496 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt @@ -462,6 +462,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator() "FirVarargArgumentsExpressionImpl", "FirSafeCallExpressionImpl", "FirCheckedSafeCallSubjectImpl", + "FirArrayOfCallImpl", ) configureFieldInAllImplementations( field = "typeRef",