/** * Statement Emitter - IR statements to C# AST nodes * Main dispatcher - delegates to specialized modules * * emitStatementAst: returns CSharpStatementAst[] (the AST pipeline) */ import { IrStatement } from "@tsonic/frontend"; import { EmitterContext } from "./types.js"; import type { CSharpStatementAst } from "./core/format/backend-ast/types.js"; /** * Emit an IR statement as C# AST nodes. * * Returns an array because some IR statements lower to multiple C# statements * (e.g., void-return splitting, yield exchange patterns, destructuring). * The parent block flattens these into its own statements array. * * Only handles true statement-level emissions. Module-level declarations * (class, interface, enum, type-alias) should use the AST declaration * emitters from statements/declarations.js directly. */ export declare const emitStatementAst: (stmt: IrStatement, context: EmitterContext) => [readonly CSharpStatementAst[], EmitterContext]; export { emitBlockStatementAst } from "./statements/blocks.js"; export { emitParameters } from "./statements/classes.js"; //# sourceMappingURL=statement-emitter.d.ts.map