[FIR] Fix problems with renaming invocationKind and field in FirAnonymousFunction
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -207,7 +207,7 @@ class ControlFlowGraphBuilder {
|
||||
}
|
||||
|
||||
fun enterAnonymousFunction(anonymousFunction: FirAnonymousFunction): Pair<PostponedLambdaEnterNode?, FunctionEnterNode> {
|
||||
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 {
|
||||
|
||||
@@ -37,7 +37,7 @@ abstract class FirAnonymousFunction : FirFunction<FirAnonymousFunction>, 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<FirTypeParameter>
|
||||
|
||||
@@ -53,7 +53,7 @@ abstract class FirAnonymousFunction : FirFunction<FirAnonymousFunction>, FirExpr
|
||||
|
||||
abstract override fun replaceTypeRef(newTypeRef: FirTypeRef)
|
||||
|
||||
abstract fun replaceInvocationKind(newEventOccurrencesRange: EventOccurrencesRange?)
|
||||
abstract fun replaceInvocationKind(newInvocationKind: EventOccurrencesRange?)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
|
||||
|
||||
|
||||
+6
-2
@@ -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<Boolean>()
|
||||
val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
|
||||
|
||||
@@ -63,7 +67,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
|
||||
typeRef,
|
||||
symbol,
|
||||
label,
|
||||
eventOccurrencesRange,
|
||||
invocationKind,
|
||||
isLambda,
|
||||
typeParameters,
|
||||
)
|
||||
|
||||
+2
-2
@@ -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<FirTypeParameter>,
|
||||
) : FirAnonymousFunction() {
|
||||
@@ -123,6 +123,6 @@ internal class FirAnonymousFunctionImpl(
|
||||
}
|
||||
|
||||
override fun replaceInvocationKind(newInvocationKind: EventOccurrencesRange?) {
|
||||
eventOccurrencesRange = newInvocationKind
|
||||
invocationKind = newInvocationKind
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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(" <kind=${anonymousFunction.eventOccurrencesRange}> ")
|
||||
if (anonymousFunction.invocationKind != null) {
|
||||
print(" <kind=${anonymousFunction.invocationKind}> ")
|
||||
}
|
||||
if (mode.renderLambdaBodies) {
|
||||
anonymousFunction.body?.renderBody()
|
||||
|
||||
+1
-1
@@ -266,7 +266,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(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")
|
||||
|
||||
Reference in New Issue
Block a user