[FIR] Rename FirDeclarationOrigin.FakeOverride to SubstitutionOverride
This commit is contained in:
+2
-2
@@ -234,7 +234,7 @@ private fun prepareSubstitutingScopeForTypeAliasConstructors(
|
|||||||
buildConstructor {
|
buildConstructor {
|
||||||
source = this@factory.source
|
source = this@factory.source
|
||||||
this.session = session
|
this.session = session
|
||||||
origin = FirDeclarationOrigin.FakeOverride
|
origin = FirDeclarationOrigin.SubstitutionOverride
|
||||||
returnTypeRef = this@factory.returnTypeRef.withReplacedConeType(newReturnType)
|
returnTypeRef = this@factory.returnTypeRef.withReplacedConeType(newReturnType)
|
||||||
receiverTypeRef = this@factory.receiverTypeRef
|
receiverTypeRef = this@factory.receiverTypeRef
|
||||||
status = this@factory.status
|
status = this@factory.status
|
||||||
@@ -249,7 +249,7 @@ private fun prepareSubstitutingScopeForTypeAliasConstructors(
|
|||||||
source = valueParameter.source
|
source = valueParameter.source
|
||||||
this.session = session
|
this.session = session
|
||||||
resolvePhase = valueParameter.resolvePhase
|
resolvePhase = valueParameter.resolvePhase
|
||||||
origin = FirDeclarationOrigin.FakeOverride
|
origin = FirDeclarationOrigin.SubstitutionOverride
|
||||||
returnTypeRef = valueParameter.returnTypeRef.withReplacedConeType(newParameterType)
|
returnTypeRef = valueParameter.returnTypeRef.withReplacedConeType(newParameterType)
|
||||||
name = valueParameter.name
|
name = valueParameter.name
|
||||||
symbol = FirVariableSymbol(valueParameter.symbol.callableId)
|
symbol = FirVariableSymbol(valueParameter.symbol.callableId)
|
||||||
|
|||||||
+1
-1
@@ -219,7 +219,7 @@ private class ReturnTypeCalculatorWithJump(
|
|||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
runIf(declaration.origin == FirDeclarationOrigin.FakeOverride) {
|
runIf(declaration.origin == FirDeclarationOrigin.SubstitutionOverride) {
|
||||||
val possiblyFirFakeOverrideSymbol = declaration.symbol as PossiblyFirFakeOverrideSymbol<*, *>
|
val possiblyFirFakeOverrideSymbol = declaration.symbol as PossiblyFirFakeOverrideSymbol<*, *>
|
||||||
val overriddenDeclaration = possiblyFirFakeOverrideSymbol.overriddenSymbol?.fir as FirTypedDeclaration? ?: return@runIf
|
val overriddenDeclaration = possiblyFirFakeOverrideSymbol.overriddenSymbol?.fir as FirTypedDeclaration? ?: return@runIf
|
||||||
tryCalculateReturnType(overriddenDeclaration)
|
tryCalculateReturnType(overriddenDeclaration)
|
||||||
|
|||||||
+3
-3
@@ -73,7 +73,7 @@ abstract class AbstractFirOverrideScope(
|
|||||||
source = firSimpleFunction.source
|
source = firSimpleFunction.source
|
||||||
session = firSimpleFunction.session
|
session = firSimpleFunction.session
|
||||||
resolvePhase = firSimpleFunction.resolvePhase
|
resolvePhase = firSimpleFunction.resolvePhase
|
||||||
origin = FirDeclarationOrigin.FakeOverride
|
origin = FirDeclarationOrigin.SubstitutionOverride
|
||||||
returnTypeRef = firSimpleFunction.returnTypeRef
|
returnTypeRef = firSimpleFunction.returnTypeRef
|
||||||
receiverTypeRef = firSimpleFunction.receiverTypeRef
|
receiverTypeRef = firSimpleFunction.receiverTypeRef
|
||||||
name = firSimpleFunction.name
|
name = firSimpleFunction.name
|
||||||
@@ -86,7 +86,7 @@ abstract class AbstractFirOverrideScope(
|
|||||||
source = parameter.source
|
source = parameter.source
|
||||||
session = parameter.session
|
session = parameter.session
|
||||||
resolvePhase = parameter.resolvePhase
|
resolvePhase = parameter.resolvePhase
|
||||||
origin = FirDeclarationOrigin.FakeOverride
|
origin = FirDeclarationOrigin.SubstitutionOverride
|
||||||
returnTypeRef = parameter.returnTypeRef
|
returnTypeRef = parameter.returnTypeRef
|
||||||
name = parameter.name
|
name = parameter.name
|
||||||
symbol = FirVariableSymbol(parameter.symbol.callableId)
|
symbol = FirVariableSymbol(parameter.symbol.callableId)
|
||||||
@@ -104,7 +104,7 @@ abstract class AbstractFirOverrideScope(
|
|||||||
source = firProperty.source
|
source = firProperty.source
|
||||||
session = firProperty.session
|
session = firProperty.session
|
||||||
resolvePhase = firProperty.resolvePhase
|
resolvePhase = firProperty.resolvePhase
|
||||||
origin = FirDeclarationOrigin.FakeOverride
|
origin = FirDeclarationOrigin.SubstitutionOverride
|
||||||
returnTypeRef = firProperty.returnTypeRef
|
returnTypeRef = firProperty.returnTypeRef
|
||||||
receiverTypeRef = firProperty.receiverTypeRef
|
receiverTypeRef = firProperty.receiverTypeRef
|
||||||
isVar = firProperty.isVar
|
isVar = firProperty.isVar
|
||||||
|
|||||||
+6
-6
@@ -68,7 +68,7 @@ object FirFakeOverrideGenerator {
|
|||||||
fakeOverrideSymbol,
|
fakeOverrideSymbol,
|
||||||
baseFunction,
|
baseFunction,
|
||||||
session,
|
session,
|
||||||
FirDeclarationOrigin.FakeOverride,
|
FirDeclarationOrigin.SubstitutionOverride,
|
||||||
isExpect,
|
isExpect,
|
||||||
newParameterTypes,
|
newParameterTypes,
|
||||||
newTypeParameters,
|
newTypeParameters,
|
||||||
@@ -123,7 +123,7 @@ object FirFakeOverrideGenerator {
|
|||||||
return buildConstructor {
|
return buildConstructor {
|
||||||
source = baseConstructor.source
|
source = baseConstructor.source
|
||||||
this.session = session
|
this.session = session
|
||||||
origin = FirDeclarationOrigin.FakeOverride
|
origin = FirDeclarationOrigin.SubstitutionOverride
|
||||||
receiverTypeRef = baseConstructor.receiverTypeRef?.withReplacedConeType(null)
|
receiverTypeRef = baseConstructor.receiverTypeRef?.withReplacedConeType(null)
|
||||||
status = baseConstructor.status.updatedStatus(isExpect)
|
status = baseConstructor.status.updatedStatus(isExpect)
|
||||||
symbol = fakeOverrideSymbol
|
symbol = fakeOverrideSymbol
|
||||||
@@ -224,7 +224,7 @@ object FirFakeOverrideGenerator {
|
|||||||
newParameterTypes ?: List(baseFunction.valueParameters.size) { null }
|
newParameterTypes ?: List(baseFunction.valueParameters.size) { null }
|
||||||
) { valueParameter, newType ->
|
) { valueParameter, newType ->
|
||||||
buildValueParameterCopy(valueParameter) {
|
buildValueParameterCopy(valueParameter) {
|
||||||
origin = FirDeclarationOrigin.FakeOverride
|
origin = FirDeclarationOrigin.SubstitutionOverride
|
||||||
returnTypeRef = valueParameter.returnTypeRef.withReplacedConeType(newType)
|
returnTypeRef = valueParameter.returnTypeRef.withReplacedConeType(newType)
|
||||||
symbol = FirVariableSymbol(valueParameter.symbol.callableId)
|
symbol = FirVariableSymbol(valueParameter.symbol.callableId)
|
||||||
}
|
}
|
||||||
@@ -269,7 +269,7 @@ object FirFakeOverrideGenerator {
|
|||||||
return buildProperty {
|
return buildProperty {
|
||||||
source = baseProperty.source
|
source = baseProperty.source
|
||||||
this.session = session
|
this.session = session
|
||||||
origin = FirDeclarationOrigin.FakeOverride
|
origin = FirDeclarationOrigin.SubstitutionOverride
|
||||||
name = baseProperty.name
|
name = baseProperty.name
|
||||||
isVar = baseProperty.isVar
|
isVar = baseProperty.isVar
|
||||||
this.symbol = newSymbol
|
this.symbol = newSymbol
|
||||||
@@ -375,7 +375,7 @@ object FirFakeOverrideGenerator {
|
|||||||
buildField {
|
buildField {
|
||||||
source = baseField.source
|
source = baseField.source
|
||||||
this.session = session
|
this.session = session
|
||||||
origin = FirDeclarationOrigin.FakeOverride
|
origin = FirDeclarationOrigin.SubstitutionOverride
|
||||||
resolvePhase = baseField.resolvePhase
|
resolvePhase = baseField.resolvePhase
|
||||||
returnTypeRef = baseField.returnTypeRef.withReplacedConeType(newReturnType)
|
returnTypeRef = baseField.returnTypeRef.withReplacedConeType(newReturnType)
|
||||||
name = baseField.name
|
name = baseField.name
|
||||||
@@ -442,7 +442,7 @@ object FirFakeOverrideGenerator {
|
|||||||
FirTypeParameterBuilder().apply {
|
FirTypeParameterBuilder().apply {
|
||||||
source = typeParameter.source
|
source = typeParameter.source
|
||||||
session = typeParameter.session
|
session = typeParameter.session
|
||||||
origin = FirDeclarationOrigin.FakeOverride
|
origin = FirDeclarationOrigin.SubstitutionOverride
|
||||||
name = typeParameter.name
|
name = typeParameter.name
|
||||||
symbol = FirTypeParameterSymbol()
|
symbol = FirTypeParameterSymbol()
|
||||||
variance = typeParameter.variance
|
variance = typeParameter.variance
|
||||||
|
|||||||
+1
-1
@@ -73,7 +73,7 @@ class FirScopeWithFakeOverrideTypeCalculator(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun updateReturnType(declaration: FirTypedDeclaration) {
|
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)
|
fakeOverrideTypeCalculator.computeReturnType(declaration)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ sealed class FirDeclarationOrigin(val fromSupertypes: Boolean = false) {
|
|||||||
object Java : FirDeclarationOrigin()
|
object Java : FirDeclarationOrigin()
|
||||||
object Synthetic : FirDeclarationOrigin()
|
object Synthetic : FirDeclarationOrigin()
|
||||||
object SamConstructor : FirDeclarationOrigin()
|
object SamConstructor : FirDeclarationOrigin()
|
||||||
object FakeOverride : FirDeclarationOrigin(fromSupertypes = true)
|
|
||||||
object Enhancement : FirDeclarationOrigin()
|
object Enhancement : FirDeclarationOrigin()
|
||||||
object ImportedFromObject : FirDeclarationOrigin()
|
object ImportedFromObject : FirDeclarationOrigin()
|
||||||
|
object SubstitutionOverride : FirDeclarationOrigin(fromSupertypes = true)
|
||||||
object IntersectionOverride : FirDeclarationOrigin(fromSupertypes = true)
|
object IntersectionOverride : FirDeclarationOrigin(fromSupertypes = true)
|
||||||
object Delegated : FirDeclarationOrigin()
|
object Delegated : FirDeclarationOrigin()
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.fir
|
package org.jetbrains.kotlin.idea.fir
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
|
||||||
import org.jetbrains.kotlin.fir.FirSymbolOwner
|
import org.jetbrains.kotlin.fir.FirSymbolOwner
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
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.FirBasedSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.PossiblyFirFakeOverrideSymbol
|
import org.jetbrains.kotlin.fir.symbols.PossiblyFirFakeOverrideSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
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.fir.KtSymbolByFirBuilder
|
||||||
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol
|
import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol
|
||||||
import org.jetbrains.kotlin.psi.KtElement
|
|
||||||
import org.jetbrains.kotlin.util.OperatorNameConventions
|
import org.jetbrains.kotlin.util.OperatorNameConventions
|
||||||
import kotlin.reflect.KClass
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
fun FirFunctionCall.isImplicitFunctionCall(): Boolean {
|
fun FirFunctionCall.isImplicitFunctionCall(): Boolean {
|
||||||
@@ -58,5 +51,5 @@ internal inline fun <reified D> D.unrollFakeOverrides(): D where D : FirDeclarat
|
|||||||
private inline val FirBasedSymbol<*>.isFakeOrIntersectionOverride: Boolean
|
private inline val FirBasedSymbol<*>.isFakeOrIntersectionOverride: Boolean
|
||||||
get() {
|
get() {
|
||||||
val origin = (fir as? FirDeclaration)?.origin ?: return false
|
val origin = (fir as? FirDeclaration)?.origin ?: return false
|
||||||
return origin == FirDeclarationOrigin.FakeOverride || origin == FirDeclarationOrigin.IntersectionOverride
|
return origin == FirDeclarationOrigin.SubstitutionOverride || origin == FirDeclarationOrigin.IntersectionOverride
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user