From 4f8d0382f77d9feb1c5c006755f48bc2a3ff6839 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 3 Feb 2020 17:24:37 +0300 Subject: [PATCH] Get rid of FirControlFlowGraphOwner --- .../kotlin/fir/FirControlFlowGraphOwner.kt | 23 ------------------- .../fir/declarations/FirAnonymousFunction.kt | 2 +- .../kotlin/fir/declarations/FirConstructor.kt | 2 +- .../fir/declarations/FirErrorFunction.kt | 2 +- .../kotlin/fir/declarations/FirFunction.kt | 7 +++--- .../kotlin/fir/declarations/FirProperty.kt | 7 +++--- .../fir/declarations/FirPropertyAccessor.kt | 2 +- .../fir/declarations/FirSimpleFunction.kt | 2 +- .../impl/FirAnonymousFunctionImpl.kt | 6 ++--- .../declarations/impl/FirConstructorImpl.kt | 2 +- .../declarations/impl/FirErrorFunctionImpl.kt | 6 ++--- .../impl/FirModifiableConstructor.kt | 2 +- .../impl/FirModifiableFunction.kt | 2 +- .../impl/FirPropertyAccessorImpl.kt | 6 ++--- .../fir/declarations/impl/FirPropertyImpl.kt | 2 +- .../impl/FirSimpleFunctionImpl.kt | 6 ++--- .../kotlin/fir/visitors/FirTransformer.kt | 9 -------- .../kotlin/fir/visitors/FirVisitor.kt | 3 --- .../kotlin/fir/visitors/FirVisitorVoid.kt | 9 -------- .../fir/tree/generator/FirTreeBuilder.kt | 5 ++-- .../fir/tree/generator/NodeConfigurator.kt | 6 ++--- 21 files changed, 31 insertions(+), 80 deletions(-) delete mode 100644 compiler/fir/tree/gen/org/jetbrains/kotlin/fir/FirControlFlowGraphOwner.kt diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/FirControlFlowGraphOwner.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/FirControlFlowGraphOwner.kt deleted file mode 100644 index 2b274b1f84e..00000000000 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/FirControlFlowGraphOwner.kt +++ /dev/null @@ -1,23 +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 - -import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference -import org.jetbrains.kotlin.fir.visitors.* - -/* - * This file was generated automatically - * DO NOT MODIFY IT MANUALLY - */ - -interface FirControlFlowGraphOwner : FirElement { - override val source: FirSourceElement? - val controlFlowGraphReference: FirControlFlowGraphReference - - override fun accept(visitor: FirVisitor, data: D): R = visitor.visitControlFlowGraphOwner(this, data) - - fun transformControlFlowGraphReference(transformer: FirTransformer, data: D): FirControlFlowGraphOwner -} diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousFunction.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousFunction.kt index 0aa77716230..5488482ab2d 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousFunction.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousFunction.kt @@ -30,8 +30,8 @@ abstract class FirAnonymousFunction : FirPureAbstractElement(), FirFunction abstract override val returnTypeRef: FirTypeRef abstract override val receiverTypeRef: FirTypeRef? - abstract override val controlFlowGraphReference: FirControlFlowGraphReference abstract override val typeParameters: List + abstract override val controlFlowGraphReference: FirControlFlowGraphReference abstract override val valueParameters: List abstract override val body: FirBlock? abstract override val typeRef: FirTypeRef diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirConstructor.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirConstructor.kt index 516d3b6a036..531315baaea 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirConstructor.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirConstructor.kt @@ -27,8 +27,8 @@ interface FirConstructor : FirFunction, FirCallableMemberDeclara override val resolvePhase: FirResolvePhase override val returnTypeRef: FirTypeRef override val receiverTypeRef: FirTypeRef? - override val controlFlowGraphReference: FirControlFlowGraphReference override val typeParameters: List + override val controlFlowGraphReference: FirControlFlowGraphReference override val valueParameters: List override val status: FirDeclarationStatus override val containerSource: DeserializedContainerSource? diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorFunction.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorFunction.kt index a9dac6214e9..9bc92bde06d 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorFunction.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorFunction.kt @@ -29,8 +29,8 @@ abstract class FirErrorFunction : FirPureAbstractElement(), FirFunction abstract override val returnTypeRef: FirTypeRef abstract override val receiverTypeRef: FirTypeRef? - abstract override val controlFlowGraphReference: FirControlFlowGraphReference abstract override val typeParameters: List + abstract override val controlFlowGraphReference: FirControlFlowGraphReference abstract override val valueParameters: List abstract override val body: FirBlock? abstract override val diagnostic: FirDiagnostic diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFunction.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFunction.kt index 040755e6d97..cb1a62c6555 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFunction.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFunction.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirAnnotationContainer -import org.jetbrains.kotlin.fir.FirControlFlowGraphOwner import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.FirTargetElement @@ -23,15 +22,15 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -interface FirFunction> : FirCallableDeclaration, FirControlFlowGraphOwner, FirTargetElement, FirAnnotationContainer, FirTypeParametersOwner, FirStatement { +interface FirFunction> : FirCallableDeclaration, FirTargetElement, FirAnnotationContainer, FirTypeParametersOwner, FirStatement { override val source: FirSourceElement? override val session: FirSession override val resolvePhase: FirResolvePhase override val annotations: List override val returnTypeRef: FirTypeRef override val receiverTypeRef: FirTypeRef? - override val controlFlowGraphReference: FirControlFlowGraphReference override val typeParameters: List + val controlFlowGraphReference: FirControlFlowGraphReference override val symbol: FirFunctionSymbol val valueParameters: List val body: FirBlock? @@ -42,7 +41,7 @@ interface FirFunction> : FirCallableDeclaration, FirContro override fun transformReceiverTypeRef(transformer: FirTransformer, data: D): FirFunction - override fun transformControlFlowGraphReference(transformer: FirTransformer, data: D): FirFunction + fun transformControlFlowGraphReference(transformer: FirTransformer, data: D): FirFunction fun transformValueParameters(transformer: FirTransformer, data: D): FirFunction } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirProperty.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirProperty.kt index aeeef4dba29..3cb744aeee8 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirProperty.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirProperty.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.declarations -import org.jetbrains.kotlin.fir.FirControlFlowGraphOwner import org.jetbrains.kotlin.fir.FirPureAbstractElement import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement @@ -25,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -abstract class FirProperty : FirPureAbstractElement(), FirVariable, FirControlFlowGraphOwner, FirTypeParametersOwner, FirCallableMemberDeclaration { +abstract class FirProperty : FirPureAbstractElement(), FirVariable, FirTypeParametersOwner, FirCallableMemberDeclaration { abstract override val source: FirSourceElement? abstract override val session: FirSession abstract override val resolvePhase: FirResolvePhase @@ -40,8 +39,8 @@ abstract class FirProperty : FirPureAbstractElement(), FirVariable, abstract override val getter: FirPropertyAccessor? abstract override val setter: FirPropertyAccessor? abstract override val annotations: List - abstract override val controlFlowGraphReference: FirControlFlowGraphReference abstract override val containerSource: DeserializedContainerSource? + abstract val controlFlowGraphReference: FirControlFlowGraphReference abstract override val symbol: FirPropertySymbol abstract val backingFieldSymbol: FirBackingFieldSymbol abstract val isLocal: Boolean @@ -60,7 +59,7 @@ abstract class FirProperty : FirPureAbstractElement(), FirVariable, abstract override fun transformSetter(transformer: FirTransformer, data: D): FirProperty - abstract override fun transformControlFlowGraphReference(transformer: FirTransformer, data: D): FirProperty + abstract fun transformControlFlowGraphReference(transformer: FirTransformer, data: D): FirProperty abstract override fun transformStatus(transformer: FirTransformer, data: D): FirProperty diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirPropertyAccessor.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirPropertyAccessor.kt index 0e5c88133a9..d0a565e23fd 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirPropertyAccessor.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirPropertyAccessor.kt @@ -27,8 +27,8 @@ abstract class FirPropertyAccessor : FirPureAbstractElement(), FirFunction + abstract override val controlFlowGraphReference: FirControlFlowGraphReference abstract override val valueParameters: List abstract override val body: FirBlock? abstract override val contractDescription: FirContractDescription diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSimpleFunction.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSimpleFunction.kt index b935a6012e0..7a8d13acad4 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSimpleFunction.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSimpleFunction.kt @@ -29,8 +29,8 @@ abstract class FirSimpleFunction : FirPureAbstractElement(), FirFunction + abstract override val controlFlowGraphReference: FirControlFlowGraphReference abstract override val valueParameters: List abstract override val body: FirBlock? abstract override val status: FirDeclarationStatus diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt index 667d45bddfe..da878ac86eb 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousFunctionImpl.kt @@ -38,8 +38,8 @@ class FirAnonymousFunctionImpl( ) : FirAnonymousFunction(), FirModifiableFunction, FirAbstractAnnotatedElement { override var resolvePhase: FirResolvePhase = FirResolvePhase.DECLARATIONS override val annotations: MutableList = mutableListOf() - override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override val typeParameters: MutableList = mutableListOf() + override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override val valueParameters: MutableList = mutableListOf() override var body: FirBlock? = null override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) @@ -54,8 +54,8 @@ class FirAnonymousFunctionImpl( annotations.forEach { it.accept(visitor, data) } returnTypeRef.accept(visitor, data) receiverTypeRef?.accept(visitor, data) - controlFlowGraphReference.accept(visitor, data) typeParameters.forEach { it.accept(visitor, data) } + controlFlowGraphReference.accept(visitor, data) valueParameters.forEach { it.accept(visitor, data) } body?.accept(visitor, data) typeRef.accept(visitor, data) @@ -66,8 +66,8 @@ class FirAnonymousFunctionImpl( annotations.transformInplace(transformer, data) transformReturnTypeRef(transformer, data) transformReceiverTypeRef(transformer, data) - transformControlFlowGraphReference(transformer, data) typeParameters.transformInplace(transformer, data) + transformControlFlowGraphReference(transformer, data) transformValueParameters(transformer, data) body = body?.transformSingle(transformer, data) typeRef = typeRef.transformSingle(transformer, data) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt index b9ec6642b66..d9d5f10a36b 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt @@ -37,8 +37,8 @@ open class FirConstructorImpl( override val symbol: FirConstructorSymbol ) : FirConstructor, FirModifiableConstructor(), FirAbstractAnnotatedElement { override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR - override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override val typeParameters: MutableList = mutableListOf() + override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override val valueParameters: MutableList = mutableListOf() override var containerSource: DeserializedContainerSource? = null override val annotations: MutableList = mutableListOf() diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorFunctionImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorFunctionImpl.kt index 222ad8feda6..34785a02b20 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorFunctionImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorFunctionImpl.kt @@ -37,8 +37,8 @@ class FirErrorFunctionImpl( override val annotations: MutableList = mutableListOf() override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, diagnostic) override val receiverTypeRef: FirTypeRef? get() = null - override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override val typeParameters: MutableList = mutableListOf() + override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override val valueParameters: MutableList = mutableListOf() override val body: FirBlock? get() = null @@ -49,16 +49,16 @@ class FirErrorFunctionImpl( override fun acceptChildren(visitor: FirVisitor, data: D) { annotations.forEach { it.accept(visitor, data) } returnTypeRef.accept(visitor, data) - controlFlowGraphReference.accept(visitor, data) typeParameters.forEach { it.accept(visitor, data) } + controlFlowGraphReference.accept(visitor, data) valueParameters.forEach { it.accept(visitor, data) } } override fun transformChildren(transformer: FirTransformer, data: D): FirErrorFunctionImpl { annotations.transformInplace(transformer, data) transformReturnTypeRef(transformer, data) - transformControlFlowGraphReference(transformer, data) typeParameters.transformInplace(transformer, data) + transformControlFlowGraphReference(transformer, data) transformValueParameters(transformer, data) return this } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableConstructor.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableConstructor.kt index 770ac13a33d..a7c286245f4 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableConstructor.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableConstructor.kt @@ -35,8 +35,8 @@ abstract class FirModifiableConstructor : FirPureAbstractElement(), FirConstruct abstract override var resolvePhase: FirResolvePhase abstract override var returnTypeRef: FirTypeRef abstract override var receiverTypeRef: FirTypeRef? - abstract override var controlFlowGraphReference: FirControlFlowGraphReference abstract override val typeParameters: MutableList + abstract override var controlFlowGraphReference: FirControlFlowGraphReference abstract override val valueParameters: MutableList abstract override var status: FirDeclarationStatus abstract override var containerSource: DeserializedContainerSource? diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableFunction.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableFunction.kt index 4af3ea7e495..63074fff816 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableFunction.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableFunction.kt @@ -32,8 +32,8 @@ interface FirModifiableFunction> : FirFunction, FirAbstra override val annotations: MutableList override var returnTypeRef: FirTypeRef override var receiverTypeRef: FirTypeRef? - override var controlFlowGraphReference: FirControlFlowGraphReference override val typeParameters: MutableList + override var controlFlowGraphReference: FirControlFlowGraphReference override val symbol: FirFunctionSymbol override val valueParameters: MutableList override var body: FirBlock? diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyAccessorImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyAccessorImpl.kt index 7d41def4be3..b8aa23e671f 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyAccessorImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyAccessorImpl.kt @@ -39,8 +39,8 @@ open class FirPropertyAccessorImpl( ) : FirPropertyAccessor(), FirModifiableFunction, FirAbstractAnnotatedElement { override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override var receiverTypeRef: FirTypeRef? = null - override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override val typeParameters: MutableList = mutableListOf() + override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override val valueParameters: MutableList = mutableListOf() override var body: FirBlock? = null override var contractDescription: FirContractDescription = FirEmptyContractDescription @@ -54,8 +54,8 @@ open class FirPropertyAccessorImpl( override fun acceptChildren(visitor: FirVisitor, data: D) { returnTypeRef.accept(visitor, data) receiverTypeRef?.accept(visitor, data) - controlFlowGraphReference.accept(visitor, data) typeParameters.forEach { it.accept(visitor, data) } + controlFlowGraphReference.accept(visitor, data) valueParameters.forEach { it.accept(visitor, data) } body?.accept(visitor, data) contractDescription.accept(visitor, data) @@ -66,8 +66,8 @@ open class FirPropertyAccessorImpl( override fun transformChildren(transformer: FirTransformer, data: D): FirPropertyAccessorImpl { transformReturnTypeRef(transformer, data) transformReceiverTypeRef(transformer, data) - transformControlFlowGraphReference(transformer, data) typeParameters.transformInplace(transformer, data) + transformControlFlowGraphReference(transformer, data) transformValueParameters(transformer, data) body = body?.transformSingle(transformer, data) transformContractDescription(transformer, data) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyImpl.kt index 9bc517900c2..c0292df838f 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPropertyImpl.kt @@ -49,8 +49,8 @@ class FirPropertyImpl( override var getter: FirPropertyAccessor? = null override var setter: FirPropertyAccessor? = null override val annotations: MutableList = mutableListOf() - override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override var containerSource: DeserializedContainerSource? = null + override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override val backingFieldSymbol: FirBackingFieldSymbol = FirBackingFieldSymbol(symbol.callableId) override val typeParameters: MutableList = mutableListOf() diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt index 7568caf9a87..7005f75ebb4 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt @@ -40,8 +40,8 @@ open class FirSimpleFunctionImpl( override val symbol: FirFunctionSymbol ) : FirSimpleFunction(), FirModifiableFunction, FirModifiableTypeParametersOwner, FirAbstractAnnotatedElement { override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR - override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override val typeParameters: MutableList = mutableListOf() + override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override val valueParameters: MutableList = mutableListOf() override var body: FirBlock? = null override var containerSource: DeserializedContainerSource? = null @@ -55,8 +55,8 @@ open class FirSimpleFunctionImpl( override fun acceptChildren(visitor: FirVisitor, data: D) { returnTypeRef.accept(visitor, data) receiverTypeRef?.accept(visitor, data) - controlFlowGraphReference.accept(visitor, data) typeParameters.forEach { it.accept(visitor, data) } + controlFlowGraphReference.accept(visitor, data) valueParameters.forEach { it.accept(visitor, data) } body?.accept(visitor, data) status.accept(visitor, data) @@ -67,8 +67,8 @@ open class FirSimpleFunctionImpl( override fun transformChildren(transformer: FirTransformer, data: D): FirSimpleFunctionImpl { transformReturnTypeRef(transformer, data) transformReceiverTypeRef(transformer, data) - transformControlFlowGraphReference(transformer, data) typeParameters.transformInplace(transformer, data) + transformControlFlowGraphReference(transformer, data) transformValueParameters(transformer, data) body = body?.transformSingle(transformer, data) transformStatus(transformer, data) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt index ffbbcff3aee..953f3ab2d41 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt @@ -14,7 +14,6 @@ import org.jetbrains.kotlin.fir.declarations.FirImport import org.jetbrains.kotlin.fir.declarations.FirResolvedImport import org.jetbrains.kotlin.fir.FirSymbolOwner import org.jetbrains.kotlin.fir.expressions.FirResolvable -import org.jetbrains.kotlin.fir.FirControlFlowGraphOwner import org.jetbrains.kotlin.fir.FirTargetElement import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirResolvedDeclarationStatus @@ -161,10 +160,6 @@ abstract class FirTransformer : FirVisitor { - return transformElement(controlFlowGraphOwner, data) - } - open fun transformTargetElement(targetElement: FirTargetElement, data: D): CompositeTransformResult { return transformElement(targetElement, data) } @@ -613,10 +608,6 @@ abstract class FirTransformer : FirVisitor { - return transformControlFlowGraphOwner(controlFlowGraphOwner, data) - } - final override fun visitTargetElement(targetElement: FirTargetElement, data: D): CompositeTransformResult { return transformTargetElement(targetElement, data) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt index 7a21f0bd810..b964ab22fe0 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt @@ -14,7 +14,6 @@ import org.jetbrains.kotlin.fir.declarations.FirImport import org.jetbrains.kotlin.fir.declarations.FirResolvedImport import org.jetbrains.kotlin.fir.FirSymbolOwner import org.jetbrains.kotlin.fir.expressions.FirResolvable -import org.jetbrains.kotlin.fir.FirControlFlowGraphOwner import org.jetbrains.kotlin.fir.FirTargetElement import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirResolvedDeclarationStatus @@ -143,8 +142,6 @@ abstract class FirVisitor { open fun visitResolvable(resolvable: FirResolvable, data: D): R = visitElement(resolvable, data) - open fun visitControlFlowGraphOwner(controlFlowGraphOwner: FirControlFlowGraphOwner, data: D): R = visitElement(controlFlowGraphOwner, data) - open fun visitTargetElement(targetElement: FirTargetElement, data: D): R = visitElement(targetElement, data) open fun visitDeclarationStatus(declarationStatus: FirDeclarationStatus, data: D): R = visitElement(declarationStatus, data) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt index 038f737a61f..ff1663c3267 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt @@ -14,7 +14,6 @@ import org.jetbrains.kotlin.fir.declarations.FirImport import org.jetbrains.kotlin.fir.declarations.FirResolvedImport import org.jetbrains.kotlin.fir.FirSymbolOwner import org.jetbrains.kotlin.fir.expressions.FirResolvable -import org.jetbrains.kotlin.fir.FirControlFlowGraphOwner import org.jetbrains.kotlin.fir.FirTargetElement import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirResolvedDeclarationStatus @@ -159,10 +158,6 @@ abstract class FirVisitorVoid : FirVisitor() { visitElement(resolvable) } - open fun visitControlFlowGraphOwner(controlFlowGraphOwner: FirControlFlowGraphOwner) { - visitElement(controlFlowGraphOwner) - } - open fun visitTargetElement(targetElement: FirTargetElement) { visitElement(targetElement) } @@ -611,10 +606,6 @@ abstract class FirVisitorVoid : FirVisitor() { visitResolvable(resolvable) } - final override fun visitControlFlowGraphOwner(controlFlowGraphOwner: FirControlFlowGraphOwner, data: Nothing?) { - visitControlFlowGraphOwner(controlFlowGraphOwner) - } - final override fun visitTargetElement(targetElement: FirTargetElement, data: Nothing?) { visitTargetElement(targetElement) } diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt index 6dc618e4130..b9f0d4ecdd5 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt @@ -18,7 +18,6 @@ object FirTreeBuilder : AbstractFirTreeBuilder() { val symbolOwner = element("SymbolOwner", Other) val resolvable = element("Resolvable", Expression) - val controlFlowGraphOwner = element("ControlFlowGraphOwner", Other) val targetElement = element("TargetElement", Other) val declarationStatus = element("DeclarationStatus", Declaration) @@ -37,7 +36,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() { val variable = element("Variable", Declaration, callableDeclaration, declaration, statement) val valueParameter = element("ValueParameter", Declaration, variable) - val property = element("Property", Declaration, variable, controlFlowGraphOwner, typeParametersOwner, callableMemberDeclaration) + val property = element("Property", Declaration, variable, typeParametersOwner, callableMemberDeclaration) val field = element("Field", Declaration, variable, callableMemberDeclaration) val enumEntry = element("EnumEntry", Declaration, variable, callableMemberDeclaration) @@ -47,7 +46,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() { val sealedClass = element("SealedClass", Declaration, regularClass) val typeAlias = element("TypeAlias", Declaration, classLikeDeclaration, memberDeclaration, typeParametersOwner) - val function = element("Function", Declaration, callableDeclaration, controlFlowGraphOwner, targetElement, annotationContainer, typeParametersOwner, statement) + val function = element("Function", Declaration, callableDeclaration, targetElement, annotationContainer, typeParametersOwner, statement) val contractDescriptionOwner = element("ContractDescriptionOwner", Declaration) val simpleFunction = element("SimpleFunction", Declaration, function, callableMemberDeclaration, contractDescriptionOwner) diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt index dda9ae784f0..55f88d6001a 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt @@ -47,10 +47,6 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild +symbolWithPackage("fir.symbols", "AbstractFirBasedSymbol", "E") } - controlFlowGraphOwner.configure { - +controlFlowGraphReferenceField.withTransform() - } - typeParametersOwner.configure { +typeParameters } @@ -88,6 +84,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild function.configure { withArg("F", "FirFunction") parentArg(callableDeclaration, "F", "F") + +controlFlowGraphReferenceField.withTransform() +symbol("FirFunctionSymbol", "F") +valueParameters.withTransform() +body(nullable = true) @@ -276,6 +273,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild property.configure { parentArg(variable, "F", property) parentArg(callableMemberDeclaration, "F", property) + +controlFlowGraphReferenceField.withTransform() +symbol("FirPropertySymbol") +field("backingFieldSymbol", backingFieldSymbolType) +booleanField("isLocal")