[FIR] Add replaceControlFlowGraphReference function for FirFunction
This commit is contained in:
+4
-4
@@ -27,10 +27,10 @@ class ControlFlowAnalysisDiagnosticComponent(collector: AbstractDiagnosticCollec
|
||||
|
||||
private fun <F : FirClass<F>> visitClass(
|
||||
klass: FirClass<F>,
|
||||
controlFlowGraphReference: FirControlFlowGraphReference,
|
||||
controlFlowGraphReference: FirControlFlowGraphReference?,
|
||||
data: CheckerContext
|
||||
) {
|
||||
val graph = controlFlowGraphReference.controlFlowGraph ?: return
|
||||
val graph = controlFlowGraphReference?.controlFlowGraph ?: return
|
||||
runCheck {
|
||||
controlFlowAnalyzer.analyzeClassInitializer(klass, graph, data, it)
|
||||
}
|
||||
@@ -38,7 +38,7 @@ class ControlFlowAnalysisDiagnosticComponent(collector: AbstractDiagnosticCollec
|
||||
|
||||
// ------------------------------- Property initializer -------------------------------
|
||||
override fun visitProperty(property: FirProperty, data: CheckerContext) {
|
||||
val graph = property.controlFlowGraphReference.controlFlowGraph ?: return
|
||||
val graph = property.controlFlowGraphReference?.controlFlowGraph ?: return
|
||||
runCheck {
|
||||
controlFlowAnalyzer.analyzePropertyInitializer(property, graph, data, it)
|
||||
}
|
||||
@@ -47,7 +47,7 @@ class ControlFlowAnalysisDiagnosticComponent(collector: AbstractDiagnosticCollec
|
||||
// ------------------------------- Function -------------------------------
|
||||
|
||||
override fun <F : FirFunction<F>> visitFunction(function: FirFunction<F>, data: CheckerContext) {
|
||||
val graph = function.controlFlowGraphReference.controlFlowGraph ?: return
|
||||
val graph = function.controlFlowGraphReference?.controlFlowGraph ?: return
|
||||
runCheck {
|
||||
controlFlowAnalyzer.analyzeFunction(function, graph, data, it)
|
||||
}
|
||||
|
||||
@@ -18,7 +18,6 @@ import org.jetbrains.kotlin.fir.declarations.builder.FirRegularClassBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.java.JavaTypeParameterStack
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScopeProvider
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
@@ -47,7 +46,7 @@ class FirJavaClass @FirImplementationDetail internal constructor(
|
||||
internal val existingNestedClassifierNames: List<Name>
|
||||
) : FirRegularClass() {
|
||||
override val hasLazyNestedClassifiers: Boolean get() = true
|
||||
override val controlFlowGraphReference: FirControlFlowGraphReference get() = FirEmptyControlFlowGraphReference
|
||||
override val controlFlowGraphReference: FirControlFlowGraphReference? get() = null
|
||||
|
||||
init {
|
||||
symbol.bind(this)
|
||||
@@ -70,6 +69,8 @@ class FirJavaClass @FirImplementationDetail internal constructor(
|
||||
resolvePhase = newResolvePhase
|
||||
}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {}
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
declarations.forEach { it.accept(visitor, data) }
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
@@ -97,10 +98,6 @@ class FirJavaClass @FirImplementationDetail internal constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirRegularClass {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirJavaClass {
|
||||
annotations.transformInplace(transformer, data)
|
||||
return this
|
||||
|
||||
+4
-8
@@ -16,7 +16,6 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
||||
@@ -56,17 +55,13 @@ class FirJavaConstructor @FirImplementationDetail constructor(
|
||||
|
||||
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
|
||||
override val controlFlowGraphReference: FirControlFlowGraphReference get() = FirEmptyControlFlowGraphReference
|
||||
override val controlFlowGraphReference: FirControlFlowGraphReference? get() = null
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirJavaConstructor {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirJavaConstructor {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirConstructor {
|
||||
returnTypeRef = returnTypeRef.transformSingle(transformer, data)
|
||||
return this
|
||||
@@ -78,7 +73,7 @@ class FirJavaConstructor @FirImplementationDetail constructor(
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
controlFlowGraphReference.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
@@ -87,7 +82,6 @@ class FirJavaConstructor @FirImplementationDetail constructor(
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirJavaConstructor {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformControlFlowGraphReference(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
status = status.transformSingle(transformer, data)
|
||||
@@ -134,6 +128,8 @@ class FirJavaConstructor @FirImplementationDetail constructor(
|
||||
}
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {}
|
||||
}
|
||||
|
||||
@FirBuilderDsl
|
||||
|
||||
+1
-2
@@ -24,7 +24,6 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirEmptyArgumentList
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirNoReceiverExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirStubStatement
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirStubReference
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
@@ -165,7 +164,7 @@ abstract class AbstractRawFirBuilderTestCase : KtParsingTestCase(
|
||||
|
||||
private fun throwTwiceVisitingError(element: FirElement) {
|
||||
if (element is FirTypeRef || element is FirNoReceiverExpression || element is FirTypeParameter ||
|
||||
element is FirEmptyContractDescription || element is FirEmptyControlFlowGraphReference ||
|
||||
element is FirEmptyContractDescription ||
|
||||
element is FirStubReference || element.isExtensionFunctionAnnotation || element is FirEmptyArgumentList ||
|
||||
element is FirStubStatement
|
||||
) {
|
||||
|
||||
@@ -68,7 +68,7 @@ fun FirAnonymousFunction.copy(
|
||||
annotations: List<FirAnnotationCall> = this.annotations,
|
||||
typeRef: FirTypeRef = this.typeRef,
|
||||
label: FirLabel? = this.label,
|
||||
controlFlowGraphReference: FirControlFlowGraphReference = this.controlFlowGraphReference,
|
||||
controlFlowGraphReference: FirControlFlowGraphReference? = this.controlFlowGraphReference,
|
||||
invocationKind: EventOccurrencesRange? = this.invocationKind
|
||||
): FirAnonymousFunction {
|
||||
return buildAnonymousFunction {
|
||||
|
||||
@@ -133,7 +133,7 @@ sealed class CFGNodeWithCfgOwner<out E : FirControlFlowGraphOwner>(owner: Contro
|
||||
}
|
||||
|
||||
val subGraphs: List<ControlFlowGraph> by lazy {
|
||||
_subGraphs.also { it.addIfNotNull(fir.controlFlowGraphReference.controlFlowGraph) }
|
||||
_subGraphs.also { it.addIfNotNull(fir.controlFlowGraphReference?.controlFlowGraph) }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+6
-6
@@ -132,7 +132,7 @@ class ControlFlowGraphBuilder {
|
||||
else -> fir.extractArgument()
|
||||
}
|
||||
|
||||
val exitNode = function.controlFlowGraphReference.controlFlowGraph?.exitNode
|
||||
val exitNode = function.controlFlowGraphReference?.controlFlowGraph?.exitNode
|
||||
?: exitsOfAnonymousFunctions.getValue(function.symbol)
|
||||
return exitNode.previousNodes.mapNotNullTo(mutableSetOf()) {
|
||||
it.extractArgument() as FirStatement?
|
||||
@@ -368,8 +368,8 @@ class ControlFlowGraphBuilder {
|
||||
var prevInitPartNode: CFGNode<*>? = null
|
||||
for (declaration in klass.declarations) {
|
||||
val graph = when (declaration) {
|
||||
is FirProperty -> declaration.controlFlowGraphReference.controlFlowGraph
|
||||
is FirAnonymousInitializer -> declaration.controlFlowGraphReference.controlFlowGraph
|
||||
is FirProperty -> declaration.controlFlowGraphReference?.controlFlowGraph
|
||||
is FirAnonymousInitializer -> declaration.controlFlowGraphReference?.controlFlowGraph
|
||||
else -> null
|
||||
} ?: continue
|
||||
|
||||
@@ -430,7 +430,7 @@ class ControlFlowGraphBuilder {
|
||||
|
||||
fun visitLocalClassFunctions(klass: FirClass<*>, node: CFGNodeWithCfgOwner<*>) {
|
||||
klass.declarations.filterIsInstance<FirFunction<*>>().forEach { function ->
|
||||
val functionGraph = function.controlFlowGraphReference.controlFlowGraph
|
||||
val functionGraph = function.controlFlowGraphReference?.controlFlowGraph
|
||||
if (functionGraph != null && functionGraph.owner == null) {
|
||||
addEdge(node, functionGraph.enterNode, preferredKind = EdgeKind.CfgForward)
|
||||
node.addSubGraph(functionGraph)
|
||||
@@ -1115,11 +1115,11 @@ class ControlFlowGraphBuilder {
|
||||
}
|
||||
|
||||
override fun visitAnonymousFunction(anonymousFunction: FirAnonymousFunction) {
|
||||
anonymousFunction.controlFlowGraphReference.accept(this)
|
||||
anonymousFunction.controlFlowGraphReference?.accept(this)
|
||||
}
|
||||
|
||||
override fun visitAnonymousObject(anonymousObject: FirAnonymousObject) {
|
||||
anonymousObject.controlFlowGraphReference.accept(this)
|
||||
anonymousObject.controlFlowGraphReference?.accept(this)
|
||||
}
|
||||
|
||||
override fun visitControlFlowGraphReference(controlFlowGraphReference: FirControlFlowGraphReference) {
|
||||
|
||||
-42
@@ -1,42 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.fir.resolve.transformers
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFunction
|
||||
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.resolve.dfa.FirControlFlowGraphReferenceImpl
|
||||
import org.jetbrains.kotlin.fir.resolve.dfa.cfg.ControlFlowGraph
|
||||
import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult
|
||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
||||
import org.jetbrains.kotlin.fir.visitors.compose
|
||||
|
||||
object ControlFlowGraphReferenceTransformer : FirTransformer<ControlFlowGraph>() {
|
||||
override fun <E : FirElement> transformElement(element: E, data: ControlFlowGraph): CompositeTransformResult<E> {
|
||||
return element.compose()
|
||||
}
|
||||
|
||||
override fun <F : FirFunction<F>> transformFunction(
|
||||
function: FirFunction<F>,
|
||||
data: ControlFlowGraph
|
||||
): CompositeTransformResult<FirStatement> {
|
||||
return (function.transformChildren(this, data) as FirFunction<*>).compose()
|
||||
}
|
||||
|
||||
override fun transformControlFlowGraphReference(
|
||||
controlFlowGraphReference: FirControlFlowGraphReference,
|
||||
data: ControlFlowGraph
|
||||
): CompositeTransformResult<FirControlFlowGraphReference> {
|
||||
return if (controlFlowGraphReference is FirEmptyControlFlowGraphReference) {
|
||||
FirControlFlowGraphReferenceImpl(data).compose()
|
||||
} else {
|
||||
controlFlowGraphReference.compose()
|
||||
}
|
||||
}
|
||||
}
|
||||
+10
-9
@@ -18,10 +18,10 @@ import org.jetbrains.kotlin.fir.expressions.*
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.buildReturnExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.buildUnitExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.resolve.*
|
||||
import org.jetbrains.kotlin.fir.resolve.calls.FirNamedReferenceWithCandidate
|
||||
import org.jetbrains.kotlin.fir.resolve.calls.ImplicitExtensionReceiverValue
|
||||
import org.jetbrains.kotlin.fir.resolve.dfa.FirControlFlowGraphReferenceImpl
|
||||
import org.jetbrains.kotlin.fir.resolve.inference.FirDelegatedPropertyInferenceSession
|
||||
import org.jetbrains.kotlin.fir.resolve.inference.extractLambdaInfoFromFunctionalType
|
||||
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
||||
@@ -149,7 +149,7 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor
|
||||
}
|
||||
property.replaceResolvePhase(transformerPhase)
|
||||
dataFlowAnalyzer.exitProperty(property)?.let {
|
||||
property.transformControlFlowGraphReference(ControlFlowGraphReferenceTransformer, it)
|
||||
property.replaceControlFlowGraphReference(FirControlFlowGraphReferenceImpl(it))
|
||||
}
|
||||
property.compose()
|
||||
}
|
||||
@@ -377,7 +377,7 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor
|
||||
if (notAnalyzed) {
|
||||
if (!implicitTypeOnly) {
|
||||
val controlFlowGraph = dataFlowAnalyzer.exitRegularClass(result)
|
||||
result.transformControlFlowGraphReference(ControlFlowGraphReferenceTransformer, controlFlowGraph)
|
||||
result.replaceControlFlowGraphReference(FirControlFlowGraphReferenceImpl(controlFlowGraph))
|
||||
} else {
|
||||
dataFlowAnalyzer.exitClass()
|
||||
}
|
||||
@@ -410,9 +410,9 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor
|
||||
var result = withScopesForClass(labelName, anonymousObject, type) {
|
||||
transformDeclarationContent(anonymousObject, data).single as FirAnonymousObject
|
||||
}
|
||||
if (!implicitTypeOnly && result.controlFlowGraphReference == FirEmptyControlFlowGraphReference) {
|
||||
if (!implicitTypeOnly && result.controlFlowGraphReference == null) {
|
||||
val graph = dataFlowAnalyzer.exitAnonymousObject(result)
|
||||
result = result.transformControlFlowGraphReference(ControlFlowGraphReferenceTransformer, graph)
|
||||
result.replaceControlFlowGraphReference(FirControlFlowGraphReferenceImpl(graph))
|
||||
} else {
|
||||
dataFlowAnalyzer.exitClass()
|
||||
}
|
||||
@@ -522,7 +522,7 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor
|
||||
if (functionIsNotAnalyzed) {
|
||||
val result = it.single as FirFunction<*>
|
||||
val controlFlowGraph = dataFlowAnalyzer.exitFunction(result)
|
||||
result.transformControlFlowGraphReference(ControlFlowGraphReferenceTransformer, controlFlowGraph)
|
||||
result.replaceControlFlowGraphReference(FirControlFlowGraphReferenceImpl(controlFlowGraph))
|
||||
}
|
||||
} as CompositeTransformResult<FirStatement>
|
||||
}
|
||||
@@ -594,7 +594,7 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor
|
||||
}
|
||||
|
||||
val graph = dataFlowAnalyzer.exitFunction(constructor)
|
||||
constructor.transformControlFlowGraphReference(ControlFlowGraphReferenceTransformer, graph)
|
||||
constructor.replaceControlFlowGraphReference(FirControlFlowGraphReferenceImpl(graph))
|
||||
constructor.compose()
|
||||
}
|
||||
}
|
||||
@@ -612,7 +612,8 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor
|
||||
val result =
|
||||
transformDeclarationContent(anonymousInitializer, ResolutionMode.ContextIndependent).single as FirAnonymousInitializer
|
||||
val graph = dataFlowAnalyzer.exitInitBlock(result)
|
||||
result.transformControlFlowGraphReference(ControlFlowGraphReferenceTransformer, graph).compose()
|
||||
result.replaceControlFlowGraphReference(FirControlFlowGraphReferenceImpl(graph))
|
||||
result.compose()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -633,7 +634,7 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor
|
||||
).single as FirValueParameter
|
||||
|
||||
dataFlowAnalyzer.exitValueParameter(result)?.let { graph ->
|
||||
result.transformControlFlowGraphReference(ControlFlowGraphReferenceTransformer, graph)
|
||||
result.replaceControlFlowGraphReference(FirControlFlowGraphReferenceImpl(graph))
|
||||
}
|
||||
|
||||
return result.compose()
|
||||
|
||||
@@ -31,7 +31,7 @@ abstract class FirAnonymousFunction : FirFunction<FirAnonymousFunction>, FirExpr
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val valueParameters: List<FirValueParameter>
|
||||
abstract override val body: FirBlock?
|
||||
abstract override val typeRef: FirTypeRef
|
||||
@@ -49,6 +49,8 @@ abstract class FirAnonymousFunction : FirFunction<FirAnonymousFunction>, FirExpr
|
||||
|
||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
|
||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||
|
||||
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
||||
|
||||
abstract override fun replaceTypeRef(newTypeRef: FirTypeRef)
|
||||
@@ -61,8 +63,6 @@ abstract class FirAnonymousFunction : FirFunction<FirAnonymousFunction>, FirExpr
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
|
||||
|
||||
abstract override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
|
||||
|
||||
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
|
||||
|
||||
+2
-2
@@ -25,7 +25,7 @@ abstract class FirAnonymousInitializer : FirPureAbstractElement(), FirDeclaratio
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract val body: FirBlock?
|
||||
abstract override val symbol: FirAnonymousInitializerSymbol
|
||||
|
||||
@@ -33,5 +33,5 @@ abstract class FirAnonymousInitializer : FirPureAbstractElement(), FirDeclaratio
|
||||
|
||||
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
|
||||
abstract override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirAnonymousInitializer
|
||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ abstract class FirAnonymousObject : FirClass<FirAnonymousObject>, FirControlFlow
|
||||
abstract override val declarations: List<FirDeclaration>
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val scopeProvider: FirScopeProvider
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val typeRef: FirTypeRef
|
||||
abstract override val symbol: FirAnonymousObjectSymbol
|
||||
|
||||
@@ -43,6 +43,8 @@ abstract class FirAnonymousObject : FirClass<FirAnonymousObject>, FirControlFlow
|
||||
|
||||
abstract override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
|
||||
|
||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||
|
||||
abstract override fun replaceTypeRef(newTypeRef: FirTypeRef)
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirAnonymousObject
|
||||
@@ -52,6 +54,4 @@ abstract class FirAnonymousObject : FirClass<FirAnonymousObject>, FirControlFlow
|
||||
abstract override fun <D> transformDeclarations(transformer: FirTransformer<D>, data: D): FirAnonymousObject
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirAnonymousObject
|
||||
|
||||
abstract override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirAnonymousObject
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ abstract class FirConstructor : FirPureAbstractElement(), FirFunction<FirConstru
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val valueParameters: List<FirValueParameter>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
@@ -49,6 +49,8 @@ abstract class FirConstructor : FirPureAbstractElement(), FirFunction<FirConstru
|
||||
|
||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
|
||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||
|
||||
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
@@ -57,8 +59,6 @@ abstract class FirConstructor : FirPureAbstractElement(), FirFunction<FirConstru
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
abstract override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
+2
-2
@@ -17,9 +17,9 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
interface FirControlFlowGraphOwner : FirElement {
|
||||
override val source: FirSourceElement?
|
||||
val controlFlowGraphReference: FirControlFlowGraphReference
|
||||
val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitControlFlowGraphOwner(this, data)
|
||||
|
||||
fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirControlFlowGraphOwner
|
||||
fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ abstract class FirErrorFunction : FirPureAbstractElement(), FirFunction<FirError
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val valueParameters: List<FirValueParameter>
|
||||
abstract override val body: FirBlock?
|
||||
abstract override val diagnostic: ConeDiagnostic
|
||||
@@ -46,6 +46,8 @@ abstract class FirErrorFunction : FirPureAbstractElement(), FirFunction<FirError
|
||||
|
||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
|
||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||
|
||||
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirErrorFunction
|
||||
@@ -54,8 +56,6 @@ abstract class FirErrorFunction : FirPureAbstractElement(), FirFunction<FirError
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorFunction
|
||||
|
||||
abstract override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirErrorFunction
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirErrorFunction
|
||||
|
||||
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirErrorFunction
|
||||
|
||||
@@ -31,7 +31,7 @@ interface FirFunction<F : FirFunction<F>> : FirCallableDeclaration<F>, FirTarget
|
||||
override val returnTypeRef: FirTypeRef
|
||||
override val receiverTypeRef: FirTypeRef?
|
||||
override val typeParameters: List<FirTypeParameterRef>
|
||||
override val controlFlowGraphReference: FirControlFlowGraphReference
|
||||
override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
override val symbol: FirFunctionSymbol<F>
|
||||
val valueParameters: List<FirValueParameter>
|
||||
val body: FirBlock?
|
||||
@@ -44,6 +44,8 @@ interface FirFunction<F : FirFunction<F>> : FirCallableDeclaration<F>, FirTarget
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||
|
||||
fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirFunction<F>
|
||||
@@ -54,8 +56,6 @@ interface FirFunction<F : FirFunction<F>> : FirCallableDeclaration<F>, FirTarget
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirFunction<F>
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirFunction<F>
|
||||
|
||||
fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirFunction<F>
|
||||
|
||||
fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirFunction<F>
|
||||
|
||||
@@ -41,7 +41,7 @@ abstract class FirProperty : FirVariable<FirProperty>(), FirTypeParametersOwner,
|
||||
abstract override val setter: FirPropertyAccessor?
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val typeParameters: List<FirTypeParameter>
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val symbol: FirPropertySymbol
|
||||
abstract val backingFieldSymbol: FirBackingFieldSymbol
|
||||
@@ -56,6 +56,8 @@ abstract class FirProperty : FirVariable<FirProperty>(), FirTypeParametersOwner,
|
||||
|
||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
|
||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
@@ -72,8 +74,6 @@ abstract class FirProperty : FirVariable<FirProperty>(), FirTypeParametersOwner,
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
@@ -29,7 +29,7 @@ abstract class FirPropertyAccessor : FirPureAbstractElement(), FirFunction<FirPr
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val valueParameters: List<FirValueParameter>
|
||||
abstract override val body: FirBlock?
|
||||
abstract override val contractDescription: FirContractDescription
|
||||
@@ -48,6 +48,8 @@ abstract class FirPropertyAccessor : FirPureAbstractElement(), FirFunction<FirPr
|
||||
|
||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
|
||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||
|
||||
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
||||
|
||||
abstract override fun replaceContractDescription(newContractDescription: FirContractDescription)
|
||||
@@ -56,8 +58,6 @@ abstract class FirPropertyAccessor : FirPureAbstractElement(), FirFunction<FirPr
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
abstract override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
@@ -31,7 +31,7 @@ abstract class FirRegularClass : FirPureAbstractElement(), FirMemberDeclaration,
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val classKind: ClassKind
|
||||
abstract override val declarations: List<FirDeclaration>
|
||||
abstract override val scopeProvider: FirScopeProvider
|
||||
@@ -45,6 +45,8 @@ abstract class FirRegularClass : FirPureAbstractElement(), FirMemberDeclaration,
|
||||
|
||||
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
|
||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||
|
||||
abstract override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirRegularClass
|
||||
@@ -53,8 +55,6 @@ abstract class FirRegularClass : FirPureAbstractElement(), FirMemberDeclaration,
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirRegularClass
|
||||
|
||||
abstract override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirRegularClass
|
||||
|
||||
abstract override fun <D> transformDeclarations(transformer: FirTransformer<D>, data: D): FirRegularClass
|
||||
|
||||
abstract fun <D> transformCompanionObject(transformer: FirTransformer<D>, data: D): FirRegularClass
|
||||
|
||||
@@ -31,7 +31,7 @@ abstract class FirSimpleFunction : FirPureAbstractElement(), FirFunction<FirSimp
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val valueParameters: List<FirValueParameter>
|
||||
abstract override val body: FirBlock?
|
||||
abstract override val status: FirDeclarationStatus
|
||||
@@ -50,6 +50,8 @@ abstract class FirSimpleFunction : FirPureAbstractElement(), FirFunction<FirSimp
|
||||
|
||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
|
||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||
|
||||
abstract override fun replaceValueParameters(newValueParameters: List<FirValueParameter>)
|
||||
|
||||
abstract override fun replaceContractDescription(newContractDescription: FirContractDescription)
|
||||
@@ -58,8 +60,6 @@ abstract class FirSimpleFunction : FirPureAbstractElement(), FirFunction<FirSimp
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
abstract override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
@@ -39,7 +39,7 @@ abstract class FirValueParameter : FirVariable<FirValueParameter>(), FirControlF
|
||||
abstract override val getter: FirPropertyAccessor?
|
||||
abstract override val setter: FirPropertyAccessor?
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract val defaultValue: FirExpression?
|
||||
abstract val isCrossinline: Boolean
|
||||
abstract val isNoinline: Boolean
|
||||
@@ -53,6 +53,8 @@ abstract class FirValueParameter : FirVariable<FirValueParameter>(), FirControlF
|
||||
|
||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
|
||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
@@ -67,7 +69,5 @@ abstract class FirValueParameter : FirVariable<FirValueParameter>(), FirControlF
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
}
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ interface FirAbstractConstructorBuilder : FirFunctionBuilder {
|
||||
abstract var resolvePhase: FirResolvePhase
|
||||
abstract var receiverTypeRef: FirTypeRef?
|
||||
abstract val typeParameters: MutableList<FirTypeParameterRef>
|
||||
abstract var controlFlowGraphReference: FirControlFlowGraphReference
|
||||
abstract var controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract var status: FirDeclarationStatus
|
||||
abstract var containerSource: DeserializedContainerSource?
|
||||
abstract var symbol: FirConstructorSymbol
|
||||
|
||||
+1
-2
@@ -24,7 +24,6 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirExpressionBuilder
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl
|
||||
@@ -43,7 +42,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
override lateinit var returnTypeRef: FirTypeRef
|
||||
var receiverTypeRef: FirTypeRef? = null
|
||||
var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference
|
||||
var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||
override var body: FirBlock? = null
|
||||
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
|
||||
|
||||
-1
@@ -16,7 +16,6 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousInitializerImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousInitializerSymbol
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
|
||||
-1
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousObjectImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirExpressionBuilder
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScopeProvider
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousObjectSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
|
||||
+1
-2
@@ -23,7 +23,6 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
@@ -72,7 +71,7 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
|
||||
|
||||
|
||||
@Deprecated("Modification of 'controlFlowGraphReference' has no impact for FirConstructorBuilder", level = DeprecationLevel.HIDDEN)
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
get() = throw IllegalStateException()
|
||||
set(value) {
|
||||
throw IllegalStateException()
|
||||
|
||||
-1
@@ -19,7 +19,6 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultSetterValueParameter
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
|
||||
-1
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirErrorFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirErrorTypeRefImpl
|
||||
|
||||
+1
-2
@@ -23,7 +23,6 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
@@ -72,7 +71,7 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
|
||||
|
||||
|
||||
@Deprecated("Modification of 'controlFlowGraphReference' has no impact for FirPrimaryConstructorBuilder", level = DeprecationLevel.HIDDEN)
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
get() = throw IllegalStateException()
|
||||
set(value) {
|
||||
throw IllegalStateException()
|
||||
|
||||
-1
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirPropertyAccessorImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertyAccessorSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
-1
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirBackingFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
|
||||
-1
@@ -23,7 +23,6 @@ import org.jetbrains.kotlin.fir.declarations.builder.FirTypeParameterRefsOwnerBu
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirRegularClassImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScopeProvider
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
|
||||
-1
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
-1
@@ -20,7 +20,6 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirValueParameterImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
|
||||
+7
-8
@@ -34,7 +34,7 @@ internal class FirAnonymousFunctionImpl(
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override var receiverTypeRef: FirTypeRef?,
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference,
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference?,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
override var body: FirBlock?,
|
||||
override var typeRef: FirTypeRef,
|
||||
@@ -55,7 +55,7 @@ internal class FirAnonymousFunctionImpl(
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
controlFlowGraphReference.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
body?.accept(visitor, data)
|
||||
typeRef.accept(visitor, data)
|
||||
@@ -67,7 +67,7 @@ internal class FirAnonymousFunctionImpl(
|
||||
transformAnnotations(transformer, data)
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformControlFlowGraphReference(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transformSingle(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformBody(transformer, data)
|
||||
typeRef = typeRef.transformSingle(transformer, data)
|
||||
@@ -91,11 +91,6 @@ internal class FirAnonymousFunctionImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
|
||||
controlFlowGraphReference = controlFlowGraphReference.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
@@ -123,6 +118,10 @@ internal class FirAnonymousFunctionImpl(
|
||||
receiverTypeRef = newReceiverTypeRef
|
||||
}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
controlFlowGraphReference = newControlFlowGraphReference
|
||||
}
|
||||
|
||||
override fun replaceValueParameters(newValueParameters: List<FirValueParameter>) {
|
||||
valueParameters.clear()
|
||||
valueParameters.addAll(newValueParameters)
|
||||
|
||||
+7
-9
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousInitializerSymbol
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
@@ -31,29 +30,28 @@ internal class FirAnonymousInitializerImpl(
|
||||
override val symbol: FirAnonymousInitializerSymbol,
|
||||
) : FirAnonymousInitializer() {
|
||||
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
|
||||
init {
|
||||
symbol.bind(this)
|
||||
}
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
controlFlowGraphReference.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
body?.accept(visitor, data)
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirAnonymousInitializerImpl {
|
||||
transformControlFlowGraphReference(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transformSingle(transformer, data)
|
||||
body = body?.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirAnonymousInitializerImpl {
|
||||
controlFlowGraphReference = controlFlowGraphReference.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun replaceResolvePhase(newResolvePhase: FirResolvePhase) {
|
||||
resolvePhase = newResolvePhase
|
||||
}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
controlFlowGraphReference = newControlFlowGraphReference
|
||||
}
|
||||
}
|
||||
|
||||
+7
-9
@@ -16,7 +16,6 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScopeProvider
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousObjectSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
@@ -42,7 +41,7 @@ internal class FirAnonymousObjectImpl(
|
||||
override val symbol: FirAnonymousObjectSymbol,
|
||||
) : FirAnonymousObject() {
|
||||
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
|
||||
init {
|
||||
symbol.bind(this)
|
||||
@@ -53,7 +52,7 @@ internal class FirAnonymousObjectImpl(
|
||||
superTypeRefs.forEach { it.accept(visitor, data) }
|
||||
declarations.forEach { it.accept(visitor, data) }
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
controlFlowGraphReference.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
typeRef.accept(visitor, data)
|
||||
}
|
||||
|
||||
@@ -62,7 +61,7 @@ internal class FirAnonymousObjectImpl(
|
||||
transformSuperTypeRefs(transformer, data)
|
||||
transformDeclarations(transformer, data)
|
||||
transformAnnotations(transformer, data)
|
||||
transformControlFlowGraphReference(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transformSingle(transformer, data)
|
||||
typeRef = typeRef.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -87,11 +86,6 @@ internal class FirAnonymousObjectImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirAnonymousObjectImpl {
|
||||
controlFlowGraphReference = controlFlowGraphReference.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun replaceResolvePhase(newResolvePhase: FirResolvePhase) {
|
||||
resolvePhase = newResolvePhase
|
||||
}
|
||||
@@ -101,6 +95,10 @@ internal class FirAnonymousObjectImpl(
|
||||
superTypeRefs.addAll(newSuperTypeRefs)
|
||||
}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
controlFlowGraphReference = newControlFlowGraphReference
|
||||
}
|
||||
|
||||
override fun replaceTypeRef(newTypeRef: FirTypeRef) {
|
||||
typeRef = newTypeRef
|
||||
}
|
||||
|
||||
+7
-9
@@ -18,7 +18,6 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
@@ -46,7 +45,7 @@ internal class FirConstructorImpl(
|
||||
override var body: FirBlock?,
|
||||
) : FirConstructor() {
|
||||
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
override val isPrimary: Boolean get() = false
|
||||
|
||||
init {
|
||||
@@ -57,7 +56,7 @@ internal class FirConstructorImpl(
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
controlFlowGraphReference.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
@@ -69,7 +68,7 @@ internal class FirConstructorImpl(
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformControlFlowGraphReference(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transformSingle(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformAnnotations(transformer, data)
|
||||
@@ -93,11 +92,6 @@ internal class FirConstructorImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
|
||||
controlFlowGraphReference = controlFlowGraphReference.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
@@ -135,6 +129,10 @@ internal class FirConstructorImpl(
|
||||
receiverTypeRef = newReceiverTypeRef
|
||||
}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
controlFlowGraphReference = newControlFlowGraphReference
|
||||
}
|
||||
|
||||
override fun replaceValueParameters(newValueParameters: List<FirValueParameter>) {
|
||||
valueParameters.clear()
|
||||
valueParameters.addAll(newValueParameters)
|
||||
|
||||
+7
-9
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
@@ -50,7 +49,7 @@ internal class FirDefaultSetterValueParameter(
|
||||
) : FirValueParameter() {
|
||||
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override val name: Name = Name.identifier("value")
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
|
||||
init {
|
||||
symbol.bind(this)
|
||||
@@ -65,7 +64,7 @@ internal class FirDefaultSetterValueParameter(
|
||||
getter?.accept(visitor, data)
|
||||
setter?.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
controlFlowGraphReference.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
defaultValue?.accept(visitor, data)
|
||||
}
|
||||
|
||||
@@ -76,7 +75,6 @@ internal class FirDefaultSetterValueParameter(
|
||||
transformDelegate(transformer, data)
|
||||
transformGetter(transformer, data)
|
||||
transformSetter(transformer, data)
|
||||
transformControlFlowGraphReference(transformer, data)
|
||||
transformOtherChildren(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -116,13 +114,9 @@ internal class FirDefaultSetterValueParameter(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
|
||||
controlFlowGraphReference = controlFlowGraphReference.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
|
||||
transformAnnotations(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transformSingle(transformer, data)
|
||||
defaultValue = defaultValue?.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -138,4 +132,8 @@ internal class FirDefaultSetterValueParameter(
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
|
||||
receiverTypeRef = newReceiverTypeRef
|
||||
}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
controlFlowGraphReference = newControlFlowGraphReference
|
||||
}
|
||||
}
|
||||
|
||||
+7
-9
@@ -17,7 +17,6 @@ import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirErrorFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirErrorTypeRefImpl
|
||||
@@ -42,7 +41,7 @@ internal class FirErrorFunctionImpl(
|
||||
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, diagnostic)
|
||||
override val receiverTypeRef: FirTypeRef? get() = null
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
override val body: FirBlock? get() = null
|
||||
|
||||
init {
|
||||
@@ -52,7 +51,7 @@ internal class FirErrorFunctionImpl(
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
returnTypeRef.accept(visitor, data)
|
||||
controlFlowGraphReference.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
}
|
||||
@@ -60,7 +59,7 @@ internal class FirErrorFunctionImpl(
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
|
||||
transformAnnotations(transformer, data)
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformControlFlowGraphReference(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transformSingle(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
return this
|
||||
@@ -80,11 +79,6 @@ internal class FirErrorFunctionImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
|
||||
controlFlowGraphReference = controlFlowGraphReference.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
@@ -109,6 +103,10 @@ internal class FirErrorFunctionImpl(
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
controlFlowGraphReference = newControlFlowGraphReference
|
||||
}
|
||||
|
||||
override fun replaceValueParameters(newValueParameters: List<FirValueParameter>) {
|
||||
valueParameters.clear()
|
||||
valueParameters.addAll(newValueParameters)
|
||||
|
||||
+7
-9
@@ -18,7 +18,6 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
@@ -46,7 +45,7 @@ internal class FirPrimaryConstructor(
|
||||
override var body: FirBlock?,
|
||||
) : FirConstructor() {
|
||||
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
override val isPrimary: Boolean get() = true
|
||||
|
||||
init {
|
||||
@@ -57,7 +56,7 @@ internal class FirPrimaryConstructor(
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
controlFlowGraphReference.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
@@ -69,7 +68,7 @@ internal class FirPrimaryConstructor(
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformControlFlowGraphReference(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transformSingle(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformAnnotations(transformer, data)
|
||||
@@ -93,11 +92,6 @@ internal class FirPrimaryConstructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
|
||||
controlFlowGraphReference = controlFlowGraphReference.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
@@ -135,6 +129,10 @@ internal class FirPrimaryConstructor(
|
||||
receiverTypeRef = newReceiverTypeRef
|
||||
}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
controlFlowGraphReference = newControlFlowGraphReference
|
||||
}
|
||||
|
||||
override fun replaceValueParameters(newValueParameters: List<FirValueParameter>) {
|
||||
valueParameters.clear()
|
||||
valueParameters.addAll(newValueParameters)
|
||||
|
||||
+7
-9
@@ -20,7 +20,6 @@ import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertyAccessorSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
@@ -47,7 +46,7 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
|
||||
) : FirPropertyAccessor() {
|
||||
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override val receiverTypeRef: FirTypeRef? get() = null
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
override val isSetter: Boolean get() = !isGetter
|
||||
|
||||
init {
|
||||
@@ -56,7 +55,7 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
controlFlowGraphReference.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
body?.accept(visitor, data)
|
||||
contractDescription.accept(visitor, data)
|
||||
@@ -67,7 +66,7 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformControlFlowGraphReference(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transformSingle(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformBody(transformer, data)
|
||||
transformContractDescription(transformer, data)
|
||||
@@ -86,11 +85,6 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
|
||||
controlFlowGraphReference = controlFlowGraphReference.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
@@ -131,6 +125,10 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
controlFlowGraphReference = newControlFlowGraphReference
|
||||
}
|
||||
|
||||
override fun replaceValueParameters(newValueParameters: List<FirValueParameter>) {
|
||||
valueParameters.clear()
|
||||
valueParameters.addAll(newValueParameters)
|
||||
|
||||
@@ -17,7 +17,6 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirBackingFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
@@ -54,7 +53,7 @@ internal class FirPropertyImpl(
|
||||
) : FirProperty() {
|
||||
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override val isVal: Boolean get() = !isVar
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
override val backingFieldSymbol: FirBackingFieldSymbol = FirBackingFieldSymbol(symbol.callableId)
|
||||
|
||||
init {
|
||||
@@ -72,7 +71,7 @@ internal class FirPropertyImpl(
|
||||
setter?.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
controlFlowGraphReference.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
}
|
||||
|
||||
@@ -84,7 +83,6 @@ internal class FirPropertyImpl(
|
||||
transformGetter(transformer, data)
|
||||
transformSetter(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformControlFlowGraphReference(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformOtherChildren(transformer, data)
|
||||
return this
|
||||
@@ -130,11 +128,6 @@ internal class FirPropertyImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||
controlFlowGraphReference = controlFlowGraphReference.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||
status = status.transformSingle(transformer, data)
|
||||
return this
|
||||
@@ -142,6 +135,7 @@ internal class FirPropertyImpl(
|
||||
|
||||
override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||
transformAnnotations(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -156,4 +150,8 @@ internal class FirPropertyImpl(
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
|
||||
receiverTypeRef = newReceiverTypeRef
|
||||
}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
controlFlowGraphReference = newControlFlowGraphReference
|
||||
}
|
||||
}
|
||||
|
||||
+7
-9
@@ -17,7 +17,6 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.scopes.FirScopeProvider
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
@@ -46,7 +45,7 @@ internal class FirRegularClassImpl(
|
||||
override val superTypeRefs: MutableList<FirTypeRef>,
|
||||
) : FirRegularClass() {
|
||||
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
override val hasLazyNestedClassifiers: Boolean get() = false
|
||||
|
||||
init {
|
||||
@@ -57,7 +56,7 @@ internal class FirRegularClassImpl(
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
controlFlowGraphReference.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
declarations.forEach { it.accept(visitor, data) }
|
||||
superTypeRefs.forEach { it.accept(visitor, data) }
|
||||
}
|
||||
@@ -66,7 +65,7 @@ internal class FirRegularClassImpl(
|
||||
transformAnnotations(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformControlFlowGraphReference(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transformSingle(transformer, data)
|
||||
transformDeclarations(transformer, data)
|
||||
companionObject = declarations.asSequence().filterIsInstance<FirRegularClass>().firstOrNull { it.status.isCompanion }
|
||||
transformSuperTypeRefs(transformer, data)
|
||||
@@ -88,11 +87,6 @@ internal class FirRegularClassImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirRegularClassImpl {
|
||||
controlFlowGraphReference = controlFlowGraphReference.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformDeclarations(transformer: FirTransformer<D>, data: D): FirRegularClassImpl {
|
||||
declarations.transformInplace(transformer, data)
|
||||
return this
|
||||
@@ -112,6 +106,10 @@ internal class FirRegularClassImpl(
|
||||
resolvePhase = newResolvePhase
|
||||
}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
controlFlowGraphReference = newControlFlowGraphReference
|
||||
}
|
||||
|
||||
override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>) {
|
||||
superTypeRefs.clear()
|
||||
superTypeRefs.addAll(newSuperTypeRefs)
|
||||
|
||||
+7
-9
@@ -19,7 +19,6 @@ import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -49,7 +48,7 @@ open class FirSimpleFunctionImpl @FirImplementationDetail constructor(
|
||||
override val typeParameters: MutableList<FirTypeParameter>,
|
||||
) : FirSimpleFunction() {
|
||||
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
|
||||
init {
|
||||
symbol.bind(this)
|
||||
@@ -58,7 +57,7 @@ open class FirSimpleFunctionImpl @FirImplementationDetail constructor(
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
controlFlowGraphReference.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
body?.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
@@ -70,7 +69,7 @@ open class FirSimpleFunctionImpl @FirImplementationDetail constructor(
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformControlFlowGraphReference(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transformSingle(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformBody(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
@@ -90,11 +89,6 @@ open class FirSimpleFunctionImpl @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
|
||||
controlFlowGraphReference = controlFlowGraphReference.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
@@ -137,6 +131,10 @@ open class FirSimpleFunctionImpl @FirImplementationDetail constructor(
|
||||
receiverTypeRef = newReceiverTypeRef
|
||||
}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
controlFlowGraphReference = newControlFlowGraphReference
|
||||
}
|
||||
|
||||
override fun replaceValueParameters(newValueParameters: List<FirValueParameter>) {
|
||||
valueParameters.clear()
|
||||
valueParameters.addAll(newValueParameters)
|
||||
|
||||
+7
-9
@@ -16,7 +16,6 @@ import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
@@ -51,7 +50,7 @@ open class FirValueParameterImpl @FirImplementationDetail constructor(
|
||||
override val isVal: Boolean get() = true
|
||||
override val getter: FirPropertyAccessor? get() = null
|
||||
override val setter: FirPropertyAccessor? get() = null
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
|
||||
init {
|
||||
symbol.bind(this)
|
||||
@@ -61,13 +60,12 @@ open class FirValueParameterImpl @FirImplementationDetail constructor(
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
controlFlowGraphReference.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
defaultValue?.accept(visitor, data)
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformControlFlowGraphReference(transformer, data)
|
||||
transformOtherChildren(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -102,13 +100,9 @@ open class FirValueParameterImpl @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||
controlFlowGraphReference = controlFlowGraphReference.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||
transformAnnotations(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transformSingle(transformer, data)
|
||||
defaultValue = defaultValue?.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -122,4 +116,8 @@ open class FirValueParameterImpl @FirImplementationDetail constructor(
|
||||
}
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
controlFlowGraphReference = newControlFlowGraphReference
|
||||
}
|
||||
}
|
||||
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.fir.references.impl
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
object FirEmptyControlFlowGraphReference : FirControlFlowGraphReference() {
|
||||
override val source: FirSourceElement? get() = null
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirEmptyControlFlowGraphReference {
|
||||
return this
|
||||
}
|
||||
}
|
||||
+5
-6
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAccessorSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirBackingFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
@@ -71,7 +70,7 @@ class FirSyntheticProperty(
|
||||
override val containerSource: DeserializedContainerSource?
|
||||
get() = null
|
||||
|
||||
override val controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference
|
||||
override val controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
|
||||
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
|
||||
@@ -95,10 +94,6 @@ class FirSyntheticProperty(
|
||||
throw AssertionError("Transformation of synthetic property isn't supported")
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirSyntheticProperty {
|
||||
throw AssertionError("Transformation of synthetic property isn't supported")
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirSyntheticProperty {
|
||||
throw AssertionError("Transformation of synthetic property isn't supported")
|
||||
}
|
||||
@@ -142,4 +137,8 @@ class FirSyntheticProperty(
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?) {
|
||||
throw AssertionError("Mutation of synthetic property isn't supported")
|
||||
}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
throw AssertionError("Mutation of synthetic property isn't supported")
|
||||
}
|
||||
}
|
||||
+6
-7
@@ -14,7 +14,6 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirPropertyAccessorImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertyAccessorSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
||||
@@ -67,13 +66,13 @@ class FirSyntheticPropertyAccessor(
|
||||
bind(this@FirSyntheticPropertyAccessor)
|
||||
}
|
||||
|
||||
override val controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference
|
||||
override val controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
|
||||
override val contractDescription: FirContractDescription = FirEmptyContractDescription
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
delegate.accept(visitor, data)
|
||||
controlFlowGraphReference.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
contractDescription.accept(visitor, data)
|
||||
}
|
||||
|
||||
@@ -89,10 +88,6 @@ class FirSyntheticPropertyAccessor(
|
||||
throw AssertionError("Transformation of synthetic property accessor isn't supported")
|
||||
}
|
||||
|
||||
override fun <D> transformControlFlowGraphReference(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
|
||||
throw AssertionError("Transformation of synthetic property accessor isn't supported")
|
||||
}
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
|
||||
throw AssertionError("Transformation of synthetic property accessor isn't supported")
|
||||
}
|
||||
@@ -136,4 +131,8 @@ class FirSyntheticPropertyAccessor(
|
||||
override fun replaceContractDescription(newContractDescription: FirContractDescription) {
|
||||
throw AssertionError("Mutation of synthetic property accessor isn't supported")
|
||||
}
|
||||
|
||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||
throw AssertionError("Mutation of synthetic property accessor isn't supported")
|
||||
}
|
||||
}
|
||||
+1
-3
@@ -197,9 +197,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
||||
|
||||
builder(anonymousFunction) {
|
||||
parents += functionBuilder
|
||||
defaultNull("invocationKind", "label", "body")
|
||||
default("controlFlowGraphReference", "FirEmptyControlFlowGraphReference")
|
||||
useTypes(emptyCfgReferenceType)
|
||||
defaultNull("invocationKind", "label", "body", "controlFlowGraphReference")
|
||||
}
|
||||
|
||||
builder(propertyAccessor) {
|
||||
|
||||
+1
-1
@@ -74,7 +74,7 @@ object FieldSets {
|
||||
|
||||
val status = field("status", declarationStatus)
|
||||
|
||||
val controlFlowGraphReferenceField = field("controlFlowGraphReference", controlFlowGraphReference).withTransform()
|
||||
val controlFlowGraphReferenceField = field("controlFlowGraphReference", controlFlowGraphReference, withReplace = true, nullable = true)
|
||||
|
||||
val visibility = field(visibilityType)
|
||||
|
||||
|
||||
+3
-7
@@ -370,10 +370,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
|
||||
impl(superReference, "FirExplicitSuperReference")
|
||||
|
||||
impl(controlFlowGraphReference, "FirEmptyControlFlowGraphReference") {
|
||||
noSource()
|
||||
kind = Object
|
||||
}
|
||||
noImpl(controlFlowGraphReference)
|
||||
|
||||
impl(resolvedTypeRef) {
|
||||
publicImplementation()
|
||||
@@ -470,10 +467,9 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
private fun configureAllImplementations() {
|
||||
configureFieldInAllImplementations(
|
||||
field = "controlFlowGraphReference",
|
||||
implementationPredicate = { it.type != "FirAnonymousFunctionImpl"}
|
||||
implementationPredicate = { it.type != "FirAnonymousFunctionImpl" }
|
||||
) {
|
||||
default(it, "FirEmptyControlFlowGraphReference")
|
||||
useTypes(emptyCfgReferenceType)
|
||||
defaultNull(it)
|
||||
}
|
||||
|
||||
val implementationWithConfigurableTypeRef = listOf(
|
||||
|
||||
Reference in New Issue
Block a user