Lines Matching defs:node

8 static inline void inspect_ptr_list(AstNode *node, const char *name, void (*inspect)(AstNode *))
10 struct ptr_list *ptrlist = node->ptr;
14 node->text = g_strdup_printf("%s %s:", node->text, name);
17 ast_append_child(node, index, ptr, inspect);
43 void inspect_statement(AstNode *node)
45 struct statement *stmt = node->ptr;
46 node->text = g_strdup_printf("%s %s:", node->text, statement_type_name(stmt->type));
49 ast_append_child(node, "stmts:", stmt->stmts, inspect_statement_list);
52 ast_append_child(node, "expression:", stmt->expression, inspect_expression);
55 ast_append_child(node, "conditional:", stmt->if_conditional, inspect_expression);
56 ast_append_child(node, "if_true:", stmt->if_true, inspect_statement);
57 ast_append_child(node, "if_false:", stmt->if_false, inspect_statement);
60 ast_append_child(node, "break:", stmt->iterator_break, inspect_symbol);
61 ast_append_child(node, "continue:", stmt->iterator_continue, inspect_symbol);
62 ast_append_child(node, "pre_statement:", stmt->iterator_pre_statement,
64 ast_append_child(node, "statement:", stmt->iterator_statement,
66 ast_append_child(node, "post_statement:", stmt->iterator_post_statement,
71 ast_append_child(node, "switch_expression:", stmt->switch_expression, inspect_expression);
72 ast_append_child(node, "switch_statement:", stmt->switch_statement, inspect_statement);
73 ast_append_child(node, "switch_break:", stmt->switch_break, inspect_symbol);
74 ast_append_child(node, "switch_case:", stmt->switch_case, inspect_symbol);
77 ast_append_child(node, "case_expression:", stmt->case_expression, inspect_expression);
78 ast_append_child(node, "case_to:", stmt->case_to, inspect_expression);
79 ast_append_child(node, "case_statement:", stmt->case_statement, inspect_statement);
80 ast_append_child(node, "case_label:", stmt->case_label, inspect_symbol);
83 ast_append_child(node, "ret_value:", stmt->ret_value, inspect_expression);
84 ast_append_child(node, "ret_target:", stmt->ret_target, inspect_symbol);
93 void inspect_statement_list(AstNode *node)
95 inspect_ptr_list(node, "statement_list", inspect_statement);
124 void inspect_symbol(AstNode *node)
126 struct symbol *sym = node->ptr;
127 node->text = g_strdup_printf("%s %s: %s", node->text, symbol_type_name(sym->type),
129 ast_append_child(node, "ctype.base_type:", sym->ctype.base_type,inspect_symbol);
135 ast_append_child(node, "arguments:", sym->arguments, inspect_symbol_list);
136 ast_append_child(node, "symbol_list:", sym->symbol_list, inspect_symbol_list);
137 ast_append_child(node, "stmt:", sym->stmt, inspect_statement);
143 void inspect_symbol_list(AstNode *node)
145 inspect_ptr_list(node, "symbol_list", inspect_symbol);
186 void inspect_expression(AstNode *node)
188 struct expression *expr = node->ptr;
189 node->text = g_strdup_printf("%s %s", node->text, expression_type_name(expr->type));
192 ast_append_child(node, "statement:", expr->statement, inspect_statement);
199 ast_append_child(node, "left:", expr->left, inspect_expression);
200 ast_append_child(node, "right:", expr->right, inspect_expression);
206 ast_append_child(node, "cast_type:", expr->cast_type, inspect_symbol);
207 ast_append_child(node, "cast_expression:", expr->cast_expression, inspect_expression);
211 ast_append_child(node, "unop:", expr->unop, inspect_expression);