Program_Print module

print_expression

procedureSource

Writes expression to builder as source text. Returns false for a node kind it cannot print, such as inline assembly.

Pass skip_parens to leave off the parentheses around a top-level binary operation.

Example↗
Compiler :: #import "Compiler";
builder: String_Builder;
init_string_builder(*builder);
assert(print_expression(*builder, cast(*Compiler.Code_Node) Compiler.make_integer_literal(7)));
assert(builder_to_string(*builder) == "7");
print_expression :: (
    builder: *Basic.String_Builder,
    expression: *C.Code_Node,
    skip_parens := false
) -> printed: bool

Parameters

expression: *C.Code_Node
skip_parens := false

Returns

printed: bool

See also