[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 ||
|
if (visibility == Visibilities.Private ||
|
||||||
!visibility.visibleFromPackage(classPackage, symbol.callableId.packageName)
|
!visibility.visibleFromPackage(classPackage, symbol.callableId.packageName)
|
||||||
) return false
|
) return false
|
||||||
if (visibility == Visibilities.Internal &&
|
if (
|
||||||
declarationSiteSession !== parentClass.declarationSiteSession
|
visibility == Visibilities.Internal &&
|
||||||
|
(moduleData != parentClass.moduleData || parentClass.moduleData in moduleData.friendDependencies)
|
||||||
) return false
|
) return false
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -81,7 +81,7 @@ object FirConflictsChecker : FirBasicDeclarationChecker() {
|
|||||||
session: FirSession
|
session: FirSession
|
||||||
) {
|
) {
|
||||||
val conflicting = conflictingSymbol.fir as? FirDeclaration ?: return
|
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)
|
val actualConflictingPresentation = conflictingPresentation ?: presenter.represent(conflicting)
|
||||||
if (conflicting == declaration || actualConflictingPresentation != declarationPresentation) return
|
if (conflicting == declaration || actualConflictingPresentation != declarationPresentation) return
|
||||||
val actualConflictingFile =
|
val actualConflictingFile =
|
||||||
|
|||||||
@@ -317,7 +317,7 @@ class MultiModuleHtmlFirDump(private val outputRoot: File) {
|
|||||||
require(inModule)
|
require(inModule)
|
||||||
|
|
||||||
val dumpOutput = index.files[file] ?: error("No location for ${file.name}")
|
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()
|
val builder = StringBuilder()
|
||||||
dumper.generate(file, builder)
|
dumper.generate(file, builder)
|
||||||
|
|
||||||
|
|||||||
@@ -93,3 +93,8 @@ fun FirSession.registerJavaSpecificResolveComponents() {
|
|||||||
register(FirSyntheticNamesProvider::class, FirJavaSyntheticNamesProvider)
|
register(FirSyntheticNamesProvider::class, FirJavaSyntheticNamesProvider)
|
||||||
register(FirJsr305StateContainer::class, FirJsr305StateContainer.Default)
|
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.analyzer.ModuleInfo
|
||||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||||
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
||||||
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.PrivateSessionConstructor
|
import org.jetbrains.kotlin.fir.PrivateSessionConstructor
|
||||||
import org.jetbrains.kotlin.fir.SessionConfiguration
|
import org.jetbrains.kotlin.fir.SessionConfiguration
|
||||||
@@ -78,6 +79,8 @@ object FirSessionFactory {
|
|||||||
init: FirSessionConfigurator.() -> Unit = {}
|
init: FirSessionConfigurator.() -> Unit = {}
|
||||||
): FirJavaModuleBasedSession {
|
): FirJavaModuleBasedSession {
|
||||||
return FirJavaModuleBasedSession(moduleInfo, sessionProvider).apply {
|
return FirJavaModuleBasedSession(moduleInfo, sessionProvider).apply {
|
||||||
|
val moduleData = FirModuleInfoBasedModuleData(moduleInfo, this)
|
||||||
|
registerModuleData(moduleData)
|
||||||
registerCliCompilerOnlyComponents()
|
registerCliCompilerOnlyComponents()
|
||||||
registerCommonComponents(languageVersionSettings)
|
registerCommonComponents(languageVersionSettings)
|
||||||
registerResolveComponents(lookupTracker)
|
registerResolveComponents(lookupTracker)
|
||||||
@@ -91,10 +94,15 @@ object FirSessionFactory {
|
|||||||
val deserializedJvmSymbolsProvider =
|
val deserializedJvmSymbolsProvider =
|
||||||
if (additionalPackagePartProvider == null) null
|
if (additionalPackagePartProvider == null) null
|
||||||
else {
|
else {
|
||||||
val javaSymbolProvider = JavaSymbolProvider(this, project, additionalScope ?: scope)
|
val javaSymbolProvider = JavaSymbolProvider(this, moduleData, project, additionalScope ?: scope)
|
||||||
|
|
||||||
makeDeserializedJvmSymbolsProvider(
|
makeDeserializedJvmSymbolsProvider(
|
||||||
project, additionalScope ?: scope, additionalPackagePartProvider, javaSymbolProvider, kotlinScopeProvider
|
moduleData,
|
||||||
|
project,
|
||||||
|
additionalScope ?: scope,
|
||||||
|
additionalPackagePartProvider,
|
||||||
|
javaSymbolProvider,
|
||||||
|
kotlinScopeProvider
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,7 +112,7 @@ object FirSessionFactory {
|
|||||||
this,
|
this,
|
||||||
listOfNotNull(
|
listOfNotNull(
|
||||||
firProvider.symbolProvider,
|
firProvider.symbolProvider,
|
||||||
JavaSymbolProvider(this, project, scope),
|
JavaSymbolProvider(this, moduleData, project, scope),
|
||||||
dependenciesProvider ?: FirDependenciesSymbolProviderImpl(this),
|
dependenciesProvider ?: FirDependenciesSymbolProviderImpl(this),
|
||||||
deserializedJvmSymbolsProvider
|
deserializedJvmSymbolsProvider
|
||||||
)
|
)
|
||||||
@@ -130,23 +138,24 @@ object FirSessionFactory {
|
|||||||
languageVersionSettings: LanguageVersionSettings = LanguageVersionSettingsImpl.DEFAULT,
|
languageVersionSettings: LanguageVersionSettings = LanguageVersionSettingsImpl.DEFAULT,
|
||||||
): FirLibrarySession {
|
): FirLibrarySession {
|
||||||
return FirLibrarySession(moduleInfo, sessionProvider).apply {
|
return FirLibrarySession(moduleInfo, sessionProvider).apply {
|
||||||
|
val moduleData = FirModuleInfoBasedModuleData(moduleInfo, this)
|
||||||
registerCliCompilerOnlyComponents()
|
registerCliCompilerOnlyComponents()
|
||||||
registerCommonComponents(languageVersionSettings)
|
registerCommonComponents(languageVersionSettings)
|
||||||
|
|
||||||
val javaSymbolProvider = JavaSymbolProvider(this, project, scope)
|
val javaSymbolProvider = JavaSymbolProvider(this, moduleData, project, scope)
|
||||||
|
|
||||||
val kotlinScopeProvider = FirKotlinScopeProvider(::wrapScopeWithJvmMapped)
|
val kotlinScopeProvider = FirKotlinScopeProvider(::wrapScopeWithJvmMapped)
|
||||||
|
|
||||||
val deserializedJvmSymbolsProvider = makeDeserializedJvmSymbolsProvider(
|
val deserializedJvmSymbolsProvider = makeDeserializedJvmSymbolsProvider(
|
||||||
project, scope, packagePartProvider, javaSymbolProvider, kotlinScopeProvider
|
moduleData, project, scope, packagePartProvider, javaSymbolProvider, kotlinScopeProvider
|
||||||
)
|
)
|
||||||
|
|
||||||
val symbolProvider = FirCompositeSymbolProvider(
|
val symbolProvider = FirCompositeSymbolProvider(
|
||||||
this,
|
this,
|
||||||
listOf(
|
listOf(
|
||||||
deserializedJvmSymbolsProvider,
|
deserializedJvmSymbolsProvider,
|
||||||
FirBuiltinSymbolProvider(this, kotlinScopeProvider),
|
FirBuiltinSymbolProvider(this, moduleData, kotlinScopeProvider),
|
||||||
FirCloneableSymbolProvider(this, kotlinScopeProvider),
|
FirCloneableSymbolProvider(this, moduleData, kotlinScopeProvider),
|
||||||
javaSymbolProvider,
|
javaSymbolProvider,
|
||||||
FirDependenciesSymbolProviderImpl(this)
|
FirDependenciesSymbolProviderImpl(this)
|
||||||
)
|
)
|
||||||
@@ -156,7 +165,8 @@ object FirSessionFactory {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun FirSession.makeDeserializedJvmSymbolsProvider(
|
private fun makeDeserializedJvmSymbolsProvider(
|
||||||
|
moduleData: FirModuleData,
|
||||||
project: Project,
|
project: Project,
|
||||||
scope: GlobalSearchScope,
|
scope: GlobalSearchScope,
|
||||||
packagePartProvider: PackagePartProvider,
|
packagePartProvider: PackagePartProvider,
|
||||||
@@ -171,7 +181,7 @@ object FirSessionFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return KotlinDeserializedJvmSymbolsProvider(
|
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
|
package org.jetbrains.kotlin.fir.deserialization
|
||||||
|
|
||||||
import com.intellij.openapi.progress.ProcessCanceledException
|
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.caches.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals
|
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals
|
||||||
@@ -39,9 +39,9 @@ class PackagePartsCacheData(
|
|||||||
typealias DeserializedClassPostProcessor = (FirRegularClassSymbol) -> Unit
|
typealias DeserializedClassPostProcessor = (FirRegularClassSymbol) -> Unit
|
||||||
|
|
||||||
abstract class AbstractFirDeserializedSymbolsProvider(
|
abstract class AbstractFirDeserializedSymbolsProvider(
|
||||||
session: FirSession,
|
val moduleData: FirModuleData,
|
||||||
val kotlinScopeProvider: FirKotlinScopeProvider
|
val kotlinScopeProvider: FirKotlinScopeProvider
|
||||||
) : FirSymbolProvider(session) {
|
) : FirSymbolProvider(moduleData.session) {
|
||||||
|
|
||||||
// ------------------------ Caches ------------------------
|
// ------------------------ Caches ------------------------
|
||||||
|
|
||||||
@@ -110,7 +110,12 @@ abstract class AbstractFirDeserializedSymbolsProvider(
|
|||||||
val (nameResolver, classProto, annotationDeserializer, sourceElement, postProcessor) = result
|
val (nameResolver, classProto, annotationDeserializer, sourceElement, postProcessor) = result
|
||||||
val symbol = FirRegularClassSymbol(classId)
|
val symbol = FirRegularClassSymbol(classId)
|
||||||
deserializeClassToSymbol(
|
deserializeClassToSymbol(
|
||||||
classId, classProto, symbol, nameResolver, session,
|
classId,
|
||||||
|
classProto,
|
||||||
|
symbol,
|
||||||
|
nameResolver,
|
||||||
|
session,
|
||||||
|
moduleData,
|
||||||
annotationDeserializer,
|
annotationDeserializer,
|
||||||
kotlinScopeProvider,
|
kotlinScopeProvider,
|
||||||
parentContext,
|
parentContext,
|
||||||
|
|||||||
+7
-6
@@ -49,6 +49,7 @@ fun deserializeClassToSymbol(
|
|||||||
symbol: FirRegularClassSymbol,
|
symbol: FirRegularClassSymbol,
|
||||||
nameResolver: NameResolver,
|
nameResolver: NameResolver,
|
||||||
session: FirSession,
|
session: FirSession,
|
||||||
|
moduleData: FirModuleData,
|
||||||
defaultAnnotationDeserializer: AbstractAnnotationDeserializer?,
|
defaultAnnotationDeserializer: AbstractAnnotationDeserializer?,
|
||||||
scopeProvider: FirScopeProvider,
|
scopeProvider: FirScopeProvider,
|
||||||
parentContext: FirDeserializationContext? = null,
|
parentContext: FirDeserializationContext? = null,
|
||||||
@@ -90,7 +91,7 @@ fun deserializeClassToSymbol(
|
|||||||
classId,
|
classId,
|
||||||
classProto,
|
classProto,
|
||||||
nameResolver,
|
nameResolver,
|
||||||
session,
|
moduleData,
|
||||||
annotationDeserializer,
|
annotationDeserializer,
|
||||||
FirConstDeserializer(session, (containerSource as? KotlinJvmBinarySourceElement)?.binaryClass),
|
FirConstDeserializer(session, (containerSource as? KotlinJvmBinarySourceElement)?.binaryClass),
|
||||||
containerSource,
|
containerSource,
|
||||||
@@ -102,7 +103,7 @@ fun deserializeClassToSymbol(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
buildRegularClass {
|
buildRegularClass {
|
||||||
declarationSiteSession = session
|
this.moduleData = moduleData
|
||||||
this.origin = origin
|
this.origin = origin
|
||||||
name = classId.shortClassName
|
name = classId.shortClassName
|
||||||
this.status = status
|
this.status = status
|
||||||
@@ -159,7 +160,7 @@ fun deserializeClassToSymbol(
|
|||||||
|
|
||||||
val enumType = ConeClassLikeTypeImpl(symbol.toLookupTag(), emptyArray(), false)
|
val enumType = ConeClassLikeTypeImpl(symbol.toLookupTag(), emptyArray(), false)
|
||||||
val property = buildEnumEntry {
|
val property = buildEnumEntry {
|
||||||
declarationSiteSession = session
|
this.moduleData = moduleData
|
||||||
this.origin = FirDeclarationOrigin.Library
|
this.origin = FirDeclarationOrigin.Library
|
||||||
returnTypeRef = buildResolvedTypeRef { type = enumType }
|
returnTypeRef = buildResolvedTypeRef { type = enumType }
|
||||||
name = enumEntryName
|
name = enumEntryName
|
||||||
@@ -182,11 +183,11 @@ fun deserializeClassToSymbol(
|
|||||||
|
|
||||||
if (classKind == ClassKind.ENUM_CLASS) {
|
if (classKind == ClassKind.ENUM_CLASS) {
|
||||||
generateValuesFunction(
|
generateValuesFunction(
|
||||||
session,
|
moduleData,
|
||||||
classId.packageFqName,
|
classId.packageFqName,
|
||||||
classId.relativeClassName
|
classId.relativeClassName
|
||||||
)
|
)
|
||||||
generateValueOfFunction(session, classId.packageFqName, classId.relativeClassName)
|
generateValueOfFunction(moduleData, classId.packageFqName, classId.relativeClassName)
|
||||||
}
|
}
|
||||||
|
|
||||||
addCloneForArrayIfNeeded(classId, context.dispatchReceiver)
|
addCloneForArrayIfNeeded(classId, context.dispatchReceiver)
|
||||||
@@ -255,7 +256,7 @@ private fun FirRegularClassBuilder.addCloneForArrayIfNeeded(classId: ClassId, di
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
declarations += buildSimpleFunction {
|
declarations += buildSimpleFunction {
|
||||||
declarationSiteSession = this@addCloneForArrayIfNeeded.declarationSiteSession
|
moduleData = this@addCloneForArrayIfNeeded.moduleData
|
||||||
origin = FirDeclarationOrigin.Library
|
origin = FirDeclarationOrigin.Library
|
||||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||||
returnTypeRef = buildResolvedTypeRef {
|
returnTypeRef = buildResolvedTypeRef {
|
||||||
|
|||||||
+23
-20
@@ -6,6 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.deserialization
|
package org.jetbrains.kotlin.fir.deserialization
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.containingClassAttr
|
import org.jetbrains.kotlin.fir.containingClassAttr
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
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.FirExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.builder.buildExpressionStub
|
import org.jetbrains.kotlin.fir.expressions.builder.buildExpressionStub
|
||||||
import org.jetbrains.kotlin.fir.resolve.defaultType
|
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.symbols.impl.*
|
||||||
import org.jetbrains.kotlin.fir.toEffectiveVisibility
|
import org.jetbrains.kotlin.fir.toEffectiveVisibility
|
||||||
import org.jetbrains.kotlin.fir.types.*
|
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.CallableId
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
|
import org.jetbrains.kotlin.name.StandardClassIds
|
||||||
import org.jetbrains.kotlin.protobuf.MessageLite
|
import org.jetbrains.kotlin.protobuf.MessageLite
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.ProtoEnumFlags
|
import org.jetbrains.kotlin.serialization.deserialization.ProtoEnumFlags
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||||
@@ -37,7 +38,7 @@ class FirDeserializationContext(
|
|||||||
val nameResolver: NameResolver,
|
val nameResolver: NameResolver,
|
||||||
val typeTable: TypeTable,
|
val typeTable: TypeTable,
|
||||||
val versionRequirementTable: VersionRequirementTable,
|
val versionRequirementTable: VersionRequirementTable,
|
||||||
val session: FirSession,
|
val moduleData: FirModuleData,
|
||||||
val packageFqName: FqName,
|
val packageFqName: FqName,
|
||||||
val relativeClassName: FqName?,
|
val relativeClassName: FqName?,
|
||||||
val typeDeserializer: FirTypeDeserializer,
|
val typeDeserializer: FirTypeDeserializer,
|
||||||
@@ -47,6 +48,8 @@ class FirDeserializationContext(
|
|||||||
val outerClassSymbol: FirRegularClassSymbol?,
|
val outerClassSymbol: FirRegularClassSymbol?,
|
||||||
outerTypeParameters: List<FirTypeParameterSymbol>
|
outerTypeParameters: List<FirTypeParameterSymbol>
|
||||||
) {
|
) {
|
||||||
|
val session: FirSession = moduleData.session
|
||||||
|
|
||||||
val allTypeParameters: List<FirTypeParameterSymbol> =
|
val allTypeParameters: List<FirTypeParameterSymbol> =
|
||||||
typeDeserializer.ownTypeParameters + outerTypeParameters
|
typeDeserializer.ownTypeParameters + outerTypeParameters
|
||||||
|
|
||||||
@@ -63,10 +66,10 @@ class FirDeserializationContext(
|
|||||||
nameResolver,
|
nameResolver,
|
||||||
typeTable,
|
typeTable,
|
||||||
versionRequirementTable,
|
versionRequirementTable,
|
||||||
session,
|
moduleData,
|
||||||
packageFqName,
|
packageFqName,
|
||||||
relativeClassName,
|
relativeClassName,
|
||||||
FirTypeDeserializer(session, nameResolver, typeTable, annotationDeserializer, typeParameterProtos, typeDeserializer),
|
FirTypeDeserializer(moduleData, nameResolver, typeTable, annotationDeserializer, typeParameterProtos, typeDeserializer),
|
||||||
annotationDeserializer,
|
annotationDeserializer,
|
||||||
constDeserializer,
|
constDeserializer,
|
||||||
containerSource,
|
containerSource,
|
||||||
@@ -82,14 +85,14 @@ class FirDeserializationContext(
|
|||||||
fqName: FqName,
|
fqName: FqName,
|
||||||
packageProto: ProtoBuf.Package,
|
packageProto: ProtoBuf.Package,
|
||||||
nameResolver: NameResolver,
|
nameResolver: NameResolver,
|
||||||
session: FirSession,
|
moduleData: FirModuleData,
|
||||||
annotationDeserializer: AbstractAnnotationDeserializer,
|
annotationDeserializer: AbstractAnnotationDeserializer,
|
||||||
constDeserializer: FirConstDeserializer,
|
constDeserializer: FirConstDeserializer,
|
||||||
containerSource: DeserializedContainerSource?
|
containerSource: DeserializedContainerSource?
|
||||||
): FirDeserializationContext = createRootContext(
|
): FirDeserializationContext = createRootContext(
|
||||||
nameResolver,
|
nameResolver,
|
||||||
TypeTable(packageProto.typeTable),
|
TypeTable(packageProto.typeTable),
|
||||||
session,
|
moduleData,
|
||||||
VersionRequirementTable.create(packageProto.versionRequirementTable),
|
VersionRequirementTable.create(packageProto.versionRequirementTable),
|
||||||
annotationDeserializer,
|
annotationDeserializer,
|
||||||
constDeserializer,
|
constDeserializer,
|
||||||
@@ -104,7 +107,7 @@ class FirDeserializationContext(
|
|||||||
classId: ClassId,
|
classId: ClassId,
|
||||||
classProto: ProtoBuf.Class,
|
classProto: ProtoBuf.Class,
|
||||||
nameResolver: NameResolver,
|
nameResolver: NameResolver,
|
||||||
session: FirSession,
|
moduleData: FirModuleData,
|
||||||
annotationDeserializer: AbstractAnnotationDeserializer,
|
annotationDeserializer: AbstractAnnotationDeserializer,
|
||||||
constDeserializer: FirConstDeserializer,
|
constDeserializer: FirConstDeserializer,
|
||||||
containerSource: DeserializedContainerSource?,
|
containerSource: DeserializedContainerSource?,
|
||||||
@@ -112,7 +115,7 @@ class FirDeserializationContext(
|
|||||||
): FirDeserializationContext = createRootContext(
|
): FirDeserializationContext = createRootContext(
|
||||||
nameResolver,
|
nameResolver,
|
||||||
TypeTable(classProto.typeTable),
|
TypeTable(classProto.typeTable),
|
||||||
session,
|
moduleData,
|
||||||
VersionRequirementTable.create(classProto.versionRequirementTable),
|
VersionRequirementTable.create(classProto.versionRequirementTable),
|
||||||
annotationDeserializer,
|
annotationDeserializer,
|
||||||
constDeserializer,
|
constDeserializer,
|
||||||
@@ -126,7 +129,7 @@ class FirDeserializationContext(
|
|||||||
private fun createRootContext(
|
private fun createRootContext(
|
||||||
nameResolver: NameResolver,
|
nameResolver: NameResolver,
|
||||||
typeTable: TypeTable,
|
typeTable: TypeTable,
|
||||||
session: FirSession,
|
moduleData: FirModuleData,
|
||||||
versionRequirementTable: VersionRequirementTable,
|
versionRequirementTable: VersionRequirementTable,
|
||||||
annotationDeserializer: AbstractAnnotationDeserializer,
|
annotationDeserializer: AbstractAnnotationDeserializer,
|
||||||
constDeserializer: FirConstDeserializer,
|
constDeserializer: FirConstDeserializer,
|
||||||
@@ -139,11 +142,11 @@ class FirDeserializationContext(
|
|||||||
return FirDeserializationContext(
|
return FirDeserializationContext(
|
||||||
nameResolver, typeTable,
|
nameResolver, typeTable,
|
||||||
versionRequirementTable,
|
versionRequirementTable,
|
||||||
session,
|
moduleData,
|
||||||
packageFqName,
|
packageFqName,
|
||||||
relativeClassName,
|
relativeClassName,
|
||||||
FirTypeDeserializer(
|
FirTypeDeserializer(
|
||||||
session,
|
moduleData,
|
||||||
nameResolver,
|
nameResolver,
|
||||||
typeTable,
|
typeTable,
|
||||||
annotationDeserializer,
|
annotationDeserializer,
|
||||||
@@ -175,7 +178,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
|||||||
val local = c.childContext(proto.typeParameterList)
|
val local = c.childContext(proto.typeParameterList)
|
||||||
val classId = ClassId(c.packageFqName, name)
|
val classId = ClassId(c.packageFqName, name)
|
||||||
return buildTypeAlias {
|
return buildTypeAlias {
|
||||||
declarationSiteSession = c.session
|
moduleData = c.moduleData
|
||||||
origin = FirDeclarationOrigin.Library
|
origin = FirDeclarationOrigin.Library
|
||||||
this.name = name
|
this.name = name
|
||||||
val visibility = ProtoEnumFlags.visibility(Flags.VISIBILITY.get(flags))
|
val visibility = ProtoEnumFlags.visibility(Flags.VISIBILITY.get(flags))
|
||||||
@@ -237,7 +240,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
|||||||
val effectiveVisibility = visibility.toEffectiveVisibility(classSymbol)
|
val effectiveVisibility = visibility.toEffectiveVisibility(classSymbol)
|
||||||
if (Flags.IS_NOT_DEFAULT.get(getterFlags)) {
|
if (Flags.IS_NOT_DEFAULT.get(getterFlags)) {
|
||||||
buildPropertyAccessor {
|
buildPropertyAccessor {
|
||||||
declarationSiteSession = c.session
|
moduleData = c.moduleData
|
||||||
origin = FirDeclarationOrigin.Library
|
origin = FirDeclarationOrigin.Library
|
||||||
this.returnTypeRef = returnTypeRef
|
this.returnTypeRef = returnTypeRef
|
||||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||||
@@ -256,7 +259,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
|||||||
versionRequirementsTable = c.versionRequirementTable
|
versionRequirementsTable = c.versionRequirementTable
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
FirDefaultPropertyGetter(null, c.session, FirDeclarationOrigin.Library, returnTypeRef, visibility, effectiveVisibility)
|
FirDefaultPropertyGetter(null, c.moduleData, FirDeclarationOrigin.Library, returnTypeRef, visibility, effectiveVisibility)
|
||||||
}.apply {
|
}.apply {
|
||||||
(annotations as MutableList<FirAnnotationCall>) +=
|
(annotations as MutableList<FirAnnotationCall>) +=
|
||||||
c.annotationDeserializer.loadPropertyGetterAnnotations(
|
c.annotationDeserializer.loadPropertyGetterAnnotations(
|
||||||
@@ -274,7 +277,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
|||||||
val effectiveVisibility = visibility.toEffectiveVisibility(classSymbol)
|
val effectiveVisibility = visibility.toEffectiveVisibility(classSymbol)
|
||||||
if (Flags.IS_NOT_DEFAULT.get(setterFlags)) {
|
if (Flags.IS_NOT_DEFAULT.get(setterFlags)) {
|
||||||
buildPropertyAccessor {
|
buildPropertyAccessor {
|
||||||
declarationSiteSession = c.session
|
moduleData = c.moduleData
|
||||||
origin = FirDeclarationOrigin.Library
|
origin = FirDeclarationOrigin.Library
|
||||||
this.returnTypeRef = FirImplicitUnitTypeRef(source)
|
this.returnTypeRef = FirImplicitUnitTypeRef(source)
|
||||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||||
@@ -299,7 +302,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
|||||||
versionRequirementsTable = c.versionRequirementTable
|
versionRequirementsTable = c.versionRequirementTable
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
FirDefaultPropertySetter(null, c.session, FirDeclarationOrigin.Library, returnTypeRef, visibility, effectiveVisibility)
|
FirDefaultPropertySetter(null, c.moduleData, FirDeclarationOrigin.Library, returnTypeRef, visibility, effectiveVisibility)
|
||||||
}.apply {
|
}.apply {
|
||||||
(annotations as MutableList<FirAnnotationCall>) +=
|
(annotations as MutableList<FirAnnotationCall>) +=
|
||||||
c.annotationDeserializer.loadPropertySetterAnnotations(
|
c.annotationDeserializer.loadPropertySetterAnnotations(
|
||||||
@@ -312,7 +315,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
|||||||
|
|
||||||
val isVar = Flags.IS_VAR.get(flags)
|
val isVar = Flags.IS_VAR.get(flags)
|
||||||
return buildProperty {
|
return buildProperty {
|
||||||
declarationSiteSession = c.session
|
moduleData = c.moduleData
|
||||||
origin = FirDeclarationOrigin.Library
|
origin = FirDeclarationOrigin.Library
|
||||||
this.returnTypeRef = returnTypeRef
|
this.returnTypeRef = returnTypeRef
|
||||||
receiverTypeRef = proto.receiverType(c.typeTable)?.toTypeRef(local).apply {
|
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 local = c.childContext(proto.typeParameterList)
|
||||||
|
|
||||||
val simpleFunction = buildSimpleFunction {
|
val simpleFunction = buildSimpleFunction {
|
||||||
declarationSiteSession = c.session
|
moduleData = c.moduleData
|
||||||
origin = FirDeclarationOrigin.Library
|
origin = FirDeclarationOrigin.Library
|
||||||
returnTypeRef = proto.returnType(local.typeTable).toTypeRef(local)
|
returnTypeRef = proto.returnType(local.typeTable).toTypeRef(local)
|
||||||
receiverTypeRef = proto.receiverType(local.typeTable)?.toTypeRef(local).apply {
|
receiverTypeRef = proto.receiverType(local.typeTable)?.toTypeRef(local).apply {
|
||||||
@@ -455,7 +458,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
|
|||||||
} else {
|
} else {
|
||||||
FirConstructorBuilder()
|
FirConstructorBuilder()
|
||||||
}.apply {
|
}.apply {
|
||||||
declarationSiteSession = c.session
|
moduleData = c.moduleData
|
||||||
origin = FirDeclarationOrigin.Library
|
origin = FirDeclarationOrigin.Library
|
||||||
returnTypeRef = delegatedSelfType
|
returnTypeRef = delegatedSelfType
|
||||||
val visibility = ProtoEnumFlags.visibility(Flags.VISIBILITY.get(flags))
|
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 flags = if (proto.hasFlags()) proto.flags else 0
|
||||||
val name = c.nameResolver.getName(proto.name)
|
val name = c.nameResolver.getName(proto.name)
|
||||||
buildValueParameter {
|
buildValueParameter {
|
||||||
declarationSiteSession = c.session
|
moduleData = c.moduleData
|
||||||
origin = FirDeclarationOrigin.Library
|
origin = FirDeclarationOrigin.Library
|
||||||
returnTypeRef = proto.type(c.typeTable).toTypeRef(c)
|
returnTypeRef = proto.type(c.typeTable).toTypeRef(c)
|
||||||
this.name = name
|
this.name = name
|
||||||
|
|||||||
+5
-5
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.deserialization
|
package org.jetbrains.kotlin.fir.deserialization
|
||||||
|
|
||||||
import org.jetbrains.kotlin.builtins.functions.FunctionClassKind
|
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.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
|
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
|
||||||
import org.jetbrains.kotlin.fir.declarations.addDefaultBoundIfNecessary
|
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.ConeClassLikeLookupTag
|
||||||
import org.jetbrains.kotlin.fir.symbols.ConeClassifierLookupTag
|
import org.jetbrains.kotlin.fir.symbols.ConeClassifierLookupTag
|
||||||
import org.jetbrains.kotlin.fir.symbols.ConeTypeParameterLookupTag
|
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.ConeClassLikeLookupTagImpl
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
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.ProtoBuf
|
||||||
import org.jetbrains.kotlin.metadata.deserialization.*
|
import org.jetbrains.kotlin.metadata.deserialization.*
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
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.ProtoEnumFlags
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.getClassId
|
import org.jetbrains.kotlin.serialization.deserialization.getClassId
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.getName
|
import org.jetbrains.kotlin.serialization.deserialization.getName
|
||||||
@@ -36,7 +36,7 @@ import org.jetbrains.kotlin.types.Variance
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
class FirTypeDeserializer(
|
class FirTypeDeserializer(
|
||||||
val session: FirSession,
|
val moduleData: FirModuleData,
|
||||||
val nameResolver: NameResolver,
|
val nameResolver: NameResolver,
|
||||||
val typeTable: TypeTable,
|
val typeTable: TypeTable,
|
||||||
val annotationDeserializer: AbstractAnnotationDeserializer,
|
val annotationDeserializer: AbstractAnnotationDeserializer,
|
||||||
@@ -66,7 +66,7 @@ class FirTypeDeserializer(
|
|||||||
typeParameterNames[name.asString()] = it
|
typeParameterNames[name.asString()] = it
|
||||||
}
|
}
|
||||||
builders += FirTypeParameterBuilder().apply {
|
builders += FirTypeParameterBuilder().apply {
|
||||||
declarationSiteSession = session
|
moduleData = this@FirTypeDeserializer.moduleData
|
||||||
origin = FirDeclarationOrigin.Library
|
origin = FirDeclarationOrigin.Library
|
||||||
this.name = name
|
this.name = name
|
||||||
this.symbol = symbol
|
this.symbol = symbol
|
||||||
@@ -189,7 +189,7 @@ class FirTypeDeserializer(
|
|||||||
attributes: ConeAttributes
|
attributes: ConeAttributes
|
||||||
): ConeClassLikeType {
|
): ConeClassLikeType {
|
||||||
val result =
|
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)
|
0 -> createSuspendFunctionTypeForBasicCase(functionTypeConstructor, arguments, isNullable, attributes)
|
||||||
1 -> {
|
1 -> {
|
||||||
val arity = arguments.size - 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.FirSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals
|
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirKotlinScopeProvider
|
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.symbols.impl.*
|
||||||
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
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.ProtoBuf
|
||||||
import org.jetbrains.kotlin.metadata.builtins.BuiltInsBinaryVersion
|
import org.jetbrains.kotlin.metadata.builtins.BuiltInsBinaryVersion
|
||||||
import org.jetbrains.kotlin.metadata.deserialization.NameResolverImpl
|
import org.jetbrains.kotlin.metadata.deserialization.NameResolverImpl
|
||||||
import org.jetbrains.kotlin.name.CallableId
|
import org.jetbrains.kotlin.name.*
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
|
||||||
import org.jetbrains.kotlin.name.FqName
|
|
||||||
import org.jetbrains.kotlin.name.Name
|
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.ProtoBasedClassDataFinder
|
import org.jetbrains.kotlin.serialization.deserialization.ProtoBasedClassDataFinder
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.builtins.BuiltInSerializerProtocol
|
import org.jetbrains.kotlin.serialization.deserialization.builtins.BuiltInSerializerProtocol
|
||||||
import org.jetbrains.kotlin.serialization.deserialization.getName
|
import org.jetbrains.kotlin.serialization.deserialization.getName
|
||||||
@@ -46,7 +42,11 @@ import java.io.InputStream
|
|||||||
|
|
||||||
//TODO make thread safe
|
//TODO make thread safe
|
||||||
@ThreadSafeMutableState
|
@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)
|
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 ->
|
return packageFqNames.map { fqName ->
|
||||||
val resourcePath = BuiltInSerializerProtocol.getBuiltInsFilePath(fqName)
|
val resourcePath = BuiltInSerializerProtocol.getBuiltInsFilePath(fqName)
|
||||||
val inputStream = streamProvider(resourcePath) ?: throw IllegalStateException("Resource not found in classpath: $resourcePath")
|
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)) {
|
syntheticFunctionalInterfaceSymbols.getOrPut(SyntheticFunctionalInterfaceSymbolKey(kind, arity)) {
|
||||||
FirRegularClassSymbol(this).apply symbol@{
|
FirRegularClassSymbol(this).apply symbol@{
|
||||||
buildRegularClass klass@{
|
buildRegularClass klass@{
|
||||||
declarationSiteSession = session
|
moduleData = this@FirBuiltinSymbolProvider.moduleData
|
||||||
origin = FirDeclarationOrigin.BuiltIns
|
origin = FirDeclarationOrigin.BuiltIns
|
||||||
name = relativeClassName.shortName()
|
name = relativeClassName.shortName()
|
||||||
status = FirResolvedDeclarationStatusImpl(
|
status = FirResolvedDeclarationStatusImpl(
|
||||||
@@ -107,7 +107,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider
|
|||||||
typeParameters.addAll(
|
typeParameters.addAll(
|
||||||
(1..arity).map {
|
(1..arity).map {
|
||||||
buildTypeParameter {
|
buildTypeParameter {
|
||||||
declarationSiteSession = session
|
moduleData = this@FirBuiltinSymbolProvider.moduleData
|
||||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||||
origin = FirDeclarationOrigin.BuiltIns
|
origin = FirDeclarationOrigin.BuiltIns
|
||||||
name = Name.identifier("P$it")
|
name = Name.identifier("P$it")
|
||||||
@@ -120,7 +120,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider
|
|||||||
)
|
)
|
||||||
typeParameters.add(
|
typeParameters.add(
|
||||||
buildTypeParameter {
|
buildTypeParameter {
|
||||||
declarationSiteSession = session
|
moduleData = this@FirBuiltinSymbolProvider.moduleData
|
||||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||||
origin = FirDeclarationOrigin.BuiltIns
|
origin = FirDeclarationOrigin.BuiltIns
|
||||||
name = Name.identifier("R")
|
name = Name.identifier("R")
|
||||||
@@ -196,7 +196,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider
|
|||||||
}
|
}
|
||||||
addDeclaration(
|
addDeclaration(
|
||||||
buildSimpleFunction {
|
buildSimpleFunction {
|
||||||
declarationSiteSession = session
|
moduleData = this@FirBuiltinSymbolProvider.moduleData
|
||||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||||
origin = FirDeclarationOrigin.BuiltIns
|
origin = FirDeclarationOrigin.BuiltIns
|
||||||
returnTypeRef = typeArguments.last()
|
returnTypeRef = typeArguments.last()
|
||||||
@@ -209,7 +209,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider
|
|||||||
valueParameters += typeArguments.dropLast(1).mapIndexed { index, typeArgument ->
|
valueParameters += typeArguments.dropLast(1).mapIndexed { index, typeArgument ->
|
||||||
val parameterName = Name.identifier("p${index + 1}")
|
val parameterName = Name.identifier("p${index + 1}")
|
||||||
buildValueParameter {
|
buildValueParameter {
|
||||||
declarationSiteSession = session
|
moduleData = this@FirBuiltinSymbolProvider.moduleData
|
||||||
origin = FirDeclarationOrigin.BuiltIns
|
origin = FirDeclarationOrigin.BuiltIns
|
||||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||||
returnTypeRef = typeArgument
|
returnTypeRef = typeArgument
|
||||||
@@ -254,10 +254,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider
|
|||||||
override fun getTopLevelPropertySymbolsTo(destination: MutableList<FirPropertySymbol>, packageFqName: FqName, name: Name) {
|
override fun getTopLevelPropertySymbolsTo(destination: MutableList<FirPropertySymbol>, packageFqName: FqName, name: Name) {
|
||||||
}
|
}
|
||||||
|
|
||||||
private class BuiltInsPackageFragment(
|
private inner class BuiltInsPackageFragment(stream: InputStream, val fqName: FqName) {
|
||||||
stream: InputStream, val fqName: FqName, val session: FirSession,
|
|
||||||
val kotlinScopeProvider: FirKotlinScopeProvider,
|
|
||||||
) {
|
|
||||||
lateinit var version: BuiltInsBinaryVersion
|
lateinit var version: BuiltInsBinaryVersion
|
||||||
|
|
||||||
val packageProto: ProtoBuf.PackageFragment = run {
|
val packageProto: ProtoBuf.PackageFragment = run {
|
||||||
@@ -282,7 +279,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider
|
|||||||
|
|
||||||
private val memberDeserializer by lazy {
|
private val memberDeserializer by lazy {
|
||||||
FirDeserializationContext.createForPackage(
|
FirDeserializationContext.createForPackage(
|
||||||
fqName, packageProto.`package`, nameResolver, session,
|
fqName, packageProto.`package`, nameResolver, moduleData,
|
||||||
FirBuiltinAnnotationDeserializer(session),
|
FirBuiltinAnnotationDeserializer(session),
|
||||||
FirConstDeserializer(session),
|
FirConstDeserializer(session),
|
||||||
containerSource = null
|
containerSource = null
|
||||||
@@ -305,9 +302,16 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider
|
|||||||
val classProto = classData.classProto
|
val classProto = classData.classProto
|
||||||
|
|
||||||
deserializeClassToSymbol(
|
deserializeClassToSymbol(
|
||||||
classId, classProto, symbol, nameResolver, session,
|
classId,
|
||||||
null, kotlinScopeProvider, parentContext,
|
classProto,
|
||||||
null,
|
symbol,
|
||||||
|
nameResolver,
|
||||||
|
session,
|
||||||
|
moduleData,
|
||||||
|
defaultAnnotationDeserializer = null,
|
||||||
|
kotlinScopeProvider,
|
||||||
|
parentContext,
|
||||||
|
containerSource = null,
|
||||||
origin = FirDeclarationOrigin.BuiltIns,
|
origin = FirDeclarationOrigin.BuiltIns,
|
||||||
this::findAndDeserializeClass,
|
this::findAndDeserializeClass,
|
||||||
)
|
)
|
||||||
|
|||||||
+3
-3
@@ -79,7 +79,7 @@ class FirMetadataSerializer(
|
|||||||
val function = this
|
val function = this
|
||||||
return buildAnonymousFunction {
|
return buildAnonymousFunction {
|
||||||
val typeParameterSet = function.typeParameters.filterIsInstanceTo(mutableSetOf<FirTypeParameter>())
|
val typeParameterSet = function.typeParameters.filterIsInstanceTo(mutableSetOf<FirTypeParameter>())
|
||||||
declarationSiteSession = function.declarationSiteSession
|
moduleData = function.moduleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
symbol = FirAnonymousFunctionSymbol()
|
symbol = FirAnonymousFunctionSymbol()
|
||||||
returnTypeRef = function.returnTypeRef.approximated(toSuper = true, typeParameterSet)
|
returnTypeRef = function.returnTypeRef.approximated(toSuper = true, typeParameterSet)
|
||||||
@@ -98,7 +98,7 @@ class FirMetadataSerializer(
|
|||||||
val accessor = this
|
val accessor = this
|
||||||
return buildPropertyAccessor {
|
return buildPropertyAccessor {
|
||||||
val typeParameterSet = accessor.typeParameters.toMutableSet()
|
val typeParameterSet = accessor.typeParameters.toMutableSet()
|
||||||
declarationSiteSession = accessor.declarationSiteSession
|
moduleData = accessor.moduleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = accessor.returnTypeRef.approximated(toSuper = true, typeParameterSet)
|
returnTypeRef = accessor.returnTypeRef.approximated(toSuper = true, typeParameterSet)
|
||||||
symbol = FirPropertyAccessorSymbol()
|
symbol = FirPropertyAccessorSymbol()
|
||||||
@@ -118,7 +118,7 @@ class FirMetadataSerializer(
|
|||||||
val property = this
|
val property = this
|
||||||
return buildProperty {
|
return buildProperty {
|
||||||
val typeParameterSet = property.typeParameters.toMutableSet()
|
val typeParameterSet = property.typeParameters.toMutableSet()
|
||||||
declarationSiteSession = property.declarationSiteSession
|
moduleData = property.moduleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
symbol = FirPropertySymbol(property.symbol.callableId)
|
symbol = FirPropertySymbol(property.symbol.callableId)
|
||||||
returnTypeRef = property.returnTypeRef.approximated(toSuper = true, typeParameterSet)
|
returnTypeRef = property.returnTypeRef.approximated(toSuper = true, typeParameterSet)
|
||||||
|
|||||||
+1
-1
@@ -739,7 +739,7 @@ class Fir2IrDeclarationStorage(
|
|||||||
val field = this
|
val field = this
|
||||||
return buildProperty {
|
return buildProperty {
|
||||||
source = field.source
|
source = field.source
|
||||||
declarationSiteSession = field.declarationSiteSession
|
moduleData = field.moduleData
|
||||||
origin = field.origin
|
origin = field.origin
|
||||||
returnTypeRef = field.returnTypeRef
|
returnTypeRef = field.returnTypeRef
|
||||||
name = field.name
|
name = field.name
|
||||||
|
|||||||
@@ -574,7 +574,7 @@ class Fir2IrVisitor(
|
|||||||
override fun visitElvisExpression(elvisExpression: FirElvisExpression, data: Any?): IrElement {
|
override fun visitElvisExpression(elvisExpression: FirElvisExpression, data: Any?): IrElement {
|
||||||
val firLhsVariable = buildProperty {
|
val firLhsVariable = buildProperty {
|
||||||
source = elvisExpression.source
|
source = elvisExpression.source
|
||||||
declarationSiteSession = session
|
moduleData = session.moduleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = elvisExpression.lhs.typeRef
|
returnTypeRef = elvisExpression.lhs.typeRef
|
||||||
name = Name.special("<elvis>")
|
name = Name.special("<elvis>")
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ sealed class FirMetadataSource : MetadataSource {
|
|||||||
abstract val fir: FirDeclaration
|
abstract val fir: FirDeclaration
|
||||||
|
|
||||||
val declarationSiteSession: FirSession
|
val declarationSiteSession: FirSession
|
||||||
get() = fir.declarationSiteSession
|
get() = fir.moduleData.session
|
||||||
|
|
||||||
override val name: Name?
|
override val name: Name?
|
||||||
get() = when (val fir = fir) {
|
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.buildSimpleFunction
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.buildValueParameter
|
import org.jetbrains.kotlin.fir.declarations.builder.buildValueParameter
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl
|
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.fir.scopes.unsubstitutedScope
|
||||||
import org.jetbrains.kotlin.name.CallableId
|
|
||||||
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
|
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
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.types.classifierOrNull
|
||||||
import org.jetbrains.kotlin.ir.util.*
|
import org.jetbrains.kotlin.ir.util.*
|
||||||
import org.jetbrains.kotlin.ir.util.DataClassMembersGenerator
|
import org.jetbrains.kotlin.ir.util.DataClassMembersGenerator
|
||||||
|
import org.jetbrains.kotlin.name.CallableId
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.util.OperatorNameConventions.EQUALS
|
import org.jetbrains.kotlin.util.OperatorNameConventions.EQUALS
|
||||||
import org.jetbrains.kotlin.util.OperatorNameConventions.TO_STRING
|
import org.jetbrains.kotlin.util.OperatorNameConventions.TO_STRING
|
||||||
@@ -263,7 +264,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) {
|
|||||||
this.name = name
|
this.name = name
|
||||||
this.symbol = FirNamedFunctionSymbol(CallableId(lookupTag.classId, name))
|
this.symbol = FirNamedFunctionSymbol(CallableId(lookupTag.classId, name))
|
||||||
this.status = FirDeclarationStatusImpl(Visibilities.Public, Modality.FINAL)
|
this.status = FirDeclarationStatusImpl(Visibilities.Public, Modality.FINAL)
|
||||||
declarationSiteSession = components.session
|
moduleData = components.session.moduleData
|
||||||
this.returnTypeRef = when (returnType) {
|
this.returnTypeRef = when (returnType) {
|
||||||
components.irBuiltIns.booleanType -> FirImplicitBooleanTypeRef(null)
|
components.irBuiltIns.booleanType -> FirImplicitBooleanTypeRef(null)
|
||||||
components.irBuiltIns.intType -> FirImplicitIntTypeRef(null)
|
components.irBuiltIns.intType -> FirImplicitIntTypeRef(null)
|
||||||
@@ -275,7 +276,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) {
|
|||||||
buildValueParameter {
|
buildValueParameter {
|
||||||
this.name = Name.identifier("other")
|
this.name = Name.identifier("other")
|
||||||
origin = FirDeclarationOrigin.Synthetic
|
origin = FirDeclarationOrigin.Synthetic
|
||||||
declarationSiteSession = components.session
|
moduleData = components.session.moduleData
|
||||||
this.returnTypeRef = FirImplicitNullableAnyTypeRef(null)
|
this.returnTypeRef = FirImplicitNullableAnyTypeRef(null)
|
||||||
this.symbol = FirVariableSymbol(this.name)
|
this.symbol = FirVariableSymbol(this.name)
|
||||||
isCrossinline = false
|
isCrossinline = false
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ import org.jetbrains.kotlin.util.OperatorNameConventions
|
|||||||
@ThreadSafeMutableState
|
@ThreadSafeMutableState
|
||||||
class JavaSymbolProvider(
|
class JavaSymbolProvider(
|
||||||
session: FirSession,
|
session: FirSession,
|
||||||
|
val baseModuleData: FirModuleData,
|
||||||
val project: Project,
|
val project: Project,
|
||||||
private val searchScope: GlobalSearchScope,
|
private val searchScope: GlobalSearchScope,
|
||||||
) : FirSymbolProvider(session) {
|
) : FirSymbolProvider(session) {
|
||||||
@@ -103,7 +104,7 @@ class JavaSymbolProvider(
|
|||||||
javaTypeParameterStack: JavaTypeParameterStack
|
javaTypeParameterStack: JavaTypeParameterStack
|
||||||
): FirTypeParameter {
|
): FirTypeParameter {
|
||||||
return FirTypeParameterBuilder().apply {
|
return FirTypeParameterBuilder().apply {
|
||||||
declarationSiteSession = session
|
moduleData = this@JavaSymbolProvider.baseModuleData
|
||||||
origin = FirDeclarationOrigin.Java
|
origin = FirDeclarationOrigin.Java
|
||||||
this.name = this@toFirTypeParameter.name
|
this.name = this@toFirTypeParameter.name
|
||||||
symbol = firSymbol
|
symbol = firSymbol
|
||||||
@@ -230,7 +231,7 @@ class JavaSymbolProvider(
|
|||||||
val classIsAnnotation = javaClass.classKind == ClassKind.ANNOTATION_CLASS
|
val classIsAnnotation = javaClass.classKind == ClassKind.ANNOTATION_CLASS
|
||||||
return buildJavaClass {
|
return buildJavaClass {
|
||||||
source = (javaClass as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
|
source = (javaClass as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
|
||||||
declarationSiteSession = session
|
moduleData = this@JavaSymbolProvider.baseModuleData
|
||||||
symbol = classSymbol
|
symbol = classSymbol
|
||||||
name = javaClass.name
|
name = javaClass.name
|
||||||
val visibility = javaClass.visibility
|
val visibility = javaClass.visibility
|
||||||
@@ -325,11 +326,11 @@ class JavaSymbolProvider(
|
|||||||
|
|
||||||
if (classKind == ClassKind.ENUM_CLASS) {
|
if (classKind == ClassKind.ENUM_CLASS) {
|
||||||
generateValuesFunction(
|
generateValuesFunction(
|
||||||
session,
|
baseModuleData,
|
||||||
classId.packageFqName,
|
classId.packageFqName,
|
||||||
classId.relativeClassName
|
classId.relativeClassName
|
||||||
)
|
)
|
||||||
generateValueOfFunction(session, classId.packageFqName, classId.relativeClassName)
|
generateValueOfFunction(baseModuleData, classId.packageFqName, classId.relativeClassName)
|
||||||
}
|
}
|
||||||
if (classIsAnnotation) {
|
if (classIsAnnotation) {
|
||||||
declarations +=
|
declarations +=
|
||||||
@@ -373,7 +374,7 @@ class JavaSymbolProvider(
|
|||||||
return when {
|
return when {
|
||||||
javaField.isEnumEntry -> buildEnumEntry {
|
javaField.isEnumEntry -> buildEnumEntry {
|
||||||
source = (javaField as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
|
source = (javaField as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
|
||||||
declarationSiteSession = session
|
moduleData = this@JavaSymbolProvider.baseModuleData
|
||||||
symbol = FirVariableSymbol(fieldId)
|
symbol = FirVariableSymbol(fieldId)
|
||||||
name = fieldName
|
name = fieldName
|
||||||
status = FirResolvedDeclarationStatusImpl(
|
status = FirResolvedDeclarationStatusImpl(
|
||||||
@@ -395,7 +396,7 @@ class JavaSymbolProvider(
|
|||||||
}
|
}
|
||||||
else -> buildJavaField {
|
else -> buildJavaField {
|
||||||
source = (javaField as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
|
source = (javaField as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
|
||||||
declarationSiteSession = session
|
moduleData = this@JavaSymbolProvider.baseModuleData
|
||||||
symbol = FirFieldSymbol(fieldId)
|
symbol = FirFieldSymbol(fieldId)
|
||||||
name = fieldName
|
name = fieldName
|
||||||
status = FirResolvedDeclarationStatusImpl(
|
status = FirResolvedDeclarationStatusImpl(
|
||||||
@@ -443,7 +444,7 @@ class JavaSymbolProvider(
|
|||||||
val methodSymbol = FirNamedFunctionSymbol(methodId)
|
val methodSymbol = FirNamedFunctionSymbol(methodId)
|
||||||
val returnType = javaMethod.returnType
|
val returnType = javaMethod.returnType
|
||||||
return buildJavaMethod {
|
return buildJavaMethod {
|
||||||
declarationSiteSession = session
|
moduleData = this@JavaSymbolProvider.baseModuleData
|
||||||
source = (javaMethod as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
|
source = (javaMethod as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
|
||||||
symbol = methodSymbol
|
symbol = methodSymbol
|
||||||
name = methodName
|
name = methodName
|
||||||
@@ -454,7 +455,7 @@ class JavaSymbolProvider(
|
|||||||
typeParameters += javaMethod.typeParameters.convertTypeParameters(javaTypeParameterStack)
|
typeParameters += javaMethod.typeParameters.convertTypeParameters(javaTypeParameterStack)
|
||||||
for ((index, valueParameter) in javaMethod.valueParameters.withIndex()) {
|
for ((index, valueParameter) in javaMethod.valueParameters.withIndex()) {
|
||||||
valueParameters += valueParameter.toFirValueParameter(
|
valueParameters += valueParameter.toFirValueParameter(
|
||||||
this@JavaSymbolProvider.session, index, javaTypeParameterStack,
|
this@JavaSymbolProvider.session, moduleData, index, javaTypeParameterStack,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
annotationBuilder = { javaMethod.annotations.map { it.toFirAnnotationCall(session, javaTypeParameterStack) } }
|
annotationBuilder = { javaMethod.annotations.map { it.toFirAnnotationCall(session, javaTypeParameterStack) } }
|
||||||
@@ -491,7 +492,7 @@ class JavaSymbolProvider(
|
|||||||
buildJavaValueParameter {
|
buildJavaValueParameter {
|
||||||
source = (javaMethod as? JavaElementImpl<*>)?.psi
|
source = (javaMethod as? JavaElementImpl<*>)?.psi
|
||||||
?.toFirPsiSourceElement(FirFakeSourceElementKind.ImplicitJavaAnnotationConstructor)
|
?.toFirPsiSourceElement(FirFakeSourceElementKind.ImplicitJavaAnnotationConstructor)
|
||||||
declarationSiteSession = session
|
moduleData = this@JavaSymbolProvider.baseModuleData
|
||||||
returnTypeRef = firJavaMethod.returnTypeRef
|
returnTypeRef = firJavaMethod.returnTypeRef
|
||||||
name = javaMethod.name
|
name = javaMethod.name
|
||||||
isVararg = javaMethod.returnType is JavaArrayType && javaMethod.name == VALUE_METHOD_NAME
|
isVararg = javaMethod.returnType is JavaArrayType && javaMethod.name == VALUE_METHOD_NAME
|
||||||
@@ -509,7 +510,7 @@ class JavaSymbolProvider(
|
|||||||
val constructorSymbol = FirConstructorSymbol(constructorId)
|
val constructorSymbol = FirConstructorSymbol(constructorId)
|
||||||
return buildJavaConstructor {
|
return buildJavaConstructor {
|
||||||
source = (javaConstructor as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
|
source = (javaConstructor as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
|
||||||
declarationSiteSession = session
|
moduleData = this@JavaSymbolProvider.baseModuleData
|
||||||
symbol = constructorSymbol
|
symbol = constructorSymbol
|
||||||
isInner = javaClass.outerClass != null && !javaClass.isStatic
|
isInner = javaClass.outerClass != null && !javaClass.isStatic
|
||||||
val isThisInner = this.isInner
|
val isThisInner = this.isInner
|
||||||
@@ -536,7 +537,7 @@ class JavaSymbolProvider(
|
|||||||
annotationBuilder = { javaConstructor.annotations.map { it.toFirAnnotationCall(session, javaTypeParameterStack) } }
|
annotationBuilder = { javaConstructor.annotations.map { it.toFirAnnotationCall(session, javaTypeParameterStack) } }
|
||||||
for ((index, valueParameter) in javaConstructor.valueParameters.withIndex()) {
|
for ((index, valueParameter) in javaConstructor.valueParameters.withIndex()) {
|
||||||
valueParameters += valueParameter.toFirValueParameter(
|
valueParameters += valueParameter.toFirValueParameter(
|
||||||
this@JavaSymbolProvider.session, index, javaTypeParameterStack,
|
this@JavaSymbolProvider.session, moduleData, index, javaTypeParameterStack,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -555,7 +556,7 @@ class JavaSymbolProvider(
|
|||||||
): FirJavaConstructor {
|
): FirJavaConstructor {
|
||||||
return buildJavaConstructor {
|
return buildJavaConstructor {
|
||||||
source = classSource
|
source = classSource
|
||||||
declarationSiteSession = session
|
moduleData = this@JavaSymbolProvider.baseModuleData
|
||||||
symbol = FirConstructorSymbol(constructorId)
|
symbol = FirConstructorSymbol(constructorId)
|
||||||
status = FirResolvedDeclarationStatusImpl(Visibilities.Public, Modality.FINAL, EffectiveVisibility.Public)
|
status = FirResolvedDeclarationStatusImpl(Visibilities.Public, Modality.FINAL, EffectiveVisibility.Public)
|
||||||
returnTypeRef = buildResolvedTypeRef {
|
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.expectedConeType
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.firUnsafe
|
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.firUnsafe
|
||||||
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
|
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.ConeClassLikeLookupTagImpl
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||||
import org.jetbrains.kotlin.fir.types.*
|
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.ClassId
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
import org.jetbrains.kotlin.name.StandardClassIds
|
||||||
import org.jetbrains.kotlin.types.ConstantValueKind
|
import org.jetbrains.kotlin.types.ConstantValueKind
|
||||||
import org.jetbrains.kotlin.types.Variance.*
|
import org.jetbrains.kotlin.types.Variance.*
|
||||||
import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly
|
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.Retention
|
||||||
import java.lang.annotation.Target
|
import java.lang.annotation.Target
|
||||||
import java.util.*
|
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
|
internal val JavaModifierListOwner.modality: Modality
|
||||||
get() = when {
|
get() = when {
|
||||||
@@ -586,11 +613,11 @@ internal fun MutableList<FirAnnotationCall>.addAnnotationsFrom(
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal fun JavaValueParameter.toFirValueParameter(
|
internal fun JavaValueParameter.toFirValueParameter(
|
||||||
session: FirSession, index: Int, javaTypeParameterStack: JavaTypeParameterStack
|
session: FirSession, moduleData: FirModuleData, index: Int, javaTypeParameterStack: JavaTypeParameterStack
|
||||||
): FirValueParameter {
|
): FirValueParameter {
|
||||||
return buildJavaValueParameter {
|
return buildJavaValueParameter {
|
||||||
source = (this@toFirValueParameter as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
|
source = (this@toFirValueParameter as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
|
||||||
declarationSiteSession = session
|
this.moduleData = moduleData
|
||||||
name = this@toFirValueParameter.name ?: Name.identifier("p$index")
|
name = this@toFirValueParameter.name ?: Name.identifier("p$index")
|
||||||
returnTypeRef = type.toFirJavaTypeRef(session, javaTypeParameterStack)
|
returnTypeRef = type.toFirJavaTypeRef(session, javaTypeParameterStack)
|
||||||
isVararg = this@toFirValueParameter.isVararg
|
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.ClassKind
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
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.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.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
@@ -31,7 +31,7 @@ import kotlin.properties.Delegates
|
|||||||
@OptIn(FirImplementationDetail::class)
|
@OptIn(FirImplementationDetail::class)
|
||||||
class FirJavaClass @FirImplementationDetail internal constructor(
|
class FirJavaClass @FirImplementationDetail internal constructor(
|
||||||
override val source: FirSourceElement?,
|
override val source: FirSourceElement?,
|
||||||
override val declarationSiteSession: FirSession,
|
override val moduleData: FirModuleData,
|
||||||
override var resolvePhase: FirResolvePhase,
|
override var resolvePhase: FirResolvePhase,
|
||||||
override val name: Name,
|
override val name: Name,
|
||||||
override val annotations: MutableList<FirAnnotationCall>,
|
override val annotations: MutableList<FirAnnotationCall>,
|
||||||
@@ -140,7 +140,7 @@ internal class FirJavaClassBuilder : FirRegularClassBuilder(), FirAnnotationCont
|
|||||||
override fun build(): FirJavaClass {
|
override fun build(): FirJavaClass {
|
||||||
return FirJavaClass(
|
return FirJavaClass(
|
||||||
source,
|
source,
|
||||||
declarationSiteSession,
|
moduleData,
|
||||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES,
|
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES,
|
||||||
name,
|
name,
|
||||||
annotations,
|
annotations,
|
||||||
|
|||||||
+3
-3
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.java.declarations
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.Visibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
@@ -29,7 +29,7 @@ import kotlin.properties.Delegates
|
|||||||
@OptIn(FirImplementationDetail::class)
|
@OptIn(FirImplementationDetail::class)
|
||||||
class FirJavaConstructor @FirImplementationDetail constructor(
|
class FirJavaConstructor @FirImplementationDetail constructor(
|
||||||
override val source: FirSourceElement?,
|
override val source: FirSourceElement?,
|
||||||
override val declarationSiteSession: FirSession,
|
override val moduleData: FirModuleData,
|
||||||
override val symbol: FirConstructorSymbol,
|
override val symbol: FirConstructorSymbol,
|
||||||
override val isPrimary: Boolean,
|
override val isPrimary: Boolean,
|
||||||
override var returnTypeRef: FirTypeRef,
|
override var returnTypeRef: FirTypeRef,
|
||||||
@@ -151,7 +151,7 @@ class FirJavaConstructorBuilder : FirConstructorBuilder() {
|
|||||||
override fun build(): FirJavaConstructor {
|
override fun build(): FirJavaConstructor {
|
||||||
return FirJavaConstructor(
|
return FirJavaConstructor(
|
||||||
source,
|
source,
|
||||||
declarationSiteSession,
|
moduleData,
|
||||||
symbol,
|
symbol,
|
||||||
isPrimary,
|
isPrimary,
|
||||||
returnTypeRef,
|
returnTypeRef,
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.java.declarations
|
|||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
import org.jetbrains.kotlin.descriptors.Visibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
@@ -33,7 +33,7 @@ import kotlin.properties.Delegates
|
|||||||
@OptIn(FirImplementationDetail::class)
|
@OptIn(FirImplementationDetail::class)
|
||||||
class FirJavaField @FirImplementationDetail constructor(
|
class FirJavaField @FirImplementationDetail constructor(
|
||||||
override val source: FirSourceElement?,
|
override val source: FirSourceElement?,
|
||||||
override val declarationSiteSession: FirSession,
|
override val moduleData: FirModuleData,
|
||||||
override val symbol: FirFieldSymbol,
|
override val symbol: FirFieldSymbol,
|
||||||
override val name: Name,
|
override val name: Name,
|
||||||
override var resolvePhase: FirResolvePhase,
|
override var resolvePhase: FirResolvePhase,
|
||||||
@@ -156,7 +156,7 @@ internal class FirJavaFieldBuilder : FirFieldBuilder() {
|
|||||||
override fun build(): FirJavaField {
|
override fun build(): FirJavaField {
|
||||||
return FirJavaField(
|
return FirJavaField(
|
||||||
source,
|
source,
|
||||||
declarationSiteSession,
|
moduleData,
|
||||||
symbol as FirFieldSymbol,
|
symbol as FirFieldSymbol,
|
||||||
name,
|
name,
|
||||||
resolvePhase,
|
resolvePhase,
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.java.declarations
|
|||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
import org.jetbrains.kotlin.descriptors.Visibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -51,7 +51,7 @@ import kotlin.properties.Delegates
|
|||||||
@OptIn(FirImplementationDetail::class)
|
@OptIn(FirImplementationDetail::class)
|
||||||
class FirJavaMethod @FirImplementationDetail constructor(
|
class FirJavaMethod @FirImplementationDetail constructor(
|
||||||
override val source: FirSourceElement?,
|
override val source: FirSourceElement?,
|
||||||
override val declarationSiteSession: FirSession,
|
override val moduleData: FirModuleData,
|
||||||
override var resolvePhase: FirResolvePhase,
|
override var resolvePhase: FirResolvePhase,
|
||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
override var returnTypeRef: FirTypeRef,
|
override var returnTypeRef: FirTypeRef,
|
||||||
@@ -181,7 +181,7 @@ val ALL_JAVA_OPERATION_NAMES =
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirJavaMethodBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
|
class FirJavaMethodBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var declarationSiteSession: FirSession
|
override lateinit var moduleData: FirModuleData
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
override lateinit var returnTypeRef: FirTypeRef
|
override lateinit var returnTypeRef: FirTypeRef
|
||||||
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||||
@@ -209,7 +209,7 @@ class FirJavaMethodBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder,
|
|||||||
override fun build(): FirJavaMethod {
|
override fun build(): FirJavaMethod {
|
||||||
return FirJavaMethod(
|
return FirJavaMethod(
|
||||||
source,
|
source,
|
||||||
declarationSiteSession,
|
moduleData,
|
||||||
resolvePhase,
|
resolvePhase,
|
||||||
attributes,
|
attributes,
|
||||||
returnTypeRef as FirJavaTypeRef,
|
returnTypeRef as FirJavaTypeRef,
|
||||||
@@ -235,7 +235,7 @@ inline fun buildJavaMethodCopy(original: FirSimpleFunction, init: FirJavaMethodB
|
|||||||
}
|
}
|
||||||
val copyBuilder = FirJavaMethodBuilder()
|
val copyBuilder = FirJavaMethodBuilder()
|
||||||
copyBuilder.source = original.source
|
copyBuilder.source = original.source
|
||||||
copyBuilder.declarationSiteSession = original.declarationSiteSession
|
copyBuilder.moduleData = original.moduleData
|
||||||
copyBuilder.resolvePhase = original.resolvePhase
|
copyBuilder.resolvePhase = original.resolvePhase
|
||||||
copyBuilder.attributes = original.attributes.copy()
|
copyBuilder.attributes = original.attributes.copy()
|
||||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||||
|
|||||||
+5
-5
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.java.declarations
|
package org.jetbrains.kotlin.fir.java.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
@@ -27,7 +27,7 @@ import kotlin.contracts.contract
|
|||||||
@OptIn(FirImplementationDetail::class)
|
@OptIn(FirImplementationDetail::class)
|
||||||
class FirJavaValueParameter @FirImplementationDetail constructor(
|
class FirJavaValueParameter @FirImplementationDetail constructor(
|
||||||
override val source: FirSourceElement?,
|
override val source: FirSourceElement?,
|
||||||
override val declarationSiteSession: FirSession,
|
override val moduleData: FirModuleData,
|
||||||
override var resolvePhase: FirResolvePhase,
|
override var resolvePhase: FirResolvePhase,
|
||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
override var returnTypeRef: FirTypeRef,
|
override var returnTypeRef: FirTypeRef,
|
||||||
@@ -146,7 +146,7 @@ class FirJavaValueParameter @FirImplementationDetail constructor(
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirJavaValueParameterBuilder {
|
class FirJavaValueParameterBuilder {
|
||||||
var source: FirSourceElement? = null
|
var source: FirSourceElement? = null
|
||||||
lateinit var declarationSiteSession: FirSession
|
lateinit var moduleData: FirModuleData
|
||||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
lateinit var returnTypeRef: FirTypeRef
|
lateinit var returnTypeRef: FirTypeRef
|
||||||
lateinit var name: Name
|
lateinit var name: Name
|
||||||
@@ -158,7 +158,7 @@ class FirJavaValueParameterBuilder {
|
|||||||
fun build(): FirJavaValueParameter {
|
fun build(): FirJavaValueParameter {
|
||||||
return FirJavaValueParameter(
|
return FirJavaValueParameter(
|
||||||
source,
|
source,
|
||||||
declarationSiteSession,
|
moduleData,
|
||||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES,
|
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES,
|
||||||
attributes,
|
attributes,
|
||||||
returnTypeRef,
|
returnTypeRef,
|
||||||
@@ -182,7 +182,7 @@ inline fun buildJavaValueParameterCopy(original: FirValueParameter, init: FirJav
|
|||||||
}
|
}
|
||||||
val copyBuilder = FirJavaValueParameterBuilder()
|
val copyBuilder = FirJavaValueParameterBuilder()
|
||||||
copyBuilder.source = original.source
|
copyBuilder.source = original.source
|
||||||
copyBuilder.declarationSiteSession = original.declarationSiteSession
|
copyBuilder.moduleData = original.moduleData
|
||||||
copyBuilder.attributes = original.attributes.copy()
|
copyBuilder.attributes = original.attributes.copy()
|
||||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||||
copyBuilder.name = original.name
|
copyBuilder.name = original.name
|
||||||
|
|||||||
+4
-3
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.java.deserialization
|
|||||||
|
|
||||||
import com.intellij.openapi.progress.ProcessCanceledException
|
import com.intellij.openapi.progress.ProcessCanceledException
|
||||||
import org.jetbrains.kotlin.descriptors.SourceElement
|
import org.jetbrains.kotlin.descriptors.SourceElement
|
||||||
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.ThreadSafeMutableState
|
import org.jetbrains.kotlin.fir.ThreadSafeMutableState
|
||||||
import org.jetbrains.kotlin.fir.caches.*
|
import org.jetbrains.kotlin.fir.caches.*
|
||||||
@@ -34,13 +35,13 @@ import org.jetbrains.kotlin.serialization.deserialization.IncompatibleVersionErr
|
|||||||
|
|
||||||
@ThreadSafeMutableState
|
@ThreadSafeMutableState
|
||||||
class KotlinDeserializedJvmSymbolsProvider(
|
class KotlinDeserializedJvmSymbolsProvider(
|
||||||
session: FirSession,
|
moduleData: FirModuleData,
|
||||||
kotlinScopeProvider: FirKotlinScopeProvider,
|
kotlinScopeProvider: FirKotlinScopeProvider,
|
||||||
private val packagePartProvider: PackagePartProvider,
|
private val packagePartProvider: PackagePartProvider,
|
||||||
private val kotlinClassFinder: KotlinClassFinder,
|
private val kotlinClassFinder: KotlinClassFinder,
|
||||||
private val javaSymbolProvider: JavaSymbolProvider,
|
private val javaSymbolProvider: JavaSymbolProvider,
|
||||||
javaClassFinder: JavaClassFinder,
|
javaClassFinder: JavaClassFinder,
|
||||||
) : AbstractFirDeserializedSymbolsProvider(session, kotlinScopeProvider) {
|
) : AbstractFirDeserializedSymbolsProvider(moduleData, kotlinScopeProvider) {
|
||||||
private val knownNameInPackageCache = KnownNameInPackageCache(session, javaClassFinder)
|
private val knownNameInPackageCache = KnownNameInPackageCache(session, javaClassFinder)
|
||||||
private val annotationsLoader = AnnotationsLoader(session)
|
private val annotationsLoader = AnnotationsLoader(session)
|
||||||
|
|
||||||
@@ -68,7 +69,7 @@ class KotlinDeserializedJvmSymbolsProvider(
|
|||||||
PackagePartsCacheData(
|
PackagePartsCacheData(
|
||||||
packageProto,
|
packageProto,
|
||||||
FirDeserializationContext.createForPackage(
|
FirDeserializationContext.createForPackage(
|
||||||
packageFqName, packageProto, nameResolver, session,
|
packageFqName, packageProto, nameResolver, moduleData,
|
||||||
JvmBinaryAnnotationDeserializer(session, kotlinJvmBinaryClass, kotlinClassFinder, byteContent),
|
JvmBinaryAnnotationDeserializer(session, kotlinJvmBinaryClass, kotlinClassFinder, byteContent),
|
||||||
FirConstDeserializer(session, facadeBinaryClass ?: kotlinJvmBinaryClass),
|
FirConstDeserializer(session, facadeBinaryClass ?: kotlinJvmBinaryClass),
|
||||||
source
|
source
|
||||||
|
|||||||
+7
-5
@@ -37,6 +37,8 @@ class FirSignatureEnhancement(
|
|||||||
private val session: FirSession,
|
private val session: FirSession,
|
||||||
private val overridden: FirSimpleFunction.() -> List<FirCallableMemberDeclaration<*>>
|
private val overridden: FirSimpleFunction.() -> List<FirCallableMemberDeclaration<*>>
|
||||||
) {
|
) {
|
||||||
|
private val moduleData = session.moduleData
|
||||||
|
|
||||||
private val javaTypeParameterStack: JavaTypeParameterStack =
|
private val javaTypeParameterStack: JavaTypeParameterStack =
|
||||||
if (owner is FirJavaClass) owner.javaTypeParameterStack else JavaTypeParameterStack.EMPTY
|
if (owner is FirJavaClass) owner.javaTypeParameterStack else JavaTypeParameterStack.EMPTY
|
||||||
|
|
||||||
@@ -94,7 +96,7 @@ class FirSignatureEnhancement(
|
|||||||
val symbol = FirFieldSymbol(original.callableId)
|
val symbol = FirFieldSymbol(original.callableId)
|
||||||
buildJavaField {
|
buildJavaField {
|
||||||
source = firElement.source
|
source = firElement.source
|
||||||
declarationSiteSession = session
|
moduleData = this@FirSignatureEnhancement.moduleData
|
||||||
this.symbol = symbol
|
this.symbol = symbol
|
||||||
this.name = name
|
this.name = name
|
||||||
returnTypeRef = newReturnTypeRef
|
returnTypeRef = newReturnTypeRef
|
||||||
@@ -131,7 +133,7 @@ class FirSignatureEnhancement(
|
|||||||
setterDelegate?.symbol
|
setterDelegate?.symbol
|
||||||
}
|
}
|
||||||
return buildSyntheticProperty {
|
return buildSyntheticProperty {
|
||||||
declarationSiteSession = session
|
moduleData = this@FirSignatureEnhancement.moduleData
|
||||||
this.name = name
|
this.name = name
|
||||||
symbol = FirAccessorSymbol(accessorSymbol.callableId, accessorSymbol.accessorId)
|
symbol = FirAccessorSymbol(accessorSymbol.callableId, accessorSymbol.accessorId)
|
||||||
delegateGetter = enhancedGetterSymbol.fir as FirSimpleFunction
|
delegateGetter = enhancedGetterSymbol.fir as FirSimpleFunction
|
||||||
@@ -207,7 +209,7 @@ class FirSignatureEnhancement(
|
|||||||
|
|
||||||
buildValueParameter {
|
buildValueParameter {
|
||||||
source = valueParameter.source
|
source = valueParameter.source
|
||||||
declarationSiteSession = session
|
moduleData = this@FirSignatureEnhancement.moduleData
|
||||||
origin = FirDeclarationOrigin.Enhancement
|
origin = FirDeclarationOrigin.Enhancement
|
||||||
returnTypeRef = enhancedReturnType
|
returnTypeRef = enhancedReturnType
|
||||||
this.name = valueParameter.name
|
this.name = valueParameter.name
|
||||||
@@ -255,7 +257,7 @@ class FirSignatureEnhancement(
|
|||||||
}
|
}
|
||||||
}.apply {
|
}.apply {
|
||||||
source = firMethod.source
|
source = firMethod.source
|
||||||
declarationSiteSession = session
|
moduleData = this@FirSignatureEnhancement.moduleData
|
||||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||||
origin = FirDeclarationOrigin.Enhancement
|
origin = FirDeclarationOrigin.Enhancement
|
||||||
this.valueParameters += newValueParameters
|
this.valueParameters += newValueParameters
|
||||||
@@ -265,7 +267,7 @@ class FirSignatureEnhancement(
|
|||||||
is FirJavaMethod -> {
|
is FirJavaMethod -> {
|
||||||
FirSimpleFunctionBuilder().apply {
|
FirSimpleFunctionBuilder().apply {
|
||||||
source = firMethod.source
|
source = firMethod.source
|
||||||
declarationSiteSession = session
|
moduleData = this@FirSignatureEnhancement.moduleData
|
||||||
origin = FirDeclarationOrigin.Enhancement
|
origin = FirDeclarationOrigin.Enhancement
|
||||||
returnTypeRef = newReturnTypeRef
|
returnTypeRef = newReturnTypeRef
|
||||||
receiverTypeRef = newReceiverTypeRef
|
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.FirSimpleFunction
|
||||||
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty
|
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty
|
||||||
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticPropertyAccessor
|
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.resolve.substitution.ConeSubstitutor
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirTypeScope
|
import org.jetbrains.kotlin.fir.scopes.FirTypeScope
|
||||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||||
import org.jetbrains.kotlin.name.CallableId
|
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||||
|
import org.jetbrains.kotlin.name.CallableId
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
@@ -43,7 +44,7 @@ class JavaAnnotationSyntheticPropertiesScope(
|
|||||||
val callableId = CallableId(classId, name)
|
val callableId = CallableId(classId, name)
|
||||||
FirAccessorSymbol(callableId, callableId).also {
|
FirAccessorSymbol(callableId, callableId).also {
|
||||||
val accessor = FirSyntheticPropertyAccessor(function, isGetter = true)
|
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)
|
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.impl.AbstractFirUseSiteMemberScope
|
||||||
import org.jetbrains.kotlin.fir.scopes.jvm.computeJvmDescriptor
|
import org.jetbrains.kotlin.fir.scopes.jvm.computeJvmDescriptor
|
||||||
import org.jetbrains.kotlin.fir.scopes.jvm.computeJvmSignature
|
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.symbols.impl.*
|
||||||
import org.jetbrains.kotlin.fir.types.*
|
import org.jetbrains.kotlin.fir.types.*
|
||||||
import org.jetbrains.kotlin.load.java.BuiltinSpecialProperties
|
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.sameAsBuiltinMethodWithErasedValueParameters
|
||||||
import org.jetbrains.kotlin.load.java.SpecialGenericSignatures.Companion.sameAsRenamedInJvmBuiltin
|
import org.jetbrains.kotlin.load.java.SpecialGenericSignatures.Companion.sameAsRenamedInJvmBuiltin
|
||||||
import org.jetbrains.kotlin.load.java.getPropertyNamesCandidatesByAccessorName
|
import org.jetbrains.kotlin.load.java.getPropertyNamesCandidatesByAccessorName
|
||||||
|
import org.jetbrains.kotlin.name.CallableId
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
import org.jetbrains.kotlin.name.StandardClassIds
|
||||||
import org.jetbrains.kotlin.types.AbstractTypeChecker
|
import org.jetbrains.kotlin.types.AbstractTypeChecker
|
||||||
|
|
||||||
class JavaClassUseSiteMemberScope(
|
class JavaClassUseSiteMemberScope(
|
||||||
@@ -61,7 +61,7 @@ class JavaClassUseSiteMemberScope(
|
|||||||
): FirAccessorSymbol {
|
): FirAccessorSymbol {
|
||||||
return accessorByNameMap.getOrPut(property.name) {
|
return accessorByNameMap.getOrPut(property.name) {
|
||||||
buildSyntheticProperty {
|
buildSyntheticProperty {
|
||||||
declarationSiteSession = session
|
moduleData = session.moduleData
|
||||||
name = property.name
|
name = property.name
|
||||||
symbol = FirAccessorSymbol(
|
symbol = FirAccessorSymbol(
|
||||||
accessorId = getterSymbol.callableId,
|
accessorId = getterSymbol.callableId,
|
||||||
|
|||||||
+3
-3
@@ -11,9 +11,9 @@ import com.intellij.psi.tree.TokenSet
|
|||||||
import org.jetbrains.kotlin.KtNodeType
|
import org.jetbrains.kotlin.KtNodeType
|
||||||
import org.jetbrains.kotlin.KtNodeTypes.*
|
import org.jetbrains.kotlin.KtNodeTypes.*
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
|
||||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
import org.jetbrains.kotlin.fir.FirFakeSourceElementKind
|
import org.jetbrains.kotlin.fir.FirFakeSourceElementKind
|
||||||
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.builder.generateResolvedAccessExpression
|
import org.jetbrains.kotlin.fir.builder.generateResolvedAccessExpression
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||||
@@ -107,7 +107,7 @@ inline fun isClassLocal(classNode: LighterASTNode, getParent: LighterASTNode.()
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun generateDestructuringBlock(
|
fun generateDestructuringBlock(
|
||||||
session: FirSession,
|
moduleData: FirModuleData,
|
||||||
multiDeclaration: DestructuringDeclaration,
|
multiDeclaration: DestructuringDeclaration,
|
||||||
container: FirVariable<*>,
|
container: FirVariable<*>,
|
||||||
tmpVariable: Boolean
|
tmpVariable: Boolean
|
||||||
@@ -120,7 +120,7 @@ fun generateDestructuringBlock(
|
|||||||
for ((index, entry) in multiDeclaration.entries.withIndex()) {
|
for ((index, entry) in multiDeclaration.entries.withIndex()) {
|
||||||
if (entry == null) continue
|
if (entry == null) continue
|
||||||
statements += buildProperty {
|
statements += buildProperty {
|
||||||
declarationSiteSession = session
|
this.moduleData = moduleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = entry.returnTypeRef
|
returnTypeRef = entry.returnTypeRef
|
||||||
name = entry.name
|
name = entry.name
|
||||||
|
|||||||
+31
-32
@@ -107,7 +107,7 @@ class DeclarationsConverter(
|
|||||||
return buildFile {
|
return buildFile {
|
||||||
source = file.toFirSourceElement()
|
source = file.toFirSourceElement()
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
name = fileName
|
name = fileName
|
||||||
packageFqName = context.packageFqName
|
packageFqName = context.packageFqName
|
||||||
annotations += fileAnnotationList
|
annotations += fileAnnotationList
|
||||||
@@ -129,7 +129,7 @@ class DeclarationsConverter(
|
|||||||
CLASS, OBJECT_DECLARATION -> container += convertClass(node) as FirStatement
|
CLASS, OBJECT_DECLARATION -> container += convertClass(node) as FirStatement
|
||||||
FUN -> container += convertFunctionDeclaration(node) as FirStatement
|
FUN -> container += convertFunctionDeclaration(node) as FirStatement
|
||||||
PROPERTY -> container += convertPropertyDeclaration(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
|
TYPEALIAS -> container += convertTypeAlias(node) as FirStatement
|
||||||
CLASS_INITIALIZER -> container += convertAnonymousInitializer(node) as FirStatement
|
CLASS_INITIALIZER -> container += convertAnonymousInitializer(node) as FirStatement
|
||||||
else -> if (node.isExpression()) container += expressionConverter.getAsFirExpression<FirStatement>(node)
|
else -> if (node.isExpression()) container += expressionConverter.getAsFirExpression<FirStatement>(node)
|
||||||
@@ -411,7 +411,7 @@ class DeclarationsConverter(
|
|||||||
|
|
||||||
buildRegularClass {
|
buildRegularClass {
|
||||||
source = classNode.toFirSourceElement()
|
source = classNode.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
name = className
|
name = className
|
||||||
this.status = status
|
this.status = status
|
||||||
@@ -487,7 +487,7 @@ class DeclarationsConverter(
|
|||||||
.filter { it.hasValOrVar() }
|
.filter { it.hasValOrVar() }
|
||||||
.map {
|
.map {
|
||||||
it.toFirProperty(
|
it.toFirProperty(
|
||||||
baseSession,
|
baseModuleData,
|
||||||
callableIdForName(it.firValueParameter.name),
|
callableIdForName(it.firValueParameter.name),
|
||||||
classWrapper.hasExpect(),
|
classWrapper.hasExpect(),
|
||||||
currentDispatchReceiverType()
|
currentDispatchReceiverType()
|
||||||
@@ -505,7 +505,6 @@ class DeclarationsConverter(
|
|||||||
if (modifiers.isDataClass() && firPrimaryConstructor != null) {
|
if (modifiers.isDataClass() && firPrimaryConstructor != null) {
|
||||||
val zippedParameters = properties.map { it.source!!.lighterASTNode to it }
|
val zippedParameters = properties.map { it.source!!.lighterASTNode to it }
|
||||||
DataClassMembersGenerator(
|
DataClassMembersGenerator(
|
||||||
baseSession,
|
|
||||||
classNode,
|
classNode,
|
||||||
this,
|
this,
|
||||||
zippedParameters,
|
zippedParameters,
|
||||||
@@ -518,13 +517,13 @@ class DeclarationsConverter(
|
|||||||
|
|
||||||
if (modifiers.isEnum()) {
|
if (modifiers.isEnum()) {
|
||||||
generateValuesFunction(
|
generateValuesFunction(
|
||||||
baseSession,
|
baseModuleData,
|
||||||
context.packageFqName,
|
context.packageFqName,
|
||||||
context.className,
|
context.className,
|
||||||
modifiers.hasExpect()
|
modifiers.hasExpect()
|
||||||
)
|
)
|
||||||
generateValueOfFunction(
|
generateValueOfFunction(
|
||||||
baseSession,
|
baseModuleData,
|
||||||
context.packageFqName,
|
context.packageFqName,
|
||||||
context.className,
|
context.className,
|
||||||
modifiers.hasExpect()
|
modifiers.hasExpect()
|
||||||
@@ -548,7 +547,7 @@ class DeclarationsConverter(
|
|||||||
val objectDeclaration = objectLiteral.getChildNodesByType(OBJECT_DECLARATION).first()
|
val objectDeclaration = objectLiteral.getChildNodesByType(OBJECT_DECLARATION).first()
|
||||||
source = objectDeclaration.toFirSourceElement()
|
source = objectDeclaration.toFirSourceElement()
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
classKind = ClassKind.OBJECT
|
classKind = ClassKind.OBJECT
|
||||||
scopeProvider = baseScopeProvider
|
scopeProvider = baseScopeProvider
|
||||||
symbol = FirAnonymousObjectSymbol()
|
symbol = FirAnonymousObjectSymbol()
|
||||||
@@ -639,7 +638,7 @@ class DeclarationsConverter(
|
|||||||
val enumEntryName = identifier.nameAsSafeName()
|
val enumEntryName = identifier.nameAsSafeName()
|
||||||
return buildEnumEntry {
|
return buildEnumEntry {
|
||||||
source = enumEntry.toFirSourceElement()
|
source = enumEntry.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = classWrapper.delegatedSelfTypeRef
|
returnTypeRef = classWrapper.delegatedSelfTypeRef
|
||||||
name = enumEntryName
|
name = enumEntryName
|
||||||
@@ -657,7 +656,7 @@ class DeclarationsConverter(
|
|||||||
initializer = withChildClassName(enumEntryName) {
|
initializer = withChildClassName(enumEntryName) {
|
||||||
buildAnonymousObject {
|
buildAnonymousObject {
|
||||||
source = enumEntry.toFirSourceElement(FirFakeSourceElementKind.EnumInitializer)
|
source = enumEntry.toFirSourceElement(FirFakeSourceElementKind.EnumInitializer)
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
classKind = ClassKind.ENUM_ENTRY
|
classKind = ClassKind.ENUM_ENTRY
|
||||||
scopeProvider = baseScopeProvider
|
scopeProvider = baseScopeProvider
|
||||||
@@ -795,7 +794,7 @@ class DeclarationsConverter(
|
|||||||
buildPrimaryConstructor {
|
buildPrimaryConstructor {
|
||||||
source = primaryConstructor?.toFirSourceElement()
|
source = primaryConstructor?.toFirSourceElement()
|
||||||
?: selfTypeSource?.fakeElement(FirFakeSourceElementKind.ImplicitConstructor)
|
?: selfTypeSource?.fakeElement(FirFakeSourceElementKind.ImplicitConstructor)
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = classWrapper.delegatedSelfTypeRef
|
returnTypeRef = classWrapper.delegatedSelfTypeRef
|
||||||
this.status = status
|
this.status = status
|
||||||
@@ -825,7 +824,7 @@ class DeclarationsConverter(
|
|||||||
|
|
||||||
return buildAnonymousInitializer {
|
return buildAnonymousInitializer {
|
||||||
source = anonymousInitializer.toFirSourceElement()
|
source = anonymousInitializer.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
body = if (stubMode) buildEmptyExpressionBlock() else firBlock ?: buildEmptyExpressionBlock()
|
body = if (stubMode) buildEmptyExpressionBlock() else firBlock ?: buildEmptyExpressionBlock()
|
||||||
}
|
}
|
||||||
@@ -863,7 +862,7 @@ class DeclarationsConverter(
|
|||||||
val target = FirFunctionTarget(labelName = null, isLambda = false)
|
val target = FirFunctionTarget(labelName = null, isLambda = false)
|
||||||
return buildConstructor {
|
return buildConstructor {
|
||||||
source = secondaryConstructor.toFirSourceElement()
|
source = secondaryConstructor.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = delegatedSelfTypeRef
|
returnTypeRef = delegatedSelfTypeRef
|
||||||
this.status = status
|
this.status = status
|
||||||
@@ -956,7 +955,7 @@ class DeclarationsConverter(
|
|||||||
return withChildClassName(typeAliasName) {
|
return withChildClassName(typeAliasName) {
|
||||||
return@withChildClassName buildTypeAlias {
|
return@withChildClassName buildTypeAlias {
|
||||||
source = typeAlias.toFirSourceElement()
|
source = typeAlias.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
name = typeAliasName
|
name = typeAliasName
|
||||||
status = FirDeclarationStatusImpl(modifiers.getVisibility(), Modality.FINAL).apply {
|
status = FirDeclarationStatusImpl(modifiers.getVisibility(), Modality.FINAL).apply {
|
||||||
@@ -1014,7 +1013,7 @@ class DeclarationsConverter(
|
|||||||
|
|
||||||
return buildProperty {
|
return buildProperty {
|
||||||
source = propertySource
|
source = propertySource
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = returnType
|
returnTypeRef = returnType
|
||||||
name = propertyName
|
name = propertyName
|
||||||
@@ -1045,10 +1044,10 @@ class DeclarationsConverter(
|
|||||||
generateAccessorsByDelegate(
|
generateAccessorsByDelegate(
|
||||||
delegateBuilder,
|
delegateBuilder,
|
||||||
classWrapper?.classBuilder,
|
classWrapper?.classBuilder,
|
||||||
baseSession,
|
baseModuleData,
|
||||||
isExtension = false,
|
isExtension = false,
|
||||||
stubMode,
|
stubMode = stubMode,
|
||||||
receiver
|
receiver = receiver
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
this.isLocal = false
|
this.isLocal = false
|
||||||
@@ -1078,7 +1077,7 @@ class DeclarationsConverter(
|
|||||||
val convertedAccessors = accessors.map { convertGetterOrSetter(it, returnType, propertyVisibility, modifiers) }
|
val convertedAccessors = accessors.map { convertGetterOrSetter(it, returnType, propertyVisibility, modifiers) }
|
||||||
this.getter = convertedAccessors.find { it.isGetter }
|
this.getter = convertedAccessors.find { it.isGetter }
|
||||||
?: FirDefaultPropertyGetter(
|
?: FirDefaultPropertyGetter(
|
||||||
null, declarationSiteSession, FirDeclarationOrigin.Source, returnType, propertyVisibility
|
null, moduleData, FirDeclarationOrigin.Source, returnType, propertyVisibility
|
||||||
).also {
|
).also {
|
||||||
it.status = defaultAccessorStatus()
|
it.status = defaultAccessorStatus()
|
||||||
it.initContainingClassAttr()
|
it.initContainingClassAttr()
|
||||||
@@ -1087,7 +1086,7 @@ class DeclarationsConverter(
|
|||||||
this.setter = convertedAccessors.find { it.isSetter }
|
this.setter = convertedAccessors.find { it.isSetter }
|
||||||
?: if (isVar) {
|
?: if (isVar) {
|
||||||
FirDefaultPropertySetter(
|
FirDefaultPropertySetter(
|
||||||
null, declarationSiteSession, FirDeclarationOrigin.Source, returnType, propertyVisibility
|
null, moduleData, FirDeclarationOrigin.Source, returnType, propertyVisibility
|
||||||
).also {
|
).also {
|
||||||
it.status = defaultAccessorStatus()
|
it.status = defaultAccessorStatus()
|
||||||
it.initContainingClassAttr()
|
it.initContainingClassAttr()
|
||||||
@@ -1113,10 +1112,10 @@ class DeclarationsConverter(
|
|||||||
generateAccessorsByDelegate(
|
generateAccessorsByDelegate(
|
||||||
delegateBuilder,
|
delegateBuilder,
|
||||||
classWrapper?.classBuilder,
|
classWrapper?.classBuilder,
|
||||||
baseSession,
|
baseModuleData,
|
||||||
isExtension = receiverType != null,
|
isExtension = receiverType != null,
|
||||||
stubMode,
|
stubMode = stubMode,
|
||||||
receiver
|
receiver = receiver
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1166,7 +1165,7 @@ class DeclarationsConverter(
|
|||||||
val name = identifier.nameAsSafeName()
|
val name = identifier.nameAsSafeName()
|
||||||
return buildProperty {
|
return buildProperty {
|
||||||
source = entry.toFirSourceElement()
|
source = entry.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = firType ?: implicitType
|
returnTypeRef = firType ?: implicitType
|
||||||
this.name = name
|
this.name = name
|
||||||
@@ -1191,7 +1190,7 @@ class DeclarationsConverter(
|
|||||||
var isGetter = true
|
var isGetter = true
|
||||||
var returnType: FirTypeRef? = null
|
var returnType: FirTypeRef? = null
|
||||||
var firValueParameters: FirValueParameter = buildDefaultSetterValueParameter {
|
var firValueParameters: FirValueParameter = buildDefaultSetterValueParameter {
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = propertyTypeRef
|
returnTypeRef = propertyTypeRef
|
||||||
symbol = FirVariableSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER)
|
symbol = FirVariableSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER)
|
||||||
@@ -1227,7 +1226,7 @@ class DeclarationsConverter(
|
|||||||
return FirDefaultPropertyAccessor
|
return FirDefaultPropertyAccessor
|
||||||
.createGetterOrSetter(
|
.createGetterOrSetter(
|
||||||
sourceElement,
|
sourceElement,
|
||||||
baseSession,
|
baseModuleData,
|
||||||
FirDeclarationOrigin.Source,
|
FirDeclarationOrigin.Source,
|
||||||
propertyTypeRef,
|
propertyTypeRef,
|
||||||
accessorVisibility,
|
accessorVisibility,
|
||||||
@@ -1242,7 +1241,7 @@ class DeclarationsConverter(
|
|||||||
val target = FirFunctionTarget(labelName = null, isLambda = false)
|
val target = FirFunctionTarget(labelName = null, isLambda = false)
|
||||||
return buildPropertyAccessor {
|
return buildPropertyAccessor {
|
||||||
source = sourceElement
|
source = sourceElement
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = returnType ?: if (isGetter) propertyTypeRef else implicitUnitType
|
returnTypeRef = returnType ?: if (isGetter) propertyTypeRef else implicitUnitType
|
||||||
symbol = FirPropertyAccessorSymbol()
|
symbol = FirPropertyAccessorSymbol()
|
||||||
@@ -1313,7 +1312,7 @@ class DeclarationsConverter(
|
|||||||
|
|
||||||
return buildValueParameter {
|
return buildValueParameter {
|
||||||
source = setterParameter.toFirSourceElement()
|
source = setterParameter.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = if (firValueParameter.returnTypeRef == implicitType) propertyTypeRef else firValueParameter.returnTypeRef
|
returnTypeRef = if (firValueParameter.returnTypeRef == implicitType) propertyTypeRef else firValueParameter.returnTypeRef
|
||||||
name = firValueParameter.name
|
name = firValueParameter.name
|
||||||
@@ -1407,7 +1406,7 @@ class DeclarationsConverter(
|
|||||||
}
|
}
|
||||||
|
|
||||||
return functionBuilder.apply {
|
return functionBuilder.apply {
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = returnType!!
|
returnTypeRef = returnType!!
|
||||||
|
|
||||||
@@ -1575,7 +1574,7 @@ class DeclarationsConverter(
|
|||||||
delegateFields.add(
|
delegateFields.add(
|
||||||
buildField {
|
buildField {
|
||||||
source = firExpression!!.source?.fakeElement(FirFakeSourceElementKind.ClassDelegationField)
|
source = firExpression!!.source?.fakeElement(FirFakeSourceElementKind.ClassDelegationField)
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Synthetic
|
origin = FirDeclarationOrigin.Synthetic
|
||||||
name = delegateName
|
name = delegateName
|
||||||
returnTypeRef = firTypeRef
|
returnTypeRef = firTypeRef
|
||||||
@@ -1651,7 +1650,7 @@ class DeclarationsConverter(
|
|||||||
|
|
||||||
return buildTypeParameter {
|
return buildTypeParameter {
|
||||||
source = typeParameter.toFirSourceElement()
|
source = typeParameter.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
name = identifier.nameAsSafeName()
|
name = identifier.nameAsSafeName()
|
||||||
symbol = FirTypeParameterSymbol()
|
symbol = FirTypeParameterSymbol()
|
||||||
@@ -1941,7 +1940,7 @@ class DeclarationsConverter(
|
|||||||
val name = identifier.nameAsSafeName()
|
val name = identifier.nameAsSafeName()
|
||||||
val firValueParameter = buildValueParameter {
|
val firValueParameter = buildValueParameter {
|
||||||
source = valueParameter.toFirSourceElement()
|
source = valueParameter.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = firType ?: implicitType
|
returnTypeRef = firType ?: implicitType
|
||||||
this.name = name
|
this.name = name
|
||||||
|
|||||||
+7
-7
@@ -135,7 +135,7 @@ class ExpressionsConverter(
|
|||||||
val target: FirFunctionTarget
|
val target: FirFunctionTarget
|
||||||
return buildAnonymousFunction {
|
return buildAnonymousFunction {
|
||||||
source = expressionSource
|
source = expressionSource
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = implicitType
|
returnTypeRef = implicitType
|
||||||
receiverTypeRef = implicitType
|
receiverTypeRef = implicitType
|
||||||
@@ -153,7 +153,7 @@ class ExpressionsConverter(
|
|||||||
val name = DESTRUCTURING_NAME
|
val name = DESTRUCTURING_NAME
|
||||||
val multiParameter = buildValueParameter {
|
val multiParameter = buildValueParameter {
|
||||||
source = valueParameter.firValueParameter.source
|
source = valueParameter.firValueParameter.source
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = valueParameter.firValueParameter.returnTypeRef
|
returnTypeRef = valueParameter.firValueParameter.returnTypeRef
|
||||||
this.name = name
|
this.name = name
|
||||||
@@ -164,7 +164,7 @@ class ExpressionsConverter(
|
|||||||
isVararg = false
|
isVararg = false
|
||||||
}
|
}
|
||||||
destructuringStatements += generateDestructuringBlock(
|
destructuringStatements += generateDestructuringBlock(
|
||||||
this@ExpressionsConverter.baseSession,
|
baseModuleData,
|
||||||
multiDeclaration,
|
multiDeclaration,
|
||||||
multiParameter,
|
multiParameter,
|
||||||
tmpVariable = false
|
tmpVariable = false
|
||||||
@@ -642,7 +642,7 @@ class ExpressionsConverter(
|
|||||||
buildProperty {
|
buildProperty {
|
||||||
source = it.toFirSourceElement()
|
source = it.toFirSourceElement()
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
returnTypeRef = variable.returnTypeRef
|
returnTypeRef = variable.returnTypeRef
|
||||||
name = variable.name
|
name = variable.name
|
||||||
initializer = variable.initializer
|
initializer = variable.initializer
|
||||||
@@ -958,7 +958,7 @@ class ExpressionsConverter(
|
|||||||
return buildBlock {
|
return buildBlock {
|
||||||
source = fakeSource
|
source = fakeSource
|
||||||
val iteratorVal = generateTemporaryVariable(
|
val iteratorVal = generateTemporaryVariable(
|
||||||
this@ExpressionsConverter.baseSession,
|
baseModuleData,
|
||||||
rangeExpression.source?.fakeElement(FirFakeSourceElementKind.DesugaredForLoop),
|
rangeExpression.source?.fakeElement(FirFakeSourceElementKind.DesugaredForLoop),
|
||||||
ITERATOR_NAME,
|
ITERATOR_NAME,
|
||||||
buildFunctionCall {
|
buildFunctionCall {
|
||||||
@@ -992,7 +992,7 @@ class ExpressionsConverter(
|
|||||||
val valueParameter = parameter ?: return@block
|
val valueParameter = parameter ?: return@block
|
||||||
val multiDeclaration = valueParameter.destructuringDeclaration
|
val multiDeclaration = valueParameter.destructuringDeclaration
|
||||||
val firLoopParameter = generateTemporaryVariable(
|
val firLoopParameter = generateTemporaryVariable(
|
||||||
this@ExpressionsConverter.baseSession,
|
baseModuleData,
|
||||||
valueParameter.firValueParameter.source,
|
valueParameter.firValueParameter.source,
|
||||||
if (multiDeclaration != null) DESTRUCTURING_NAME else valueParameter.firValueParameter.name,
|
if (multiDeclaration != null) DESTRUCTURING_NAME else valueParameter.firValueParameter.name,
|
||||||
buildFunctionCall {
|
buildFunctionCall {
|
||||||
@@ -1007,7 +1007,7 @@ class ExpressionsConverter(
|
|||||||
)
|
)
|
||||||
if (multiDeclaration != null) {
|
if (multiDeclaration != null) {
|
||||||
val destructuringBlock = generateDestructuringBlock(
|
val destructuringBlock = generateDestructuringBlock(
|
||||||
this@ExpressionsConverter.baseSession,
|
baseModuleData,
|
||||||
multiDeclaration,
|
multiDeclaration,
|
||||||
firLoopParameter,
|
firLoopParameter,
|
||||||
tmpVariable = true
|
tmpVariable = true
|
||||||
|
|||||||
+5
-5
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.lightTree.fir
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.generateTemporaryVariable
|
import org.jetbrains.kotlin.fir.builder.generateTemporaryVariable
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||||
@@ -18,8 +18,8 @@ data class DestructuringDeclaration(
|
|||||||
val initializer: FirExpression,
|
val initializer: FirExpression,
|
||||||
val source: FirSourceElement
|
val source: FirSourceElement
|
||||||
) {
|
) {
|
||||||
fun toFirDestructingDeclaration(session: FirSession): FirExpression {
|
fun toFirDestructingDeclaration(moduleData: FirModuleData): FirExpression {
|
||||||
val baseVariable = generateTemporaryVariable(session, source, "destruct", initializer)
|
val baseVariable = generateTemporaryVariable(moduleData, source, "destruct", initializer)
|
||||||
return generateDestructuringBlock(session, this, baseVariable, tmpVariable = true)
|
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.FirDeclarationStatusImpl
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter
|
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertySetter
|
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.ConeSimpleDiagnostic
|
||||||
|
import org.jetbrains.kotlin.fir.diagnostics.DiagnosticKind
|
||||||
import org.jetbrains.kotlin.fir.expressions.builder.buildQualifiedAccessExpression
|
import org.jetbrains.kotlin.fir.expressions.builder.buildQualifiedAccessExpression
|
||||||
import org.jetbrains.kotlin.fir.lightTree.fir.modifier.Modifier
|
import org.jetbrains.kotlin.fir.lightTree.fir.modifier.Modifier
|
||||||
import org.jetbrains.kotlin.fir.references.builder.buildPropertyFromParameterResolvedNamedReference
|
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.symbols.impl.FirPropertySymbol
|
||||||
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||||
import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef
|
import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.builder.buildErrorTypeRef
|
import org.jetbrains.kotlin.fir.types.builder.buildErrorTypeRef
|
||||||
|
import org.jetbrains.kotlin.name.CallableId
|
||||||
|
|
||||||
class ValueParameter(
|
class ValueParameter(
|
||||||
private val isVal: Boolean,
|
private val isVal: Boolean,
|
||||||
@@ -34,7 +34,7 @@ class ValueParameter(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun toFirProperty(
|
fun toFirProperty(
|
||||||
session: FirSession,
|
moduleData: FirModuleData,
|
||||||
callableId: CallableId,
|
callableId: CallableId,
|
||||||
isExpect: Boolean,
|
isExpect: Boolean,
|
||||||
currentDispatchReceiver: ConeClassLikeType?
|
currentDispatchReceiver: ConeClassLikeType?
|
||||||
@@ -51,7 +51,7 @@ class ValueParameter(
|
|||||||
source = parameterNode?.toFirLightSourceElement(
|
source = parameterNode?.toFirLightSourceElement(
|
||||||
parameterSource.treeStructure, FirFakeSourceElementKind.PropertyFromParameter
|
parameterSource.treeStructure, FirFakeSourceElementKind.PropertyFromParameter
|
||||||
)
|
)
|
||||||
declarationSiteSession = session
|
this.moduleData = moduleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = type.copyWithNewSourceKind(FirFakeSourceElementKind.PropertyFromParameter)
|
returnTypeRef = type.copyWithNewSourceKind(FirFakeSourceElementKind.PropertyFromParameter)
|
||||||
this.name = name
|
this.name = name
|
||||||
@@ -76,14 +76,14 @@ class ValueParameter(
|
|||||||
annotations += this@ValueParameter.firValueParameter.annotations
|
annotations += this@ValueParameter.firValueParameter.annotations
|
||||||
getter = FirDefaultPropertyGetter(
|
getter = FirDefaultPropertyGetter(
|
||||||
null,
|
null,
|
||||||
session,
|
moduleData,
|
||||||
FirDeclarationOrigin.Source,
|
FirDeclarationOrigin.Source,
|
||||||
type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor),
|
type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor),
|
||||||
modifiers.getVisibility()
|
modifiers.getVisibility()
|
||||||
)
|
)
|
||||||
setter = if (this.isVar) FirDefaultPropertySetter(
|
setter = if (this.isVar) FirDefaultPropertySetter(
|
||||||
null,
|
null,
|
||||||
session,
|
moduleData,
|
||||||
FirDeclarationOrigin.Source,
|
FirDeclarationOrigin.Source,
|
||||||
type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor),
|
type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor),
|
||||||
modifiers.getVisibility()
|
modifiers.getVisibility()
|
||||||
|
|||||||
+2
-2
@@ -82,7 +82,7 @@ internal fun Array<KtWhenCondition>.toFirWhenCondition(
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal fun generateDestructuringBlock(
|
internal fun generateDestructuringBlock(
|
||||||
session: FirSession,
|
moduleData: FirModuleData,
|
||||||
multiDeclaration: KtDestructuringDeclaration,
|
multiDeclaration: KtDestructuringDeclaration,
|
||||||
container: FirVariable<*>,
|
container: FirVariable<*>,
|
||||||
tmpVariable: Boolean,
|
tmpVariable: Boolean,
|
||||||
@@ -101,7 +101,7 @@ internal fun generateDestructuringBlock(
|
|||||||
val name = entry.nameAsSafeName
|
val name = entry.nameAsSafeName
|
||||||
statements += buildProperty {
|
statements += buildProperty {
|
||||||
source = entrySource
|
source = entrySource
|
||||||
declarationSiteSession = session
|
this.moduleData = moduleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = entry.typeReference.toFirOrImplicitTypeRef()
|
returnTypeRef = entry.typeReference.toFirOrImplicitTypeRef()
|
||||||
this.name = name
|
this.name = name
|
||||||
|
|||||||
+42
-36
@@ -330,7 +330,7 @@ open class RawFirBuilder(
|
|||||||
val accessorTarget = FirFunctionTarget(labelName = null, isLambda = false)
|
val accessorTarget = FirFunctionTarget(labelName = null, isLambda = false)
|
||||||
buildPropertyAccessor {
|
buildPropertyAccessor {
|
||||||
this.source = source
|
this.source = source
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = if (isGetter) {
|
returnTypeRef = if (isGetter) {
|
||||||
returnTypeReference?.convertSafe() ?: propertyTypeRef
|
returnTypeReference?.convertSafe() ?: propertyTypeRef
|
||||||
@@ -345,7 +345,7 @@ open class RawFirBuilder(
|
|||||||
if (!isGetter && valueParameters.isEmpty()) {
|
if (!isGetter && valueParameters.isEmpty()) {
|
||||||
valueParameters += buildDefaultSetterValueParameter {
|
valueParameters += buildDefaultSetterValueParameter {
|
||||||
this.source = source.fakeElement(FirFakeSourceElementKind.DefaultAccessor)
|
this.source = source.fakeElement(FirFakeSourceElementKind.DefaultAccessor)
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = propertyTypeRef
|
returnTypeRef = propertyTypeRef
|
||||||
symbol = FirVariableSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER)
|
symbol = FirVariableSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER)
|
||||||
@@ -372,7 +372,7 @@ open class RawFirBuilder(
|
|||||||
FirDefaultPropertyAccessor
|
FirDefaultPropertyAccessor
|
||||||
.createGetterOrSetter(
|
.createGetterOrSetter(
|
||||||
propertySource,
|
propertySource,
|
||||||
baseSession,
|
baseModuleData,
|
||||||
FirDeclarationOrigin.Source,
|
FirDeclarationOrigin.Source,
|
||||||
propertyTypeRef,
|
propertyTypeRef,
|
||||||
accessorVisibility,
|
accessorVisibility,
|
||||||
@@ -397,7 +397,7 @@ open class RawFirBuilder(
|
|||||||
val name = nameAsSafeName
|
val name = nameAsSafeName
|
||||||
return buildValueParameter {
|
return buildValueParameter {
|
||||||
source = toFirSourceElement()
|
source = toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = when {
|
returnTypeRef = when {
|
||||||
typeReference != null -> typeReference.toFirOrErrorType()
|
typeReference != null -> typeReference.toFirOrErrorType()
|
||||||
@@ -430,7 +430,7 @@ open class RawFirBuilder(
|
|||||||
val propertyName = nameAsSafeName
|
val propertyName = nameAsSafeName
|
||||||
return buildProperty {
|
return buildProperty {
|
||||||
source = propertySource
|
source = propertySource
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = type.copyWithNewSourceKind(FirFakeSourceElementKind.PropertyFromParameter)
|
returnTypeRef = type.copyWithNewSourceKind(FirFakeSourceElementKind.PropertyFromParameter)
|
||||||
receiverTypeRef = null
|
receiverTypeRef = null
|
||||||
@@ -450,14 +450,14 @@ open class RawFirBuilder(
|
|||||||
val defaultAccessorSource = propertySource.fakeElement(FirFakeSourceElementKind.DefaultAccessor)
|
val defaultAccessorSource = propertySource.fakeElement(FirFakeSourceElementKind.DefaultAccessor)
|
||||||
getter = FirDefaultPropertyGetter(
|
getter = FirDefaultPropertyGetter(
|
||||||
defaultAccessorSource,
|
defaultAccessorSource,
|
||||||
baseSession,
|
baseModuleData,
|
||||||
FirDeclarationOrigin.Source,
|
FirDeclarationOrigin.Source,
|
||||||
type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor),
|
type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor),
|
||||||
visibility
|
visibility
|
||||||
)
|
)
|
||||||
setter = if (isMutable) FirDefaultPropertySetter(
|
setter = if (isMutable) FirDefaultPropertySetter(
|
||||||
defaultAccessorSource,
|
defaultAccessorSource,
|
||||||
baseSession,
|
baseModuleData,
|
||||||
FirDeclarationOrigin.Source,
|
FirDeclarationOrigin.Source,
|
||||||
type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor),
|
type.copyWithNewSourceKind(FirFakeSourceElementKind.DefaultAccessor),
|
||||||
visibility
|
visibility
|
||||||
@@ -570,7 +570,7 @@ open class RawFirBuilder(
|
|||||||
superTypeListEntry.delegateExpression?.toFirSourceElement(FirFakeSourceElementKind.ClassDelegationField)
|
superTypeListEntry.delegateExpression?.toFirSourceElement(FirFakeSourceElementKind.ClassDelegationField)
|
||||||
val delegateField = buildField {
|
val delegateField = buildField {
|
||||||
source = delegateSource
|
source = delegateSource
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Synthetic
|
origin = FirDeclarationOrigin.Synthetic
|
||||||
name = delegateName
|
name = delegateName
|
||||||
returnTypeRef = type
|
returnTypeRef = type
|
||||||
@@ -680,7 +680,7 @@ open class RawFirBuilder(
|
|||||||
}
|
}
|
||||||
return buildPrimaryConstructor {
|
return buildPrimaryConstructor {
|
||||||
source = constructorSource
|
source = constructorSource
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = delegatedSelfTypeRef
|
returnTypeRef = delegatedSelfTypeRef
|
||||||
this.status = status
|
this.status = status
|
||||||
@@ -699,7 +699,7 @@ open class RawFirBuilder(
|
|||||||
context.packageFqName = file.packageFqName
|
context.packageFqName = file.packageFqName
|
||||||
return buildFile {
|
return buildFile {
|
||||||
source = file.toFirSourceElement()
|
source = file.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
name = file.name
|
name = file.name
|
||||||
packageFqName = context.packageFqName
|
packageFqName = context.packageFqName
|
||||||
@@ -727,7 +727,7 @@ open class RawFirBuilder(
|
|||||||
val ktEnumEntry = this@toFirEnumEntry
|
val ktEnumEntry = this@toFirEnumEntry
|
||||||
return buildEnumEntry {
|
return buildEnumEntry {
|
||||||
source = toFirSourceElement()
|
source = toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = delegatedEnumSelfTypeRef
|
returnTypeRef = delegatedEnumSelfTypeRef
|
||||||
name = nameAsSafeName
|
name = nameAsSafeName
|
||||||
@@ -745,7 +745,7 @@ open class RawFirBuilder(
|
|||||||
initializer = withChildClassName(nameAsSafeName) {
|
initializer = withChildClassName(nameAsSafeName) {
|
||||||
buildAnonymousObject {
|
buildAnonymousObject {
|
||||||
source = toFirSourceElement(FirFakeSourceElementKind.EnumInitializer)
|
source = toFirSourceElement(FirFakeSourceElementKind.EnumInitializer)
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
classKind = ClassKind.ENUM_ENTRY
|
classKind = ClassKind.ENUM_ENTRY
|
||||||
scopeProvider = this@RawFirBuilder.baseScopeProvider
|
scopeProvider = this@RawFirBuilder.baseScopeProvider
|
||||||
@@ -830,7 +830,7 @@ open class RawFirBuilder(
|
|||||||
|
|
||||||
buildRegularClass {
|
buildRegularClass {
|
||||||
source = classOrObject.toFirSourceElement()
|
source = classOrObject.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
name = classOrObject.nameAsSafeName
|
name = classOrObject.nameAsSafeName
|
||||||
this.status = status
|
this.status = status
|
||||||
@@ -883,7 +883,6 @@ open class RawFirBuilder(
|
|||||||
val zippedParameters =
|
val zippedParameters =
|
||||||
classOrObject.primaryConstructorParameters.filter { it.hasValOrVar() } zip declarations.filterIsInstance<FirProperty>()
|
classOrObject.primaryConstructorParameters.filter { it.hasValOrVar() } zip declarations.filterIsInstance<FirProperty>()
|
||||||
DataClassMembersGenerator(
|
DataClassMembersGenerator(
|
||||||
baseSession,
|
|
||||||
classOrObject,
|
classOrObject,
|
||||||
this,
|
this,
|
||||||
zippedParameters,
|
zippedParameters,
|
||||||
@@ -902,13 +901,13 @@ open class RawFirBuilder(
|
|||||||
|
|
||||||
if (classOrObject.hasModifier(ENUM_KEYWORD)) {
|
if (classOrObject.hasModifier(ENUM_KEYWORD)) {
|
||||||
generateValuesFunction(
|
generateValuesFunction(
|
||||||
baseSession,
|
baseModuleData,
|
||||||
context.packageFqName,
|
context.packageFqName,
|
||||||
context.className,
|
context.className,
|
||||||
classOrObject.hasExpectModifier()
|
classOrObject.hasExpectModifier()
|
||||||
)
|
)
|
||||||
generateValueOfFunction(
|
generateValueOfFunction(
|
||||||
baseSession, context.packageFqName, context.className,
|
baseModuleData, context.packageFqName, context.className,
|
||||||
classOrObject.hasExpectModifier()
|
classOrObject.hasExpectModifier()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -925,7 +924,7 @@ open class RawFirBuilder(
|
|||||||
return withChildClassName(ANONYMOUS_OBJECT_NAME) {
|
return withChildClassName(ANONYMOUS_OBJECT_NAME) {
|
||||||
buildAnonymousObject {
|
buildAnonymousObject {
|
||||||
source = objectDeclaration.toFirSourceElement()
|
source = objectDeclaration.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
classKind = ClassKind.OBJECT
|
classKind = ClassKind.OBJECT
|
||||||
scopeProvider = baseScopeProvider
|
scopeProvider = baseScopeProvider
|
||||||
@@ -961,7 +960,7 @@ open class RawFirBuilder(
|
|||||||
return withChildClassName(typeAlias.nameAsSafeName) {
|
return withChildClassName(typeAlias.nameAsSafeName) {
|
||||||
buildTypeAlias {
|
buildTypeAlias {
|
||||||
source = typeAlias.toFirSourceElement()
|
source = typeAlias.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
name = typeAlias.nameAsSafeName
|
name = typeAlias.nameAsSafeName
|
||||||
status = FirDeclarationStatusImpl(typeAlias.visibility, Modality.FINAL).apply {
|
status = FirDeclarationStatusImpl(typeAlias.visibility, Modality.FINAL).apply {
|
||||||
@@ -1021,7 +1020,7 @@ open class RawFirBuilder(
|
|||||||
val target = FirFunctionTarget(labelName, isLambda = false)
|
val target = FirFunctionTarget(labelName, isLambda = false)
|
||||||
return functionBuilder.apply {
|
return functionBuilder.apply {
|
||||||
source = function.toFirSourceElement()
|
source = function.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = returnType
|
returnTypeRef = returnType
|
||||||
|
|
||||||
@@ -1084,7 +1083,7 @@ open class RawFirBuilder(
|
|||||||
val target: FirFunctionTarget
|
val target: FirFunctionTarget
|
||||||
return buildAnonymousFunction {
|
return buildAnonymousFunction {
|
||||||
source = literalSource
|
source = literalSource
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = returnType
|
returnTypeRef = returnType
|
||||||
receiverTypeRef = receiverType
|
receiverTypeRef = receiverType
|
||||||
@@ -1098,7 +1097,7 @@ open class RawFirBuilder(
|
|||||||
val name = DESTRUCTURING_NAME
|
val name = DESTRUCTURING_NAME
|
||||||
val multiParameter = buildValueParameter {
|
val multiParameter = buildValueParameter {
|
||||||
source = valueParameter.toFirSourceElement()
|
source = valueParameter.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = valueParameter.typeReference?.convertSafe() ?: buildImplicitTypeRef {
|
returnTypeRef = valueParameter.typeReference?.convertSafe() ?: buildImplicitTypeRef {
|
||||||
source = multiDeclaration.toFirSourceElement(FirFakeSourceElementKind.ImplicitTypeRef)
|
source = multiDeclaration.toFirSourceElement(FirFakeSourceElementKind.ImplicitTypeRef)
|
||||||
@@ -1110,7 +1109,7 @@ open class RawFirBuilder(
|
|||||||
isVararg = false
|
isVararg = false
|
||||||
}
|
}
|
||||||
destructuringStatements += generateDestructuringBlock(
|
destructuringStatements += generateDestructuringBlock(
|
||||||
baseSession,
|
baseModuleData,
|
||||||
multiDeclaration,
|
multiDeclaration,
|
||||||
multiParameter,
|
multiParameter,
|
||||||
tmpVariable = false,
|
tmpVariable = false,
|
||||||
@@ -1169,7 +1168,7 @@ open class RawFirBuilder(
|
|||||||
val target = FirFunctionTarget(labelName = null, isLambda = false)
|
val target = FirFunctionTarget(labelName = null, isLambda = false)
|
||||||
return buildConstructor {
|
return buildConstructor {
|
||||||
source = this@toFirConstructor.toFirSourceElement()
|
source = this@toFirConstructor.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = delegatedSelfTypeRef
|
returnTypeRef = delegatedSelfTypeRef
|
||||||
val explicitVisibility = visibility
|
val explicitVisibility = visibility
|
||||||
@@ -1256,7 +1255,7 @@ open class RawFirBuilder(
|
|||||||
|
|
||||||
return buildProperty {
|
return buildProperty {
|
||||||
source = propertySource
|
source = propertySource
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = propertyType
|
returnTypeRef = propertyType
|
||||||
name = propertyName
|
name = propertyName
|
||||||
@@ -1279,7 +1278,14 @@ open class RawFirBuilder(
|
|||||||
}
|
}
|
||||||
|
|
||||||
val receiver = delegateExpression?.toFirExpression("Incorrect delegate expression")
|
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 {
|
} else {
|
||||||
isLocal = false
|
isLocal = false
|
||||||
receiverTypeRef = receiverTypeReference.convertSafe()
|
receiverTypeRef = receiverTypeReference.convertSafe()
|
||||||
@@ -1323,10 +1329,10 @@ open class RawFirBuilder(
|
|||||||
generateAccessorsByDelegate(
|
generateAccessorsByDelegate(
|
||||||
delegateBuilder,
|
delegateBuilder,
|
||||||
ownerClassBuilder,
|
ownerClassBuilder,
|
||||||
baseSession,
|
baseModuleData,
|
||||||
isExtension = receiverTypeReference != null,
|
isExtension = receiverTypeReference != null,
|
||||||
stubMode,
|
stubMode = stubMode,
|
||||||
receiver
|
receiver = receiver
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1341,7 +1347,7 @@ open class RawFirBuilder(
|
|||||||
override fun visitAnonymousInitializer(initializer: KtAnonymousInitializer, data: Unit): FirElement {
|
override fun visitAnonymousInitializer(initializer: KtAnonymousInitializer, data: Unit): FirElement {
|
||||||
return buildAnonymousInitializer {
|
return buildAnonymousInitializer {
|
||||||
source = initializer.toFirSourceElement()
|
source = initializer.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
body = if (stubMode) buildEmptyExpressionBlock() else initializer.body.toFirBlock()
|
body = if (stubMode) buildEmptyExpressionBlock() else initializer.body.toFirBlock()
|
||||||
}
|
}
|
||||||
@@ -1476,7 +1482,7 @@ open class RawFirBuilder(
|
|||||||
val parameterName = parameter.nameAsSafeName
|
val parameterName = parameter.nameAsSafeName
|
||||||
return buildTypeParameter {
|
return buildTypeParameter {
|
||||||
source = parameter.toFirSourceElement()
|
source = parameter.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
name = parameterName
|
name = parameterName
|
||||||
symbol = FirTypeParameterSymbol()
|
symbol = FirTypeParameterSymbol()
|
||||||
@@ -1632,7 +1638,7 @@ open class RawFirBuilder(
|
|||||||
val name = ktSubjectExpression.nameAsSafeName
|
val name = ktSubjectExpression.nameAsSafeName
|
||||||
buildProperty {
|
buildProperty {
|
||||||
source = ktSubjectExpression.toFirSourceElement()
|
source = ktSubjectExpression.toFirSourceElement()
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = ktSubjectExpression.typeReference.toFirOrImplicitType()
|
returnTypeRef = ktSubjectExpression.typeReference.toFirOrImplicitType()
|
||||||
receiverTypeRef = null
|
receiverTypeRef = null
|
||||||
@@ -1743,7 +1749,7 @@ open class RawFirBuilder(
|
|||||||
source = fakeSource
|
source = fakeSource
|
||||||
val rangeSource = expression.loopRange?.toFirSourceElement(FirFakeSourceElementKind.DesugaredForLoop)
|
val rangeSource = expression.loopRange?.toFirSourceElement(FirFakeSourceElementKind.DesugaredForLoop)
|
||||||
val iteratorVal = generateTemporaryVariable(
|
val iteratorVal = generateTemporaryVariable(
|
||||||
baseSession, rangeSource, ITERATOR_NAME,
|
baseModuleData, rangeSource, ITERATOR_NAME,
|
||||||
buildFunctionCall {
|
buildFunctionCall {
|
||||||
source = fakeSource
|
source = fakeSource
|
||||||
calleeReference = buildSimpleNamedReference {
|
calleeReference = buildSimpleNamedReference {
|
||||||
@@ -1780,7 +1786,7 @@ open class RawFirBuilder(
|
|||||||
if (ktParameter != null) {
|
if (ktParameter != null) {
|
||||||
val multiDeclaration = ktParameter.destructuringDeclaration
|
val multiDeclaration = ktParameter.destructuringDeclaration
|
||||||
val firLoopParameter = generateTemporaryVariable(
|
val firLoopParameter = generateTemporaryVariable(
|
||||||
session = baseSession, source = expression.loopParameter?.toFirSourceElement(),
|
moduleData = baseModuleData, source = expression.loopParameter?.toFirSourceElement(),
|
||||||
name = if (multiDeclaration != null) DESTRUCTURING_NAME else ktParameter.nameAsSafeName,
|
name = if (multiDeclaration != null) DESTRUCTURING_NAME else ktParameter.nameAsSafeName,
|
||||||
initializer = buildFunctionCall {
|
initializer = buildFunctionCall {
|
||||||
source = fakeSource
|
source = fakeSource
|
||||||
@@ -1794,7 +1800,7 @@ open class RawFirBuilder(
|
|||||||
)
|
)
|
||||||
if (multiDeclaration != null) {
|
if (multiDeclaration != null) {
|
||||||
val destructuringBlock = generateDestructuringBlock(
|
val destructuringBlock = generateDestructuringBlock(
|
||||||
session = baseSession,
|
baseModuleData,
|
||||||
multiDeclaration = multiDeclaration,
|
multiDeclaration = multiDeclaration,
|
||||||
container = firLoopParameter,
|
container = firLoopParameter,
|
||||||
tmpVariable = true,
|
tmpVariable = true,
|
||||||
@@ -2132,11 +2138,11 @@ open class RawFirBuilder(
|
|||||||
|
|
||||||
override fun visitDestructuringDeclaration(multiDeclaration: KtDestructuringDeclaration, data: Unit): FirElement {
|
override fun visitDestructuringDeclaration(multiDeclaration: KtDestructuringDeclaration, data: Unit): FirElement {
|
||||||
val baseVariable = generateTemporaryVariable(
|
val baseVariable = generateTemporaryVariable(
|
||||||
baseSession, multiDeclaration.toFirSourceElement(), "destruct",
|
baseModuleData, multiDeclaration.toFirSourceElement(), "destruct",
|
||||||
multiDeclaration.initializer.toFirExpression("Initializer required for destructuring declaration", DiagnosticKind.Syntax),
|
multiDeclaration.initializer.toFirExpression("Initializer required for destructuring declaration", DiagnosticKind.Syntax),
|
||||||
)
|
)
|
||||||
return generateDestructuringBlock(
|
return generateDestructuringBlock(
|
||||||
baseSession,
|
baseModuleData,
|
||||||
multiDeclaration,
|
multiDeclaration,
|
||||||
baseVariable,
|
baseVariable,
|
||||||
tmpVariable = true,
|
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.FirReference
|
||||||
import org.jetbrains.kotlin.fir.references.builder.*
|
import org.jetbrains.kotlin.fir.references.builder.*
|
||||||
import org.jetbrains.kotlin.fir.references.impl.FirSimpleNamedReference
|
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.symbols.impl.*
|
||||||
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||||
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
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.fir.types.impl.ConeTypeParameterTypeImpl
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens.CLOSING_QUOTE
|
import org.jetbrains.kotlin.lexer.KtTokens.CLOSING_QUOTE
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens.OPEN_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.FqName
|
||||||
|
import org.jetbrains.kotlin.name.LocalCallableIdConstructor
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.parsing.*
|
import org.jetbrains.kotlin.parsing.*
|
||||||
import org.jetbrains.kotlin.types.ConstantValueKind
|
import org.jetbrains.kotlin.types.ConstantValueKind
|
||||||
@@ -39,6 +39,7 @@ import org.jetbrains.kotlin.util.OperatorNameConventions
|
|||||||
|
|
||||||
//T can be either PsiElement, or LighterASTNode
|
//T can be either PsiElement, or LighterASTNode
|
||||||
abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Context<T> = Context()) {
|
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
|
abstract fun T.toFirSourceElement(kind: FirFakeSourceElementKind? = null): FirSourceElement
|
||||||
|
|
||||||
@@ -157,7 +158,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
|||||||
bind(
|
bind(
|
||||||
buildErrorFunction {
|
buildErrorFunction {
|
||||||
source = baseSource
|
source = baseSource
|
||||||
declarationSiteSession = baseSession
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
diagnostic = ConeSimpleDiagnostic(message, kind)
|
diagnostic = ConeSimpleDiagnostic(message, kind)
|
||||||
symbol = FirErrorFunctionSymbol()
|
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).
|
// initialValueVar is only used for postfix increment/decrement (stores the argument value before increment/decrement).
|
||||||
val initialValueVar = generateTemporaryVariable(
|
val initialValueVar = generateTemporaryVariable(
|
||||||
this@BaseFirBuilder.baseSession,
|
baseModuleData,
|
||||||
desugaredSource,
|
desugaredSource,
|
||||||
Name.special("<unary>"),
|
Name.special("<unary>"),
|
||||||
unwrappedArgument.convert()
|
unwrappedArgument.convert()
|
||||||
@@ -524,7 +525,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
|||||||
|
|
||||||
// resultVar is only used for prefix increment/decrement.
|
// resultVar is only used for prefix increment/decrement.
|
||||||
val resultVar = generateTemporaryVariable(
|
val resultVar = generateTemporaryVariable(
|
||||||
this@BaseFirBuilder.baseSession,
|
baseModuleData,
|
||||||
desugaredSource,
|
desugaredSource,
|
||||||
Name.special("<unary-result>"),
|
Name.special("<unary-result>"),
|
||||||
resultInitializer
|
resultInitializer
|
||||||
@@ -606,7 +607,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
|||||||
val argumentSelector = argument.selectorExpression
|
val argumentSelector = argument.selectorExpression
|
||||||
|
|
||||||
val argumentReceiverVariable = generateTemporaryVariable(
|
val argumentReceiverVariable = generateTemporaryVariable(
|
||||||
this@BaseFirBuilder.baseSession,
|
baseModuleData,
|
||||||
argumentReceiver?.toFirSourceElement(),
|
argumentReceiver?.toFirSourceElement(),
|
||||||
Name.special("<receiver>"),
|
Name.special("<receiver>"),
|
||||||
argumentReceiver?.convert() ?: buildErrorExpression {
|
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).
|
// initialValueVar is only used for postfix increment/decrement (stores the argument value before increment/decrement).
|
||||||
val initialValueVar = generateTemporaryVariable(
|
val initialValueVar = generateTemporaryVariable(
|
||||||
this@BaseFirBuilder.baseSession,
|
baseModuleData,
|
||||||
desugaredSource,
|
desugaredSource,
|
||||||
Name.special("<unary>"),
|
Name.special("<unary>"),
|
||||||
firArgument
|
firArgument
|
||||||
@@ -647,7 +648,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
|||||||
|
|
||||||
// resultVar is only used for prefix increment/decrement.
|
// resultVar is only used for prefix increment/decrement.
|
||||||
val resultVar = generateTemporaryVariable(
|
val resultVar = generateTemporaryVariable(
|
||||||
this@BaseFirBuilder.baseSession,
|
baseModuleData,
|
||||||
desugaredSource,
|
desugaredSource,
|
||||||
Name.special("<unary-result>"),
|
Name.special("<unary-result>"),
|
||||||
resultInitializer
|
resultInitializer
|
||||||
@@ -729,7 +730,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
|||||||
requireNotNull(indices) { "No indices in ${baseExpression.asText}" }
|
requireNotNull(indices) { "No indices in ${baseExpression.asText}" }
|
||||||
|
|
||||||
val arrayVariable = generateTemporaryVariable(
|
val arrayVariable = generateTemporaryVariable(
|
||||||
this@BaseFirBuilder.baseSession,
|
baseModuleData,
|
||||||
array?.toFirSourceElement(),
|
array?.toFirSourceElement(),
|
||||||
Name.special("<array>"),
|
Name.special("<array>"),
|
||||||
array?.convert() ?: buildErrorExpression {
|
array?.convert() ?: buildErrorExpression {
|
||||||
@@ -740,7 +741,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
|||||||
|
|
||||||
val indexVariables = indices.mapIndexed { i, index ->
|
val indexVariables = indices.mapIndexed { i, index ->
|
||||||
generateTemporaryVariable(
|
generateTemporaryVariable(
|
||||||
this@BaseFirBuilder.baseSession,
|
baseModuleData,
|
||||||
index.toFirSourceElement(),
|
index.toFirSourceElement(),
|
||||||
Name.special("<index$i>"),
|
Name.special("<index$i>"),
|
||||||
index.convert()
|
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).
|
// initialValueVar is only used for postfix increment/decrement (stores the argument value before increment/decrement).
|
||||||
val initialValueVar = generateTemporaryVariable(
|
val initialValueVar = generateTemporaryVariable(
|
||||||
this@BaseFirBuilder.baseSession,
|
baseModuleData,
|
||||||
desugaredSource,
|
desugaredSource,
|
||||||
Name.special("<unary>"),
|
Name.special("<unary>"),
|
||||||
firArgument
|
firArgument
|
||||||
@@ -785,7 +786,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
|||||||
|
|
||||||
// resultVar is only used for prefix increment/decrement.
|
// resultVar is only used for prefix increment/decrement.
|
||||||
val resultVar = generateTemporaryVariable(
|
val resultVar = generateTemporaryVariable(
|
||||||
this@BaseFirBuilder.baseSession,
|
baseModuleData,
|
||||||
desugaredSource,
|
desugaredSource,
|
||||||
Name.special("<unary-result>"),
|
Name.special("<unary-result>"),
|
||||||
resultInitializer
|
resultInitializer
|
||||||
@@ -1002,17 +1003,17 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
|||||||
val baseCall = convert() as FirFunctionCall
|
val baseCall = convert() as FirFunctionCall
|
||||||
|
|
||||||
val arrayVariable = generateTemporaryVariable(
|
val arrayVariable = generateTemporaryVariable(
|
||||||
baseSession,
|
baseModuleData,
|
||||||
source = null,
|
source = null,
|
||||||
"<array>",
|
specialName = "<array>",
|
||||||
baseCall.explicitReceiver ?: buildErrorExpression {
|
initializer = baseCall.explicitReceiver ?: buildErrorExpression {
|
||||||
source = baseSource
|
source = baseSource
|
||||||
diagnostic = ConeSimpleDiagnostic("No receiver for array access", DiagnosticKind.Syntax)
|
diagnostic = ConeSimpleDiagnostic("No receiver for array access", DiagnosticKind.Syntax)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
statements += arrayVariable
|
statements += arrayVariable
|
||||||
val indexVariables = baseCall.arguments.mapIndexed { i, index ->
|
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 += indexVariables
|
||||||
statements += buildFunctionCall {
|
statements += buildFunctionCall {
|
||||||
@@ -1060,7 +1061,6 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
|||||||
}
|
}
|
||||||
|
|
||||||
inner class DataClassMembersGenerator(
|
inner class DataClassMembersGenerator(
|
||||||
private val session: FirSession,
|
|
||||||
private val source: T,
|
private val source: T,
|
||||||
private val classBuilder: FirRegularClassBuilder,
|
private val classBuilder: FirRegularClassBuilder,
|
||||||
private val zippedParameters: List<Pair<T, FirProperty>>,
|
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 parameterSource = sourceNode?.toFirSourceElement()
|
||||||
val componentFunction = buildSimpleFunction {
|
val componentFunction = buildSimpleFunction {
|
||||||
source = parameterSource?.fakeElement(FirFakeSourceElementKind.DataClassGeneratedMembers)
|
source = parameterSource?.fakeElement(FirFakeSourceElementKind.DataClassGeneratedMembers)
|
||||||
declarationSiteSession = session
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = firProperty.returnTypeRef
|
returnTypeRef = firProperty.returnTypeRef
|
||||||
receiverTypeRef = null
|
receiverTypeRef = null
|
||||||
@@ -1130,7 +1130,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
|||||||
buildSimpleFunction {
|
buildSimpleFunction {
|
||||||
val classTypeRef = createClassTypeRefWithSourceKind(FirFakeSourceElementKind.DataClassGeneratedMembers)
|
val classTypeRef = createClassTypeRefWithSourceKind(FirFakeSourceElementKind.DataClassGeneratedMembers)
|
||||||
source = this@DataClassMembersGenerator.source.toFirSourceElement(FirFakeSourceElementKind.DataClassGeneratedMembers)
|
source = this@DataClassMembersGenerator.source.toFirSourceElement(FirFakeSourceElementKind.DataClassGeneratedMembers)
|
||||||
declarationSiteSession = session
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = classTypeRef
|
returnTypeRef = classTypeRef
|
||||||
name = copyName
|
name = copyName
|
||||||
@@ -1144,7 +1144,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
|
|||||||
createParameterTypeRefWithSourceKind(firProperty, FirFakeSourceElementKind.DataClassGeneratedMembers)
|
createParameterTypeRefWithSourceKind(firProperty, FirFakeSourceElementKind.DataClassGeneratedMembers)
|
||||||
valueParameters += buildValueParameter {
|
valueParameters += buildValueParameter {
|
||||||
source = parameterSource
|
source = parameterSource
|
||||||
declarationSiteSession = session
|
moduleData = baseModuleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = propertyReturnTypeRef
|
returnTypeRef = propertyReturnTypeRef
|
||||||
name = propertyName
|
name = propertyName
|
||||||
|
|||||||
+9
-11
@@ -271,14 +271,12 @@ fun generateResolvedAccessExpression(source: FirSourceElement?, variable: FirVar
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
fun generateTemporaryVariable(
|
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<*> =
|
): FirVariable<*> =
|
||||||
buildProperty {
|
buildProperty {
|
||||||
this.source = source
|
this.source = source
|
||||||
declarationSiteSession = session
|
this.moduleData = moduleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = typeRef ?: buildImplicitTypeRef {
|
returnTypeRef = typeRef ?: buildImplicitTypeRef {
|
||||||
this.source = source
|
this.source = source
|
||||||
@@ -292,13 +290,13 @@ fun generateTemporaryVariable(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun generateTemporaryVariable(
|
fun generateTemporaryVariable(
|
||||||
session: FirSession, source: FirSourceElement?, specialName: String, initializer: FirExpression,
|
moduleData: FirModuleData, source: FirSourceElement?, specialName: String, initializer: FirExpression,
|
||||||
): FirVariable<*> = generateTemporaryVariable(session, source, Name.special("<$specialName>"), initializer)
|
): FirVariable<*> = generateTemporaryVariable(moduleData, source, Name.special("<$specialName>"), initializer)
|
||||||
|
|
||||||
fun FirPropertyBuilder.generateAccessorsByDelegate(
|
fun FirPropertyBuilder.generateAccessorsByDelegate(
|
||||||
delegateBuilder: FirWrappedDelegateExpressionBuilder?,
|
delegateBuilder: FirWrappedDelegateExpressionBuilder?,
|
||||||
ownerClassBuilder: FirClassBuilder?,
|
ownerClassBuilder: FirClassBuilder?,
|
||||||
session: FirSession,
|
moduleData: FirModuleData,
|
||||||
isExtension: Boolean,
|
isExtension: Boolean,
|
||||||
stubMode: Boolean,
|
stubMode: Boolean,
|
||||||
receiver: FirExpression?
|
receiver: FirExpression?
|
||||||
@@ -402,7 +400,7 @@ fun FirPropertyBuilder.generateAccessorsByDelegate(
|
|||||||
val returnTarget = FirFunctionTarget(null, isLambda = false)
|
val returnTarget = FirFunctionTarget(null, isLambda = false)
|
||||||
getter = buildPropertyAccessor {
|
getter = buildPropertyAccessor {
|
||||||
this.source = fakeSource
|
this.source = fakeSource
|
||||||
declarationSiteSession = session
|
this.moduleData = moduleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = buildImplicitTypeRef()
|
returnTypeRef = buildImplicitTypeRef()
|
||||||
isGetter = true
|
isGetter = true
|
||||||
@@ -434,14 +432,14 @@ fun FirPropertyBuilder.generateAccessorsByDelegate(
|
|||||||
val annotations = setter?.annotations
|
val annotations = setter?.annotations
|
||||||
setter = buildPropertyAccessor {
|
setter = buildPropertyAccessor {
|
||||||
this.source = fakeSource
|
this.source = fakeSource
|
||||||
declarationSiteSession = session
|
this.moduleData = moduleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = session.builtinTypes.unitType
|
returnTypeRef = moduleData.session.builtinTypes.unitType
|
||||||
isGetter = false
|
isGetter = false
|
||||||
status = FirDeclarationStatusImpl(Visibilities.Unknown, Modality.FINAL)
|
status = FirDeclarationStatusImpl(Visibilities.Unknown, Modality.FINAL)
|
||||||
val parameter = buildValueParameter {
|
val parameter = buildValueParameter {
|
||||||
source = fakeSource
|
source = fakeSource
|
||||||
declarationSiteSession = session
|
this.moduleData = moduleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = buildImplicitTypeRef()
|
returnTypeRef = buildImplicitTypeRef()
|
||||||
name = DELEGATED_SETTER_PARAM
|
name = DELEGATED_SETTER_PARAM
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ fun FirFunctionCall.copy(
|
|||||||
fun FirAnonymousFunction.copy(
|
fun FirAnonymousFunction.copy(
|
||||||
receiverTypeRef: FirTypeRef? = this.receiverTypeRef,
|
receiverTypeRef: FirTypeRef? = this.receiverTypeRef,
|
||||||
source: FirSourceElement? = this.source,
|
source: FirSourceElement? = this.source,
|
||||||
session: FirSession = this.declarationSiteSession,
|
moduleData: FirModuleData = this.moduleData,
|
||||||
origin: FirDeclarationOrigin = this.origin,
|
origin: FirDeclarationOrigin = this.origin,
|
||||||
returnTypeRef: FirTypeRef = this.returnTypeRef,
|
returnTypeRef: FirTypeRef = this.returnTypeRef,
|
||||||
valueParameters: List<FirValueParameter> = this.valueParameters,
|
valueParameters: List<FirValueParameter> = this.valueParameters,
|
||||||
@@ -74,7 +74,7 @@ fun FirAnonymousFunction.copy(
|
|||||||
): FirAnonymousFunction {
|
): FirAnonymousFunction {
|
||||||
return buildAnonymousFunction {
|
return buildAnonymousFunction {
|
||||||
this.source = source
|
this.source = source
|
||||||
declarationSiteSession = session
|
this.moduleData = moduleData
|
||||||
this.origin = origin
|
this.origin = origin
|
||||||
this.returnTypeRef = returnTypeRef
|
this.returnTypeRef = returnTypeRef
|
||||||
this.receiverTypeRef = receiverTypeRef
|
this.receiverTypeRef = receiverTypeRef
|
||||||
@@ -122,7 +122,7 @@ fun FirTypeParameter.copy(
|
|||||||
): FirTypeParameter {
|
): FirTypeParameter {
|
||||||
return buildTypeParameter {
|
return buildTypeParameter {
|
||||||
source = this@copy.source
|
source = this@copy.source
|
||||||
declarationSiteSession = this@copy.declarationSiteSession
|
moduleData = this@copy.moduleData
|
||||||
name = this@copy.name
|
name = this@copy.name
|
||||||
symbol = this@copy.symbol
|
symbol = this@copy.symbol
|
||||||
variance = this@copy.variance
|
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.FirSyntheticFunctionSymbol
|
||||||
import org.jetbrains.kotlin.fir.resolve.calls.ReceiverValue
|
import org.jetbrains.kotlin.fir.resolve.calls.ReceiverValue
|
||||||
import org.jetbrains.kotlin.fir.resolve.firProvider
|
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.fullyExpandedType
|
||||||
import org.jetbrains.kotlin.fir.resolve.lookupSuperTypes
|
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.AbstractFirBasedSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||||
@@ -70,11 +70,11 @@ abstract class FirVisibilityChecker : FirSessionComponent {
|
|||||||
val symbol = declaration.symbol
|
val symbol = declaration.symbol
|
||||||
return when (declaration.visibility) {
|
return when (declaration.visibility) {
|
||||||
Visibilities.Internal -> {
|
Visibilities.Internal -> {
|
||||||
declaration.declarationSiteSession == session || session.moduleVisibilityChecker?.isInFriendModule(declaration) == true
|
declaration.moduleData == session.moduleData || session.moduleVisibilityChecker?.isInFriendModule(declaration) == true
|
||||||
}
|
}
|
||||||
Visibilities.Private, Visibilities.PrivateToThis -> {
|
Visibilities.Private, Visibilities.PrivateToThis -> {
|
||||||
val ownerId = symbol.getOwnerId()
|
val ownerId = symbol.getOwnerId()
|
||||||
if (declaration.declarationSiteSession == session) {
|
if (declaration.moduleData == session.moduleData) {
|
||||||
when {
|
when {
|
||||||
ownerId == null -> {
|
ownerId == null -> {
|
||||||
val candidateFile = when (symbol) {
|
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.FirTypeParameterBuilder
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.buildSimpleFunction
|
import org.jetbrains.kotlin.fir.declarations.builder.buildSimpleFunction
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.buildValueParameter
|
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.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||||
import org.jetbrains.kotlin.fir.diagnostics.ConeIntermediateDiagnostic
|
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.calls.FirSyntheticFunctionSymbol
|
||||||
import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
|
import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
|
||||||
import org.jetbrains.kotlin.fir.scopes.impl.hasTypeOf
|
import org.jetbrains.kotlin.fir.scopes.impl.hasTypeOf
|
||||||
import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope
|
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.FirPropertySymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
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.builder.buildResolvedTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
|
||||||
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
|
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.Name
|
||||||
|
import org.jetbrains.kotlin.name.StandardClassIds
|
||||||
import org.jetbrains.kotlin.types.Variance
|
import org.jetbrains.kotlin.types.Variance
|
||||||
|
|
||||||
abstract class FirSamResolver {
|
abstract class FirSamResolver {
|
||||||
@@ -133,7 +133,7 @@ class FirSamResolverImpl(
|
|||||||
val declaredTypeParameter = typeParameter.symbol.fir // TODO: or really declared?
|
val declaredTypeParameter = typeParameter.symbol.fir // TODO: or really declared?
|
||||||
FirTypeParameterBuilder().apply {
|
FirTypeParameterBuilder().apply {
|
||||||
source = declaredTypeParameter.source
|
source = declaredTypeParameter.source
|
||||||
declarationSiteSession = firSession
|
moduleData = firSession.moduleData
|
||||||
origin = FirDeclarationOrigin.SamConstructor
|
origin = FirDeclarationOrigin.SamConstructor
|
||||||
name = declaredTypeParameter.name
|
name = declaredTypeParameter.name
|
||||||
this.symbol = FirTypeParameterSymbol()
|
this.symbol = FirTypeParameterSymbol()
|
||||||
@@ -165,7 +165,7 @@ class FirSamResolverImpl(
|
|||||||
}
|
}
|
||||||
|
|
||||||
return buildSimpleFunction {
|
return buildSimpleFunction {
|
||||||
declarationSiteSession = firSession
|
moduleData = firSession.moduleData
|
||||||
source = firRegularClass.source
|
source = firRegularClass.source
|
||||||
name = classId.shortClassName
|
name = classId.shortClassName
|
||||||
origin = FirDeclarationOrigin.SamConstructor
|
origin = FirDeclarationOrigin.SamConstructor
|
||||||
@@ -200,7 +200,7 @@ class FirSamResolverImpl(
|
|||||||
}
|
}
|
||||||
|
|
||||||
valueParameters += buildValueParameter {
|
valueParameters += buildValueParameter {
|
||||||
declarationSiteSession = firSession
|
moduleData = firSession.moduleData
|
||||||
origin = FirDeclarationOrigin.SamConstructor
|
origin = FirDeclarationOrigin.SamConstructor
|
||||||
returnTypeRef = buildResolvedTypeRef {
|
returnTypeRef = buildResolvedTypeRef {
|
||||||
source = firRegularClass.source
|
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.declarations.builder.buildErrorProperty
|
||||||
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
||||||
import org.jetbrains.kotlin.fir.expressions.*
|
import org.jetbrains.kotlin.fir.expressions.*
|
||||||
|
import org.jetbrains.kotlin.fir.moduleData
|
||||||
import org.jetbrains.kotlin.fir.returnExpressions
|
import org.jetbrains.kotlin.fir.returnExpressions
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||||
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
||||||
@@ -82,7 +83,7 @@ class CandidateFactory private constructor(
|
|||||||
private fun createErrorFunctionSymbol(diagnostic: ConeDiagnostic): FirErrorFunctionSymbol {
|
private fun createErrorFunctionSymbol(diagnostic: ConeDiagnostic): FirErrorFunctionSymbol {
|
||||||
return FirErrorFunctionSymbol().also {
|
return FirErrorFunctionSymbol().also {
|
||||||
buildErrorFunction {
|
buildErrorFunction {
|
||||||
declarationSiteSession = context.session
|
moduleData = context.session.moduleData
|
||||||
resolvePhase = FirResolvePhase.BODY_RESOLVE
|
resolvePhase = FirResolvePhase.BODY_RESOLVE
|
||||||
origin = FirDeclarationOrigin.Synthetic
|
origin = FirDeclarationOrigin.Synthetic
|
||||||
this.diagnostic = diagnostic
|
this.diagnostic = diagnostic
|
||||||
@@ -94,7 +95,7 @@ class CandidateFactory private constructor(
|
|||||||
private fun createErrorPropertySymbol(diagnostic: ConeDiagnostic): FirErrorPropertySymbol {
|
private fun createErrorPropertySymbol(diagnostic: ConeDiagnostic): FirErrorPropertySymbol {
|
||||||
return FirErrorPropertySymbol(diagnostic).also {
|
return FirErrorPropertySymbol(diagnostic).also {
|
||||||
buildErrorProperty {
|
buildErrorProperty {
|
||||||
declarationSiteSession = context.session
|
moduleData = context.session.moduleData
|
||||||
resolvePhase = FirResolvePhase.BODY_RESOLVE
|
resolvePhase = FirResolvePhase.BODY_RESOLVE
|
||||||
origin = FirDeclarationOrigin.Synthetic
|
origin = FirDeclarationOrigin.Synthetic
|
||||||
name = FirErrorPropertySymbol.NAME
|
name = FirErrorPropertySymbol.NAME
|
||||||
|
|||||||
@@ -5,22 +5,24 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.resolve.calls
|
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.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||||
import org.jetbrains.kotlin.fir.declarations.isStatic
|
import org.jetbrains.kotlin.fir.declarations.isStatic
|
||||||
import org.jetbrains.kotlin.fir.declarations.synthetic.buildSyntheticProperty
|
import org.jetbrains.kotlin.fir.declarations.synthetic.buildSyntheticProperty
|
||||||
import org.jetbrains.kotlin.fir.dispatchReceiverClassOrNull
|
|
||||||
import org.jetbrains.kotlin.fir.scopes.*
|
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.SyntheticSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
import org.jetbrains.kotlin.fir.symbols.impl.FirAccessorSymbol
|
||||||
import org.jetbrains.kotlin.fir.typeContext
|
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||||
import org.jetbrains.kotlin.fir.types.*
|
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.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.Name
|
||||||
|
import org.jetbrains.kotlin.name.StandardClassIds
|
||||||
import org.jetbrains.kotlin.types.AbstractTypeChecker
|
import org.jetbrains.kotlin.types.AbstractTypeChecker
|
||||||
|
|
||||||
class FirSyntheticPropertySymbol(
|
class FirSyntheticPropertySymbol(
|
||||||
@@ -107,7 +109,7 @@ class FirSyntheticPropertiesScope(
|
|||||||
val className = classLookupTag?.classId?.relativeClassName
|
val className = classLookupTag?.classId?.relativeClassName
|
||||||
|
|
||||||
val property = buildSyntheticProperty {
|
val property = buildSyntheticProperty {
|
||||||
declarationSiteSession = session
|
moduleData = session.moduleData
|
||||||
name = propertyName
|
name = propertyName
|
||||||
symbol = FirSyntheticPropertySymbol(
|
symbol = FirSyntheticPropertySymbol(
|
||||||
accessorId = getterSymbol.callableId,
|
accessorId = getterSymbol.callableId,
|
||||||
|
|||||||
+1
-1
@@ -187,7 +187,7 @@ class FirCallCompleter(
|
|||||||
val itType = parameters.single()
|
val itType = parameters.single()
|
||||||
buildValueParameter {
|
buildValueParameter {
|
||||||
source = lambdaAtom.atom.source?.fakeElement(FirFakeSourceElementKind.ItLambdaParameter)
|
source = lambdaAtom.atom.source?.fakeElement(FirFakeSourceElementKind.ItLambdaParameter)
|
||||||
declarationSiteSession = session
|
moduleData = session.moduleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = itType.approximateLambdaInputType().toFirResolvedTypeRef()
|
returnTypeRef = itType.approximateLambdaInputType().toFirResolvedTypeRef()
|
||||||
this.name = name
|
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.ClassKind
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.NoMutableState
|
import org.jetbrains.kotlin.fir.NoMutableState
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
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.FirSymbolProvider
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals
|
import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProviderInternals
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirScopeProvider
|
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.symbols.impl.*
|
||||||
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
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.ClassId
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
@NoMutableState
|
@NoMutableState
|
||||||
class FirCloneableSymbolProvider(session: FirSession, scopeProvider: FirScopeProvider) : FirSymbolProvider(session) {
|
class FirCloneableSymbolProvider(
|
||||||
|
session: FirSession,
|
||||||
|
moduleData: FirModuleData,
|
||||||
|
scopeProvider: FirScopeProvider
|
||||||
|
) : FirSymbolProvider(session) {
|
||||||
companion object {
|
companion object {
|
||||||
val CLONEABLE: Name = Name.identifier("Cloneable")
|
val CLONEABLE: Name = Name.identifier("Cloneable")
|
||||||
val CLONEABLE_CLASS_ID: ClassId = ClassId(StandardNames.BUILT_INS_PACKAGE_FQ_NAME, 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 {
|
private val klass = buildRegularClass {
|
||||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||||
origin = FirDeclarationOrigin.Library
|
origin = FirDeclarationOrigin.Library
|
||||||
declarationSiteSession = session
|
this.moduleData = moduleData
|
||||||
status = FirDeclarationStatusImpl(
|
status = FirDeclarationStatusImpl(
|
||||||
Visibilities.Public,
|
Visibilities.Public,
|
||||||
Modality.ABSTRACT
|
Modality.ABSTRACT
|
||||||
@@ -47,7 +52,7 @@ class FirCloneableSymbolProvider(session: FirSession, scopeProvider: FirScopePro
|
|||||||
classKind = ClassKind.INTERFACE
|
classKind = ClassKind.INTERFACE
|
||||||
symbol = FirRegularClassSymbol(CLONEABLE_CLASS_ID)
|
symbol = FirRegularClassSymbol(CLONEABLE_CLASS_ID)
|
||||||
declarations += buildSimpleFunction {
|
declarations += buildSimpleFunction {
|
||||||
declarationSiteSession = session
|
this.moduleData = moduleData
|
||||||
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||||
origin = FirDeclarationOrigin.Library
|
origin = FirDeclarationOrigin.Library
|
||||||
returnTypeRef = buildResolvedTypeRef {
|
returnTypeRef = buildResolvedTypeRef {
|
||||||
|
|||||||
+1
-1
@@ -40,7 +40,7 @@ abstract class FirAbstractPhaseTransformer<D>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected fun checkSessionConsistency(file: FirFile) {
|
protected fun checkSessionConsistency(file: FirFile) {
|
||||||
assert(session === file.declarationSiteSession) {
|
assert(session === file.moduleData.session) {
|
||||||
"File ${file.name} and transformer ${this::class} have inconsistent sessions"
|
"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.Modality
|
||||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.FirSimpleFunctionBuilder
|
import org.jetbrains.kotlin.fir.declarations.builder.FirSimpleFunctionBuilder
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.buildTypeParameter
|
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.*
|
||||||
import org.jetbrains.kotlin.fir.expressions.builder.buildArgumentList
|
import org.jetbrains.kotlin.fir.expressions.builder.buildArgumentList
|
||||||
import org.jetbrains.kotlin.fir.expressions.builder.buildFunctionCall
|
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.FirReference
|
||||||
import org.jetbrains.kotlin.fir.references.impl.FirStubReference
|
import org.jetbrains.kotlin.fir.references.impl.FirStubReference
|
||||||
import org.jetbrains.kotlin.fir.resolve.BodyResolveComponents
|
import org.jetbrains.kotlin.fir.resolve.BodyResolveComponents
|
||||||
import org.jetbrains.kotlin.fir.resolve.calls.*
|
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.resolve.diagnostics.ConeInapplicableCandidateError
|
||||||
import org.jetbrains.kotlin.fir.resolvedTypeFromPrototype
|
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.SyntheticCallableId
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
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.builder.buildTypeProjectionWithVariance
|
||||||
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
|
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
||||||
|
import org.jetbrains.kotlin.name.CallableId
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.resolve.calls.tasks.ExplicitReceiverKind
|
import org.jetbrains.kotlin.resolve.calls.tasks.ExplicitReceiverKind
|
||||||
import org.jetbrains.kotlin.resolve.calls.tower.CandidateApplicability
|
import org.jetbrains.kotlin.resolve.calls.tower.CandidateApplicability
|
||||||
@@ -220,7 +221,7 @@ class FirSyntheticCallGenerator(
|
|||||||
val typeParameterSymbol = FirTypeParameterSymbol()
|
val typeParameterSymbol = FirTypeParameterSymbol()
|
||||||
val typeParameter =
|
val typeParameter =
|
||||||
buildTypeParameter {
|
buildTypeParameter {
|
||||||
declarationSiteSession = session
|
moduleData = session.moduleData
|
||||||
origin = FirDeclarationOrigin.Library
|
origin = FirDeclarationOrigin.Library
|
||||||
name = Name.identifier("K")
|
name = Name.identifier("K")
|
||||||
symbol = typeParameterSymbol
|
symbol = typeParameterSymbol
|
||||||
@@ -321,7 +322,7 @@ class FirSyntheticCallGenerator(
|
|||||||
symbol: FirNamedFunctionSymbol, name: Name, returnType: FirTypeRef
|
symbol: FirNamedFunctionSymbol, name: Name, returnType: FirTypeRef
|
||||||
): FirSimpleFunctionBuilder {
|
): FirSimpleFunctionBuilder {
|
||||||
return FirSimpleFunctionBuilder().apply {
|
return FirSimpleFunctionBuilder().apply {
|
||||||
declarationSiteSession = session
|
moduleData = session.moduleData
|
||||||
origin = FirDeclarationOrigin.Synthetic
|
origin = FirDeclarationOrigin.Synthetic
|
||||||
this.symbol = symbol
|
this.symbol = symbol
|
||||||
this.name = name
|
this.name = name
|
||||||
@@ -346,7 +347,7 @@ class FirSyntheticCallGenerator(
|
|||||||
): FirValueParameter {
|
): FirValueParameter {
|
||||||
val name = Name.identifier(nameAsString)
|
val name = Name.identifier(nameAsString)
|
||||||
return buildValueParameter {
|
return buildValueParameter {
|
||||||
declarationSiteSession = session
|
moduleData = session.moduleData
|
||||||
origin = FirDeclarationOrigin.Library
|
origin = FirDeclarationOrigin.Library
|
||||||
this.name = name
|
this.name = name
|
||||||
returnTypeRef = this@toValueParameter
|
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
|
// 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,
|
@Suppress("UNUSED_PARAMETER") useSiteSession: FirSession,
|
||||||
) {
|
) {
|
||||||
val session = (fir as FirDeclaration).declarationSiteSession
|
val session = (fir as FirDeclaration).moduleData.session
|
||||||
val phaseManager = session.phaseManager
|
val phaseManager = session.phaseManager
|
||||||
phaseManager.ensureResolved(this, requiredPhase)
|
phaseManager.ensureResolved(this, requiredPhase)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -653,7 +653,7 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor
|
|||||||
val name = Name.identifier("it")
|
val name = Name.identifier("it")
|
||||||
val itParam = buildValueParameter {
|
val itParam = buildValueParameter {
|
||||||
source = lambda.source?.fakeElement(FirFakeSourceElementKind.ItLambdaParameter)
|
source = lambda.source?.fakeElement(FirFakeSourceElementKind.ItLambdaParameter)
|
||||||
declarationSiteSession = session
|
moduleData = session.moduleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = singleParameterType.toFirResolvedTypeRef()
|
returnTypeRef = singleParameterType.toFirResolvedTypeRef()
|
||||||
this.name = name
|
this.name = name
|
||||||
|
|||||||
+9
-4
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.resolve.transformers.contracts
|
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.FirLegacyRawContractDescription
|
||||||
import org.jetbrains.kotlin.fir.contracts.FirRawContractDescription
|
import org.jetbrains.kotlin.fir.contracts.FirRawContractDescription
|
||||||
import org.jetbrains.kotlin.fir.contracts.builder.buildLegacyRawContractDescription
|
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.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.buildAnonymousFunction
|
import org.jetbrains.kotlin.fir.declarations.builder.buildAnonymousFunction
|
||||||
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty
|
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.*
|
||||||
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.references.builder.buildSimpleNamedReference
|
||||||
import org.jetbrains.kotlin.fir.resolve.ResolutionMode
|
import org.jetbrains.kotlin.fir.resolve.ResolutionMode
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
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.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol
|
||||||
import org.jetbrains.kotlin.fir.types.builder.buildImplicitTypeRef
|
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
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
open class FirContractResolveTransformer(
|
open class FirContractResolveTransformer(
|
||||||
@@ -165,7 +170,7 @@ open class FirContractResolveTransformer(
|
|||||||
contractDescription: FirRawContractDescription
|
contractDescription: FirRawContractDescription
|
||||||
): T {
|
): T {
|
||||||
val effectsBlock = buildAnonymousFunction {
|
val effectsBlock = buildAnonymousFunction {
|
||||||
declarationSiteSession = session
|
moduleData = session.moduleData
|
||||||
origin = FirDeclarationOrigin.Source
|
origin = FirDeclarationOrigin.Source
|
||||||
returnTypeRef = buildImplicitTypeRef()
|
returnTypeRef = buildImplicitTypeRef()
|
||||||
receiverTypeRef = 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.FirMemberDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirResolvedImport
|
import org.jetbrains.kotlin.fir.declarations.FirResolvedImport
|
||||||
import org.jetbrains.kotlin.fir.declarations.expandedConeType
|
import org.jetbrains.kotlin.fir.declarations.expandedConeType
|
||||||
|
import org.jetbrains.kotlin.fir.moduleData
|
||||||
import org.jetbrains.kotlin.fir.moduleVisibilityChecker
|
import org.jetbrains.kotlin.fir.moduleVisibilityChecker
|
||||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||||
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
import org.jetbrains.kotlin.fir.resolve.toSymbol
|
||||||
@@ -37,7 +38,7 @@ enum class FirImportingScopeFilter {
|
|||||||
// though, "unknown" will always become public anyway.
|
// though, "unknown" will always become public anyway.
|
||||||
Visibilities.Unknown -> true
|
Visibilities.Unknown -> true
|
||||||
Visibilities.Internal ->
|
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
|
// 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).
|
// be checked in imports (e.g. `protected` may be valid in some use sites).
|
||||||
else -> !fir.status.visibility.mustCheckInImports()
|
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.Modality
|
||||||
import org.jetbrains.kotlin.descriptors.Visibility
|
import org.jetbrains.kotlin.descriptors.Visibility
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
|
import org.jetbrains.kotlin.fir.copy
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.*
|
import org.jetbrains.kotlin.fir.declarations.builder.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty
|
import org.jetbrains.kotlin.fir.declarations.synthetic.FirSyntheticProperty
|
||||||
import org.jetbrains.kotlin.fir.declarations.synthetic.buildSyntheticProperty
|
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.originalForSubstitutionOverrideAttr
|
||||||
import org.jetbrains.kotlin.fir.resolve.substitution.ChainedSubstitutor
|
import org.jetbrains.kotlin.fir.resolve.substitution.ChainedSubstitutor
|
||||||
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
||||||
import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
|
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.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.symbols.impl.*
|
||||||
import org.jetbrains.kotlin.fir.types.*
|
import org.jetbrains.kotlin.fir.types.*
|
||||||
import org.jetbrains.kotlin.fir.types.builder.buildImplicitTypeRef
|
import org.jetbrains.kotlin.fir.types.builder.buildImplicitTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
|
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.ClassId
|
||||||
|
import org.jetbrains.kotlin.name.StandardClassIds
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.runIf
|
import org.jetbrains.kotlin.utils.addToStdlib.runIf
|
||||||
|
|
||||||
object FirFakeOverrideGenerator {
|
object FirFakeOverrideGenerator {
|
||||||
@@ -101,7 +102,7 @@ object FirFakeOverrideGenerator {
|
|||||||
): FirSimpleFunction {
|
): FirSimpleFunction {
|
||||||
return buildSimpleFunction {
|
return buildSimpleFunction {
|
||||||
source = baseFunction.source
|
source = baseFunction.source
|
||||||
declarationSiteSession = session
|
moduleData = session.moduleData
|
||||||
this.origin = origin
|
this.origin = origin
|
||||||
name = baseFunction.name
|
name = baseFunction.name
|
||||||
status = baseFunction.status.copy(isExpect, newModality, newVisibility)
|
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
|
// 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
|
// As second alternative, we can invent some light-weight kind of FirRegularClass
|
||||||
return buildConstructor {
|
return buildConstructor {
|
||||||
declarationSiteSession = session
|
moduleData = session.moduleData
|
||||||
origin = FirDeclarationOrigin.SubstitutionOverride
|
origin = FirDeclarationOrigin.SubstitutionOverride
|
||||||
receiverTypeRef = baseConstructor.receiverTypeRef?.withReplacedConeType(null)
|
receiverTypeRef = baseConstructor.receiverTypeRef?.withReplacedConeType(null)
|
||||||
status = baseConstructor.status.copy(isExpect)
|
status = baseConstructor.status.copy(isExpect)
|
||||||
symbol = fakeOverrideSymbol
|
symbol = fakeOverrideSymbol
|
||||||
|
|
||||||
typeParameters += configureAnnotationsTypeParametersAndSignature(
|
typeParameters += configureAnnotationsTypeParametersAndSignature(
|
||||||
session, baseConstructor, newParameterTypes, newTypeParameters, newReceiverType = null, newReturnType, fakeOverrideSubstitution
|
session,
|
||||||
|
baseConstructor,
|
||||||
|
newParameterTypes,
|
||||||
|
newTypeParameters,
|
||||||
|
newReceiverType = null,
|
||||||
|
newReturnType,
|
||||||
|
fakeOverrideSubstitution
|
||||||
)
|
)
|
||||||
|
|
||||||
dispatchReceiverType = newDispatchReceiverType
|
dispatchReceiverType = newDispatchReceiverType
|
||||||
@@ -283,7 +290,7 @@ object FirFakeOverrideGenerator {
|
|||||||
): FirProperty {
|
): FirProperty {
|
||||||
return buildProperty {
|
return buildProperty {
|
||||||
source = baseProperty.source
|
source = baseProperty.source
|
||||||
declarationSiteSession = session
|
moduleData = session.moduleData
|
||||||
this.origin = origin
|
this.origin = origin
|
||||||
name = baseProperty.name
|
name = baseProperty.name
|
||||||
isVar = baseProperty.isVar
|
isVar = baseProperty.isVar
|
||||||
@@ -392,7 +399,7 @@ object FirFakeOverrideGenerator {
|
|||||||
CallableId(derivedClassId ?: baseSymbol.callableId.classId!!, baseField.name)
|
CallableId(derivedClassId ?: baseSymbol.callableId.classId!!, baseField.name)
|
||||||
)
|
)
|
||||||
buildField {
|
buildField {
|
||||||
declarationSiteSession = session
|
moduleData = session.moduleData
|
||||||
this.symbol = symbol
|
this.symbol = symbol
|
||||||
origin = FirDeclarationOrigin.SubstitutionOverride
|
origin = FirDeclarationOrigin.SubstitutionOverride
|
||||||
returnTypeRef = baseField.returnTypeRef.withReplacedConeType(newReturnType)
|
returnTypeRef = baseField.returnTypeRef.withReplacedConeType(newReturnType)
|
||||||
@@ -448,7 +455,7 @@ object FirFakeOverrideGenerator {
|
|||||||
fakeOverrideSubstitution = fakeOverrideSubstitution
|
fakeOverrideSubstitution = fakeOverrideSubstitution
|
||||||
)
|
)
|
||||||
return buildSyntheticProperty {
|
return buildSyntheticProperty {
|
||||||
declarationSiteSession = session
|
moduleData = session.moduleData
|
||||||
name = baseProperty.name
|
name = baseProperty.name
|
||||||
symbol = FirAccessorSymbol(baseSymbol.callableId, baseSymbol.accessorId)
|
symbol = FirAccessorSymbol(baseSymbol.callableId, baseSymbol.accessorId)
|
||||||
delegateGetter = getter
|
delegateGetter = getter
|
||||||
@@ -469,7 +476,7 @@ object FirFakeOverrideGenerator {
|
|||||||
if (typeParameter !is FirTypeParameter) return@map null
|
if (typeParameter !is FirTypeParameter) return@map null
|
||||||
FirTypeParameterBuilder().apply {
|
FirTypeParameterBuilder().apply {
|
||||||
source = typeParameter.source
|
source = typeParameter.source
|
||||||
declarationSiteSession = typeParameter.declarationSiteSession
|
moduleData = typeParameter.moduleData
|
||||||
origin = FirDeclarationOrigin.SubstitutionOverride
|
origin = FirDeclarationOrigin.SubstitutionOverride
|
||||||
name = typeParameter.name
|
name = typeParameter.name
|
||||||
symbol = FirTypeParameterSymbol()
|
symbol = FirTypeParameterSymbol()
|
||||||
|
|||||||
+6
-3
@@ -12,9 +12,12 @@ import org.jetbrains.kotlin.fir.*
|
|||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
||||||
import org.jetbrains.kotlin.fir.scopes.*
|
import org.jetbrains.kotlin.fir.scopes.*
|
||||||
import org.jetbrains.kotlin.name.CallableId
|
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
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.name.Name
|
||||||
import org.jetbrains.kotlin.types.AbstractTypeChecker
|
import org.jetbrains.kotlin.types.AbstractTypeChecker
|
||||||
import org.jetbrains.kotlin.types.AbstractTypeCheckerContext
|
import org.jetbrains.kotlin.types.AbstractTypeCheckerContext
|
||||||
@@ -344,7 +347,7 @@ class FirTypeIntersectionScope private constructor(
|
|||||||
val newSymbol = FirIntersectionOverridePropertySymbol(mostSpecific.callableId, overrides)
|
val newSymbol = FirIntersectionOverridePropertySymbol(mostSpecific.callableId, overrides)
|
||||||
val mostSpecificProperty = mostSpecific.fir
|
val mostSpecificProperty = mostSpecific.fir
|
||||||
FirFakeOverrideGenerator.createCopyForFirProperty(
|
FirFakeOverrideGenerator.createCopyForFirProperty(
|
||||||
newSymbol, mostSpecificProperty, mostSpecificProperty.declarationSiteSession, FirDeclarationOrigin.IntersectionOverride,
|
newSymbol, mostSpecificProperty, session, FirDeclarationOrigin.IntersectionOverride,
|
||||||
newModality = newModality,
|
newModality = newModality,
|
||||||
newVisibility = newVisibility,
|
newVisibility = newVisibility,
|
||||||
newDispatchReceiverType = dispatchReceiverType,
|
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.FirAnnotationContainer
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.visitors.*
|
import org.jetbrains.kotlin.fir.visitors.*
|
||||||
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
|
|
||||||
sealed interface FirAnnotatedDeclaration : FirDeclaration, FirAnnotationContainer {
|
sealed interface FirAnnotatedDeclaration : FirDeclaration, FirAnnotationContainer {
|
||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
override val declarationSiteSession: FirSession
|
override val moduleData: FirModuleData
|
||||||
override val resolvePhase: FirResolvePhase
|
override val resolvePhase: FirResolvePhase
|
||||||
override val origin: FirDeclarationOrigin
|
override val origin: FirDeclarationOrigin
|
||||||
override val attributes: FirDeclarationAttributes
|
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.contracts.description.EventOccurrencesRange
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
import org.jetbrains.kotlin.fir.FirLabel
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
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 class FirAnonymousFunction : FirFunction<FirAnonymousFunction>, FirExpression(), FirTypeParametersOwner {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
+2
-2
@@ -6,8 +6,8 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.FirSymbolOwner
|
import org.jetbrains.kotlin.fir.FirSymbolOwner
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
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 class FirAnonymousInitializer : FirPureAbstractElement(), FirDeclaration, FirSymbolOwner<FirAnonymousInitializer>, FirControlFlowGraphOwner {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
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.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
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 class FirAnonymousObject : FirClass<FirAnonymousObject>, FirControlFlowGraphOwner, FirExpression() {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.FirSymbolOwner
|
import org.jetbrains.kotlin.fir.FirSymbolOwner
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
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> {
|
sealed interface FirCallableDeclaration<F : FirCallableDeclaration<F>> : FirTypedDeclaration, FirSymbolOwner<F> {
|
||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
override val declarationSiteSession: FirSession
|
override val moduleData: FirModuleData
|
||||||
override val resolvePhase: FirResolvePhase
|
override val resolvePhase: FirResolvePhase
|
||||||
override val origin: FirDeclarationOrigin
|
override val origin: FirDeclarationOrigin
|
||||||
override val attributes: FirDeclarationAttributes
|
override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
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 {
|
sealed interface FirCallableMemberDeclaration<F : FirCallableMemberDeclaration<F>> : FirCallableDeclaration<F>, FirMemberDeclaration {
|
||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
override val declarationSiteSession: FirSession
|
override val moduleData: FirModuleData
|
||||||
override val resolvePhase: FirResolvePhase
|
override val resolvePhase: FirResolvePhase
|
||||||
override val origin: FirDeclarationOrigin
|
override val origin: FirDeclarationOrigin
|
||||||
override val attributes: FirDeclarationAttributes
|
override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.declarations
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
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 {
|
sealed interface FirClass<F : FirClass<F>> : FirClassLikeDeclaration<F>, FirStatement, FirTypeParameterRefsOwner {
|
||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
override val declarationSiteSession: FirSession
|
override val moduleData: FirModuleData
|
||||||
override val resolvePhase: FirResolvePhase
|
override val resolvePhase: FirResolvePhase
|
||||||
override val origin: FirDeclarationOrigin
|
override val origin: FirDeclarationOrigin
|
||||||
override val attributes: FirDeclarationAttributes
|
override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.FirSymbolOwner
|
import org.jetbrains.kotlin.fir.FirSymbolOwner
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
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> {
|
sealed interface FirClassLikeDeclaration<F : FirClassLikeDeclaration<F>> : FirAnnotatedDeclaration, FirStatement, FirSymbolOwner<F> {
|
||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
override val declarationSiteSession: FirSession
|
override val moduleData: FirModuleData
|
||||||
override val resolvePhase: FirResolvePhase
|
override val resolvePhase: FirResolvePhase
|
||||||
override val origin: FirDeclarationOrigin
|
override val origin: FirDeclarationOrigin
|
||||||
override val attributes: FirDeclarationAttributes
|
override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
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 class FirConstructor : FirPureAbstractElement(), FirFunction<FirConstructor>, FirCallableMemberDeclaration<FirConstructor>, FirTypeParameterRefsOwner {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.visitors.*
|
import org.jetbrains.kotlin.fir.visitors.*
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
|
|
||||||
sealed interface FirDeclaration : FirElement {
|
sealed interface FirDeclaration : FirElement {
|
||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
val declarationSiteSession: FirSession
|
val moduleData: FirModuleData
|
||||||
val resolvePhase: FirResolvePhase
|
val resolvePhase: FirResolvePhase
|
||||||
val origin: FirDeclarationOrigin
|
val origin: FirDeclarationOrigin
|
||||||
val attributes: FirDeclarationAttributes
|
val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
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 class FirEnumEntry : FirVariable<FirEnumEntry>(), FirCallableMemberDeclaration<FirEnumEntry> {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
||||||
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnosticHolder
|
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 class FirErrorFunction : FirPureAbstractElement(), FirFunction<FirErrorFunction>, FirDiagnosticHolder, FirTypeParametersOwner {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
||||||
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnosticHolder
|
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 class FirErrorProperty : FirVariable<FirErrorProperty>(), FirDiagnosticHolder, FirTypeParametersOwner {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
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 class FirField : FirVariable<FirField>(), FirTypeParametersOwner, FirCallableMemberDeclaration<FirField> {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
|
|
||||||
abstract class FirFile : FirPureAbstractElement(), FirAnnotatedDeclaration {
|
abstract class FirFile : FirPureAbstractElement(), FirAnnotatedDeclaration {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.FirTargetElement
|
import org.jetbrains.kotlin.fir.FirTargetElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
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 {
|
sealed interface FirFunction<F : FirFunction<F>> : FirCallableDeclaration<F>, FirTargetElement, FirTypeParameterRefsOwner, FirControlFlowGraphOwner, FirStatement {
|
||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
override val declarationSiteSession: FirSession
|
override val moduleData: FirModuleData
|
||||||
override val resolvePhase: FirResolvePhase
|
override val resolvePhase: FirResolvePhase
|
||||||
override val origin: FirDeclarationOrigin
|
override val origin: FirDeclarationOrigin
|
||||||
override val attributes: FirDeclarationAttributes
|
override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.visitors.*
|
import org.jetbrains.kotlin.fir.visitors.*
|
||||||
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
|
|
||||||
sealed interface FirMemberDeclaration : FirAnnotatedDeclaration, FirTypeParameterRefsOwner {
|
sealed interface FirMemberDeclaration : FirAnnotatedDeclaration, FirTypeParameterRefsOwner {
|
||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
override val declarationSiteSession: FirSession
|
override val moduleData: FirModuleData
|
||||||
override val resolvePhase: FirResolvePhase
|
override val resolvePhase: FirResolvePhase
|
||||||
override val origin: FirDeclarationOrigin
|
override val origin: FirDeclarationOrigin
|
||||||
override val attributes: FirDeclarationAttributes
|
override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
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 class FirProperty : FirVariable<FirProperty>(), FirTypeParametersOwner, FirControlFlowGraphOwner, FirCallableMemberDeclaration<FirProperty> {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
|
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
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 class FirPropertyAccessor : FirPureAbstractElement(), FirFunction<FirPropertyAccessor>, FirCallableMemberDeclaration<FirPropertyAccessor>, FirContractDescriptionOwner, FirTypeParametersOwner {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
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.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
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 class FirRegularClass : FirPureAbstractElement(), FirMemberDeclaration, FirTypeParameterRefsOwner, FirControlFlowGraphOwner, FirClass<FirRegularClass> {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
|
import org.jetbrains.kotlin.fir.contracts.FirContractDescription
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
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 class FirSimpleFunction : FirPureAbstractElement(), FirFunction<FirSimpleFunction>, FirCallableMemberDeclaration<FirSimpleFunction>, FirContractDescriptionOwner, FirTypeParametersOwner {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeAliasSymbol
|
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 class FirTypeAlias : FirPureAbstractElement(), FirClassLikeDeclaration<FirTypeAlias>, FirMemberDeclaration, FirTypeParametersOwner {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.FirSymbolOwner
|
import org.jetbrains.kotlin.fir.FirSymbolOwner
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
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 class FirTypeParameter : FirPureAbstractElement(), FirTypeParameterRef, FirAnnotatedDeclaration, FirSymbolOwner<FirTypeParameter> {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||||
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
|
|
||||||
sealed interface FirTypedDeclaration : FirAnnotatedDeclaration {
|
sealed interface FirTypedDeclaration : FirAnnotatedDeclaration {
|
||||||
override val source: FirSourceElement?
|
override val source: FirSourceElement?
|
||||||
override val declarationSiteSession: FirSession
|
override val moduleData: FirModuleData
|
||||||
override val resolvePhase: FirResolvePhase
|
override val resolvePhase: FirResolvePhase
|
||||||
override val origin: FirDeclarationOrigin
|
override val origin: FirDeclarationOrigin
|
||||||
override val attributes: FirDeclarationAttributes
|
override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||||
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
|
|
||||||
abstract class FirValueParameter : FirVariable<FirValueParameter>(), FirControlFlowGraphOwner {
|
abstract class FirValueParameter : FirVariable<FirValueParameter>(), FirControlFlowGraphOwner {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations
|
package org.jetbrains.kotlin.fir.declarations
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
|
import org.jetbrains.kotlin.fir.FirModuleData
|
||||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
|
||||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
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 {
|
sealed class FirVariable<F : FirVariable<F>> : FirPureAbstractElement(), FirCallableDeclaration<F>, FirAnnotatedDeclaration, FirStatement {
|
||||||
abstract override val source: FirSourceElement?
|
abstract override val source: FirSourceElement?
|
||||||
abstract override val declarationSiteSession: FirSession
|
abstract override val moduleData: FirModuleData
|
||||||
abstract override val resolvePhase: FirResolvePhase
|
abstract override val resolvePhase: FirResolvePhase
|
||||||
abstract override val origin: FirDeclarationOrigin
|
abstract override val origin: FirDeclarationOrigin
|
||||||
abstract override val attributes: FirDeclarationAttributes
|
abstract override val attributes: FirDeclarationAttributes
|
||||||
|
|||||||
+2
-2
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
||||||
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
interface FirAbstractConstructorBuilder : FirFunctionBuilder {
|
interface FirAbstractConstructorBuilder : FirFunctionBuilder {
|
||||||
abstract override var source: FirSourceElement?
|
abstract override var source: FirSourceElement?
|
||||||
abstract override var declarationSiteSession: FirSession
|
abstract override var moduleData: FirModuleData
|
||||||
abstract override var resolvePhase: FirResolvePhase
|
abstract override var resolvePhase: FirResolvePhase
|
||||||
abstract override var origin: FirDeclarationOrigin
|
abstract override var origin: FirDeclarationOrigin
|
||||||
abstract override var attributes: FirDeclarationAttributes
|
abstract override var attributes: FirDeclarationAttributes
|
||||||
|
|||||||
+2
-2
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.builder
|
|||||||
import kotlin.contracts.*
|
import kotlin.contracts.*
|
||||||
import org.jetbrains.kotlin.contracts.description.EventOccurrencesRange
|
import org.jetbrains.kotlin.contracts.description.EventOccurrencesRange
|
||||||
import org.jetbrains.kotlin.fir.FirLabel
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -38,7 +38,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var declarationSiteSession: FirSession
|
override lateinit var moduleData: FirModuleData
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
package org.jetbrains.kotlin.fir.declarations.builder
|
||||||
|
|
||||||
import kotlin.contracts.*
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
||||||
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirAnonymousInitializerBuilder : FirDeclarationBuilder {
|
class FirAnonymousInitializerBuilder : FirDeclarationBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var declarationSiteSession: FirSession
|
override lateinit var moduleData: FirModuleData
|
||||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.builder
|
|||||||
|
|
||||||
import kotlin.contracts.*
|
import kotlin.contracts.*
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirAnonymousObjectBuilder : FirDeclarationBuilder, FirClassBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
class FirAnonymousObjectBuilder : FirDeclarationBuilder, FirClassBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var declarationSiteSession: FirSession
|
override lateinit var moduleData: FirModuleData
|
||||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
package org.jetbrains.kotlin.fir.declarations.builder
|
||||||
|
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
interface FirClassBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
|
interface FirClassBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
|
||||||
abstract override var source: FirSourceElement?
|
abstract override var source: FirSourceElement?
|
||||||
abstract override var declarationSiteSession: FirSession
|
abstract override var moduleData: FirModuleData
|
||||||
abstract override var resolvePhase: FirResolvePhase
|
abstract override var resolvePhase: FirResolvePhase
|
||||||
abstract override var origin: FirDeclarationOrigin
|
abstract override var origin: FirDeclarationOrigin
|
||||||
abstract override var attributes: FirDeclarationAttributes
|
abstract override var attributes: FirDeclarationAttributes
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
package org.jetbrains.kotlin.fir.declarations.builder
|
||||||
|
|
||||||
import kotlin.contracts.*
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationContainerBuilder {
|
open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var declarationSiteSession: FirSession
|
override lateinit var moduleData: FirModuleData
|
||||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||||
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
interface FirDeclarationBuilder {
|
interface FirDeclarationBuilder {
|
||||||
abstract var source: FirSourceElement?
|
abstract var source: FirSourceElement?
|
||||||
abstract var declarationSiteSession: FirSession
|
abstract var moduleData: FirModuleData
|
||||||
abstract var resolvePhase: FirResolvePhase
|
abstract var resolvePhase: FirResolvePhase
|
||||||
abstract var origin: FirDeclarationOrigin
|
abstract var origin: FirDeclarationOrigin
|
||||||
abstract var attributes: FirDeclarationAttributes
|
abstract var attributes: FirDeclarationAttributes
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
package org.jetbrains.kotlin.fir.declarations.builder
|
||||||
|
|
||||||
import kotlin.contracts.*
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.name.Name
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
|
class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
lateinit var declarationSiteSession: FirSession
|
lateinit var moduleData: FirModuleData
|
||||||
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
lateinit var origin: FirDeclarationOrigin
|
lateinit var origin: FirDeclarationOrigin
|
||||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
package org.jetbrains.kotlin.fir.declarations.builder
|
||||||
|
|
||||||
import kotlin.contracts.*
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -36,7 +36,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
|
class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
lateinit var declarationSiteSession: FirSession
|
lateinit var moduleData: FirModuleData
|
||||||
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
lateinit var origin: FirDeclarationOrigin
|
lateinit var origin: FirDeclarationOrigin
|
||||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
package org.jetbrains.kotlin.fir.declarations.builder
|
||||||
|
|
||||||
import kotlin.contracts.*
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
|
class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
lateinit var declarationSiteSession: FirSession
|
lateinit var moduleData: FirModuleData
|
||||||
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
lateinit var origin: FirDeclarationOrigin
|
lateinit var origin: FirDeclarationOrigin
|
||||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
package org.jetbrains.kotlin.fir.declarations.builder
|
||||||
|
|
||||||
import kotlin.contracts.*
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -35,7 +35,7 @@ import org.jetbrains.kotlin.name.Name
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
|
class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
lateinit var declarationSiteSession: FirSession
|
lateinit var moduleData: FirModuleData
|
||||||
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
lateinit var origin: FirDeclarationOrigin
|
lateinit var origin: FirDeclarationOrigin
|
||||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.builder
|
|||||||
|
|
||||||
import kotlin.contracts.*
|
import kotlin.contracts.*
|
||||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -38,7 +38,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
|
open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var declarationSiteSession: FirSession
|
override lateinit var moduleData: FirModuleData
|
||||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
package org.jetbrains.kotlin.fir.declarations.builder
|
||||||
|
|
||||||
import kotlin.contracts.*
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.name.FqName
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirFileBuilder : FirAnnotationContainerBuilder {
|
class FirFileBuilder : FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
lateinit var declarationSiteSession: FirSession
|
lateinit var moduleData: FirModuleData
|
||||||
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
lateinit var origin: FirDeclarationOrigin
|
lateinit var origin: FirDeclarationOrigin
|
||||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
interface FirFunctionBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
|
interface FirFunctionBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
|
||||||
abstract override var source: FirSourceElement?
|
abstract override var source: FirSourceElement?
|
||||||
abstract override var declarationSiteSession: FirSession
|
abstract override var moduleData: FirModuleData
|
||||||
abstract override var resolvePhase: FirResolvePhase
|
abstract override var resolvePhase: FirResolvePhase
|
||||||
abstract override var origin: FirDeclarationOrigin
|
abstract override var origin: FirDeclarationOrigin
|
||||||
abstract override var attributes: FirDeclarationAttributes
|
abstract override var attributes: FirDeclarationAttributes
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
package org.jetbrains.kotlin.fir.declarations.builder
|
||||||
|
|
||||||
import kotlin.contracts.*
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationContainerBuilder {
|
class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var declarationSiteSession: FirSession
|
override lateinit var moduleData: FirModuleData
|
||||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.builder
|
|||||||
import kotlin.contracts.*
|
import kotlin.contracts.*
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBuilder {
|
class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var declarationSiteSession: FirSession
|
override lateinit var moduleData: FirModuleData
|
||||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
package org.jetbrains.kotlin.fir.declarations.builder
|
||||||
|
|
||||||
import kotlin.contracts.*
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
|
class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var declarationSiteSession: FirSession
|
override lateinit var moduleData: FirModuleData
|
||||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.builder
|
|||||||
|
|
||||||
import kotlin.contracts.*
|
import kotlin.contracts.*
|
||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.name.Name
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBuilder, FirAnnotationContainerBuilder {
|
open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBuilder, FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var declarationSiteSession: FirSession
|
override lateinit var moduleData: FirModuleData
|
||||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
package org.jetbrains.kotlin.fir.declarations.builder
|
||||||
|
|
||||||
import kotlin.contracts.*
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
|
open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var declarationSiteSession: FirSession
|
override lateinit var moduleData: FirModuleData
|
||||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
package org.jetbrains.kotlin.fir.declarations.builder
|
||||||
|
|
||||||
import kotlin.contracts.*
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.name.Name
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirTypeAliasBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
|
class FirTypeAliasBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var declarationSiteSession: FirSession
|
override lateinit var moduleData: FirModuleData
|
||||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
package org.jetbrains.kotlin.fir.declarations.builder
|
||||||
|
|
||||||
import kotlin.contracts.*
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.types.Variance
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirTypeParameterBuilder : FirAnnotationContainerBuilder {
|
class FirTypeParameterBuilder : FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
lateinit var declarationSiteSession: FirSession
|
lateinit var moduleData: FirModuleData
|
||||||
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
lateinit var origin: FirDeclarationOrigin
|
lateinit var origin: FirDeclarationOrigin
|
||||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.fir.declarations.builder
|
package org.jetbrains.kotlin.fir.declarations.builder
|
||||||
|
|
||||||
import kotlin.contracts.*
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.name.Name
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
|
open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
open lateinit var declarationSiteSession: FirSession
|
open lateinit var moduleData: FirModuleData
|
||||||
open var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
open var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
open lateinit var origin: FirDeclarationOrigin
|
open lateinit var origin: FirDeclarationOrigin
|
||||||
open var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
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.contracts.description.EventOccurrencesRange
|
||||||
import org.jetbrains.kotlin.fir.FirLabel
|
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.FirSourceElement
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction
|
import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
|
|
||||||
internal class FirAnonymousFunctionImpl(
|
internal class FirAnonymousFunctionImpl(
|
||||||
override val source: FirSourceElement?,
|
override val source: FirSourceElement?,
|
||||||
override val declarationSiteSession: FirSession,
|
override val moduleData: FirModuleData,
|
||||||
override val origin: FirDeclarationOrigin,
|
override val origin: FirDeclarationOrigin,
|
||||||
override val attributes: FirDeclarationAttributes,
|
override val attributes: FirDeclarationAttributes,
|
||||||
override val annotations: MutableList<FirAnnotationCall>,
|
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