[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,
|
typeRef: FirTypeRef = this.typeRef,
|
||||||
label: FirLabel? = this.label,
|
label: FirLabel? = this.label,
|
||||||
controlFlowGraphReference: FirControlFlowGraphReference = this.controlFlowGraphReference,
|
controlFlowGraphReference: FirControlFlowGraphReference = this.controlFlowGraphReference,
|
||||||
eventOccurrencesRange: EventOccurrencesRange? = this.eventOccurrencesRange
|
invocationKind: EventOccurrencesRange? = this.invocationKind
|
||||||
): FirAnonymousFunction {
|
): FirAnonymousFunction {
|
||||||
return buildAnonymousFunction {
|
return buildAnonymousFunction {
|
||||||
this.source = source
|
this.source = source
|
||||||
@@ -85,7 +85,7 @@ fun FirAnonymousFunction.copy(
|
|||||||
this.typeRef = typeRef
|
this.typeRef = typeRef
|
||||||
this.label = label
|
this.label = label
|
||||||
this.controlFlowGraphReference = controlFlowGraphReference
|
this.controlFlowGraphReference = controlFlowGraphReference
|
||||||
this.eventOccurrencesRange = eventOccurrencesRange
|
this.invocationKind = invocationKind
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -207,7 +207,7 @@ class ControlFlowGraphBuilder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun enterAnonymousFunction(anonymousFunction: FirAnonymousFunction): Pair<PostponedLambdaEnterNode?, FunctionEnterNode> {
|
fun enterAnonymousFunction(anonymousFunction: FirAnonymousFunction): Pair<PostponedLambdaEnterNode?, FunctionEnterNode> {
|
||||||
val invocationKind = anonymousFunction.eventOccurrencesRange
|
val invocationKind = anonymousFunction.invocationKind
|
||||||
|
|
||||||
var previousNodeIsNew = false
|
var previousNodeIsNew = false
|
||||||
val symbol = anonymousFunction.symbol
|
val symbol = anonymousFunction.symbol
|
||||||
@@ -293,7 +293,7 @@ class ControlFlowGraphBuilder {
|
|||||||
lastNodes.push(postponedExitNode)
|
lastNodes.push(postponedExitNode)
|
||||||
}
|
}
|
||||||
|
|
||||||
val invocationKind = anonymousFunction.eventOccurrencesRange
|
val invocationKind = anonymousFunction.invocationKind
|
||||||
if (invocationKind != null) {
|
if (invocationKind != null) {
|
||||||
addEdge(exitNode, postponedExitNode, preferredKind = EdgeKind.CfgForward)
|
addEdge(exitNode, postponedExitNode, preferredKind = EdgeKind.CfgForward)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ abstract class FirAnonymousFunction : FirFunction<FirAnonymousFunction>, FirExpr
|
|||||||
abstract override val typeRef: FirTypeRef
|
abstract override val typeRef: FirTypeRef
|
||||||
abstract override val symbol: FirAnonymousFunctionSymbol
|
abstract override val symbol: FirAnonymousFunctionSymbol
|
||||||
abstract val label: FirLabel?
|
abstract val label: FirLabel?
|
||||||
abstract val eventOccurrencesRange: EventOccurrencesRange?
|
abstract val invocationKind: EventOccurrencesRange?
|
||||||
abstract val isLambda: Boolean
|
abstract val isLambda: Boolean
|
||||||
abstract override val typeParameters: List<FirTypeParameter>
|
abstract override val typeParameters: List<FirTypeParameter>
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ abstract class FirAnonymousFunction : FirFunction<FirAnonymousFunction>, FirExpr
|
|||||||
|
|
||||||
abstract override fun replaceTypeRef(newTypeRef: FirTypeRef)
|
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
|
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.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction
|
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.FirDeclarationOrigin
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
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.declarations.impl.FirAnonymousFunctionImpl
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
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.symbols.impl.FirAnonymousFunctionSymbol
|
||||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl
|
import org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl
|
||||||
|
import org.jetbrains.kotlin.fir.visitors.*
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This file was generated automatically
|
* This file was generated automatically
|
||||||
@@ -45,7 +49,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
|
|||||||
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
|
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
|
||||||
lateinit var symbol: FirAnonymousFunctionSymbol
|
lateinit var symbol: FirAnonymousFunctionSymbol
|
||||||
var label: FirLabel? = null
|
var label: FirLabel? = null
|
||||||
var eventOccurrencesRange: EventOccurrencesRange? = null
|
var invocationKind: EventOccurrencesRange? = null
|
||||||
var isLambda: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
var isLambda: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
||||||
val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
|
val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
|
||||||
|
|
||||||
@@ -63,7 +67,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
|
|||||||
typeRef,
|
typeRef,
|
||||||
symbol,
|
symbol,
|
||||||
label,
|
label,
|
||||||
eventOccurrencesRange,
|
invocationKind,
|
||||||
isLambda,
|
isLambda,
|
||||||
typeParameters,
|
typeParameters,
|
||||||
)
|
)
|
||||||
|
|||||||
+2
-2
@@ -40,7 +40,7 @@ internal class FirAnonymousFunctionImpl(
|
|||||||
override var typeRef: FirTypeRef,
|
override var typeRef: FirTypeRef,
|
||||||
override val symbol: FirAnonymousFunctionSymbol,
|
override val symbol: FirAnonymousFunctionSymbol,
|
||||||
override var label: FirLabel?,
|
override var label: FirLabel?,
|
||||||
override var eventOccurrencesRange: EventOccurrencesRange?,
|
override var invocationKind: EventOccurrencesRange?,
|
||||||
override val isLambda: Boolean,
|
override val isLambda: Boolean,
|
||||||
override val typeParameters: MutableList<FirTypeParameter>,
|
override val typeParameters: MutableList<FirTypeParameter>,
|
||||||
) : FirAnonymousFunction() {
|
) : FirAnonymousFunction() {
|
||||||
@@ -123,6 +123,6 @@ internal class FirAnonymousFunctionImpl(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun replaceInvocationKind(newInvocationKind: EventOccurrencesRange?) {
|
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()
|
anonymousFunction.valueParameters.renderParameters()
|
||||||
print(": ")
|
print(": ")
|
||||||
anonymousFunction.returnTypeRef.accept(this)
|
anonymousFunction.returnTypeRef.accept(this)
|
||||||
if (anonymousFunction.eventOccurrencesRange != null) {
|
if (anonymousFunction.invocationKind != null) {
|
||||||
print(" <kind=${anonymousFunction.eventOccurrencesRange}> ")
|
print(" <kind=${anonymousFunction.invocationKind}> ")
|
||||||
}
|
}
|
||||||
if (mode.renderLambdaBodies) {
|
if (mode.renderLambdaBodies) {
|
||||||
anonymousFunction.body?.renderBody()
|
anonymousFunction.body?.renderBody()
|
||||||
|
|||||||
+1
-1
@@ -266,7 +266,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
parentArg(function, "F", anonymousFunction)
|
parentArg(function, "F", anonymousFunction)
|
||||||
+symbol("FirAnonymousFunctionSymbol")
|
+symbol("FirAnonymousFunctionSymbol")
|
||||||
+field(label, nullable = true)
|
+field(label, nullable = true)
|
||||||
+field(eventOccurrencesRangeType, nullable = true, withReplace = true).apply {
|
+field("invocationKind", eventOccurrencesRangeType, nullable = true, withReplace = true).apply {
|
||||||
isMutable = true
|
isMutable = true
|
||||||
}
|
}
|
||||||
+booleanField("isLambda")
|
+booleanField("isLambda")
|
||||||
|
|||||||
Reference in New Issue
Block a user