DoxigAlpha

maybeAdvanceSourceCursorToMainToken

Advances the source cursor to the main token of node if not in comptime scope. Usually paired with emitDbgStmt.

Function parameters

Parameters

#
gz:*GenZir
node:Ast.Node.Index

Functions in this namespace

Functions

#

Source

Implementation

#
fn maybeAdvanceSourceCursorToMainToken(gz: *GenZir, node: Ast.Node.Index) LineColumn {
    if (gz.is_comptime) return .{ gz.astgen.source_line - gz.decl_line, gz.astgen.source_column };

    const tree = gz.astgen.tree;
    const node_start = tree.tokenStart(tree.nodeMainToken(node));
    gz.astgen.advanceSourceCursor(node_start);

    return .{ gz.astgen.source_line - gz.decl_line, gz.astgen.source_column };
}