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
- node: *C.Code_Node
- values: *[..] V.Dumb_Value
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);