Code_Visit module

get_recursive_nodes_breadth_first

procedureSource

Appends node and everything below it to pointers, one level at a time. Each node is added once.

get_recursive_nodes_breadth_first :: (
    node: *C.Code_Node,
    pointers: *[..] *C.Code_Node
)

Parameters

pointers: *[..] *C.Code_Node
Example↗
Compiler :: #import "Compiler";
n := Compiler.make_integer_literal(7);
all: [..] *Compiler.Code_Node;
get_recursive_nodes_breadth_first(cast(*Compiler.Code_Node) n, *all);
assert(all.count == 1);

See also