Skip to main content

stmts_to_core_wire_bytes

Function stmts_to_core_wire_bytes 

pub fn stmts_to_core_wire_bytes(
    stmts: &[Stmt<'_>],
    interner: &Interner,
    variant_fields: &HashMap<String, Vec<String>>,
) -> Option<Vec<u8>>
Expand description

The PARSE-FREE marshal: emit a program’s Core-IR wire bytes directly from an ALREADY-PARSED AST, skipping the lex + discovery + parse_program that dominates program_to_core_wire_bytes (~90% of a specialization). An integrated caller that parsed the program once for compilation reuses that AST here to feed the native PE at a fraction of the cost. variant_fields maps each variant constructor name to its ordered field names (the caller derives it from its type registry, as [program_to_core] does). None if a construct is uncovered. Byte-identical to program_to_core_wire_bytes on the same program — same [build_core]/[WireSink] spine.