buildSnippetFir

private fun buildSnippetFir(parser: SnippetParser, session: FirSession, source: KtSourceFile, reporter: DiagnosticReporter): FirFile

What buildFirViaLightTree does for one file, with SnippetParser's tree in place of the script-mode one it would have parsed. The read goes through the same line-mapping reader, so every offset in the tree — the ones diagnostics point at and yieldTypes joins on — is the one the stock path would have produced. Its source-to-path registration is left out: the one reader is the incremental-compilation lookup tracker, and a session built without a LOOKUP_TRACKER never registers one.