diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/CopyUtils.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/CopyUtils.kt index 1a770c57186..f242be3294a 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/CopyUtils.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/CopyUtils.kt @@ -69,7 +69,7 @@ fun FirAnonymousFunction.copy( typeRef: FirTypeRef = this.typeRef, label: FirLabel? = this.label, controlFlowGraphReference: FirControlFlowGraphReference = this.controlFlowGraphReference, - eventOccurrencesRange: EventOccurrencesRange? = this.eventOccurrencesRange + invocationKind: EventOccurrencesRange? = this.invocationKind ): FirAnonymousFunction { return buildAnonymousFunction { this.source = source @@ -85,7 +85,7 @@ fun FirAnonymousFunction.copy( this.typeRef = typeRef this.label = label this.controlFlowGraphReference = controlFlowGraphReference - this.eventOccurrencesRange = eventOccurrencesRange + this.invocationKind = invocationKind } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraphBuilder.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraphBuilder.kt index a7b56622b0f..2032f3dd2cd 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraphBuilder.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraphBuilder.kt @@ -207,7 +207,7 @@ class ControlFlowGraphBuilder { } fun enterAnonymousFunction(anonymousFunction: FirAnonymousFunction): Pair { - val invocationKind = anonymousFunction.eventOccurrencesRange + val invocationKind = anonymousFunction.invocationKind var previousNodeIsNew = false val symbol = anonymousFunction.symbol @@ -293,7 +293,7 @@ class ControlFlowGraphBuilder { lastNodes.push(postponedExitNode) } - val invocationKind = anonymousFunction.eventOccurrencesRange + val invocationKind = anonymousFunction.invocationKind if (invocationKind != null) { addEdge(exitNode, postponedExitNode, preferredKind = EdgeKind.CfgForward) } else { diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousFunction.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousFunction.kt index 607b1640ddd..54925c1ead6 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousFunction.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousFunction.kt @@ -37,7 +37,7 @@ abstract class FirAnonymousFunction : FirFunction, FirExpr abstract override val typeRef: FirTypeRef abstract override val symbol: FirAnonymousFunctionSymbol abstract val label: FirLabel? - abstract val eventOccurrencesRange: EventOccurrencesRange? + abstract val invocationKind: EventOccurrencesRange? abstract val isLambda: Boolean abstract override val typeParameters: List @@ -53,7 +53,7 @@ abstract class FirAnonymousFunction : FirFunction, FirExpr abstract override fun replaceTypeRef(newTypeRef: FirTypeRef) - abstract fun replaceInvocationKind(newEventOccurrencesRange: EventOccurrencesRange?) + abstract fun replaceInvocationKind(newInvocationKind: EventOccurrencesRange?) abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirAnonymousFunction diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousFunctionBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousFunctionBuilder.kt index 4dc972c705d..a05f418f436 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousFunctionBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousFunctionBuilder.kt @@ -13,9 +13,12 @@ import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin +import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirTypeParameter import org.jetbrains.kotlin.fir.declarations.FirValueParameter +import org.jetbrains.kotlin.fir.declarations.builder.FirFunctionBuilder import org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirBlock @@ -25,6 +28,7 @@ import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReferenc import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl +import org.jetbrains.kotlin.fir.visitors.* /* * This file was generated automatically @@ -45,7 +49,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) lateinit var symbol: FirAnonymousFunctionSymbol var label: FirLabel? = null - var eventOccurrencesRange: EventOccurrencesRange? = null + var invocationKind: EventOccurrencesRange? = null var isLambda: Boolean by kotlin.properties.Delegates.notNull() val typeParameters: MutableList = mutableListOf() @@ -63,7 +67,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu typeRef, symbol, label, - eventOccurrencesRange, + invocationKind, isLambda, typeParameters, ) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt index 73921a03624..e378448bf00 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt @@ -40,7 +40,7 @@ internal class FirAnonymousFunctionImpl( override var typeRef: FirTypeRef, override val symbol: FirAnonymousFunctionSymbol, override var label: FirLabel?, - override var eventOccurrencesRange: EventOccurrencesRange?, + override var invocationKind: EventOccurrencesRange?, override val isLambda: Boolean, override val typeParameters: MutableList, ) : FirAnonymousFunction() { @@ -123,6 +123,6 @@ internal class FirAnonymousFunctionImpl( } override fun replaceInvocationKind(newInvocationKind: EventOccurrencesRange?) { - eventOccurrencesRange = newInvocationKind + invocationKind = newInvocationKind } } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt index 5ce8d12df2c..1549a8948f9 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt @@ -449,8 +449,8 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM anonymousFunction.valueParameters.renderParameters() print(": ") anonymousFunction.returnTypeRef.accept(this) - if (anonymousFunction.eventOccurrencesRange != null) { - print(" ") + if (anonymousFunction.invocationKind != null) { + print(" ") } if (mode.renderLambdaBodies) { anonymousFunction.body?.renderBody() 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 5b924d6f503..187d462b6a2 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 @@ -266,7 +266,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild parentArg(function, "F", anonymousFunction) +symbol("FirAnonymousFunctionSymbol") +field(label, nullable = true) - +field(eventOccurrencesRangeType, nullable = true, withReplace = true).apply { + +field("invocationKind", eventOccurrencesRangeType, nullable = true, withReplace = true).apply { isMutable = true } +booleanField("isLambda")