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 b47239c8ca9..ad98d266123 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 @@ -58,7 +58,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu override fun build(): FirAnonymousFunction { return FirAnonymousFunctionImpl( source, - declarationSiteSession, + moduleData, origin, attributes, annotations, 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 cf7f2d7a4b3..c1aa6eb96f5 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 @@ -38,7 +38,7 @@ class FirAnonymousInitializerBuilder : FirDeclarationBuilder { override fun build(): FirAnonymousInitializer { return FirAnonymousInitializerImpl( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, 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 3d93c206b30..e5f4c4e19b3 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 @@ -53,7 +53,7 @@ class FirAnonymousObjectBuilder : FirDeclarationBuilder, FirClassBuilder, FirAnn override fun build(): FirAnonymousObject { return FirAnonymousObjectImpl( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, 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 d0216068262..18b773adf7f 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 @@ -56,7 +56,7 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC override fun build(): FirConstructor { return FirConstructorImpl( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, @@ -98,7 +98,7 @@ inline fun buildConstructorCopy(original: FirConstructor, init: FirConstructorBu } val copyBuilder = FirConstructorBuilder() copyBuilder.source = original.source - copyBuilder.declarationSiteSession = original.declarationSiteSession + copyBuilder.moduleData = original.moduleData copyBuilder.resolvePhase = original.resolvePhase copyBuilder.origin = original.origin copyBuilder.attributes = original.attributes.copy() 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 6f76eeceb42..6a22da537f3 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 @@ -56,7 +56,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder { override fun build(): FirValueParameter { return FirDefaultSetterValueParameter( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, 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 a71a124c930..9a031b27da5 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 @@ -53,7 +53,7 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder { override fun build(): FirEnumEntry { return FirEnumEntryImpl( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, 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 593af9f342b..911e3a0d5b9 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 @@ -47,7 +47,7 @@ class FirErrorFunctionBuilder : FirAnnotationContainerBuilder { override fun build(): FirErrorFunction { return FirErrorFunctionImpl( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirErrorPropertyBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirErrorPropertyBuilder.kt index d285193ca02..747e1776039 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirErrorPropertyBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirErrorPropertyBuilder.kt @@ -48,7 +48,7 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder { override fun build(): FirErrorProperty { return FirErrorPropertyImpl( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, 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 b6f1be8fd72..e2967932042 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 @@ -57,7 +57,7 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde override fun build(): FirField { return FirFieldImpl( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, 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 f5a03218e16..743ce79ea50 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 @@ -42,7 +42,7 @@ class FirFileBuilder : FirAnnotationContainerBuilder { override fun build(): FirFile { return FirFileImpl( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, 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 9ca869044c6..75c0980e838 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 @@ -56,7 +56,7 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio override fun build(): FirConstructor { return FirPrimaryConstructor( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, 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 e3ecd9a1140..3e456c4c1c1 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 @@ -60,7 +60,7 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui override fun build(): FirPropertyAccessor { return FirPropertyAccessorImpl( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, @@ -95,7 +95,7 @@ inline fun buildPropertyAccessorCopy(original: FirPropertyAccessor, init: FirPro } val copyBuilder = FirPropertyAccessorBuilder() copyBuilder.source = original.source - copyBuilder.declarationSiteSession = original.declarationSiteSession + copyBuilder.moduleData = original.moduleData copyBuilder.resolvePhase = original.resolvePhase copyBuilder.origin = original.origin copyBuilder.attributes = original.attributes.copy() 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 0a7d5af0764..1662d83f80f 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 @@ -64,7 +64,7 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, override fun build(): FirProperty { return FirPropertyImpl( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, @@ -104,7 +104,7 @@ inline fun buildPropertyCopy(original: FirProperty, init: FirPropertyBuilder.() } val copyBuilder = FirPropertyBuilder() copyBuilder.source = original.source - copyBuilder.declarationSiteSession = original.declarationSiteSession + copyBuilder.moduleData = original.moduleData copyBuilder.resolvePhase = original.resolvePhase copyBuilder.origin = original.origin copyBuilder.attributes = original.attributes.copy() diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirRegularClassBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirRegularClassBuilder.kt index ea6c788d3a5..3768af457d5 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirRegularClassBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirRegularClassBuilder.kt @@ -55,7 +55,7 @@ open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBu override fun build(): FirRegularClass { return FirRegularClassImpl( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, @@ -89,7 +89,7 @@ inline fun buildRegularClassCopy(original: FirRegularClass, init: FirRegularClas } val copyBuilder = FirRegularClassBuilder() copyBuilder.source = original.source - copyBuilder.declarationSiteSession = original.declarationSiteSession + copyBuilder.moduleData = original.moduleData copyBuilder.resolvePhase = original.resolvePhase copyBuilder.origin = original.origin copyBuilder.attributes = original.attributes.copy() 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 5ef7e114fb5..6c2d5d08109 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 @@ -60,7 +60,7 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner override fun build(): FirSimpleFunction { return FirSimpleFunctionImpl( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, @@ -96,7 +96,7 @@ inline fun buildSimpleFunctionCopy(original: FirSimpleFunction, init: FirSimpleF } val copyBuilder = FirSimpleFunctionBuilder() copyBuilder.source = original.source - copyBuilder.declarationSiteSession = original.declarationSiteSession + copyBuilder.moduleData = original.moduleData copyBuilder.resolvePhase = original.resolvePhase copyBuilder.origin = original.origin copyBuilder.attributes = original.attributes.copy() 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 c5277bb4778..9dcb4cedb72 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 @@ -47,7 +47,7 @@ class FirTypeAliasBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder override fun build(): FirTypeAlias { return FirTypeAliasImpl( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, @@ -77,7 +77,7 @@ inline fun buildTypeAliasCopy(original: FirTypeAlias, init: FirTypeAliasBuilder. } val copyBuilder = FirTypeAliasBuilder() copyBuilder.source = original.source - copyBuilder.declarationSiteSession = original.declarationSiteSession + copyBuilder.moduleData = original.moduleData copyBuilder.resolvePhase = original.resolvePhase copyBuilder.origin = original.origin copyBuilder.attributes = original.attributes.copy() 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 0b4738dff0a..9d155a45697 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 @@ -44,7 +44,7 @@ class FirTypeParameterBuilder : FirAnnotationContainerBuilder { override fun build(): FirTypeParameter { return FirTypeParameterImpl( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, 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 8f9da31275b..432732760d3 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 @@ -49,7 +49,7 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder { override fun build(): FirValueParameter { return FirValueParameterImpl( source, - declarationSiteSession, + moduleData, resolvePhase, origin, attributes, @@ -81,7 +81,7 @@ inline fun buildValueParameterCopy(original: FirValueParameter, init: FirValuePa } val copyBuilder = FirValueParameterBuilder() copyBuilder.source = original.source - copyBuilder.declarationSiteSession = original.declarationSiteSession + copyBuilder.moduleData = original.moduleData copyBuilder.resolvePhase = original.resolvePhase copyBuilder.origin = original.origin copyBuilder.attributes = original.attributes.copy() diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirModuleData.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirModuleData.kt new file mode 100644 index 00000000000..3c4494354fc --- /dev/null +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirModuleData.kt @@ -0,0 +1,29 @@ +/* + * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.fir + +import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.platform.TargetPlatform + +abstract class FirModuleData : FirSessionComponent { + abstract val name: Name + abstract val dependencies: List + abstract val dependsOnDependencies: List + abstract val friendDependencies: List + abstract val platform: TargetPlatform + abstract val session: FirSession +} + +class FirModuleDataImpl( + override val name: Name, + override val dependencies: List, + override val dependsOnDependencies: List, + override val friendDependencies: List, + override val platform: TargetPlatform, + override val session: FirSession, +) : FirModuleData() + +val FirSession.moduleData: FirModuleData by FirSession.sessionComponentAccessor() 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 4f637700029..5734f64661b 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 @@ -75,7 +75,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild } declaration.configure { - +field("declarationSiteSession", firSessionType) + +field("moduleData", firModuleDataType) +field("resolvePhase", resolvePhaseType, withReplace = true).apply { isMutable = true } +field("origin", declarationOriginType) +field("attributes", declarationAttributesType) 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 c819ce20b3b..d8c7ef82a3e 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 @@ -45,7 +45,7 @@ val whenRefType = generatedType("", "FirExpressionRef") val safeCallOriginalReceiverReferenceType = generatedType("", "FirExpressionRef") val safeCallCheckedSubjectReferenceType = generatedType("", "FirExpressionRef") -val firSessionType = type("fir", "FirSession") +val firModuleDataType = type("fir", "FirModuleData") val emptyCfgReferenceType = generatedType("references.impl", "FirEmptyControlFlowGraphReference") val noReceiverExpressionType = generatedType("expressions.impl", "FirNoReceiverExpression") val implicitTypeRefType = generatedType("types.impl", "FirImplicitTypeRefImpl")