DoxigAlpha

next

Function parameters

Parameters

#
it:*DeclIterator

The data stored at byte offset 0 when ZIR is stored in a file.

Types

#
Header
The data stored at byte offset 0 when ZIR is stored in a file.
Inst
These are untyped instructions generated from an Abstract Syntax Tree.
DeclContents
`DeclContents` contains all "interesting" instructions found within a declaration by `findTrackable`.

Returns the requested data, as well as the new index which is at the start of the

Functions

#
extraData
Returns the requested data, as well as the new index which is at the start of the
nullTerminatedString
Given an index into `string_bytes` returns the null-terminated string found there.
findTrackable
Find all tracked ZIR instructions, recursively, within a `declaration` instruction.
findTrackableRoot
Like `findTrackable`, but only considers the `main_struct_inst` instruction.
assertTrackable
Asserts that a ZIR instruction is tracked across incremental updates, and

When the ZIR update tracking logic must be modified to consider new instructions,

Values

#
inst_tracking_version
When the ZIR update tracking logic must be modified to consider new instructions,

Source

Implementation

#
pub fn next(it: *DeclIterator) ?Inst.Index {
    if (it.decls_remaining == 0) return null;
    const decl_inst: Zir.Inst.Index = @enumFromInt(it.zir.extra[it.extra_index]);
    it.extra_index += 1;
    it.decls_remaining -= 1;
    assert(it.zir.instructions.items(.tag)[@intFromEnum(decl_inst)] == .declaration);
    return decl_inst;
}