From 239837fd147aaf95d3e1ba53d4e5e063af169d22 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Thu, 7 May 2020 17:29:21 +0300 Subject: [PATCH] [FIR] Introduce `FirDeclarationAttributes` for `FirDeclaration` --- .../fir/java/declarations/FirJavaClass.kt | 2 + .../java/declarations/FirJavaConstructor.kt | 2 + .../fir/java/declarations/FirJavaField.kt | 2 + .../fir/declarations/FirAnonymousFunction.kt | 1 + .../declarations/FirAnonymousInitializer.kt | 1 + .../fir/declarations/FirAnonymousObject.kt | 1 + .../declarations/FirCallableDeclaration.kt | 1 + .../FirCallableMemberDeclaration.kt | 1 + .../kotlin/fir/declarations/FirClass.kt | 1 + .../declarations/FirClassLikeDeclaration.kt | 1 + .../kotlin/fir/declarations/FirConstructor.kt | 1 + .../kotlin/fir/declarations/FirDeclaration.kt | 1 + .../kotlin/fir/declarations/FirEnumEntry.kt | 1 + .../fir/declarations/FirErrorFunction.kt | 1 + .../kotlin/fir/declarations/FirField.kt | 1 + .../kotlin/fir/declarations/FirFile.kt | 1 + .../kotlin/fir/declarations/FirFunction.kt | 1 + .../fir/declarations/FirMemberDeclaration.kt | 1 + .../kotlin/fir/declarations/FirProperty.kt | 1 + .../fir/declarations/FirPropertyAccessor.kt | 1 + .../fir/declarations/FirRegularClass.kt | 1 + .../kotlin/fir/declarations/FirSealedClass.kt | 1 + .../fir/declarations/FirSimpleFunction.kt | 1 + .../kotlin/fir/declarations/FirTypeAlias.kt | 1 + .../fir/declarations/FirTypeParameter.kt | 1 + .../fir/declarations/FirTypedDeclaration.kt | 1 + .../fir/declarations/FirValueParameter.kt | 1 + .../kotlin/fir/declarations/FirVariable.kt | 1 + .../builder/FirAnonymousFunctionBuilder.kt | 1 + .../builder/FirAnonymousInitializerBuilder.kt | 1 + .../builder/FirAnonymousObjectBuilder.kt | 1 + .../builder/FirClassImplBuilder.kt | 1 + .../builder/FirConstructorBuilder.kt | 1 + .../FirDefaultSetterValueParameterBuilder.kt | 1 + .../builder/FirEnumEntryBuilder.kt | 1 + .../builder/FirErrorFunctionBuilder.kt | 1 + .../declarations/builder/FirFieldBuilder.kt | 1 + .../declarations/builder/FirFileBuilder.kt | 1 + .../builder/FirPrimaryConstructorBuilder.kt | 1 + .../builder/FirPropertyAccessorBuilder.kt | 1 + .../builder/FirPropertyBuilder.kt | 1 + .../builder/FirSealedClassBuilder.kt | 1 + .../builder/FirSimpleFunctionBuilder.kt | 1 + .../builder/FirTypeAliasBuilder.kt | 1 + .../builder/FirTypeParameterBuilder.kt | 1 + .../builder/FirValueParameterBuilder.kt | 1 + .../impl/FirAnonymousFunctionImpl.kt | 2 + .../impl/FirAnonymousInitializerImpl.kt | 2 + .../impl/FirAnonymousObjectImpl.kt | 2 + .../fir/declarations/impl/FirClassImpl.kt | 2 + .../declarations/impl/FirConstructorImpl.kt | 2 + .../impl/FirDefaultSetterValueParameter.kt | 2 + .../fir/declarations/impl/FirEnumEntryImpl.kt | 2 + .../declarations/impl/FirErrorFunctionImpl.kt | 2 + .../fir/declarations/impl/FirFieldImpl.kt | 2 + .../fir/declarations/impl/FirFileImpl.kt | 3 ++ .../impl/FirPrimaryConstructor.kt | 2 + .../impl/FirPropertyAccessorImpl.kt | 2 + .../fir/declarations/impl/FirPropertyImpl.kt | 2 + .../declarations/impl/FirSealedClassImpl.kt | 2 + .../impl/FirSimpleFunctionImpl.kt | 2 + .../fir/declarations/impl/FirTypeAliasImpl.kt | 3 ++ .../declarations/impl/FirTypeParameterImpl.kt | 3 ++ .../impl/FirValueParameterImpl.kt | 2 + .../declarations/FirDeclarationAttributes.kt | 52 +++++++++++++++++++ .../synthetic/FirSyntheticProperty.kt | 2 + .../synthetic/FirSyntheticPropertyAccessor.kt | 3 ++ .../fir/tree/generator/BuilderConfigurator.kt | 34 +++++++++--- .../generator/ImplementationConfigurator.kt | 7 +++ .../fir/tree/generator/NodeConfigurator.kt | 1 + .../kotlin/fir/tree/generator/Types.kt | 3 +- 71 files changed, 181 insertions(+), 9 deletions(-) diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaClass.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaClass.kt index f1019e1f046..8128064d248 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaClass.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaClass.kt @@ -57,6 +57,8 @@ class FirJavaClass @FirImplementationDetail internal constructor( override val origin: FirDeclarationOrigin get() = FirDeclarationOrigin.Java + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() + override val companionObject: FirRegularClass? get() = null diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaConstructor.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaConstructor.kt index 875e69037ea..23fc2c5f640 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaConstructor.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaConstructor.kt @@ -54,6 +54,8 @@ class FirJavaConstructor @FirImplementationDetail constructor( override val origin: FirDeclarationOrigin get() = FirDeclarationOrigin.Java + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() + override val controlFlowGraphReference: FirControlFlowGraphReference get() = FirEmptyControlFlowGraphReference override fun transformValueParameters(transformer: FirTransformer, data: D): FirJavaConstructor { diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaField.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaField.kt index 15b9b95722c..fdb30890d75 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaField.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaField.kt @@ -56,6 +56,8 @@ class FirJavaField @FirImplementationDetail constructor( override val origin: FirDeclarationOrigin get() = FirDeclarationOrigin.Java + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() + override fun transformReturnTypeRef(transformer: FirTransformer, data: D): FirField { returnTypeRef = returnTypeRef.transformSingle(transformer, data) return this 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 ac51c37aede..4884e43bf2b 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 @@ -27,6 +27,7 @@ abstract class FirAnonymousFunction : FirFunction, FirExpr 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 override val returnTypeRef: FirTypeRef abstract override val receiverTypeRef: FirTypeRef? diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousInitializer.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousInitializer.kt index 5c1db1cab88..41eeae0fe69 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousInitializer.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousInitializer.kt @@ -24,6 +24,7 @@ abstract class FirAnonymousInitializer : FirPureAbstractElement(), FirDeclaratio abstract override val session: FirSession abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin + abstract override val attributes: FirDeclarationAttributes abstract val body: FirBlock? abstract override val symbol: FirAnonymousInitializerSymbol abstract val controlFlowGraphReference: FirControlFlowGraphReference diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousObject.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousObject.kt index a8322529837..d7d9ad59f1a 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousObject.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnonymousObject.kt @@ -26,6 +26,7 @@ abstract class FirAnonymousObject : FirClass, FirExpression( abstract override val session: FirSession abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin + abstract override val attributes: FirDeclarationAttributes abstract override val typeParameters: List abstract override val classKind: ClassKind abstract override val superTypeRefs: List diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableDeclaration.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableDeclaration.kt index e2c5c65a938..ff25b0073d0 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableDeclaration.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableDeclaration.kt @@ -23,6 +23,7 @@ interface FirCallableDeclaration> : FirTypedDeclar override val session: FirSession override val resolvePhase: FirResolvePhase override val origin: FirDeclarationOrigin + override val attributes: FirDeclarationAttributes override val annotations: List override val returnTypeRef: FirTypeRef val receiverTypeRef: FirTypeRef? diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableMemberDeclaration.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableMemberDeclaration.kt index 1d9da77171a..58c45b5f162 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableMemberDeclaration.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableMemberDeclaration.kt @@ -23,6 +23,7 @@ interface FirCallableMemberDeclaration> : Fi override val session: FirSession override val resolvePhase: FirResolvePhase override val origin: FirDeclarationOrigin + override val attributes: FirDeclarationAttributes override val annotations: List override val returnTypeRef: FirTypeRef override val receiverTypeRef: FirTypeRef? 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 a0c2ab6e877..7ffafb773a2 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 @@ -26,6 +26,7 @@ interface FirClass> : FirClassLikeDeclaration, FirStatement, override val session: FirSession override val resolvePhase: FirResolvePhase override val origin: FirDeclarationOrigin + override val attributes: FirDeclarationAttributes override val typeParameters: List override val symbol: FirClassSymbol val classKind: ClassKind 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 41dea5cb750..1b6513b56ec 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 @@ -23,6 +23,7 @@ interface FirClassLikeDeclaration> : FirDeclarati override val session: FirSession override val resolvePhase: FirResolvePhase override val origin: FirDeclarationOrigin + override val attributes: FirDeclarationAttributes override val annotations: List override val symbol: FirClassLikeSymbol 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 321847caf70..32f712d6309 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,6 +27,7 @@ abstract class FirConstructor : FirPureAbstractElement(), FirFunction diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirDeclaration.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirDeclaration.kt index 23f2368532e..fba5441d0c4 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirDeclaration.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirDeclaration.kt @@ -20,6 +20,7 @@ interface FirDeclaration : FirElement { val session: FirSession val resolvePhase: FirResolvePhase val origin: FirDeclarationOrigin + val attributes: FirDeclarationAttributes override fun accept(visitor: FirVisitor, data: D): R = visitor.visitDeclaration(this, data) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirEnumEntry.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirEnumEntry.kt index 3942d40117e..aa54d4737ab 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirEnumEntry.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirEnumEntry.kt @@ -26,6 +26,7 @@ abstract class FirEnumEntry : FirVariable(), FirCallableMemberDecl abstract override val session: FirSession abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin + abstract override val attributes: FirDeclarationAttributes abstract override val returnTypeRef: FirTypeRef abstract override val receiverTypeRef: FirTypeRef? abstract override val name: Name 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 9e9859a489f..70dc21560f9 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 @@ -27,6 +27,7 @@ abstract class FirErrorFunction : FirPureAbstractElement(), FirFunction abstract override val returnTypeRef: FirTypeRef abstract override val receiverTypeRef: FirTypeRef? diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirField.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirField.kt index b463105d328..96ddc6a09b7 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirField.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirField.kt @@ -26,6 +26,7 @@ abstract class FirField : FirVariable(), FirTypeParametersOwner, FirCa abstract override val session: FirSession abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin + abstract override val attributes: FirDeclarationAttributes abstract override val returnTypeRef: FirTypeRef abstract override val receiverTypeRef: FirTypeRef? abstract override val name: Name 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 662c5648465..c136461e1bb 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 @@ -24,6 +24,7 @@ abstract class FirFile : FirPureAbstractElement(), FirAnnotationContainer, FirDe abstract override val session: FirSession abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin + abstract override val attributes: FirDeclarationAttributes 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 28d2412b173..9f485fe6afd 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 @@ -27,6 +27,7 @@ interface FirFunction> : FirCallableDeclaration, FirTarget override val session: FirSession override val resolvePhase: FirResolvePhase override val origin: FirDeclarationOrigin + override val attributes: FirDeclarationAttributes override val annotations: List override val returnTypeRef: FirTypeRef override val receiverTypeRef: FirTypeRef? 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 4cfe2040a49..7c15a5de806 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 @@ -21,6 +21,7 @@ interface FirMemberDeclaration : FirDeclaration, FirAnnotationContainer { override val session: FirSession override val resolvePhase: FirResolvePhase override val origin: FirDeclarationOrigin + override val attributes: FirDeclarationAttributes override val annotations: List val typeParameters: List val status: FirDeclarationStatus 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 7875477906f..dbda8763350 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 @@ -28,6 +28,7 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, abstract override val session: FirSession abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin + abstract override val attributes: FirDeclarationAttributes abstract override val returnTypeRef: FirTypeRef abstract override val receiverTypeRef: FirTypeRef? abstract override val name: Name 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 c484185cce8..aa6105d75e1 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 @@ -26,6 +26,7 @@ abstract class FirPropertyAccessor : FirPureAbstractElement(), FirFunction abstract override val typeParameters: List abstract override val status: FirDeclarationStatus diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSealedClass.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSealedClass.kt index 45df565d57f..9cc1ba1b60b 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSealedClass.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSealedClass.kt @@ -27,6 +27,7 @@ abstract class FirSealedClass : FirRegularClass() { 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 override val typeParameters: List abstract override val status: FirDeclarationStatus 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 b9d86724bd2..4bdc9415e61 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 @@ -28,6 +28,7 @@ abstract class FirSimpleFunction : FirPureAbstractElement(), FirFunction abstract val name: Name 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 6e4225876ce..3a9d5b62a93 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 @@ -27,6 +27,7 @@ abstract class FirTypeParameter : FirPureAbstractElement(), FirTypeParameterRef, abstract override val session: FirSession abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin + abstract override val attributes: FirDeclarationAttributes abstract val name: Name abstract override val symbol: FirTypeParameterSymbol abstract val variance: Variance 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 c0dd5daccc2..c872eeee999 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 @@ -22,6 +22,7 @@ interface FirTypedDeclaration : FirDeclaration, FirAnnotationContainer { override val session: FirSession override val resolvePhase: FirResolvePhase override val origin: FirDeclarationOrigin + override val attributes: FirDeclarationAttributes override val annotations: List val returnTypeRef: FirTypeRef diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirValueParameter.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirValueParameter.kt index 4983736a87e..d7e983b2c59 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirValueParameter.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirValueParameter.kt @@ -25,6 +25,7 @@ abstract class FirValueParameter : FirVariable() { abstract override val session: FirSession abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin + abstract override val attributes: FirDeclarationAttributes abstract override val returnTypeRef: FirTypeRef abstract override val receiverTypeRef: FirTypeRef? abstract override val name: Name 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 e32cb2c2ab5..9cea95eef1f 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 @@ -27,6 +27,7 @@ abstract class FirVariable> : FirPureAbstractElement(), FirCa abstract override val session: FirSession abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin + abstract override val attributes: FirDeclarationAttributes abstract override val returnTypeRef: FirTypeRef abstract override val receiverTypeRef: FirTypeRef? abstract val name: Name diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousFunctionBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousFunctionBuilder.kt index 5c6854a64f5..b3441496b2d 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousFunctionBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousFunctionBuilder.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirTypeParameter diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousInitializerBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousInitializerBuilder.kt index f940fa82d8e..f253f6ba176 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousInitializerBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousInitializerBuilder.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousInitializerImpl diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousObjectBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousObjectBuilder.kt index 07adead6ec9..2a821ce9b71 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousObjectBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAnonymousObjectBuilder.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.declarations.FirAnonymousObject import org.jetbrains.kotlin.fir.declarations.FirDeclaration +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirClassImplBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirClassImplBuilder.kt index dae93cba866..553d70d701b 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirClassImplBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirClassImplBuilder.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.declarations.FirDeclaration +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirRegularClass diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirConstructorBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirConstructorBuilder.kt index cb64572a6f0..cc140256685 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirConstructorBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirConstructorBuilder.kt @@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.declarations.FirConstructor +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirResolvePhase diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirDefaultSetterValueParameterBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirDefaultSetterValueParameterBuilder.kt index 2c65299f7aa..ac4a6afa8b9 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirDefaultSetterValueParameterBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirDefaultSetterValueParameterBuilder.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor import org.jetbrains.kotlin.fir.declarations.FirResolvePhase diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirEnumEntryBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirEnumEntryBuilder.kt index 02d85104f77..9aca8755cfe 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirEnumEntryBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirEnumEntryBuilder.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirEnumEntry diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirErrorFunctionBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirErrorFunctionBuilder.kt index aa1cdb2cb03..4ab54d76c8e 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirErrorFunctionBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirErrorFunctionBuilder.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirErrorFunction import org.jetbrains.kotlin.fir.declarations.FirResolvePhase diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFieldBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFieldBuilder.kt index d1d2719feb0..1b15e42683c 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFieldBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFieldBuilder.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirField 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 f5ecb907b44..9eac8d89303 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 @@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.declarations.FirDeclaration +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.declarations.FirImport diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPrimaryConstructorBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPrimaryConstructorBuilder.kt index 1150ac9eacc..dbd04c436be 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPrimaryConstructorBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPrimaryConstructorBuilder.kt @@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.declarations.FirConstructor +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirResolvePhase diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyAccessorBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyAccessorBuilder.kt index d7261dd7648..d209b9768c5 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyAccessorBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyAccessorBuilder.kt @@ -14,6 +14,7 @@ import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.contracts.FirContractDescription import org.jetbrains.kotlin.fir.contracts.impl.FirEmptyContractDescription +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyBuilder.kt index 0cf55881586..74e2580d054 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirPropertyBuilder.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirProperty diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirSealedClassBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirSealedClassBuilder.kt index 563bdb7cc09..ce7e6f5c990 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirSealedClassBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirSealedClassBuilder.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.declarations.FirDeclaration +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirRegularClass diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirSimpleFunctionBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirSimpleFunctionBuilder.kt index a970e397350..0a9bbcc1b7f 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirSimpleFunctionBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirSimpleFunctionBuilder.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.contracts.FirContractDescription import org.jetbrains.kotlin.fir.contracts.impl.FirEmptyContractDescription +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirResolvePhase diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirTypeAliasBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirTypeAliasBuilder.kt index c48bdf14f15..e89d8b1f8ba 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirTypeAliasBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirTypeAliasBuilder.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirResolvePhase diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirTypeParameterBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirTypeParameterBuilder.kt index ebf3e88b36a..a6ce43077fe 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirTypeParameterBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirTypeParameterBuilder.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirTypeParameter diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirValueParameterBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirValueParameterBuilder.kt index fae00b5f648..6151b420d94 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirValueParameterBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirValueParameterBuilder.kt @@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor import org.jetbrains.kotlin.fir.declarations.FirResolvePhase 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 d37cd9f7345..71a98efd00d 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 @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirLabel import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirTypeParameter @@ -44,6 +45,7 @@ internal class FirAnonymousFunctionImpl( override val typeParameters: MutableList, ) : FirAnonymousFunction() { override var resolvePhase: FirResolvePhase = FirResolvePhase.DECLARATIONS + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() init { symbol.bind(this) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousInitializerImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousInitializerImpl.kt index b9512fe5948..6bcb4449281 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousInitializerImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousInitializerImpl.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.expressions.FirBlock @@ -29,6 +30,7 @@ internal class FirAnonymousInitializerImpl( override var body: FirBlock?, override val symbol: FirAnonymousInitializerSymbol, ) : FirAnonymousInitializer() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference init { diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousObjectImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousObjectImpl.kt index 6f3b22a6721..a243d77bd6f 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousObjectImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirAnonymousObjectImpl.kt @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirAnonymousObject import org.jetbrains.kotlin.fir.declarations.FirDeclaration +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef @@ -40,6 +41,7 @@ internal class FirAnonymousObjectImpl( override var typeRef: FirTypeRef, override val symbol: FirAnonymousObjectSymbol, ) : FirAnonymousObject() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference init { diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirClassImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirClassImpl.kt index a4a0b9dc1ee..09bd4639e97 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirClassImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirClassImpl.kt @@ -9,6 +9,7 @@ import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirDeclaration +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirRegularClass @@ -44,6 +45,7 @@ internal class FirClassImpl( override var companionObject: FirRegularClass?, override val superTypeRefs: MutableList, ) : FirRegularClass() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() override val hasLazyNestedClassifiers: Boolean get() = false override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference 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 de6bce4d51f..1109d07b540 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 @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirConstructor +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirResolvePhase @@ -44,6 +45,7 @@ internal class FirConstructorImpl( override var delegatedConstructor: FirDelegatedConstructorCall?, override var body: FirBlock?, ) : FirConstructor() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference override val isPrimary: Boolean get() = false diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt index bf5e2fd9f83..94020c8e6d5 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor import org.jetbrains.kotlin.fir.declarations.FirResolvePhase @@ -45,6 +46,7 @@ internal class FirDefaultSetterValueParameter( override val isNoinline: Boolean, override val isVararg: Boolean, ) : FirValueParameter() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() override val name: Name = Name.identifier("value") init { diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt index f56602e6ad8..73804a3e9bd 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirEnumEntry @@ -41,6 +42,7 @@ internal class FirEnumEntryImpl( override var status: FirDeclarationStatus, override val containerSource: DeserializedContainerSource?, ) : FirEnumEntry() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() override val receiverTypeRef: FirTypeRef? get() = null override val delegate: FirExpression? get() = null override val delegateFieldSymbol: FirDelegateFieldSymbol? get() = null 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 6f017b6fe51..8c423c79b56 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 @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirErrorFunction import org.jetbrains.kotlin.fir.declarations.FirResolvePhase @@ -38,6 +39,7 @@ internal class FirErrorFunctionImpl( override val symbol: FirErrorFunctionSymbol, override val typeParameters: MutableList, ) : FirErrorFunction() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, diagnostic) override val receiverTypeRef: FirTypeRef? get() = null override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFieldImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFieldImpl.kt index c8235009d23..10d22843b75 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFieldImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirFieldImpl.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirField @@ -41,6 +42,7 @@ internal class FirFieldImpl( override var status: FirDeclarationStatus, override val containerSource: DeserializedContainerSource?, ) : FirField() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() override val receiverTypeRef: FirTypeRef? get() = null override val initializer: FirExpression? get() = null override val delegate: FirExpression? get() = null 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 19a0f8a0d1a..105e63216f2 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 @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirDeclaration +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.declarations.FirImport @@ -32,6 +33,8 @@ internal class FirFileImpl( override val name: String, override val packageFqName: FqName, ) : FirFile() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() + override fun acceptChildren(visitor: FirVisitor, data: D) { annotations.forEach { it.accept(visitor, data) } imports.forEach { it.accept(visitor, data) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPrimaryConstructor.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPrimaryConstructor.kt index ed34b95be1e..b7db76ab31e 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPrimaryConstructor.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirPrimaryConstructor.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirConstructor +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirResolvePhase @@ -44,6 +45,7 @@ internal class FirPrimaryConstructor( override var delegatedConstructor: FirDelegatedConstructorCall?, override var body: FirBlock?, ) : FirConstructor() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference override val isPrimary: Boolean get() = true 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 3d69e1449f0..54fff6e213d 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 @@ -10,6 +10,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.contracts.FirContractDescription +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor @@ -44,6 +45,7 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor( override val annotations: MutableList, override val typeParameters: MutableList, ) : FirPropertyAccessor() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() override val receiverTypeRef: FirTypeRef? get() = null override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference override val isSetter: Boolean get() = !isGetter 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 3febb3f5aaa..1f6bbf6b659 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 @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirProperty @@ -51,6 +52,7 @@ internal class FirPropertyImpl( override val typeParameters: MutableList, override var status: FirDeclarationStatus, ) : FirProperty() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() override val isVal: Boolean get() = !isVar override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference override val backingFieldSymbol: FirBackingFieldSymbol = FirBackingFieldSymbol(symbol.callableId) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSealedClassImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSealedClassImpl.kt index c6a518a7110..69cbd38a748 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSealedClassImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSealedClassImpl.kt @@ -9,6 +9,7 @@ import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirDeclaration +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirRegularClass @@ -47,6 +48,7 @@ internal class FirSealedClassImpl( override val superTypeRefs: MutableList, override val inheritors: MutableList, ) : FirSealedClass() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() override val hasLazyNestedClassifiers: Boolean get() = false override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference 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 6fa42a9224b..51c93d92d08 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 @@ -9,6 +9,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.contracts.FirContractDescription +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirResolvePhase @@ -47,6 +48,7 @@ open class FirSimpleFunctionImpl @FirImplementationDetail constructor( override val annotations: MutableList, override val typeParameters: MutableList, ) : FirSimpleFunction() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference init { diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeAliasImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeAliasImpl.kt index 7d40f4c7fcb..0131accc06a 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeAliasImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeAliasImpl.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirResolvePhase @@ -35,6 +36,8 @@ internal class FirTypeAliasImpl( override var expandedTypeRef: FirTypeRef, override val annotations: MutableList, ) : FirTypeAlias() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() + init { symbol.bind(this) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeParameterImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeParameterImpl.kt index 7c346189e10..ca1646d0655 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeParameterImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeParameterImpl.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirTypeParameter @@ -34,6 +35,8 @@ internal class FirTypeParameterImpl( override val bounds: MutableList, override val annotations: MutableList, ) : FirTypeParameter() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() + init { symbol.bind(this) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt index 7405912e7b2..a245d7ee026 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.fir.FirImplementationDetail import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement +import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor import org.jetbrains.kotlin.fir.declarations.FirResolvePhase @@ -39,6 +40,7 @@ open class FirValueParameterImpl @FirImplementationDetail constructor( override val isNoinline: Boolean, override val isVararg: Boolean, ) : FirValueParameter() { + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() override val receiverTypeRef: FirTypeRef? get() = null override val initializer: FirExpression? get() = null override val delegate: FirExpression? get() = null diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationAttributes.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationAttributes.kt index e69de29bb2d..96bb8fb475a 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationAttributes.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationAttributes.kt @@ -0,0 +1,52 @@ +/* + * 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.utils.AttributeArrayOwner +import org.jetbrains.kotlin.fir.utils.NullableArrayMapAccessor +import org.jetbrains.kotlin.fir.utils.TypeRegistry +import kotlin.properties.ReadWriteProperty +import kotlin.reflect.KClass +import kotlin.reflect.KProperty + +abstract class FirDeclarationDataKey + +class FirDeclarationAttributes : AttributeArrayOwner() { + override val typeRegistry: TypeRegistry + get() = FirDeclarationDataRegistry + + internal operator fun set(key: KClass, value: Any) { + registerComponent(key, value) + } +} + +/* + * Example of adding new attribute for declaration: + * + * object SomeKey : FirDeclarationDataKey() + * var FirDeclaration.someString: String? by FirDeclarationDataRegistry.data(SomeKey) + */ +object FirDeclarationDataRegistry : TypeRegistry() { + fun data(key: K): ReadWriteProperty { + val kClass = key::class + return DeclarationDataAccessor(generateNullableAccessor(kClass), kClass) + } + + private class DeclarationDataAccessor( + val dataAccessor: NullableArrayMapAccessor, + val key: KClass + ) : ReadWriteProperty { + override fun getValue(thisRef: FirDeclaration, property: KProperty<*>): V? { + return dataAccessor.getValue(thisRef.attributes, property) + } + + override fun setValue(thisRef: FirDeclaration, property: KProperty<*>, value: V?) { + if (value != null) { + thisRef.attributes[key] = value + } + } + } +} diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/synthetic/FirSyntheticProperty.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/synthetic/FirSyntheticProperty.kt index adad18dc17b..4e5d3759549 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/synthetic/FirSyntheticProperty.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/synthetic/FirSyntheticProperty.kt @@ -71,6 +71,8 @@ class FirSyntheticProperty( override val controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference + override val attributes: FirDeclarationAttributes = FirDeclarationAttributes() + // ??? override val backingFieldSymbol: FirBackingFieldSymbol = FirBackingFieldSymbol(symbol.callableId) diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/synthetic/FirSyntheticPropertyAccessor.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/synthetic/FirSyntheticPropertyAccessor.kt index 7ff75428a77..9089fc755af 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/synthetic/FirSyntheticPropertyAccessor.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/synthetic/FirSyntheticPropertyAccessor.kt @@ -60,6 +60,9 @@ class FirSyntheticPropertyAccessor( override val body: FirBlock? get() = delegate.body + override val attributes: FirDeclarationAttributes + get() = delegate.attributes + override val symbol: FirPropertyAccessorSymbol = FirPropertyAccessorSymbol().apply { bind(this@FirSyntheticPropertyAccessor) } diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt index 82f9f538626..d9b50127725 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt @@ -6,10 +6,7 @@ package org.jetbrains.kotlin.fir.tree.generator import org.jetbrains.kotlin.fir.tree.generator.context.AbstractBuilderConfigurator -import org.jetbrains.kotlin.fir.tree.generator.model.Element -import org.jetbrains.kotlin.fir.tree.generator.model.Field -import org.jetbrains.kotlin.fir.tree.generator.model.Implementation -import org.jetbrains.kotlin.fir.tree.generator.model.LeafBuilder +import org.jetbrains.kotlin.fir.tree.generator.model.* import org.jetbrains.kotlin.fir.tree.generator.util.traverseParents object BuilderConfigurator : AbstractBuilderConfigurator(FirTreeBuilder) { @@ -32,13 +29,13 @@ object BuilderConfigurator : AbstractBuilderConfigurator(FirTree val classBuilder by builder { parents += annotationContainerBuilder - fields from klass without listOf("symbol", "resolvePhase") + fields from klass without listOf("symbol", "resolvePhase", "attributes") } val regularClassBuilder by builder("AbstractFirRegularClassBuilder") { parents += classBuilder parents += typeParameterRefsOwnerBuilder - fields from regularClass + fields from regularClass without "attributes" } val qualifiedAccessBuilder by builder { @@ -55,7 +52,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator(FirTree val functionBuilder by builder { parents += annotationContainerBuilder - fields from function without listOf("symbol", "resolvePhase", "controlFlowGraphReference", "receiverTypeRef", "typeParameters") + fields from function without listOf("symbol", "resolvePhase", "controlFlowGraphReference", "receiverTypeRef", "typeParameters", "attributes") } val loopJumpBuilder by builder { @@ -64,7 +61,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator(FirTree val abstractConstructorBuilder by builder { parents += functionBuilder - fields from constructor without "isPrimary" + fields from constructor without listOf("isPrimary", "attributes") } for (constructorType in listOf("FirPrimaryConstructor", "FirConstructorImpl")) { @@ -330,6 +327,13 @@ object BuilderConfigurator : AbstractBuilderConfigurator(FirTree ) { defaultNull(it) } + +// configureFieldInAllIntermediateBuilders( +// field = "attributes", +// fieldPredicate = { it.type == declarationAttributesType.type } +// ) { +// +// } } private inline fun findImplementationsWithElementInParents( @@ -364,4 +368,18 @@ object BuilderConfigurator : AbstractBuilderConfigurator(FirTree } } + private fun configureFieldInAllIntermediateBuilders( + field: String, + builderPredicate: ((IntermediateBuilder) -> Boolean)? = null, + fieldPredicate: ((Field) -> Boolean)? = null, + init: IntermediateBuilderConfigurationContext.(field: String) -> Unit + ) { + for (builder in FirTreeBuilder.intermediateBuilders) { + if (builderPredicate != null && !builderPredicate(builder)) continue + if (!builder.allFields.any { it.name == field }) continue + if (fieldPredicate != null && !fieldPredicate(builder[field])) continue + IntermediateBuilderConfigurationContext(builder).init(field) + } + } + } \ No newline at end of file diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt index 10cb58d799c..f4084ef91cb 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt @@ -494,5 +494,12 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator() default(it, "FirImplicitTypeRefImpl(null)") useTypes(implicitTypeRefType) } + + configureFieldInAllImplementations( + field = "attributes", + fieldPredicate = { it.type == declarationAttributesType.type } + ) { + default(it, "${declarationAttributesType.type}()") + } } } 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 563cb4e0bce..477cdab0bce 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 @@ -74,6 +74,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild +field("session", firSessionType) +field("resolvePhase", resolvePhaseType, withReplace = true).apply { isMutable = true } +field("origin", declarationOriginType) + +field("attributes", declarationAttributesType) } typedDeclaration.configure { diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/Types.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/Types.kt index 9899869a656..c908b97d596 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/Types.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/Types.kt @@ -70,4 +70,5 @@ val coneStubDiagnosticType = generatedType("diagnostics", "ConeStubDiagnostic") val dslBuilderAnnotationType = generatedType("builder", "FirBuilderDsl") val firImplementationDetailType = generatedType("FirImplementationDetail") -val declarationOriginType = generatedType("declarations", "FirDeclarationOrigin") \ No newline at end of file +val declarationOriginType = generatedType("declarations", "FirDeclarationOrigin") +val declarationAttributesType = generatedType("declarations", "FirDeclarationAttributes") \ No newline at end of file