pub struct SemaOutput {
pub functions: Vec<AnalyzedFunction>,
pub strings: Vec<String>,
pub bytes: Vec<Vec<u8>>,
pub warnings: Vec<CompileWarning>,
pub type_pool: TypeInternPool,
pub comptime_dbg_output: Vec<String>,
pub interface_defs: Vec<InterfaceDef>,
pub interface_vtables: InterfaceVtables,
}Expand description
Output from semantic analysis.
Contains all analyzed functions, struct definitions, enum definitions, and any warnings generated during analysis.
Fields§
§functions: Vec<AnalyzedFunction>Analyzed functions with typed IR.
strings: Vec<String>String literals indexed by their AIR string_const index.
bytes: Vec<Vec<u8>>Byte-blob literals indexed by their AIR bytes_const index. Currently
populated by @embed_file.
warnings: Vec<CompileWarning>Warnings collected during analysis.
type_pool: TypeInternPoolType intern pool (contains all types including arrays).
comptime_dbg_output: Vec<String>Lines of @dbg output collected during comptime evaluation.
interface_defs: Vec<InterfaceDef>Interface definitions (ADR-0056), indexed by InterfaceId.0. Codegen
uses these to know each interface’s method count and slot order when
emitting vtables.
interface_vtables: InterfaceVtablesVtable witnesses keyed by (struct_id, interface_id). The witness is
the conforming type’s method-key list in interface declaration order;
codegen looks each one up in the function map to build the vtable
global.