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.fir.FirSession
|
||||
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.FirSimpleFunction
|
||||
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
||||
@@ -100,6 +101,7 @@ class FirTypeIntersectionScope private constructor(
|
||||
val mostSpecificFunction = mostSpecific.fir
|
||||
createFunctionCopy(mostSpecific.fir, newSymbol).apply {
|
||||
resolvePhase = mostSpecificFunction.resolvePhase
|
||||
origin = FirDeclarationOrigin.IntersectionOverride
|
||||
typeParameters += mostSpecificFunction.typeParameters
|
||||
valueParameters += mostSpecificFunction.valueParameters.mapIndexed { index, mostSpecificParameter ->
|
||||
val overriddenWithDefault =
|
||||
|
||||
@@ -14,6 +14,7 @@ sealed class FirDeclarationOrigin {
|
||||
object FakeOverride : FirDeclarationOrigin()
|
||||
object Enhancement : FirDeclarationOrigin()
|
||||
object ImportedFromObject : FirDeclarationOrigin()
|
||||
object IntersectionOverride : FirDeclarationOrigin()
|
||||
|
||||
class Plugin(val key: FirPluginKey) : FirDeclarationOrigin()
|
||||
}
|
||||
|
||||
+1
@@ -25,6 +25,7 @@ private fun FirDeclarationOrigin.asKtSymbolOrigin() = when (this) {
|
||||
FirDeclarationOrigin.Synthetic -> throw InvalidFirDeclarationOriginForSymbol(this)
|
||||
FirDeclarationOrigin.FakeOverride -> throw InvalidFirDeclarationOriginForSymbol(this)
|
||||
FirDeclarationOrigin.ImportedFromObject -> throw InvalidFirDeclarationOriginForSymbol(this)
|
||||
FirDeclarationOrigin.IntersectionOverride -> throw InvalidFirDeclarationOriginForSymbol(this)
|
||||
FirDeclarationOrigin.Enhancement -> throw InvalidFirDeclarationOriginForSymbol(this)
|
||||
is FirDeclarationOrigin.Plugin -> throw InvalidFirDeclarationOriginForSymbol(this)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user