/** * Final output assembly * * Builds a CSharpCompilationUnitAst from all emitted parts and prints it. * * NOTE: Tsonic generally avoids `using` statements. All type and member references * use fully-qualified `global::` names to eliminate ambiguity. * * However, some language/tooling features require namespace `using` directives * (e.g., extension-method invocation syntax for EF query precompilation). */ import { IrModule } from "@tsonic/frontend"; import { EmitterContext } from "../../../types.js"; import type { CSharpTypeDeclarationAst, CSharpTriviaAst } from "../backend-ast/types.js"; export type AssemblyParts = { readonly leadingTrivia: readonly CSharpTriviaAst[]; readonly adapterDecls: readonly CSharpTypeDeclarationAst[]; readonly specializationDecls: readonly CSharpTypeDeclarationAst[]; readonly exchangeDecls: readonly CSharpTypeDeclarationAst[]; readonly namespaceDecls: readonly CSharpTypeDeclarationAst[]; readonly staticContainerDecl: CSharpTypeDeclarationAst | undefined; }; /** * Build CSharpCompilationUnitAst and print to C# text */ export declare const assembleOutput: (module: IrModule, parts: AssemblyParts, finalContext: EmitterContext) => string; //# sourceMappingURL=assembly.d.ts.map