FIR IDE: Add the simplest support for PLUGIN KtDeclarationOrigin

This commit is contained in:
Roman Golyshev
2022-02-06 12:32:04 +03:00
parent 6d6a3fbe21
commit b1b99e1673
3 changed files with 9 additions and 0 deletions
@@ -58,6 +58,7 @@ internal class KtFirSymbolContainingDeclarationProvider(
KtSymbolOrigin.PROPERTY_BACKING_FIELD -> getContainingDeclarationForBackingFieldSymbol(symbol)
KtSymbolOrigin.INTERSECTION_OVERRIDE -> TODO()
KtSymbolOrigin.SAM_CONSTRUCTOR -> null
KtSymbolOrigin.PLUGIN -> TODO("Containing declaration is requested for ${ DebugSymbolRenderer.render(symbol) }")
KtSymbolOrigin.DELEGATED -> TODO()
}
else -> null
@@ -72,6 +72,7 @@ internal tailrec fun FirDeclaration.ktSymbolOrigin(): KtSymbolOrigin = when (ori
original.ktSymbolOrigin()
}
is FirDeclarationOrigin.Plugin -> KtSymbolOrigin.PLUGIN
else -> {
val overridden = (this as? FirCallableDeclaration)?.originalIfFakeOverride()
?: throw InvalidFirDeclarationOriginForSymbol(this)
@@ -109,4 +109,11 @@ public enum class KtSymbolOrigin {
* @see KtBackingFieldSymbol
*/
PROPERTY_BACKING_FIELD,
/**
* Declaration generated by the compiler plugin.
*
* @see org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin.Plugin
*/
PLUGIN,
}