pub struct DebugEntry {
pub bytecode_offset: u32,
pub file_idx: u32,
pub range_start: u32,
pub range_len: u32,
pub kind_token: u32,
pub flags: u8,
}Expand description
One row in a container’s DebugInfo entry table
(docs/debugger-spec.md §2.2): maps a bytecode offset (within that
container’s own bytecode) to the source range it was lowered from.
Entries for one container are sorted ascending by bytecode_offset so a
reader can floor-lookup via binary search.
Fields§
§bytecode_offset: u32Byte offset within the owning container’s own bytecode.
file_idx: u32Index into the section’s file table (§2.3) — not the compiler’s
project-wide FileId.
range_start: u32Absolute source byte offset within the file at file_idx.
range_len: u32Length in bytes of the source range (range_end = range_start + range_len).
kind_token: u32KindToken::as_u32() verbatim (class in the high 16 bits, raw in
the low 16) — brink-format carries this opaquely; interpreting it
needs file_table[file_idx].surface to pick the right
ProvenanceResolver (§2.3), which is brink-ir’s job, not this
crate’s (no dependency edge from brink-format to brink-ir).
flags: u8DEBUG_FLAG_IS_STMT / DEBUG_FLAG_PROLOGUE_END, plus reserved bits
a reader must tolerate (never reject on) — see those constants’ docs.
Trait Implementations§
Source§impl Clone for DebugEntry
impl Clone for DebugEntry
Source§fn clone(&self) -> DebugEntry
fn clone(&self) -> DebugEntry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more