|
Defines |
#define | A(str) rb_str_cat2(buf, (str)) |
#define | AR(str) rb_str_concat(buf, (str)) |
#define | A_INDENT add_indent(buf, indent) |
#define | A_ID(id) add_id(buf, id) |
#define | A_INT(val) rb_str_catf(buf, "%d", (val)); |
#define | A_LONG(val) rb_str_catf(buf, "%ld", (val)); |
#define | A_LIT(lit) AR(rb_inspect(lit)) |
#define | A_NODE_HEADER(node) rb_str_catf(buf, "@ %s (line: %d)", ruby_node_name(nd_type(node)), nd_line(node)) |
#define | A_FIELD_HEADER(name) rb_str_catf(buf, "+- %s:", name) |
#define | D_NULL_NODE A_INDENT; A("(null node)"); A("\n"); |
#define | D_NODE_HEADER(node) A_INDENT; A_NODE_HEADER(node); A("\n"); |
#define | COMPOUND_FIELD(name, name2, block) |
#define | SIMPLE_FIELD(name, name2, block) |
#define | F_CUSTOM1(name, ann, block) SIMPLE_FIELD(#name, #name " (" ann ")", block) |
#define | F_ID(name, ann) SIMPLE_FIELD(#name, #name " (" ann ")", A_ID(node->name)) |
#define | F_GENTRY(name, ann) SIMPLE_FIELD(#name, #name " (" ann ")", A_ID((node->name)->id)) |
#define | F_INT(name, ann) SIMPLE_FIELD(#name, #name " (" ann ")", A_INT(node->name)) |
#define | F_LONG(name, ann) SIMPLE_FIELD(#name, #name " (" ann ")", A_LONG(node->name)) |
#define | F_LIT(name, ann) SIMPLE_FIELD(#name, #name " (" ann ")", A_LIT(node->name)) |
#define | F_MSG(name, ann, desc) SIMPLE_FIELD(#name, #name " (" ann ")", A(desc)) |
#define | F_CUSTOM2(name, ann, block) COMPOUND_FIELD(#name, #name " (" ann ")", block) |
#define | F_NODE(name, ann) COMPOUND_FIELD(#name, #name " (" ann ")", dump_node(buf, indent, comment, node->name)) |
#define | ANN(ann) |
#define | LAST_NODE (next_indent = " ") |
Functions |
static void | add_indent (VALUE buf, VALUE indent) |
static void | add_id (VALUE buf, ID id) |
static void | dump_node (VALUE buf, VALUE indent, int comment, NODE *node) |
VALUE | rb_parser_dump_tree (NODE *node, int comment) |
static void dump_node |
( |
VALUE |
buf, |
|
|
VALUE |
indent, |
|
|
int |
comment, |
|
|
NODE * |
node | |
|
) |
| | [static] |
Definition at line 89 of file node.c.
References A, A_ID, A_INT, ANN, D_NODE_HEADER, D_NULL_NODE, F_CUSTOM1, F_GENTRY, F_ID, F_MSG, F_NODE, LAST_NODE, nd_1st, nd_2nd, nd_args, nd_body, nd_cond, nd_else, nd_ensr, nd_entry, nd_head, nd_iter, nd_next, nd_recv, nd_resq, nd_state, nd_stts, nd_type, nd_value, nd_vid, NODE_AND, NODE_BEGIN, NODE_BLOCK, NODE_BREAK, NODE_CASE, NODE_CDECL, NODE_CVASGN, NODE_DASGN, NODE_DASGN_CURR, NODE_ENSURE, NODE_FOR, NODE_GASGN, NODE_IASGN, NODE_IF, NODE_ITER, NODE_LASGN, NODE_MASGN, NODE_NEXT, NODE_OP_ASGN1, NODE_OP_ASGN2, NODE_OPT_N, NODE_OR, NODE_REDO, NODE_RESBODY, NODE_RESCUE, NODE_RETRY, NODE_RETURN, NODE_UNTIL, NODE_WHEN, and NODE_WHILE.
Referenced by rb_parser_dump_tree().