struct Abbrev [src]

Fields

code: u64
tag_id: u64
has_children: bool
attrs: []Attr

Source

pub const Abbrev = struct { code: u64, tag_id: u64, has_children: bool, attrs: []Attr, fn deinit(abbrev: *Abbrev, allocator: Allocator) void { allocator.free(abbrev.attrs); abbrev.* = undefined; } const Attr = struct { id: u64, form_id: u64, /// Only valid if form_id is .implicit_const payload: i64, }; const Table = struct { // offset from .debug_abbrev offset: u64, abbrevs: []Abbrev, fn deinit(table: *Table, allocator: Allocator) void { for (table.abbrevs) |*abbrev| { abbrev.deinit(allocator); } allocator.free(table.abbrevs); table.* = undefined; } fn get(table: *const Table, abbrev_code: u64) ?*const Abbrev { return for (table.abbrevs) |*abbrev| { if (abbrev.code == abbrev_code) break abbrev; } else null; } }; }