When generating functions in `FirDeclarationGenera...
# compiler
z
When generating functions in
FirDeclarationGenerationExtension.generateFunctions
, should we be setting
source
to null or something in particular? The default
KtFakeSourceElementKind.PluginGenerated
appears to break the IDE's analysis unexpectedly when trying to load a generated function generated with
createMemberFunction
Copy code
org.jetbrains.kotlin.utils.exceptions.KotlinIllegalArgumentExceptionWithAttachments: Cannot compute containing PSI for unknown source kind 'org.jetbrains.kotlin.KtFakeSourceElementKind$PluginGenerated@707c6fc4' (KtClass)
	at org.jetbrains.kotlin.analysis.api.fir.components.KaFirSymbolRelationProvider.getContainingPsi(KaFirSymbolRelationProvider.kt:535)
	at org.jetbrains.kotlin.analysis.api.fir.components.KaFirSymbolRelationProvider.getContainingDeclarationByPsi(KaFirSymbolRelationProvider.kt:191)
	at org.jetbrains.kotlin.analysis.api.fir.components.KaFirSymbolRelationProvider.getContainingDeclaration(KaFirSymbolRelationProvider.kt:140)
	at org.jetbrains.kotlin.analysis.api.fir.components.KaFirSymbolRelationProvider.getContainingSymbol(KaFirSymbolRelationProvider.kt:72)
	at org.jetbrains.kotlin.analysis.api.impl.base.KaBaseSession.getContainingSymbol(KaBaseSession.kt)
d
null
seems to be a safe option
👍 1
z
actually it looks like there's no way to overwrite this after it's created and
SimpleFunctionBuildingContext
doesn't offer an API to set it. Should I file a FR?
d
Please do
z