AstNode
void inspect_symbol(AstNode *node)
void inspect_symbol_list(AstNode *node)
void inspect_expression(AstNode *node)
void inspect_statement(AstNode *node)
static inline void inspect_ptr_list(AstNode *node, const char *name, void (*inspect)(AstNode *))
void inspect_statement_list(AstNode *node)
void inspect_statement(AstNode *node);
void inspect_statement_list(AstNode *node);
void inspect_expression(AstNode *node);
void inspect_expression_list(AstNode *node);
void inspect_symbol(AstNode *node);
void inspect_symbol_list(AstNode *node);
static void ast_init(AstNode *pkg_tree);
ast_init (AstNode *node)
node->childnodes = g_array_new(FALSE, TRUE, sizeof(AstNode *));
AstNode *node;
AstNode *root = AST_NODE(tree_model);
AstNode *node = AST_NODE(iter->user_data);
AstNode *node = iter->user_data;
AstNode *node = iter->user_data;
AstNode *node = iter->user_data;
AstNode *node = iter ? iter->user_data
AstNode *node = parent ? parent->user_data : (AstNode*) tree_model;
iter->user_data = g_array_index(array, AstNode *, n);
void inspect_child_node(AstNode *node)
AstNode *node = (AstNode *) child->user_data;
AstNode *
ast_new (AstNode *parent, int index, const char *text, void *ptr, void (*inspect)(AstNode*))
AstNode *node = (AstNode*) g_object_new (AST_TYPE_NODE, NULL);
AstNode* ast_nth_child(AstNode *node, int n)
return g_array_index(node->childnodes, AstNode *, n);
gboolean ast_set_iter(GtkTreeIter *iter, AstNode *node)
sizeof (AstNode),
#define AST_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AST_TYPE_NODE, AstNode))
typedef struct AstNode AstNode;
AstNode *parent;
void (*inspect)(struct AstNode* node);
AstNode* ast_new(AstNode *parent, int index, const char *prefix, void *ptr, void (*expand)(AstNode*));
AstNode* ast_append_child(AstNode *parent, const char *text,
void *ptr, void (*inspect)(AstNode*))
AstNode *child = ast_new(parent, parent->childnodes->len,
void ast_append_attribute(AstNode *parent, const char *text)
AstNode *child = ast_new(parent, parent->childnodes->len, text, NULL, NULL);
AstNode *root;