#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;
}
}
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;
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;
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;
}