X-Git-Url: https://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/486240dc4c5d57b0afaddba60d87fe375112bed5..5cfe51ee2287165feb0cf006901bbbc2b961f3b8:/src/treefuncs.c diff --git a/src/treefuncs.c b/src/treefuncs.c index e424df3..84aef6e 100644 --- a/src/treefuncs.c +++ b/src/treefuncs.c @@ -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);