From 74353d8bc9f32285e3886540ac75e4add094df20 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Tue, 12 May 2020 11:39:37 +0300 Subject: [PATCH] [FIR] Introduce `FirAnnotatedDeclaration` --- .../declarations/FirAnnotatedDeclaration.kt | 32 +++++++++++++++++++ .../kotlin/fir/declarations/FirClass.kt | 3 +- .../declarations/FirClassLikeDeclaration.kt | 2 +- .../kotlin/fir/declarations/FirFile.kt | 5 ++- .../kotlin/fir/declarations/FirFunction.kt | 3 +- .../fir/declarations/FirMemberDeclaration.kt | 3 +- .../fir/declarations/FirTypeParameter.kt | 3 +- .../fir/declarations/FirTypedDeclaration.kt | 3 +- .../kotlin/fir/declarations/FirVariable.kt | 2 +- .../declarations/builder/FirFileBuilder.kt | 4 +-- .../fir/declarations/impl/FirFileImpl.kt | 2 +- .../kotlin/fir/expressions/FirLoop.kt | 3 +- .../kotlin/fir/visitors/FirTransformer.kt | 9 ++++++ .../kotlin/fir/visitors/FirVisitor.kt | 3 ++ .../kotlin/fir/visitors/FirVisitorVoid.kt | 9 ++++++ .../fir/tree/generator/FirTreeBuilder.kt | 19 +++++------ 16 files changed, 76 insertions(+), 29 deletions(-) create mode 100644 compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnnotatedDeclaration.kt diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnnotatedDeclaration.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnnotatedDeclaration.kt new file mode 100644 index 00000000000..054294dbc55 --- /dev/null +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnnotatedDeclaration.kt @@ -0,0 +1,32 @@ +/* + * 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.declarations + +import org.jetbrains.kotlin.fir.FirAnnotationContainer +import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirSourceElement +import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall +import org.jetbrains.kotlin.fir.visitors.* + +/* + * This file was generated automatically + * DO NOT MODIFY IT MANUALLY + */ + +interface FirAnnotatedDeclaration : FirDeclaration, FirAnnotationContainer { + override val source: FirSourceElement? + override val session: FirSession + override val resolvePhase: FirResolvePhase + override val origin: FirDeclarationOrigin + override val attributes: FirDeclarationAttributes + override val annotations: List + + override fun accept(visitor: FirVisitor, data: D): R = visitor.visitAnnotatedDeclaration(this, data) + + override fun replaceResolvePhase(newResolvePhase: FirResolvePhase) + + override fun transformAnnotations(transformer: FirTransformer, data: D): FirAnnotatedDeclaration +} diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirClass.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirClass.kt index 7ffafb773a2..ac7384be0e3 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirClass.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirClass.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.descriptors.ClassKind -import org.jetbrains.kotlin.fir.FirAnnotationContainer import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall @@ -21,7 +20,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -interface FirClass> : FirClassLikeDeclaration, FirStatement, FirAnnotationContainer, FirTypeParameterRefsOwner { +interface FirClass> : FirClassLikeDeclaration, FirStatement, FirTypeParameterRefsOwner { override val source: FirSourceElement? override val session: FirSession override val resolvePhase: FirResolvePhase diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirClassLikeDeclaration.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirClassLikeDeclaration.kt index 1b6513b56ec..d2a061653bb 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirClassLikeDeclaration.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirClassLikeDeclaration.kt @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -interface FirClassLikeDeclaration> : FirDeclaration, FirStatement, FirSymbolOwner { +interface FirClassLikeDeclaration> : FirAnnotatedDeclaration, FirStatement, FirSymbolOwner { override val source: FirSourceElement? override val session: FirSession override val resolvePhase: FirResolvePhase diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFile.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFile.kt index c4c46efcaf1..7d142ac5757 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFile.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirFile.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.declarations -import org.jetbrains.kotlin.fir.FirAnnotationContainer import org.jetbrains.kotlin.fir.FirPureAbstractElement import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement @@ -18,13 +17,13 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -abstract class FirFile : FirPureAbstractElement(), FirAnnotationContainer, FirDeclaration { +abstract class FirFile : FirPureAbstractElement(), FirAnnotatedDeclaration { abstract override val source: FirSourceElement? - abstract override val annotations: List abstract override val session: FirSession abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes + abstract override val annotations: List abstract val imports: List abstract val declarations: List abstract val name: String 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 9f485fe6afd..11c1bdf10f6 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 @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.declarations -import org.jetbrains.kotlin.fir.FirAnnotationContainer import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.FirTargetElement @@ -22,7 +21,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -interface FirFunction> : FirCallableDeclaration, FirTargetElement, FirAnnotationContainer, FirTypeParameterRefsOwner, FirStatement { +interface FirFunction> : FirCallableDeclaration, FirTargetElement, FirTypeParameterRefsOwner, FirStatement { override val source: FirSourceElement? override val session: FirSession override val resolvePhase: FirResolvePhase diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirMemberDeclaration.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirMemberDeclaration.kt index 7c15a5de806..bffe2ffcde2 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirMemberDeclaration.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirMemberDeclaration.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.declarations -import org.jetbrains.kotlin.fir.FirAnnotationContainer import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall @@ -16,7 +15,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -interface FirMemberDeclaration : FirDeclaration, FirAnnotationContainer { +interface FirMemberDeclaration : FirAnnotatedDeclaration { override val source: FirSourceElement? override val session: FirSession override val resolvePhase: FirResolvePhase diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeParameter.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeParameter.kt index 3a9d5b62a93..424adde8790 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeParameter.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeParameter.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.declarations -import org.jetbrains.kotlin.fir.FirAnnotationContainer import org.jetbrains.kotlin.fir.FirPureAbstractElement import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement @@ -22,7 +21,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -abstract class FirTypeParameter : FirPureAbstractElement(), FirTypeParameterRef, FirDeclaration, FirSymbolOwner, FirAnnotationContainer { +abstract class FirTypeParameter : FirPureAbstractElement(), FirTypeParameterRef, FirAnnotatedDeclaration, FirSymbolOwner { abstract override val source: FirSourceElement? abstract override val session: FirSession abstract override val resolvePhase: FirResolvePhase diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypedDeclaration.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypedDeclaration.kt index c872eeee999..d66d119049f 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypedDeclaration.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypedDeclaration.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.declarations -import org.jetbrains.kotlin.fir.FirAnnotationContainer import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall @@ -17,7 +16,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -interface FirTypedDeclaration : FirDeclaration, FirAnnotationContainer { +interface FirTypedDeclaration : FirAnnotatedDeclaration { override val source: FirSourceElement? override val session: FirSession override val resolvePhase: FirResolvePhase diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirVariable.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirVariable.kt index 9cea95eef1f..1051964985c 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirVariable.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirVariable.kt @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -abstract class FirVariable> : FirPureAbstractElement(), FirCallableDeclaration, FirDeclaration, FirStatement { +abstract class FirVariable> : FirPureAbstractElement(), FirCallableDeclaration, FirAnnotatedDeclaration, FirStatement { abstract override val source: FirSourceElement? abstract override val session: FirSession abstract override val resolvePhase: FirResolvePhase diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFileBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFileBuilder.kt index 9eac8d89303..3a3037b4ff7 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFileBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFileBuilder.kt @@ -29,10 +29,10 @@ import org.jetbrains.kotlin.name.FqName @FirBuilderDsl class FirFileBuilder : FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - override val annotations: MutableList = mutableListOf() lateinit var session: FirSession var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR lateinit var origin: FirDeclarationOrigin + override val annotations: MutableList = mutableListOf() val imports: MutableList = mutableListOf() val declarations: MutableList = mutableListOf() lateinit var name: String @@ -41,10 +41,10 @@ class FirFileBuilder : FirAnnotationContainerBuilder { override fun build(): FirFile { return FirFileImpl( source, - annotations, session, resolvePhase, origin, + annotations, imports, declarations, name, diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFileImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFileImpl.kt index a6cd3fbd72c..936cb83c7b8 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFileImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFileImpl.kt @@ -24,10 +24,10 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirFileImpl( override val source: FirSourceElement?, - override val annotations: MutableList, override val session: FirSession, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, + override val annotations: MutableList, override val imports: MutableList, override val declarations: MutableList, override val name: String, diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirLoop.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirLoop.kt index ff0325d3c4d..8f8e75974a0 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirLoop.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/expressions/FirLoop.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.expressions -import org.jetbrains.kotlin.fir.FirAnnotationContainer import org.jetbrains.kotlin.fir.FirLabel import org.jetbrains.kotlin.fir.FirPureAbstractElement import org.jetbrains.kotlin.fir.FirSourceElement @@ -17,7 +16,7 @@ import org.jetbrains.kotlin.fir.visitors.* * DO NOT MODIFY IT MANUALLY */ -abstract class FirLoop : FirPureAbstractElement(), FirStatement, FirTargetElement, FirAnnotationContainer { +abstract class FirLoop : FirPureAbstractElement(), FirStatement, FirTargetElement { abstract override val source: FirSourceElement? abstract override val annotations: List abstract val block: FirBlock 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 f6dfc8e0883..5a43d7f22df 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 @@ -20,6 +20,7 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvedDeclarationStatus import org.jetbrains.kotlin.fir.expressions.FirStatement import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.declarations.FirDeclaration +import org.jetbrains.kotlin.fir.declarations.FirAnnotatedDeclaration import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration @@ -191,6 +192,10 @@ abstract class FirTransformer : FirVisitor { + return transformElement(annotatedDeclaration, data) + } + open fun transformAnonymousInitializer(anonymousInitializer: FirAnonymousInitializer, data: D): CompositeTransformResult { return transformElement(anonymousInitializer, data) } @@ -667,6 +672,10 @@ abstract class FirTransformer : FirVisitor { + return transformAnnotatedDeclaration(annotatedDeclaration, data) + } + final override fun visitAnonymousInitializer(anonymousInitializer: FirAnonymousInitializer, data: D): CompositeTransformResult { return transformAnonymousInitializer(anonymousInitializer, 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 705161129cf..61615e0860a 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 @@ -20,6 +20,7 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvedDeclarationStatus import org.jetbrains.kotlin.fir.expressions.FirStatement import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.declarations.FirDeclaration +import org.jetbrains.kotlin.fir.declarations.FirAnnotatedDeclaration import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration @@ -161,6 +162,8 @@ abstract class FirVisitor { open fun visitDeclaration(declaration: FirDeclaration, data: D): R = visitElement(declaration, data) + open fun visitAnnotatedDeclaration(annotatedDeclaration: FirAnnotatedDeclaration, data: D): R = visitElement(annotatedDeclaration, data) + open fun visitAnonymousInitializer(anonymousInitializer: FirAnonymousInitializer, data: D): R = visitElement(anonymousInitializer, data) open fun visitTypedDeclaration(typedDeclaration: FirTypedDeclaration, data: D): R = visitElement(typedDeclaration, 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 06ee60e9bf7..2c70a713c5b 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 @@ -20,6 +20,7 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvedDeclarationStatus import org.jetbrains.kotlin.fir.expressions.FirStatement import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.declarations.FirDeclaration +import org.jetbrains.kotlin.fir.declarations.FirAnnotatedDeclaration import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration @@ -189,6 +190,10 @@ abstract class FirVisitorVoid : FirVisitor() { visitElement(declaration) } + open fun visitAnnotatedDeclaration(annotatedDeclaration: FirAnnotatedDeclaration) { + visitElement(annotatedDeclaration) + } + open fun visitAnonymousInitializer(anonymousInitializer: FirAnonymousInitializer) { visitElement(anonymousInitializer) } @@ -665,6 +670,10 @@ abstract class FirVisitorVoid : FirVisitor() { visitDeclaration(declaration) } + final override fun visitAnnotatedDeclaration(annotatedDeclaration: FirAnnotatedDeclaration, data: Nothing?) { + visitAnnotatedDeclaration(annotatedDeclaration) + } + final override fun visitAnonymousInitializer(anonymousInitializer: FirAnonymousInitializer, data: Nothing?) { visitAnonymousInitializer(anonymousInitializer) } 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 d45e4606034..31547080bdb 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 @@ -26,42 +26,43 @@ object FirTreeBuilder : AbstractFirTreeBuilder() { val statement = element("Statement", Expression, annotationContainer) val expression = element("Expression", Expression, statement) val declaration = element("Declaration", Declaration) + val annotatedDeclaration = element("AnnotatedDeclaration", Declaration, declaration, annotationContainer) val anonymousInitializer = element("AnonymousInitializer", Declaration, declaration, symbolOwner) - val typedDeclaration = element("TypedDeclaration", Declaration, declaration, annotationContainer) + val typedDeclaration = element("TypedDeclaration", Declaration, annotatedDeclaration) val callableDeclaration = element("CallableDeclaration", Declaration, typedDeclaration, symbolOwner) val typeParameterRef = element("TypeParameterRef", Declaration) - val typeParameter = element("TypeParameter", Declaration, typeParameterRef, declaration, symbolOwner, annotationContainer) + val typeParameter = element("TypeParameter", Declaration, typeParameterRef, annotatedDeclaration, symbolOwner) val typeParameterRefsOwner = element("TypeParameterRefsOwner", Declaration) val typeParametersOwner = element("TypeParametersOwner", Declaration, typeParameterRefsOwner) - val memberDeclaration = element("MemberDeclaration", Declaration, declaration, annotationContainer) + val memberDeclaration = element("MemberDeclaration", Declaration, annotatedDeclaration) val callableMemberDeclaration = element("CallableMemberDeclaration", Declaration, callableDeclaration, memberDeclaration) - val variable = element("Variable", Declaration, callableDeclaration, declaration, statement) + val variable = element("Variable", Declaration, callableDeclaration, annotatedDeclaration, statement) val valueParameter = element("ValueParameter", Declaration, variable) val property = element("Property", Declaration, variable, typeParametersOwner, callableMemberDeclaration) val field = element("Field", Declaration, variable, typeParametersOwner, callableMemberDeclaration) val enumEntry = element("EnumEntry", Declaration, variable, callableMemberDeclaration) - val classLikeDeclaration = element("ClassLikeDeclaration", Declaration, declaration, statement, symbolOwner) - val klass = element("Class", Declaration, classLikeDeclaration, statement, annotationContainer, typeParameterRefsOwner) + val classLikeDeclaration = element("ClassLikeDeclaration", Declaration, annotatedDeclaration, statement, symbolOwner) + val klass = element("Class", Declaration, classLikeDeclaration, statement, typeParameterRefsOwner) val regularClass = element("RegularClass", Declaration, memberDeclaration, typeParameterRefsOwner, klass) val sealedClass = element("SealedClass", Declaration, regularClass) val typeAlias = element("TypeAlias", Declaration, classLikeDeclaration, memberDeclaration, typeParametersOwner) - val function = element("Function", Declaration, callableDeclaration, targetElement, annotationContainer, typeParameterRefsOwner, statement) + val function = element("Function", Declaration, callableDeclaration, targetElement, typeParameterRefsOwner, statement) val contractDescriptionOwner = element("ContractDescriptionOwner", Declaration) val simpleFunction = element("SimpleFunction", Declaration, function, callableMemberDeclaration, contractDescriptionOwner, typeParametersOwner) val propertyAccessor = element("PropertyAccessor", Declaration, function, contractDescriptionOwner, typeParametersOwner) val constructor = element("Constructor", Declaration, function, callableMemberDeclaration, typeParameterRefsOwner) - val file = element("File", Declaration, annotationContainer, declaration) + val file = element("File", Declaration, annotatedDeclaration) val anonymousFunction = element("AnonymousFunction", Declaration, function, expression, typeParametersOwner) val anonymousObject = element("AnonymousObject", Declaration, klass, expression) val diagnosticHolder = element("DiagnosticHolder", Diagnostics) - val loop = element("Loop", Expression, statement, targetElement, annotationContainer) + val loop = element("Loop", Expression, statement, targetElement) val errorLoop = element("ErrorLoop", Expression, loop, diagnosticHolder) val doWhileLoop = element("DoWhileLoop", Expression, loop) val whileLoop = element("WhileLoop", Expression, loop)