K2: rename importedFromObject -> importedFromObjectOrStatic

This commit is contained in:
Mikhail Glukhikh
2022-10-27 13:58:57 +02:00
committed by Space Team
parent 2b2cc07c89
commit cc1a094b6c
6 changed files with 18 additions and 19 deletions
@@ -28,10 +28,10 @@ class FirObjectImportedCallableScope(
objectUseSiteScope.processFunctionsByName(name) wrapper@{ symbol ->
val function = symbol.fir
val syntheticFunction = buildSimpleFunctionCopy(function) {
origin = FirDeclarationOrigin.ImportedFromObject
origin = FirDeclarationOrigin.ImportedFromObjectOrStatic
this.symbol = FirNamedFunctionSymbol(CallableId(importedClassId, name))
}.apply {
importedFromObjectData = ImportedFromObjectData(importedClassId, function)
importedFromObjectOrStaticData = ImportedFromObjectOrStaticData(importedClassId, function)
}
processor(syntheticFunction.symbol)
}
@@ -45,11 +45,11 @@ class FirObjectImportedCallableScope(
}
val property = symbol.fir
val syntheticProperty = buildPropertyCopy(property) {
origin = FirDeclarationOrigin.ImportedFromObject
origin = FirDeclarationOrigin.ImportedFromObjectOrStatic
this.symbol = FirPropertySymbol(CallableId(importedClassId, name))
this.delegateFieldSymbol = null
}.apply {
importedFromObjectData = ImportedFromObjectData(importedClassId, property)
importedFromObjectOrStaticData = ImportedFromObjectOrStaticData(importedClassId, property)
}
processor(syntheticProperty.symbol)
}
@@ -60,12 +60,12 @@ class FirObjectImportedCallableScope(
override fun getClassifierNames(): Set<Name> = emptySet()
}
private object ImportedFromObjectClassIdKey : FirDeclarationDataKey()
private object ImportedFromObjectOrStaticClassIdKey : FirDeclarationDataKey()
class ImportedFromObjectData<D : FirCallableDeclaration>(
class ImportedFromObjectOrStaticData<D : FirCallableDeclaration>(
val objectClassId: ClassId,
val original: D,
)
var <D : FirCallableDeclaration>
D.importedFromObjectData: ImportedFromObjectData<D>? by FirDeclarationDataRegistry.data(ImportedFromObjectClassIdKey)
var <D : FirCallableDeclaration> D.importedFromObjectOrStaticData: ImportedFromObjectOrStaticData<D>?
by FirDeclarationDataRegistry.data(ImportedFromObjectOrStaticClassIdKey)
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.resultType
import org.jetbrains.kotlin.fir.scopes.FirTypeScope
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.scopes.impl.delegatedWrapperData
import org.jetbrains.kotlin.fir.scopes.impl.importedFromObjectData
import org.jetbrains.kotlin.fir.scopes.impl.importedFromObjectOrStaticData
import org.jetbrains.kotlin.fir.scopes.processOverriddenFunctions
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
import org.jetbrains.kotlin.fir.symbols.impl.*
@@ -523,7 +523,7 @@ fun FirFunction.getAsForbiddenNamedArgumentsTarget(
return when (origin) {
FirDeclarationOrigin.Source, FirDeclarationOrigin.Precompiled, FirDeclarationOrigin.Library -> null
FirDeclarationOrigin.Delegated -> delegatedWrapperData?.wrapped?.getAsForbiddenNamedArgumentsTarget(session)
FirDeclarationOrigin.ImportedFromObject -> importedFromObjectData?.original?.getAsForbiddenNamedArgumentsTarget(session)
FirDeclarationOrigin.ImportedFromObjectOrStatic -> importedFromObjectOrStaticData?.original?.getAsForbiddenNamedArgumentsTarget(session)
is FirDeclarationOrigin.Java, FirDeclarationOrigin.Enhancement -> ForbiddenNamedArgumentsTarget.NON_KOTLIN_FUNCTION
FirDeclarationOrigin.SamConstructor -> null
FirDeclarationOrigin.IntersectionOverride, FirDeclarationOrigin.SubstitutionOverride -> {
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.resolve.providers.symbolProvider
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.resultType
import org.jetbrains.kotlin.fir.scopes.*
import org.jetbrains.kotlin.fir.scopes.impl.FirDefaultStarImportingScope
import org.jetbrains.kotlin.fir.scopes.impl.importedFromObjectData
import org.jetbrains.kotlin.fir.scopes.impl.importedFromObjectOrStaticData
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
import org.jetbrains.kotlin.fir.symbols.impl.*
import org.jetbrains.kotlin.fir.types.*
@@ -314,7 +314,7 @@ class ScopeTowerLevel(
fun areThereExtensionReceiverOptions(): Boolean = givenExtensionReceiverOptions.isNotEmpty()
private fun dispatchReceiverValue(candidate: FirCallableSymbol<*>): ReceiverValue? {
candidate.fir.importedFromObjectData?.let { data ->
candidate.fir.importedFromObjectOrStaticData?.let { data ->
val objectClassId = data.objectClassId
val symbol = session.symbolProvider.getClassLikeSymbolByClassId(objectClassId)
if (symbol is FirRegularClassSymbol) {
@@ -384,7 +384,7 @@ class ScopeTowerLevel(
if (dispatchReceiverValue == null && shouldSkipCandidateWithInconsistentExtensionReceiver(candidate)) {
return
}
val unwrappedCandidate = candidate.fir.importedFromObjectData?.original?.symbol ?: candidate
val unwrappedCandidate = candidate.fir.importedFromObjectOrStaticData?.original?.symbol ?: candidate
@Suppress("UNCHECKED_CAST")
processor.consumeCandidate(
unwrappedCandidate as T, dispatchReceiverValue,
@@ -26,7 +26,7 @@ sealed class FirDeclarationOrigin(
object DynamicScope : FirDeclarationOrigin()
object SamConstructor : FirDeclarationOrigin()
object Enhancement : FirDeclarationOrigin()
object ImportedFromObject : FirDeclarationOrigin()
object ImportedFromObjectOrStatic : FirDeclarationOrigin()
object SubstitutionOverride : FirDeclarationOrigin(fromSupertypes = true)
object IntersectionOverride : FirDeclarationOrigin(fromSupertypes = true)
object Delegated : FirDeclarationOrigin()