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