X-Git-Url: http://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/b9f22ab5a7f4d4bfe0932debf8864a21b5c852cd..daead564b9592e78d418deb56a211cd5ea399f76:/src/tree.c diff --git a/src/tree.c b/src/tree.c index 530145b..279180a 100644 --- a/src/tree.c +++ b/src/tree.c @@ -24,12 +24,13 @@ #include "tree.h" Node * -new_ccode(int header, GString *cbuf) +new_ccode(int header, GString *cbuf, int line_no) { CCode *node = (CCode *)g_new(Node,1); node->type = CCODE_NODE; node->header = header; node->cbuf = cbuf; + node->line_no = line_no; return (Node *)node; } @@ -76,7 +77,7 @@ new_funcarg(Type *atype, char *name, GList *checks) } Node * -new_method(int scope, Type *mtype, char *otype, GList *gtktypes, char *id, GList *args, char *onerror, GString *cbuf, int line_no) +new_method(int scope, Type *mtype, char *otype, GList *gtktypes, char *id, GList *args, char *onerror, GString *cbuf, int line_no,int ccode_line) { Method *node = (Method *)g_new(Node,1); node->type = METHOD_NODE; @@ -89,11 +90,12 @@ new_method(int scope, Type *mtype, char *otype, GList *gtktypes, char *id, GList node->onerror = onerror; node->cbuf = cbuf; node->line_no = line_no; + node->ccode_line = ccode_line; return (Node *)node; } Node * -new_argument(char *gtktype, GList *flags, char *name, GString *get, GString *set) +new_argument(char *gtktype, GList *flags, char *name, GString *get, int get_line, GString *set, int set_line, int line_no) { Argument *node = (Argument *)g_new(Node,1); node->type = ARGUMENT_NODE; @@ -101,17 +103,21 @@ new_argument(char *gtktype, GList *flags, char *name, GString *get, GString *set node->flags = flags; node->name = name; node->get = get; + node->get_line = get_line; node->set = set; + node->set_line = set_line; + node->line_no = line_no; return (Node *)node; } Node * -new_variable(int scope, Type *vtype, char *id) +new_variable(int scope, Type *vtype, char *id, int line_no) { Variable *node = (Variable *)g_new(Node,1); node->type = VARIABLE_NODE; node->scope = scope; node->vtype = vtype; node->id = id; + node->line_no = line_no; return (Node *)node; }