[FIR] Replace declarationSiteSession with moduleData

This commit is contained in:
Dmitriy Novozhilov
2021-04-29 17:40:42 +03:00
committed by TeamCityServer
parent fa8d8ad503
commit a15316de24
21 changed files with 56 additions and 27 deletions
@@ -58,7 +58,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
override fun build(): FirAnonymousFunction {
return FirAnonymousFunctionImpl(
source,
declarationSiteSession,
moduleData,
origin,
attributes,
annotations,
@@ -38,7 +38,7 @@ class FirAnonymousInitializerBuilder : FirDeclarationBuilder {
override fun build(): FirAnonymousInitializer {
return FirAnonymousInitializerImpl(
source,
declarationSiteSession,
moduleData,
resolvePhase,
origin,
attributes,
@@ -53,7 +53,7 @@ class FirAnonymousObjectBuilder : FirDeclarationBuilder, FirClassBuilder, FirAnn
override fun build(): FirAnonymousObject {
return FirAnonymousObjectImpl(
source,
declarationSiteSession,
moduleData,
resolvePhase,
origin,
attributes,
@@ -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()
@@ -56,7 +56,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
override fun build(): FirValueParameter {
return FirDefaultSetterValueParameter(
source,
declarationSiteSession,
moduleData,
resolvePhase,
origin,
attributes,
@@ -53,7 +53,7 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
override fun build(): FirEnumEntry {
return FirEnumEntryImpl(
source,
declarationSiteSession,
moduleData,
resolvePhase,
origin,
attributes,
@@ -47,7 +47,7 @@ class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
override fun build(): FirErrorFunction {
return FirErrorFunctionImpl(
source,
declarationSiteSession,
moduleData,
resolvePhase,
origin,
attributes,
@@ -48,7 +48,7 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
override fun build(): FirErrorProperty {
return FirErrorPropertyImpl(
source,
declarationSiteSession,
moduleData,
resolvePhase,
origin,
attributes,
@@ -57,7 +57,7 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
override fun build(): FirField {
return FirFieldImpl(
source,
declarationSiteSession,
moduleData,
resolvePhase,
origin,
attributes,
@@ -42,7 +42,7 @@ class FirFileBuilder : FirAnnotationContainerBuilder {
override fun build(): FirFile {
return FirFileImpl(
source,
declarationSiteSession,
moduleData,
resolvePhase,
origin,
attributes,
@@ -56,7 +56,7 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
override fun build(): FirConstructor {
return FirPrimaryConstructor(
source,
declarationSiteSession,
moduleData,
resolvePhase,
origin,
attributes,
@@ -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()
@@ -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()
@@ -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()
@@ -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()
@@ -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()
@@ -44,7 +44,7 @@ class FirTypeParameterBuilder : FirAnnotationContainerBuilder {
override fun build(): FirTypeParameter {
return FirTypeParameterImpl(
source,
declarationSiteSession,
moduleData,
resolvePhase,
origin,
attributes,
@@ -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()
@@ -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<FirModuleData>
abstract val dependsOnDependencies: List<FirModuleData>
abstract val friendDependencies: List<FirModuleData>
abstract val platform: TargetPlatform
abstract val session: FirSession
}
class FirModuleDataImpl(
override val name: Name,
override val dependencies: List<FirModuleData>,
override val dependsOnDependencies: List<FirModuleData>,
override val friendDependencies: List<FirModuleData>,
override val platform: TargetPlatform,
override val session: FirSession,
) : FirModuleData()
val FirSession.moduleData: FirModuleData by FirSession.sessionComponentAccessor()
@@ -75,7 +75,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
}
declaration.configure {
+field("declarationSiteSession", firSessionType)
+field("moduleData", firModuleDataType)
+field("resolvePhase", resolvePhaseType, withReplace = true).apply { isMutable = true }
+field("origin", declarationOriginType)
+field("attributes", declarationAttributesType)
@@ -45,7 +45,7 @@ val whenRefType = generatedType("", "FirExpressionRef<FirWhenExpression>")
val safeCallOriginalReceiverReferenceType = generatedType("", "FirExpressionRef<FirExpression>")
val safeCallCheckedSubjectReferenceType = generatedType("", "FirExpressionRef<FirCheckedSafeCallSubject>")
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")