]> git.draconx.ca Git - gob-dx.git/blobdiff - src/treefuncs.c
Release 1.0.12
[gob-dx.git] / src / treefuncs.c
index e424df35e863c2d1e14a9ea31dc9d2ed80f994b1..84aef6e385e39f55ff20d844b49aaf9406c757bc 100644 (file)
@@ -41,12 +41,13 @@ Node * new_check (int chtype, char * number)
        return (Node *)self;
 }
 
-Node * new_class (char * otype, char * ptype, char * chunk_size, GList * nodes)
+Node * new_class (char * otype, char * ptype, char * bonobo_x_class, char * chunk_size, GList * nodes)
 {
        Class * self = g_new0(Class, 1);
        self->type = CLASS_NODE;
        self->otype = otype;
        self->ptype = ptype;
+       self->bonobo_x_class = bonobo_x_class;
        self->chunk_size = chunk_size;
        self->nodes = nodes;
        return (Node *)self;
@@ -62,7 +63,7 @@ Node * new_funcarg (Type * atype, char * name, GList * checks)
        return (Node *)self;
 }
 
-Node * new_method (int scope, int method, Type * mtype, char * otype, GList * gtktypes, GList * flags, char * id, GList * args, char * onerror, char * defreturn, char * cbuf, int line_no, int ccode_line, gboolean vararg, int unique_id)
+Node * new_method (int scope, int method, Type * mtype, char * otype, GList * gtktypes, GList * flags, char * id, GList * args, char * onerror, char * defreturn, char * cbuf, int line_no, int ccode_line, gboolean vararg, int unique_id, gboolean bonobo_x_func)
 {
        Method * self = g_new0(Method, 1);
        self->type = METHOD_NODE;
@@ -81,6 +82,7 @@ Node * new_method (int scope, int method, Type * mtype, char * otype, GList * gt
        self->ccode_line = ccode_line;
        self->vararg = vararg;
        self->unique_id = unique_id;
+       self->bonobo_x_func = bonobo_x_func;
        return (Node *)self;
 }
 
@@ -163,6 +165,7 @@ Class * copy_class (Class * self)
        new->type = CLASS_NODE;
        new->otype = g_strdup(self->otype);
        new->ptype = g_strdup(self->ptype);
+       new->bonobo_x_class = g_strdup(self->bonobo_x_class);
        new->chunk_size = g_strdup(self->chunk_size);
        new->nodes = copy_node_list(self->nodes);
        return new;
@@ -203,6 +206,7 @@ Method * copy_method (Method * self)
        new->ccode_line = self->ccode_line;
        new->vararg = self->vararg;
        new->unique_id = self->unique_id;
+       new->bonobo_x_func = self->bonobo_x_func;
        return new;
 }
 
@@ -273,6 +277,7 @@ void free_class (Class * self)
        g_return_if_fail(self->type == CLASS_NODE);
        g_free(self->otype);
        g_free(self->ptype);
+       g_free(self->bonobo_x_class);
        g_free(self->chunk_size);
        free_node_list(self->nodes);
        g_free(self);