Code_Visit module

get_values

procedureSource

Walks node depth first and appends a Dumb_Value when it enters each node (preorder true) and again when it leaves (preorder false).

get_values :: (node: *C.Code_Node, values: *[..] V.Dumb_Value)

Use it when you need to know where a subtree ends, for example to track nesting.

Parameters

values: *[..] V.Dumb_Value
Example↗
Compiler :: #import "Compiler";
n := Compiler.make_integer_literal(7);
events: [..] Dumb_Value;
get_values(cast(*Compiler.Code_Node) n, *events);
assert(events.count == 2 && events[0].preorder && !events[1].preorder);

See also