Introduce FirDeclarationOrigin.INTERSECTION_OVERRIDE
This commit is contained in:
+2
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.scopes.impl
|
|||||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||||
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
||||||
@@ -100,6 +101,7 @@ class FirTypeIntersectionScope private constructor(
|
|||||||
val mostSpecificFunction = mostSpecific.fir
|
val mostSpecificFunction = mostSpecific.fir
|
||||||
createFunctionCopy(mostSpecific.fir, newSymbol).apply {
|
createFunctionCopy(mostSpecific.fir, newSymbol).apply {
|
||||||
resolvePhase = mostSpecificFunction.resolvePhase
|
resolvePhase = mostSpecificFunction.resolvePhase
|
||||||
|
origin = FirDeclarationOrigin.IntersectionOverride
|
||||||
typeParameters += mostSpecificFunction.typeParameters
|
typeParameters += mostSpecificFunction.typeParameters
|
||||||
valueParameters += mostSpecificFunction.valueParameters.mapIndexed { index, mostSpecificParameter ->
|
valueParameters += mostSpecificFunction.valueParameters.mapIndexed { index, mostSpecificParameter ->
|
||||||
val overriddenWithDefault =
|
val overriddenWithDefault =
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ sealed class FirDeclarationOrigin {
|
|||||||
object FakeOverride : FirDeclarationOrigin()
|
object FakeOverride : FirDeclarationOrigin()
|
||||||
object Enhancement : FirDeclarationOrigin()
|
object Enhancement : FirDeclarationOrigin()
|
||||||
object ImportedFromObject : FirDeclarationOrigin()
|
object ImportedFromObject : FirDeclarationOrigin()
|
||||||
|
object IntersectionOverride : FirDeclarationOrigin()
|
||||||
|
|
||||||
class Plugin(val key: FirPluginKey) : FirDeclarationOrigin()
|
class Plugin(val key: FirPluginKey) : FirDeclarationOrigin()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
@@ -25,6 +25,7 @@ private fun FirDeclarationOrigin.asKtSymbolOrigin() = when (this) {
|
|||||||
FirDeclarationOrigin.Synthetic -> throw InvalidFirDeclarationOriginForSymbol(this)
|
FirDeclarationOrigin.Synthetic -> throw InvalidFirDeclarationOriginForSymbol(this)
|
||||||
FirDeclarationOrigin.FakeOverride -> throw InvalidFirDeclarationOriginForSymbol(this)
|
FirDeclarationOrigin.FakeOverride -> throw InvalidFirDeclarationOriginForSymbol(this)
|
||||||
FirDeclarationOrigin.ImportedFromObject -> throw InvalidFirDeclarationOriginForSymbol(this)
|
FirDeclarationOrigin.ImportedFromObject -> throw InvalidFirDeclarationOriginForSymbol(this)
|
||||||
|
FirDeclarationOrigin.IntersectionOverride -> throw InvalidFirDeclarationOriginForSymbol(this)
|
||||||
FirDeclarationOrigin.Enhancement -> throw InvalidFirDeclarationOriginForSymbol(this)
|
FirDeclarationOrigin.Enhancement -> throw InvalidFirDeclarationOriginForSymbol(this)
|
||||||
is FirDeclarationOrigin.Plugin -> throw InvalidFirDeclarationOriginForSymbol(this)
|
is FirDeclarationOrigin.Plugin -> throw InvalidFirDeclarationOriginForSymbol(this)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user