+ int quark;
+ const char *arg;
+ ensure_quarks ();
+ while ((arg = va_arg (__ap, char *)) != NULL) {
+ quark = GPOINTER_TO_INT (g_hash_table_lookup (quark_ht, arg));
+ switch (quark) {
+ case QUARK_otype: {
+ char * otype = va_arg (__ap, char *);
+ char * __old_value = self->otype;
+ self->otype = g_strdup (otype);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_otype_STEAL: {
+ char * otype = va_arg (__ap, char *);
+ self->otype = otype;
+ break;
+ }
+ case QUARK_ptype: {
+ char * ptype = va_arg (__ap, char *);
+ char * __old_value = self->ptype;
+ self->ptype = g_strdup (ptype);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_ptype_STEAL: {
+ char * ptype = va_arg (__ap, char *);
+ self->ptype = ptype;
+ break;
+ }
+ case QUARK_bonobo_object_class: {
+ char * bonobo_object_class = va_arg (__ap, char *);
+ char * __old_value = self->bonobo_object_class;
+ self->bonobo_object_class = g_strdup (bonobo_object_class);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_bonobo_object_class_STEAL: {
+ char * bonobo_object_class = va_arg (__ap, char *);
+ self->bonobo_object_class = bonobo_object_class;
+ break;
+ }
+ case QUARK_glade_xml: {
+ gboolean glade_xml = va_arg (__ap, gboolean);
+ self->glade_xml = glade_xml;
+ break;
+ }
+ case QUARK_chunk_size: {
+ char * chunk_size = va_arg (__ap, char *);
+ char * __old_value = self->chunk_size;
+ self->chunk_size = g_strdup (chunk_size);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_chunk_size_STEAL: {
+ char * chunk_size = va_arg (__ap, char *);
+ self->chunk_size = chunk_size;
+ break;
+ }
+ case QUARK_interfaces: {
+ GList * interfaces = va_arg (__ap, GList *);
+ GList * __old_value = self->interfaces;
+ self->interfaces = g_list_copy (interfaces); COPY_LIST_VALS(self->interfaces, g_strdup);
+ g_list_foreach (__old_value, (GFunc)g_free, NULL); g_list_free (__old_value);
+ break;
+ }
+ case QUARK_interfaces_STEAL: {
+ GList * interfaces = va_arg (__ap, GList *);
+ self->interfaces = interfaces;
+ break;
+ }
+ case QUARK_nodes: {
+ GList * nodes = va_arg (__ap, GList *);
+ GList * __old_value = self->nodes;
+ self->nodes = node_list_copy (nodes);
+ node_list_free (__old_value);
+ break;
+ }
+ case QUARK_nodes_STEAL: {
+ GList * nodes = va_arg (__ap, GList *);
+ self->nodes = nodes;
+ break;
+ }
+ case QUARK_abstract: {
+ gboolean abstract = va_arg (__ap, gboolean);
+ self->abstract = abstract;
+ break;
+ }
+ default:
+ g_warning ("Argument named 'Class::%s' does not exist", arg);
+ break;
+ }
+ }
+}
+
+static void
+setv_enumdef (EnumDef * self, va_list __ap)
+{
+ int quark;
+ const char *arg;
+ ensure_quarks ();
+ while ((arg = va_arg (__ap, char *)) != NULL) {
+ quark = GPOINTER_TO_INT (g_hash_table_lookup (quark_ht, arg));
+ switch (quark) {
+ case QUARK_etype: {
+ char * etype = va_arg (__ap, char *);
+ char * __old_value = self->etype;
+ self->etype = g_strdup (etype);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_etype_STEAL: {
+ char * etype = va_arg (__ap, char *);
+ self->etype = etype;
+ break;
+ }
+ case QUARK_prefix: {
+ char * prefix = va_arg (__ap, char *);
+ char * __old_value = self->prefix;
+ self->prefix = g_strdup (prefix);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_prefix_STEAL: {
+ char * prefix = va_arg (__ap, char *);
+ self->prefix = prefix;
+ break;
+ }
+ case QUARK_values: {
+ GList * values = va_arg (__ap, GList *);
+ GList * __old_value = self->values;
+ self->values = node_list_copy (values);
+ node_list_free (__old_value);
+ break;
+ }
+ case QUARK_values_STEAL: {
+ GList * values = va_arg (__ap, GList *);
+ self->values = values;
+ break;
+ }
+ default:
+ g_warning ("Argument named 'EnumDef::%s' does not exist", arg);
+ break;
+ }
+ }
+}
+
+static void
+setv_enumvalue (EnumValue * self, va_list __ap)
+{
+ int quark;
+ const char *arg;
+ ensure_quarks ();
+ while ((arg = va_arg (__ap, char *)) != NULL) {
+ quark = GPOINTER_TO_INT (g_hash_table_lookup (quark_ht, arg));
+ switch (quark) {
+ case QUARK_name: {
+ char * name = va_arg (__ap, char *);
+ char * __old_value = self->name;
+ self->name = g_strdup (name);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_name_STEAL: {
+ char * name = va_arg (__ap, char *);
+ self->name = name;
+ break;
+ }
+ case QUARK_value: {
+ char * value = va_arg (__ap, char *);
+ char * __old_value = self->value;
+ self->value = g_strdup (value);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_value_STEAL: {
+ char * value = va_arg (__ap, char *);
+ self->value = value;
+ break;
+ }
+ default:
+ g_warning ("Argument named 'EnumValue::%s' does not exist", arg);
+ break;
+ }
+ }
+}
+
+static void
+setv_error (Error * self, va_list __ap)
+{
+ int quark;
+ const char *arg;
+ ensure_quarks ();
+ while ((arg = va_arg (__ap, char *)) != NULL) {
+ quark = GPOINTER_TO_INT (g_hash_table_lookup (quark_ht, arg));
+ switch (quark) {
+ case QUARK_etype: {
+ char * etype = va_arg (__ap, char *);
+ char * __old_value = self->etype;
+ self->etype = g_strdup (etype);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_etype_STEAL: {
+ char * etype = va_arg (__ap, char *);
+ self->etype = etype;
+ break;
+ }
+ case QUARK_prefix: {
+ char * prefix = va_arg (__ap, char *);
+ char * __old_value = self->prefix;
+ self->prefix = g_strdup (prefix);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_prefix_STEAL: {
+ char * prefix = va_arg (__ap, char *);
+ self->prefix = prefix;
+ break;
+ }
+ case QUARK_values: {
+ GList * values = va_arg (__ap, GList *);
+ GList * __old_value = self->values;
+ self->values = g_list_copy (values); COPY_LIST_VALS(self->values, g_strdup);
+ g_list_foreach (__old_value, (GFunc)g_free, NULL); g_list_free (__old_value);
+ break;
+ }
+ case QUARK_values_STEAL: {
+ GList * values = va_arg (__ap, GList *);
+ self->values = values;
+ break;
+ }
+ default:
+ g_warning ("Argument named 'Error::%s' does not exist", arg);
+ break;
+ }
+ }
+}
+
+static void
+setv_flags (Flags * self, va_list __ap)
+{
+ int quark;
+ const char *arg;
+ ensure_quarks ();
+ while ((arg = va_arg (__ap, char *)) != NULL) {
+ quark = GPOINTER_TO_INT (g_hash_table_lookup (quark_ht, arg));
+ switch (quark) {
+ case QUARK_ftype: {
+ char * ftype = va_arg (__ap, char *);
+ char * __old_value = self->ftype;
+ self->ftype = g_strdup (ftype);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_ftype_STEAL: {
+ char * ftype = va_arg (__ap, char *);
+ self->ftype = ftype;
+ break;
+ }
+ case QUARK_prefix: {
+ char * prefix = va_arg (__ap, char *);
+ char * __old_value = self->prefix;
+ self->prefix = g_strdup (prefix);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_prefix_STEAL: {
+ char * prefix = va_arg (__ap, char *);
+ self->prefix = prefix;
+ break;
+ }
+ case QUARK_values: {
+ GList * values = va_arg (__ap, GList *);
+ GList * __old_value = self->values;
+ self->values = g_list_copy (values); COPY_LIST_VALS(self->values, g_strdup);
+ g_list_foreach (__old_value, (GFunc)g_free, NULL); g_list_free (__old_value);
+ break;
+ }
+ case QUARK_values_STEAL: {
+ GList * values = va_arg (__ap, GList *);
+ self->values = values;
+ break;
+ }
+ default:
+ g_warning ("Argument named 'Flags::%s' does not exist", arg);
+ break;
+ }
+ }
+}
+
+static void
+setv_funcarg (FuncArg * self, va_list __ap)
+{
+ int quark;
+ const char *arg;
+ ensure_quarks ();
+ while ((arg = va_arg (__ap, char *)) != NULL) {
+ quark = GPOINTER_TO_INT (g_hash_table_lookup (quark_ht, arg));
+ switch (quark) {
+ case QUARK_atype: {
+ Type * atype = va_arg (__ap, Type *);
+ Type * __old_value = self->atype;
+ self->atype = copy_type (atype);
+ free_type (__old_value);
+ break;
+ }
+ case QUARK_atype_STEAL: {
+ Type * atype = va_arg (__ap, Type *);
+ self->atype = atype;
+ break;
+ }
+ case QUARK_name: {
+ char * name = va_arg (__ap, char *);
+ char * __old_value = self->name;
+ self->name = g_strdup (name);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_name_STEAL: {
+ char * name = va_arg (__ap, char *);
+ self->name = name;
+ break;
+ }
+ case QUARK_checks: {
+ GList * checks = va_arg (__ap, GList *);
+ GList * __old_value = self->checks;
+ self->checks = node_list_copy (checks);
+ node_list_free (__old_value);
+ break;
+ }
+ case QUARK_checks_STEAL: {
+ GList * checks = va_arg (__ap, GList *);
+ self->checks = checks;
+ break;
+ }
+ default:
+ g_warning ("Argument named 'FuncArg::%s' does not exist", arg);
+ break;
+ }
+ }
+}
+
+static void
+setv_method (Method * self, va_list __ap)
+{
+ int quark;
+ const char *arg;
+ ensure_quarks ();
+ while ((arg = va_arg (__ap, char *)) != NULL) {
+ quark = GPOINTER_TO_INT (g_hash_table_lookup (quark_ht, arg));
+ switch (quark) {
+ case QUARK_scope: {
+ int scope = va_arg (__ap, int);
+ self->scope = scope;
+ break;
+ }
+ case QUARK_method: {
+ int method = va_arg (__ap, int);
+ self->method = method;
+ break;
+ }
+ case QUARK_mtype: {
+ Type * mtype = va_arg (__ap, Type *);
+ Type * __old_value = self->mtype;
+ self->mtype = copy_type (mtype);
+ free_type (__old_value);
+ break;
+ }
+ case QUARK_mtype_STEAL: {
+ Type * mtype = va_arg (__ap, Type *);
+ self->mtype = mtype;
+ break;
+ }
+ case QUARK_otype: {
+ char * otype = va_arg (__ap, char *);
+ char * __old_value = self->otype;
+ self->otype = g_strdup (otype);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_otype_STEAL: {
+ char * otype = va_arg (__ap, char *);
+ self->otype = otype;
+ break;
+ }
+ case QUARK_gtktypes: {
+ GList * gtktypes = va_arg (__ap, GList *);
+ GList * __old_value = self->gtktypes;
+ self->gtktypes = g_list_copy (gtktypes); COPY_LIST_VALS(self->gtktypes, g_strdup);
+ g_list_foreach (__old_value, (GFunc)g_free, NULL); g_list_free (__old_value);
+ break;
+ }
+ case QUARK_gtktypes_STEAL: {
+ GList * gtktypes = va_arg (__ap, GList *);
+ self->gtktypes = gtktypes;
+ break;
+ }
+ case QUARK_flags: {
+ GList * flags = va_arg (__ap, GList *);
+ GList * __old_value = self->flags;
+ self->flags = g_list_copy (flags); COPY_LIST_VALS(self->flags, g_strdup);
+ g_list_foreach (__old_value, (GFunc)g_free, NULL); g_list_free (__old_value);
+ break;
+ }
+ case QUARK_flags_STEAL: {
+ GList * flags = va_arg (__ap, GList *);
+ self->flags = flags;
+ break;
+ }
+ case QUARK_signal_name: {
+ char * signal_name = va_arg (__ap, char *);
+ char * __old_value = self->signal_name;
+ self->signal_name = g_strdup (signal_name);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_signal_name_STEAL: {
+ char * signal_name = va_arg (__ap, char *);
+ self->signal_name = signal_name;
+ break;
+ }
+ case QUARK_id: {
+ char * id = va_arg (__ap, char *);
+ char * __old_value = self->id;
+ self->id = g_strdup (id);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_id_STEAL: {
+ char * id = va_arg (__ap, char *);
+ self->id = id;
+ break;
+ }
+ case QUARK_args: {
+ GList * args = va_arg (__ap, GList *);
+ GList * __old_value = self->args;
+ self->args = node_list_copy (args);
+ node_list_free (__old_value);
+ break;
+ }
+ case QUARK_args_STEAL: {
+ GList * args = va_arg (__ap, GList *);
+ self->args = args;
+ break;
+ }
+ case QUARK_funcattrs: {
+ char * funcattrs = va_arg (__ap, char *);
+ char * __old_value = self->funcattrs;
+ self->funcattrs = g_strdup (funcattrs);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_funcattrs_STEAL: {
+ char * funcattrs = va_arg (__ap, char *);
+ self->funcattrs = funcattrs;
+ break;
+ }
+ case QUARK_onerror: {
+ char * onerror = va_arg (__ap, char *);
+ char * __old_value = self->onerror;
+ self->onerror = g_strdup (onerror);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_onerror_STEAL: {
+ char * onerror = va_arg (__ap, char *);
+ self->onerror = onerror;
+ break;
+ }
+ case QUARK_defreturn: {
+ char * defreturn = va_arg (__ap, char *);
+ char * __old_value = self->defreturn;
+ self->defreturn = g_strdup (defreturn);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_defreturn_STEAL: {
+ char * defreturn = va_arg (__ap, char *);
+ self->defreturn = defreturn;
+ break;
+ }
+ case QUARK_cbuf: {
+ char * cbuf = va_arg (__ap, char *);
+ char * __old_value = self->cbuf;
+ self->cbuf = g_strdup (cbuf);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_cbuf_STEAL: {
+ char * cbuf = va_arg (__ap, char *);
+ self->cbuf = cbuf;
+ break;
+ }
+ case QUARK_line_no: {
+ int line_no = va_arg (__ap, int);
+ self->line_no = line_no;
+ break;
+ }
+ case QUARK_ccode_line: {
+ int ccode_line = va_arg (__ap, int);
+ self->ccode_line = ccode_line;
+ break;
+ }
+ case QUARK_vararg: {
+ gboolean vararg = va_arg (__ap, gboolean);
+ self->vararg = vararg;
+ break;
+ }
+ case QUARK_unique_id: {
+ int unique_id = va_arg (__ap, int);
+ self->unique_id = unique_id;
+ break;
+ }
+ case QUARK_bonobo_object_func: {
+ gboolean bonobo_object_func = va_arg (__ap, gboolean);
+ self->bonobo_object_func = bonobo_object_func;
+ break;
+ }
+ case QUARK_interface: {
+ char * interface = va_arg (__ap, char *);
+ char * __old_value = self->interface;
+ self->interface = g_strdup (interface);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_interface_STEAL: {
+ char * interface = va_arg (__ap, char *);
+ self->interface = interface;
+ break;
+ }
+ default:
+ g_warning ("Argument named 'Method::%s' does not exist", arg);
+ break;
+ }
+ }
+}
+
+static void
+setv_property (Property * self, va_list __ap)
+{
+ int quark;
+ const char *arg;
+ ensure_quarks ();
+ while ((arg = va_arg (__ap, char *)) != NULL) {
+ quark = GPOINTER_TO_INT (g_hash_table_lookup (quark_ht, arg));
+ switch (quark) {
+ case QUARK_gtktype: {
+ char * gtktype = va_arg (__ap, char *);
+ char * __old_value = self->gtktype;
+ self->gtktype = g_strdup (gtktype);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_gtktype_STEAL: {
+ char * gtktype = va_arg (__ap, char *);
+ self->gtktype = gtktype;
+ break;
+ }
+ case QUARK_ptype: {
+ Type * ptype = va_arg (__ap, Type *);
+ Type * __old_value = self->ptype;
+ self->ptype = copy_type (ptype);
+ free_type (__old_value);
+ break;
+ }
+ case QUARK_ptype_STEAL: {
+ Type * ptype = va_arg (__ap, Type *);
+ self->ptype = ptype;
+ break;
+ }
+ case QUARK_flags: {
+ GList * flags = va_arg (__ap, GList *);
+ GList * __old_value = self->flags;
+ self->flags = g_list_copy (flags); COPY_LIST_VALS(self->flags, g_strdup);
+ g_list_foreach (__old_value, (GFunc)g_free, NULL); g_list_free (__old_value);
+ break;
+ }
+ case QUARK_flags_STEAL: {
+ GList * flags = va_arg (__ap, GList *);
+ self->flags = flags;
+ break;
+ }
+ case QUARK_name: {
+ char * name = va_arg (__ap, char *);
+ char * __old_value = self->name;
+ self->name = g_strdup (name);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_name_STEAL: {
+ char * name = va_arg (__ap, char *);
+ self->name = name;
+ break;
+ }
+ case QUARK_canonical_name: {
+ char * canonical_name = va_arg (__ap, char *);
+ char * __old_value = self->canonical_name;
+ self->canonical_name = g_strdup (canonical_name);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_canonical_name_STEAL: {
+ char * canonical_name = va_arg (__ap, char *);
+ self->canonical_name = canonical_name;
+ break;
+ }
+ case QUARK_nick: {
+ char * nick = va_arg (__ap, char *);
+ char * __old_value = self->nick;
+ self->nick = g_strdup (nick);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_nick_STEAL: {
+ char * nick = va_arg (__ap, char *);
+ self->nick = nick;
+ break;
+ }
+ case QUARK_blurb: {
+ char * blurb = va_arg (__ap, char *);
+ char * __old_value = self->blurb;
+ self->blurb = g_strdup (blurb);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_blurb_STEAL: {
+ char * blurb = va_arg (__ap, char *);
+ self->blurb = blurb;
+ break;
+ }
+ case QUARK_minimum: {
+ char * minimum = va_arg (__ap, char *);
+ char * __old_value = self->minimum;
+ self->minimum = g_strdup (minimum);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_minimum_STEAL: {
+ char * minimum = va_arg (__ap, char *);
+ self->minimum = minimum;
+ break;
+ }
+ case QUARK_maximum: {
+ char * maximum = va_arg (__ap, char *);
+ char * __old_value = self->maximum;
+ self->maximum = g_strdup (maximum);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_maximum_STEAL: {
+ char * maximum = va_arg (__ap, char *);
+ self->maximum = maximum;
+ break;
+ }
+ case QUARK_default_value: {
+ char * default_value = va_arg (__ap, char *);
+ char * __old_value = self->default_value;
+ self->default_value = g_strdup (default_value);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_default_value_STEAL: {
+ char * default_value = va_arg (__ap, char *);
+ self->default_value = default_value;
+ break;
+ }
+ case QUARK_extra_gtktype: {
+ char * extra_gtktype = va_arg (__ap, char *);
+ char * __old_value = self->extra_gtktype;
+ self->extra_gtktype = g_strdup (extra_gtktype);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_extra_gtktype_STEAL: {
+ char * extra_gtktype = va_arg (__ap, char *);
+ self->extra_gtktype = extra_gtktype;
+ break;
+ }
+ case QUARK_override: {
+ gboolean override = va_arg (__ap, gboolean);
+ self->override = override;
+ break;
+ }
+ case QUARK_link: {
+ gboolean link = va_arg (__ap, gboolean);
+ self->link = link;
+ break;
+ }
+ case QUARK_export: {
+ gboolean export = va_arg (__ap, gboolean);
+ self->export = export;
+ break;
+ }
+ case QUARK_get: {
+ char * get = va_arg (__ap, char *);
+ char * __old_value = self->get;
+ self->get = g_strdup (get);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_get_STEAL: {
+ char * get = va_arg (__ap, char *);
+ self->get = get;
+ break;
+ }
+ case QUARK_get_line: {
+ int get_line = va_arg (__ap, int);
+ self->get_line = get_line;
+ break;
+ }
+ case QUARK_set: {
+ char * set = va_arg (__ap, char *);
+ char * __old_value = self->set;
+ self->set = g_strdup (set);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_set_STEAL: {
+ char * set = va_arg (__ap, char *);
+ self->set = set;
+ break;
+ }
+ case QUARK_set_line: {
+ int set_line = va_arg (__ap, int);
+ self->set_line = set_line;
+ break;
+ }
+ case QUARK_line_no: {
+ int line_no = va_arg (__ap, int);
+ self->line_no = line_no;
+ break;
+ }
+ default:
+ g_warning ("Argument named 'Property::%s' does not exist", arg);
+ break;
+ }
+ }
+}
+
+static void
+setv_type (Type * self, va_list __ap)
+{
+ int quark;
+ const char *arg;
+ ensure_quarks ();
+ while ((arg = va_arg (__ap, char *)) != NULL) {
+ quark = GPOINTER_TO_INT (g_hash_table_lookup (quark_ht, arg));
+ switch (quark) {
+ case QUARK_name: {
+ char * name = va_arg (__ap, char *);
+ char * __old_value = self->name;
+ self->name = g_strdup (name);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_name_STEAL: {
+ char * name = va_arg (__ap, char *);
+ self->name = name;
+ break;
+ }
+ case QUARK_pointer: {
+ char * pointer = va_arg (__ap, char *);
+ char * __old_value = self->pointer;
+ self->pointer = g_strdup (pointer);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_pointer_STEAL: {
+ char * pointer = va_arg (__ap, char *);
+ self->pointer = pointer;
+ break;
+ }
+ case QUARK_postfix: {
+ char * postfix = va_arg (__ap, char *);
+ char * __old_value = self->postfix;
+ self->postfix = g_strdup (postfix);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_postfix_STEAL: {
+ char * postfix = va_arg (__ap, char *);
+ self->postfix = postfix;
+ break;
+ }
+ default:
+ g_warning ("Argument named 'Type::%s' does not exist", arg);
+ break;
+ }
+ }
+}
+
+static void
+setv_variable (Variable * self, va_list __ap)
+{
+ int quark;
+ const char *arg;
+ ensure_quarks ();
+ while ((arg = va_arg (__ap, char *)) != NULL) {
+ quark = GPOINTER_TO_INT (g_hash_table_lookup (quark_ht, arg));
+ switch (quark) {
+ case QUARK_scope: {
+ int scope = va_arg (__ap, int);
+ self->scope = scope;
+ break;
+ }
+ case QUARK_vtype: {
+ Type * vtype = va_arg (__ap, Type *);
+ Type * __old_value = self->vtype;
+ self->vtype = copy_type (vtype);
+ free_type (__old_value);
+ break;
+ }
+ case QUARK_vtype_STEAL: {
+ Type * vtype = va_arg (__ap, Type *);
+ self->vtype = vtype;
+ break;
+ }
+ case QUARK_glade_widget: {
+ gboolean glade_widget = va_arg (__ap, gboolean);
+ self->glade_widget = glade_widget;
+ break;
+ }
+ case QUARK_id: {
+ char * id = va_arg (__ap, char *);
+ char * __old_value = self->id;
+ self->id = g_strdup (id);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_id_STEAL: {
+ char * id = va_arg (__ap, char *);
+ self->id = id;
+ break;
+ }
+ case QUARK_line_no: {
+ int line_no = va_arg (__ap, int);
+ self->line_no = line_no;
+ break;
+ }
+ case QUARK_destructor_unref: {
+ gboolean destructor_unref = va_arg (__ap, gboolean);
+ self->destructor_unref = destructor_unref;
+ break;
+ }
+ case QUARK_destructor: {
+ char * destructor = va_arg (__ap, char *);
+ char * __old_value = self->destructor;
+ self->destructor = g_strdup (destructor);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_destructor_STEAL: {
+ char * destructor = va_arg (__ap, char *);
+ self->destructor = destructor;
+ break;
+ }
+ case QUARK_destructor_line: {
+ int destructor_line = va_arg (__ap, int);
+ self->destructor_line = destructor_line;
+ break;
+ }
+ case QUARK_destructor_simple: {
+ gboolean destructor_simple = va_arg (__ap, gboolean);
+ self->destructor_simple = destructor_simple;
+ break;
+ }
+ case QUARK_initializer: {
+ char * initializer = va_arg (__ap, char *);
+ char * __old_value = self->initializer;
+ self->initializer = g_strdup (initializer);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_initializer_STEAL: {
+ char * initializer = va_arg (__ap, char *);
+ self->initializer = initializer;
+ break;
+ }
+ case QUARK_initializer_line: {
+ int initializer_line = va_arg (__ap, int);
+ self->initializer_line = initializer_line;
+ break;
+ }
+ case QUARK_initializer_simple: {
+ gboolean initializer_simple = va_arg (__ap, gboolean);
+ self->initializer_simple = initializer_simple;
+ break;
+ }
+ default:
+ g_warning ("Argument named 'Variable::%s' does not exist", arg);
+ break;
+ }
+ }
+}
+
+Node *
+node_copy (Node *node)
+{
+ g_return_val_if_fail (node != NULL, NULL);
+ g_return_val_if_fail (node->type >= 0 && node->type < LAST_NODE_TYPE, NULL);
+ switch (node->type) {