[FIR] Fix all usages of declarationSiteSession
This commit is contained in:
committed by
TeamCityServer
parent
a15316de24
commit
5cfa8694d4
@@ -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
|
||||
}
|
||||
|
||||
+1
-1
@@ -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 =
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
+42
@@ -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<FirModuleData> = moduleInfo.dependencies()
|
||||
.filterNot { it == moduleInfo }
|
||||
.map { FirModuleInfoBasedModuleData(it, session) }
|
||||
|
||||
override val dependsOnDependencies: List<FirModuleData> = moduleInfo.expectedBy
|
||||
.filterNot { it == moduleInfo }
|
||||
.map { FirModuleInfoBasedModuleData(it, session) }
|
||||
|
||||
override val friendDependencies: List<FirModuleData> = 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()
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+9
-4
@@ -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,
|
||||
|
||||
+7
-6
@@ -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 {
|
||||
|
||||
+23
-20
@@ -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<FirTypeParameterSymbol>
|
||||
) {
|
||||
val session: FirSession = moduleData.session
|
||||
|
||||
val allTypeParameters: List<FirTypeParameterSymbol> =
|
||||
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<FirAnnotationCall>) +=
|
||||
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<FirAnnotationCall>) +=
|
||||
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
|
||||
|
||||
+5
-5
@@ -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<FirTypeParameterRefsOwner>().typeParameters.size - arguments.size) {
|
||||
when (functionTypeConstructor.toSymbol(moduleData.session)!!.firUnsafe<FirTypeParameterRefsOwner>().typeParameters.size - arguments.size) {
|
||||
0 -> createSuspendFunctionTypeForBasicCase(functionTypeConstructor, arguments, isNullable, attributes)
|
||||
1 -> {
|
||||
val arity = arguments.size - 1
|
||||
|
||||
+24
-20
@@ -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<FirPropertySymbol>, 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,
|
||||
)
|
||||
|
||||
+3
-3
@@ -79,7 +79,7 @@ class FirMetadataSerializer(
|
||||
val function = this
|
||||
return buildAnonymousFunction {
|
||||
val typeParameterSet = function.typeParameters.filterIsInstanceTo(mutableSetOf<FirTypeParameter>())
|
||||
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)
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
@@ -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("<elvis>")
|
||||
|
||||
@@ -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) {
|
||||
|
||||
+4
-3
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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<FirAnnotationCall>.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
|
||||
|
||||
@@ -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<FirAnnotationCall>,
|
||||
@@ -140,7 +140,7 @@ internal class FirJavaClassBuilder : FirRegularClassBuilder(), FirAnnotationCont
|
||||
override fun build(): FirJavaClass {
|
||||
return FirJavaClass(
|
||||
source,
|
||||
declarationSiteSession,
|
||||
moduleData,
|
||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES,
|
||||
name,
|
||||
annotations,
|
||||
|
||||
+3
-3
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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<FirValueParameter> = 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
|
||||
|
||||
+5
-5
@@ -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
|
||||
|
||||
+4
-3
@@ -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
|
||||
|
||||
+7
-5
@@ -37,6 +37,8 @@ class FirSignatureEnhancement(
|
||||
private val session: FirSession,
|
||||
private val overridden: FirSimpleFunction.() -> List<FirCallableMemberDeclaration<*>>
|
||||
) {
|
||||
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
|
||||
|
||||
+3
-2
@@ -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)
|
||||
|
||||
+3
-3
@@ -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,
|
||||
|
||||
+3
-3
@@ -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
|
||||
|
||||
+31
-32
@@ -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<FirStatement>(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
|
||||
|
||||
+7
-7
@@ -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
|
||||
|
||||
+5
-5
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+6
-6
@@ -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()
|
||||
|
||||
+2
-2
@@ -82,7 +82,7 @@ internal fun Array<KtWhenCondition>.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
|
||||
|
||||
+42
-36
@@ -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<FirProperty>()
|
||||
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,
|
||||
|
||||
+20
-20
@@ -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<T>(val baseSession: FirSession, val context: Context<T> = Context()) {
|
||||
val baseModuleData: FirModuleData = baseSession.moduleData
|
||||
|
||||
abstract fun T.toFirSourceElement(kind: FirFakeSourceElementKind? = null): FirSourceElement
|
||||
|
||||
@@ -157,7 +158,7 @@ abstract class BaseFirBuilder<T>(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<T>(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("<unary>"),
|
||||
unwrappedArgument.convert()
|
||||
@@ -524,7 +525,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
||||
|
||||
// resultVar is only used for prefix increment/decrement.
|
||||
val resultVar = generateTemporaryVariable(
|
||||
this@BaseFirBuilder.baseSession,
|
||||
baseModuleData,
|
||||
desugaredSource,
|
||||
Name.special("<unary-result>"),
|
||||
resultInitializer
|
||||
@@ -606,7 +607,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
||||
val argumentSelector = argument.selectorExpression
|
||||
|
||||
val argumentReceiverVariable = generateTemporaryVariable(
|
||||
this@BaseFirBuilder.baseSession,
|
||||
baseModuleData,
|
||||
argumentReceiver?.toFirSourceElement(),
|
||||
Name.special("<receiver>"),
|
||||
argumentReceiver?.convert() ?: buildErrorExpression {
|
||||
@@ -625,7 +626,7 @@ abstract class BaseFirBuilder<T>(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("<unary>"),
|
||||
firArgument
|
||||
@@ -647,7 +648,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
||||
|
||||
// resultVar is only used for prefix increment/decrement.
|
||||
val resultVar = generateTemporaryVariable(
|
||||
this@BaseFirBuilder.baseSession,
|
||||
baseModuleData,
|
||||
desugaredSource,
|
||||
Name.special("<unary-result>"),
|
||||
resultInitializer
|
||||
@@ -729,7 +730,7 @@ abstract class BaseFirBuilder<T>(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>"),
|
||||
array?.convert() ?: buildErrorExpression {
|
||||
@@ -740,7 +741,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
||||
|
||||
val indexVariables = indices.mapIndexed { i, index ->
|
||||
generateTemporaryVariable(
|
||||
this@BaseFirBuilder.baseSession,
|
||||
baseModuleData,
|
||||
index.toFirSourceElement(),
|
||||
Name.special("<index$i>"),
|
||||
index.convert()
|
||||
@@ -763,7 +764,7 @@ abstract class BaseFirBuilder<T>(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("<unary>"),
|
||||
firArgument
|
||||
@@ -785,7 +786,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
||||
|
||||
// resultVar is only used for prefix increment/decrement.
|
||||
val resultVar = generateTemporaryVariable(
|
||||
this@BaseFirBuilder.baseSession,
|
||||
baseModuleData,
|
||||
desugaredSource,
|
||||
Name.special("<unary-result>"),
|
||||
resultInitializer
|
||||
@@ -1002,17 +1003,17 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
||||
val baseCall = convert() as FirFunctionCall
|
||||
|
||||
val arrayVariable = generateTemporaryVariable(
|
||||
baseSession,
|
||||
baseModuleData,
|
||||
source = null,
|
||||
"<array>",
|
||||
baseCall.explicitReceiver ?: buildErrorExpression {
|
||||
specialName = "<array>",
|
||||
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_$i>", index)
|
||||
generateTemporaryVariable(baseModuleData, source = null, specialName = "<index_$i>", initializer = index)
|
||||
}
|
||||
statements += indexVariables
|
||||
statements += buildFunctionCall {
|
||||
@@ -1060,7 +1061,6 @@ abstract class BaseFirBuilder<T>(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<Pair<T, FirProperty>>,
|
||||
@@ -1107,7 +1107,7 @@ abstract class BaseFirBuilder<T>(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<T>(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<T>(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
|
||||
|
||||
+9
-11
@@ -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
|
||||
|
||||
@@ -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<FirValueParameter> = 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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+9
-4
@@ -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 {
|
||||
|
||||
+1
-1
@@ -40,7 +40,7 @@ abstract class FirAbstractPhaseTransformer<D>(
|
||||
}
|
||||
|
||||
protected fun checkSessionConsistency(file: FirFile) {
|
||||
assert(session === file.declarationSiteSession) {
|
||||
assert(session === file.moduleData.session) {
|
||||
"File ${file.name} and transformer ${this::class} have inconsistent sessions"
|
||||
}
|
||||
}
|
||||
|
||||
+6
-5
@@ -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
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+9
-4
@@ -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()
|
||||
|
||||
+2
-1
@@ -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()
|
||||
|
||||
+17
-10
@@ -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()
|
||||
|
||||
+6
-3
@@ -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,
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
@@ -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<FirAnonymousFunction>, 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
|
||||
|
||||
+2
-2
@@ -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<FirAnonymousInitializer>, 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
|
||||
|
||||
@@ -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<FirAnonymousObject>, 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
|
||||
|
||||
+2
-2
@@ -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<F : FirCallableDeclaration<F>> : FirTypedDeclaration, FirSymbolOwner<F> {
|
||||
override val source: FirSourceElement?
|
||||
override val declarationSiteSession: FirSession
|
||||
override val moduleData: FirModuleData
|
||||
override val resolvePhase: FirResolvePhase
|
||||
override val origin: FirDeclarationOrigin
|
||||
override val attributes: FirDeclarationAttributes
|
||||
|
||||
+2
-2
@@ -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<F : FirCallableMemberDeclaration<F>> : FirCallableDeclaration<F>, 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
|
||||
|
||||
@@ -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<F : FirClass<F>> : FirClassLikeDeclaration<F>, 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
|
||||
|
||||
+2
-2
@@ -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<F : FirClassLikeDeclaration<F>> : FirAnnotatedDeclaration, FirStatement, FirSymbolOwner<F> {
|
||||
override val source: FirSourceElement?
|
||||
override val declarationSiteSession: FirSession
|
||||
override val moduleData: FirModuleData
|
||||
override val resolvePhase: FirResolvePhase
|
||||
override val origin: FirDeclarationOrigin
|
||||
override val attributes: FirDeclarationAttributes
|
||||
|
||||
@@ -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<FirConstructor>, FirCallableMemberDeclaration<FirConstructor>, 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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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<FirEnumEntry>(), FirCallableMemberDeclaration<FirEnumEntry> {
|
||||
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
|
||||
|
||||
@@ -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<FirErrorFunction>, 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
|
||||
|
||||
@@ -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<FirErrorProperty>(), 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
|
||||
|
||||
@@ -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<FirField>(), FirTypeParametersOwner, FirCallableMemberDeclaration<FirField> {
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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<F : FirFunction<F>> : FirCallableDeclaration<F>, 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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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<FirProperty>(), FirTypeParametersOwner, FirControlFlowGraphOwner, FirCallableMemberDeclaration<FirProperty> {
|
||||
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
|
||||
|
||||
@@ -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<FirPropertyAccessor>, FirCallableMemberDeclaration<FirPropertyAccessor>, 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
|
||||
|
||||
@@ -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<FirRegularClass> {
|
||||
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
|
||||
|
||||
@@ -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<FirSimpleFunction>, FirCallableMemberDeclaration<FirSimpleFunction>, 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
|
||||
|
||||
@@ -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<FirTypeAlias>, 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
|
||||
|
||||
@@ -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<FirTypeParameter> {
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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<FirValueParameter>(), 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
|
||||
|
||||
@@ -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<F : FirVariable<F>> : FirPureAbstractElement(), FirCallableDeclaration<F>, 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
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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<FirAnnotationCall> = mutableListOf()
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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()
|
||||
|
||||
+2
-2
@@ -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<FirAnnotationCall>,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user