structstd.zig.Zir.Inst.CompileErrors[src]

Trailing: CompileErrors.Item for each items_len.

Fields

items_len: u32

Source Code

Source code
pub const CompileErrors = struct {
    items_len: u32,

    /// Trailing: `note_payload_index: u32` for each `notes_len`.
    /// It's a payload index of another `Item`.
    pub const Item = struct {
        /// null terminated string index
        msg: NullTerminatedString,
        node: Ast.Node.Index,
        /// If node is 0 then this will be populated.
        token: Ast.TokenIndex,
        /// Can be used in combination with `token`.
        byte_offset: u32,
        /// 0 or a payload index of a `Block`, each is a payload
        /// index of another `Item`.
        notes: u32,

        pub fn notesLen(item: Item, zir: Zir) u32 {
            if (item.notes == 0) return 0;
            const block = zir.extraData(Block, item.notes);
            return block.data.body_len;
        }
    };
}