]> git.draconx.ca Git - gob-dx.git/blobdiff - src/tree.c
Release 0.90.1
[gob-dx.git] / src / tree.c
index 91e3a234348044e0e580d93a82b5010272732e54..ab06d4f8fde793dc46b06ecd1950c7d951af8521 100644 (file)
  * USA.
  */
 
+#include "config.h"
 #include <glib.h>
 #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;
 }
 
@@ -75,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, int vararg)
 {
        Method *node = (Method *)g_new(Node,1);
        node->type = METHOD_NODE;
@@ -88,11 +90,13 @@ 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;
+       node->vararg = vararg;
        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;
@@ -100,17 +104,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;
 }