diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt index 96adef52e99..02fe401afbe 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/ConstructorProcessing.kt @@ -234,7 +234,7 @@ private fun prepareSubstitutingScopeForTypeAliasConstructors( buildConstructor { source = this@factory.source this.session = session - origin = FirDeclarationOrigin.FakeOverride + origin = FirDeclarationOrigin.SubstitutionOverride returnTypeRef = this@factory.returnTypeRef.withReplacedConeType(newReturnType) receiverTypeRef = this@factory.receiverTypeRef status = this@factory.status @@ -249,7 +249,7 @@ private fun prepareSubstitutingScopeForTypeAliasConstructors( source = valueParameter.source this.session = session resolvePhase = valueParameter.resolvePhase - origin = FirDeclarationOrigin.FakeOverride + origin = FirDeclarationOrigin.SubstitutionOverride returnTypeRef = valueParameter.returnTypeRef.withReplacedConeType(newParameterType) name = valueParameter.name symbol = FirVariableSymbol(valueParameter.symbol.callableId) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirImplicitBodyResolve.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirImplicitBodyResolve.kt index 6ab7a388f1a..62cb3c4d51e 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirImplicitBodyResolve.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirImplicitBodyResolve.kt @@ -219,7 +219,7 @@ private class ReturnTypeCalculatorWithJump( return result } - runIf(declaration.origin == FirDeclarationOrigin.FakeOverride) { + runIf(declaration.origin == FirDeclarationOrigin.SubstitutionOverride) { val possiblyFirFakeOverrideSymbol = declaration.symbol as PossiblyFirFakeOverrideSymbol<*, *> val overriddenDeclaration = possiblyFirFakeOverrideSymbol.overriddenSymbol?.fir as FirTypedDeclaration? ?: return@runIf tryCalculateReturnType(overriddenDeclaration) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirOverrideScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirOverrideScope.kt index ee919895ea9..8b0618b7197 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirOverrideScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirOverrideScope.kt @@ -73,7 +73,7 @@ abstract class AbstractFirOverrideScope( source = firSimpleFunction.source session = firSimpleFunction.session resolvePhase = firSimpleFunction.resolvePhase - origin = FirDeclarationOrigin.FakeOverride + origin = FirDeclarationOrigin.SubstitutionOverride returnTypeRef = firSimpleFunction.returnTypeRef receiverTypeRef = firSimpleFunction.receiverTypeRef name = firSimpleFunction.name @@ -86,7 +86,7 @@ abstract class AbstractFirOverrideScope( source = parameter.source session = parameter.session resolvePhase = parameter.resolvePhase - origin = FirDeclarationOrigin.FakeOverride + origin = FirDeclarationOrigin.SubstitutionOverride returnTypeRef = parameter.returnTypeRef name = parameter.name symbol = FirVariableSymbol(parameter.symbol.callableId) @@ -104,7 +104,7 @@ abstract class AbstractFirOverrideScope( source = firProperty.source session = firProperty.session resolvePhase = firProperty.resolvePhase - origin = FirDeclarationOrigin.FakeOverride + origin = FirDeclarationOrigin.SubstitutionOverride returnTypeRef = firProperty.returnTypeRef receiverTypeRef = firProperty.receiverTypeRef isVar = firProperty.isVar diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt index b836c0eafa1..276de0851bd 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt @@ -68,7 +68,7 @@ object FirFakeOverrideGenerator { fakeOverrideSymbol, baseFunction, session, - FirDeclarationOrigin.FakeOverride, + FirDeclarationOrigin.SubstitutionOverride, isExpect, newParameterTypes, newTypeParameters, @@ -123,7 +123,7 @@ object FirFakeOverrideGenerator { return buildConstructor { source = baseConstructor.source this.session = session - origin = FirDeclarationOrigin.FakeOverride + origin = FirDeclarationOrigin.SubstitutionOverride receiverTypeRef = baseConstructor.receiverTypeRef?.withReplacedConeType(null) status = baseConstructor.status.updatedStatus(isExpect) symbol = fakeOverrideSymbol @@ -224,7 +224,7 @@ object FirFakeOverrideGenerator { newParameterTypes ?: List(baseFunction.valueParameters.size) { null } ) { valueParameter, newType -> buildValueParameterCopy(valueParameter) { - origin = FirDeclarationOrigin.FakeOverride + origin = FirDeclarationOrigin.SubstitutionOverride returnTypeRef = valueParameter.returnTypeRef.withReplacedConeType(newType) symbol = FirVariableSymbol(valueParameter.symbol.callableId) } @@ -269,7 +269,7 @@ object FirFakeOverrideGenerator { return buildProperty { source = baseProperty.source this.session = session - origin = FirDeclarationOrigin.FakeOverride + origin = FirDeclarationOrigin.SubstitutionOverride name = baseProperty.name isVar = baseProperty.isVar this.symbol = newSymbol @@ -375,7 +375,7 @@ object FirFakeOverrideGenerator { buildField { source = baseField.source this.session = session - origin = FirDeclarationOrigin.FakeOverride + origin = FirDeclarationOrigin.SubstitutionOverride resolvePhase = baseField.resolvePhase returnTypeRef = baseField.returnTypeRef.withReplacedConeType(newReturnType) name = baseField.name @@ -442,7 +442,7 @@ object FirFakeOverrideGenerator { FirTypeParameterBuilder().apply { source = typeParameter.source session = typeParameter.session - origin = FirDeclarationOrigin.FakeOverride + origin = FirDeclarationOrigin.SubstitutionOverride name = typeParameter.name symbol = FirTypeParameterSymbol() variance = typeParameter.variance diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirScopeWithFakeOverrideTypeCalculator.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirScopeWithFakeOverrideTypeCalculator.kt index 5bfb9d7ff17..5df2d932cc9 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirScopeWithFakeOverrideTypeCalculator.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirScopeWithFakeOverrideTypeCalculator.kt @@ -73,7 +73,7 @@ class FirScopeWithFakeOverrideTypeCalculator( } private fun updateReturnType(declaration: FirTypedDeclaration) { - if (declaration.origin == FirDeclarationOrigin.FakeOverride || declaration.origin == FirDeclarationOrigin.IntersectionOverride) { + if (declaration.origin == FirDeclarationOrigin.SubstitutionOverride || declaration.origin == FirDeclarationOrigin.IntersectionOverride) { fakeOverrideTypeCalculator.computeReturnType(declaration) } } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationOrigin.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationOrigin.kt index 7dab625148d..647d5105767 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationOrigin.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirDeclarationOrigin.kt @@ -11,9 +11,9 @@ sealed class FirDeclarationOrigin(val fromSupertypes: Boolean = false) { object Java : FirDeclarationOrigin() object Synthetic : FirDeclarationOrigin() object SamConstructor : FirDeclarationOrigin() - object FakeOverride : FirDeclarationOrigin(fromSupertypes = true) object Enhancement : FirDeclarationOrigin() object ImportedFromObject : FirDeclarationOrigin() + object SubstitutionOverride : FirDeclarationOrigin(fromSupertypes = true) object IntersectionOverride : FirDeclarationOrigin(fromSupertypes = true) object Delegated : FirDeclarationOrigin() diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/fir/FirUtils.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/fir/FirUtils.kt index a590ff59748..f1037464305 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/fir/FirUtils.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/fir/FirUtils.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.idea.fir -import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.FirSymbolOwner import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin @@ -16,15 +15,9 @@ import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol import org.jetbrains.kotlin.fir.symbols.PossiblyFirFakeOverrideSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol -import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirModuleResolveState -import org.jetbrains.kotlin.idea.fir.low.level.api.api.LowLevelFirApiFacade import org.jetbrains.kotlin.idea.frontend.api.fir.KtSymbolByFirBuilder import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol -import org.jetbrains.kotlin.psi.KtElement import org.jetbrains.kotlin.util.OperatorNameConventions -import kotlin.reflect.KClass - - fun FirFunctionCall.isImplicitFunctionCall(): Boolean { @@ -58,5 +51,5 @@ internal inline fun D.unrollFakeOverrides(): D where D : FirDeclarat private inline val FirBasedSymbol<*>.isFakeOrIntersectionOverride: Boolean get() { val origin = (fir as? FirDeclaration)?.origin ?: return false - return origin == FirDeclarationOrigin.FakeOverride || origin == FirDeclarationOrigin.IntersectionOverride + return origin == FirDeclarationOrigin.SubstitutionOverride || origin == FirDeclarationOrigin.IntersectionOverride }