diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt index 052b15bd1df..660db72e117 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt @@ -420,8 +420,9 @@ fun FirCallableMemberDeclaration<*>.isVisibleInClass(parentClass: FirClass<*>): if (visibility == Visibilities.Private || !visibility.visibleFromPackage(classPackage, symbol.callableId.packageName) ) return false - if (visibility == Visibilities.Internal && - declarationSiteSession !== parentClass.declarationSiteSession + if ( + visibility == Visibilities.Internal && + (moduleData != parentClass.moduleData || parentClass.moduleData in moduleData.friendDependencies) ) return false return true } diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirConflictsChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirConflictsChecker.kt index a6ec260baf2..aec27a34260 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirConflictsChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirConflictsChecker.kt @@ -81,7 +81,7 @@ object FirConflictsChecker : FirBasicDeclarationChecker() { session: FirSession ) { val conflicting = conflictingSymbol.fir as? FirDeclaration ?: return - if (declaration.declarationSiteSession.moduleInfo != conflicting.declarationSiteSession.moduleInfo) return + if (declaration.moduleData != conflicting.moduleData) return val actualConflictingPresentation = conflictingPresentation ?: presenter.represent(conflicting) if (conflicting == declaration || actualConflictingPresentation != declarationPresentation) return val actualConflictingFile = diff --git a/compiler/fir/dump/src/org/jetbrains/kotlin/fir/dump/HtmlFirDump.kt b/compiler/fir/dump/src/org/jetbrains/kotlin/fir/dump/HtmlFirDump.kt index 0b52fd236a4..79c5b8edbc2 100644 --- a/compiler/fir/dump/src/org/jetbrains/kotlin/fir/dump/HtmlFirDump.kt +++ b/compiler/fir/dump/src/org/jetbrains/kotlin/fir/dump/HtmlFirDump.kt @@ -317,7 +317,7 @@ class MultiModuleHtmlFirDump(private val outputRoot: File) { require(inModule) val dumpOutput = index.files[file] ?: error("No location for ${file.name}") - val dumper = HtmlFirDump(LinkResolver(dumpOutput), file.declarationSiteSession) + val dumper = HtmlFirDump(LinkResolver(dumpOutput), file.moduleData.session) val builder = StringBuilder() dumper.generate(file, builder) diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/ComponentsContainers.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/ComponentsContainers.kt index e980cf9e6f6..3c58b27f8c3 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/ComponentsContainers.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/ComponentsContainers.kt @@ -93,3 +93,8 @@ fun FirSession.registerJavaSpecificResolveComponents() { register(FirSyntheticNamesProvider::class, FirJavaSyntheticNamesProvider) register(FirJsr305StateContainer::class, FirJsr305StateContainer.Default) } + +@OptIn(SessionConfiguration::class) +fun FirSession.registerModuleData(moduleData: FirModuleData) { + register(FirModuleData::class, moduleData) +} diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirModuleInfoBasedModuleData.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirModuleInfoBasedModuleData.kt new file mode 100644 index 00000000000..d37b486cbf9 --- /dev/null +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirModuleInfoBasedModuleData.kt @@ -0,0 +1,42 @@ +/* + * 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.session + +import org.jetbrains.kotlin.analyzer.ModuleInfo +import org.jetbrains.kotlin.fir.FirModuleData +import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.platform.TargetPlatform + +class FirModuleInfoBasedModuleData( + val moduleInfo: ModuleInfo, + override val session: FirSession +) : FirModuleData() { + override val name: Name + get() = moduleInfo.name + override val dependencies: List = moduleInfo.dependencies() + .filterNot { it == moduleInfo } + .map { FirModuleInfoBasedModuleData(it, session) } + + override val dependsOnDependencies: List = moduleInfo.expectedBy + .filterNot { it == moduleInfo } + .map { FirModuleInfoBasedModuleData(it, session) } + + override val friendDependencies: List = moduleInfo.modulesWhoseInternalsAreVisible() + .filterNot { it == moduleInfo } + .map { FirModuleInfoBasedModuleData(it, session) } + override val platform: TargetPlatform + get() = moduleInfo.platform + + override fun equals(other: Any?): Boolean { + if (other !is FirModuleInfoBasedModuleData) return false + return moduleInfo == other.moduleInfo + } + + override fun hashCode(): Int { + return moduleInfo.hashCode() + } +} diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt index daa927b155b..16d487f9a21 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt @@ -12,6 +12,7 @@ import org.jetbrains.annotations.TestOnly import org.jetbrains.kotlin.analyzer.ModuleInfo import org.jetbrains.kotlin.config.LanguageVersionSettings import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.PrivateSessionConstructor import org.jetbrains.kotlin.fir.SessionConfiguration @@ -78,6 +79,8 @@ object FirSessionFactory { init: FirSessionConfigurator.() -> Unit = {} ): FirJavaModuleBasedSession { return FirJavaModuleBasedSession(moduleInfo, sessionProvider).apply { + val moduleData = FirModuleInfoBasedModuleData(moduleInfo, this) + registerModuleData(moduleData) registerCliCompilerOnlyComponents() registerCommonComponents(languageVersionSettings) registerResolveComponents(lookupTracker) @@ -91,10 +94,15 @@ object FirSessionFactory { val deserializedJvmSymbolsProvider = if (additionalPackagePartProvider == null) null else { - val javaSymbolProvider = JavaSymbolProvider(this, project, additionalScope ?: scope) + val javaSymbolProvider = JavaSymbolProvider(this, moduleData, project, additionalScope ?: scope) makeDeserializedJvmSymbolsProvider( - project, additionalScope ?: scope, additionalPackagePartProvider, javaSymbolProvider, kotlinScopeProvider + moduleData, + project, + additionalScope ?: scope, + additionalPackagePartProvider, + javaSymbolProvider, + kotlinScopeProvider ) } @@ -104,7 +112,7 @@ object FirSessionFactory { this, listOfNotNull( firProvider.symbolProvider, - JavaSymbolProvider(this, project, scope), + JavaSymbolProvider(this, moduleData, project, scope), dependenciesProvider ?: FirDependenciesSymbolProviderImpl(this), deserializedJvmSymbolsProvider ) @@ -130,23 +138,24 @@ object FirSessionFactory { languageVersionSettings: LanguageVersionSettings = LanguageVersionSettingsImpl.DEFAULT, ): FirLibrarySession { return FirLibrarySession(moduleInfo, sessionProvider).apply { + val moduleData = FirModuleInfoBasedModuleData(moduleInfo, this) registerCliCompilerOnlyComponents() registerCommonComponents(languageVersionSettings) - val javaSymbolProvider = JavaSymbolProvider(this, project, scope) + val javaSymbolProvider = JavaSymbolProvider(this, moduleData, project, scope) val kotlinScopeProvider = FirKotlinScopeProvider(::wrapScopeWithJvmMapped) val deserializedJvmSymbolsProvider = makeDeserializedJvmSymbolsProvider( - project, scope, packagePartProvider, javaSymbolProvider, kotlinScopeProvider + moduleData, project, scope, packagePartProvider, javaSymbolProvider, kotlinScopeProvider ) val symbolProvider = FirCompositeSymbolProvider( this, listOf( deserializedJvmSymbolsProvider, - FirBuiltinSymbolProvider(this, kotlinScopeProvider), - FirCloneableSymbolProvider(this, kotlinScopeProvider), + FirBuiltinSymbolProvider(this, moduleData, kotlinScopeProvider), + FirCloneableSymbolProvider(this, moduleData, kotlinScopeProvider), javaSymbolProvider, FirDependenciesSymbolProviderImpl(this) ) @@ -156,7 +165,8 @@ object FirSessionFactory { } } - private fun FirSession.makeDeserializedJvmSymbolsProvider( + private fun makeDeserializedJvmSymbolsProvider( + moduleData: FirModuleData, project: Project, scope: GlobalSearchScope, packagePartProvider: PackagePartProvider, @@ -171,7 +181,7 @@ object FirSessionFactory { } return KotlinDeserializedJvmSymbolsProvider( - this, kotlinScopeProvider, packagePartProvider, kotlinClassFinder, javaSymbolProvider, javaClassFinder + moduleData, kotlinScopeProvider, packagePartProvider, kotlinClassFinder, javaSymbolProvider, javaClassFinder ) } diff --git a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/AbstractFirDeserializedSymbolsProvider.kt b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/AbstractFirDeserializedSymbolsProvider.kt index 2930f6646de..18641766db6 100644 --- a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/AbstractFirDeserializedSymbolsProvider.kt +++ b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/AbstractFirDeserializedSymbolsProvider.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.deserialization import com.intellij.openapi.progress.ProcessCanceledException -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.caches.* import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals @@ -39,9 +39,9 @@ class PackagePartsCacheData( typealias DeserializedClassPostProcessor = (FirRegularClassSymbol) -> Unit abstract class AbstractFirDeserializedSymbolsProvider( - session: FirSession, + val moduleData: FirModuleData, val kotlinScopeProvider: FirKotlinScopeProvider -) : FirSymbolProvider(session) { +) : FirSymbolProvider(moduleData.session) { // ------------------------ Caches ------------------------ @@ -110,7 +110,12 @@ abstract class AbstractFirDeserializedSymbolsProvider( val (nameResolver, classProto, annotationDeserializer, sourceElement, postProcessor) = result val symbol = FirRegularClassSymbol(classId) deserializeClassToSymbol( - classId, classProto, symbol, nameResolver, session, + classId, + classProto, + symbol, + nameResolver, + session, + moduleData, annotationDeserializer, kotlinScopeProvider, parentContext, diff --git a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt index e4d4829dfb6..0162362d91e 100644 --- a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt +++ b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt @@ -49,6 +49,7 @@ fun deserializeClassToSymbol( symbol: FirRegularClassSymbol, nameResolver: NameResolver, session: FirSession, + moduleData: FirModuleData, defaultAnnotationDeserializer: AbstractAnnotationDeserializer?, scopeProvider: FirScopeProvider, parentContext: FirDeserializationContext? = null, @@ -90,7 +91,7 @@ fun deserializeClassToSymbol( classId, classProto, nameResolver, - session, + moduleData, annotationDeserializer, FirConstDeserializer(session, (containerSource as? KotlinJvmBinarySourceElement)?.binaryClass), containerSource, @@ -102,7 +103,7 @@ fun deserializeClassToSymbol( } } buildRegularClass { - declarationSiteSession = session + this.moduleData = moduleData this.origin = origin name = classId.shortClassName this.status = status @@ -159,7 +160,7 @@ fun deserializeClassToSymbol( val enumType = ConeClassLikeTypeImpl(symbol.toLookupTag(), emptyArray(), false) val property = buildEnumEntry { - declarationSiteSession = session + this.moduleData = moduleData this.origin = FirDeclarationOrigin.Library returnTypeRef = buildResolvedTypeRef { type = enumType } name = enumEntryName @@ -182,11 +183,11 @@ fun deserializeClassToSymbol( if (classKind == ClassKind.ENUM_CLASS) { generateValuesFunction( - session, + moduleData, classId.packageFqName, classId.relativeClassName ) - generateValueOfFunction(session, classId.packageFqName, classId.relativeClassName) + generateValueOfFunction(moduleData, classId.packageFqName, classId.relativeClassName) } addCloneForArrayIfNeeded(classId, context.dispatchReceiver) @@ -255,7 +256,7 @@ private fun FirRegularClassBuilder.addCloneForArrayIfNeeded(classId: ClassId, di ) } declarations += buildSimpleFunction { - declarationSiteSession = this@addCloneForArrayIfNeeded.declarationSiteSession + moduleData = this@addCloneForArrayIfNeeded.moduleData origin = FirDeclarationOrigin.Library resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES returnTypeRef = buildResolvedTypeRef { diff --git a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt index 24effec5527..c2b90070abd 100644 --- a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt +++ b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.fir.deserialization import org.jetbrains.kotlin.descriptors.Modality +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.containingClassAttr import org.jetbrains.kotlin.fir.declarations.* @@ -15,7 +16,6 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.builder.buildExpressionStub import org.jetbrains.kotlin.fir.resolve.defaultType -import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.toEffectiveVisibility import org.jetbrains.kotlin.fir.types.* @@ -28,6 +28,7 @@ import org.jetbrains.kotlin.metadata.deserialization.* import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.protobuf.MessageLite import org.jetbrains.kotlin.serialization.deserialization.ProtoEnumFlags import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource @@ -37,7 +38,7 @@ class FirDeserializationContext( val nameResolver: NameResolver, val typeTable: TypeTable, val versionRequirementTable: VersionRequirementTable, - val session: FirSession, + val moduleData: FirModuleData, val packageFqName: FqName, val relativeClassName: FqName?, val typeDeserializer: FirTypeDeserializer, @@ -47,6 +48,8 @@ class FirDeserializationContext( val outerClassSymbol: FirRegularClassSymbol?, outerTypeParameters: List ) { + val session: FirSession = moduleData.session + val allTypeParameters: List = typeDeserializer.ownTypeParameters + outerTypeParameters @@ -63,10 +66,10 @@ class FirDeserializationContext( nameResolver, typeTable, versionRequirementTable, - session, + moduleData, packageFqName, relativeClassName, - FirTypeDeserializer(session, nameResolver, typeTable, annotationDeserializer, typeParameterProtos, typeDeserializer), + FirTypeDeserializer(moduleData, nameResolver, typeTable, annotationDeserializer, typeParameterProtos, typeDeserializer), annotationDeserializer, constDeserializer, containerSource, @@ -82,14 +85,14 @@ class FirDeserializationContext( fqName: FqName, packageProto: ProtoBuf.Package, nameResolver: NameResolver, - session: FirSession, + moduleData: FirModuleData, annotationDeserializer: AbstractAnnotationDeserializer, constDeserializer: FirConstDeserializer, containerSource: DeserializedContainerSource? ): FirDeserializationContext = createRootContext( nameResolver, TypeTable(packageProto.typeTable), - session, + moduleData, VersionRequirementTable.create(packageProto.versionRequirementTable), annotationDeserializer, constDeserializer, @@ -104,7 +107,7 @@ class FirDeserializationContext( classId: ClassId, classProto: ProtoBuf.Class, nameResolver: NameResolver, - session: FirSession, + moduleData: FirModuleData, annotationDeserializer: AbstractAnnotationDeserializer, constDeserializer: FirConstDeserializer, containerSource: DeserializedContainerSource?, @@ -112,7 +115,7 @@ class FirDeserializationContext( ): FirDeserializationContext = createRootContext( nameResolver, TypeTable(classProto.typeTable), - session, + moduleData, VersionRequirementTable.create(classProto.versionRequirementTable), annotationDeserializer, constDeserializer, @@ -126,7 +129,7 @@ class FirDeserializationContext( private fun createRootContext( nameResolver: NameResolver, typeTable: TypeTable, - session: FirSession, + moduleData: FirModuleData, versionRequirementTable: VersionRequirementTable, annotationDeserializer: AbstractAnnotationDeserializer, constDeserializer: FirConstDeserializer, @@ -139,11 +142,11 @@ class FirDeserializationContext( return FirDeserializationContext( nameResolver, typeTable, versionRequirementTable, - session, + moduleData, packageFqName, relativeClassName, FirTypeDeserializer( - session, + moduleData, nameResolver, typeTable, annotationDeserializer, @@ -175,7 +178,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) { val local = c.childContext(proto.typeParameterList) val classId = ClassId(c.packageFqName, name) return buildTypeAlias { - declarationSiteSession = c.session + moduleData = c.moduleData origin = FirDeclarationOrigin.Library this.name = name val visibility = ProtoEnumFlags.visibility(Flags.VISIBILITY.get(flags)) @@ -237,7 +240,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) { val effectiveVisibility = visibility.toEffectiveVisibility(classSymbol) if (Flags.IS_NOT_DEFAULT.get(getterFlags)) { buildPropertyAccessor { - declarationSiteSession = c.session + moduleData = c.moduleData origin = FirDeclarationOrigin.Library this.returnTypeRef = returnTypeRef resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES @@ -256,7 +259,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) { versionRequirementsTable = c.versionRequirementTable } } else { - FirDefaultPropertyGetter(null, c.session, FirDeclarationOrigin.Library, returnTypeRef, visibility, effectiveVisibility) + FirDefaultPropertyGetter(null, c.moduleData, FirDeclarationOrigin.Library, returnTypeRef, visibility, effectiveVisibility) }.apply { (annotations as MutableList) += c.annotationDeserializer.loadPropertyGetterAnnotations( @@ -274,7 +277,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) { val effectiveVisibility = visibility.toEffectiveVisibility(classSymbol) if (Flags.IS_NOT_DEFAULT.get(setterFlags)) { buildPropertyAccessor { - declarationSiteSession = c.session + moduleData = c.moduleData origin = FirDeclarationOrigin.Library this.returnTypeRef = FirImplicitUnitTypeRef(source) resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES @@ -299,7 +302,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) { versionRequirementsTable = c.versionRequirementTable } } else { - FirDefaultPropertySetter(null, c.session, FirDeclarationOrigin.Library, returnTypeRef, visibility, effectiveVisibility) + FirDefaultPropertySetter(null, c.moduleData, FirDeclarationOrigin.Library, returnTypeRef, visibility, effectiveVisibility) }.apply { (annotations as MutableList) += c.annotationDeserializer.loadPropertySetterAnnotations( @@ -312,7 +315,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) { val isVar = Flags.IS_VAR.get(flags) return buildProperty { - declarationSiteSession = c.session + moduleData = c.moduleData origin = FirDeclarationOrigin.Library this.returnTypeRef = returnTypeRef receiverTypeRef = proto.receiverType(c.typeTable)?.toTypeRef(local).apply { @@ -380,7 +383,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) { val local = c.childContext(proto.typeParameterList) val simpleFunction = buildSimpleFunction { - declarationSiteSession = c.session + moduleData = c.moduleData origin = FirDeclarationOrigin.Library returnTypeRef = proto.returnType(local.typeTable).toTypeRef(local) receiverTypeRef = proto.receiverType(local.typeTable)?.toTypeRef(local).apply { @@ -455,7 +458,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) { } else { FirConstructorBuilder() }.apply { - declarationSiteSession = c.session + moduleData = c.moduleData origin = FirDeclarationOrigin.Library returnTypeRef = delegatedSelfType val visibility = ProtoEnumFlags.visibility(Flags.VISIBILITY.get(flags)) @@ -508,7 +511,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) { val flags = if (proto.hasFlags()) proto.flags else 0 val name = c.nameResolver.getName(proto.name) buildValueParameter { - declarationSiteSession = c.session + moduleData = c.moduleData origin = FirDeclarationOrigin.Library returnTypeRef = proto.type(c.typeTable).toTypeRef(c) this.name = name diff --git a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirTypeDeserializer.kt b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirTypeDeserializer.kt index 28625e56f59..6de7f71c86d 100644 --- a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirTypeDeserializer.kt +++ b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirTypeDeserializer.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.deserialization import org.jetbrains.kotlin.builtins.functions.FunctionClassKind -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner import org.jetbrains.kotlin.fir.declarations.addDefaultBoundIfNecessary @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.firUnsafe import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag import org.jetbrains.kotlin.fir.symbols.ConeClassifierLookupTag import org.jetbrains.kotlin.fir.symbols.ConeTypeParameterLookupTag -import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol @@ -29,6 +28,7 @@ import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl import org.jetbrains.kotlin.metadata.ProtoBuf import org.jetbrains.kotlin.metadata.deserialization.* import org.jetbrains.kotlin.name.ClassId +import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.serialization.deserialization.ProtoEnumFlags import org.jetbrains.kotlin.serialization.deserialization.getClassId import org.jetbrains.kotlin.serialization.deserialization.getName @@ -36,7 +36,7 @@ import org.jetbrains.kotlin.types.Variance import java.util.* class FirTypeDeserializer( - val session: FirSession, + val moduleData: FirModuleData, val nameResolver: NameResolver, val typeTable: TypeTable, val annotationDeserializer: AbstractAnnotationDeserializer, @@ -66,7 +66,7 @@ class FirTypeDeserializer( typeParameterNames[name.asString()] = it } builders += FirTypeParameterBuilder().apply { - declarationSiteSession = session + moduleData = this@FirTypeDeserializer.moduleData origin = FirDeclarationOrigin.Library this.name = name this.symbol = symbol @@ -189,7 +189,7 @@ class FirTypeDeserializer( attributes: ConeAttributes ): ConeClassLikeType { val result = - when (functionTypeConstructor.toSymbol(session)!!.firUnsafe().typeParameters.size - arguments.size) { + when (functionTypeConstructor.toSymbol(moduleData.session)!!.firUnsafe().typeParameters.size - arguments.size) { 0 -> createSuspendFunctionTypeForBasicCase(functionTypeConstructor, arguments, isNullable, attributes) 1 -> { val arity = arguments.size - 1 diff --git a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirBuiltinSymbolProvider.kt b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirBuiltinSymbolProvider.kt index 7e4c7fdda4f..e0ff6ac5cb6 100644 --- a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirBuiltinSymbolProvider.kt +++ b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirBuiltinSymbolProvider.kt @@ -23,7 +23,6 @@ import org.jetbrains.kotlin.fir.resolve.defaultType import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider -import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef @@ -32,10 +31,7 @@ import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl import org.jetbrains.kotlin.metadata.ProtoBuf import org.jetbrains.kotlin.metadata.builtins.BuiltInsBinaryVersion import org.jetbrains.kotlin.metadata.deserialization.NameResolverImpl -import org.jetbrains.kotlin.name.CallableId -import org.jetbrains.kotlin.name.ClassId -import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.name.* import org.jetbrains.kotlin.serialization.deserialization.ProtoBasedClassDataFinder import org.jetbrains.kotlin.serialization.deserialization.builtins.BuiltInSerializerProtocol import org.jetbrains.kotlin.serialization.deserialization.getName @@ -46,7 +42,11 @@ import java.io.InputStream //TODO make thread safe @ThreadSafeMutableState -open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider: FirKotlinScopeProvider) : FirSymbolProvider(session) { +open class FirBuiltinSymbolProvider( + session: FirSession, + val moduleData: FirModuleData, + val kotlinScopeProvider: FirKotlinScopeProvider +) : FirSymbolProvider(session) { private data class SyntheticFunctionalInterfaceSymbolKey(val kind: FunctionClassKind, val arity: Int) @@ -61,7 +61,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider return packageFqNames.map { fqName -> val resourcePath = BuiltInSerializerProtocol.getBuiltInsFilePath(fqName) val inputStream = streamProvider(resourcePath) ?: throw IllegalStateException("Resource not found in classpath: $resourcePath") - BuiltInsPackageFragment(inputStream, fqName, session, kotlinScopeProvider) + BuiltInsPackageFragment(inputStream, fqName) } } @@ -85,7 +85,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider syntheticFunctionalInterfaceSymbols.getOrPut(SyntheticFunctionalInterfaceSymbolKey(kind, arity)) { FirRegularClassSymbol(this).apply symbol@{ buildRegularClass klass@{ - declarationSiteSession = session + moduleData = this@FirBuiltinSymbolProvider.moduleData origin = FirDeclarationOrigin.BuiltIns name = relativeClassName.shortName() status = FirResolvedDeclarationStatusImpl( @@ -107,7 +107,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider typeParameters.addAll( (1..arity).map { buildTypeParameter { - declarationSiteSession = session + moduleData = this@FirBuiltinSymbolProvider.moduleData resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES origin = FirDeclarationOrigin.BuiltIns name = Name.identifier("P$it") @@ -120,7 +120,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider ) typeParameters.add( buildTypeParameter { - declarationSiteSession = session + moduleData = this@FirBuiltinSymbolProvider.moduleData resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES origin = FirDeclarationOrigin.BuiltIns name = Name.identifier("R") @@ -196,7 +196,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider } addDeclaration( buildSimpleFunction { - declarationSiteSession = session + moduleData = this@FirBuiltinSymbolProvider.moduleData resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES origin = FirDeclarationOrigin.BuiltIns returnTypeRef = typeArguments.last() @@ -209,7 +209,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider valueParameters += typeArguments.dropLast(1).mapIndexed { index, typeArgument -> val parameterName = Name.identifier("p${index + 1}") buildValueParameter { - declarationSiteSession = session + moduleData = this@FirBuiltinSymbolProvider.moduleData origin = FirDeclarationOrigin.BuiltIns resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES returnTypeRef = typeArgument @@ -254,10 +254,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider override fun getTopLevelPropertySymbolsTo(destination: MutableList, packageFqName: FqName, name: Name) { } - private class BuiltInsPackageFragment( - stream: InputStream, val fqName: FqName, val session: FirSession, - val kotlinScopeProvider: FirKotlinScopeProvider, - ) { + private inner class BuiltInsPackageFragment(stream: InputStream, val fqName: FqName) { lateinit var version: BuiltInsBinaryVersion val packageProto: ProtoBuf.PackageFragment = run { @@ -282,7 +279,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider private val memberDeserializer by lazy { FirDeserializationContext.createForPackage( - fqName, packageProto.`package`, nameResolver, session, + fqName, packageProto.`package`, nameResolver, moduleData, FirBuiltinAnnotationDeserializer(session), FirConstDeserializer(session), containerSource = null @@ -305,9 +302,16 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider val classProto = classData.classProto deserializeClassToSymbol( - classId, classProto, symbol, nameResolver, session, - null, kotlinScopeProvider, parentContext, - null, + classId, + classProto, + symbol, + nameResolver, + session, + moduleData, + defaultAnnotationDeserializer = null, + kotlinScopeProvider, + parentContext, + containerSource = null, origin = FirDeclarationOrigin.BuiltIns, this::findAndDeserializeClass, ) diff --git a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirMetadataSerializer.kt b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirMetadataSerializer.kt index c529ad0c11d..53362e92b9d 100644 --- a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirMetadataSerializer.kt +++ b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirMetadataSerializer.kt @@ -79,7 +79,7 @@ class FirMetadataSerializer( val function = this return buildAnonymousFunction { val typeParameterSet = function.typeParameters.filterIsInstanceTo(mutableSetOf()) - declarationSiteSession = function.declarationSiteSession + moduleData = function.moduleData origin = FirDeclarationOrigin.Source symbol = FirAnonymousFunctionSymbol() returnTypeRef = function.returnTypeRef.approximated(toSuper = true, typeParameterSet) @@ -98,7 +98,7 @@ class FirMetadataSerializer( val accessor = this return buildPropertyAccessor { val typeParameterSet = accessor.typeParameters.toMutableSet() - declarationSiteSession = accessor.declarationSiteSession + moduleData = accessor.moduleData origin = FirDeclarationOrigin.Source returnTypeRef = accessor.returnTypeRef.approximated(toSuper = true, typeParameterSet) symbol = FirPropertyAccessorSymbol() @@ -118,7 +118,7 @@ class FirMetadataSerializer( val property = this return buildProperty { val typeParameterSet = property.typeParameters.toMutableSet() - declarationSiteSession = property.declarationSiteSession + moduleData = property.moduleData origin = FirDeclarationOrigin.Source symbol = FirPropertySymbol(property.symbol.callableId) returnTypeRef = property.returnTypeRef.approximated(toSuper = true, typeParameterSet) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt index 83dfdd03767..03f80703b2a 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt @@ -739,7 +739,7 @@ class Fir2IrDeclarationStorage( val field = this return buildProperty { source = field.source - declarationSiteSession = field.declarationSiteSession + moduleData = field.moduleData origin = field.origin returnTypeRef = field.returnTypeRef name = field.name diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt index c62983eff3c..bab43f871ea 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt @@ -574,7 +574,7 @@ class Fir2IrVisitor( override fun visitElvisExpression(elvisExpression: FirElvisExpression, data: Any?): IrElement { val firLhsVariable = buildProperty { source = elvisExpression.source - declarationSiteSession = session + moduleData = session.moduleData origin = FirDeclarationOrigin.Source returnTypeRef = elvisExpression.lhs.typeRef name = Name.special("") diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/FirMetadataSource.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/FirMetadataSource.kt index 888d210b16f..102961a22ed 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/FirMetadataSource.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/FirMetadataSource.kt @@ -14,7 +14,7 @@ sealed class FirMetadataSource : MetadataSource { abstract val fir: FirDeclaration val declarationSiteSession: FirSession - get() = fir.declarationSiteSession + get() = fir.moduleData.session override val name: Name? get() = when (val fir = fir) { diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt index 696d6aa75f8..ee0aab161d6 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt @@ -16,8 +16,8 @@ import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.builder.buildSimpleFunction import org.jetbrains.kotlin.fir.declarations.builder.buildValueParameter import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl +import org.jetbrains.kotlin.fir.moduleData import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope -import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol @@ -42,6 +42,7 @@ import org.jetbrains.kotlin.ir.types.classOrNull import org.jetbrains.kotlin.ir.types.classifierOrNull import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.ir.util.DataClassMembersGenerator +import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.util.OperatorNameConventions.EQUALS import org.jetbrains.kotlin.util.OperatorNameConventions.TO_STRING @@ -263,7 +264,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) { this.name = name this.symbol = FirNamedFunctionSymbol(CallableId(lookupTag.classId, name)) this.status = FirDeclarationStatusImpl(Visibilities.Public, Modality.FINAL) - declarationSiteSession = components.session + moduleData = components.session.moduleData this.returnTypeRef = when (returnType) { components.irBuiltIns.booleanType -> FirImplicitBooleanTypeRef(null) components.irBuiltIns.intType -> FirImplicitIntTypeRef(null) @@ -275,7 +276,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) { buildValueParameter { this.name = Name.identifier("other") origin = FirDeclarationOrigin.Synthetic - declarationSiteSession = components.session + moduleData = components.session.moduleData this.returnTypeRef = FirImplicitNullableAnyTypeRef(null) this.symbol = FirVariableSymbol(this.name) isCrossinline = false diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt index 9bfdb4b9196..1ad935654b8 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt @@ -46,6 +46,7 @@ import org.jetbrains.kotlin.util.OperatorNameConventions @ThreadSafeMutableState class JavaSymbolProvider( session: FirSession, + val baseModuleData: FirModuleData, val project: Project, private val searchScope: GlobalSearchScope, ) : FirSymbolProvider(session) { @@ -103,7 +104,7 @@ class JavaSymbolProvider( javaTypeParameterStack: JavaTypeParameterStack ): FirTypeParameter { return FirTypeParameterBuilder().apply { - declarationSiteSession = session + moduleData = this@JavaSymbolProvider.baseModuleData origin = FirDeclarationOrigin.Java this.name = this@toFirTypeParameter.name symbol = firSymbol @@ -230,7 +231,7 @@ class JavaSymbolProvider( val classIsAnnotation = javaClass.classKind == ClassKind.ANNOTATION_CLASS return buildJavaClass { source = (javaClass as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement() - declarationSiteSession = session + moduleData = this@JavaSymbolProvider.baseModuleData symbol = classSymbol name = javaClass.name val visibility = javaClass.visibility @@ -325,11 +326,11 @@ class JavaSymbolProvider( if (classKind == ClassKind.ENUM_CLASS) { generateValuesFunction( - session, + baseModuleData, classId.packageFqName, classId.relativeClassName ) - generateValueOfFunction(session, classId.packageFqName, classId.relativeClassName) + generateValueOfFunction(baseModuleData, classId.packageFqName, classId.relativeClassName) } if (classIsAnnotation) { declarations += @@ -373,7 +374,7 @@ class JavaSymbolProvider( return when { javaField.isEnumEntry -> buildEnumEntry { source = (javaField as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement() - declarationSiteSession = session + moduleData = this@JavaSymbolProvider.baseModuleData symbol = FirVariableSymbol(fieldId) name = fieldName status = FirResolvedDeclarationStatusImpl( @@ -395,7 +396,7 @@ class JavaSymbolProvider( } else -> buildJavaField { source = (javaField as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement() - declarationSiteSession = session + moduleData = this@JavaSymbolProvider.baseModuleData symbol = FirFieldSymbol(fieldId) name = fieldName status = FirResolvedDeclarationStatusImpl( @@ -443,7 +444,7 @@ class JavaSymbolProvider( val methodSymbol = FirNamedFunctionSymbol(methodId) val returnType = javaMethod.returnType return buildJavaMethod { - declarationSiteSession = session + moduleData = this@JavaSymbolProvider.baseModuleData source = (javaMethod as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement() symbol = methodSymbol name = methodName @@ -454,7 +455,7 @@ class JavaSymbolProvider( typeParameters += javaMethod.typeParameters.convertTypeParameters(javaTypeParameterStack) for ((index, valueParameter) in javaMethod.valueParameters.withIndex()) { valueParameters += valueParameter.toFirValueParameter( - this@JavaSymbolProvider.session, index, javaTypeParameterStack, + this@JavaSymbolProvider.session, moduleData, index, javaTypeParameterStack, ) } annotationBuilder = { javaMethod.annotations.map { it.toFirAnnotationCall(session, javaTypeParameterStack) } } @@ -491,7 +492,7 @@ class JavaSymbolProvider( buildJavaValueParameter { source = (javaMethod as? JavaElementImpl<*>)?.psi ?.toFirPsiSourceElement(FirFakeSourceElementKind.ImplicitJavaAnnotationConstructor) - declarationSiteSession = session + moduleData = this@JavaSymbolProvider.baseModuleData returnTypeRef = firJavaMethod.returnTypeRef name = javaMethod.name isVararg = javaMethod.returnType is JavaArrayType && javaMethod.name == VALUE_METHOD_NAME @@ -509,7 +510,7 @@ class JavaSymbolProvider( val constructorSymbol = FirConstructorSymbol(constructorId) return buildJavaConstructor { source = (javaConstructor as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement() - declarationSiteSession = session + moduleData = this@JavaSymbolProvider.baseModuleData symbol = constructorSymbol isInner = javaClass.outerClass != null && !javaClass.isStatic val isThisInner = this.isInner @@ -536,7 +537,7 @@ class JavaSymbolProvider( annotationBuilder = { javaConstructor.annotations.map { it.toFirAnnotationCall(session, javaTypeParameterStack) } } for ((index, valueParameter) in javaConstructor.valueParameters.withIndex()) { valueParameters += valueParameter.toFirValueParameter( - this@JavaSymbolProvider.session, index, javaTypeParameterStack, + this@JavaSymbolProvider.session, moduleData, index, javaTypeParameterStack, ) } } else { @@ -555,7 +556,7 @@ class JavaSymbolProvider( ): FirJavaConstructor { return buildJavaConstructor { source = classSource - declarationSiteSession = session + moduleData = this@JavaSymbolProvider.baseModuleData symbol = FirConstructorSymbol(constructorId) status = FirResolvedDeclarationStatusImpl(Visibilities.Public, Modality.FINAL, EffectiveVisibility.Public) returnTypeRef = buildResolvedTypeRef { diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt index b647f91c528..1ca20796b89 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaUtils.kt @@ -32,7 +32,6 @@ import org.jetbrains.kotlin.fir.resolve.toSymbol import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.expectedConeType import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.firUnsafe import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag -import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol import org.jetbrains.kotlin.fir.types.* @@ -48,6 +47,7 @@ import org.jetbrains.kotlin.load.java.typeEnhancement.TypeComponentPosition import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.types.ConstantValueKind import org.jetbrains.kotlin.types.Variance.* import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly @@ -57,6 +57,33 @@ import java.lang.annotation.Documented import java.lang.annotation.Retention import java.lang.annotation.Target import java.util.* +import kotlin.Any +import kotlin.Array +import kotlin.Boolean +import kotlin.BooleanArray +import kotlin.Byte +import kotlin.ByteArray +import kotlin.Char +import kotlin.CharArray +import kotlin.Double +import kotlin.DoubleArray +import kotlin.Float +import kotlin.FloatArray +import kotlin.Int +import kotlin.IntArray +import kotlin.Long +import kotlin.LongArray +import kotlin.Short +import kotlin.ShortArray +import kotlin.String +import kotlin.Suppress +import kotlin.also +import kotlin.arrayOf +import kotlin.emptyArray +import kotlin.error +import kotlin.let +import kotlin.run +import kotlin.to internal val JavaModifierListOwner.modality: Modality get() = when { @@ -586,11 +613,11 @@ internal fun MutableList.addAnnotationsFrom( } internal fun JavaValueParameter.toFirValueParameter( - session: FirSession, index: Int, javaTypeParameterStack: JavaTypeParameterStack + session: FirSession, moduleData: FirModuleData, index: Int, javaTypeParameterStack: JavaTypeParameterStack ): FirValueParameter { return buildJavaValueParameter { source = (this@toFirValueParameter as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement() - declarationSiteSession = session + this.moduleData = moduleData name = this@toFirValueParameter.name ?: Name.identifier("p$index") returnTypeRef = type.toFirJavaTypeRef(session, javaTypeParameterStack) isVararg = this@toFirValueParameter.isVararg 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 e261254efd0..1d0916ddb91 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 @@ -7,10 +7,10 @@ package org.jetbrains.kotlin.fir.java.declarations import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.Modality -import org.jetbrains.kotlin.fir.FirImplementationDetail -import org.jetbrains.kotlin.fir.FirSession -import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.descriptors.Visibility +import org.jetbrains.kotlin.fir.FirImplementationDetail +import org.jetbrains.kotlin.fir.FirModuleData +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.* @@ -31,7 +31,7 @@ import kotlin.properties.Delegates @OptIn(FirImplementationDetail::class) class FirJavaClass @FirImplementationDetail internal constructor( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val name: Name, override val annotations: MutableList, @@ -140,7 +140,7 @@ internal class FirJavaClassBuilder : FirRegularClassBuilder(), FirAnnotationCont override fun build(): FirJavaClass { return FirJavaClass( source, - declarationSiteSession, + moduleData, resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES, name, annotations, 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 0991532ce57..e10544e47eb 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 @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.java.declarations import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.fir.FirImplementationDetail -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.declarations.* @@ -29,7 +29,7 @@ import kotlin.properties.Delegates @OptIn(FirImplementationDetail::class) class FirJavaConstructor @FirImplementationDetail constructor( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override val symbol: FirConstructorSymbol, override val isPrimary: Boolean, override var returnTypeRef: FirTypeRef, @@ -151,7 +151,7 @@ class FirJavaConstructorBuilder : FirConstructorBuilder() { override fun build(): FirJavaConstructor { return FirJavaConstructor( source, - declarationSiteSession, + moduleData, symbol, isPrimary, returnTypeRef, 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 b42245b24c4..e6abd52f7e0 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 @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.java.declarations import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.fir.FirImplementationDetail -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.declarations.* @@ -33,7 +33,7 @@ import kotlin.properties.Delegates @OptIn(FirImplementationDetail::class) class FirJavaField @FirImplementationDetail constructor( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override val symbol: FirFieldSymbol, override val name: Name, override var resolvePhase: FirResolvePhase, @@ -156,7 +156,7 @@ internal class FirJavaFieldBuilder : FirFieldBuilder() { override fun build(): FirJavaField { return FirJavaField( source, - declarationSiteSession, + moduleData, symbol as FirFieldSymbol, name, resolvePhase, diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaMethod.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaMethod.kt index 35513031987..778990fee65 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaMethod.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaMethod.kt @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.java.declarations import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.fir.FirImplementationDetail -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -51,7 +51,7 @@ import kotlin.properties.Delegates @OptIn(FirImplementationDetail::class) class FirJavaMethod @FirImplementationDetail constructor( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val attributes: FirDeclarationAttributes, override var returnTypeRef: FirTypeRef, @@ -181,7 +181,7 @@ val ALL_JAVA_OPERATION_NAMES = @FirBuilderDsl class FirJavaMethodBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - override lateinit var declarationSiteSession: FirSession + override lateinit var moduleData: FirModuleData override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() override lateinit var returnTypeRef: FirTypeRef override val valueParameters: MutableList = mutableListOf() @@ -209,7 +209,7 @@ class FirJavaMethodBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder, override fun build(): FirJavaMethod { return FirJavaMethod( source, - declarationSiteSession, + moduleData, resolvePhase, attributes, returnTypeRef as FirJavaTypeRef, @@ -235,7 +235,7 @@ inline fun buildJavaMethodCopy(original: FirSimpleFunction, init: FirJavaMethodB } val copyBuilder = FirJavaMethodBuilder() copyBuilder.source = original.source - copyBuilder.declarationSiteSession = original.declarationSiteSession + copyBuilder.moduleData = original.moduleData copyBuilder.resolvePhase = original.resolvePhase copyBuilder.attributes = original.attributes.copy() copyBuilder.returnTypeRef = original.returnTypeRef diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaValueParameter.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaValueParameter.kt index 6975935de16..21dcaebc240 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaValueParameter.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaValueParameter.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.java.declarations import org.jetbrains.kotlin.fir.FirImplementationDetail -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.declarations.* @@ -27,7 +27,7 @@ import kotlin.contracts.contract @OptIn(FirImplementationDetail::class) class FirJavaValueParameter @FirImplementationDetail constructor( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val attributes: FirDeclarationAttributes, override var returnTypeRef: FirTypeRef, @@ -146,7 +146,7 @@ class FirJavaValueParameter @FirImplementationDetail constructor( @FirBuilderDsl class FirJavaValueParameterBuilder { var source: FirSourceElement? = null - lateinit var declarationSiteSession: FirSession + lateinit var moduleData: FirModuleData var attributes: FirDeclarationAttributes = FirDeclarationAttributes() lateinit var returnTypeRef: FirTypeRef lateinit var name: Name @@ -158,7 +158,7 @@ class FirJavaValueParameterBuilder { fun build(): FirJavaValueParameter { return FirJavaValueParameter( source, - declarationSiteSession, + moduleData, resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES, attributes, returnTypeRef, @@ -182,7 +182,7 @@ inline fun buildJavaValueParameterCopy(original: FirValueParameter, init: FirJav } val copyBuilder = FirJavaValueParameterBuilder() copyBuilder.source = original.source - copyBuilder.declarationSiteSession = original.declarationSiteSession + copyBuilder.moduleData = original.moduleData copyBuilder.attributes = original.attributes.copy() copyBuilder.returnTypeRef = original.returnTypeRef copyBuilder.name = original.name diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt index e6ab6f97c09..5946d5971c1 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.java.deserialization import com.intellij.openapi.progress.ProcessCanceledException import org.jetbrains.kotlin.descriptors.SourceElement +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.ThreadSafeMutableState import org.jetbrains.kotlin.fir.caches.* @@ -34,13 +35,13 @@ import org.jetbrains.kotlin.serialization.deserialization.IncompatibleVersionErr @ThreadSafeMutableState class KotlinDeserializedJvmSymbolsProvider( - session: FirSession, + moduleData: FirModuleData, kotlinScopeProvider: FirKotlinScopeProvider, private val packagePartProvider: PackagePartProvider, private val kotlinClassFinder: KotlinClassFinder, private val javaSymbolProvider: JavaSymbolProvider, javaClassFinder: JavaClassFinder, -) : AbstractFirDeserializedSymbolsProvider(session, kotlinScopeProvider) { +) : AbstractFirDeserializedSymbolsProvider(moduleData, kotlinScopeProvider) { private val knownNameInPackageCache = KnownNameInPackageCache(session, javaClassFinder) private val annotationsLoader = AnnotationsLoader(session) @@ -68,7 +69,7 @@ class KotlinDeserializedJvmSymbolsProvider( PackagePartsCacheData( packageProto, FirDeserializationContext.createForPackage( - packageFqName, packageProto, nameResolver, session, + packageFqName, packageProto, nameResolver, moduleData, JvmBinaryAnnotationDeserializer(session, kotlinJvmBinaryClass, kotlinClassFinder, byteContent), FirConstDeserializer(session, facadeBinaryClass ?: kotlinJvmBinaryClass), source diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt index f335e8e228a..03e2a6785f8 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt @@ -37,6 +37,8 @@ class FirSignatureEnhancement( private val session: FirSession, private val overridden: FirSimpleFunction.() -> List> ) { + private val moduleData = session.moduleData + private val javaTypeParameterStack: JavaTypeParameterStack = if (owner is FirJavaClass) owner.javaTypeParameterStack else JavaTypeParameterStack.EMPTY @@ -94,7 +96,7 @@ class FirSignatureEnhancement( val symbol = FirFieldSymbol(original.callableId) buildJavaField { source = firElement.source - declarationSiteSession = session + moduleData = this@FirSignatureEnhancement.moduleData this.symbol = symbol this.name = name returnTypeRef = newReturnTypeRef @@ -131,7 +133,7 @@ class FirSignatureEnhancement( setterDelegate?.symbol } return buildSyntheticProperty { - declarationSiteSession = session + moduleData = this@FirSignatureEnhancement.moduleData this.name = name symbol = FirAccessorSymbol(accessorSymbol.callableId, accessorSymbol.accessorId) delegateGetter = enhancedGetterSymbol.fir as FirSimpleFunction @@ -207,7 +209,7 @@ class FirSignatureEnhancement( buildValueParameter { source = valueParameter.source - declarationSiteSession = session + moduleData = this@FirSignatureEnhancement.moduleData origin = FirDeclarationOrigin.Enhancement returnTypeRef = enhancedReturnType this.name = valueParameter.name @@ -255,7 +257,7 @@ class FirSignatureEnhancement( } }.apply { source = firMethod.source - declarationSiteSession = session + moduleData = this@FirSignatureEnhancement.moduleData resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES origin = FirDeclarationOrigin.Enhancement this.valueParameters += newValueParameters @@ -265,7 +267,7 @@ class FirSignatureEnhancement( is FirJavaMethod -> { FirSimpleFunctionBuilder().apply { source = firMethod.source - declarationSiteSession = session + moduleData = this@FirSignatureEnhancement.moduleData origin = FirDeclarationOrigin.Enhancement returnTypeRef = newReturnTypeRef receiverTypeRef = newReceiverTypeRef diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaAnnotationSyntheticPropertiesScope.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaAnnotationSyntheticPropertiesScope.kt index a28447d955b..20e3a2135de 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaAnnotationSyntheticPropertiesScope.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaAnnotationSyntheticPropertiesScope.kt @@ -9,11 +9,12 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticPropertyAccessor +import org.jetbrains.kotlin.fir.moduleData import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor import org.jetbrains.kotlin.fir.scopes.FirTypeScope import org.jetbrains.kotlin.fir.scopes.ProcessorAction -import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.fir.symbols.impl.* +import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.Name @@ -43,7 +44,7 @@ class JavaAnnotationSyntheticPropertiesScope( val callableId = CallableId(classId, name) FirAccessorSymbol(callableId, callableId).also { val accessor = FirSyntheticPropertyAccessor(function, isGetter = true) - FirSyntheticProperty(session, name, isVar = false, it, function.status, function.resolvePhase, accessor) + FirSyntheticProperty(session.moduleData, name, isVar = false, it, function.status, function.resolvePhase, accessor) } } processor(symbol) diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt index d9158387868..7556e28d2fb 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt @@ -17,8 +17,6 @@ import org.jetbrains.kotlin.fir.scopes.* import org.jetbrains.kotlin.fir.scopes.impl.AbstractFirUseSiteMemberScope import org.jetbrains.kotlin.fir.scopes.jvm.computeJvmDescriptor import org.jetbrains.kotlin.fir.scopes.jvm.computeJvmSignature -import org.jetbrains.kotlin.name.CallableId -import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.load.java.BuiltinSpecialProperties @@ -28,7 +26,9 @@ import org.jetbrains.kotlin.load.java.SpecialGenericSignatures.Companion.ERASED_ import org.jetbrains.kotlin.load.java.SpecialGenericSignatures.Companion.sameAsBuiltinMethodWithErasedValueParameters import org.jetbrains.kotlin.load.java.SpecialGenericSignatures.Companion.sameAsRenamedInJvmBuiltin import org.jetbrains.kotlin.load.java.getPropertyNamesCandidatesByAccessorName +import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.types.AbstractTypeChecker class JavaClassUseSiteMemberScope( @@ -61,7 +61,7 @@ class JavaClassUseSiteMemberScope( ): FirAccessorSymbol { return accessorByNameMap.getOrPut(property.name) { buildSyntheticProperty { - declarationSiteSession = session + moduleData = session.moduleData name = property.name symbol = FirAccessorSymbol( accessorId = getterSymbol.callableId, diff --git a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ConverterUtil.kt b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ConverterUtil.kt index 0aae7c5eb10..6a56f295b41 100644 --- a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ConverterUtil.kt +++ b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ConverterUtil.kt @@ -11,9 +11,9 @@ import com.intellij.psi.tree.TokenSet import org.jetbrains.kotlin.KtNodeType import org.jetbrains.kotlin.KtNodeTypes.* import org.jetbrains.kotlin.descriptors.Modality -import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.fir.FirFakeSourceElementKind +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.builder.generateResolvedAccessExpression import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirVariable @@ -107,7 +107,7 @@ inline fun isClassLocal(classNode: LighterASTNode, getParent: LighterASTNode.() } fun generateDestructuringBlock( - session: FirSession, + moduleData: FirModuleData, multiDeclaration: DestructuringDeclaration, container: FirVariable<*>, tmpVariable: Boolean @@ -120,7 +120,7 @@ fun generateDestructuringBlock( for ((index, entry) in multiDeclaration.entries.withIndex()) { if (entry == null) continue statements += buildProperty { - declarationSiteSession = session + this.moduleData = moduleData origin = FirDeclarationOrigin.Source returnTypeRef = entry.returnTypeRef name = entry.name diff --git a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt index 5a9d07249d7..d177ecf96a1 100644 --- a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt +++ b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt @@ -107,7 +107,7 @@ class DeclarationsConverter( return buildFile { source = file.toFirSourceElement() origin = FirDeclarationOrigin.Source - declarationSiteSession = baseSession + moduleData = baseModuleData name = fileName packageFqName = context.packageFqName annotations += fileAnnotationList @@ -129,7 +129,7 @@ class DeclarationsConverter( CLASS, OBJECT_DECLARATION -> container += convertClass(node) as FirStatement FUN -> container += convertFunctionDeclaration(node) as FirStatement PROPERTY -> container += convertPropertyDeclaration(node) as FirStatement - DESTRUCTURING_DECLARATION -> container += convertDestructingDeclaration(node).toFirDestructingDeclaration(baseSession) + DESTRUCTURING_DECLARATION -> container += convertDestructingDeclaration(node).toFirDestructingDeclaration(baseModuleData) TYPEALIAS -> container += convertTypeAlias(node) as FirStatement CLASS_INITIALIZER -> container += convertAnonymousInitializer(node) as FirStatement else -> if (node.isExpression()) container += expressionConverter.getAsFirExpression(node) @@ -411,7 +411,7 @@ class DeclarationsConverter( buildRegularClass { source = classNode.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source name = className this.status = status @@ -487,7 +487,7 @@ class DeclarationsConverter( .filter { it.hasValOrVar() } .map { it.toFirProperty( - baseSession, + baseModuleData, callableIdForName(it.firValueParameter.name), classWrapper.hasExpect(), currentDispatchReceiverType() @@ -505,7 +505,6 @@ class DeclarationsConverter( if (modifiers.isDataClass() && firPrimaryConstructor != null) { val zippedParameters = properties.map { it.source!!.lighterASTNode to it } DataClassMembersGenerator( - baseSession, classNode, this, zippedParameters, @@ -518,13 +517,13 @@ class DeclarationsConverter( if (modifiers.isEnum()) { generateValuesFunction( - baseSession, + baseModuleData, context.packageFqName, context.className, modifiers.hasExpect() ) generateValueOfFunction( - baseSession, + baseModuleData, context.packageFqName, context.className, modifiers.hasExpect() @@ -548,7 +547,7 @@ class DeclarationsConverter( val objectDeclaration = objectLiteral.getChildNodesByType(OBJECT_DECLARATION).first() source = objectDeclaration.toFirSourceElement() origin = FirDeclarationOrigin.Source - declarationSiteSession = baseSession + moduleData = baseModuleData classKind = ClassKind.OBJECT scopeProvider = baseScopeProvider symbol = FirAnonymousObjectSymbol() @@ -639,7 +638,7 @@ class DeclarationsConverter( val enumEntryName = identifier.nameAsSafeName() return buildEnumEntry { source = enumEntry.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = classWrapper.delegatedSelfTypeRef name = enumEntryName @@ -657,7 +656,7 @@ class DeclarationsConverter( initializer = withChildClassName(enumEntryName) { buildAnonymousObject { source = enumEntry.toFirSourceElement(FirFakeSourceElementKind.EnumInitializer) - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source classKind = ClassKind.ENUM_ENTRY scopeProvider = baseScopeProvider @@ -795,7 +794,7 @@ class DeclarationsConverter( buildPrimaryConstructor { source = primaryConstructor?.toFirSourceElement() ?: selfTypeSource?.fakeElement(FirFakeSourceElementKind.ImplicitConstructor) - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = classWrapper.delegatedSelfTypeRef this.status = status @@ -825,7 +824,7 @@ class DeclarationsConverter( return buildAnonymousInitializer { source = anonymousInitializer.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source body = if (stubMode) buildEmptyExpressionBlock() else firBlock ?: buildEmptyExpressionBlock() } @@ -863,7 +862,7 @@ class DeclarationsConverter( val target = FirFunctionTarget(labelName = null, isLambda = false) return buildConstructor { source = secondaryConstructor.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = delegatedSelfTypeRef this.status = status @@ -956,7 +955,7 @@ class DeclarationsConverter( return withChildClassName(typeAliasName) { return@withChildClassName buildTypeAlias { source = typeAlias.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source name = typeAliasName status = FirDeclarationStatusImpl(modifiers.getVisibility(), Modality.FINAL).apply { @@ -1014,7 +1013,7 @@ class DeclarationsConverter( return buildProperty { source = propertySource - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = returnType name = propertyName @@ -1045,10 +1044,10 @@ class DeclarationsConverter( generateAccessorsByDelegate( delegateBuilder, classWrapper?.classBuilder, - baseSession, + baseModuleData, isExtension = false, - stubMode, - receiver + stubMode = stubMode, + receiver = receiver ) } else { this.isLocal = false @@ -1078,7 +1077,7 @@ class DeclarationsConverter( val convertedAccessors = accessors.map { convertGetterOrSetter(it, returnType, propertyVisibility, modifiers) } this.getter = convertedAccessors.find { it.isGetter } ?: FirDefaultPropertyGetter( - null, declarationSiteSession, FirDeclarationOrigin.Source, returnType, propertyVisibility + null, moduleData, FirDeclarationOrigin.Source, returnType, propertyVisibility ).also { it.status = defaultAccessorStatus() it.initContainingClassAttr() @@ -1087,7 +1086,7 @@ class DeclarationsConverter( this.setter = convertedAccessors.find { it.isSetter } ?: if (isVar) { FirDefaultPropertySetter( - null, declarationSiteSession, FirDeclarationOrigin.Source, returnType, propertyVisibility + null, moduleData, FirDeclarationOrigin.Source, returnType, propertyVisibility ).also { it.status = defaultAccessorStatus() it.initContainingClassAttr() @@ -1113,10 +1112,10 @@ class DeclarationsConverter( generateAccessorsByDelegate( delegateBuilder, classWrapper?.classBuilder, - baseSession, + baseModuleData, isExtension = receiverType != null, - stubMode, - receiver + stubMode = stubMode, + receiver = receiver ) } } @@ -1166,7 +1165,7 @@ class DeclarationsConverter( val name = identifier.nameAsSafeName() return buildProperty { source = entry.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = firType ?: implicitType this.name = name @@ -1191,7 +1190,7 @@ class DeclarationsConverter( var isGetter = true var returnType: FirTypeRef? = null var firValueParameters: FirValueParameter = buildDefaultSetterValueParameter { - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = propertyTypeRef symbol = FirVariableSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER) @@ -1227,7 +1226,7 @@ class DeclarationsConverter( return FirDefaultPropertyAccessor .createGetterOrSetter( sourceElement, - baseSession, + baseModuleData, FirDeclarationOrigin.Source, propertyTypeRef, accessorVisibility, @@ -1242,7 +1241,7 @@ class DeclarationsConverter( val target = FirFunctionTarget(labelName = null, isLambda = false) return buildPropertyAccessor { source = sourceElement - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = returnType ?: if (isGetter) propertyTypeRef else implicitUnitType symbol = FirPropertyAccessorSymbol() @@ -1313,7 +1312,7 @@ class DeclarationsConverter( return buildValueParameter { source = setterParameter.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = if (firValueParameter.returnTypeRef == implicitType) propertyTypeRef else firValueParameter.returnTypeRef name = firValueParameter.name @@ -1407,7 +1406,7 @@ class DeclarationsConverter( } return functionBuilder.apply { - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = returnType!! @@ -1575,7 +1574,7 @@ class DeclarationsConverter( delegateFields.add( buildField { source = firExpression!!.source?.fakeElement(FirFakeSourceElementKind.ClassDelegationField) - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Synthetic name = delegateName returnTypeRef = firTypeRef @@ -1651,7 +1650,7 @@ class DeclarationsConverter( return buildTypeParameter { source = typeParameter.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source name = identifier.nameAsSafeName() symbol = FirTypeParameterSymbol() @@ -1941,7 +1940,7 @@ class DeclarationsConverter( val name = identifier.nameAsSafeName() val firValueParameter = buildValueParameter { source = valueParameter.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = firType ?: implicitType this.name = name diff --git a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ExpressionsConverter.kt b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ExpressionsConverter.kt index 1e817828606..5206f69492a 100644 --- a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ExpressionsConverter.kt +++ b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ExpressionsConverter.kt @@ -135,7 +135,7 @@ class ExpressionsConverter( val target: FirFunctionTarget return buildAnonymousFunction { source = expressionSource - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = implicitType receiverTypeRef = implicitType @@ -153,7 +153,7 @@ class ExpressionsConverter( val name = DESTRUCTURING_NAME val multiParameter = buildValueParameter { source = valueParameter.firValueParameter.source - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = valueParameter.firValueParameter.returnTypeRef this.name = name @@ -164,7 +164,7 @@ class ExpressionsConverter( isVararg = false } destructuringStatements += generateDestructuringBlock( - this@ExpressionsConverter.baseSession, + baseModuleData, multiDeclaration, multiParameter, tmpVariable = false @@ -642,7 +642,7 @@ class ExpressionsConverter( buildProperty { source = it.toFirSourceElement() origin = FirDeclarationOrigin.Source - declarationSiteSession = baseSession + moduleData = baseModuleData returnTypeRef = variable.returnTypeRef name = variable.name initializer = variable.initializer @@ -958,7 +958,7 @@ class ExpressionsConverter( return buildBlock { source = fakeSource val iteratorVal = generateTemporaryVariable( - this@ExpressionsConverter.baseSession, + baseModuleData, rangeExpression.source?.fakeElement(FirFakeSourceElementKind.DesugaredForLoop), ITERATOR_NAME, buildFunctionCall { @@ -992,7 +992,7 @@ class ExpressionsConverter( val valueParameter = parameter ?: return@block val multiDeclaration = valueParameter.destructuringDeclaration val firLoopParameter = generateTemporaryVariable( - this@ExpressionsConverter.baseSession, + baseModuleData, valueParameter.firValueParameter.source, if (multiDeclaration != null) DESTRUCTURING_NAME else valueParameter.firValueParameter.name, buildFunctionCall { @@ -1007,7 +1007,7 @@ class ExpressionsConverter( ) if (multiDeclaration != null) { val destructuringBlock = generateDestructuringBlock( - this@ExpressionsConverter.baseSession, + baseModuleData, multiDeclaration, firLoopParameter, tmpVariable = true diff --git a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/fir/DestructuringDeclaration.kt b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/fir/DestructuringDeclaration.kt index 19c69a3a418..b8cc1b003a9 100644 --- a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/fir/DestructuringDeclaration.kt +++ b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/fir/DestructuringDeclaration.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.lightTree.fir -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.generateTemporaryVariable import org.jetbrains.kotlin.fir.declarations.FirVariable @@ -18,8 +18,8 @@ data class DestructuringDeclaration( val initializer: FirExpression, val source: FirSourceElement ) { - fun toFirDestructingDeclaration(session: FirSession): FirExpression { - val baseVariable = generateTemporaryVariable(session, source, "destruct", initializer) - return generateDestructuringBlock(session, this, baseVariable, tmpVariable = true) + fun toFirDestructingDeclaration(moduleData: FirModuleData): FirExpression { + val baseVariable = generateTemporaryVariable(moduleData, source, "destruct", initializer) + return generateDestructuringBlock(moduleData, this, baseVariable, tmpVariable = true) } -} \ No newline at end of file +} diff --git a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/fir/ValueParameter.kt b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/fir/ValueParameter.kt index a609f5da606..9a448ae228e 100644 --- a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/fir/ValueParameter.kt +++ b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/fir/ValueParameter.kt @@ -11,16 +11,16 @@ import org.jetbrains.kotlin.fir.declarations.builder.buildProperty import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertySetter -import org.jetbrains.kotlin.fir.diagnostics.DiagnosticKind import org.jetbrains.kotlin.fir.diagnostics.ConeSimpleDiagnostic +import org.jetbrains.kotlin.fir.diagnostics.DiagnosticKind import org.jetbrains.kotlin.fir.expressions.builder.buildQualifiedAccessExpression import org.jetbrains.kotlin.fir.lightTree.fir.modifier.Modifier import org.jetbrains.kotlin.fir.references.builder.buildPropertyFromParameterResolvedNamedReference -import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol import org.jetbrains.kotlin.fir.types.ConeClassLikeType import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef import org.jetbrains.kotlin.fir.types.builder.buildErrorTypeRef +import org.jetbrains.kotlin.name.CallableId class ValueParameter( private val isVal: Boolean, @@ -34,7 +34,7 @@ class ValueParameter( } fun toFirProperty( - session: FirSession, + moduleData: FirModuleData, callableId: CallableId, isExpect: Boolean, currentDispatchReceiver: ConeClassLikeType? @@ -51,7 +51,7 @@ class ValueParameter( source = parameterNode?.toFirLightSourceElement( parameterSource.treeStructure, FirFakeSourceElementKind.PropertyFromParameter ) - declarationSiteSession = session + this.moduleData = moduleData origin = FirDeclarationOrigin.Source returnTypeRef = type.copyWithNewSourceKind(FirFakeSourceElementKind.PropertyFromParameter) this.name = name @@ -76,14 +76,14 @@ class ValueParameter( annotations += this@ValueParameter.firValueParameter.annotations getter = FirDefaultPropertyGetter( null, - session, + moduleData, FirDeclarationOrigin.Source, type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor), modifiers.getVisibility() ) setter = if (this.isVar) FirDefaultPropertySetter( null, - session, + moduleData, FirDeclarationOrigin.Source, type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor), modifiers.getVisibility() diff --git a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/PsiConversionUtils.kt b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/PsiConversionUtils.kt index fc7788e77fe..d4c247b6303 100644 --- a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/PsiConversionUtils.kt +++ b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/PsiConversionUtils.kt @@ -82,7 +82,7 @@ internal fun Array.toFirWhenCondition( } internal fun generateDestructuringBlock( - session: FirSession, + moduleData: FirModuleData, multiDeclaration: KtDestructuringDeclaration, container: FirVariable<*>, tmpVariable: Boolean, @@ -101,7 +101,7 @@ internal fun generateDestructuringBlock( val name = entry.nameAsSafeName statements += buildProperty { source = entrySource - declarationSiteSession = session + this.moduleData = moduleData origin = FirDeclarationOrigin.Source returnTypeRef = entry.typeReference.toFirOrImplicitTypeRef() this.name = name diff --git a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt index 7feba2f2b9f..0ae8de1e588 100644 --- a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt +++ b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt @@ -330,7 +330,7 @@ open class RawFirBuilder( val accessorTarget = FirFunctionTarget(labelName = null, isLambda = false) buildPropertyAccessor { this.source = source - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = if (isGetter) { returnTypeReference?.convertSafe() ?: propertyTypeRef @@ -345,7 +345,7 @@ open class RawFirBuilder( if (!isGetter && valueParameters.isEmpty()) { valueParameters += buildDefaultSetterValueParameter { this.source = source.fakeElement(FirFakeSourceElementKind.DefaultAccessor) - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = propertyTypeRef symbol = FirVariableSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER) @@ -372,7 +372,7 @@ open class RawFirBuilder( FirDefaultPropertyAccessor .createGetterOrSetter( propertySource, - baseSession, + baseModuleData, FirDeclarationOrigin.Source, propertyTypeRef, accessorVisibility, @@ -397,7 +397,7 @@ open class RawFirBuilder( val name = nameAsSafeName return buildValueParameter { source = toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = when { typeReference != null -> typeReference.toFirOrErrorType() @@ -430,7 +430,7 @@ open class RawFirBuilder( val propertyName = nameAsSafeName return buildProperty { source = propertySource - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = type.copyWithNewSourceKind(FirFakeSourceElementKind.PropertyFromParameter) receiverTypeRef = null @@ -450,14 +450,14 @@ open class RawFirBuilder( val defaultAccessorSource = propertySource.fakeElement(FirFakeSourceElementKind.DefaultAccessor) getter = FirDefaultPropertyGetter( defaultAccessorSource, - baseSession, + baseModuleData, FirDeclarationOrigin.Source, type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor), visibility ) setter = if (isMutable) FirDefaultPropertySetter( defaultAccessorSource, - baseSession, + baseModuleData, FirDeclarationOrigin.Source, type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor), visibility @@ -570,7 +570,7 @@ open class RawFirBuilder( superTypeListEntry.delegateExpression?.toFirSourceElement(FirFakeSourceElementKind.ClassDelegationField) val delegateField = buildField { source = delegateSource - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Synthetic name = delegateName returnTypeRef = type @@ -680,7 +680,7 @@ open class RawFirBuilder( } return buildPrimaryConstructor { source = constructorSource - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = delegatedSelfTypeRef this.status = status @@ -699,7 +699,7 @@ open class RawFirBuilder( context.packageFqName = file.packageFqName return buildFile { source = file.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source name = file.name packageFqName = context.packageFqName @@ -727,7 +727,7 @@ open class RawFirBuilder( val ktEnumEntry = this@toFirEnumEntry return buildEnumEntry { source = toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = delegatedEnumSelfTypeRef name = nameAsSafeName @@ -745,7 +745,7 @@ open class RawFirBuilder( initializer = withChildClassName(nameAsSafeName) { buildAnonymousObject { source = toFirSourceElement(FirFakeSourceElementKind.EnumInitializer) - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source classKind = ClassKind.ENUM_ENTRY scopeProvider = this@RawFirBuilder.baseScopeProvider @@ -830,7 +830,7 @@ open class RawFirBuilder( buildRegularClass { source = classOrObject.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source name = classOrObject.nameAsSafeName this.status = status @@ -883,7 +883,6 @@ open class RawFirBuilder( val zippedParameters = classOrObject.primaryConstructorParameters.filter { it.hasValOrVar() } zip declarations.filterIsInstance() DataClassMembersGenerator( - baseSession, classOrObject, this, zippedParameters, @@ -902,13 +901,13 @@ open class RawFirBuilder( if (classOrObject.hasModifier(ENUM_KEYWORD)) { generateValuesFunction( - baseSession, + baseModuleData, context.packageFqName, context.className, classOrObject.hasExpectModifier() ) generateValueOfFunction( - baseSession, context.packageFqName, context.className, + baseModuleData, context.packageFqName, context.className, classOrObject.hasExpectModifier() ) } @@ -925,7 +924,7 @@ open class RawFirBuilder( return withChildClassName(ANONYMOUS_OBJECT_NAME) { buildAnonymousObject { source = objectDeclaration.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source classKind = ClassKind.OBJECT scopeProvider = baseScopeProvider @@ -961,7 +960,7 @@ open class RawFirBuilder( return withChildClassName(typeAlias.nameAsSafeName) { buildTypeAlias { source = typeAlias.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source name = typeAlias.nameAsSafeName status = FirDeclarationStatusImpl(typeAlias.visibility, Modality.FINAL).apply { @@ -1021,7 +1020,7 @@ open class RawFirBuilder( val target = FirFunctionTarget(labelName, isLambda = false) return functionBuilder.apply { source = function.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = returnType @@ -1084,7 +1083,7 @@ open class RawFirBuilder( val target: FirFunctionTarget return buildAnonymousFunction { source = literalSource - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = returnType receiverTypeRef = receiverType @@ -1098,7 +1097,7 @@ open class RawFirBuilder( val name = DESTRUCTURING_NAME val multiParameter = buildValueParameter { source = valueParameter.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = valueParameter.typeReference?.convertSafe() ?: buildImplicitTypeRef { source = multiDeclaration.toFirSourceElement(FirFakeSourceElementKind.ImplicitTypeRef) @@ -1110,7 +1109,7 @@ open class RawFirBuilder( isVararg = false } destructuringStatements += generateDestructuringBlock( - baseSession, + baseModuleData, multiDeclaration, multiParameter, tmpVariable = false, @@ -1169,7 +1168,7 @@ open class RawFirBuilder( val target = FirFunctionTarget(labelName = null, isLambda = false) return buildConstructor { source = this@toFirConstructor.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = delegatedSelfTypeRef val explicitVisibility = visibility @@ -1256,7 +1255,7 @@ open class RawFirBuilder( return buildProperty { source = propertySource - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = propertyType name = propertyName @@ -1279,7 +1278,14 @@ open class RawFirBuilder( } val receiver = delegateExpression?.toFirExpression("Incorrect delegate expression") - generateAccessorsByDelegate(delegateBuilder, null, baseSession, isExtension = false, stubMode, receiver) + generateAccessorsByDelegate( + delegateBuilder, + null, + baseModuleData, + isExtension = false, + stubMode = stubMode, + receiver = receiver + ) } else { isLocal = false receiverTypeRef = receiverTypeReference.convertSafe() @@ -1323,10 +1329,10 @@ open class RawFirBuilder( generateAccessorsByDelegate( delegateBuilder, ownerClassBuilder, - baseSession, + baseModuleData, isExtension = receiverTypeReference != null, - stubMode, - receiver + stubMode = stubMode, + receiver = receiver ) } } @@ -1341,7 +1347,7 @@ open class RawFirBuilder( override fun visitAnonymousInitializer(initializer: KtAnonymousInitializer, data: Unit): FirElement { return buildAnonymousInitializer { source = initializer.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source body = if (stubMode) buildEmptyExpressionBlock() else initializer.body.toFirBlock() } @@ -1476,7 +1482,7 @@ open class RawFirBuilder( val parameterName = parameter.nameAsSafeName return buildTypeParameter { source = parameter.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source name = parameterName symbol = FirTypeParameterSymbol() @@ -1632,7 +1638,7 @@ open class RawFirBuilder( val name = ktSubjectExpression.nameAsSafeName buildProperty { source = ktSubjectExpression.toFirSourceElement() - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = ktSubjectExpression.typeReference.toFirOrImplicitType() receiverTypeRef = null @@ -1743,7 +1749,7 @@ open class RawFirBuilder( source = fakeSource val rangeSource = expression.loopRange?.toFirSourceElement(FirFakeSourceElementKind.DesugaredForLoop) val iteratorVal = generateTemporaryVariable( - baseSession, rangeSource, ITERATOR_NAME, + baseModuleData, rangeSource, ITERATOR_NAME, buildFunctionCall { source = fakeSource calleeReference = buildSimpleNamedReference { @@ -1780,7 +1786,7 @@ open class RawFirBuilder( if (ktParameter != null) { val multiDeclaration = ktParameter.destructuringDeclaration val firLoopParameter = generateTemporaryVariable( - session = baseSession, source = expression.loopParameter?.toFirSourceElement(), + moduleData = baseModuleData, source = expression.loopParameter?.toFirSourceElement(), name = if (multiDeclaration != null) DESTRUCTURING_NAME else ktParameter.nameAsSafeName, initializer = buildFunctionCall { source = fakeSource @@ -1794,7 +1800,7 @@ open class RawFirBuilder( ) if (multiDeclaration != null) { val destructuringBlock = generateDestructuringBlock( - session = baseSession, + baseModuleData, multiDeclaration = multiDeclaration, container = firLoopParameter, tmpVariable = true, @@ -2132,11 +2138,11 @@ open class RawFirBuilder( override fun visitDestructuringDeclaration(multiDeclaration: KtDestructuringDeclaration, data: Unit): FirElement { val baseVariable = generateTemporaryVariable( - baseSession, multiDeclaration.toFirSourceElement(), "destruct", + baseModuleData, multiDeclaration.toFirSourceElement(), "destruct", multiDeclaration.initializer.toFirExpression("Initializer required for destructuring declaration", DiagnosticKind.Syntax), ) return generateDestructuringBlock( - baseSession, + baseModuleData, multiDeclaration, baseVariable, tmpVariable = true, diff --git a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt index 79bfc83b146..bd14ee924be 100644 --- a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt +++ b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt @@ -20,8 +20,6 @@ import org.jetbrains.kotlin.fir.expressions.builder.* import org.jetbrains.kotlin.fir.references.FirReference import org.jetbrains.kotlin.fir.references.builder.* import org.jetbrains.kotlin.fir.references.impl.FirSimpleNamedReference -import org.jetbrains.kotlin.name.CallableId -import org.jetbrains.kotlin.name.LocalCallableIdConstructor import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.ConeClassLikeType import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef @@ -31,7 +29,9 @@ import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl import org.jetbrains.kotlin.lexer.KtTokens.CLOSING_QUOTE import org.jetbrains.kotlin.lexer.KtTokens.OPEN_QUOTE +import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.name.LocalCallableIdConstructor import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.parsing.* import org.jetbrains.kotlin.types.ConstantValueKind @@ -39,6 +39,7 @@ import org.jetbrains.kotlin.util.OperatorNameConventions //T can be either PsiElement, or LighterASTNode abstract class BaseFirBuilder(val baseSession: FirSession, val context: Context = Context()) { + val baseModuleData: FirModuleData = baseSession.moduleData abstract fun T.toFirSourceElement(kind: FirFakeSourceElementKind? = null): FirSourceElement @@ -157,7 +158,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte bind( buildErrorFunction { source = baseSource - declarationSiteSession = baseSession + moduleData = baseModuleData origin = FirDeclarationOrigin.Source diagnostic = ConeSimpleDiagnostic(message, kind) symbol = FirErrorFunctionSymbol() @@ -502,7 +503,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte // initialValueVar is only used for postfix increment/decrement (stores the argument value before increment/decrement). val initialValueVar = generateTemporaryVariable( - this@BaseFirBuilder.baseSession, + baseModuleData, desugaredSource, Name.special(""), unwrappedArgument.convert() @@ -524,7 +525,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte // resultVar is only used for prefix increment/decrement. val resultVar = generateTemporaryVariable( - this@BaseFirBuilder.baseSession, + baseModuleData, desugaredSource, Name.special(""), resultInitializer @@ -606,7 +607,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte val argumentSelector = argument.selectorExpression val argumentReceiverVariable = generateTemporaryVariable( - this@BaseFirBuilder.baseSession, + baseModuleData, argumentReceiver?.toFirSourceElement(), Name.special(""), argumentReceiver?.convert() ?: buildErrorExpression { @@ -625,7 +626,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte // initialValueVar is only used for postfix increment/decrement (stores the argument value before increment/decrement). val initialValueVar = generateTemporaryVariable( - this@BaseFirBuilder.baseSession, + baseModuleData, desugaredSource, Name.special(""), firArgument @@ -647,7 +648,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte // resultVar is only used for prefix increment/decrement. val resultVar = generateTemporaryVariable( - this@BaseFirBuilder.baseSession, + baseModuleData, desugaredSource, Name.special(""), resultInitializer @@ -729,7 +730,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte requireNotNull(indices) { "No indices in ${baseExpression.asText}" } val arrayVariable = generateTemporaryVariable( - this@BaseFirBuilder.baseSession, + baseModuleData, array?.toFirSourceElement(), Name.special(""), array?.convert() ?: buildErrorExpression { @@ -740,7 +741,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte val indexVariables = indices.mapIndexed { i, index -> generateTemporaryVariable( - this@BaseFirBuilder.baseSession, + baseModuleData, index.toFirSourceElement(), Name.special(""), index.convert() @@ -763,7 +764,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte // initialValueVar is only used for postfix increment/decrement (stores the argument value before increment/decrement). val initialValueVar = generateTemporaryVariable( - this@BaseFirBuilder.baseSession, + baseModuleData, desugaredSource, Name.special(""), firArgument @@ -785,7 +786,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte // resultVar is only used for prefix increment/decrement. val resultVar = generateTemporaryVariable( - this@BaseFirBuilder.baseSession, + baseModuleData, desugaredSource, Name.special(""), resultInitializer @@ -1002,17 +1003,17 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte val baseCall = convert() as FirFunctionCall val arrayVariable = generateTemporaryVariable( - baseSession, + baseModuleData, source = null, - "", - baseCall.explicitReceiver ?: buildErrorExpression { + specialName = "", + initializer = baseCall.explicitReceiver ?: buildErrorExpression { source = baseSource diagnostic = ConeSimpleDiagnostic("No receiver for array access", DiagnosticKind.Syntax) } ) statements += arrayVariable val indexVariables = baseCall.arguments.mapIndexed { i, index -> - generateTemporaryVariable(baseSession, source = null, "", index) + generateTemporaryVariable(baseModuleData, source = null, specialName = "", initializer = index) } statements += indexVariables statements += buildFunctionCall { @@ -1060,7 +1061,6 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte } inner class DataClassMembersGenerator( - private val session: FirSession, private val source: T, private val classBuilder: FirRegularClassBuilder, private val zippedParameters: List>, @@ -1107,7 +1107,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte val parameterSource = sourceNode?.toFirSourceElement() val componentFunction = buildSimpleFunction { source = parameterSource?.fakeElement(FirFakeSourceElementKind.DataClassGeneratedMembers) - declarationSiteSession = session + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = firProperty.returnTypeRef receiverTypeRef = null @@ -1130,7 +1130,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte buildSimpleFunction { val classTypeRef = createClassTypeRefWithSourceKind(FirFakeSourceElementKind.DataClassGeneratedMembers) source = this@DataClassMembersGenerator.source.toFirSourceElement(FirFakeSourceElementKind.DataClassGeneratedMembers) - declarationSiteSession = session + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = classTypeRef name = copyName @@ -1144,7 +1144,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte createParameterTypeRefWithSourceKind(firProperty, FirFakeSourceElementKind.DataClassGeneratedMembers) valueParameters += buildValueParameter { source = parameterSource - declarationSiteSession = session + moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = propertyReturnTypeRef name = propertyName diff --git a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/ConversionUtils.kt b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/ConversionUtils.kt index 80aacd0c197..339e7a41297 100644 --- a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/ConversionUtils.kt +++ b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/ConversionUtils.kt @@ -271,14 +271,12 @@ fun generateResolvedAccessExpression(source: FirSourceElement?, variable: FirVar } } - - fun generateTemporaryVariable( - session: FirSession, source: FirSourceElement?, name: Name, initializer: FirExpression, typeRef: FirTypeRef? = null, + moduleData: FirModuleData, source: FirSourceElement?, name: Name, initializer: FirExpression, typeRef: FirTypeRef? = null, ): FirVariable<*> = buildProperty { this.source = source - declarationSiteSession = session + this.moduleData = moduleData origin = FirDeclarationOrigin.Source returnTypeRef = typeRef ?: buildImplicitTypeRef { this.source = source @@ -292,13 +290,13 @@ fun generateTemporaryVariable( } fun generateTemporaryVariable( - session: FirSession, source: FirSourceElement?, specialName: String, initializer: FirExpression, -): FirVariable<*> = generateTemporaryVariable(session, source, Name.special("<$specialName>"), initializer) + moduleData: FirModuleData, source: FirSourceElement?, specialName: String, initializer: FirExpression, +): FirVariable<*> = generateTemporaryVariable(moduleData, source, Name.special("<$specialName>"), initializer) fun FirPropertyBuilder.generateAccessorsByDelegate( delegateBuilder: FirWrappedDelegateExpressionBuilder?, ownerClassBuilder: FirClassBuilder?, - session: FirSession, + moduleData: FirModuleData, isExtension: Boolean, stubMode: Boolean, receiver: FirExpression? @@ -402,7 +400,7 @@ fun FirPropertyBuilder.generateAccessorsByDelegate( val returnTarget = FirFunctionTarget(null, isLambda = false) getter = buildPropertyAccessor { this.source = fakeSource - declarationSiteSession = session + this.moduleData = moduleData origin = FirDeclarationOrigin.Source returnTypeRef = buildImplicitTypeRef() isGetter = true @@ -434,14 +432,14 @@ fun FirPropertyBuilder.generateAccessorsByDelegate( val annotations = setter?.annotations setter = buildPropertyAccessor { this.source = fakeSource - declarationSiteSession = session + this.moduleData = moduleData origin = FirDeclarationOrigin.Source - returnTypeRef = session.builtinTypes.unitType + returnTypeRef = moduleData.session.builtinTypes.unitType isGetter = false status = FirDeclarationStatusImpl(Visibilities.Unknown, Modality.FINAL) val parameter = buildValueParameter { source = fakeSource - declarationSiteSession = session + this.moduleData = moduleData origin = FirDeclarationOrigin.Source returnTypeRef = buildImplicitTypeRef() name = DELEGATED_SETTER_PARAM diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/CopyUtils.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/CopyUtils.kt index d769dd12dfa..0bc064d1658 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/CopyUtils.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/CopyUtils.kt @@ -61,7 +61,7 @@ fun FirFunctionCall.copy( fun FirAnonymousFunction.copy( receiverTypeRef: FirTypeRef? = this.receiverTypeRef, source: FirSourceElement? = this.source, - session: FirSession = this.declarationSiteSession, + moduleData: FirModuleData = this.moduleData, origin: FirDeclarationOrigin = this.origin, returnTypeRef: FirTypeRef = this.returnTypeRef, valueParameters: List = this.valueParameters, @@ -74,7 +74,7 @@ fun FirAnonymousFunction.copy( ): FirAnonymousFunction { return buildAnonymousFunction { this.source = source - declarationSiteSession = session + this.moduleData = moduleData this.origin = origin this.returnTypeRef = returnTypeRef this.receiverTypeRef = receiverTypeRef @@ -122,7 +122,7 @@ fun FirTypeParameter.copy( ): FirTypeParameter { return buildTypeParameter { source = this@copy.source - declarationSiteSession = this@copy.declarationSiteSession + moduleData = this@copy.moduleData name = this@copy.name symbol = this@copy.symbol variance = this@copy.variance diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirVisibilityChecker.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirVisibilityChecker.kt index 3125187ec4f..20a0d4a3a4b 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirVisibilityChecker.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/FirVisibilityChecker.kt @@ -12,9 +12,9 @@ import org.jetbrains.kotlin.fir.resolve.calls.Candidate import org.jetbrains.kotlin.fir.resolve.calls.FirSyntheticFunctionSymbol import org.jetbrains.kotlin.fir.resolve.calls.ReceiverValue import org.jetbrains.kotlin.fir.resolve.firProvider -import org.jetbrains.kotlin.fir.resolve.symbolProvider import org.jetbrains.kotlin.fir.resolve.fullyExpandedType import org.jetbrains.kotlin.fir.resolve.lookupSuperTypes +import org.jetbrains.kotlin.fir.resolve.symbolProvider import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol @@ -70,11 +70,11 @@ abstract class FirVisibilityChecker : FirSessionComponent { val symbol = declaration.symbol return when (declaration.visibility) { Visibilities.Internal -> { - declaration.declarationSiteSession == session || session.moduleVisibilityChecker?.isInFriendModule(declaration) == true + declaration.moduleData == session.moduleData || session.moduleVisibilityChecker?.isInFriendModule(declaration) == true } Visibilities.Private, Visibilities.PrivateToThis -> { val ownerId = symbol.getOwnerId() - if (declaration.declarationSiteSession == session) { + if (declaration.moduleData == session.moduleData) { when { ownerId == null -> { val candidateFile = when (symbol) { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt index 14002a2bce2..10b5ac4ea64 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt @@ -14,15 +14,13 @@ import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.builder.FirTypeParameterBuilder import org.jetbrains.kotlin.fir.declarations.builder.buildSimpleFunction import org.jetbrains.kotlin.fir.declarations.builder.buildValueParameter -import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl import org.jetbrains.kotlin.fir.diagnostics.ConeIntermediateDiagnostic +import org.jetbrains.kotlin.fir.moduleData import org.jetbrains.kotlin.fir.resolve.calls.FirSyntheticFunctionSymbol import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap import org.jetbrains.kotlin.fir.scopes.impl.hasTypeOf import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope -import org.jetbrains.kotlin.name.CallableId -import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol @@ -32,7 +30,9 @@ import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl +import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.types.Variance abstract class FirSamResolver { @@ -133,7 +133,7 @@ class FirSamResolverImpl( val declaredTypeParameter = typeParameter.symbol.fir // TODO: or really declared? FirTypeParameterBuilder().apply { source = declaredTypeParameter.source - declarationSiteSession = firSession + moduleData = firSession.moduleData origin = FirDeclarationOrigin.SamConstructor name = declaredTypeParameter.name this.symbol = FirTypeParameterSymbol() @@ -165,7 +165,7 @@ class FirSamResolverImpl( } return buildSimpleFunction { - declarationSiteSession = firSession + moduleData = firSession.moduleData source = firRegularClass.source name = classId.shortClassName origin = FirDeclarationOrigin.SamConstructor @@ -200,7 +200,7 @@ class FirSamResolverImpl( } valueParameters += buildValueParameter { - declarationSiteSession = firSession + moduleData = firSession.moduleData origin = FirDeclarationOrigin.SamConstructor returnTypeRef = buildResolvedTypeRef { source = firRegularClass.source diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CandidateFactory.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CandidateFactory.kt index 89874f16906..508b6233f99 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CandidateFactory.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CandidateFactory.kt @@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.declarations.builder.buildErrorFunction import org.jetbrains.kotlin.fir.declarations.builder.buildErrorProperty import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic import org.jetbrains.kotlin.fir.expressions.* +import org.jetbrains.kotlin.fir.moduleData import org.jetbrains.kotlin.fir.returnExpressions import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol @@ -82,7 +83,7 @@ class CandidateFactory private constructor( private fun createErrorFunctionSymbol(diagnostic: ConeDiagnostic): FirErrorFunctionSymbol { return FirErrorFunctionSymbol().also { buildErrorFunction { - declarationSiteSession = context.session + moduleData = context.session.moduleData resolvePhase = FirResolvePhase.BODY_RESOLVE origin = FirDeclarationOrigin.Synthetic this.diagnostic = diagnostic @@ -94,7 +95,7 @@ class CandidateFactory private constructor( private fun createErrorPropertySymbol(diagnostic: ConeDiagnostic): FirErrorPropertySymbol { return FirErrorPropertySymbol(diagnostic).also { buildErrorProperty { - declarationSiteSession = context.session + moduleData = context.session.moduleData resolvePhase = FirResolvePhase.BODY_RESOLVE origin = FirDeclarationOrigin.Synthetic name = FirErrorPropertySymbol.NAME diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt index 9bc710f4962..eec9a42da1f 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt @@ -5,22 +5,24 @@ package org.jetbrains.kotlin.fir.resolve.calls -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction import org.jetbrains.kotlin.fir.declarations.isStatic import org.jetbrains.kotlin.fir.declarations.synthetic.buildSyntheticProperty -import org.jetbrains.kotlin.fir.dispatchReceiverClassOrNull import org.jetbrains.kotlin.fir.scopes.* -import org.jetbrains.kotlin.name.CallableId -import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.fir.symbols.SyntheticSymbol -import org.jetbrains.kotlin.fir.symbols.impl.* -import org.jetbrains.kotlin.fir.typeContext -import org.jetbrains.kotlin.fir.types.* +import org.jetbrains.kotlin.fir.symbols.impl.FirAccessorSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.types.ConeClassLikeType import org.jetbrains.kotlin.fir.types.ConeNullability.NOT_NULL -import org.jetbrains.kotlin.fir.unwrapFakeOverrides +import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef +import org.jetbrains.kotlin.fir.types.withNullability +import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.types.AbstractTypeChecker class FirSyntheticPropertySymbol( @@ -107,7 +109,7 @@ class FirSyntheticPropertiesScope( val className = classLookupTag?.classId?.relativeClassName val property = buildSyntheticProperty { - declarationSiteSession = session + moduleData = session.moduleData name = propertyName symbol = FirSyntheticPropertySymbol( accessorId = getterSymbol.callableId, diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirCallCompleter.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirCallCompleter.kt index a0b08cb2ef5..655a635765a 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirCallCompleter.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirCallCompleter.kt @@ -187,7 +187,7 @@ class FirCallCompleter( val itType = parameters.single() buildValueParameter { source = lambdaAtom.atom.source?.fakeElement(FirFakeSourceElementKind.ItLambdaParameter) - declarationSiteSession = session + moduleData = session.moduleData origin = FirDeclarationOrigin.Source returnTypeRef = itType.approximateLambdaInputType().toFirResolvedTypeRef() this.name = name diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirCloneableSymbolProvider.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirCloneableSymbolProvider.kt index ad19dc2f4ed..dfa64a8a7f8 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirCloneableSymbolProvider.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirCloneableSymbolProvider.kt @@ -9,6 +9,7 @@ import org.jetbrains.kotlin.builtins.StandardNames import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibilities +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.NoMutableState import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin @@ -20,15 +21,19 @@ import org.jetbrains.kotlin.fir.resolve.constructType import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals import org.jetbrains.kotlin.fir.scopes.FirScopeProvider -import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef +import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name @NoMutableState -class FirCloneableSymbolProvider(session: FirSession, scopeProvider: FirScopeProvider) : FirSymbolProvider(session) { +class FirCloneableSymbolProvider( + session: FirSession, + moduleData: FirModuleData, + scopeProvider: FirScopeProvider +) : FirSymbolProvider(session) { companion object { val CLONEABLE: Name = Name.identifier("Cloneable") val CLONEABLE_CLASS_ID: ClassId = ClassId(StandardNames.BUILT_INS_PACKAGE_FQ_NAME, CLONEABLE) @@ -39,7 +44,7 @@ class FirCloneableSymbolProvider(session: FirSession, scopeProvider: FirScopePro private val klass = buildRegularClass { resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES origin = FirDeclarationOrigin.Library - declarationSiteSession = session + this.moduleData = moduleData status = FirDeclarationStatusImpl( Visibilities.Public, Modality.ABSTRACT @@ -47,7 +52,7 @@ class FirCloneableSymbolProvider(session: FirSession, scopeProvider: FirScopePro classKind = ClassKind.INTERFACE symbol = FirRegularClassSymbol(CLONEABLE_CLASS_ID) declarations += buildSimpleFunction { - declarationSiteSession = session + this.moduleData = moduleData resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES origin = FirDeclarationOrigin.Library returnTypeRef = buildResolvedTypeRef { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractPhaseTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractPhaseTransformer.kt index dc7d0b28af2..6519a56e256 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractPhaseTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirAbstractPhaseTransformer.kt @@ -40,7 +40,7 @@ abstract class FirAbstractPhaseTransformer( } protected fun checkSessionConsistency(file: FirFile) { - assert(session === file.declarationSiteSession) { + assert(session === file.moduleData.session) { "File ${file.name} and transformer ${this::class} have inconsistent sessions" } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSyntheticCallGenerator.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSyntheticCallGenerator.kt index 5f798c9429e..989f468d177 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSyntheticCallGenerator.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSyntheticCallGenerator.kt @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.fir.resolve.transformers import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.resolve.createErrorReferenceWithExistingCandidate import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.builder.FirSimpleFunctionBuilder import org.jetbrains.kotlin.fir.declarations.builder.buildTypeParameter @@ -17,13 +16,14 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl import org.jetbrains.kotlin.fir.expressions.* import org.jetbrains.kotlin.fir.expressions.builder.buildArgumentList import org.jetbrains.kotlin.fir.expressions.builder.buildFunctionCall +import org.jetbrains.kotlin.fir.moduleData import org.jetbrains.kotlin.fir.references.FirReference import org.jetbrains.kotlin.fir.references.impl.FirStubReference import org.jetbrains.kotlin.fir.resolve.BodyResolveComponents import org.jetbrains.kotlin.fir.resolve.calls.* +import org.jetbrains.kotlin.fir.resolve.createErrorReferenceWithExistingCandidate import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeInapplicableCandidateError import org.jetbrains.kotlin.fir.resolvedTypeFromPrototype -import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.fir.symbols.SyntheticCallableId import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol @@ -34,6 +34,7 @@ import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef import org.jetbrains.kotlin.fir.types.builder.buildTypeProjectionWithVariance import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl import org.jetbrains.kotlin.fir.visitors.FirTransformer +import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.resolve.calls.tasks.ExplicitReceiverKind import org.jetbrains.kotlin.resolve.calls.tower.CandidateApplicability @@ -220,7 +221,7 @@ class FirSyntheticCallGenerator( val typeParameterSymbol = FirTypeParameterSymbol() val typeParameter = buildTypeParameter { - declarationSiteSession = session + moduleData = session.moduleData origin = FirDeclarationOrigin.Library name = Name.identifier("K") symbol = typeParameterSymbol @@ -321,7 +322,7 @@ class FirSyntheticCallGenerator( symbol: FirNamedFunctionSymbol, name: Name, returnType: FirTypeRef ): FirSimpleFunctionBuilder { return FirSimpleFunctionBuilder().apply { - declarationSiteSession = session + moduleData = session.moduleData origin = FirDeclarationOrigin.Synthetic this.symbol = symbol this.name = name @@ -346,7 +347,7 @@ class FirSyntheticCallGenerator( ): FirValueParameter { val name = Name.identifier(nameAsString) return buildValueParameter { - declarationSiteSession = session + moduleData = session.moduleData origin = FirDeclarationOrigin.Library this.name = name returnTypeRef = this@toValueParameter diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/PhaseUtils.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/PhaseUtils.kt index 3a34af3671b..c064458dcab 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/PhaseUtils.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/PhaseUtils.kt @@ -23,7 +23,7 @@ fun AbstractFirBasedSymbol<*>.ensureResolved( // TODO: Decide which one session should be used and probably get rid of the parameter if use-site session is not needed @Suppress("UNUSED_PARAMETER") useSiteSession: FirSession, ) { - val session = (fir as FirDeclaration).declarationSiteSession + val session = (fir as FirDeclaration).moduleData.session val phaseManager = session.phaseManager phaseManager.ensureResolved(this, requiredPhase) } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt index 621e35735a1..198ecf85fd5 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt @@ -653,7 +653,7 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor val name = Name.identifier("it") val itParam = buildValueParameter { source = lambda.source?.fakeElement(FirFakeSourceElementKind.ItLambdaParameter) - declarationSiteSession = session + moduleData = session.moduleData origin = FirDeclarationOrigin.Source returnTypeRef = singleParameterType.toFirResolvedTypeRef() this.name = name diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/contracts/FirContractResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/contracts/FirContractResolveTransformer.kt index f31622dc2b7..c7651d3b135 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/contracts/FirContractResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/contracts/FirContractResolveTransformer.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.resolve.transformers.contracts -import org.jetbrains.kotlin.fir.* +import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.contracts.FirLegacyRawContractDescription import org.jetbrains.kotlin.fir.contracts.FirRawContractDescription import org.jetbrains.kotlin.fir.contracts.builder.buildLegacyRawContractDescription @@ -16,8 +16,13 @@ import org.jetbrains.kotlin.fir.contracts.toFirEffectDeclaration import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.builder.buildAnonymousFunction import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty +import org.jetbrains.kotlin.fir.errorTypeFromPrototype import org.jetbrains.kotlin.fir.expressions.* -import org.jetbrains.kotlin.fir.expressions.builder.* +import org.jetbrains.kotlin.fir.expressions.builder.buildArgumentList +import org.jetbrains.kotlin.fir.expressions.builder.buildBlock +import org.jetbrains.kotlin.fir.expressions.builder.buildFunctionCall +import org.jetbrains.kotlin.fir.expressions.builder.buildLambdaArgumentExpression +import org.jetbrains.kotlin.fir.moduleData import org.jetbrains.kotlin.fir.references.builder.buildSimpleNamedReference import org.jetbrains.kotlin.fir.resolve.ResolutionMode import org.jetbrains.kotlin.fir.resolve.ScopeSession @@ -27,7 +32,7 @@ import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolve import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol import org.jetbrains.kotlin.fir.types.builder.buildImplicitTypeRef -import org.jetbrains.kotlin.fir.visitors.* +import org.jetbrains.kotlin.fir.visitors.transformSingle import org.jetbrains.kotlin.name.Name open class FirContractResolveTransformer( @@ -165,7 +170,7 @@ open class FirContractResolveTransformer( contractDescription: FirRawContractDescription ): T { val effectsBlock = buildAnonymousFunction { - declarationSiteSession = session + moduleData = session.moduleData origin = FirDeclarationOrigin.Source returnTypeRef = buildImplicitTypeRef() receiverTypeRef = buildImplicitTypeRef() diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractImportingScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractImportingScope.kt index 69b0f8fe9a9..f24a06b31aa 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractImportingScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirAbstractImportingScope.kt @@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration import org.jetbrains.kotlin.fir.declarations.FirResolvedImport import org.jetbrains.kotlin.fir.declarations.expandedConeType +import org.jetbrains.kotlin.fir.moduleData import org.jetbrains.kotlin.fir.moduleVisibilityChecker import org.jetbrains.kotlin.fir.resolve.ScopeSession import org.jetbrains.kotlin.fir.resolve.toSymbol @@ -37,7 +38,7 @@ enum class FirImportingScopeFilter { // though, "unknown" will always become public anyway. Visibilities.Unknown -> true Visibilities.Internal -> - symbol.fir.declarationSiteSession == session || session.moduleVisibilityChecker?.isInFriendModule(fir) == true + symbol.fir.moduleData == session.moduleData || session.moduleVisibilityChecker?.isInFriendModule(fir) == true // All non-`internal` visibilities are either even more restrictive (e.g. `private`) or must not // be checked in imports (e.g. `protected` may be valid in some use sites). else -> !fir.status.visibility.mustCheckInImports() diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt index 62102449004..9dc4a5ec717 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt @@ -8,25 +8,26 @@ package org.jetbrains.kotlin.fir.scopes.impl import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.copy import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.builder.* import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty import org.jetbrains.kotlin.fir.declarations.synthetic.buildSyntheticProperty +import org.jetbrains.kotlin.fir.moduleData import org.jetbrains.kotlin.fir.originalForSubstitutionOverrideAttr import org.jetbrains.kotlin.fir.resolve.substitution.ChainedSubstitutor import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap import org.jetbrains.kotlin.fir.scopes.FakeOverrideSubstitution import org.jetbrains.kotlin.fir.scopes.fakeOverrideSubstitution -import org.jetbrains.kotlin.name.CallableId -import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.builder.buildImplicitTypeRef import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl -import org.jetbrains.kotlin.fir.copy +import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.ClassId +import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.utils.addToStdlib.runIf object FirFakeOverrideGenerator { @@ -101,7 +102,7 @@ object FirFakeOverrideGenerator { ): FirSimpleFunction { return buildSimpleFunction { source = baseFunction.source - declarationSiteSession = session + moduleData = session.moduleData this.origin = origin name = baseFunction.name status = baseFunction.status.copy(isExpect, newModality, newVisibility) @@ -130,14 +131,20 @@ object FirFakeOverrideGenerator { // TODO: consider using here some light-weight functions instead of pseudo-real FirMemberFunctionImpl // As second alternative, we can invent some light-weight kind of FirRegularClass return buildConstructor { - declarationSiteSession = session + moduleData = session.moduleData origin = FirDeclarationOrigin.SubstitutionOverride receiverTypeRef = baseConstructor.receiverTypeRef?.withReplacedConeType(null) status = baseConstructor.status.copy(isExpect) symbol = fakeOverrideSymbol typeParameters += configureAnnotationsTypeParametersAndSignature( - session, baseConstructor, newParameterTypes, newTypeParameters, newReceiverType = null, newReturnType, fakeOverrideSubstitution + session, + baseConstructor, + newParameterTypes, + newTypeParameters, + newReceiverType = null, + newReturnType, + fakeOverrideSubstitution ) dispatchReceiverType = newDispatchReceiverType @@ -283,7 +290,7 @@ object FirFakeOverrideGenerator { ): FirProperty { return buildProperty { source = baseProperty.source - declarationSiteSession = session + moduleData = session.moduleData this.origin = origin name = baseProperty.name isVar = baseProperty.isVar @@ -392,7 +399,7 @@ object FirFakeOverrideGenerator { CallableId(derivedClassId ?: baseSymbol.callableId.classId!!, baseField.name) ) buildField { - declarationSiteSession = session + moduleData = session.moduleData this.symbol = symbol origin = FirDeclarationOrigin.SubstitutionOverride returnTypeRef = baseField.returnTypeRef.withReplacedConeType(newReturnType) @@ -448,7 +455,7 @@ object FirFakeOverrideGenerator { fakeOverrideSubstitution = fakeOverrideSubstitution ) return buildSyntheticProperty { - declarationSiteSession = session + moduleData = session.moduleData name = baseProperty.name symbol = FirAccessorSymbol(baseSymbol.callableId, baseSymbol.accessorId) delegateGetter = getter @@ -469,7 +476,7 @@ object FirFakeOverrideGenerator { if (typeParameter !is FirTypeParameter) return@map null FirTypeParameterBuilder().apply { source = typeParameter.source - declarationSiteSession = typeParameter.declarationSiteSession + moduleData = typeParameter.moduleData origin = FirDeclarationOrigin.SubstitutionOverride name = typeParameter.name symbol = FirTypeParameterSymbol() diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirTypeIntersectionScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirTypeIntersectionScope.kt index 8def58bb5c3..47c25d39dd9 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirTypeIntersectionScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirTypeIntersectionScope.kt @@ -12,9 +12,12 @@ import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor import org.jetbrains.kotlin.fir.scopes.* -import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.fir.symbols.impl.* -import org.jetbrains.kotlin.fir.types.* +import org.jetbrains.kotlin.fir.types.ConeFlexibleType +import org.jetbrains.kotlin.fir.types.ConeKotlinType +import org.jetbrains.kotlin.fir.types.classId +import org.jetbrains.kotlin.fir.types.coneTypeSafe +import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.types.AbstractTypeChecker import org.jetbrains.kotlin.types.AbstractTypeCheckerContext @@ -344,7 +347,7 @@ class FirTypeIntersectionScope private constructor( val newSymbol = FirIntersectionOverridePropertySymbol(mostSpecific.callableId, overrides) val mostSpecificProperty = mostSpecific.fir FirFakeOverrideGenerator.createCopyForFirProperty( - newSymbol, mostSpecificProperty, mostSpecificProperty.declarationSiteSession, FirDeclarationOrigin.IntersectionOverride, + newSymbol, mostSpecificProperty, session, FirDeclarationOrigin.IntersectionOverride, newModality = newModality, newVisibility = newVisibility, newDispatchReceiverType = dispatchReceiverType, diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnnotatedDeclaration.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnnotatedDeclaration.kt index 8a9b8718943..3f08af2aa1d 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnnotatedDeclaration.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirAnnotatedDeclaration.kt @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirAnnotationContainer import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.visitors.* @@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.visitors.* sealed interface FirAnnotatedDeclaration : FirDeclaration, FirAnnotationContainer { override val source: FirSourceElement? - override val declarationSiteSession: FirSession + override val moduleData: FirModuleData override val resolvePhase: FirResolvePhase override val origin: FirDeclarationOrigin override val attributes: FirDeclarationAttributes 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 85d1c85e0ee..1ec4f3f0b1f 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 @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.contracts.description.EventOccurrencesRange import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.FirLabel -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirBlock @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirAnonymousFunction : FirFunction, FirExpression(), FirTypeParametersOwner { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes 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 1c0e8324397..3350b0aa4e1 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 @@ -6,8 +6,8 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirPureAbstractElement -import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.FirSymbolOwner import org.jetbrains.kotlin.fir.expressions.FirBlock @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirAnonymousInitializer : FirPureAbstractElement(), FirDeclaration, FirSymbolOwner, FirControlFlowGraphOwner { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes 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 e33735f8136..ddc213c5bf6 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 @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirExpression @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirAnonymousObject : FirClass, FirControlFlowGraphOwner, FirExpression() { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes 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 67fb350b2fc..7a4a7105bb5 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.FirSymbolOwner import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.fir.visitors.* sealed interface FirCallableDeclaration> : FirTypedDeclaration, FirSymbolOwner { override val source: FirSourceElement? - override val declarationSiteSession: FirSession + override val moduleData: FirModuleData override val resolvePhase: FirResolvePhase override val origin: FirDeclarationOrigin override val attributes: FirDeclarationAttributes 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 f571e4f190c..65287a1184d 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.* sealed interface FirCallableMemberDeclaration> : FirCallableDeclaration, FirMemberDeclaration { override val source: FirSourceElement? - override val declarationSiteSession: FirSession + override val moduleData: FirModuleData override val resolvePhase: FirResolvePhase override val origin: FirDeclarationOrigin override val attributes: FirDeclarationAttributes 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 839fe71ebdc..3c9bd975ff7 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 @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirStatement @@ -23,7 +23,7 @@ import org.jetbrains.kotlin.fir.visitors.* sealed interface FirClass> : FirClassLikeDeclaration, FirStatement, FirTypeParameterRefsOwner { override val source: FirSourceElement? - override val declarationSiteSession: FirSession + override val moduleData: FirModuleData override val resolvePhase: FirResolvePhase override val origin: FirDeclarationOrigin override val attributes: FirDeclarationAttributes 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 4ba8da3cc4f..9386c371ba9 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.FirSymbolOwner import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.fir.visitors.* sealed interface FirClassLikeDeclaration> : FirAnnotatedDeclaration, FirStatement, FirSymbolOwner { override val source: FirSourceElement? - override val declarationSiteSession: FirSession + override val moduleData: FirModuleData override val resolvePhase: FirResolvePhase override val origin: FirDeclarationOrigin override val attributes: FirDeclarationAttributes 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 7ddf11ca035..ee02b8f6a1e 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 @@ -6,8 +6,8 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirPureAbstractElement -import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirBlock @@ -26,7 +26,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirConstructor : FirPureAbstractElement(), FirFunction, FirCallableMemberDeclaration, FirTypeParameterRefsOwner { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes 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 4b8bddb71eb..2c4f7f7aa8a 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.visitors.* @@ -17,7 +17,7 @@ import org.jetbrains.kotlin.fir.visitors.* sealed interface FirDeclaration : FirElement { override val source: FirSourceElement? - val declarationSiteSession: FirSession + val moduleData: FirModuleData val resolvePhase: FirResolvePhase val origin: FirDeclarationOrigin val attributes: FirDeclarationAttributes 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 74b0b0d6dcc..31f9432257c 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirExpression @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirEnumEntry : FirVariable(), FirCallableMemberDeclaration { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes 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 f20f17f848c..7b72bbe86a9 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 @@ -6,8 +6,8 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirPureAbstractElement -import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic import org.jetbrains.kotlin.fir.diagnostics.FirDiagnosticHolder @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirErrorFunction : FirPureAbstractElement(), FirFunction, FirDiagnosticHolder, FirTypeParametersOwner { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorProperty.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorProperty.kt index b41724aacb9..7c923ca401d 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorProperty.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirErrorProperty.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic import org.jetbrains.kotlin.fir.diagnostics.FirDiagnosticHolder @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder, FirTypeParametersOwner { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes 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 2a89279ace0..df5d39c9141 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirExpression @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirField : FirVariable(), FirTypeParametersOwner, FirCallableMemberDeclaration { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes 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 74c2bab5c1c..3e06f52bcb8 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 @@ -6,8 +6,8 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirPureAbstractElement -import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.name.FqName @@ -20,7 +20,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirFile : FirPureAbstractElement(), FirAnnotatedDeclaration { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes 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 77d7bb30075..49097714d46 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.FirTargetElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.* sealed interface FirFunction> : FirCallableDeclaration, FirTargetElement, FirTypeParameterRefsOwner, FirControlFlowGraphOwner, FirStatement { override val source: FirSourceElement? - override val declarationSiteSession: FirSession + override val moduleData: FirModuleData override val resolvePhase: FirResolvePhase override val origin: FirDeclarationOrigin override val attributes: FirDeclarationAttributes 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 c61d239ae2f..0f95413796c 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.visitors.* @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.visitors.* sealed interface FirMemberDeclaration : FirAnnotatedDeclaration, FirTypeParameterRefsOwner { override val source: FirSourceElement? - override val declarationSiteSession: FirSession + override val moduleData: FirModuleData override val resolvePhase: FirResolvePhase override val origin: FirDeclarationOrigin override val attributes: FirDeclarationAttributes 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 3054ce7be0f..23abcc73dfb 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirExpression @@ -27,7 +27,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFlowGraphOwner, FirCallableMemberDeclaration { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes 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 61962e94d9a..3ca07091784 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 @@ -6,8 +6,8 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirPureAbstractElement -import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.contracts.FirContractDescription import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall @@ -26,7 +26,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirPropertyAccessor : FirPureAbstractElement(), FirFunction, FirCallableMemberDeclaration, FirContractDescriptionOwner, FirTypeParametersOwner { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirRegularClass.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirRegularClass.kt index 8165d34fb07..87e6fcaefc1 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirRegularClass.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirRegularClass.kt @@ -7,8 +7,8 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.fir.FirElement +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirPureAbstractElement -import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirRegularClass : FirPureAbstractElement(), FirMemberDeclaration, FirTypeParameterRefsOwner, FirControlFlowGraphOwner, FirClass { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes 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 2dec55aee2f..89d0e288a2c 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 @@ -6,8 +6,8 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirPureAbstractElement -import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.contracts.FirContractDescription import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall @@ -27,7 +27,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirSimpleFunction : FirPureAbstractElement(), FirFunction, FirCallableMemberDeclaration, FirContractDescriptionOwner, FirTypeParametersOwner { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeAlias.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeAlias.kt index 8f78b5b1ea8..2e5bb6d31b0 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeAlias.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeAlias.kt @@ -6,8 +6,8 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirPureAbstractElement -import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.symbols.impl.FirTypeAliasSymbol @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirTypeAlias : FirPureAbstractElement(), FirClassLikeDeclaration, FirMemberDeclaration, FirTypeParametersOwner { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes 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 eedd4ece2dc..9c5d454c74a 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 @@ -6,8 +6,8 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirPureAbstractElement -import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.FirSymbolOwner import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirTypeParameter : FirPureAbstractElement(), FirTypeParameterRef, FirAnnotatedDeclaration, FirSymbolOwner { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes 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 384eb44e437..6284a31bb58 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.types.FirTypeRef @@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.visitors.* sealed interface FirTypedDeclaration : FirAnnotatedDeclaration { override val source: FirSourceElement? - override val declarationSiteSession: FirSession + override val moduleData: FirModuleData override val resolvePhase: FirResolvePhase override val origin: FirDeclarationOrigin override val attributes: FirDeclarationAttributes 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 b1d1b6bd156..c2b06c0b727 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirExpression @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.* abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes 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 93c2e4547c4..49ce82e95b0 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 @@ -6,8 +6,8 @@ package org.jetbrains.kotlin.fir.declarations import org.jetbrains.kotlin.fir.FirElement +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirPureAbstractElement -import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirExpression @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.fir.visitors.* sealed class FirVariable> : FirPureAbstractElement(), FirCallableDeclaration, FirAnnotatedDeclaration, FirStatement { abstract override val source: FirSourceElement? - abstract override val declarationSiteSession: FirSession + abstract override val moduleData: FirModuleData abstract override val resolvePhase: FirResolvePhase abstract override val origin: FirDeclarationOrigin abstract override val attributes: FirDeclarationAttributes diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAbstractConstructorBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAbstractConstructorBuilder.kt index 2d8512686cb..a63e6c30bcb 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAbstractConstructorBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirAbstractConstructorBuilder.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.builder -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.declarations.FirConstructor @@ -34,7 +34,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ @FirBuilderDsl interface FirAbstractConstructorBuilder : FirFunctionBuilder { abstract override var source: FirSourceElement? - abstract override var declarationSiteSession: FirSession + abstract override var moduleData: FirModuleData abstract override var resolvePhase: FirResolvePhase abstract override var origin: FirDeclarationOrigin abstract override var attributes: FirDeclarationAttributes 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 ad98d266123..c5f634eaa6a 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 @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* import org.jetbrains.kotlin.contracts.description.EventOccurrencesRange import org.jetbrains.kotlin.fir.FirLabel -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -38,7 +38,7 @@ import org.jetbrains.kotlin.fir.visitors.* @FirBuilderDsl class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder { override var source: FirSourceElement? = null - override lateinit var declarationSiteSession: FirSession + override lateinit var moduleData: FirModuleData override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() override val annotations: MutableList = mutableListOf() 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 c1aa6eb96f5..f99d1d3210a 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer @@ -28,7 +28,7 @@ import org.jetbrains.kotlin.fir.visitors.* @FirBuilderDsl class FirAnonymousInitializerBuilder : FirDeclarationBuilder { override var source: FirSourceElement? = null - override lateinit var declarationSiteSession: FirSession + override lateinit var moduleData: FirModuleData override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() 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 e5f4c4e19b3..e8c355970ac 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 @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* import org.jetbrains.kotlin.descriptors.ClassKind -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -37,7 +37,7 @@ import org.jetbrains.kotlin.fir.visitors.* @FirBuilderDsl class FirAnonymousObjectBuilder : FirDeclarationBuilder, FirClassBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder { override var source: FirSourceElement? = null - override lateinit var declarationSiteSession: FirSession + override lateinit var moduleData: FirModuleData override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirClassBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirClassBuilder.kt index efad49e4099..8828da01901 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirClassBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirClassBuilder.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import org.jetbrains.kotlin.descriptors.ClassKind -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -30,7 +30,7 @@ import org.jetbrains.kotlin.fir.visitors.* @FirBuilderDsl interface FirClassBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder { abstract override var source: FirSourceElement? - abstract override var declarationSiteSession: FirSession + abstract override var moduleData: FirModuleData abstract override var resolvePhase: FirResolvePhase abstract override var origin: FirDeclarationOrigin abstract override var attributes: FirDeclarationAttributes 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 18b773adf7f..e57d92f21ef 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -37,7 +37,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ @FirBuilderDsl open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - override lateinit var declarationSiteSession: FirSession + override lateinit var moduleData: FirModuleData override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirDeclarationBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirDeclarationBuilder.kt index c131f054984..5805b59a3ed 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirDeclarationBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirDeclarationBuilder.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.builder -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirBuilderDsl import org.jetbrains.kotlin.fir.declarations.FirDeclaration @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.* @FirBuilderDsl interface FirDeclarationBuilder { abstract var source: FirSourceElement? - abstract var declarationSiteSession: FirSession + abstract var moduleData: FirModuleData abstract var resolvePhase: FirResolvePhase abstract var origin: FirDeclarationOrigin abstract var attributes: FirDeclarationAttributes 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 6a22da537f3..f82d29d7c6b 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -33,7 +33,7 @@ import org.jetbrains.kotlin.name.Name @FirBuilderDsl class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - lateinit var declarationSiteSession: FirSession + lateinit var moduleData: FirModuleData var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR lateinit var origin: FirDeclarationOrigin var attributes: FirDeclarationAttributes = FirDeclarationAttributes() 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 9a031b27da5..093e24bc284 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -36,7 +36,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ @FirBuilderDsl class FirEnumEntryBuilder : FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - lateinit var declarationSiteSession: FirSession + lateinit var moduleData: FirModuleData var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR lateinit var origin: FirDeclarationOrigin var attributes: FirDeclarationAttributes = FirDeclarationAttributes() 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 911e3a0d5b9..a2a68892f4f 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -34,7 +34,7 @@ import org.jetbrains.kotlin.fir.visitors.* @FirBuilderDsl class FirErrorFunctionBuilder : FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - lateinit var declarationSiteSession: FirSession + lateinit var moduleData: FirModuleData var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR lateinit var origin: FirDeclarationOrigin var attributes: FirDeclarationAttributes = FirDeclarationAttributes() 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 747e1776039..a7437272d04 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -35,7 +35,7 @@ import org.jetbrains.kotlin.name.Name @FirBuilderDsl class FirErrorPropertyBuilder : FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - lateinit var declarationSiteSession: FirSession + lateinit var moduleData: FirModuleData var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR lateinit var origin: FirDeclarationOrigin var attributes: FirDeclarationAttributes = FirDeclarationAttributes() 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 e2967932042..8084c5d9a12 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 @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* import org.jetbrains.kotlin.fir.FirImplementationDetail -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -38,7 +38,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ @FirBuilderDsl open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - override lateinit var declarationSiteSession: FirSession + override lateinit var moduleData: FirModuleData override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() 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 743ce79ea50..e36ec4bdc37 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -29,7 +29,7 @@ import org.jetbrains.kotlin.name.FqName @FirBuilderDsl class FirFileBuilder : FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - lateinit var declarationSiteSession: FirSession + lateinit var moduleData: FirModuleData var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR lateinit var origin: FirDeclarationOrigin var attributes: FirDeclarationAttributes = FirDeclarationAttributes() diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFunctionBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFunctionBuilder.kt index 95d5020d001..e10ff379b7e 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFunctionBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirFunctionBuilder.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.builder -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -28,7 +28,7 @@ import org.jetbrains.kotlin.fir.visitors.* @FirBuilderDsl interface FirFunctionBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder { abstract override var source: FirSourceElement? - abstract override var declarationSiteSession: FirSession + abstract override var moduleData: FirModuleData abstract override var resolvePhase: FirResolvePhase abstract override var origin: FirDeclarationOrigin abstract override var attributes: FirDeclarationAttributes 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 75c0980e838..f8411d4b9d5 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -37,7 +37,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ @FirBuilderDsl class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - override lateinit var declarationSiteSession: FirSession + override lateinit var moduleData: FirModuleData override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() 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 3e456c4c1c1..acb271fe8a3 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 @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.fir.FirImplementationDetail -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -40,7 +40,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ @FirBuilderDsl class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - override lateinit var declarationSiteSession: FirSession + override lateinit var moduleData: FirModuleData override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() 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 1662d83f80f..812cc8f09d9 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -40,7 +40,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ @FirBuilderDsl class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - override lateinit var declarationSiteSession: FirSession + override lateinit var moduleData: FirModuleData override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() 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 3768af457d5..8ce911e23f6 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 @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* import org.jetbrains.kotlin.descriptors.ClassKind -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -37,7 +37,7 @@ import org.jetbrains.kotlin.name.Name @FirBuilderDsl open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBuilder, FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - override lateinit var declarationSiteSession: FirSession + override lateinit var moduleData: FirModuleData override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() 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 6c2d5d08109..6e39b8cea71 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -40,7 +40,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ @FirBuilderDsl open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - override lateinit var declarationSiteSession: FirSession + override lateinit var moduleData: FirModuleData override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() 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 9dcb4cedb72..41002e22efc 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -33,7 +33,7 @@ import org.jetbrains.kotlin.name.Name @FirBuilderDsl class FirTypeAliasBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - override lateinit var declarationSiteSession: FirSession + override lateinit var moduleData: FirModuleData override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override lateinit var origin: FirDeclarationOrigin override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() 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 9d155a45697..7c521776456 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -30,7 +30,7 @@ import org.jetbrains.kotlin.types.Variance @FirBuilderDsl class FirTypeParameterBuilder : FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - lateinit var declarationSiteSession: FirSession + lateinit var moduleData: FirModuleData var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR lateinit var origin: FirDeclarationOrigin var attributes: FirDeclarationAttributes = FirDeclarationAttributes() 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 432732760d3..269b1f017a2 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.builder import kotlin.contracts.* -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder import org.jetbrains.kotlin.fir.builder.FirBuilderDsl @@ -33,7 +33,7 @@ import org.jetbrains.kotlin.name.Name @FirBuilderDsl open class FirValueParameterBuilder : FirAnnotationContainerBuilder { override var source: FirSourceElement? = null - open lateinit var declarationSiteSession: FirSession + open lateinit var moduleData: FirModuleData open var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR open lateinit var origin: FirDeclarationOrigin open var attributes: FirDeclarationAttributes = FirDeclarationAttributes() 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 d05043a12f7..dc9f78d9d18 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 @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.contracts.description.EventOccurrencesRange import org.jetbrains.kotlin.fir.FirLabel -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes @@ -30,7 +30,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirAnonymousFunctionImpl( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, override val annotations: MutableList, 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 05c6fa945b2..2a66b064a8b 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 @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.impl -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes @@ -23,7 +23,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirAnonymousInitializerImpl( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, 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 ad2076fd512..42b8f144a1d 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 @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.descriptors.ClassKind -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirAnonymousObject import org.jetbrains.kotlin.fir.declarations.FirDeclaration @@ -28,7 +28,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirAnonymousObjectImpl( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, 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 38ca2a8a065..69c73b364ca 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 @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.impl -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirConstructor import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes @@ -31,7 +31,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirConstructorImpl( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, 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 8185160916e..66a40cfa839 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 @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.impl -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin @@ -28,7 +28,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirDefaultSetterValueParameter( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, 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 a212167d277..e06725dc480 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 @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.impl -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin @@ -31,7 +31,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirEnumEntryImpl( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, 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 95a66ab605a..880cf409f71 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 @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.impl -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin @@ -29,7 +29,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirErrorFunctionImpl( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorPropertyImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorPropertyImpl.kt index 028c95a9dc6..775020d7d47 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorPropertyImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirErrorPropertyImpl.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.impl -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin @@ -30,7 +30,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirErrorPropertyImpl( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, 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 570cc76b5d4..22aac4ac808 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 @@ -6,7 +6,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.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin @@ -32,7 +32,7 @@ import org.jetbrains.kotlin.fir.visitors.* class FirFieldImpl @FirImplementationDetail constructor( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, 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 a6794708923..7e2564f43f9 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 @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.impl -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirFileImpl( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, 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 06a58b0c077..03de1e16452 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 @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.impl -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirConstructor import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes @@ -31,7 +31,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirPrimaryConstructor( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, 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 cfa2256b831..9f2388dd85a 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 @@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.fir.FirImplementationDetail -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.contracts.FirContractDescription import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes @@ -33,7 +33,7 @@ import org.jetbrains.kotlin.fir.visitors.* open class FirPropertyAccessorImpl @FirImplementationDetail constructor( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, 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 688409f772c..15f94a129df 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 @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.impl -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin @@ -33,7 +33,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirPropertyImpl( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirRegularClassImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirRegularClassImpl.kt index 23abf875199..37956af0031 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirRegularClassImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirRegularClassImpl.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.fir.declarations.impl import org.jetbrains.kotlin.descriptors.ClassKind -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes @@ -30,7 +30,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirRegularClassImpl( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, 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 7b9fced47a2..ffe5c8033a2 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 @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.impl -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.contracts.FirContractDescription import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes @@ -32,7 +32,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirSimpleFunctionImpl( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, 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 1abb1037256..3d50413f9c3 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 @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.impl -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin @@ -26,7 +26,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirTypeAliasImpl( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, 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 2cbbcd95c8d..800bf4b18b7 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 @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.impl -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirTypeParameterImpl( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, 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 b95dac50095..6884dbe8fe6 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 @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.impl -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin @@ -28,7 +28,7 @@ import org.jetbrains.kotlin.fir.visitors.* internal class FirValueParameterImpl( override val source: FirSourceElement?, - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override var resolvePhase: FirResolvePhase, override val origin: FirDeclarationOrigin, override val attributes: FirDeclarationAttributes, diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt index e4d5f497761..0051b563f90 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt @@ -32,13 +32,13 @@ private val ENUM_VALUE_OF = Name.identifier("valueOf") private val VALUE = Name.identifier("value") fun FirRegularClassBuilder.generateValuesFunction( - session: FirSession, packageFqName: FqName, classFqName: FqName, makeExpect: Boolean = false + moduleData: FirModuleData, packageFqName: FqName, classFqName: FqName, makeExpect: Boolean = false ) { val sourceElement = source?.fakeElement(FirFakeSourceElementKind.EnumGeneratedDeclaration) declarations += buildSimpleFunction { source = sourceElement origin = FirDeclarationOrigin.Source - declarationSiteSession = session + this.moduleData = moduleData returnTypeRef = buildResolvedTypeRef { source = sourceElement type = ConeClassLikeTypeImpl( @@ -63,13 +63,13 @@ fun FirRegularClassBuilder.generateValuesFunction( } fun FirRegularClassBuilder.generateValueOfFunction( - session: FirSession, packageFqName: FqName, classFqName: FqName, makeExpect: Boolean = false + moduleData: FirModuleData, packageFqName: FqName, classFqName: FqName, makeExpect: Boolean = false ) { val sourceElement = source?.fakeElement(FirFakeSourceElementKind.EnumGeneratedDeclaration) declarations += buildSimpleFunction { source = sourceElement origin = FirDeclarationOrigin.Source - declarationSiteSession = session + this.moduleData = moduleData returnTypeRef = buildResolvedTypeRef { source = sourceElement type = ConeClassLikeTypeImpl( @@ -88,7 +88,7 @@ fun FirRegularClassBuilder.generateValueOfFunction( valueParameters += buildValueParameter vp@{ source = sourceElement origin = FirDeclarationOrigin.Source - declarationSiteSession = session + this.moduleData = moduleData returnTypeRef = FirImplicitStringTypeRef(source) name = VALUE this@vp.symbol = FirVariableSymbol(VALUE) diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationUtil.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationUtil.kt index 45e0d0589c1..8c57ef149a2 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationUtil.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationUtil.kt @@ -23,13 +23,13 @@ import org.jetbrains.kotlin.fir.types.coneTypeSafe fun FirTypeParameterBuilder.addDefaultBoundIfNecessary(isFlexible: Boolean = false) { if (bounds.isEmpty()) { + val builtinTypes = moduleData.session.builtinTypes val type = if (isFlexible) { - val session = declarationSiteSession buildResolvedTypeRef { - type = ConeFlexibleType(session.builtinTypes.anyType.type, session.builtinTypes.nullableAnyType.type) + type = ConeFlexibleType(builtinTypes.anyType.type, builtinTypes.nullableAnyType.type) } } else { - declarationSiteSession.builtinTypes.nullableAnyType + builtinTypes.nullableAnyType } bounds += type } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultPropertyAccessor.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultPropertyAccessor.kt index d0ce62b4210..14eb94c0e44 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultPropertyAccessor.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultPropertyAccessor.kt @@ -9,7 +9,7 @@ import org.jetbrains.kotlin.descriptors.EffectiveVisibility import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.fir.FirImplementationDetail -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.contracts.impl.FirEmptyContractDescription import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes @@ -18,18 +18,18 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirValueParameter import org.jetbrains.kotlin.fir.declarations.builder.buildDefaultSetterValueParameter import org.jetbrains.kotlin.fir.expressions.FirBlock -import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.fir.symbols.impl.FirPropertyAccessorSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.fir.types.impl.FirImplicitUnitTypeRef +import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name @OptIn(FirImplementationDetail::class) abstract class FirDefaultPropertyAccessor( source: FirSourceElement?, - session: FirSession, + moduleData: FirModuleData, origin: FirDeclarationOrigin, propertyTypeRef: FirTypeRef, valueParameters: MutableList, @@ -39,7 +39,7 @@ abstract class FirDefaultPropertyAccessor( symbol: FirPropertyAccessorSymbol ) : FirPropertyAccessorImpl( source, - session, + moduleData, resolvePhase = FirResolvePhase.BODY_RESOLVE, origin, FirDeclarationAttributes(), @@ -69,16 +69,16 @@ abstract class FirDefaultPropertyAccessor( companion object { fun createGetterOrSetter( source: FirSourceElement?, - session: FirSession, + moduleData: FirModuleData, origin: FirDeclarationOrigin, propertyTypeRef: FirTypeRef, visibility: Visibility, isGetter: Boolean ): FirDefaultPropertyAccessor { return if (isGetter) { - FirDefaultPropertyGetter(source, session, origin, propertyTypeRef, visibility) + FirDefaultPropertyGetter(source, moduleData, origin, propertyTypeRef, visibility) } else { - FirDefaultPropertySetter(source, session, origin, propertyTypeRef, visibility) + FirDefaultPropertySetter(source, moduleData, origin, propertyTypeRef, visibility) } } } @@ -86,7 +86,7 @@ abstract class FirDefaultPropertyAccessor( class FirDefaultPropertyGetter( source: FirSourceElement?, - session: FirSession, + moduleData: FirModuleData, origin: FirDeclarationOrigin, propertyTypeRef: FirTypeRef, visibility: Visibility, @@ -94,7 +94,7 @@ class FirDefaultPropertyGetter( symbol: FirPropertyAccessorSymbol = FirPropertyAccessorSymbol() ) : FirDefaultPropertyAccessor( source, - session, + moduleData, origin, propertyTypeRef, valueParameters = mutableListOf(), @@ -106,7 +106,7 @@ class FirDefaultPropertyGetter( class FirDefaultPropertySetter( source: FirSourceElement?, - session: FirSession, + moduleData: FirModuleData, origin: FirDeclarationOrigin, propertyTypeRef: FirTypeRef, visibility: Visibility, @@ -114,13 +114,13 @@ class FirDefaultPropertySetter( symbol: FirPropertyAccessorSymbol = FirPropertyAccessorSymbol() ) : FirDefaultPropertyAccessor( source, - session, + moduleData, origin, FirImplicitUnitTypeRef(source), valueParameters = mutableListOf( buildDefaultSetterValueParameter builder@{ this@builder.source = source - this@builder.declarationSiteSession = session + this@builder.moduleData = moduleData this@builder.origin = origin this@builder.returnTypeRef = propertyTypeRef this@builder.symbol = FirVariableSymbol(CallableId(FqName.ROOT, Name.special(""))) 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 62a56202124..6d445853601 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 @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.synthetic -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource class FirSyntheticProperty( - override val declarationSiteSession: FirSession, + override val moduleData: FirModuleData, override val name: Name, override val isVar: Boolean, override val symbol: FirAccessorSymbol, 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 4e56651b8cb..58f67b8da7d 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 @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.declarations.synthetic -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.contracts.FirContractDescription import org.jetbrains.kotlin.fir.contracts.impl.FirEmptyContractDescription @@ -28,8 +28,8 @@ class FirSyntheticPropertyAccessor( override val source: FirSourceElement? get() = delegate.source - override val declarationSiteSession: FirSession - get() = delegate.declarationSiteSession + override val moduleData: FirModuleData + get() = delegate.moduleData override val origin: FirDeclarationOrigin get() = FirDeclarationOrigin.Synthetic diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/synthetic/FirSyntheticPropertyBuilder.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/synthetic/FirSyntheticPropertyBuilder.kt index 507c040b1ba..0d05e9a5197 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/synthetic/FirSyntheticPropertyBuilder.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/synthetic/FirSyntheticPropertyBuilder.kt @@ -5,17 +5,14 @@ package org.jetbrains.kotlin.fir.declarations.synthetic -import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction -import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl -import org.jetbrains.kotlin.fir.declarations.modality -import org.jetbrains.kotlin.fir.declarations.visibility import org.jetbrains.kotlin.fir.symbols.impl.FirAccessorSymbol import org.jetbrains.kotlin.name.Name class FirSyntheticPropertyBuilder { - lateinit var declarationSiteSession: FirSession + lateinit var moduleData: FirModuleData lateinit var name: Name lateinit var symbol: FirAccessorSymbol lateinit var delegateGetter: FirSimpleFunction @@ -24,7 +21,7 @@ class FirSyntheticPropertyBuilder { var delegateSetter: FirSimpleFunction? = null fun build(): FirSyntheticProperty = FirSyntheticProperty( - declarationSiteSession, name, isVar = delegateSetter != null, symbol = symbol, + moduleData, name, isVar = delegateSetter != null, symbol = symbol, status = status ?: delegateGetter.status, resolvePhase = delegateGetter.resolvePhase, getter = FirSyntheticPropertyAccessor(delegateGetter, isGetter = true), diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt index a9a43801870..e580b335600 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt @@ -266,7 +266,7 @@ abstract class AbstractFirDiagnosticsTest : AbstractFirBaseDiagnosticsTest() { val collectors = mutableMapOf() val result = mutableMapOf>>() for (firFile in firFiles) { - val session = firFile.declarationSiteSession + val session = firFile.moduleData.session val collector = collectors.computeIfAbsent(session) { createCollector(session) } val reporter = DiagnosticReporterFactory.createReporter() collector.collectDiagnostics(firFile, reporter) diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/FirResolveBench.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/FirResolveBench.kt index 2964fbf0e67..23925865235 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/FirResolveBench.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/FirResolveBench.kt @@ -35,7 +35,7 @@ import kotlin.system.measureNanoTime fun checkFirProvidersConsistency(firFiles: List) { - for ((session, files) in firFiles.groupBy { it.declarationSiteSession }) { + for ((session, files) in firFiles.groupBy { it.moduleData.session }) { val provider = session.firProvider as FirProviderImpl provider.ensureConsistent(files) } diff --git a/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt b/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt index b4f7164adaa..060b50c9170 100644 --- a/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt +++ b/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt @@ -10,7 +10,6 @@ import org.jetbrains.kotlin.KtNodeTypes import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.declarations.* -import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty import org.jetbrains.kotlin.fir.expressions.* import org.jetbrains.kotlin.fir.expressions.impl.FirNoReceiverExpression import org.jetbrains.kotlin.fir.references.* @@ -316,10 +315,9 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() { } inner class FirRendererForVisualizer : FirVisitor() { - private val session = firFile.declarationSiteSession + private val session = firFile.moduleData.session private val filePackage = firFile.packageFqName.toString() private val filePackageWithSlash = filePackage.replace(".", "/") - private val symbolProvider = firFile.declarationSiteSession.symbolProvider private fun ConeTypeProjection.tryToRenderConeAsFunctionType(): String { if (this !is ConeKotlinType) return localTypeRenderer() diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirModuleResolveStateImpl.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirModuleResolveStateImpl.kt index 69b1a0857f7..084a06614be 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirModuleResolveStateImpl.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirModuleResolveStateImpl.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.idea.fir.low.level.api import com.intellij.openapi.project.Project -import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.analysis.diagnostics.FirPsiDiagnostic @@ -15,7 +14,6 @@ import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.realPsi import org.jetbrains.kotlin.fir.resolve.FirTowerDataContext -import org.jetbrains.kotlin.fir.resolve.providers.FirProvider import org.jetbrains.kotlin.idea.caches.project.IdeaModuleInfo import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo import org.jetbrains.kotlin.idea.caches.project.getModuleInfo @@ -115,7 +113,7 @@ internal class FirModuleResolveStateImpl( sessionProvider.getModuleCache(ktDeclaration.getModuleInfo() as ModuleSourceInfo) ) if (container.resolvePhase < FirResolvePhase.BODY_RESOLVE) { - val cache = (container.declarationSiteSession as FirIdeSourcesSession).cache + val cache = (container.moduleData.session as FirIdeSourcesSession).cache firLazyDeclarationResolver.lazyResolveDeclaration( container, cache, @@ -142,7 +140,7 @@ internal class FirModuleResolveStateImpl( } override fun resolvedFirToPhase(declaration: D, toPhase: FirResolvePhase): D { - val fileCache = when (val session = declaration.declarationSiteSession) { + val fileCache = when (val session = declaration.moduleData.session) { is FirIdeSourcesSession -> session.cache else -> return declaration } @@ -165,7 +163,7 @@ internal class FirModuleResolveStateImpl( firDeclaration, rootModuleSession.cache, containerFirFile, - containerFirFile.declarationSiteSession.firIdeProvider, + containerFirFile.moduleData.session.firIdeProvider, fromPhase = firDeclaration.resolvePhase, toPhase = FirResolvePhase.BODY_RESOLVE, towerDataContextCollector = collector, diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirPhaseRunner.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirPhaseRunner.kt index 017f6534f27..aafc37209d2 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirPhaseRunner.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirPhaseRunner.kt @@ -63,7 +63,7 @@ internal class FirPhaseRunner { } private fun runPhaseWithoutLock(firFile: FirFile, phase: FirResolvePhase, scopeSession: ScopeSession) { - val phaseProcessor = phase.createTransformerBasedProcessorByPhase(firFile.declarationSiteSession, scopeSession) + val phaseProcessor = phase.createTransformerBasedProcessorByPhase(firFile.moduleData.session, scopeSession) executeWithoutPCE { FirLazyBodiesCalculator.calculateLazyBodiesIfPhaseRequires(firFile, phase) phaseProcessor.processFile(firFile) diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/IdeFirPhaseManager.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/IdeFirPhaseManager.kt index 734868300f8..f5e147319ae 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/IdeFirPhaseManager.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/IdeFirPhaseManager.kt @@ -28,7 +28,7 @@ internal class IdeFirPhaseManager( try { lazyDeclarationResolver.lazyResolveDeclaration(fir, cache, requiredPhase, checkPCE = true) } catch (e: Throwable) { - sessionInvalidator.invalidate(fir.declarationSiteSession) + sessionInvalidator.invalidate(fir.moduleData.session) throw e } } diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/DeclarationCopyBuilder.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/DeclarationCopyBuilder.kt index bfbc818e5c9..b4e4bdd8322 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/DeclarationCopyBuilder.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/DeclarationCopyBuilder.kt @@ -8,9 +8,9 @@ package org.jetbrains.kotlin.idea.fir.low.level.api.api import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.builder.RawFirFragmentForLazyBodiesBuilder import org.jetbrains.kotlin.fir.declarations.* -import org.jetbrains.kotlin.fir.declarations.builder.FirDeclarationBuilder import org.jetbrains.kotlin.fir.declarations.builder.* import org.jetbrains.kotlin.fir.expressions.FirReturnExpression +import org.jetbrains.kotlin.fir.moduleData import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid import org.jetbrains.kotlin.idea.fir.low.level.api.providers.firIdeProvider import org.jetbrains.kotlin.psi.* @@ -131,7 +131,7 @@ object DeclarationCopyBuilder { ) { resolvePhase = minOf(originalDeclaration.resolvePhase, FirResolvePhase.DECLARATIONS) source = builtDeclaration.source - declarationSiteSession = state.rootModuleSession + moduleData = state.rootModuleSession.moduleData } internal inline fun createCopy( @@ -139,8 +139,8 @@ object DeclarationCopyBuilder { originalFirDeclaration: T, ): T { return RawFirFragmentForLazyBodiesBuilder.build( - session = originalFirDeclaration.declarationSiteSession, - baseScopeProvider = originalFirDeclaration.declarationSiteSession.firIdeProvider.kotlinScopeProvider, + session = originalFirDeclaration.moduleData.session, + baseScopeProvider = originalFirDeclaration.moduleData.session.firIdeProvider.kotlinScopeProvider, designation = originalFirDeclaration.collectDesignation().fullDesignation, declaration = fakeKtDeclaration ) as T diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/FirDeclarationDesignation.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/FirDeclarationDesignation.kt index a06ea26b18a..22cebf04553 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/FirDeclarationDesignation.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/FirDeclarationDesignation.kt @@ -11,7 +11,6 @@ import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.renderWithType import org.jetbrains.kotlin.fir.resolve.firProvider import org.jetbrains.kotlin.fir.resolve.toFirRegularClass -import org.jetbrains.kotlin.idea.fir.low.level.api.providers.firIdeProvider class FirDeclarationDesignation( val path: List, @@ -28,10 +27,10 @@ class FirDeclarationDesignation( object DeclarationDesignationCollector { fun collectDesignation(declaration: FirDeclaration): FirDeclarationDesignation { - val firProvider = declaration.declarationSiteSession.firProvider + val firProvider = declaration.moduleData.session.firProvider val containingClass = when (declaration) { - is FirCallableDeclaration<*> -> declaration.containingClass()?.toFirRegularClass(declaration.declarationSiteSession) + is FirCallableDeclaration<*> -> declaration.containingClass()?.toFirRegularClass(declaration.moduleData.session) is FirClassLikeDeclaration<*> -> declaration.symbol.classId.outerClassId?.let(firProvider::getFirClassifierByFqName) else -> error("Invalid declaration ${declaration.renderWithType()}") } ?: return FirDeclarationDesignation(emptyList(), declaration, isLocalDesignation = false) @@ -54,7 +53,7 @@ object DeclarationDesignationCollector { private fun FirRegularClass.collectForNonLocal(): List> { require(!isLocal) - val firProvider = declarationSiteSession.firProvider + val firProvider = moduleData.session.firProvider var containingClassId = classId.outerClassId val designation = mutableListOf>(this) while (containingClassId != null) { @@ -70,7 +69,7 @@ object DeclarationDesignationCollector { var containingClassLookUp = containingClassForLocal() val designation = mutableListOf>(this) while (containingClassLookUp != null && containingClassLookUp.classId.isLocal) { - val currentClass = containingClassLookUp.toFirRegularClass(declarationSiteSession) ?: break + val currentClass = containingClassLookUp.toFirRegularClass(moduleData.session) ?: break designation.add(currentClass) containingClassLookUp = currentClass.containingClassForLocal() } diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/FirModuleResolveState.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/FirModuleResolveState.kt index f2b675ebe18..9666cbd0a36 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/FirModuleResolveState.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/api/FirModuleResolveState.kt @@ -5,13 +5,12 @@ package org.jetbrains.kotlin.idea.fir.low.level.api.api -import org.jetbrains.annotations.TestOnly import com.intellij.openapi.project.Project +import org.jetbrains.annotations.TestOnly import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.analysis.diagnostics.FirPsiDiagnostic import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.resolve.FirTowerDataContext -import org.jetbrains.kotlin.fir.resolve.providers.FirProvider import org.jetbrains.kotlin.idea.caches.project.IdeaModuleInfo import org.jetbrains.kotlin.idea.fir.low.level.api.annotations.InternalForInline import org.jetbrains.kotlin.idea.fir.low.level.api.file.builder.ModuleFileCache @@ -43,7 +42,7 @@ abstract class FirModuleResolveState { internal inline fun withLock(declaration: D, declarationLockType: DeclarationLockType, action: (D) -> R): R { val originalDeclaration = (declaration as? FirCallableDeclaration<*>)?.unwrapFakeOverrides() ?: declaration - val session = originalDeclaration.declarationSiteSession + val session = originalDeclaration.moduleData.session return when { originalDeclaration.origin == FirDeclarationOrigin.Source && session is FirIdeSourcesSession diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostics/FileStructureElementDiagnosticRetriever.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostics/FileStructureElementDiagnosticRetriever.kt index 40eee22e664..28629e309e4 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostics/FileStructureElementDiagnosticRetriever.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostics/FileStructureElementDiagnosticRetriever.kt @@ -31,7 +31,7 @@ internal class SingleNonLocalDeclarationDiagnosticRetriever( collector: FileStructureElementDiagnosticsCollector, lockProvider: LockProvider ): FileStructureElementDiagnosticList { - val sessionHolder = SessionHolderImpl.createWithEmptyScopeSession(firFile.declarationSiteSession) + val sessionHolder = SessionHolderImpl.createWithEmptyScopeSession(firFile.moduleData.session) val context = lockProvider.withReadLock(firFile) { PersistenceContextCollector.collectContext(sessionHolder, firFile, structureElementDeclaration) } @@ -105,7 +105,7 @@ internal object FileDiagnosticRetriever : FileStructureElementDiagnosticRetrieve firFile: FirFile, components: List ) : FirIdeDiagnosticVisitor( - PersistentCheckerContextFactory.createEmptyPersistenceCheckerContext(SessionHolderImpl.createWithEmptyScopeSession(firFile.declarationSiteSession)), + PersistentCheckerContextFactory.createEmptyPersistenceCheckerContext(SessionHolderImpl.createWithEmptyScopeSession(firFile.moduleData.session)), components, ) { override fun visitFile(file: FirFile, data: Nothing?) { diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostics/FileStructureElementDiagnosticsCollector.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostics/FileStructureElementDiagnosticsCollector.kt index 6b75cec7914..1e0e62ff0b9 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostics/FileStructureElementDiagnosticsCollector.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostics/FileStructureElementDiagnosticsCollector.kt @@ -22,7 +22,7 @@ internal class FileStructureElementDiagnosticsCollector private constructor(priv ): FileStructureElementDiagnosticList { val reporter = FirIdeDiagnosticReporter() val collector = FirIdeStructureElementDiagnosticsCollector( - firDeclaration.declarationSiteSession, + firDeclaration.moduleData.session, createVisitor, useExtendedCheckers, ) diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructure.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructure.kt index 4fb1703bfc6..46531b31057 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructure.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructure.kt @@ -30,7 +30,7 @@ internal class FileStructure( private val moduleFileCache: ModuleFileCache, private val collector: FirTowerDataContextCollector ) { - private val firIdeProvider = firFile.declarationSiteSession.firIdeProvider + private val firIdeProvider = firFile.moduleData.session.firIdeProvider private val structureElements = ConcurrentHashMap() diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructureUtil.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructureUtil.kt index 0ef96a797bf..72096c540c3 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructureUtil.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/file/structure/FileStructureUtil.kt @@ -33,7 +33,7 @@ internal object FileStructureUtil { } else { val classLikeLookupTag = from.containingClass() ?: error("Class name should not be null for non-top-level & non-local declarations, but was null for\n${from.render()}") - val containingClass = classLikeLookupTag.toSymbol(firFile.declarationSiteSession)?.fir as FirRegularClass + val containingClass = classLikeLookupTag.toSymbol(firFile.moduleData.session)?.fir as FirRegularClass containingClass.declarations as MutableList } declarations.replaceFirst(from, to) diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/lazy/resolve/FirLazyBodiesCalculator.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/lazy/resolve/FirLazyBodiesCalculator.kt index 5fe3054e87f..ae4b06bea79 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/lazy/resolve/FirLazyBodiesCalculator.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/lazy/resolve/FirLazyBodiesCalculator.kt @@ -12,9 +12,12 @@ import org.jetbrains.kotlin.fir.expressions.FirWrappedDelegateExpression import org.jetbrains.kotlin.fir.expressions.impl.FirLazyBlock import org.jetbrains.kotlin.fir.expressions.impl.FirLazyExpression import org.jetbrains.kotlin.fir.psi -import org.jetbrains.kotlin.fir.visitors.* +import org.jetbrains.kotlin.fir.visitors.FirTransformer +import org.jetbrains.kotlin.fir.visitors.transformSingle import org.jetbrains.kotlin.idea.fir.low.level.api.providers.firIdeProvider -import org.jetbrains.kotlin.psi.* +import org.jetbrains.kotlin.psi.KtNamedFunction +import org.jetbrains.kotlin.psi.KtProperty +import org.jetbrains.kotlin.psi.KtSecondaryConstructor internal object FirLazyBodiesCalculator { fun calculateLazyBodiesInside(element: FirElement, designation: List) { @@ -30,8 +33,8 @@ internal object FirLazyBodiesCalculator { fun calculateLazyBodiesForFunction(simpleFunction: FirSimpleFunction, designation: List) { if (simpleFunction.body !is FirLazyBlock) return val newFunction = RawFirFragmentForLazyBodiesBuilder.build( - session = simpleFunction.declarationSiteSession, - baseScopeProvider = simpleFunction.declarationSiteSession.firIdeProvider.kotlinScopeProvider, + session = simpleFunction.moduleData.session, + baseScopeProvider = simpleFunction.moduleData.session.firIdeProvider.kotlinScopeProvider, designation = designation, declaration = simpleFunction.psi as KtNamedFunction ) as FirSimpleFunction @@ -46,8 +49,8 @@ internal object FirLazyBodiesCalculator { if (secondaryConstructor.body !is FirLazyBlock) return val newFunction = RawFirFragmentForLazyBodiesBuilder.build( - session = secondaryConstructor.declarationSiteSession, - baseScopeProvider = secondaryConstructor.declarationSiteSession.firIdeProvider.kotlinScopeProvider, + session = secondaryConstructor.moduleData.session, + baseScopeProvider = secondaryConstructor.moduleData.session.firIdeProvider.kotlinScopeProvider, designation = designation, declaration = secondaryConstructor.psi as KtSecondaryConstructor ) as FirSimpleFunction @@ -61,8 +64,8 @@ internal object FirLazyBodiesCalculator { if (!needCalculatingLazyBodyForProperty(firProperty)) return val newProperty = RawFirFragmentForLazyBodiesBuilder.build( - session = firProperty.declarationSiteSession, - baseScopeProvider = firProperty.declarationSiteSession.firIdeProvider.kotlinScopeProvider, + session = firProperty.moduleData.session, + baseScopeProvider = firProperty.moduleData.session.firIdeProvider.kotlinScopeProvider, designation = designation, declaration = firProperty.psi as KtProperty ) as FirProperty diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/lazy/resolve/FirLazyDeclarationResolver.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/lazy/resolve/FirLazyDeclarationResolver.kt index f2161b36112..72b4d2fecc5 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/lazy/resolve/FirLazyDeclarationResolver.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/lazy/resolve/FirLazyDeclarationResolver.kt @@ -20,9 +20,6 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.file.builder.FirFileBuilder import org.jetbrains.kotlin.idea.fir.low.level.api.file.builder.ModuleFileCache import org.jetbrains.kotlin.idea.fir.low.level.api.providers.firIdeProvider import org.jetbrains.kotlin.idea.fir.low.level.api.trasformers.* -import org.jetbrains.kotlin.idea.fir.low.level.api.trasformers.FirDesignatedContractsResolveTransformerForIDE -import org.jetbrains.kotlin.idea.fir.low.level.api.trasformers.FirDesignatedImplicitTypesTransformerForIDE -import org.jetbrains.kotlin.idea.fir.low.level.api.trasformers.FirFileAnnotationsResolveTransformer import org.jetbrains.kotlin.idea.fir.low.level.api.util.* import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject @@ -36,7 +33,7 @@ internal class FirLazyDeclarationResolver( scopeSession: ScopeSession, ) { firFileBuilder.runCustomResolveUnderLock(firFile, moduleFileCache) { - val transformer = FirFileAnnotationsResolveTransformer(firFile.declarationSiteSession, scopeSession) + val transformer = FirFileAnnotationsResolveTransformer(firFile.moduleData.session, scopeSession) firFile.accept(transformer, ResolutionMode.ContextDependent) } } @@ -66,13 +63,13 @@ internal class FirLazyDeclarationResolver( else -> error("Invalid source of property accessor ${psi::class}") } val containingProperty = ktContainingResolvableDeclaration - .findSourceNonLocalFirDeclaration(firFileBuilder, declaration.declarationSiteSession.symbolProvider, moduleFileCache) + .findSourceNonLocalFirDeclaration(firFileBuilder, declaration.moduleData.session.symbolProvider, moduleFileCache) return lazyResolveDeclaration(containingProperty, moduleFileCache, toPhase, towerDataContextCollector) } val firFile = declaration.getContainingFile() ?: error("FirFile was not found for\n${declaration.render()}") - val provider = firFile.declarationSiteSession.firIdeProvider + val provider = firFile.moduleData.session.firIdeProvider // Lazy since we want to read the resolve phase inside the lock. Otherwise, we may run the same resolve phase multiple times. See // KT-45121 val fromPhase: FirResolvePhase by lazy(LazyThreadSafetyMode.NONE) { @@ -194,18 +191,18 @@ internal class FirLazyDeclarationResolver( ) = when (this) { FirResolvePhase.CONTRACTS -> FirDesignatedContractsResolveTransformerForIDE( FirDesignation(designation), - containerFirFile.declarationSiteSession, + containerFirFile.moduleData.session, scopeSession, ) FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE -> FirDesignatedImplicitTypesTransformerForIDE( FirDesignation(designation), - containerFirFile.declarationSiteSession, + containerFirFile.moduleData.session, scopeSession, towerDataContextCollector, ) FirResolvePhase.BODY_RESOLVE -> FirDesignatedBodyResolveTransformerForIDE( FirDesignation(designation), - containerFirFile.declarationSiteSession, + containerFirFile.moduleData.session, scopeSession, towerDataContextCollector ) diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/providers/FirIdeBuiltinSymbolProvider.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/providers/FirIdeBuiltinSymbolProvider.kt index e017ccc0759..69a504464fe 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/providers/FirIdeBuiltinSymbolProvider.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/providers/FirIdeBuiltinSymbolProvider.kt @@ -5,8 +5,11 @@ package org.jetbrains.kotlin.idea.fir.low.level.api.providers +import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSession -import org.jetbrains.kotlin.fir.caches.* +import org.jetbrains.kotlin.fir.caches.createCache +import org.jetbrains.kotlin.fir.caches.firCachesFactory +import org.jetbrains.kotlin.fir.caches.getValue import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals import org.jetbrains.kotlin.fir.resolve.providers.impl.FirBuiltinSymbolProvider import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider @@ -18,8 +21,9 @@ import org.jetbrains.kotlin.name.Name class FirIdeBuiltinSymbolProvider( session: FirSession, + moduleData: FirModuleData, kotlinScopeProvider: FirKotlinScopeProvider -) : FirBuiltinSymbolProvider(session, kotlinScopeProvider) { +) : FirBuiltinSymbolProvider(session, moduleData, kotlinScopeProvider) { @OptIn(ExperimentalStdlibApi::class) private val functionsCache = session.firCachesFactory.createCache { callableId: CallableId -> buildList { diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeSessionFactory.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeSessionFactory.kt index 48ccc12113d..350e3e498f6 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeSessionFactory.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeSessionFactory.kt @@ -8,22 +8,19 @@ package org.jetbrains.kotlin.idea.fir.low.level.api.sessions import com.intellij.openapi.project.Project import org.jetbrains.kotlin.config.LanguageVersionSettings import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl -import org.jetbrains.kotlin.fir.BuiltinTypes -import org.jetbrains.kotlin.fir.PrivateSessionConstructor -import org.jetbrains.kotlin.fir.SessionConfiguration +import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.backend.jvm.FirJvmTypeMapper import org.jetbrains.kotlin.fir.caches.FirCachesFactory import org.jetbrains.kotlin.fir.checkers.registerExtendedCommonCheckers import org.jetbrains.kotlin.fir.declarations.SealedClassInheritorsProvider -import org.jetbrains.kotlin.fir.dependenciesWithoutSelf import org.jetbrains.kotlin.fir.java.JavaSymbolProvider import org.jetbrains.kotlin.fir.java.deserialization.KotlinDeserializedJvmSymbolsProvider -import org.jetbrains.kotlin.fir.resolve.symbolProvider import org.jetbrains.kotlin.fir.resolve.providers.FirProvider import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider import org.jetbrains.kotlin.fir.resolve.providers.impl.FirCloneableSymbolProvider import org.jetbrains.kotlin.fir.resolve.providers.impl.FirCompositeSymbolProvider import org.jetbrains.kotlin.fir.resolve.scopes.wrapScopeWithJvmMapped +import org.jetbrains.kotlin.fir.resolve.symbolProvider import org.jetbrains.kotlin.fir.resolve.transformers.FirPhaseCheckingPhaseManager import org.jetbrains.kotlin.fir.resolve.transformers.FirPhaseManager import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider @@ -49,6 +46,8 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.util.createScopeForModuleLibr import org.jetbrains.kotlin.idea.project.languageVersionSettings import org.jetbrains.kotlin.load.java.JavaClassFinderImpl import org.jetbrains.kotlin.load.kotlin.VirtualFileFinderFactory +import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.platform.jvm.JvmPlatforms @OptIn(PrivateSessionConstructor::class, SessionConfiguration::class) internal object FirIdeSessionFactory { @@ -76,6 +75,9 @@ internal object FirIdeSessionFactory { return session.apply { + val moduleData = FirModuleInfoBasedModuleData(moduleInfo, this) + registerModuleData(moduleData) + val cache = ModuleFileCacheImpl(this) val firPhaseManager = IdeFirPhaseManager(FirLazyDeclarationResolver(firFileBuilder), cache, sessionInvalidator) @@ -105,7 +107,7 @@ internal object FirIdeSessionFactory { this, providers = listOf( provider.symbolProvider, - JavaSymbolProvider(this@apply, project, searchScope), + JavaSymbolProvider(this@apply, moduleData, project, searchScope), ), dependentProviders = buildList { add( @@ -170,12 +172,14 @@ internal object FirIdeSessionFactory { val kotlinClassFinder = VirtualFileFinderFactory.getInstance(project).create(searchScope) FirIdeLibrariesSession(moduleInfo, project, searchScope, builtinTypes).apply { + val moduleData = FirModuleInfoBasedModuleData(moduleInfo, this) + registerIdeComponents() register(FirPhaseManager::class, FirPhaseCheckingPhaseManager) registerCommonComponents(languageVersionSettings) registerJavaSpecificResolveComponents() - val javaSymbolProvider = JavaSymbolProvider(this, project, searchScope) + val javaSymbolProvider = JavaSymbolProvider(this, moduleData, project, searchScope) val kotlinScopeProvider = FirKotlinScopeProvider(::wrapScopeWithJvmMapped) @@ -186,7 +190,7 @@ internal object FirIdeSessionFactory { add( FirThreadSafeSymbolProviderWrapper( KotlinDeserializedJvmSymbolsProvider( - this@apply, + moduleData, kotlinScopeProvider, packagePartProvider, kotlinClassFinder, @@ -213,6 +217,14 @@ internal object FirIdeSessionFactory { configureSession: (FirIdeSession.() -> Unit)? = null, ): FirIdeBuiltinsAndCloneableSession { return FirIdeBuiltinsAndCloneableSession(project, builtinTypes).apply { + val moduleData = FirModuleDataImpl( + Name.special(""), + emptyList(), + emptyList(), + emptyList(), + JvmPlatforms.unspecifiedJvmPlatform, + this + ) registerIdeComponents() register(FirPhaseManager::class, FirPhaseCheckingPhaseManager) registerCommonComponents(languageVersionSettings) @@ -221,8 +233,8 @@ internal object FirIdeSessionFactory { val symbolProvider = FirCompositeSymbolProvider( this, listOf( - FirIdeBuiltinSymbolProvider(this, kotlinScopeProvider), - FirCloneableSymbolProvider(this, kotlinScopeProvider), + FirIdeBuiltinSymbolProvider(this, moduleData, kotlinScopeProvider), + FirCloneableSymbolProvider(this, moduleData, kotlinScopeProvider), ) ) register(FirSymbolProvider::class, symbolProvider) diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/util/contrainingFileUtils.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/util/contrainingFileUtils.kt index 22281853fb6..76e66c75f70 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/util/contrainingFileUtils.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/util/contrainingFileUtils.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.resolve.firProvider fun FirDeclaration.getContainingFile(): FirFile? { - val provider = declarationSiteSession.firProvider + val provider = moduleData.session.firProvider return when (this) { is FirFile -> this is FirCallableDeclaration<*> -> provider.getFirCallableContainerFile(symbol) diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/AbstractFirSealedInheritorsTest.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/AbstractFirSealedInheritorsTest.kt index 0b25262433e..7e01b50dbf8 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/AbstractFirSealedInheritorsTest.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/AbstractFirSealedInheritorsTest.kt @@ -9,7 +9,6 @@ import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.util.KtTestUtil import org.jetbrains.kotlin.types.typeUtil.closure -import org.jetbrains.kotlin.utils.addToStdlib.flatMapToNullable import java.io.File /** @@ -27,7 +26,7 @@ abstract class AbstractFirSealedInheritorsTest : AbstractFirMultiModuleLazyResol val allClasses = firFile.listNestedClasses().closure { it.listNestedClasses() } val inheritorNames = allClasses.flatMap { firClass -> if (firClass.isSealed) { - firClass.getSealedClassInheritors(firFile.declarationSiteSession) + firClass.getSealedClassInheritors(firFile.moduleData.session) } else { emptyList() } diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/AbstractDiagnosticTraversalCounterTest.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/AbstractDiagnosticTraversalCounterTest.kt index a7a475eea65..945feb63fe8 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/AbstractDiagnosticTraversalCounterTest.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/AbstractDiagnosticTraversalCounterTest.kt @@ -9,13 +9,10 @@ import com.intellij.openapi.util.io.FileUtil import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.FirRealSourceElementKind import org.jetbrains.kotlin.fir.SessionConfiguration -import org.jetbrains.kotlin.fir.analysis.checkers.context.PersistentCheckerContext import org.jetbrains.kotlin.fir.analysis.collectors.AbstractDiagnosticCollectorVisitor import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.resolve.ScopeSession import org.jetbrains.kotlin.fir.resolve.SessionHolderImpl -import org.jetbrains.kotlin.fir.types.ConeClassErrorType -import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid import org.jetbrains.kotlin.idea.caches.project.getModuleInfo @@ -112,7 +109,7 @@ abstract class AbstractDiagnosticTraversalCounterTest : KotlinLightCodeInsightFi firFile: FirElement, ): Set { val elementUsageCount = mutableMapOf() - val sessionHolder = SessionHolderImpl((firFile as FirDeclaration).declarationSiteSession, ScopeSession()) + val sessionHolder = SessionHolderImpl((firFile as FirDeclaration).moduleData.session, ScopeSession()) val visitor = object : AbstractDiagnosticCollectorVisitor( PersistentCheckerContextFactory.createEmptyPersistenceCheckerContext(sessionHolder) ) { diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/AbstractFirContextCollectionTest.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/AbstractFirContextCollectionTest.kt index fd3ea2f74e1..d0e11352b9d 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/AbstractFirContextCollectionTest.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/AbstractFirContextCollectionTest.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.idea.fir.low.level.api.diagnostic import com.intellij.openapi.util.io.FileUtil import kotlinx.collections.immutable.PersistentList -import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.SessionConfiguration import org.jetbrains.kotlin.fir.analysis.checkers.context.PersistentCheckerContext import org.jetbrains.kotlin.fir.declarations.FirDeclaration @@ -22,7 +21,10 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.api.getFirFile import org.jetbrains.kotlin.idea.fir.low.level.api.createResolveStateForNoCaching import org.jetbrains.kotlin.idea.fir.low.level.api.diagnostics.BeforeElementDiagnosticCollectionHandler import org.jetbrains.kotlin.idea.fir.low.level.api.diagnostics.fir.PersistenceContextCollector -import org.jetbrains.kotlin.idea.fir.low.level.api.file.structure.* +import org.jetbrains.kotlin.idea.fir.low.level.api.file.structure.FileStructureElement +import org.jetbrains.kotlin.idea.fir.low.level.api.file.structure.NonReanalyzableDeclarationStructureElement +import org.jetbrains.kotlin.idea.fir.low.level.api.file.structure.ReanalyzableStructureElement +import org.jetbrains.kotlin.idea.fir.low.level.api.file.structure.RootStructureElement import org.jetbrains.kotlin.idea.fir.low.level.api.name import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase import org.jetbrains.kotlin.psi.KtFile @@ -64,7 +66,7 @@ abstract class AbstractFirContextCollectionTest : KotlinLightCodeInsightFixtureT } if (declaration in elementsToCheckContext) { val collectedContext = PersistenceContextCollector.collectContext( - SessionHolderImpl.createWithEmptyScopeSession(declaration.declarationSiteSession), + SessionHolderImpl.createWithEmptyScopeSession(declaration.moduleData.session), firFile, declaration ) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/annotations/annotationsUtils.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/annotations/annotationsUtils.kt index a3eda149d1c..0a8b892f06b 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/annotations/annotationsUtils.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/annotations/annotationsUtils.kt @@ -49,7 +49,7 @@ internal fun KtAnnotatedSymbol.isHiddenByDeprecation(annotationUseSiteTarget: An annotationCall.classId?.asString() == "kotlin/Deprecated" } ?: return@withFir false - val qualifiedExpression = mapAnnotationParameters(deprecatedAnnotationCall, it.declarationSiteSession)["level"] as? FirQualifiedAccessExpression + val qualifiedExpression = mapAnnotationParameters(deprecatedAnnotationCall, it.moduleData.session)["level"] as? FirQualifiedAccessExpression ?: return@withFir false val calleeReference = (qualifiedExpression.calleeReference as? FirNamedReference)?.name?.asString() diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/firLightUtils.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/firLightUtils.kt index 9a5984e639b..e76d3795d23 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/firLightUtils.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/firLightUtils.kt @@ -61,7 +61,7 @@ internal fun KtTypeAndAnnotations.asPsiType( val type = this.type require(type is KtFirType) require(context is KtFirSymbol<*>) - val session = context.firRef.withFir(phase) { it.declarationSiteSession } + val session = context.firRef.withFir(phase) { it.moduleData.session } return type.coneType.asPsiType(session, context.firRef.resolveState, TypeMappingMode.DEFAULT, parent) } @@ -73,7 +73,7 @@ internal fun KtNamedClassOrObjectSymbol.typeForClassSymbol(psiElement: PsiElemen } require(types is KtFirType) - val session = firRef.withFir { it.declarationSiteSession } + val session = firRef.withFir { it.moduleData.session } return types.coneType.asPsiType(session, firRef.resolveState, TypeMappingMode.DEFAULT, psiElement) } @@ -173,7 +173,7 @@ internal fun KtType.mapSupertype( val contextSymbol = classSymbol require(contextSymbol is KtFirSymbol<*>) - val session = contextSymbol.firRef.withFir { it.declarationSiteSession } + val session = contextSymbol.firRef.withFir { it.moduleData.session } return mapSupertype( psiContext, @@ -303,7 +303,7 @@ internal fun KtType.getTypeNullability(context: KtSymbol, phase: FirResolvePhase if (coneType.classId?.shortClassName?.asString() == SpecialNames.ANONYMOUS) return NullabilityType.NotNull val canonicalSignature = context.firRef.withFir(phase) { - it.declarationSiteSession.jvmTypeMapper.mapType(coneType, TypeMappingMode.DEFAULT).descriptor + it.moduleData.session.jvmTypeMapper.mapType(coneType, TypeMappingMode.DEFAULT).descriptor } if (canonicalSignature == "[L;") return NullabilityType.NotNull diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/fir/FirIdeDeserializedDeclarationSourceProvider.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/fir/FirIdeDeserializedDeclarationSourceProvider.kt index e517bc0d7b0..56fa42908c2 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/fir/FirIdeDeserializedDeclarationSourceProvider.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/fir/FirIdeDeserializedDeclarationSourceProvider.kt @@ -10,8 +10,6 @@ import com.intellij.psi.PsiElement import com.intellij.psi.search.GlobalSearchScope import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.declarations.* -import org.jetbrains.kotlin.fir.psi -import org.jetbrains.kotlin.fir.realPsi import org.jetbrains.kotlin.idea.fir.low.level.api.sessions.FirIdeSession import org.jetbrains.kotlin.idea.stubindex.KotlinFullClassNameIndex import org.jetbrains.kotlin.idea.stubindex.KotlinTopLevelFunctionFqnNameIndex @@ -160,4 +158,4 @@ fun FirElement.findPsi(session: FirSession): PsiElement? = * Otherwise, behaves the same way as [findPsi] returns exact PSI declaration corresponding to passed [FirDeclaration] */ fun FirDeclaration.findReferencePsi(): PsiElement? = - psi ?: FirIdeDeserializedDeclarationSourceProvider.findPsi(this, (declarationSiteSession as FirIdeSession).project) + psi ?: FirIdeDeserializedDeclarationSourceProvider.findPsi(this, (moduleData.session as FirIdeSession).project) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/fir/KtDeclarationAndFirDeclarationEqualityChecker.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/fir/KtDeclarationAndFirDeclarationEqualityChecker.kt index 6fe019f1178..3bdba3828ea 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/fir/KtDeclarationAndFirDeclarationEqualityChecker.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/fir/KtDeclarationAndFirDeclarationEqualityChecker.kt @@ -16,8 +16,8 @@ import org.jetbrains.kotlin.fir.resolve.ScopeSession import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.scopes.FirScopeProvider import org.jetbrains.kotlin.fir.scopes.FirTypeScope -import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.fir.types.* +import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.psi.KtFunction import org.jetbrains.kotlin.psi.KtTypeReference import org.jetbrains.kotlin.types.Variance @@ -30,7 +30,7 @@ object KtDeclarationAndFirDeclarationEqualityChecker { && !isTheSameTypes( psi.receiverTypeReference!!, fir.receiverTypeRef!!, - fir.declarationSiteSession, + fir.moduleData.session, isVararg = false ) ) { @@ -44,7 +44,7 @@ object KtDeclarationAndFirDeclarationEqualityChecker { if (!isTheSameTypes( candidateParameterType, expectedParameter.returnTypeRef, - fir.declarationSiteSession, + fir.moduleData.session, isVararg = expectedParameter.isVararg ) ) { diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirScopeProvider.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirScopeProvider.kt index 3cede5c4fa8..e6ee32c27b5 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirScopeProvider.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirScopeProvider.kt @@ -72,7 +72,7 @@ internal class KtFirScopeProvider( memberScopeCache.getOrPut(classSymbol) { val firScope = classSymbol.withFirForScope { fir -> - val firSession = fir.declarationSiteSession + val firSession = fir.moduleData.session fir.unsubstitutedScope( firSession, ScopeSession(), diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirSymbolDeclarationOverridesProvider.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirSymbolDeclarationOverridesProvider.kt index 5ec2b116ede..4d7aabf8fbb 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirSymbolDeclarationOverridesProvider.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirSymbolDeclarationOverridesProvider.kt @@ -106,7 +106,7 @@ internal class KtFirSymbolDeclarationOverridesProvider( containingDeclaration.firRef.withFir(FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE) { firContainer -> callableSymbol.firRef.withFirUnsafe { firCallableDeclaration -> val firTypeScope = firContainer.unsubstitutedScope( - firContainer.declarationSiteSession, + firContainer.moduleData.session, ScopeSession(), withForcedTypeCalculator = false ) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirSymbolDeclarationRendererProvider.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirSymbolDeclarationRendererProvider.kt index 9b73c7051fa..8f3a1506f42 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirSymbolDeclarationRendererProvider.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/components/KtFirSymbolDeclarationRendererProvider.kt @@ -41,7 +41,7 @@ internal class KtFirSymbolDeclarationRendererProvider( return symbol.firRef.withFir(phaseNeeded) { fir -> val containingFir = containingSymbol?.firRef?.withFirUnsafe { it } - FirIdeRenderer.render(fir, containingFir, options, fir.declarationSiteSession) + FirIdeRenderer.render(fir, containingFir, options, fir.moduleData.session) } } } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirAnonymousFunctionSymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirAnonymousFunctionSymbol.kt index 98fcf77fa86..3215f6b5edc 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirAnonymousFunctionSymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirAnonymousFunctionSymbol.kt @@ -10,15 +10,16 @@ import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.idea.fir.findPsi import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState -import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.fir.KtSymbolByFirBuilder import org.jetbrains.kotlin.idea.frontend.api.fir.utils.cached import org.jetbrains.kotlin.idea.frontend.api.fir.utils.firRef import org.jetbrains.kotlin.idea.frontend.api.fir.utils.weakRef -import org.jetbrains.kotlin.idea.frontend.api.symbols.* +import org.jetbrains.kotlin.idea.frontend.api.symbols.KtAnonymousFunctionSymbol +import org.jetbrains.kotlin.idea.frontend.api.symbols.KtValueParameterSymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypeAndAnnotations import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer +import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken internal class KtFirAnonymousFunctionSymbol( fir: FirAnonymousFunction, @@ -28,7 +29,7 @@ internal class KtFirAnonymousFunctionSymbol( ) : KtAnonymousFunctionSymbol(), KtFirSymbol { private val builder by weakRef(_builder) override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override val annotatedType: KtTypeAndAnnotations by cached { firRef.returnTypeAndAnnotations(FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE, builder) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirAnonymousObjectSymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirAnonymousObjectSymbol.kt index ec446ddfef5..405fce9fa8e 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirAnonymousObjectSymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirAnonymousObjectSymbol.kt @@ -9,7 +9,6 @@ import com.intellij.psi.PsiElement import org.jetbrains.kotlin.fir.declarations.FirAnonymousObject import org.jetbrains.kotlin.idea.fir.findPsi import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState -import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.fir.KtSymbolByFirBuilder import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.containsAnnotation import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.getAnnotationClassIds @@ -19,13 +18,12 @@ import org.jetbrains.kotlin.idea.frontend.api.fir.utils.firRef import org.jetbrains.kotlin.idea.frontend.api.fir.utils.weakRef import org.jetbrains.kotlin.idea.frontend.api.symbols.KtAnonymousObjectSymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtAnnotationCall -import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolKind import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypeAndAnnotations import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.CanNotCreateSymbolPointerForLocalLibraryDeclarationException import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer +import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.name.ClassId -import org.jetbrains.kotlin.name.Name internal class KtFirAnonymousObjectSymbol( fir: FirAnonymousObject, @@ -35,7 +33,7 @@ internal class KtFirAnonymousObjectSymbol( ) : KtAnonymousObjectSymbol(), KtFirSymbol { private val builder by weakRef(_builder) override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override val annotations: List by cached { firRef.toAnnotationsList() } override fun containsAnnotation(classId: ClassId): Boolean = firRef.containsAnnotation(classId) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirConstructorSymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirConstructorSymbol.kt index e4500d38ad2..b59debe9105 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirConstructorSymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirConstructorSymbol.kt @@ -12,7 +12,6 @@ import org.jetbrains.kotlin.fir.declarations.FirConstructor import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.idea.fir.findPsi import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState -import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.fir.KtSymbolByFirBuilder import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.containsAnnotation import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.getAnnotationClassIds @@ -30,6 +29,7 @@ import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypeAndAnnotatio import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.CanNotCreateSymbolPointerForLocalLibraryDeclarationException import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer +import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.types.KtType import org.jetbrains.kotlin.idea.frontend.api.withValidityAssertion import org.jetbrains.kotlin.name.ClassId @@ -42,7 +42,7 @@ internal class KtFirConstructorSymbol( ) : KtConstructorSymbol(), KtFirSymbol { private val builder by weakRef(_builder) override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override val annotatedType: KtTypeAndAnnotations by cached { firRef.returnTypeAndAnnotations(FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE, builder) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirEnumEntrySymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirEnumEntrySymbol.kt index bbf24d94829..b5fa37435c4 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirEnumEntrySymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirEnumEntrySymbol.kt @@ -11,7 +11,6 @@ import org.jetbrains.kotlin.fir.declarations.FirEnumEntry import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.idea.fir.findPsi import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState -import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.fir.KtSymbolByFirBuilder import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.pointers.KtFirEnumEntrySymbolPointer import org.jetbrains.kotlin.idea.frontend.api.fir.utils.cached @@ -21,6 +20,7 @@ import org.jetbrains.kotlin.idea.frontend.api.symbols.KtEnumEntrySymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypeAndAnnotations import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer +import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.Name @@ -34,7 +34,7 @@ internal class KtFirEnumEntrySymbol( private val builder by weakRef(_builder) override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override val name: Name get() = firRef.withFir { it.name } override val annotatedType: KtTypeAndAnnotations by cached { diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirFileSymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirFileSymbol.kt index aa1a2ba7ac2..c211cc9bd34 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirFileSymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirFileSymbol.kt @@ -9,7 +9,6 @@ import com.intellij.psi.PsiElement import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.idea.fir.findPsi import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState -import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.containsAnnotation import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.getAnnotationClassIds import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.toAnnotationsList @@ -20,6 +19,7 @@ import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtAnnotationCall import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolWithDeclarations import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer +import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.name.ClassId internal class KtFirFileSymbol( @@ -28,7 +28,7 @@ internal class KtFirFileSymbol( override val token: ValidityToken, ) : KtFileSymbol(), KtSymbolWithDeclarations, KtFirSymbol { override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override fun createPointer(): KtSymbolPointer { KtPsiBasedSymbolPointer.createForSymbolFromSource(this)?.let { return it } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirFunctionSymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirFunctionSymbol.kt index cd38cb08137..b78a03f407b 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirFunctionSymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirFunctionSymbol.kt @@ -12,7 +12,6 @@ import org.jetbrains.kotlin.fir.containingClass import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.idea.fir.findPsi import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState -import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.fir.KtSymbolByFirBuilder import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.containsAnnotation import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.getAnnotationClassIds @@ -25,14 +24,16 @@ import org.jetbrains.kotlin.idea.frontend.api.fir.utils.firRef import org.jetbrains.kotlin.idea.frontend.api.fir.utils.weakRef import org.jetbrains.kotlin.idea.frontend.api.symbols.KtFunctionSymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.KtValueParameterSymbol -import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.* +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtAnnotationCall +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolKind +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypeAndAnnotations import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.CanNotCreateSymbolPointerForLocalLibraryDeclarationException import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer +import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.types.KtType import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.ClassId -import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name internal class KtFirFunctionSymbol( @@ -43,7 +44,7 @@ internal class KtFirFunctionSymbol( ) : KtFunctionSymbol(), KtFirSymbol { private val builder by weakRef(_builder) override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override val name: Name get() = firRef.withFir { it.name } override val annotatedType: KtTypeAndAnnotations by cached { firRef.returnTypeAndAnnotations(FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE, builder) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirJavaFieldSymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirJavaFieldSymbol.kt index b40a6385f3f..43da8039ba8 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirJavaFieldSymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirJavaFieldSymbol.kt @@ -12,7 +12,6 @@ import org.jetbrains.kotlin.fir.declarations.FirField import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.idea.fir.findPsi import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState -import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.fir.KtSymbolByFirBuilder import org.jetbrains.kotlin.idea.frontend.api.fir.utils.cached import org.jetbrains.kotlin.idea.frontend.api.fir.utils.firRef @@ -20,8 +19,8 @@ import org.jetbrains.kotlin.idea.frontend.api.fir.utils.weakRef import org.jetbrains.kotlin.idea.frontend.api.symbols.KtJavaFieldSymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypeAndAnnotations import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer +import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.name.CallableId -import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name internal class KtFirJavaFieldSymbol( @@ -32,7 +31,7 @@ internal class KtFirJavaFieldSymbol( ) : KtJavaFieldSymbol(), KtFirSymbol { private val builder by weakRef(_builder) override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override val annotatedType: KtTypeAndAnnotations by cached { firRef.returnTypeAndAnnotations(FirResolvePhase.TYPES, builder) diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirKotlinPropertySymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirKotlinPropertySymbol.kt index 270c5a6c8f0..20bb82d9776 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirKotlinPropertySymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirKotlinPropertySymbol.kt @@ -13,7 +13,6 @@ import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty import org.jetbrains.kotlin.idea.fir.findPsi import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState -import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.fir.KtSymbolByFirBuilder import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.containsAnnotation import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.getAnnotationClassIds @@ -27,15 +26,17 @@ import org.jetbrains.kotlin.idea.frontend.api.fir.utils.weakRef import org.jetbrains.kotlin.idea.frontend.api.symbols.KtKotlinPropertySymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.KtPropertyGetterSymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.KtPropertySetterSymbol -import org.jetbrains.kotlin.idea.frontend.api.symbols.KtPropertySymbol -import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.* +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtAnnotationCall +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtConstantValue +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolKind +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypeAndAnnotations import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.CanNotCreateSymbolPointerForLocalLibraryDeclarationException import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer -import org.jetbrains.kotlin.name.ClassId +import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.types.KtType import org.jetbrains.kotlin.name.CallableId -import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.Name internal class KtFirKotlinPropertySymbol( @@ -51,7 +52,7 @@ internal class KtFirKotlinPropertySymbol( private val builder by weakRef(_builder) override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override val isVal: Boolean get() = firRef.withFir { it.isVal } override val name: Name get() = firRef.withFir { it.name } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirLocalVariableSymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirLocalVariableSymbol.kt index ca6c27028a7..e3206e38415 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirLocalVariableSymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirLocalVariableSymbol.kt @@ -10,7 +10,6 @@ import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.idea.fir.findPsi import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState -import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.fir.KtSymbolByFirBuilder import org.jetbrains.kotlin.idea.frontend.api.fir.utils.cached import org.jetbrains.kotlin.idea.frontend.api.fir.utils.firRef @@ -21,6 +20,7 @@ import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypeAndAnnotatio import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.CanNotCreateSymbolPointerForLocalLibraryDeclarationException import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer +import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.name.Name internal class KtFirLocalVariableSymbol( @@ -36,7 +36,7 @@ internal class KtFirLocalVariableSymbol( private val builder by weakRef(_builder) override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override val isVal: Boolean get() = firRef.withFir { it.isVal } override val name: Name get() = firRef.withFir { it.name } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirNamedClassOrObjectSymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirNamedClassOrObjectSymbol.kt index 6fd1687dd1c..101215b06d6 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirNamedClassOrObjectSymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirNamedClassOrObjectSymbol.kt @@ -22,7 +22,9 @@ import org.jetbrains.kotlin.idea.frontend.api.fir.utils.firRef import org.jetbrains.kotlin.idea.frontend.api.fir.utils.weakRef import org.jetbrains.kotlin.idea.frontend.api.symbols.KtClassKind import org.jetbrains.kotlin.idea.frontend.api.symbols.KtNamedClassOrObjectSymbol -import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.* +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtAnnotationCall +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtSymbolKind +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypeAndAnnotations import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.CanNotCreateSymbolPointerForLocalLibraryDeclarationException import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer @@ -38,7 +40,7 @@ internal class KtFirNamedClassOrObjectSymbol( ) : KtNamedClassOrObjectSymbol(), KtFirSymbol { private val builder by weakRef(_builder) override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override val name: Name get() = firRef.withFir { it.name } override val classIdIfNonLocal: ClassId? get() = firRef.withFir { fir -> diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirPropertyGetterSymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirPropertyGetterSymbol.kt index de8721e605f..99de9cdb183 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirPropertyGetterSymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirPropertyGetterSymbol.kt @@ -8,11 +8,13 @@ package org.jetbrains.kotlin.idea.frontend.api.fir.symbols import com.intellij.psi.PsiElement import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibility -import org.jetbrains.kotlin.fir.declarations.* +import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor +import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyAccessor +import org.jetbrains.kotlin.fir.declarations.isInline +import org.jetbrains.kotlin.fir.declarations.isOverride import org.jetbrains.kotlin.idea.fir.findPsi import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState -import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.fir.KtSymbolByFirBuilder import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.containsAnnotation import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.getAnnotationClassIds @@ -21,11 +23,13 @@ import org.jetbrains.kotlin.idea.frontend.api.fir.utils.cached import org.jetbrains.kotlin.idea.frontend.api.fir.utils.firRef import org.jetbrains.kotlin.idea.frontend.api.fir.utils.weakRef import org.jetbrains.kotlin.idea.frontend.api.symbols.KtPropertyGetterSymbol -import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.* +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtAnnotationCall +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypeAndAnnotations import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer -import org.jetbrains.kotlin.name.ClassId +import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.types.KtType +import org.jetbrains.kotlin.name.ClassId internal class KtFirPropertyGetterSymbol( fir: FirPropertyAccessor, @@ -39,7 +43,7 @@ internal class KtFirPropertyGetterSymbol( private val builder by weakRef(_builder) override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override val isDefault: Boolean get() = firRef.withFir { it is FirDefaultPropertyAccessor } override val isInline: Boolean get() = firRef.withFir { it.isInline } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirPropertySetterSymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirPropertySetterSymbol.kt index 96e9f5f2250..42b9959dd2f 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirPropertySetterSymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirPropertySetterSymbol.kt @@ -8,11 +8,13 @@ package org.jetbrains.kotlin.idea.frontend.api.fir.symbols import com.intellij.psi.PsiElement import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibility -import org.jetbrains.kotlin.fir.declarations.* +import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor +import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyAccessor +import org.jetbrains.kotlin.fir.declarations.isInline +import org.jetbrains.kotlin.fir.declarations.isOverride import org.jetbrains.kotlin.idea.fir.findPsi import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState -import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.fir.KtSymbolByFirBuilder import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.containsAnnotation import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.getAnnotationClassIds @@ -22,11 +24,13 @@ import org.jetbrains.kotlin.idea.frontend.api.fir.utils.firRef import org.jetbrains.kotlin.idea.frontend.api.fir.utils.weakRef import org.jetbrains.kotlin.idea.frontend.api.symbols.KtPropertySetterSymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.KtValueParameterSymbol -import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.* +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtAnnotationCall +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypeAndAnnotations import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer -import org.jetbrains.kotlin.name.ClassId +import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.types.KtType +import org.jetbrains.kotlin.name.ClassId internal class KtFirPropertySetterSymbol( fir: FirPropertyAccessor, @@ -40,7 +44,7 @@ internal class KtFirPropertySetterSymbol( private val builder by weakRef(_builder) override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override val isDefault: Boolean get() = firRef.withFir { it is FirDefaultPropertyAccessor } override val isInline: Boolean get() = firRef.withFir { it.isInline } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirSyntheticJavaPropertySymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirSyntheticJavaPropertySymbol.kt index bccd5f4d073..de8e497c2d4 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirSyntheticJavaPropertySymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirSyntheticJavaPropertySymbol.kt @@ -8,32 +8,32 @@ package org.jetbrains.kotlin.idea.frontend.api.fir.symbols import com.intellij.psi.PsiElement import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibility -import org.jetbrains.kotlin.fir.containingClass -import org.jetbrains.kotlin.fir.declarations.* +import org.jetbrains.kotlin.fir.declarations.FirResolvePhase +import org.jetbrains.kotlin.fir.declarations.isOverride import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty import org.jetbrains.kotlin.idea.fir.findPsi import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState -import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.fir.KtSymbolByFirBuilder import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.containsAnnotation import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.getAnnotationClassIds import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.annotations.toAnnotationsList -import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.pointers.KtFirMemberPropertySymbolPointer -import org.jetbrains.kotlin.idea.frontend.api.fir.symbols.pointers.createSignature import org.jetbrains.kotlin.idea.frontend.api.fir.utils.cached import org.jetbrains.kotlin.idea.frontend.api.fir.utils.convertConstantExpression import org.jetbrains.kotlin.idea.frontend.api.fir.utils.firRef import org.jetbrains.kotlin.idea.frontend.api.fir.utils.weakRef -import org.jetbrains.kotlin.idea.frontend.api.symbols.* -import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.* -import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.CanNotCreateSymbolPointerForLocalLibraryDeclarationException -import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer +import org.jetbrains.kotlin.idea.frontend.api.symbols.KtPropertyGetterSymbol +import org.jetbrains.kotlin.idea.frontend.api.symbols.KtPropertySetterSymbol +import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbolOrigin +import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSyntheticJavaPropertySymbol +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtAnnotationCall +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtConstantValue +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtTypeAndAnnotations import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer -import org.jetbrains.kotlin.idea.frontend.api.withValidityAssertion -import org.jetbrains.kotlin.name.ClassId +import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.types.KtType +import org.jetbrains.kotlin.idea.frontend.api.withValidityAssertion import org.jetbrains.kotlin.name.CallableId -import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.Name internal class KtFirSyntheticJavaPropertySymbol( @@ -44,7 +44,7 @@ internal class KtFirSyntheticJavaPropertySymbol( ) : KtSyntheticJavaPropertySymbol(), KtFirSymbol { private val builder by weakRef(_builder) override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override val isVal: Boolean get() = firRef.withFir { it.isVal } override val name: Name get() = firRef.withFir { it.name } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirTypeAliasSymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirTypeAliasSymbol.kt index b846ecbaffc..ad5dc874a54 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirTypeAliasSymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirTypeAliasSymbol.kt @@ -6,14 +6,14 @@ package org.jetbrains.kotlin.idea.frontend.api.fir.symbols import com.intellij.psi.PsiElement -import org.jetbrains.kotlin.fir.declarations.* +import org.jetbrains.kotlin.fir.declarations.FirTypeAlias import org.jetbrains.kotlin.idea.fir.findPsi import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState -import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.fir.utils.firRef import org.jetbrains.kotlin.idea.frontend.api.symbols.KtTypeAliasSymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer +import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.Name @@ -23,7 +23,7 @@ internal class KtFirTypeAliasSymbol( override val token: ValidityToken ) : KtTypeAliasSymbol(), KtFirSymbol { override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override val name: Name get() = firRef.withFir { it.name } override val classIdIfNonLocal: ClassId get() = firRef.withFir { it.symbol.classId } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirTypeParameterSymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirTypeParameterSymbol.kt index ba6faa0fbba..8c986c5a0e5 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirTypeParameterSymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirTypeParameterSymbol.kt @@ -10,13 +10,13 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirTypeParameter import org.jetbrains.kotlin.idea.fir.findPsi import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState -import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.fir.KtSymbolByFirBuilder import org.jetbrains.kotlin.idea.frontend.api.fir.utils.firRef import org.jetbrains.kotlin.idea.frontend.api.fir.utils.weakRef import org.jetbrains.kotlin.idea.frontend.api.symbols.KtTypeParameterSymbol import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.idea.frontend.api.symbols.pointers.KtSymbolPointer +import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.types.KtType import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.types.Variance @@ -29,7 +29,7 @@ internal class KtFirTypeParameterSymbol( ) : KtTypeParameterSymbol(), KtFirSymbol { private val builder by weakRef(_builder) override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override val name: Name get() = firRef.withFir { it.name } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirValueParameterSymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirValueParameterSymbol.kt index 0172d27b492..bd381e5f0d7 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirValueParameterSymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirValueParameterSymbol.kt @@ -34,7 +34,7 @@ internal class KtFirValueParameterSymbol( ) : KtValueParameterSymbol(), KtFirSymbol { private val builder by weakRef(_builder) override val firRef = firRef(fir, resolveState) - override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.declarationSiteSession) } + override val psi: PsiElement? by firRef.withFirAndCache { fir -> fir.findPsi(fir.moduleData.session) } override val name: Name get() = firRef.withFir { it.name } override val isVararg: Boolean get() = firRef.withFir { it.isVararg } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/annotations/KtFirAnnotationCall.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/annotations/KtFirAnnotationCall.kt index 300f6eefe71..beb473929ed 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/annotations/KtFirAnnotationCall.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/annotations/KtFirAnnotationCall.kt @@ -10,12 +10,13 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.idea.fir.findPsi -import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.idea.frontend.api.fir.utils.FirRefWithValidityCheck import org.jetbrains.kotlin.idea.frontend.api.fir.utils.convertConstantExpression import org.jetbrains.kotlin.idea.frontend.api.fir.utils.mapAnnotationParameters import org.jetbrains.kotlin.idea.frontend.api.fir.utils.weakRef -import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.* +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtAnnotationCall +import org.jetbrains.kotlin.idea.frontend.api.symbols.markers.KtNamedConstantValue +import org.jetbrains.kotlin.idea.frontend.api.tokens.ValidityToken import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.psi.KtCallElement @@ -29,17 +30,17 @@ internal class KtFirAnnotationCall( override val token: ValidityToken get() = containingDeclaration.token override val psi: KtCallElement? by containingDeclaration.withFirAndCache { fir -> - fir.findPsi(fir.declarationSiteSession) as? KtCallElement + fir.findPsi(fir.moduleData.session) as? KtCallElement } override val classId: ClassId? by containingDeclaration.withFirAndCache(AnnotationPhases.PHASE_FOR_ANNOTATION_CLASS_ID) { fir -> - annotationCallRef.getClassId(fir.declarationSiteSession) + annotationCallRef.getClassId(fir.moduleData.session) } override val useSiteTarget: AnnotationUseSiteTarget? get() = annotationCallRef.useSiteTarget override val arguments: List by containingDeclaration.withFirAndCache(FirResolvePhase.TYPES) { fir -> - mapAnnotationParameters(annotationCallRef, fir.declarationSiteSession).map { (name, expression) -> + mapAnnotationParameters(annotationCallRef, fir.moduleData.session).map { (name, expression) -> KtNamedConstantValue(name, expression.convertConstantExpression()) } } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/annotations/firAnnotationUtils.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/annotations/firAnnotationUtils.kt index 84d3aa0367a..a03c90fea33 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/annotations/firAnnotationUtils.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/annotations/firAnnotationUtils.kt @@ -25,12 +25,12 @@ internal fun FirRefWithValidityCheck.toAnnotationsList( internal fun FirRefWithValidityCheck.containsAnnotation(classId: ClassId): Boolean = withFir(AnnotationPhases.PHASE_FOR_ANNOTATION_CLASS_ID) { fir -> - fir.annotations.any { it.getClassId(fir.declarationSiteSession) == classId } + fir.annotations.any { it.getClassId(fir.moduleData.session) == classId } } internal fun FirRefWithValidityCheck.getAnnotationClassIds(): Collection = withFir(AnnotationPhases.PHASE_FOR_ANNOTATION_CLASS_ID) { fir -> - fir.annotations.mapNotNull { it.getClassId(fir.declarationSiteSession) } + fir.annotations.mapNotNull { it.getClassId(fir.moduleData.session) } } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/KtFirMemberSymbolPointer.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/KtFirMemberSymbolPointer.kt index a1da6c4c361..496cf30af68 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/KtFirMemberSymbolPointer.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/KtFirMemberSymbolPointer.kt @@ -29,7 +29,7 @@ internal abstract class KtFirMemberSymbolPointer( ScopeSession(), withForcedTypeCalculator = false ) - return analysisSession.chooseCandidateAndCreateSymbol(scope, owner.declarationSiteSession) + return analysisSession.chooseCandidateAndCreateSymbol(scope, owner.moduleData.session) } protected abstract fun KtFirAnalysisSession.chooseCandidateAndCreateSymbol( diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/KtFirTopLevelCallableSymbolPointer.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/KtFirTopLevelCallableSymbolPointer.kt index 65008bea112..8b973c92d5c 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/KtFirTopLevelCallableSymbolPointer.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/KtFirTopLevelCallableSymbolPointer.kt @@ -21,7 +21,7 @@ internal abstract class KtTopLevelCallableSymbolPointer( require(analysisSession is KtFirAnalysisSession) val candidates = analysisSession.getCallableSymbols(callableId) if (candidates.isEmpty()) return null - val session = candidates.first().fir.declarationSiteSession + val session = candidates.first().fir.moduleData.session return analysisSession.chooseCandidateAndCreateSymbol(candidates, session) } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/pointerUtils.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/pointerUtils.kt index ce4fffb759f..66575e07373 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/pointerUtils.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/pointerUtils.kt @@ -46,7 +46,7 @@ internal inline fun Collection } internal fun FirDeclaration.createSignature(): IdSignature { - val signatureComposer = declarationSiteSession.ideSessionComponents.signatureComposer + val signatureComposer = moduleData.session.ideSessionComponents.signatureComposer return signatureComposer.composeSignature(this) ?: error("Could not compose signature for ${this.renderWithType(FirRenderer.RenderMode.WithResolvePhases)}, looks like it is private or local") } diff --git a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/fir/AbstractKtDeclarationAndFirDeclarationEqualityChecker.kt b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/fir/AbstractKtDeclarationAndFirDeclarationEqualityChecker.kt index 462840cf06c..3020fb2d4ce 100644 --- a/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/fir/AbstractKtDeclarationAndFirDeclarationEqualityChecker.kt +++ b/idea/idea-frontend-fir/tests/org/jetbrains/kotlin/idea/fir/AbstractKtDeclarationAndFirDeclarationEqualityChecker.kt @@ -26,7 +26,7 @@ abstract class AbstractKtDeclarationAndFirDeclarationEqualityChecker : KotlinLig if (!KtDeclarationAndFirDeclarationEqualityChecker.representsTheSameDeclaration(ktFunction, firFunction)) { throw FileComparisonFailure( /* message= */ null, - KtDeclarationAndFirDeclarationEqualityChecker.renderPsi(ktFunction, firFunction.declarationSiteSession), + KtDeclarationAndFirDeclarationEqualityChecker.renderPsi(ktFunction, firFunction.moduleData.session), KtDeclarationAndFirDeclarationEqualityChecker.renderFir(firFunction), /* expectedFilePath= */ null ) diff --git a/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenMemberGenerator.kt b/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenMemberGenerator.kt index 4c6edc387c0..b2e1ffbbbc7 100644 --- a/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenMemberGenerator.kt +++ b/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenMemberGenerator.kt @@ -13,11 +13,12 @@ import org.jetbrains.kotlin.fir.extensions.predicate.DeclarationPredicate import org.jetbrains.kotlin.fir.extensions.predicate.and import org.jetbrains.kotlin.fir.extensions.predicate.has import org.jetbrains.kotlin.fir.extensions.predicate.under +import org.jetbrains.kotlin.fir.moduleData import org.jetbrains.kotlin.fir.plugin.AllOpenPluginKey import org.jetbrains.kotlin.fir.plugin.fqn import org.jetbrains.kotlin.fir.resolve.transformers.plugin.GeneratedClass -import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol +import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.Name class AllOpenMemberGenerator(session: FirSession) : FirDeclarationGenerationExtension(session) { @@ -40,7 +41,7 @@ class AllOpenMemberGenerator(session: FirSession) : FirDeclarationGenerationExte val owner = owners.last() as? FirRegularClass ?: return emptyList() val propertyName = annotatedDeclaration.name.identifier val function = buildSimpleFunction { - declarationSiteSession = session + moduleData = session.moduleData resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES origin = FirDeclarationOrigin.Plugin(key) returnTypeRef = annotatedDeclaration.returnTypeRef diff --git a/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenNestedClassGenerator.kt b/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenNestedClassGenerator.kt index 0f14fc251b5..c7d41047f46 100644 --- a/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenNestedClassGenerator.kt +++ b/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenNestedClassGenerator.kt @@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusIm import org.jetbrains.kotlin.fir.extensions.FirDeclarationGenerationExtension import org.jetbrains.kotlin.fir.extensions.predicate.DeclarationPredicate import org.jetbrains.kotlin.fir.extensions.predicate.has +import org.jetbrains.kotlin.fir.moduleData import org.jetbrains.kotlin.fir.plugin.AllOpenPluginKey import org.jetbrains.kotlin.fir.plugin.fqn import org.jetbrains.kotlin.fir.resolve.transformers.plugin.GeneratedClass @@ -37,7 +38,7 @@ class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGeneratio ): List> { val owner = annotatedDeclaration as? FirRegularClass ?: return emptyList() val newClass = buildRegularClass { - declarationSiteSession = session + moduleData = session.moduleData resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES origin = FirDeclarationOrigin.Plugin(key) status = FirResolvedDeclarationStatusImpl( @@ -60,7 +61,7 @@ class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGeneratio val classId = klass.symbol.classId val constructor = buildConstructor { - declarationSiteSession = session + moduleData = session.moduleData resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES origin = FirDeclarationOrigin.Plugin(key) returnTypeRef = buildResolvedTypeRef { @@ -75,7 +76,7 @@ class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGeneratio } val function = buildSimpleFunction { - declarationSiteSession = session + moduleData = session.moduleData resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES origin = FirDeclarationOrigin.Plugin(key) returnTypeRef = session.builtinTypes.intType diff --git a/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenRecursiveNestedClassGenerator.kt b/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenRecursiveNestedClassGenerator.kt index fc50cd6a1e8..f37d8bd3b34 100644 --- a/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenRecursiveNestedClassGenerator.kt +++ b/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenRecursiveNestedClassGenerator.kt @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.expressions.builder.buildAnnotationCall import org.jetbrains.kotlin.fir.extensions.FirDeclarationGenerationExtension import org.jetbrains.kotlin.fir.extensions.predicate.DeclarationPredicate import org.jetbrains.kotlin.fir.extensions.predicate.has +import org.jetbrains.kotlin.fir.moduleData import org.jetbrains.kotlin.fir.plugin.fqn import org.jetbrains.kotlin.fir.references.impl.FirReferencePlaceholderForResolvedAnnotations import org.jetbrains.kotlin.fir.resolve.transformers.plugin.GeneratedClass @@ -35,7 +36,7 @@ class AllOpenRecursiveNestedClassGenerator(session: FirSession) : FirDeclaration if (owners.size > 2) return emptyList() val owner = annotatedDeclaration as? FirRegularClass ?: return emptyList() val newClass = buildRegularClass { - declarationSiteSession = session + moduleData = session.moduleData resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES origin = FirDeclarationOrigin.Plugin(key) status = FirResolvedDeclarationStatusImpl( diff --git a/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenTopLevelDeclarationsGenerator.kt b/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenTopLevelDeclarationsGenerator.kt index dae16b0ac54..83bff14a847 100644 --- a/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenTopLevelDeclarationsGenerator.kt +++ b/plugins/fir/fir-plugin-prototype/src/org/jetbrains/kotlin/fir/plugin/generators/AllOpenTopLevelDeclarationsGenerator.kt @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusIm import org.jetbrains.kotlin.fir.extensions.FirDeclarationGenerationExtension import org.jetbrains.kotlin.fir.extensions.predicate.DeclarationPredicate import org.jetbrains.kotlin.fir.extensions.predicate.has +import org.jetbrains.kotlin.fir.moduleData import org.jetbrains.kotlin.fir.plugin.fqn import org.jetbrains.kotlin.fir.resolve.transformers.plugin.GeneratedClass import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol @@ -33,7 +34,7 @@ class AllOpenTopLevelDeclarationsGenerator(session: FirSession) : FirDeclaration val file = owners.first() as FirFile val klass = annotatedDeclaration as? FirRegularClass ?: return emptyList() val newClass = buildRegularClass { - declarationSiteSession = session + moduleData = session.moduleData resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES origin = FirDeclarationOrigin.Plugin(key) status = FirResolvedDeclarationStatusImpl( @@ -52,7 +53,7 @@ class AllOpenTopLevelDeclarationsGenerator(session: FirSession) : FirDeclaration override fun generateMembersForGeneratedClass(generatedClass: GeneratedClass): List { val klass = generatedClass.klass val function = buildSimpleFunction { - declarationSiteSession = session + moduleData = session.moduleData resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES origin = FirDeclarationOrigin.Plugin(key) returnTypeRef = session.builtinTypes.intType