K2: rename importedFromObject -> importedFromObjectOrStatic
This commit is contained in:
committed by
Space Team
parent
2b2cc07c89
commit
cc1a094b6c
+3
-4
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.util.errorWithFirSpecific
|
|||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.withFirEntry
|
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.withFirEntry
|
||||||
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.scopes.impl.importedFromObjectData
|
import org.jetbrains.kotlin.fir.scopes.impl.importedFromObjectOrStaticData
|
||||||
import org.jetbrains.kotlin.fir.scopes.impl.originalForWrappedIntegerOperator
|
import org.jetbrains.kotlin.fir.scopes.impl.originalForWrappedIntegerOperator
|
||||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||||
import org.jetbrains.kotlin.analysis.utils.errors.buildErrorWithAttachment
|
import org.jetbrains.kotlin.analysis.utils.errors.buildErrorWithAttachment
|
||||||
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.fir.declarations.*
|
|||||||
import org.jetbrains.kotlin.fir.declarations.utils.isLocal
|
import org.jetbrains.kotlin.fir.declarations.utils.isLocal
|
||||||
import org.jetbrains.kotlin.fir.resolve.getContainingDeclaration
|
import org.jetbrains.kotlin.fir.resolve.getContainingDeclaration
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassifierSymbol
|
|
||||||
|
|
||||||
internal interface KtFirSymbol<out S : FirBasedSymbol<*>> : KtSymbol, KtLifetimeOwner {
|
internal interface KtFirSymbol<out S : FirBasedSymbol<*>> : KtSymbol, KtLifetimeOwner {
|
||||||
val firSymbol: S
|
val firSymbol: S
|
||||||
@@ -73,8 +72,8 @@ internal tailrec fun FirDeclaration.ktSymbolOrigin(): KtSymbolOrigin = when (ori
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FirDeclarationOrigin.ImportedFromObject -> {
|
FirDeclarationOrigin.ImportedFromObjectOrStatic -> {
|
||||||
val importedFromObjectData = (this as FirCallableDeclaration).importedFromObjectData
|
val importedFromObjectData = (this as FirCallableDeclaration).importedFromObjectOrStaticData
|
||||||
?: buildErrorWithAttachment("Declaration has ImportedFromObject origin, but no importedFromObjectData present") {
|
?: buildErrorWithAttachment("Declaration has ImportedFromObject origin, but no importedFromObjectData present") {
|
||||||
withFirEntry("firToGetOrigin", this@ktSymbolOrigin)
|
withFirEntry("firToGetOrigin", this@ktSymbolOrigin)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -89,7 +89,7 @@ internal class LLFirModuleLazyDeclarationResolver(val moduleComponents: LLFirMod
|
|||||||
|
|
||||||
private fun FirDeclaration.isValidForResolve(): Boolean = when (origin) {
|
private fun FirDeclaration.isValidForResolve(): Boolean = when (origin) {
|
||||||
is FirDeclarationOrigin.Source,
|
is FirDeclarationOrigin.Source,
|
||||||
is FirDeclarationOrigin.ImportedFromObject,
|
is FirDeclarationOrigin.ImportedFromObjectOrStatic,
|
||||||
is FirDeclarationOrigin.Delegated,
|
is FirDeclarationOrigin.Delegated,
|
||||||
is FirDeclarationOrigin.Synthetic,
|
is FirDeclarationOrigin.Synthetic,
|
||||||
is FirDeclarationOrigin.SubstitutionOverride,
|
is FirDeclarationOrigin.SubstitutionOverride,
|
||||||
|
|||||||
+8
-8
@@ -28,10 +28,10 @@ class FirObjectImportedCallableScope(
|
|||||||
objectUseSiteScope.processFunctionsByName(name) wrapper@{ symbol ->
|
objectUseSiteScope.processFunctionsByName(name) wrapper@{ symbol ->
|
||||||
val function = symbol.fir
|
val function = symbol.fir
|
||||||
val syntheticFunction = buildSimpleFunctionCopy(function) {
|
val syntheticFunction = buildSimpleFunctionCopy(function) {
|
||||||
origin = FirDeclarationOrigin.ImportedFromObject
|
origin = FirDeclarationOrigin.ImportedFromObjectOrStatic
|
||||||
this.symbol = FirNamedFunctionSymbol(CallableId(importedClassId, name))
|
this.symbol = FirNamedFunctionSymbol(CallableId(importedClassId, name))
|
||||||
}.apply {
|
}.apply {
|
||||||
importedFromObjectData = ImportedFromObjectData(importedClassId, function)
|
importedFromObjectOrStaticData = ImportedFromObjectOrStaticData(importedClassId, function)
|
||||||
}
|
}
|
||||||
processor(syntheticFunction.symbol)
|
processor(syntheticFunction.symbol)
|
||||||
}
|
}
|
||||||
@@ -45,11 +45,11 @@ class FirObjectImportedCallableScope(
|
|||||||
}
|
}
|
||||||
val property = symbol.fir
|
val property = symbol.fir
|
||||||
val syntheticProperty = buildPropertyCopy(property) {
|
val syntheticProperty = buildPropertyCopy(property) {
|
||||||
origin = FirDeclarationOrigin.ImportedFromObject
|
origin = FirDeclarationOrigin.ImportedFromObjectOrStatic
|
||||||
this.symbol = FirPropertySymbol(CallableId(importedClassId, name))
|
this.symbol = FirPropertySymbol(CallableId(importedClassId, name))
|
||||||
this.delegateFieldSymbol = null
|
this.delegateFieldSymbol = null
|
||||||
}.apply {
|
}.apply {
|
||||||
importedFromObjectData = ImportedFromObjectData(importedClassId, property)
|
importedFromObjectOrStaticData = ImportedFromObjectOrStaticData(importedClassId, property)
|
||||||
}
|
}
|
||||||
processor(syntheticProperty.symbol)
|
processor(syntheticProperty.symbol)
|
||||||
}
|
}
|
||||||
@@ -60,12 +60,12 @@ class FirObjectImportedCallableScope(
|
|||||||
override fun getClassifierNames(): Set<Name> = emptySet()
|
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 objectClassId: ClassId,
|
||||||
val original: D,
|
val original: D,
|
||||||
)
|
)
|
||||||
|
|
||||||
var <D : FirCallableDeclaration>
|
var <D : FirCallableDeclaration> D.importedFromObjectOrStaticData: ImportedFromObjectOrStaticData<D>?
|
||||||
D.importedFromObjectData: ImportedFromObjectData<D>? by FirDeclarationDataRegistry.data(ImportedFromObjectClassIdKey)
|
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.FirTypeScope
|
||||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||||
import org.jetbrains.kotlin.fir.scopes.impl.delegatedWrapperData
|
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.scopes.processOverriddenFunctions
|
||||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||||
@@ -523,7 +523,7 @@ fun FirFunction.getAsForbiddenNamedArgumentsTarget(
|
|||||||
return when (origin) {
|
return when (origin) {
|
||||||
FirDeclarationOrigin.Source, FirDeclarationOrigin.Precompiled, FirDeclarationOrigin.Library -> null
|
FirDeclarationOrigin.Source, FirDeclarationOrigin.Precompiled, FirDeclarationOrigin.Library -> null
|
||||||
FirDeclarationOrigin.Delegated -> delegatedWrapperData?.wrapped?.getAsForbiddenNamedArgumentsTarget(session)
|
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
|
is FirDeclarationOrigin.Java, FirDeclarationOrigin.Enhancement -> ForbiddenNamedArgumentsTarget.NON_KOTLIN_FUNCTION
|
||||||
FirDeclarationOrigin.SamConstructor -> null
|
FirDeclarationOrigin.SamConstructor -> null
|
||||||
FirDeclarationOrigin.IntersectionOverride, FirDeclarationOrigin.SubstitutionOverride -> {
|
FirDeclarationOrigin.IntersectionOverride, FirDeclarationOrigin.SubstitutionOverride -> {
|
||||||
|
|||||||
+3
-3
@@ -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.resolve.transformers.body.resolve.resultType
|
||||||
import org.jetbrains.kotlin.fir.scopes.*
|
import org.jetbrains.kotlin.fir.scopes.*
|
||||||
import org.jetbrains.kotlin.fir.scopes.impl.FirDefaultStarImportingScope
|
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.FirBasedSymbol
|
||||||
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.*
|
||||||
@@ -314,7 +314,7 @@ class ScopeTowerLevel(
|
|||||||
fun areThereExtensionReceiverOptions(): Boolean = givenExtensionReceiverOptions.isNotEmpty()
|
fun areThereExtensionReceiverOptions(): Boolean = givenExtensionReceiverOptions.isNotEmpty()
|
||||||
|
|
||||||
private fun dispatchReceiverValue(candidate: FirCallableSymbol<*>): ReceiverValue? {
|
private fun dispatchReceiverValue(candidate: FirCallableSymbol<*>): ReceiverValue? {
|
||||||
candidate.fir.importedFromObjectData?.let { data ->
|
candidate.fir.importedFromObjectOrStaticData?.let { data ->
|
||||||
val objectClassId = data.objectClassId
|
val objectClassId = data.objectClassId
|
||||||
val symbol = session.symbolProvider.getClassLikeSymbolByClassId(objectClassId)
|
val symbol = session.symbolProvider.getClassLikeSymbolByClassId(objectClassId)
|
||||||
if (symbol is FirRegularClassSymbol) {
|
if (symbol is FirRegularClassSymbol) {
|
||||||
@@ -384,7 +384,7 @@ class ScopeTowerLevel(
|
|||||||
if (dispatchReceiverValue == null && shouldSkipCandidateWithInconsistentExtensionReceiver(candidate)) {
|
if (dispatchReceiverValue == null && shouldSkipCandidateWithInconsistentExtensionReceiver(candidate)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
val unwrappedCandidate = candidate.fir.importedFromObjectData?.original?.symbol ?: candidate
|
val unwrappedCandidate = candidate.fir.importedFromObjectOrStaticData?.original?.symbol ?: candidate
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
processor.consumeCandidate(
|
processor.consumeCandidate(
|
||||||
unwrappedCandidate as T, dispatchReceiverValue,
|
unwrappedCandidate as T, dispatchReceiverValue,
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ sealed class FirDeclarationOrigin(
|
|||||||
object DynamicScope : FirDeclarationOrigin()
|
object DynamicScope : FirDeclarationOrigin()
|
||||||
object SamConstructor : FirDeclarationOrigin()
|
object SamConstructor : FirDeclarationOrigin()
|
||||||
object Enhancement : FirDeclarationOrigin()
|
object Enhancement : FirDeclarationOrigin()
|
||||||
object ImportedFromObject : FirDeclarationOrigin()
|
object ImportedFromObjectOrStatic : FirDeclarationOrigin()
|
||||||
object SubstitutionOverride : FirDeclarationOrigin(fromSupertypes = true)
|
object SubstitutionOverride : FirDeclarationOrigin(fromSupertypes = true)
|
||||||
object IntersectionOverride : FirDeclarationOrigin(fromSupertypes = true)
|
object IntersectionOverride : FirDeclarationOrigin(fromSupertypes = true)
|
||||||
object Delegated : FirDeclarationOrigin()
|
object Delegated : FirDeclarationOrigin()
|
||||||
|
|||||||
Reference in New Issue
Block a user