[FIR] Make FirClass an inheritor of FirControlFlowGraphOwner
Both inheritors of FirClass (FirRegularClass and FirAnonymousObject) already were CFG owners
This commit is contained in:
committed by
Space Team
parent
a9c1091140
commit
cbfa155333
+1
-1
@@ -377,7 +377,7 @@ class ControlFlowGraphBuilder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun enterClass(klass: FirClass, buildGraph: Boolean): Pair<CFGNode<*>?, ClassEnterNode?> {
|
fun enterClass(klass: FirClass, buildGraph: Boolean): Pair<CFGNode<*>?, ClassEnterNode?> {
|
||||||
if (!buildGraph || klass !is FirControlFlowGraphOwner) {
|
if (!buildGraph) {
|
||||||
graphs.push(ControlFlowGraph(null, "<discarded class graph>", ControlFlowGraph.Kind.Class))
|
graphs.push(ControlFlowGraph(null, "<discarded class graph>", ControlFlowGraph.Kind.Class))
|
||||||
return null to null
|
return null to null
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
* DO NOT MODIFY IT MANUALLY
|
* DO NOT MODIFY IT MANUALLY
|
||||||
*/
|
*/
|
||||||
|
|
||||||
abstract class FirAnonymousObject : FirClass(), FirControlFlowGraphOwner {
|
abstract class FirAnonymousObject : FirClass() {
|
||||||
abstract override val source: KtSourceElement?
|
abstract override val source: KtSourceElement?
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val moduleData: FirModuleData
|
abstract override val moduleData: FirModuleData
|
||||||
@@ -30,12 +30,12 @@ abstract class FirAnonymousObject : FirClass(), FirControlFlowGraphOwner {
|
|||||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val deprecationsProvider: DeprecationsProvider
|
abstract override val deprecationsProvider: DeprecationsProvider
|
||||||
|
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||||
abstract override val classKind: ClassKind
|
abstract override val classKind: ClassKind
|
||||||
abstract override val superTypeRefs: List<FirTypeRef>
|
abstract override val superTypeRefs: List<FirTypeRef>
|
||||||
abstract override val declarations: List<FirDeclaration>
|
abstract override val declarations: List<FirDeclaration>
|
||||||
abstract override val annotations: List<FirAnnotation>
|
abstract override val annotations: List<FirAnnotation>
|
||||||
abstract override val scopeProvider: FirScopeProvider
|
abstract override val scopeProvider: FirScopeProvider
|
||||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
|
||||||
abstract override val symbol: FirAnonymousObjectSymbol
|
abstract override val symbol: FirAnonymousObjectSymbol
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitAnonymousObject(this, data)
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitAnonymousObject(this, data)
|
||||||
@@ -50,12 +50,12 @@ abstract class FirAnonymousObject : FirClass(), FirControlFlowGraphOwner {
|
|||||||
|
|
||||||
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
|
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
|
||||||
|
|
||||||
|
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||||
|
|
||||||
abstract override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
|
abstract override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
|
||||||
|
|
||||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||||
|
|
||||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
|
||||||
|
|
||||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirAnonymousObject
|
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirAnonymousObject
|
||||||
|
|
||||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirAnonymousObject
|
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirAnonymousObject
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirElement
|
|||||||
import org.jetbrains.kotlin.fir.FirModuleData
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
||||||
|
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirScopeProvider
|
import org.jetbrains.kotlin.fir.scopes.FirScopeProvider
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||||
@@ -21,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
* DO NOT MODIFY IT MANUALLY
|
* DO NOT MODIFY IT MANUALLY
|
||||||
*/
|
*/
|
||||||
|
|
||||||
sealed class FirClass : FirClassLikeDeclaration(), FirStatement, FirTypeParameterRefsOwner {
|
sealed class FirClass : FirClassLikeDeclaration(), FirStatement, FirTypeParameterRefsOwner, FirControlFlowGraphOwner {
|
||||||
abstract override val source: KtSourceElement?
|
abstract override val source: KtSourceElement?
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val moduleData: FirModuleData
|
abstract override val moduleData: FirModuleData
|
||||||
@@ -30,6 +31,7 @@ sealed class FirClass : FirClassLikeDeclaration(), FirStatement, FirTypeParamete
|
|||||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val deprecationsProvider: DeprecationsProvider
|
abstract override val deprecationsProvider: DeprecationsProvider
|
||||||
|
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||||
abstract override val symbol: FirClassSymbol<out FirClass>
|
abstract override val symbol: FirClassSymbol<out FirClass>
|
||||||
abstract val classKind: ClassKind
|
abstract val classKind: ClassKind
|
||||||
abstract val superTypeRefs: List<FirTypeRef>
|
abstract val superTypeRefs: List<FirTypeRef>
|
||||||
@@ -49,6 +51,8 @@ sealed class FirClass : FirClassLikeDeclaration(), FirStatement, FirTypeParamete
|
|||||||
|
|
||||||
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
|
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
|
||||||
|
|
||||||
|
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||||
|
|
||||||
abstract fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
|
abstract fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
|
||||||
|
|
||||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
* DO NOT MODIFY IT MANUALLY
|
* DO NOT MODIFY IT MANUALLY
|
||||||
*/
|
*/
|
||||||
|
|
||||||
abstract class FirRegularClass : FirClass(), FirControlFlowGraphOwner {
|
abstract class FirRegularClass : FirClass() {
|
||||||
abstract override val source: KtSourceElement?
|
abstract override val source: KtSourceElement?
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val moduleData: FirModuleData
|
abstract override val moduleData: FirModuleData
|
||||||
@@ -31,11 +31,11 @@ abstract class FirRegularClass : FirClass(), FirControlFlowGraphOwner {
|
|||||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||||
abstract override val status: FirDeclarationStatus
|
abstract override val status: FirDeclarationStatus
|
||||||
abstract override val deprecationsProvider: DeprecationsProvider
|
abstract override val deprecationsProvider: DeprecationsProvider
|
||||||
|
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||||
abstract override val classKind: ClassKind
|
abstract override val classKind: ClassKind
|
||||||
abstract override val declarations: List<FirDeclaration>
|
abstract override val declarations: List<FirDeclaration>
|
||||||
abstract override val annotations: List<FirAnnotation>
|
abstract override val annotations: List<FirAnnotation>
|
||||||
abstract override val scopeProvider: FirScopeProvider
|
abstract override val scopeProvider: FirScopeProvider
|
||||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
|
||||||
abstract val name: Name
|
abstract val name: Name
|
||||||
abstract override val symbol: FirRegularClassSymbol
|
abstract override val symbol: FirRegularClassSymbol
|
||||||
abstract val hasLazyNestedClassifiers: Boolean
|
abstract val hasLazyNestedClassifiers: Boolean
|
||||||
@@ -55,10 +55,10 @@ abstract class FirRegularClass : FirClass(), FirControlFlowGraphOwner {
|
|||||||
|
|
||||||
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
|
abstract override fun replaceDeprecationsProvider(newDeprecationsProvider: DeprecationsProvider)
|
||||||
|
|
||||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
|
||||||
|
|
||||||
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
abstract override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?)
|
||||||
|
|
||||||
|
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||||
|
|
||||||
abstract fun replaceCompanionObjectSymbol(newCompanionObjectSymbol: FirRegularClassSymbol?)
|
abstract fun replaceCompanionObjectSymbol(newCompanionObjectSymbol: FirRegularClassSymbol?)
|
||||||
|
|
||||||
abstract override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
|
abstract override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
|
||||||
|
|||||||
+6
-6
@@ -58,19 +58,19 @@ internal class FirAnonymousObjectImpl(
|
|||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
typeParameters.forEach { it.accept(visitor, data) }
|
typeParameters.forEach { it.accept(visitor, data) }
|
||||||
status.accept(visitor, data)
|
status.accept(visitor, data)
|
||||||
|
controlFlowGraphReference?.accept(visitor, data)
|
||||||
superTypeRefs.forEach { it.accept(visitor, data) }
|
superTypeRefs.forEach { it.accept(visitor, data) }
|
||||||
declarations.forEach { it.accept(visitor, data) }
|
declarations.forEach { it.accept(visitor, data) }
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
controlFlowGraphReference?.accept(visitor, data)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirAnonymousObjectImpl {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirAnonymousObjectImpl {
|
||||||
transformTypeParameters(transformer, data)
|
transformTypeParameters(transformer, data)
|
||||||
transformStatus(transformer, data)
|
transformStatus(transformer, data)
|
||||||
|
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
||||||
transformSuperTypeRefs(transformer, data)
|
transformSuperTypeRefs(transformer, data)
|
||||||
transformDeclarations(transformer, data)
|
transformDeclarations(transformer, data)
|
||||||
transformAnnotations(transformer, data)
|
transformAnnotations(transformer, data)
|
||||||
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,6 +111,10 @@ internal class FirAnonymousObjectImpl(
|
|||||||
deprecationsProvider = newDeprecationsProvider
|
deprecationsProvider = newDeprecationsProvider
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||||
|
controlFlowGraphReference = newControlFlowGraphReference
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>) {
|
override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>) {
|
||||||
superTypeRefs.clear()
|
superTypeRefs.clear()
|
||||||
superTypeRefs.addAll(newSuperTypeRefs)
|
superTypeRefs.addAll(newSuperTypeRefs)
|
||||||
@@ -119,8 +123,4 @@ internal class FirAnonymousObjectImpl(
|
|||||||
override fun replaceAnnotations(newAnnotations: List<FirAnnotation>) {
|
override fun replaceAnnotations(newAnnotations: List<FirAnnotation>) {
|
||||||
annotations = newAnnotations.toMutableOrEmpty()
|
annotations = newAnnotations.toMutableOrEmpty()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
|
||||||
controlFlowGraphReference = newControlFlowGraphReference
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-6
@@ -64,9 +64,9 @@ internal class FirRegularClassImpl(
|
|||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
typeParameters.forEach { it.accept(visitor, data) }
|
typeParameters.forEach { it.accept(visitor, data) }
|
||||||
status.accept(visitor, data)
|
status.accept(visitor, data)
|
||||||
|
controlFlowGraphReference?.accept(visitor, data)
|
||||||
declarations.forEach { it.accept(visitor, data) }
|
declarations.forEach { it.accept(visitor, data) }
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
controlFlowGraphReference?.accept(visitor, data)
|
|
||||||
superTypeRefs.forEach { it.accept(visitor, data) }
|
superTypeRefs.forEach { it.accept(visitor, data) }
|
||||||
contextReceivers.forEach { it.accept(visitor, data) }
|
contextReceivers.forEach { it.accept(visitor, data) }
|
||||||
}
|
}
|
||||||
@@ -74,9 +74,9 @@ internal class FirRegularClassImpl(
|
|||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirRegularClassImpl {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirRegularClassImpl {
|
||||||
transformTypeParameters(transformer, data)
|
transformTypeParameters(transformer, data)
|
||||||
transformStatus(transformer, data)
|
transformStatus(transformer, data)
|
||||||
|
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
||||||
transformDeclarations(transformer, data)
|
transformDeclarations(transformer, data)
|
||||||
transformAnnotations(transformer, data)
|
transformAnnotations(transformer, data)
|
||||||
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
|
||||||
transformSuperTypeRefs(transformer, data)
|
transformSuperTypeRefs(transformer, data)
|
||||||
contextReceivers.transformInplace(transformer, data)
|
contextReceivers.transformInplace(transformer, data)
|
||||||
return this
|
return this
|
||||||
@@ -119,14 +119,14 @@ internal class FirRegularClassImpl(
|
|||||||
deprecationsProvider = newDeprecationsProvider
|
deprecationsProvider = newDeprecationsProvider
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun replaceAnnotations(newAnnotations: List<FirAnnotation>) {
|
|
||||||
annotations = newAnnotations.toMutableOrEmpty()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
override fun replaceControlFlowGraphReference(newControlFlowGraphReference: FirControlFlowGraphReference?) {
|
||||||
controlFlowGraphReference = newControlFlowGraphReference
|
controlFlowGraphReference = newControlFlowGraphReference
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceAnnotations(newAnnotations: List<FirAnnotation>) {
|
||||||
|
annotations = newAnnotations.toMutableOrEmpty()
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceCompanionObjectSymbol(newCompanionObjectSymbol: FirRegularClassSymbol?) {
|
override fun replaceCompanionObjectSymbol(newCompanionObjectSymbol: FirRegularClassSymbol?) {
|
||||||
companionObjectSymbol = newCompanionObjectSymbol
|
companionObjectSymbol = newCompanionObjectSymbol
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -178,12 +178,16 @@ abstract class FirDefaultVisitor<out R, in D> : FirVisitor<R, D>() {
|
|||||||
|
|
||||||
override fun visitEnumEntry(enumEntry: FirEnumEntry, data: D): R = visitVariable(enumEntry, data)
|
override fun visitEnumEntry(enumEntry: FirEnumEntry, data: D): R = visitVariable(enumEntry, data)
|
||||||
|
|
||||||
|
override fun visitRegularClass(regularClass: FirRegularClass, data: D): R = visitClass(regularClass, data)
|
||||||
|
|
||||||
override fun visitFile(file: FirFile, data: D): R = visitDeclaration(file, data)
|
override fun visitFile(file: FirFile, data: D): R = visitDeclaration(file, data)
|
||||||
|
|
||||||
override fun visitScript(script: FirScript, data: D): R = visitDeclaration(script, data)
|
override fun visitScript(script: FirScript, data: D): R = visitDeclaration(script, data)
|
||||||
|
|
||||||
override fun visitAnonymousFunctionExpression(anonymousFunctionExpression: FirAnonymousFunctionExpression, data: D): R = visitExpression(anonymousFunctionExpression, data)
|
override fun visitAnonymousFunctionExpression(anonymousFunctionExpression: FirAnonymousFunctionExpression, data: D): R = visitExpression(anonymousFunctionExpression, data)
|
||||||
|
|
||||||
|
override fun visitAnonymousObject(anonymousObject: FirAnonymousObject, data: D): R = visitClass(anonymousObject, data)
|
||||||
|
|
||||||
override fun visitAnonymousObjectExpression(anonymousObjectExpression: FirAnonymousObjectExpression, data: D): R = visitExpression(anonymousObjectExpression, data)
|
override fun visitAnonymousObjectExpression(anonymousObjectExpression: FirAnonymousObjectExpression, data: D): R = visitExpression(anonymousObjectExpression, data)
|
||||||
|
|
||||||
override fun visitResolvedImport(resolvedImport: FirResolvedImport, data: D): R = visitImport(resolvedImport, data)
|
override fun visitResolvedImport(resolvedImport: FirResolvedImport, data: D): R = visitImport(resolvedImport, data)
|
||||||
|
|||||||
@@ -178,12 +178,16 @@ abstract class FirDefaultVisitorVoid : FirVisitorVoid() {
|
|||||||
|
|
||||||
override fun visitEnumEntry(enumEntry: FirEnumEntry) = visitVariable(enumEntry)
|
override fun visitEnumEntry(enumEntry: FirEnumEntry) = visitVariable(enumEntry)
|
||||||
|
|
||||||
|
override fun visitRegularClass(regularClass: FirRegularClass) = visitClass(regularClass)
|
||||||
|
|
||||||
override fun visitFile(file: FirFile) = visitDeclaration(file)
|
override fun visitFile(file: FirFile) = visitDeclaration(file)
|
||||||
|
|
||||||
override fun visitScript(script: FirScript) = visitDeclaration(script)
|
override fun visitScript(script: FirScript) = visitDeclaration(script)
|
||||||
|
|
||||||
override fun visitAnonymousFunctionExpression(anonymousFunctionExpression: FirAnonymousFunctionExpression) = visitExpression(anonymousFunctionExpression)
|
override fun visitAnonymousFunctionExpression(anonymousFunctionExpression: FirAnonymousFunctionExpression) = visitExpression(anonymousFunctionExpression)
|
||||||
|
|
||||||
|
override fun visitAnonymousObject(anonymousObject: FirAnonymousObject) = visitClass(anonymousObject)
|
||||||
|
|
||||||
override fun visitAnonymousObjectExpression(anonymousObjectExpression: FirAnonymousObjectExpression) = visitExpression(anonymousObjectExpression)
|
override fun visitAnonymousObjectExpression(anonymousObjectExpression: FirAnonymousObjectExpression) = visitExpression(anonymousObjectExpression)
|
||||||
|
|
||||||
override fun visitResolvedImport(resolvedImport: FirResolvedImport) = visitImport(resolvedImport)
|
override fun visitResolvedImport(resolvedImport: FirResolvedImport) = visitImport(resolvedImport)
|
||||||
|
|||||||
+1
-1
@@ -34,7 +34,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
|||||||
val classBuilder by builder {
|
val classBuilder by builder {
|
||||||
parents += declarationBuilder
|
parents += declarationBuilder
|
||||||
parents += annotationContainerBuilder
|
parents += annotationContainerBuilder
|
||||||
fields from klass without listOf("symbol", "resolvePhase")
|
fields from klass without listOf("symbol", "resolvePhase", "controlFlowGraphReference")
|
||||||
}
|
}
|
||||||
|
|
||||||
builder(regularClass) {
|
builder(regularClass) {
|
||||||
|
|||||||
+3
-3
@@ -51,8 +51,8 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
|||||||
val functionTypeParameter by element(Other, baseFirElement)
|
val functionTypeParameter by element(Other, baseFirElement)
|
||||||
|
|
||||||
val classLikeDeclaration by sealedElement(Declaration, memberDeclaration, statement)
|
val classLikeDeclaration by sealedElement(Declaration, memberDeclaration, statement)
|
||||||
val klass by sealedElement("Class", Declaration, classLikeDeclaration, statement, typeParameterRefsOwner)
|
val klass by sealedElement("Class", Declaration, classLikeDeclaration, statement, typeParameterRefsOwner, controlFlowGraphOwner)
|
||||||
val regularClass by element(Declaration, klass, controlFlowGraphOwner)
|
val regularClass by element(Declaration, klass)
|
||||||
val typeAlias by element(Declaration, classLikeDeclaration, typeParametersOwner)
|
val typeAlias by element(Declaration, classLikeDeclaration, typeParametersOwner)
|
||||||
|
|
||||||
val function by sealedElement(Declaration, callableDeclaration, targetElement, controlFlowGraphOwner, statement)
|
val function by sealedElement(Declaration, callableDeclaration, targetElement, controlFlowGraphOwner, statement)
|
||||||
@@ -69,7 +69,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
|||||||
val anonymousFunction by element(Declaration, function, typeParametersOwner, contractDescriptionOwner)
|
val anonymousFunction by element(Declaration, function, typeParametersOwner, contractDescriptionOwner)
|
||||||
val anonymousFunctionExpression by element(Expression, expression)
|
val anonymousFunctionExpression by element(Expression, expression)
|
||||||
|
|
||||||
val anonymousObject by element(Declaration, klass, controlFlowGraphOwner)
|
val anonymousObject by element(Declaration, klass)
|
||||||
val anonymousObjectExpression by element(Expression, expression)
|
val anonymousObjectExpression by element(Expression, expression)
|
||||||
|
|
||||||
val diagnosticHolder by element(Diagnostics)
|
val diagnosticHolder by element(Diagnostics)
|
||||||
|
|||||||
Reference in New Issue
Block a user