/* valaccodeattribute.c generated by valac, the Vala compiler * generated from valaccodeattribute.vala, do not modify */ /* valaccodeattribute.vala * * Copyright (C) 2011 Luca Bruno * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * Author: * Luca Bruno */ #include #include #include #include #include #include #include #include #define VALA_TYPE_CCODE_ATTRIBUTE (vala_ccode_attribute_get_type ()) #define VALA_CCODE_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CCODE_ATTRIBUTE, ValaCCodeAttribute)) #define VALA_CCODE_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CCODE_ATTRIBUTE, ValaCCodeAttributeClass)) #define VALA_IS_CCODE_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CCODE_ATTRIBUTE)) #define VALA_IS_CCODE_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CCODE_ATTRIBUTE)) #define VALA_CCODE_ATTRIBUTE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CCODE_ATTRIBUTE, ValaCCodeAttributeClass)) typedef struct _ValaCCodeAttribute ValaCCodeAttribute; typedef struct _ValaCCodeAttributeClass ValaCCodeAttributeClass; typedef struct _ValaCCodeAttributePrivate ValaCCodeAttributePrivate; #define _vala_code_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_code_node_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) #define _vala_code_context_unref0(var) ((var == NULL) ? NULL : (var = (vala_code_context_unref (var), NULL))) #define VALA_TYPE_CTYPE (vala_ctype_get_type ()) #define VALA_CTYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_CTYPE, ValaCType)) #define VALA_CTYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_CTYPE, ValaCTypeClass)) #define VALA_IS_CTYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_CTYPE)) #define VALA_IS_CTYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_CTYPE)) #define VALA_CTYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_CTYPE, ValaCTypeClass)) typedef struct _ValaCType ValaCType; typedef struct _ValaCTypeClass ValaCTypeClass; #define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL))) struct _ValaCCodeAttribute { ValaAttributeCache parent_instance; ValaCCodeAttributePrivate * priv; }; struct _ValaCCodeAttributeClass { ValaAttributeCacheClass parent_class; }; struct _ValaCCodeAttributePrivate { ValaCodeNode* node; ValaSymbol* sym; ValaAttribute* ccode; gboolean _array_length; gchar* _array_length_type; gboolean _array_null_terminated; gchar* _array_length_name; gchar* _array_length_expr; gboolean _delegate_target; gchar* _sentinel; gchar* _name; gchar* _const_name; gchar* _type_name; gchar* _header_filenames; gchar* _prefix; gchar* _lower_case_prefix; gchar* _lower_case_suffix; gchar* _ref_function; gboolean ref_function_set; gboolean* _ref_function_void; gchar* _unref_function; gboolean unref_function_set; gchar* _ref_sink_function; gboolean* _ref_sink_function_void; gchar* _copy_function; gboolean copy_function_set; gchar* _destroy_function; gboolean destroy_function_set; gchar* _free_function; gboolean free_function_set; gboolean* _free_function_address_of; gchar* _type_id; gchar* _marshaller_type_name; gchar* _get_value_function; gchar* _set_value_function; gchar* _take_value_function; gchar* _param_spec_function; gchar* _default_value; gdouble* _pos; gchar* _vfunc_name; gchar* _finish_name; gchar* _finish_vfunc_name; gchar* _finish_real_name; gchar* _real_name; }; static gpointer vala_ccode_attribute_parent_class = NULL; static gint vala_ccode_attribute_dynamic_method_id; static gint vala_ccode_attribute_dynamic_method_id = 0; GType vala_ccode_attribute_get_type (void) G_GNUC_CONST; #define VALA_CCODE_ATTRIBUTE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), VALA_TYPE_CCODE_ATTRIBUTE, ValaCCodeAttributePrivate)) enum { VALA_CCODE_ATTRIBUTE_DUMMY_PROPERTY }; ValaCCodeAttribute* vala_ccode_attribute_new (ValaCodeNode* node); ValaCCodeAttribute* vala_ccode_attribute_construct (GType object_type, ValaCodeNode* node); static void vala_ccode_attribute_set_array_length (ValaCCodeAttribute* self, gboolean value); static void vala_ccode_attribute_set_delegate_target (ValaCCodeAttribute* self, gboolean value); static void vala_ccode_attribute_set_array_length_type (ValaCCodeAttribute* self, const gchar* value); static void vala_ccode_attribute_set_array_null_terminated (ValaCCodeAttribute* self, gboolean value); static void vala_ccode_attribute_set_array_length_name (ValaCCodeAttribute* self, const gchar* value); static void vala_ccode_attribute_set_array_length_expr (ValaCCodeAttribute* self, const gchar* value); static gdouble* _double_dup (gdouble* self); static void vala_ccode_attribute_set_sentinel (ValaCCodeAttribute* self, const gchar* value); const gchar* vala_ccode_attribute_get_sentinel (ValaCCodeAttribute* self); static gchar* vala_ccode_attribute_get_default_name (ValaCCodeAttribute* self); gchar* vala_ccode_base_module_get_ccode_lower_case_prefix (ValaSymbol* sym); gchar* vala_ccode_base_module_get_ccode_real_name (ValaSymbol* sym); gchar* vala_ccode_base_module_get_ccode_prefix (ValaSymbol* sym); gchar* vala_ccode_base_module_get_ccode_const_name (ValaCodeNode* node); gchar* vala_ccode_base_module_get_ccode_name (ValaCodeNode* node); gchar* vala_ccode_base_module_get_ccode_type_name (ValaInterface* iface); GType vala_ctype_get_type (void) G_GNUC_CONST; const gchar* vala_ctype_get_ctype_name (ValaCType* self); static gchar* vala_ccode_attribute_get_default_header_filenames (ValaCCodeAttribute* self); gchar* vala_ccode_base_module_get_ccode_header_filenames (ValaSymbol* sym); static gchar* vala_ccode_attribute_get_default_prefix (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_name (ValaCCodeAttribute* self); gchar* vala_ccode_base_module_get_ccode_upper_case_name (ValaSymbol* sym, const gchar* infix); static gchar* vala_ccode_attribute_get_default_lower_case_prefix (ValaCCodeAttribute* self); gchar* vala_ccode_base_module_get_ccode_lower_case_name (ValaCodeNode* node, const gchar* infix); static gchar* vala_ccode_attribute_get_default_lower_case_suffix (ValaCCodeAttribute* self); static gchar* vala_ccode_attribute_get_default_ref_function (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_lower_case_prefix (ValaCCodeAttribute* self); gchar* vala_ccode_base_module_get_ccode_ref_function (ValaTypeSymbol* sym); static gchar* vala_ccode_attribute_get_default_unref_function (ValaCCodeAttribute* self); gchar* vala_ccode_base_module_get_ccode_unref_function (ValaObjectTypeSymbol* sym); static gchar* vala_ccode_attribute_get_default_ref_sink_function (ValaCCodeAttribute* self); gchar* vala_ccode_base_module_get_ccode_ref_sink_function (ValaObjectTypeSymbol* sym); static gchar* vala_ccode_attribute_get_default_free_function (ValaCCodeAttribute* self); gchar* vala_ccode_base_module_get_ccode_free_function (ValaTypeSymbol* sym); static gchar* vala_ccode_attribute_get_default_type_id (ValaCCodeAttribute* self); gboolean vala_ccode_base_module_get_ccode_has_type_id (ValaTypeSymbol* sym); gchar* vala_ccode_base_module_get_ccode_type_id (ValaCodeNode* node); static gchar* vala_ccode_attribute_get_default_marshaller_type_name (ValaCCodeAttribute* self); gchar* vala_ccode_base_module_get_ccode_marshaller_type_name (ValaCodeNode* node); const gchar* vala_ccode_attribute_get_type_id (ValaCCodeAttribute* self); static gchar* vala_ccode_attribute_get_default_get_value_function (ValaCCodeAttribute* self); gchar* vala_ccode_base_module_get_ccode_get_value_function (ValaCodeNode* sym); static gchar* vala_ccode_attribute_get_default_set_value_function (ValaCCodeAttribute* self); gchar* vala_ccode_base_module_get_ccode_set_value_function (ValaCodeNode* sym); static gchar* vala_ccode_attribute_get_default_take_value_function (ValaCCodeAttribute* self); gchar* vala_ccode_base_module_get_ccode_take_value_function (ValaCodeNode* sym); static gchar* vala_ccode_attribute_get_default_param_spec_function (ValaCCodeAttribute* self); gchar* vala_ccode_base_module_get_ccode_param_spec_function (ValaCodeNode* sym); static gchar* vala_ccode_attribute_get_default_default_value (ValaCCodeAttribute* self); gchar* vala_ccode_base_module_get_ccode_default_value (ValaTypeSymbol* sym); static gchar* vala_ccode_attribute_get_finish_name_for_basename (ValaCCodeAttribute* self, const gchar* basename); static gchar* vala_ccode_attribute_get_default_real_name (ValaCCodeAttribute* self); static gchar* vala_ccode_attribute_get_default_const_name (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_const_name (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_type_name (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_header_filenames (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_prefix (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_lower_case_suffix (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_ref_function (ValaCCodeAttribute* self); gboolean vala_ccode_attribute_get_ref_function_void (ValaCCodeAttribute* self); static gboolean* _bool_dup (gboolean* self); gboolean vala_ccode_base_module_get_ccode_ref_function_void (ValaClass* cl); gboolean vala_ccode_attribute_get_ref_sink_function_void (ValaCCodeAttribute* self); gboolean vala_ccode_base_module_get_ccode_ref_sink_function_void (ValaClass* cl); const gchar* vala_ccode_attribute_get_unref_function (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_ref_sink_function (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_copy_function (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_destroy_function (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_free_function (ValaCCodeAttribute* self); gboolean vala_ccode_attribute_get_free_function_address_of (ValaCCodeAttribute* self); gboolean vala_ccode_base_module_get_ccode_free_function_address_of (ValaClass* cl); const gchar* vala_ccode_attribute_get_marshaller_type_name (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_get_value_function (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_set_value_function (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_take_value_function (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_param_spec_function (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_default_value (ValaCCodeAttribute* self); gdouble vala_ccode_attribute_get_pos (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_real_name (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_vfunc_name (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_finish_name (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_finish_vfunc_name (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_finish_real_name (ValaCCodeAttribute* self); gboolean vala_ccode_attribute_get_array_length (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_array_length_type (ValaCCodeAttribute* self); gboolean vala_ccode_attribute_get_array_null_terminated (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_array_length_name (ValaCCodeAttribute* self); const gchar* vala_ccode_attribute_get_array_length_expr (ValaCCodeAttribute* self); gboolean vala_ccode_attribute_get_delegate_target (ValaCCodeAttribute* self); static void vala_ccode_attribute_finalize (ValaAttributeCache* obj); static gdouble* _double_dup (gdouble* self) { gdouble* dup; dup = g_new0 (gdouble, 1); memcpy (dup, self, sizeof (gdouble)); return dup; } static gpointer __double_dup0 (gpointer self) { return self ? _double_dup (self) : NULL; } ValaCCodeAttribute* vala_ccode_attribute_construct (GType object_type, ValaCodeNode* node) { ValaCCodeAttribute* self = NULL; ValaCodeNode* _tmp0_; ValaCodeNode* _tmp1_; ValaCodeNode* _tmp2_; ValaAttribute* _tmp3_ = NULL; ValaAttribute* _tmp4_; ValaCodeNode* _tmp28_; ValaAttribute* _tmp29_ = NULL; ValaAttribute* _tmp30_; gboolean _tmp31_; const gchar* _tmp32_; g_return_val_if_fail (node != NULL, NULL); self = (ValaCCodeAttribute*) vala_attribute_cache_construct (object_type); _tmp0_ = node; self->priv->node = _tmp0_; _tmp1_ = node; self->priv->sym = VALA_IS_SYMBOL (_tmp1_) ? ((ValaSymbol*) _tmp1_) : NULL; vala_ccode_attribute_set_array_length (self, TRUE); vala_ccode_attribute_set_delegate_target (self, TRUE); _tmp2_ = node; _tmp3_ = vala_code_node_get_attribute (_tmp2_, "CCode"); _vala_code_node_unref0 (self->priv->ccode); self->priv->ccode = _tmp3_; _tmp4_ = self->priv->ccode; if (_tmp4_ != NULL) { ValaAttribute* _tmp5_; gboolean _tmp6_ = FALSE; ValaAttribute* _tmp7_; gchar* _tmp8_ = NULL; gchar* _tmp9_; ValaAttribute* _tmp10_; gboolean _tmp11_ = FALSE; ValaAttribute* _tmp12_; gchar* _tmp13_ = NULL; gchar* _tmp14_; ValaAttribute* _tmp15_; gchar* _tmp16_ = NULL; gchar* _tmp17_; ValaAttribute* _tmp18_; gboolean _tmp19_ = FALSE; ValaAttribute* _tmp23_; gboolean _tmp24_ = FALSE; ValaAttribute* _tmp25_; gchar* _tmp26_ = NULL; gchar* _tmp27_; _tmp5_ = self->priv->ccode; _tmp6_ = vala_attribute_get_bool (_tmp5_, "array_length", TRUE); vala_ccode_attribute_set_array_length (self, _tmp6_); _tmp7_ = self->priv->ccode; _tmp8_ = vala_attribute_get_string (_tmp7_, "array_length_type"); _tmp9_ = _tmp8_; vala_ccode_attribute_set_array_length_type (self, _tmp9_); _g_free0 (_tmp9_); _tmp10_ = self->priv->ccode; _tmp11_ = vala_attribute_get_bool (_tmp10_, "array_null_terminated", FALSE); vala_ccode_attribute_set_array_null_terminated (self, _tmp11_); _tmp12_ = self->priv->ccode; _tmp13_ = vala_attribute_get_string (_tmp12_, "array_length_cname"); _tmp14_ = _tmp13_; vala_ccode_attribute_set_array_length_name (self, _tmp14_); _g_free0 (_tmp14_); _tmp15_ = self->priv->ccode; _tmp16_ = vala_attribute_get_string (_tmp15_, "array_length_cexpr"); _tmp17_ = _tmp16_; vala_ccode_attribute_set_array_length_expr (self, _tmp17_); _g_free0 (_tmp17_); _tmp18_ = self->priv->ccode; _tmp19_ = vala_attribute_has_argument (_tmp18_, "pos"); if (_tmp19_) { ValaAttribute* _tmp20_; gdouble _tmp21_ = 0.0; gdouble* _tmp22_; _tmp20_ = self->priv->ccode; _tmp21_ = vala_attribute_get_double (_tmp20_, "pos", (gdouble) 0); _tmp22_ = __double_dup0 (&_tmp21_); _g_free0 (self->priv->_pos); self->priv->_pos = _tmp22_; } _tmp23_ = self->priv->ccode; _tmp24_ = vala_attribute_get_bool (_tmp23_, "delegate_target", TRUE); vala_ccode_attribute_set_delegate_target (self, _tmp24_); _tmp25_ = self->priv->ccode; _tmp26_ = vala_attribute_get_string (_tmp25_, "sentinel"); _tmp27_ = _tmp26_; vala_ccode_attribute_set_sentinel (self, _tmp27_); _g_free0 (_tmp27_); } _tmp28_ = node; _tmp29_ = vala_code_node_get_attribute (_tmp28_, "NoArrayLength"); _tmp30_ = _tmp29_; _tmp31_ = _tmp30_ != NULL; _vala_code_node_unref0 (_tmp30_); if (_tmp31_) { vala_ccode_attribute_set_array_length (self, FALSE); } _tmp32_ = self->priv->_sentinel; if (_tmp32_ == NULL) { vala_ccode_attribute_set_sentinel (self, "NULL"); } return self; } ValaCCodeAttribute* vala_ccode_attribute_new (ValaCodeNode* node) { return vala_ccode_attribute_construct (VALA_TYPE_CCODE_ATTRIBUTE, node); } static gpointer _vala_code_node_ref0 (gpointer self) { return self ? vala_code_node_ref (self) : NULL; } static glong string_strnlen (gchar* str, glong maxlen) { glong result = 0L; gchar* _tmp0_; glong _tmp1_; gchar* _tmp2_ = NULL; gchar* end; gchar* _tmp3_; _tmp0_ = str; _tmp1_ = maxlen; _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_); end = _tmp2_; _tmp3_ = end; if (_tmp3_ == NULL) { glong _tmp4_; _tmp4_ = maxlen; result = _tmp4_; return result; } else { gchar* _tmp5_; gchar* _tmp6_; _tmp5_ = end; _tmp6_ = str; result = (glong) (_tmp5_ - _tmp6_); return result; } } static gchar* string_substring (const gchar* self, glong offset, glong len) { gchar* result = NULL; glong string_length = 0L; gboolean _tmp0_ = FALSE; glong _tmp1_; gboolean _tmp3_; glong _tmp9_; glong _tmp15_; glong _tmp18_; glong _tmp19_; glong _tmp20_; glong _tmp21_; glong _tmp22_; gchar* _tmp23_ = NULL; g_return_val_if_fail (self != NULL, NULL); _tmp1_ = offset; if (_tmp1_ >= ((glong) 0)) { glong _tmp2_; _tmp2_ = len; _tmp0_ = _tmp2_ >= ((glong) 0); } else { _tmp0_ = FALSE; } _tmp3_ = _tmp0_; if (_tmp3_) { glong _tmp4_; glong _tmp5_; glong _tmp6_ = 0L; _tmp4_ = offset; _tmp5_ = len; _tmp6_ = string_strnlen ((gchar*) self, _tmp4_ + _tmp5_); string_length = _tmp6_; } else { gint _tmp7_; gint _tmp8_; _tmp7_ = strlen (self); _tmp8_ = _tmp7_; string_length = (glong) _tmp8_; } _tmp9_ = offset; if (_tmp9_ < ((glong) 0)) { glong _tmp10_; glong _tmp11_; glong _tmp12_; _tmp10_ = string_length; _tmp11_ = offset; offset = _tmp10_ + _tmp11_; _tmp12_ = offset; g_return_val_if_fail (_tmp12_ >= ((glong) 0), NULL); } else { glong _tmp13_; glong _tmp14_; _tmp13_ = offset; _tmp14_ = string_length; g_return_val_if_fail (_tmp13_ <= _tmp14_, NULL); } _tmp15_ = len; if (_tmp15_ < ((glong) 0)) { glong _tmp16_; glong _tmp17_; _tmp16_ = string_length; _tmp17_ = offset; len = _tmp16_ - _tmp17_; } _tmp18_ = offset; _tmp19_ = len; _tmp20_ = string_length; g_return_val_if_fail ((_tmp18_ + _tmp19_) <= _tmp20_, NULL); _tmp21_ = offset; _tmp22_ = len; _tmp23_ = g_strndup (((gchar*) self) + _tmp21_, (gsize) _tmp22_); result = _tmp23_; return result; } static gchar* vala_ccode_attribute_get_default_name (ValaCCodeAttribute* self) { gchar* result = NULL; ValaCodeNode* _tmp0_; ValaSymbol* _tmp1_; ValaSymbol* sym; ValaSymbol* _tmp2_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->node; _tmp1_ = _vala_code_node_ref0 (VALA_IS_SYMBOL (_tmp0_) ? ((ValaSymbol*) _tmp0_) : NULL); sym = _tmp1_; _tmp2_ = sym; if (_tmp2_ != NULL) { gboolean _tmp3_ = FALSE; ValaSymbol* _tmp4_; gboolean _tmp6_; _tmp4_ = sym; if (VALA_IS_CONSTANT (_tmp4_)) { ValaSymbol* _tmp5_; _tmp5_ = sym; _tmp3_ = !VALA_IS_ENUM_VALUE (_tmp5_); } else { _tmp3_ = FALSE; } _tmp6_ = _tmp3_; if (_tmp6_) { ValaSymbol* _tmp7_; ValaSymbol* _tmp8_; ValaSymbol* _tmp9_; ValaSymbol* _tmp14_; ValaSymbol* _tmp15_; ValaSymbol* _tmp16_; gchar* _tmp17_ = NULL; gchar* _tmp18_; gchar* _tmp19_ = NULL; gchar* _tmp20_; ValaSymbol* _tmp21_; const gchar* _tmp22_; const gchar* _tmp23_; gchar* _tmp24_ = NULL; gchar* _tmp25_; _tmp7_ = sym; _tmp8_ = vala_symbol_get_parent_symbol (_tmp7_); _tmp9_ = _tmp8_; if (VALA_IS_BLOCK (_tmp9_)) { ValaSymbol* _tmp10_; const gchar* _tmp11_; const gchar* _tmp12_; gchar* _tmp13_; _tmp10_ = sym; _tmp11_ = vala_symbol_get_name (_tmp10_); _tmp12_ = _tmp11_; _tmp13_ = g_strdup (_tmp12_); result = _tmp13_; _vala_code_node_unref0 (sym); return result; } _tmp14_ = sym; _tmp15_ = vala_symbol_get_parent_symbol (_tmp14_); _tmp16_ = _tmp15_; _tmp17_ = vala_ccode_base_module_get_ccode_lower_case_prefix (_tmp16_); _tmp18_ = _tmp17_; _tmp19_ = g_utf8_strup (_tmp18_, (gssize) (-1)); _tmp20_ = _tmp19_; _tmp21_ = sym; _tmp22_ = vala_symbol_get_name (_tmp21_); _tmp23_ = _tmp22_; _tmp24_ = g_strdup_printf ("%s%s", _tmp20_, _tmp23_); _tmp25_ = _tmp24_; _g_free0 (_tmp20_); _g_free0 (_tmp18_); result = _tmp25_; _vala_code_node_unref0 (sym); return result; } else { ValaSymbol* _tmp26_; _tmp26_ = sym; if (VALA_IS_FIELD (_tmp26_)) { ValaSymbol* _tmp27_; ValaMemberBinding _tmp28_; ValaMemberBinding _tmp29_; _tmp27_ = sym; _tmp28_ = vala_field_get_binding (VALA_FIELD (_tmp27_)); _tmp29_ = _tmp28_; if (_tmp29_ == VALA_MEMBER_BINDING_STATIC) { ValaSymbol* _tmp30_; ValaSymbol* _tmp31_; ValaSymbol* _tmp32_; gchar* _tmp33_ = NULL; gchar* _tmp34_; ValaSymbol* _tmp35_; const gchar* _tmp36_; const gchar* _tmp37_; gchar* _tmp38_ = NULL; gchar* _tmp39_; _tmp30_ = sym; _tmp31_ = vala_symbol_get_parent_symbol (_tmp30_); _tmp32_ = _tmp31_; _tmp33_ = vala_ccode_base_module_get_ccode_lower_case_prefix (_tmp32_); _tmp34_ = _tmp33_; _tmp35_ = sym; _tmp36_ = vala_symbol_get_name (_tmp35_); _tmp37_ = _tmp36_; _tmp38_ = g_strdup_printf ("%s%s", _tmp34_, _tmp37_); _tmp39_ = _tmp38_; _g_free0 (_tmp34_); result = _tmp39_; _vala_code_node_unref0 (sym); return result; } else { ValaSymbol* _tmp40_; const gchar* _tmp41_; const gchar* _tmp42_; gchar* _tmp43_; _tmp40_ = sym; _tmp41_ = vala_symbol_get_name (_tmp40_); _tmp42_ = _tmp41_; _tmp43_ = g_strdup (_tmp42_); result = _tmp43_; _vala_code_node_unref0 (sym); return result; } } else { ValaSymbol* _tmp44_; _tmp44_ = sym; if (VALA_IS_CREATION_METHOD (_tmp44_)) { ValaSymbol* _tmp45_; ValaCreationMethod* _tmp46_; ValaCreationMethod* m; gchar* infix = NULL; ValaCreationMethod* _tmp47_; ValaSymbol* _tmp48_; ValaSymbol* _tmp49_; ValaCreationMethod* _tmp52_; const gchar* _tmp53_; const gchar* _tmp54_; _tmp45_ = sym; _tmp46_ = _vala_code_node_ref0 (VALA_CREATION_METHOD (_tmp45_)); m = _tmp46_; _tmp47_ = m; _tmp48_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp47_); _tmp49_ = _tmp48_; if (VALA_IS_STRUCT (_tmp49_)) { gchar* _tmp50_; _tmp50_ = g_strdup ("init"); _g_free0 (infix); infix = _tmp50_; } else { gchar* _tmp51_; _tmp51_ = g_strdup ("new"); _g_free0 (infix); infix = _tmp51_; } _tmp52_ = m; _tmp53_ = vala_symbol_get_name ((ValaSymbol*) _tmp52_); _tmp54_ = _tmp53_; if (g_strcmp0 (_tmp54_, ".new") == 0) { ValaCreationMethod* _tmp55_; ValaSymbol* _tmp56_; ValaSymbol* _tmp57_; gchar* _tmp58_ = NULL; gchar* _tmp59_; const gchar* _tmp60_; gchar* _tmp61_ = NULL; gchar* _tmp62_; _tmp55_ = m; _tmp56_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp55_); _tmp57_ = _tmp56_; _tmp58_ = vala_ccode_base_module_get_ccode_lower_case_prefix (_tmp57_); _tmp59_ = _tmp58_; _tmp60_ = infix; _tmp61_ = g_strdup_printf ("%s%s", _tmp59_, _tmp60_); _tmp62_ = _tmp61_; _g_free0 (_tmp59_); result = _tmp62_; _g_free0 (infix); _vala_code_node_unref0 (m); _vala_code_node_unref0 (sym); return result; } else { ValaCreationMethod* _tmp63_; ValaSymbol* _tmp64_; ValaSymbol* _tmp65_; gchar* _tmp66_ = NULL; gchar* _tmp67_; const gchar* _tmp68_; ValaCreationMethod* _tmp69_; const gchar* _tmp70_; const gchar* _tmp71_; gchar* _tmp72_ = NULL; gchar* _tmp73_; _tmp63_ = m; _tmp64_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp63_); _tmp65_ = _tmp64_; _tmp66_ = vala_ccode_base_module_get_ccode_lower_case_prefix (_tmp65_); _tmp67_ = _tmp66_; _tmp68_ = infix; _tmp69_ = m; _tmp70_ = vala_symbol_get_name ((ValaSymbol*) _tmp69_); _tmp71_ = _tmp70_; _tmp72_ = g_strdup_printf ("%s%s_%s", _tmp67_, _tmp68_, _tmp71_); _tmp73_ = _tmp72_; _g_free0 (_tmp67_); result = _tmp73_; _g_free0 (infix); _vala_code_node_unref0 (m); _vala_code_node_unref0 (sym); return result; } _g_free0 (infix); _vala_code_node_unref0 (m); } else { ValaSymbol* _tmp74_; _tmp74_ = sym; if (VALA_IS_DYNAMIC_METHOD (_tmp74_)) { ValaSymbol* _tmp75_; const gchar* _tmp76_; const gchar* _tmp77_; gint _tmp78_; gchar* _tmp79_ = NULL; _tmp75_ = sym; _tmp76_ = vala_symbol_get_name (_tmp75_); _tmp77_ = _tmp76_; _tmp78_ = vala_ccode_attribute_dynamic_method_id; vala_ccode_attribute_dynamic_method_id = _tmp78_ + 1; _tmp79_ = g_strdup_printf ("_dynamic_%s%d", _tmp77_, _tmp78_); result = _tmp79_; _vala_code_node_unref0 (sym); return result; } else { ValaSymbol* _tmp80_; _tmp80_ = sym; if (VALA_IS_METHOD (_tmp80_)) { ValaSymbol* _tmp81_; ValaMethod* _tmp82_; ValaMethod* m; ValaMethod* _tmp83_; gboolean _tmp84_; gboolean _tmp85_; gboolean _tmp93_ = FALSE; ValaSymbol* _tmp94_; const gchar* _tmp95_; const gchar* _tmp96_; gboolean _tmp102_; _tmp81_ = sym; _tmp82_ = _vala_code_node_ref0 (VALA_METHOD (_tmp81_)); m = _tmp82_; _tmp83_ = m; _tmp84_ = vala_method_get_is_async_callback (_tmp83_); _tmp85_ = _tmp84_; if (_tmp85_) { ValaMethod* _tmp86_; ValaSymbol* _tmp87_; ValaSymbol* _tmp88_; gchar* _tmp89_ = NULL; gchar* _tmp90_; gchar* _tmp91_ = NULL; gchar* _tmp92_; _tmp86_ = m; _tmp87_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp86_); _tmp88_ = _tmp87_; _tmp89_ = vala_ccode_base_module_get_ccode_real_name ((ValaSymbol*) VALA_METHOD (_tmp88_)); _tmp90_ = _tmp89_; _tmp91_ = g_strdup_printf ("%s_co", _tmp90_); _tmp92_ = _tmp91_; _g_free0 (_tmp90_); result = _tmp92_; _vala_code_node_unref0 (m); _vala_code_node_unref0 (sym); return result; } _tmp94_ = sym; _tmp95_ = vala_symbol_get_name (_tmp94_); _tmp96_ = _tmp95_; if (g_strcmp0 (_tmp96_, "main") == 0) { ValaSymbol* _tmp97_; ValaSymbol* _tmp98_; ValaSymbol* _tmp99_; const gchar* _tmp100_; const gchar* _tmp101_; _tmp97_ = sym; _tmp98_ = vala_symbol_get_parent_symbol (_tmp97_); _tmp99_ = _tmp98_; _tmp100_ = vala_symbol_get_name (_tmp99_); _tmp101_ = _tmp100_; _tmp93_ = _tmp101_ == NULL; } else { _tmp93_ = FALSE; } _tmp102_ = _tmp93_; if (_tmp102_) { gchar* _tmp103_; _tmp103_ = g_strdup ("_vala_main"); result = _tmp103_; _vala_code_node_unref0 (m); _vala_code_node_unref0 (sym); return result; } else { ValaSymbol* _tmp104_; const gchar* _tmp105_; const gchar* _tmp106_; gboolean _tmp107_ = FALSE; _tmp104_ = sym; _tmp105_ = vala_symbol_get_name (_tmp104_); _tmp106_ = _tmp105_; _tmp107_ = g_str_has_prefix (_tmp106_, "_"); if (_tmp107_) { ValaSymbol* _tmp108_; ValaSymbol* _tmp109_; ValaSymbol* _tmp110_; gchar* _tmp111_ = NULL; gchar* _tmp112_; ValaSymbol* _tmp113_; const gchar* _tmp114_; const gchar* _tmp115_; gchar* _tmp116_ = NULL; gchar* _tmp117_; gchar* _tmp118_ = NULL; gchar* _tmp119_; _tmp108_ = sym; _tmp109_ = vala_symbol_get_parent_symbol (_tmp108_); _tmp110_ = _tmp109_; _tmp111_ = vala_ccode_base_module_get_ccode_lower_case_prefix (_tmp110_); _tmp112_ = _tmp111_; _tmp113_ = sym; _tmp114_ = vala_symbol_get_name (_tmp113_); _tmp115_ = _tmp114_; _tmp116_ = string_substring (_tmp115_, (glong) 1, (glong) (-1)); _tmp117_ = _tmp116_; _tmp118_ = g_strdup_printf ("_%s%s", _tmp112_, _tmp117_); _tmp119_ = _tmp118_; _g_free0 (_tmp117_); _g_free0 (_tmp112_); result = _tmp119_; _vala_code_node_unref0 (m); _vala_code_node_unref0 (sym); return result; } else { ValaSymbol* _tmp120_; ValaSymbol* _tmp121_; ValaSymbol* _tmp122_; gchar* _tmp123_ = NULL; gchar* _tmp124_; ValaSymbol* _tmp125_; const gchar* _tmp126_; const gchar* _tmp127_; gchar* _tmp128_ = NULL; gchar* _tmp129_; _tmp120_ = sym; _tmp121_ = vala_symbol_get_parent_symbol (_tmp120_); _tmp122_ = _tmp121_; _tmp123_ = vala_ccode_base_module_get_ccode_lower_case_prefix (_tmp122_); _tmp124_ = _tmp123_; _tmp125_ = sym; _tmp126_ = vala_symbol_get_name (_tmp125_); _tmp127_ = _tmp126_; _tmp128_ = g_strdup_printf ("%s%s", _tmp124_, _tmp127_); _tmp129_ = _tmp128_; _g_free0 (_tmp124_); result = _tmp129_; _vala_code_node_unref0 (m); _vala_code_node_unref0 (sym); return result; } } _vala_code_node_unref0 (m); } else { ValaSymbol* _tmp130_; _tmp130_ = sym; if (VALA_IS_PROPERTY_ACCESSOR (_tmp130_)) { ValaSymbol* _tmp131_; ValaPropertyAccessor* _tmp132_; ValaPropertyAccessor* acc; ValaPropertyAccessor* _tmp133_; ValaProperty* _tmp134_; ValaProperty* _tmp135_; ValaSymbol* _tmp136_; ValaSymbol* _tmp137_; ValaTypeSymbol* _tmp138_; ValaTypeSymbol* t; ValaPropertyAccessor* _tmp139_; gboolean _tmp140_; gboolean _tmp141_; _tmp131_ = sym; _tmp132_ = _vala_code_node_ref0 (VALA_PROPERTY_ACCESSOR (_tmp131_)); acc = _tmp132_; _tmp133_ = acc; _tmp134_ = vala_property_accessor_get_prop (_tmp133_); _tmp135_ = _tmp134_; _tmp136_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp135_); _tmp137_ = _tmp136_; _tmp138_ = _vala_code_node_ref0 (VALA_TYPESYMBOL (_tmp137_)); t = _tmp138_; _tmp139_ = acc; _tmp140_ = vala_property_accessor_get_readable (_tmp139_); _tmp141_ = _tmp140_; if (_tmp141_) { ValaTypeSymbol* _tmp142_; gchar* _tmp143_ = NULL; gchar* _tmp144_; ValaPropertyAccessor* _tmp145_; ValaProperty* _tmp146_; ValaProperty* _tmp147_; const gchar* _tmp148_; const gchar* _tmp149_; gchar* _tmp150_ = NULL; gchar* _tmp151_; _tmp142_ = t; _tmp143_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp142_); _tmp144_ = _tmp143_; _tmp145_ = acc; _tmp146_ = vala_property_accessor_get_prop (_tmp145_); _tmp147_ = _tmp146_; _tmp148_ = vala_symbol_get_name ((ValaSymbol*) _tmp147_); _tmp149_ = _tmp148_; _tmp150_ = g_strdup_printf ("%sget_%s", _tmp144_, _tmp149_); _tmp151_ = _tmp150_; _g_free0 (_tmp144_); result = _tmp151_; _vala_code_node_unref0 (t); _vala_code_node_unref0 (acc); _vala_code_node_unref0 (sym); return result; } else { ValaTypeSymbol* _tmp152_; gchar* _tmp153_ = NULL; gchar* _tmp154_; ValaPropertyAccessor* _tmp155_; ValaProperty* _tmp156_; ValaProperty* _tmp157_; const gchar* _tmp158_; const gchar* _tmp159_; gchar* _tmp160_ = NULL; gchar* _tmp161_; _tmp152_ = t; _tmp153_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp152_); _tmp154_ = _tmp153_; _tmp155_ = acc; _tmp156_ = vala_property_accessor_get_prop (_tmp155_); _tmp157_ = _tmp156_; _tmp158_ = vala_symbol_get_name ((ValaSymbol*) _tmp157_); _tmp159_ = _tmp158_; _tmp160_ = g_strdup_printf ("%sset_%s", _tmp154_, _tmp159_); _tmp161_ = _tmp160_; _g_free0 (_tmp154_); result = _tmp161_; _vala_code_node_unref0 (t); _vala_code_node_unref0 (acc); _vala_code_node_unref0 (sym); return result; } _vala_code_node_unref0 (t); _vala_code_node_unref0 (acc); } else { ValaSymbol* _tmp162_; _tmp162_ = sym; if (VALA_IS_SIGNAL (_tmp162_)) { ValaSymbol* _tmp163_; const gchar* _tmp164_; const gchar* _tmp165_; gchar* _tmp166_ = NULL; _tmp163_ = sym; _tmp164_ = vala_symbol_get_name (_tmp163_); _tmp165_ = _tmp164_; _tmp166_ = vala_symbol_camel_case_to_lower_case (_tmp165_); result = _tmp166_; _vala_code_node_unref0 (sym); return result; } else { gboolean _tmp167_ = FALSE; ValaSymbol* _tmp168_; gboolean _tmp172_; _tmp168_ = sym; if (VALA_IS_STRUCT (_tmp168_)) { ValaSymbol* _tmp169_; gboolean _tmp170_; gboolean _tmp171_; _tmp169_ = sym; _tmp170_ = vala_symbol_get_external (_tmp169_); _tmp171_ = _tmp170_; _tmp167_ = !_tmp171_; } else { _tmp167_ = FALSE; } _tmp172_ = _tmp167_; if (_tmp172_) { ValaSymbol* _tmp173_; ValaStruct* _tmp174_; ValaStruct* st; ValaStruct* _tmp175_; gboolean _tmp176_ = FALSE; _tmp173_ = sym; _tmp174_ = _vala_code_node_ref0 (VALA_STRUCT (_tmp173_)); st = _tmp174_; _tmp175_ = st; _tmp176_ = vala_struct_is_boolean_type (_tmp175_); if (_tmp176_) { gchar* _tmp177_; _tmp177_ = g_strdup ("bool"); result = _tmp177_; _vala_code_node_unref0 (st); _vala_code_node_unref0 (sym); return result; } else { ValaStruct* _tmp178_; gboolean _tmp179_ = FALSE; _tmp178_ = st; _tmp179_ = vala_struct_is_integer_type (_tmp178_); if (_tmp179_) { const gchar* _tmp180_ = NULL; ValaStruct* _tmp181_; gboolean _tmp182_; gboolean _tmp183_; const gchar* _tmp184_; ValaStruct* _tmp185_; gint _tmp186_; gint _tmp187_; gchar* _tmp188_ = NULL; _tmp181_ = st; _tmp182_ = vala_struct_get_signed (_tmp181_); _tmp183_ = _tmp182_; if (_tmp183_) { _tmp180_ = ""; } else { _tmp180_ = "u"; } _tmp184_ = _tmp180_; _tmp185_ = st; _tmp186_ = vala_struct_get_width (_tmp185_); _tmp187_ = _tmp186_; _tmp188_ = g_strdup_printf ("%sint%d_t", _tmp184_, _tmp187_); result = _tmp188_; _vala_code_node_unref0 (st); _vala_code_node_unref0 (sym); return result; } else { ValaStruct* _tmp189_; gboolean _tmp190_ = FALSE; _tmp189_ = st; _tmp190_ = vala_struct_is_floating_type (_tmp189_); if (_tmp190_) { const gchar* _tmp191_ = NULL; ValaStruct* _tmp192_; gint _tmp193_; gint _tmp194_; const gchar* _tmp195_; gchar* _tmp196_; _tmp192_ = st; _tmp193_ = vala_struct_get_width (_tmp192_); _tmp194_ = _tmp193_; if (_tmp194_ == 64) { _tmp191_ = "double"; } else { _tmp191_ = "float"; } _tmp195_ = _tmp191_; _tmp196_ = g_strdup (_tmp195_); result = _tmp196_; _vala_code_node_unref0 (st); _vala_code_node_unref0 (sym); return result; } else { ValaSymbol* _tmp197_; ValaSymbol* _tmp198_; ValaSymbol* _tmp199_; gchar* _tmp200_ = NULL; gchar* _tmp201_; ValaSymbol* _tmp202_; const gchar* _tmp203_; const gchar* _tmp204_; gchar* _tmp205_ = NULL; gchar* _tmp206_; _tmp197_ = sym; _tmp198_ = vala_symbol_get_parent_symbol (_tmp197_); _tmp199_ = _tmp198_; _tmp200_ = vala_ccode_base_module_get_ccode_prefix (_tmp199_); _tmp201_ = _tmp200_; _tmp202_ = sym; _tmp203_ = vala_symbol_get_name (_tmp202_); _tmp204_ = _tmp203_; _tmp205_ = g_strdup_printf ("%s%s", _tmp201_, _tmp204_); _tmp206_ = _tmp205_; _g_free0 (_tmp201_); result = _tmp206_; _vala_code_node_unref0 (st); _vala_code_node_unref0 (sym); return result; } } } _vala_code_node_unref0 (st); } else { ValaSymbol* _tmp207_; ValaSymbol* _tmp208_; ValaSymbol* _tmp209_; gchar* _tmp210_ = NULL; gchar* _tmp211_; ValaSymbol* _tmp212_; const gchar* _tmp213_; const gchar* _tmp214_; gchar* _tmp215_ = NULL; gchar* _tmp216_; _tmp207_ = sym; _tmp208_ = vala_symbol_get_parent_symbol (_tmp207_); _tmp209_ = _tmp208_; _tmp210_ = vala_ccode_base_module_get_ccode_prefix (_tmp209_); _tmp211_ = _tmp210_; _tmp212_ = sym; _tmp213_ = vala_symbol_get_name (_tmp212_); _tmp214_ = _tmp213_; _tmp215_ = g_strdup_printf ("%s%s", _tmp211_, _tmp214_); _tmp216_ = _tmp215_; _g_free0 (_tmp211_); result = _tmp216_; _vala_code_node_unref0 (sym); return result; } } } } } } } } } else { ValaCodeNode* _tmp217_; _tmp217_ = self->priv->node; if (VALA_IS_OBJECT_TYPE (_tmp217_)) { ValaCodeNode* _tmp218_; ValaObjectType* _tmp219_; ValaObjectType* type; ValaCodeContext* _tmp220_ = NULL; ValaCodeContext* _tmp221_; ValaProfile _tmp222_; ValaProfile _tmp223_; gboolean _tmp224_; gchar* cname = NULL; ValaObjectType* _tmp232_; gboolean _tmp233_; gboolean _tmp234_; const gchar* _tmp243_; gchar* _tmp244_ = NULL; _tmp218_ = self->priv->node; _tmp219_ = _vala_code_node_ref0 (VALA_OBJECT_TYPE (_tmp218_)); type = _tmp219_; _tmp220_ = vala_code_context_get (); _tmp221_ = _tmp220_; _tmp222_ = vala_code_context_get_profile (_tmp221_); _tmp223_ = _tmp222_; _tmp224_ = _tmp223_ == VALA_PROFILE_DOVA; _vala_code_context_unref0 (_tmp221_); if (_tmp224_) { ValaObjectType* _tmp225_; ValaObjectTypeSymbol* _tmp226_; ValaObjectTypeSymbol* _tmp227_; gchar* _tmp228_ = NULL; gchar* _tmp229_; gboolean _tmp230_; _tmp225_ = type; _tmp226_ = vala_object_type_get_type_symbol (_tmp225_); _tmp227_ = _tmp226_; _tmp228_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp227_); _tmp229_ = _tmp228_; _tmp230_ = g_strcmp0 (_tmp229_, "string") == 0; _g_free0 (_tmp229_); if (_tmp230_) { gchar* _tmp231_; _tmp231_ = g_strdup ("string_t"); result = _tmp231_; _vala_code_node_unref0 (type); _vala_code_node_unref0 (sym); return result; } } _tmp232_ = type; _tmp233_ = vala_data_type_get_value_owned ((ValaDataType*) _tmp232_); _tmp234_ = _tmp233_; if (!_tmp234_) { ValaObjectType* _tmp235_; ValaObjectTypeSymbol* _tmp236_; ValaObjectTypeSymbol* _tmp237_; gchar* _tmp238_ = NULL; _tmp235_ = type; _tmp236_ = vala_object_type_get_type_symbol (_tmp235_); _tmp237_ = _tmp236_; _tmp238_ = vala_ccode_base_module_get_ccode_const_name ((ValaCodeNode*) _tmp237_); _g_free0 (cname); cname = _tmp238_; } else { ValaObjectType* _tmp239_; ValaObjectTypeSymbol* _tmp240_; ValaObjectTypeSymbol* _tmp241_; gchar* _tmp242_ = NULL; _tmp239_ = type; _tmp240_ = vala_object_type_get_type_symbol (_tmp239_); _tmp241_ = _tmp240_; _tmp242_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp241_); _g_free0 (cname); cname = _tmp242_; } _tmp243_ = cname; _tmp244_ = g_strdup_printf ("%s*", _tmp243_); result = _tmp244_; _g_free0 (cname); _vala_code_node_unref0 (type); _vala_code_node_unref0 (sym); return result; } else { ValaCodeNode* _tmp245_; _tmp245_ = self->priv->node; if (VALA_IS_ARRAY_TYPE (_tmp245_)) { ValaCodeNode* _tmp246_; ValaArrayType* _tmp247_; ValaArrayType* type; ValaArrayType* _tmp248_; ValaDataType* _tmp249_; ValaDataType* _tmp250_; gchar* _tmp251_ = NULL; gchar* cname; ValaArrayType* _tmp252_; gboolean _tmp253_; gboolean _tmp254_; _tmp246_ = self->priv->node; _tmp247_ = _vala_code_node_ref0 (VALA_ARRAY_TYPE (_tmp246_)); type = _tmp247_; _tmp248_ = type; _tmp249_ = vala_array_type_get_element_type (_tmp248_); _tmp250_ = _tmp249_; _tmp251_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp250_); cname = _tmp251_; _tmp252_ = type; _tmp253_ = vala_array_type_get_inline_allocated (_tmp252_); _tmp254_ = _tmp253_; if (_tmp254_) { result = cname; _vala_code_node_unref0 (type); _vala_code_node_unref0 (sym); return result; } else { ValaCodeContext* _tmp255_ = NULL; ValaCodeContext* _tmp256_; ValaProfile _tmp257_; ValaProfile _tmp258_; gboolean _tmp259_; _tmp255_ = vala_code_context_get (); _tmp256_ = _tmp255_; _tmp257_ = vala_code_context_get_profile (_tmp256_); _tmp258_ = _tmp257_; _tmp259_ = _tmp258_ == VALA_PROFILE_DOVA; _vala_code_context_unref0 (_tmp256_); if (_tmp259_) { gchar* _tmp260_; _tmp260_ = g_strdup ("DovaArray"); result = _tmp260_; _g_free0 (cname); _vala_code_node_unref0 (type); _vala_code_node_unref0 (sym); return result; } else { const gchar* _tmp261_; gchar* _tmp262_ = NULL; _tmp261_ = cname; _tmp262_ = g_strdup_printf ("%s*", _tmp261_); result = _tmp262_; _g_free0 (cname); _vala_code_node_unref0 (type); _vala_code_node_unref0 (sym); return result; } } _g_free0 (cname); _vala_code_node_unref0 (type); } else { ValaCodeNode* _tmp263_; _tmp263_ = self->priv->node; if (VALA_IS_DELEGATE_TYPE (_tmp263_)) { ValaCodeNode* _tmp264_; ValaDelegateType* _tmp265_; ValaDelegateType* type; ValaCodeContext* _tmp266_ = NULL; ValaCodeContext* _tmp267_; ValaProfile _tmp268_; ValaProfile _tmp269_; gboolean _tmp270_; _tmp264_ = self->priv->node; _tmp265_ = _vala_code_node_ref0 (VALA_DELEGATE_TYPE (_tmp264_)); type = _tmp265_; _tmp266_ = vala_code_context_get (); _tmp267_ = _tmp266_; _tmp268_ = vala_code_context_get_profile (_tmp267_); _tmp269_ = _tmp268_; _tmp270_ = _tmp269_ == VALA_PROFILE_DOVA; _vala_code_context_unref0 (_tmp267_); if (_tmp270_) { ValaDelegateType* _tmp271_; ValaDelegate* _tmp272_; ValaDelegate* _tmp273_; gchar* _tmp274_ = NULL; gchar* _tmp275_; gchar* _tmp276_ = NULL; gchar* _tmp277_; _tmp271_ = type; _tmp272_ = vala_delegate_type_get_delegate_symbol (_tmp271_); _tmp273_ = _tmp272_; _tmp274_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp273_); _tmp275_ = _tmp274_; _tmp276_ = g_strdup_printf ("%s*", _tmp275_); _tmp277_ = _tmp276_; _g_free0 (_tmp275_); result = _tmp277_; _vala_code_node_unref0 (type); _vala_code_node_unref0 (sym); return result; } else { ValaDelegateType* _tmp278_; ValaDelegate* _tmp279_; ValaDelegate* _tmp280_; gchar* _tmp281_ = NULL; _tmp278_ = type; _tmp279_ = vala_delegate_type_get_delegate_symbol (_tmp278_); _tmp280_ = _tmp279_; _tmp281_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp280_); result = _tmp281_; _vala_code_node_unref0 (type); _vala_code_node_unref0 (sym); return result; } _vala_code_node_unref0 (type); } else { ValaCodeNode* _tmp282_; _tmp282_ = self->priv->node; if (VALA_IS_ERROR_TYPE (_tmp282_)) { gchar* _tmp283_; _tmp283_ = g_strdup ("GError*"); result = _tmp283_; _vala_code_node_unref0 (sym); return result; } else { ValaCodeNode* _tmp284_; _tmp284_ = self->priv->node; if (VALA_IS_GENERIC_TYPE (_tmp284_)) { ValaCodeContext* _tmp285_ = NULL; ValaCodeContext* _tmp286_; ValaProfile _tmp287_; ValaProfile _tmp288_; gboolean _tmp289_; _tmp285_ = vala_code_context_get (); _tmp286_ = _tmp285_; _tmp287_ = vala_code_context_get_profile (_tmp286_); _tmp288_ = _tmp287_; _tmp289_ = _tmp288_ == VALA_PROFILE_GOBJECT; _vala_code_context_unref0 (_tmp286_); if (_tmp289_) { ValaCodeNode* _tmp290_; ValaGenericType* _tmp291_; ValaGenericType* type; ValaGenericType* _tmp292_; gboolean _tmp293_; gboolean _tmp294_; _tmp290_ = self->priv->node; _tmp291_ = _vala_code_node_ref0 (VALA_GENERIC_TYPE (_tmp290_)); type = _tmp291_; _tmp292_ = type; _tmp293_ = vala_data_type_get_value_owned ((ValaDataType*) _tmp292_); _tmp294_ = _tmp293_; if (_tmp294_) { gchar* _tmp295_; _tmp295_ = g_strdup ("gpointer"); result = _tmp295_; _vala_code_node_unref0 (type); _vala_code_node_unref0 (sym); return result; } else { gchar* _tmp296_; _tmp296_ = g_strdup ("gconstpointer"); result = _tmp296_; _vala_code_node_unref0 (type); _vala_code_node_unref0 (sym); return result; } _vala_code_node_unref0 (type); } else { gchar* _tmp297_; _tmp297_ = g_strdup ("void *"); result = _tmp297_; _vala_code_node_unref0 (sym); return result; } } else { ValaCodeNode* _tmp298_; _tmp298_ = self->priv->node; if (VALA_IS_METHOD_TYPE (_tmp298_)) { gchar* _tmp299_; _tmp299_ = g_strdup ("gpointer"); result = _tmp299_; _vala_code_node_unref0 (sym); return result; } else { ValaCodeNode* _tmp300_; _tmp300_ = self->priv->node; if (VALA_IS_NULL_TYPE (_tmp300_)) { ValaCodeContext* _tmp301_ = NULL; ValaCodeContext* _tmp302_; ValaProfile _tmp303_; ValaProfile _tmp304_; gboolean _tmp305_; _tmp301_ = vala_code_context_get (); _tmp302_ = _tmp301_; _tmp303_ = vala_code_context_get_profile (_tmp302_); _tmp304_ = _tmp303_; _tmp305_ = _tmp304_ == VALA_PROFILE_GOBJECT; _vala_code_context_unref0 (_tmp302_); if (_tmp305_) { gchar* _tmp306_; _tmp306_ = g_strdup ("gpointer"); result = _tmp306_; _vala_code_node_unref0 (sym); return result; } else { gchar* _tmp307_; _tmp307_ = g_strdup ("void *"); result = _tmp307_; _vala_code_node_unref0 (sym); return result; } } else { ValaCodeNode* _tmp308_; _tmp308_ = self->priv->node; if (VALA_IS_POINTER_TYPE (_tmp308_)) { ValaCodeNode* _tmp309_; ValaPointerType* _tmp310_; ValaPointerType* type; gboolean _tmp311_ = FALSE; ValaPointerType* _tmp312_; ValaDataType* _tmp313_; ValaDataType* _tmp314_; ValaTypeSymbol* _tmp315_; ValaTypeSymbol* _tmp316_; gboolean _tmp323_; _tmp309_ = self->priv->node; _tmp310_ = _vala_code_node_ref0 (VALA_POINTER_TYPE (_tmp309_)); type = _tmp310_; _tmp312_ = type; _tmp313_ = vala_pointer_type_get_base_type (_tmp312_); _tmp314_ = _tmp313_; _tmp315_ = vala_data_type_get_data_type (_tmp314_); _tmp316_ = _tmp315_; if (_tmp316_ != NULL) { ValaPointerType* _tmp317_; ValaDataType* _tmp318_; ValaDataType* _tmp319_; ValaTypeSymbol* _tmp320_; ValaTypeSymbol* _tmp321_; gboolean _tmp322_ = FALSE; _tmp317_ = type; _tmp318_ = vala_pointer_type_get_base_type (_tmp317_); _tmp319_ = _tmp318_; _tmp320_ = vala_data_type_get_data_type (_tmp319_); _tmp321_ = _tmp320_; _tmp322_ = vala_typesymbol_is_reference_type (_tmp321_); _tmp311_ = _tmp322_; } else { _tmp311_ = FALSE; } _tmp323_ = _tmp311_; if (_tmp323_) { ValaPointerType* _tmp324_; ValaDataType* _tmp325_; ValaDataType* _tmp326_; gchar* _tmp327_ = NULL; _tmp324_ = type; _tmp325_ = vala_pointer_type_get_base_type (_tmp324_); _tmp326_ = _tmp325_; _tmp327_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp326_); result = _tmp327_; _vala_code_node_unref0 (type); _vala_code_node_unref0 (sym); return result; } else { ValaPointerType* _tmp328_; ValaDataType* _tmp329_; ValaDataType* _tmp330_; gchar* _tmp331_ = NULL; gchar* _tmp332_; gchar* _tmp333_ = NULL; gchar* _tmp334_; _tmp328_ = type; _tmp329_ = vala_pointer_type_get_base_type (_tmp328_); _tmp330_ = _tmp329_; _tmp331_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp330_); _tmp332_ = _tmp331_; _tmp333_ = g_strdup_printf ("%s*", _tmp332_); _tmp334_ = _tmp333_; _g_free0 (_tmp332_); result = _tmp334_; _vala_code_node_unref0 (type); _vala_code_node_unref0 (sym); return result; } _vala_code_node_unref0 (type); } else { ValaCodeNode* _tmp335_; _tmp335_ = self->priv->node; if (VALA_IS_VOID_TYPE (_tmp335_)) { gchar* _tmp336_; _tmp336_ = g_strdup ("void"); result = _tmp336_; _vala_code_node_unref0 (sym); return result; } else { ValaCodeNode* _tmp337_; _tmp337_ = self->priv->node; if (VALA_IS_CLASS_TYPE (_tmp337_)) { ValaCodeNode* _tmp338_; ValaClassType* _tmp339_; ValaClassType* type; ValaClassType* _tmp340_; ValaClass* _tmp341_; ValaClass* _tmp342_; gchar* _tmp343_ = NULL; gchar* _tmp344_; gchar* _tmp345_ = NULL; gchar* _tmp346_; _tmp338_ = self->priv->node; _tmp339_ = _vala_code_node_ref0 (VALA_CLASS_TYPE (_tmp338_)); type = _tmp339_; _tmp340_ = type; _tmp341_ = vala_class_type_get_class_symbol (_tmp340_); _tmp342_ = _tmp341_; _tmp343_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp342_); _tmp344_ = _tmp343_; _tmp345_ = g_strdup_printf ("%sClass*", _tmp344_); _tmp346_ = _tmp345_; _g_free0 (_tmp344_); result = _tmp346_; _vala_code_node_unref0 (type); _vala_code_node_unref0 (sym); return result; } else { ValaCodeNode* _tmp347_; _tmp347_ = self->priv->node; if (VALA_IS_INTERFACE_TYPE (_tmp347_)) { ValaCodeNode* _tmp348_; ValaInterfaceType* _tmp349_; ValaInterfaceType* type; ValaInterfaceType* _tmp350_; ValaInterface* _tmp351_; ValaInterface* _tmp352_; gchar* _tmp353_ = NULL; gchar* _tmp354_; gchar* _tmp355_ = NULL; gchar* _tmp356_; _tmp348_ = self->priv->node; _tmp349_ = _vala_code_node_ref0 (VALA_INTERFACE_TYPE (_tmp348_)); type = _tmp349_; _tmp350_ = type; _tmp351_ = vala_interface_type_get_interface_symbol (_tmp350_); _tmp352_ = _tmp351_; _tmp353_ = vala_ccode_base_module_get_ccode_type_name (_tmp352_); _tmp354_ = _tmp353_; _tmp355_ = g_strdup_printf ("%s*", _tmp354_); _tmp356_ = _tmp355_; _g_free0 (_tmp354_); result = _tmp356_; _vala_code_node_unref0 (type); _vala_code_node_unref0 (sym); return result; } else { ValaCodeNode* _tmp357_; _tmp357_ = self->priv->node; if (VALA_IS_VALUE_TYPE (_tmp357_)) { ValaCodeNode* _tmp358_; ValaValueType* _tmp359_; ValaValueType* type; ValaValueType* _tmp360_; ValaTypeSymbol* _tmp361_; ValaTypeSymbol* _tmp362_; gchar* _tmp363_ = NULL; gchar* cname; ValaValueType* _tmp364_; gboolean _tmp365_; gboolean _tmp366_; _tmp358_ = self->priv->node; _tmp359_ = _vala_code_node_ref0 (VALA_VALUE_TYPE (_tmp358_)); type = _tmp359_; _tmp360_ = type; _tmp361_ = vala_value_type_get_type_symbol (_tmp360_); _tmp362_ = _tmp361_; _tmp363_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp362_); cname = _tmp363_; _tmp364_ = type; _tmp365_ = vala_data_type_get_nullable ((ValaDataType*) _tmp364_); _tmp366_ = _tmp365_; if (_tmp366_) { const gchar* _tmp367_; gchar* _tmp368_ = NULL; _tmp367_ = cname; _tmp368_ = g_strdup_printf ("%s*", _tmp367_); result = _tmp368_; _g_free0 (cname); _vala_code_node_unref0 (type); _vala_code_node_unref0 (sym); return result; } else { result = cname; _vala_code_node_unref0 (type); _vala_code_node_unref0 (sym); return result; } _g_free0 (cname); _vala_code_node_unref0 (type); } else { ValaCodeNode* _tmp369_; _tmp369_ = self->priv->node; if (VALA_IS_CTYPE (_tmp369_)) { ValaCodeNode* _tmp370_; const gchar* _tmp371_; const gchar* _tmp372_; gchar* _tmp373_; _tmp370_ = self->priv->node; _tmp371_ = vala_ctype_get_ctype_name (VALA_CTYPE (_tmp370_)); _tmp372_ = _tmp371_; _tmp373_ = g_strdup (_tmp372_); result = _tmp373_; _vala_code_node_unref0 (sym); return result; } else { ValaCodeNode* _tmp374_; ValaSourceReference* _tmp375_; ValaSourceReference* _tmp376_; gchar* _tmp377_; _tmp374_ = self->priv->node; _tmp375_ = vala_code_node_get_source_reference (_tmp374_); _tmp376_ = _tmp375_; vala_report_error (_tmp376_, "Unresolved type reference"); _tmp377_ = g_strdup (""); result = _tmp377_; _vala_code_node_unref0 (sym); return result; } } } } } } } } } } } } } } _vala_code_node_unref0 (sym); } static gchar* vala_ccode_attribute_get_default_header_filenames (ValaCCodeAttribute* self) { gchar* result = NULL; gboolean _tmp0_ = FALSE; ValaSymbol* _tmp1_; gboolean _tmp3_; ValaSymbol* _tmp5_; ValaSymbol* _tmp6_; ValaSymbol* _tmp7_; gboolean _tmp15_ = FALSE; ValaSymbol* _tmp16_; ValaSourceReference* _tmp17_; ValaSourceReference* _tmp18_; gboolean _tmp22_; gchar* _tmp29_; g_return_val_if_fail (self != NULL, NULL); _tmp1_ = self->priv->sym; if (VALA_IS_DYNAMIC_PROPERTY (_tmp1_)) { _tmp0_ = TRUE; } else { ValaSymbol* _tmp2_; _tmp2_ = self->priv->sym; _tmp0_ = VALA_IS_DYNAMIC_METHOD (_tmp2_); } _tmp3_ = _tmp0_; if (_tmp3_) { gchar* _tmp4_; _tmp4_ = g_strdup (""); result = _tmp4_; return result; } _tmp5_ = self->priv->sym; _tmp6_ = vala_symbol_get_parent_symbol (_tmp5_); _tmp7_ = _tmp6_; if (_tmp7_ != NULL) { ValaSymbol* _tmp8_; ValaSymbol* _tmp9_; ValaSymbol* _tmp10_; gchar* _tmp11_ = NULL; gchar* parent_headers; const gchar* _tmp12_; gint _tmp13_; gint _tmp14_; _tmp8_ = self->priv->sym; _tmp9_ = vala_symbol_get_parent_symbol (_tmp8_); _tmp10_ = _tmp9_; _tmp11_ = vala_ccode_base_module_get_ccode_header_filenames (_tmp10_); parent_headers = _tmp11_; _tmp12_ = parent_headers; _tmp13_ = strlen (_tmp12_); _tmp14_ = _tmp13_; if (_tmp14_ > 0) { result = parent_headers; return result; } _g_free0 (parent_headers); } _tmp16_ = self->priv->sym; _tmp17_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp16_); _tmp18_ = _tmp17_; if (_tmp18_ != NULL) { ValaSymbol* _tmp19_; gboolean _tmp20_; gboolean _tmp21_; _tmp19_ = self->priv->sym; _tmp20_ = vala_symbol_get_external_package (_tmp19_); _tmp21_ = _tmp20_; _tmp15_ = !_tmp21_; } else { _tmp15_ = FALSE; } _tmp22_ = _tmp15_; if (_tmp22_) { ValaSymbol* _tmp23_; ValaSourceReference* _tmp24_; ValaSourceReference* _tmp25_; ValaSourceFile* _tmp26_; ValaSourceFile* _tmp27_; gchar* _tmp28_ = NULL; _tmp23_ = self->priv->sym; _tmp24_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp23_); _tmp25_ = _tmp24_; _tmp26_ = vala_source_reference_get_file (_tmp25_); _tmp27_ = _tmp26_; _tmp28_ = vala_source_file_get_cinclude_filename (_tmp27_); result = _tmp28_; return result; } _tmp29_ = g_strdup (""); result = _tmp29_; return result; } static gchar* vala_ccode_attribute_get_default_prefix (ValaCCodeAttribute* self) { gchar* result = NULL; ValaSymbol* _tmp0_; gchar* _tmp38_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->sym; if (VALA_IS_OBJECT_TYPE_SYMBOL (_tmp0_)) { const gchar* _tmp1_; const gchar* _tmp2_; gchar* _tmp3_; _tmp1_ = vala_ccode_attribute_get_name (self); _tmp2_ = _tmp1_; _tmp3_ = g_strdup (_tmp2_); result = _tmp3_; return result; } else { gboolean _tmp4_ = FALSE; ValaSymbol* _tmp5_; gboolean _tmp7_; _tmp5_ = self->priv->sym; if (VALA_IS_ENUM (_tmp5_)) { _tmp4_ = TRUE; } else { ValaSymbol* _tmp6_; _tmp6_ = self->priv->sym; _tmp4_ = VALA_IS_ERROR_DOMAIN (_tmp6_); } _tmp7_ = _tmp4_; if (_tmp7_) { ValaSymbol* _tmp8_; gchar* _tmp9_ = NULL; gchar* _tmp10_; gchar* _tmp11_ = NULL; gchar* _tmp12_; _tmp8_ = self->priv->sym; _tmp9_ = vala_ccode_base_module_get_ccode_upper_case_name (_tmp8_, NULL); _tmp10_ = _tmp9_; _tmp11_ = g_strdup_printf ("%s_", _tmp10_); _tmp12_ = _tmp11_; _g_free0 (_tmp10_); result = _tmp12_; return result; } else { ValaSymbol* _tmp13_; _tmp13_ = self->priv->sym; if (VALA_IS_NAMESPACE (_tmp13_)) { ValaSymbol* _tmp14_; const gchar* _tmp15_; const gchar* _tmp16_; _tmp14_ = self->priv->sym; _tmp15_ = vala_symbol_get_name (_tmp14_); _tmp16_ = _tmp15_; if (_tmp16_ != NULL) { gchar* _tmp17_; gchar* parent_prefix; ValaSymbol* _tmp18_; ValaSymbol* _tmp19_; ValaSymbol* _tmp20_; const gchar* _tmp25_; ValaSymbol* _tmp26_; const gchar* _tmp27_; const gchar* _tmp28_; gchar* _tmp29_ = NULL; _tmp17_ = g_strdup (""); parent_prefix = _tmp17_; _tmp18_ = self->priv->sym; _tmp19_ = vala_symbol_get_parent_symbol (_tmp18_); _tmp20_ = _tmp19_; if (_tmp20_ != NULL) { ValaSymbol* _tmp21_; ValaSymbol* _tmp22_; ValaSymbol* _tmp23_; gchar* _tmp24_ = NULL; _tmp21_ = self->priv->sym; _tmp22_ = vala_symbol_get_parent_symbol (_tmp21_); _tmp23_ = _tmp22_; _tmp24_ = vala_ccode_base_module_get_ccode_prefix (_tmp23_); _g_free0 (parent_prefix); parent_prefix = _tmp24_; } _tmp25_ = parent_prefix; _tmp26_ = self->priv->sym; _tmp27_ = vala_symbol_get_name (_tmp26_); _tmp28_ = _tmp27_; _tmp29_ = g_strdup_printf ("%s%s", _tmp25_, _tmp28_); result = _tmp29_; _g_free0 (parent_prefix); return result; } else { gchar* _tmp30_; _tmp30_ = g_strdup (""); result = _tmp30_; return result; } } else { ValaSymbol* _tmp31_; const gchar* _tmp32_; const gchar* _tmp33_; _tmp31_ = self->priv->sym; _tmp32_ = vala_symbol_get_name (_tmp31_); _tmp33_ = _tmp32_; if (_tmp33_ != NULL) { ValaSymbol* _tmp34_; const gchar* _tmp35_; const gchar* _tmp36_; gchar* _tmp37_; _tmp34_ = self->priv->sym; _tmp35_ = vala_symbol_get_name (_tmp34_); _tmp36_ = _tmp35_; _tmp37_ = g_strdup (_tmp36_); result = _tmp37_; return result; } } } } _tmp38_ = g_strdup (""); result = _tmp38_; return result; } static gchar* vala_ccode_attribute_get_default_lower_case_prefix (ValaCCodeAttribute* self) { gchar* result = NULL; ValaSymbol* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->sym; if (VALA_IS_NAMESPACE (_tmp0_)) { ValaSymbol* _tmp1_; const gchar* _tmp2_; const gchar* _tmp3_; _tmp1_ = self->priv->sym; _tmp2_ = vala_symbol_get_name (_tmp1_); _tmp3_ = _tmp2_; if (_tmp3_ == NULL) { gchar* _tmp4_; _tmp4_ = g_strdup (""); result = _tmp4_; return result; } else { ValaSymbol* _tmp5_; ValaSymbol* _tmp6_; ValaSymbol* _tmp7_; gchar* _tmp8_ = NULL; gchar* _tmp9_; ValaSymbol* _tmp10_; const gchar* _tmp11_; const gchar* _tmp12_; gchar* _tmp13_ = NULL; gchar* _tmp14_; gchar* _tmp15_ = NULL; gchar* _tmp16_; _tmp5_ = self->priv->sym; _tmp6_ = vala_symbol_get_parent_symbol (_tmp5_); _tmp7_ = _tmp6_; _tmp8_ = vala_ccode_base_module_get_ccode_lower_case_prefix (_tmp7_); _tmp9_ = _tmp8_; _tmp10_ = self->priv->sym; _tmp11_ = vala_symbol_get_name (_tmp10_); _tmp12_ = _tmp11_; _tmp13_ = vala_symbol_camel_case_to_lower_case (_tmp12_); _tmp14_ = _tmp13_; _tmp15_ = g_strdup_printf ("%s%s_", _tmp9_, _tmp14_); _tmp16_ = _tmp15_; _g_free0 (_tmp14_); _g_free0 (_tmp9_); result = _tmp16_; return result; } } else { ValaSymbol* _tmp17_; _tmp17_ = self->priv->sym; if (VALA_IS_METHOD (_tmp17_)) { gchar* _tmp18_; _tmp18_ = g_strdup (""); result = _tmp18_; return result; } else { ValaSymbol* _tmp19_; gchar* _tmp20_ = NULL; gchar* _tmp21_; gchar* _tmp22_ = NULL; gchar* _tmp23_; _tmp19_ = self->priv->sym; _tmp20_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp19_, NULL); _tmp21_ = _tmp20_; _tmp22_ = g_strdup_printf ("%s_", _tmp21_); _tmp23_ = _tmp22_; _g_free0 (_tmp21_); result = _tmp23_; return result; } } } static gchar* vala_ccode_attribute_get_default_lower_case_suffix (ValaCCodeAttribute* self) { gchar* result = NULL; ValaSymbol* _tmp0_; gchar* _tmp39_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->sym; if (VALA_IS_OBJECT_TYPE_SYMBOL (_tmp0_)) { ValaSymbol* _tmp1_; const gchar* _tmp2_; const gchar* _tmp3_; gchar* _tmp4_ = NULL; gchar* csuffix; const gchar* _tmp5_; gboolean _tmp6_ = FALSE; const gchar* _tmp21_; gboolean _tmp22_ = FALSE; _tmp1_ = self->priv->sym; _tmp2_ = vala_symbol_get_name (_tmp1_); _tmp3_ = _tmp2_; _tmp4_ = vala_symbol_camel_case_to_lower_case (_tmp3_); csuffix = _tmp4_; _tmp5_ = csuffix; _tmp6_ = g_str_has_prefix (_tmp5_, "type_"); if (_tmp6_) { const gchar* _tmp7_; gint _tmp8_; gint _tmp9_; gchar* _tmp10_ = NULL; gchar* _tmp11_; gchar* _tmp12_; _tmp7_ = csuffix; _tmp8_ = strlen ("type_"); _tmp9_ = _tmp8_; _tmp10_ = string_substring (_tmp7_, (glong) _tmp9_, (glong) (-1)); _tmp11_ = _tmp10_; _tmp12_ = g_strconcat ("type", _tmp11_, NULL); _g_free0 (csuffix); csuffix = _tmp12_; _g_free0 (_tmp11_); } else { const gchar* _tmp13_; gboolean _tmp14_ = FALSE; _tmp13_ = csuffix; _tmp14_ = g_str_has_prefix (_tmp13_, "is_"); if (_tmp14_) { const gchar* _tmp15_; gint _tmp16_; gint _tmp17_; gchar* _tmp18_ = NULL; gchar* _tmp19_; gchar* _tmp20_; _tmp15_ = csuffix; _tmp16_ = strlen ("is_"); _tmp17_ = _tmp16_; _tmp18_ = string_substring (_tmp15_, (glong) _tmp17_, (glong) (-1)); _tmp19_ = _tmp18_; _tmp20_ = g_strconcat ("is", _tmp19_, NULL); _g_free0 (csuffix); csuffix = _tmp20_; _g_free0 (_tmp19_); } } _tmp21_ = csuffix; _tmp22_ = g_str_has_suffix (_tmp21_, "_class"); if (_tmp22_) { const gchar* _tmp23_; const gchar* _tmp24_; gint _tmp25_; gint _tmp26_; gint _tmp27_; gint _tmp28_; gchar* _tmp29_ = NULL; gchar* _tmp30_; gchar* _tmp31_; _tmp23_ = csuffix; _tmp24_ = csuffix; _tmp25_ = strlen (_tmp24_); _tmp26_ = _tmp25_; _tmp27_ = strlen ("_class"); _tmp28_ = _tmp27_; _tmp29_ = string_substring (_tmp23_, (glong) 0, (glong) (_tmp26_ - _tmp28_)); _tmp30_ = _tmp29_; _tmp31_ = g_strconcat (_tmp30_, "class", NULL); _g_free0 (csuffix); csuffix = _tmp31_; _g_free0 (_tmp30_); } result = csuffix; return result; } else { ValaSymbol* _tmp32_; const gchar* _tmp33_; const gchar* _tmp34_; _tmp32_ = self->priv->sym; _tmp33_ = vala_symbol_get_name (_tmp32_); _tmp34_ = _tmp33_; if (_tmp34_ != NULL) { ValaSymbol* _tmp35_; const gchar* _tmp36_; const gchar* _tmp37_; gchar* _tmp38_ = NULL; _tmp35_ = self->priv->sym; _tmp36_ = vala_symbol_get_name (_tmp35_); _tmp37_ = _tmp36_; _tmp38_ = vala_symbol_camel_case_to_lower_case (_tmp37_); result = _tmp38_; return result; } } _tmp39_ = g_strdup (""); result = _tmp39_; return result; } static gchar* vala_ccode_attribute_get_default_ref_function (ValaCCodeAttribute* self) { gchar* result = NULL; ValaSymbol* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->sym; if (VALA_IS_CLASS (_tmp0_)) { ValaSymbol* _tmp1_; ValaClass* _tmp2_; ValaClass* cl; ValaClass* _tmp3_; gboolean _tmp4_ = FALSE; _tmp1_ = self->priv->sym; _tmp2_ = _vala_code_node_ref0 (VALA_CLASS (_tmp1_)); cl = _tmp2_; _tmp3_ = cl; _tmp4_ = vala_class_is_fundamental (_tmp3_); if (_tmp4_) { const gchar* _tmp5_; const gchar* _tmp6_; gchar* _tmp7_; _tmp5_ = vala_ccode_attribute_get_lower_case_prefix (self); _tmp6_ = _tmp5_; _tmp7_ = g_strconcat (_tmp6_, "ref", NULL); result = _tmp7_; _vala_code_node_unref0 (cl); return result; } else { ValaClass* _tmp8_; ValaClass* _tmp9_; ValaClass* _tmp10_; _tmp8_ = cl; _tmp9_ = vala_class_get_base_class (_tmp8_); _tmp10_ = _tmp9_; if (_tmp10_ != NULL) { ValaClass* _tmp11_; ValaClass* _tmp12_; ValaClass* _tmp13_; gchar* _tmp14_ = NULL; _tmp11_ = cl; _tmp12_ = vala_class_get_base_class (_tmp11_); _tmp13_ = _tmp12_; _tmp14_ = vala_ccode_base_module_get_ccode_ref_function ((ValaTypeSymbol*) _tmp13_); result = _tmp14_; _vala_code_node_unref0 (cl); return result; } } _vala_code_node_unref0 (cl); } else { ValaSymbol* _tmp15_; _tmp15_ = self->priv->sym; if (VALA_IS_INTERFACE (_tmp15_)) { { ValaSymbol* _tmp16_; ValaList* _tmp17_ = NULL; ValaList* _prereq_list; ValaList* _tmp18_; gint _tmp19_; gint _tmp20_; gint _prereq_size; gint _prereq_index; _tmp16_ = self->priv->sym; _tmp17_ = vala_interface_get_prerequisites (VALA_INTERFACE (_tmp16_)); _prereq_list = _tmp17_; _tmp18_ = _prereq_list; _tmp19_ = vala_collection_get_size ((ValaCollection*) _tmp18_); _tmp20_ = _tmp19_; _prereq_size = _tmp20_; _prereq_index = -1; while (TRUE) { gint _tmp21_; gint _tmp22_; gint _tmp23_; ValaList* _tmp24_; gint _tmp25_; gpointer _tmp26_ = NULL; ValaDataType* prereq; ValaDataType* _tmp27_; ValaTypeSymbol* _tmp28_; ValaTypeSymbol* _tmp29_; gchar* _tmp30_ = NULL; gchar* ref_func; const gchar* _tmp31_; _tmp21_ = _prereq_index; _prereq_index = _tmp21_ + 1; _tmp22_ = _prereq_index; _tmp23_ = _prereq_size; if (!(_tmp22_ < _tmp23_)) { break; } _tmp24_ = _prereq_list; _tmp25_ = _prereq_index; _tmp26_ = vala_list_get (_tmp24_, _tmp25_); prereq = (ValaDataType*) _tmp26_; _tmp27_ = prereq; _tmp28_ = vala_data_type_get_data_type (_tmp27_); _tmp29_ = _tmp28_; _tmp30_ = vala_ccode_base_module_get_ccode_ref_function ((ValaTypeSymbol*) VALA_OBJECT_TYPE_SYMBOL (_tmp29_)); ref_func = _tmp30_; _tmp31_ = ref_func; if (_tmp31_ != NULL) { result = ref_func; _vala_code_node_unref0 (prereq); _vala_iterable_unref0 (_prereq_list); return result; } _g_free0 (ref_func); _vala_code_node_unref0 (prereq); } _vala_iterable_unref0 (_prereq_list); } } } result = NULL; return result; } static gchar* vala_ccode_attribute_get_default_unref_function (ValaCCodeAttribute* self) { gchar* result = NULL; ValaSymbol* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->sym; if (VALA_IS_CLASS (_tmp0_)) { ValaSymbol* _tmp1_; ValaClass* _tmp2_; ValaClass* cl; ValaClass* _tmp3_; gboolean _tmp4_ = FALSE; _tmp1_ = self->priv->sym; _tmp2_ = _vala_code_node_ref0 (VALA_CLASS (_tmp1_)); cl = _tmp2_; _tmp3_ = cl; _tmp4_ = vala_class_is_fundamental (_tmp3_); if (_tmp4_) { const gchar* _tmp5_; const gchar* _tmp6_; gchar* _tmp7_; _tmp5_ = vala_ccode_attribute_get_lower_case_prefix (self); _tmp6_ = _tmp5_; _tmp7_ = g_strconcat (_tmp6_, "unref", NULL); result = _tmp7_; _vala_code_node_unref0 (cl); return result; } else { ValaClass* _tmp8_; ValaClass* _tmp9_; ValaClass* _tmp10_; _tmp8_ = cl; _tmp9_ = vala_class_get_base_class (_tmp8_); _tmp10_ = _tmp9_; if (_tmp10_ != NULL) { ValaClass* _tmp11_; ValaClass* _tmp12_; ValaClass* _tmp13_; gchar* _tmp14_ = NULL; _tmp11_ = cl; _tmp12_ = vala_class_get_base_class (_tmp11_); _tmp13_ = _tmp12_; _tmp14_ = vala_ccode_base_module_get_ccode_unref_function ((ValaObjectTypeSymbol*) _tmp13_); result = _tmp14_; _vala_code_node_unref0 (cl); return result; } } _vala_code_node_unref0 (cl); } else { ValaSymbol* _tmp15_; _tmp15_ = self->priv->sym; if (VALA_IS_INTERFACE (_tmp15_)) { { ValaSymbol* _tmp16_; ValaList* _tmp17_ = NULL; ValaList* _prereq_list; ValaList* _tmp18_; gint _tmp19_; gint _tmp20_; gint _prereq_size; gint _prereq_index; _tmp16_ = self->priv->sym; _tmp17_ = vala_interface_get_prerequisites (VALA_INTERFACE (_tmp16_)); _prereq_list = _tmp17_; _tmp18_ = _prereq_list; _tmp19_ = vala_collection_get_size ((ValaCollection*) _tmp18_); _tmp20_ = _tmp19_; _prereq_size = _tmp20_; _prereq_index = -1; while (TRUE) { gint _tmp21_; gint _tmp22_; gint _tmp23_; ValaList* _tmp24_; gint _tmp25_; gpointer _tmp26_ = NULL; ValaDataType* prereq; ValaDataType* _tmp27_; ValaTypeSymbol* _tmp28_; ValaTypeSymbol* _tmp29_; gchar* _tmp30_ = NULL; gchar* unref_func; const gchar* _tmp31_; _tmp21_ = _prereq_index; _prereq_index = _tmp21_ + 1; _tmp22_ = _prereq_index; _tmp23_ = _prereq_size; if (!(_tmp22_ < _tmp23_)) { break; } _tmp24_ = _prereq_list; _tmp25_ = _prereq_index; _tmp26_ = vala_list_get (_tmp24_, _tmp25_); prereq = (ValaDataType*) _tmp26_; _tmp27_ = prereq; _tmp28_ = vala_data_type_get_data_type (_tmp27_); _tmp29_ = _tmp28_; _tmp30_ = vala_ccode_base_module_get_ccode_unref_function (VALA_OBJECT_TYPE_SYMBOL (_tmp29_)); unref_func = _tmp30_; _tmp31_ = unref_func; if (_tmp31_ != NULL) { result = unref_func; _vala_code_node_unref0 (prereq); _vala_iterable_unref0 (_prereq_list); return result; } _g_free0 (unref_func); _vala_code_node_unref0 (prereq); } _vala_iterable_unref0 (_prereq_list); } } } result = NULL; return result; } static gchar* vala_ccode_attribute_get_default_ref_sink_function (ValaCCodeAttribute* self) { gchar* result = NULL; ValaSymbol* _tmp0_; gchar* _tmp22_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->sym; if (VALA_IS_CLASS (_tmp0_)) { ValaSymbol* _tmp1_; ValaClass* _tmp2_; ValaClass* _tmp3_; gchar* _tmp4_ = NULL; _tmp1_ = self->priv->sym; _tmp2_ = vala_class_get_base_class (VALA_CLASS (_tmp1_)); _tmp3_ = _tmp2_; _tmp4_ = vala_ccode_base_module_get_ccode_ref_sink_function ((ValaObjectTypeSymbol*) _tmp3_); result = _tmp4_; return result; } else { ValaSymbol* _tmp5_; _tmp5_ = self->priv->sym; if (VALA_IS_INTERFACE (_tmp5_)) { { ValaSymbol* _tmp6_; ValaList* _tmp7_ = NULL; ValaList* _prereq_list; ValaList* _tmp8_; gint _tmp9_; gint _tmp10_; gint _prereq_size; gint _prereq_index; _tmp6_ = self->priv->sym; _tmp7_ = vala_interface_get_prerequisites (VALA_INTERFACE (_tmp6_)); _prereq_list = _tmp7_; _tmp8_ = _prereq_list; _tmp9_ = vala_collection_get_size ((ValaCollection*) _tmp8_); _tmp10_ = _tmp9_; _prereq_size = _tmp10_; _prereq_index = -1; while (TRUE) { gint _tmp11_; gint _tmp12_; gint _tmp13_; ValaList* _tmp14_; gint _tmp15_; gpointer _tmp16_ = NULL; ValaDataType* prereq; ValaDataType* _tmp17_; ValaTypeSymbol* _tmp18_; ValaTypeSymbol* _tmp19_; gchar* _tmp20_ = NULL; gchar* ref_sink_func; const gchar* _tmp21_; _tmp11_ = _prereq_index; _prereq_index = _tmp11_ + 1; _tmp12_ = _prereq_index; _tmp13_ = _prereq_size; if (!(_tmp12_ < _tmp13_)) { break; } _tmp14_ = _prereq_list; _tmp15_ = _prereq_index; _tmp16_ = vala_list_get (_tmp14_, _tmp15_); prereq = (ValaDataType*) _tmp16_; _tmp17_ = prereq; _tmp18_ = vala_data_type_get_data_type (_tmp17_); _tmp19_ = _tmp18_; _tmp20_ = vala_ccode_base_module_get_ccode_ref_sink_function (VALA_OBJECT_TYPE_SYMBOL (_tmp19_)); ref_sink_func = _tmp20_; _tmp21_ = ref_sink_func; if (g_strcmp0 (_tmp21_, "") != 0) { result = ref_sink_func; _vala_code_node_unref0 (prereq); _vala_iterable_unref0 (_prereq_list); return result; } _g_free0 (ref_sink_func); _vala_code_node_unref0 (prereq); } _vala_iterable_unref0 (_prereq_list); } } } _tmp22_ = g_strdup (""); result = _tmp22_; return result; } static gchar* vala_ccode_attribute_get_default_free_function (ValaCCodeAttribute* self) { gchar* result = NULL; ValaSymbol* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->sym; if (VALA_IS_CLASS (_tmp0_)) { ValaSymbol* _tmp1_; ValaClass* _tmp2_; ValaClass* cl; ValaClass* _tmp3_; ValaClass* _tmp4_; ValaClass* _tmp5_; const gchar* _tmp10_; const gchar* _tmp11_; gchar* _tmp12_; _tmp1_ = self->priv->sym; _tmp2_ = _vala_code_node_ref0 (VALA_CLASS (_tmp1_)); cl = _tmp2_; _tmp3_ = cl; _tmp4_ = vala_class_get_base_class (_tmp3_); _tmp5_ = _tmp4_; if (_tmp5_ != NULL) { ValaClass* _tmp6_; ValaClass* _tmp7_; ValaClass* _tmp8_; gchar* _tmp9_ = NULL; _tmp6_ = cl; _tmp7_ = vala_class_get_base_class (_tmp6_); _tmp8_ = _tmp7_; _tmp9_ = vala_ccode_base_module_get_ccode_free_function ((ValaTypeSymbol*) _tmp8_); result = _tmp9_; _vala_code_node_unref0 (cl); return result; } _tmp10_ = vala_ccode_attribute_get_lower_case_prefix (self); _tmp11_ = _tmp10_; _tmp12_ = g_strconcat (_tmp11_, "free", NULL); result = _tmp12_; _vala_code_node_unref0 (cl); return result; } else { ValaSymbol* _tmp13_; _tmp13_ = self->priv->sym; if (VALA_IS_STRUCT (_tmp13_)) { ValaSymbol* _tmp14_; gboolean _tmp15_; gboolean _tmp16_; _tmp14_ = self->priv->sym; _tmp15_ = vala_symbol_get_external_package (_tmp14_); _tmp16_ = _tmp15_; if (!_tmp16_) { const gchar* _tmp17_; const gchar* _tmp18_; gchar* _tmp19_; _tmp17_ = vala_ccode_attribute_get_lower_case_prefix (self); _tmp18_ = _tmp17_; _tmp19_ = g_strconcat (_tmp18_, "free", NULL); result = _tmp19_; return result; } } } result = NULL; return result; } static gchar* vala_ccode_attribute_get_default_type_id (ValaCCodeAttribute* self) { gchar* result = NULL; ValaSymbol* _tmp0_; gchar* _tmp103_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->sym; if (_tmp0_ != NULL) { gboolean _tmp1_ = FALSE; gboolean _tmp2_ = FALSE; ValaSymbol* _tmp3_; gboolean _tmp7_; gboolean _tmp9_; _tmp3_ = self->priv->sym; if (VALA_IS_CLASS (_tmp3_)) { ValaSymbol* _tmp4_; gboolean _tmp5_; gboolean _tmp6_; _tmp4_ = self->priv->sym; _tmp5_ = vala_class_get_is_compact (VALA_CLASS (_tmp4_)); _tmp6_ = _tmp5_; _tmp2_ = !_tmp6_; } else { _tmp2_ = FALSE; } _tmp7_ = _tmp2_; if (_tmp7_) { _tmp1_ = TRUE; } else { ValaSymbol* _tmp8_; _tmp8_ = self->priv->sym; _tmp1_ = VALA_IS_INTERFACE (_tmp8_); } _tmp9_ = _tmp1_; if (_tmp9_) { ValaSymbol* _tmp10_; gchar* _tmp11_ = NULL; _tmp10_ = self->priv->sym; _tmp11_ = vala_ccode_base_module_get_ccode_upper_case_name (_tmp10_, "TYPE_"); result = _tmp11_; return result; } else { gboolean _tmp12_ = FALSE; gboolean _tmp13_ = FALSE; ValaSymbol* _tmp14_; gboolean _tmp18_; gboolean _tmp27_; _tmp14_ = self->priv->sym; if (VALA_IS_ERROR_TYPE (_tmp14_)) { ValaSymbol* _tmp15_; ValaSourceReference* _tmp16_; ValaSourceReference* _tmp17_; _tmp15_ = self->priv->sym; _tmp16_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp15_); _tmp17_ = _tmp16_; _tmp13_ = _tmp17_ != NULL; } else { _tmp13_ = FALSE; } _tmp18_ = _tmp13_; if (_tmp18_) { ValaSymbol* _tmp19_; ValaSourceReference* _tmp20_; ValaSourceReference* _tmp21_; ValaSourceFile* _tmp22_; ValaSourceFile* _tmp23_; ValaCodeContext* _tmp24_; ValaCodeContext* _tmp25_; gboolean _tmp26_ = FALSE; _tmp19_ = self->priv->sym; _tmp20_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp19_); _tmp21_ = _tmp20_; _tmp22_ = vala_source_reference_get_file (_tmp21_); _tmp23_ = _tmp22_; _tmp24_ = vala_source_file_get_context (_tmp23_); _tmp25_ = _tmp24_; _tmp26_ = vala_code_context_require_glib_version (_tmp25_, 2, 26); _tmp12_ = _tmp26_; } else { _tmp12_ = FALSE; } _tmp27_ = _tmp12_; if (_tmp27_) { gchar* _tmp28_; _tmp28_ = g_strdup ("G_TYPE_ERROR"); result = _tmp28_; return result; } else { ValaSymbol* _tmp29_; _tmp29_ = self->priv->sym; if (VALA_IS_STRUCT (_tmp29_)) { ValaSymbol* _tmp30_; ValaStruct* _tmp31_; ValaStruct* st; ValaStruct* _tmp32_; gboolean _tmp33_ = FALSE; _tmp30_ = self->priv->sym; _tmp31_ = _vala_code_node_ref0 (VALA_STRUCT (_tmp30_)); st = _tmp31_; _tmp32_ = st; _tmp33_ = vala_ccode_base_module_get_ccode_has_type_id ((ValaTypeSymbol*) _tmp32_); if (!_tmp33_) { ValaStruct* _tmp34_; ValaStruct* _tmp35_; ValaStruct* _tmp36_; ValaStruct* _tmp37_; ValaStruct* base_struct; ValaStruct* _tmp38_; ValaStruct* _tmp41_; gboolean _tmp42_ = FALSE; _tmp34_ = st; _tmp35_ = vala_struct_get_base_struct (_tmp34_); _tmp36_ = _tmp35_; _tmp37_ = _vala_code_node_ref0 (_tmp36_); base_struct = _tmp37_; _tmp38_ = base_struct; if (_tmp38_ != NULL) { ValaStruct* _tmp39_; gchar* _tmp40_ = NULL; _tmp39_ = base_struct; _tmp40_ = vala_ccode_base_module_get_ccode_type_id ((ValaCodeNode*) _tmp39_); result = _tmp40_; _vala_code_node_unref0 (base_struct); _vala_code_node_unref0 (st); return result; } _tmp41_ = st; _tmp42_ = vala_struct_is_simple_type (_tmp41_); if (!_tmp42_) { gchar* _tmp43_; _tmp43_ = g_strdup ("G_TYPE_POINTER"); result = _tmp43_; _vala_code_node_unref0 (base_struct); _vala_code_node_unref0 (st); return result; } _vala_code_node_unref0 (base_struct); } else { ValaStruct* _tmp44_; gchar* _tmp45_ = NULL; _tmp44_ = st; _tmp45_ = vala_ccode_base_module_get_ccode_upper_case_name ((ValaSymbol*) _tmp44_, "TYPE_"); result = _tmp45_; _vala_code_node_unref0 (st); return result; } _vala_code_node_unref0 (st); } else { ValaSymbol* _tmp46_; _tmp46_ = self->priv->sym; if (VALA_IS_ENUM (_tmp46_)) { ValaSymbol* _tmp47_; ValaEnum* _tmp48_; ValaEnum* en; ValaEnum* _tmp49_; gboolean _tmp50_ = FALSE; _tmp47_ = self->priv->sym; _tmp48_ = _vala_code_node_ref0 (VALA_ENUM (_tmp47_)); en = _tmp48_; _tmp49_ = en; _tmp50_ = vala_ccode_base_module_get_ccode_has_type_id ((ValaTypeSymbol*) _tmp49_); if (_tmp50_) { ValaEnum* _tmp51_; gchar* _tmp52_ = NULL; _tmp51_ = en; _tmp52_ = vala_ccode_base_module_get_ccode_upper_case_name ((ValaSymbol*) _tmp51_, "TYPE_"); result = _tmp52_; _vala_code_node_unref0 (en); return result; } else { const gchar* _tmp53_ = NULL; ValaEnum* _tmp54_; gboolean _tmp55_; gboolean _tmp56_; const gchar* _tmp57_; gchar* _tmp58_; _tmp54_ = en; _tmp55_ = vala_enum_get_is_flags (_tmp54_); _tmp56_ = _tmp55_; if (_tmp56_) { _tmp53_ = "G_TYPE_UINT"; } else { _tmp53_ = "G_TYPE_INT"; } _tmp57_ = _tmp53_; _tmp58_ = g_strdup (_tmp57_); result = _tmp58_; _vala_code_node_unref0 (en); return result; } _vala_code_node_unref0 (en); } else { gchar* _tmp59_; _tmp59_ = g_strdup ("G_TYPE_POINTER"); result = _tmp59_; return result; } } } } } else { gboolean _tmp60_ = FALSE; ValaCodeNode* _tmp61_; gboolean _tmp69_; _tmp61_ = self->priv->node; if (VALA_IS_ARRAY_TYPE (_tmp61_)) { ValaCodeNode* _tmp62_; ValaDataType* _tmp63_; ValaDataType* _tmp64_; ValaTypeSymbol* _tmp65_; ValaTypeSymbol* _tmp66_; gchar* _tmp67_ = NULL; gchar* _tmp68_; _tmp62_ = self->priv->node; _tmp63_ = vala_array_type_get_element_type (VALA_ARRAY_TYPE (_tmp62_)); _tmp64_ = _tmp63_; _tmp65_ = vala_data_type_get_data_type (_tmp64_); _tmp66_ = _tmp65_; _tmp67_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp66_); _tmp68_ = _tmp67_; _tmp60_ = g_strcmp0 (_tmp68_, "string") == 0; _g_free0 (_tmp68_); } else { _tmp60_ = FALSE; } _tmp69_ = _tmp60_; if (_tmp69_) { gchar* _tmp70_; _tmp70_ = g_strdup ("G_TYPE_STRV"); result = _tmp70_; return result; } else { gboolean _tmp71_ = FALSE; ValaCodeNode* _tmp72_; gboolean _tmp74_; _tmp72_ = self->priv->node; if (VALA_IS_POINTER_TYPE (_tmp72_)) { _tmp71_ = TRUE; } else { ValaCodeNode* _tmp73_; _tmp73_ = self->priv->node; _tmp71_ = VALA_IS_DELEGATE_TYPE (_tmp73_); } _tmp74_ = _tmp71_; if (_tmp74_) { gchar* _tmp75_; _tmp75_ = g_strdup ("G_TYPE_POINTER"); result = _tmp75_; return result; } else { ValaCodeNode* _tmp76_; _tmp76_ = self->priv->node; if (VALA_IS_ERROR_TYPE (_tmp76_)) { gboolean _tmp77_ = FALSE; ValaCodeNode* _tmp78_; ValaSourceReference* _tmp79_; ValaSourceReference* _tmp80_; gboolean _tmp89_; _tmp78_ = self->priv->node; _tmp79_ = vala_code_node_get_source_reference (_tmp78_); _tmp80_ = _tmp79_; if (_tmp80_ != NULL) { ValaCodeNode* _tmp81_; ValaSourceReference* _tmp82_; ValaSourceReference* _tmp83_; ValaSourceFile* _tmp84_; ValaSourceFile* _tmp85_; ValaCodeContext* _tmp86_; ValaCodeContext* _tmp87_; gboolean _tmp88_ = FALSE; _tmp81_ = self->priv->node; _tmp82_ = vala_code_node_get_source_reference (_tmp81_); _tmp83_ = _tmp82_; _tmp84_ = vala_source_reference_get_file (_tmp83_); _tmp85_ = _tmp84_; _tmp86_ = vala_source_file_get_context (_tmp85_); _tmp87_ = _tmp86_; _tmp88_ = vala_code_context_require_glib_version (_tmp87_, 2, 26); _tmp77_ = _tmp88_; } else { _tmp77_ = FALSE; } _tmp89_ = _tmp77_; if (_tmp89_) { gchar* _tmp90_; _tmp90_ = g_strdup ("G_TYPE_ERROR"); result = _tmp90_; return result; } else { gchar* _tmp91_; _tmp91_ = g_strdup ("G_TYPE_POINTER"); result = _tmp91_; return result; } } else { ValaCodeNode* _tmp92_; _tmp92_ = self->priv->node; if (VALA_IS_VOID_TYPE (_tmp92_)) { gchar* _tmp93_; _tmp93_ = g_strdup ("G_TYPE_NONE"); result = _tmp93_; return result; } else { ValaCodeNode* _tmp94_; ValaDataType* _tmp95_; ValaDataType* type; ValaDataType* _tmp96_; ValaTypeSymbol* _tmp97_; ValaTypeSymbol* _tmp98_; _tmp94_ = self->priv->node; _tmp95_ = _vala_code_node_ref0 (VALA_DATA_TYPE (_tmp94_)); type = _tmp95_; _tmp96_ = type; _tmp97_ = vala_data_type_get_data_type (_tmp96_); _tmp98_ = _tmp97_; if (_tmp98_ != NULL) { ValaDataType* _tmp99_; ValaTypeSymbol* _tmp100_; ValaTypeSymbol* _tmp101_; gchar* _tmp102_ = NULL; _tmp99_ = type; _tmp100_ = vala_data_type_get_data_type (_tmp99_); _tmp101_ = _tmp100_; _tmp102_ = vala_ccode_base_module_get_ccode_type_id ((ValaCodeNode*) _tmp101_); result = _tmp102_; _vala_code_node_unref0 (type); return result; } _vala_code_node_unref0 (type); } } } } } _tmp103_ = g_strdup (""); result = _tmp103_; return result; } static gchar* vala_ccode_attribute_get_default_marshaller_type_name (ValaCCodeAttribute* self) { gchar* result = NULL; ValaSymbol* _tmp0_; gchar* _tmp115_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->sym; if (_tmp0_ != NULL) { ValaSymbol* _tmp1_; _tmp1_ = self->priv->sym; if (VALA_IS_CLASS (_tmp1_)) { ValaSymbol* _tmp2_; ValaClass* _tmp3_; ValaClass* cl; ValaClass* _tmp4_; ValaClass* _tmp5_; ValaClass* _tmp6_; _tmp2_ = self->priv->sym; _tmp3_ = _vala_code_node_ref0 (VALA_CLASS (_tmp2_)); cl = _tmp3_; _tmp4_ = cl; _tmp5_ = vala_class_get_base_class (_tmp4_); _tmp6_ = _tmp5_; if (_tmp6_ != NULL) { ValaClass* _tmp7_; ValaClass* _tmp8_; ValaClass* _tmp9_; gchar* _tmp10_ = NULL; _tmp7_ = cl; _tmp8_ = vala_class_get_base_class (_tmp7_); _tmp9_ = _tmp8_; _tmp10_ = vala_ccode_base_module_get_ccode_marshaller_type_name ((ValaCodeNode*) _tmp9_); result = _tmp10_; _vala_code_node_unref0 (cl); return result; } else { ValaClass* _tmp11_; gboolean _tmp12_; gboolean _tmp13_; _tmp11_ = cl; _tmp12_ = vala_class_get_is_compact (_tmp11_); _tmp13_ = _tmp12_; if (!_tmp13_) { ValaClass* _tmp14_; gchar* _tmp15_ = NULL; _tmp14_ = cl; _tmp15_ = vala_ccode_base_module_get_ccode_upper_case_name ((ValaSymbol*) _tmp14_, NULL); result = _tmp15_; _vala_code_node_unref0 (cl); return result; } else { const gchar* _tmp16_; const gchar* _tmp17_; _tmp16_ = vala_ccode_attribute_get_type_id (self); _tmp17_ = _tmp16_; if (g_strcmp0 (_tmp17_, "G_TYPE_POINTER") == 0) { gchar* _tmp18_; _tmp18_ = g_strdup ("POINTER"); result = _tmp18_; _vala_code_node_unref0 (cl); return result; } else { gchar* _tmp19_; _tmp19_ = g_strdup ("BOXED"); result = _tmp19_; _vala_code_node_unref0 (cl); return result; } } } _vala_code_node_unref0 (cl); } else { ValaSymbol* _tmp20_; _tmp20_ = self->priv->sym; if (VALA_IS_ENUM (_tmp20_)) { ValaSymbol* _tmp21_; ValaEnum* _tmp22_; ValaEnum* en; ValaEnum* _tmp23_; gboolean _tmp24_ = FALSE; _tmp21_ = self->priv->sym; _tmp22_ = _vala_code_node_ref0 (VALA_ENUM (_tmp21_)); en = _tmp22_; _tmp23_ = en; _tmp24_ = vala_ccode_base_module_get_ccode_has_type_id ((ValaTypeSymbol*) _tmp23_); if (_tmp24_) { ValaEnum* _tmp25_; gboolean _tmp26_; gboolean _tmp27_; _tmp25_ = en; _tmp26_ = vala_enum_get_is_flags (_tmp25_); _tmp27_ = _tmp26_; if (_tmp27_) { gchar* _tmp28_; _tmp28_ = g_strdup ("FLAGS"); result = _tmp28_; _vala_code_node_unref0 (en); return result; } else { gchar* _tmp29_; _tmp29_ = g_strdup ("ENUM"); result = _tmp29_; _vala_code_node_unref0 (en); return result; } } else { ValaEnum* _tmp30_; gboolean _tmp31_; gboolean _tmp32_; _tmp30_ = en; _tmp31_ = vala_enum_get_is_flags (_tmp30_); _tmp32_ = _tmp31_; if (_tmp32_) { gchar* _tmp33_; _tmp33_ = g_strdup ("UINT"); result = _tmp33_; _vala_code_node_unref0 (en); return result; } else { gchar* _tmp34_; _tmp34_ = g_strdup ("INT"); result = _tmp34_; _vala_code_node_unref0 (en); return result; } } _vala_code_node_unref0 (en); } else { ValaSymbol* _tmp35_; _tmp35_ = self->priv->sym; if (VALA_IS_INTERFACE (_tmp35_)) { gchar* _tmp52_; { ValaSymbol* _tmp36_; ValaList* _tmp37_ = NULL; ValaList* _prereq_list; ValaList* _tmp38_; gint _tmp39_; gint _tmp40_; gint _prereq_size; gint _prereq_index; _tmp36_ = self->priv->sym; _tmp37_ = vala_interface_get_prerequisites (VALA_INTERFACE (_tmp36_)); _prereq_list = _tmp37_; _tmp38_ = _prereq_list; _tmp39_ = vala_collection_get_size ((ValaCollection*) _tmp38_); _tmp40_ = _tmp39_; _prereq_size = _tmp40_; _prereq_index = -1; while (TRUE) { gint _tmp41_; gint _tmp42_; gint _tmp43_; ValaList* _tmp44_; gint _tmp45_; gpointer _tmp46_ = NULL; ValaDataType* prereq; ValaDataType* _tmp47_; ValaTypeSymbol* _tmp48_; ValaTypeSymbol* _tmp49_; gchar* _tmp50_ = NULL; gchar* type_name; const gchar* _tmp51_; _tmp41_ = _prereq_index; _prereq_index = _tmp41_ + 1; _tmp42_ = _prereq_index; _tmp43_ = _prereq_size; if (!(_tmp42_ < _tmp43_)) { break; } _tmp44_ = _prereq_list; _tmp45_ = _prereq_index; _tmp46_ = vala_list_get (_tmp44_, _tmp45_); prereq = (ValaDataType*) _tmp46_; _tmp47_ = prereq; _tmp48_ = vala_data_type_get_data_type (_tmp47_); _tmp49_ = _tmp48_; _tmp50_ = vala_ccode_base_module_get_ccode_marshaller_type_name ((ValaCodeNode*) _tmp49_); type_name = _tmp50_; _tmp51_ = type_name; if (g_strcmp0 (_tmp51_, "") != 0) { result = type_name; _vala_code_node_unref0 (prereq); _vala_iterable_unref0 (_prereq_list); return result; } _g_free0 (type_name); _vala_code_node_unref0 (prereq); } _vala_iterable_unref0 (_prereq_list); } _tmp52_ = g_strdup ("POINTER"); result = _tmp52_; return result; } else { ValaSymbol* _tmp53_; _tmp53_ = self->priv->sym; if (VALA_IS_STRUCT (_tmp53_)) { ValaSymbol* _tmp54_; ValaStruct* _tmp55_; ValaStruct* st; ValaStruct* _tmp56_; ValaStruct* _tmp57_; ValaStruct* _tmp58_; ValaStruct* _tmp59_; ValaStruct* base_st; ValaStruct* _tmp60_; ValaStruct* _tmp63_; gboolean _tmp64_ = FALSE; _tmp54_ = self->priv->sym; _tmp55_ = _vala_code_node_ref0 (VALA_STRUCT (_tmp54_)); st = _tmp55_; _tmp56_ = st; _tmp57_ = vala_struct_get_base_struct (_tmp56_); _tmp58_ = _tmp57_; _tmp59_ = _vala_code_node_ref0 (_tmp58_); base_st = _tmp59_; _tmp60_ = base_st; if (_tmp60_ != NULL) { ValaStruct* _tmp61_; gchar* _tmp62_ = NULL; _tmp61_ = base_st; _tmp62_ = vala_ccode_base_module_get_ccode_marshaller_type_name ((ValaCodeNode*) _tmp61_); result = _tmp62_; _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); return result; } _tmp63_ = st; _tmp64_ = vala_struct_is_simple_type (_tmp63_); if (_tmp64_) { ValaStruct* _tmp65_; ValaSourceReference* _tmp66_; ValaSourceReference* _tmp67_; ValaStruct* _tmp68_; gchar* _tmp69_ = NULL; gchar* _tmp70_; gchar* _tmp71_ = NULL; gchar* _tmp72_; _tmp65_ = st; _tmp66_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp65_); _tmp67_ = _tmp66_; _tmp68_ = st; _tmp69_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp68_); _tmp70_ = _tmp69_; _tmp71_ = g_strdup_printf ("The type `%s` doesn't declare a marshaller type name", _tmp70_); _tmp72_ = _tmp71_; vala_report_error (_tmp67_, _tmp72_); _g_free0 (_tmp72_); _g_free0 (_tmp70_); } else { ValaStruct* _tmp73_; gboolean _tmp74_ = FALSE; _tmp73_ = st; _tmp74_ = vala_ccode_base_module_get_ccode_has_type_id ((ValaTypeSymbol*) _tmp73_); if (_tmp74_) { gchar* _tmp75_; _tmp75_ = g_strdup ("BOXED"); result = _tmp75_; _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); return result; } else { gchar* _tmp76_; _tmp76_ = g_strdup ("POINTER"); result = _tmp76_; _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); return result; } } _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); } else { ValaSymbol* _tmp77_; _tmp77_ = self->priv->sym; if (VALA_IS_PARAMETER (_tmp77_)) { ValaSymbol* _tmp78_; ValaParameter* _tmp79_; ValaParameter* param; ValaParameter* _tmp80_; ValaParameterDirection _tmp81_; ValaParameterDirection _tmp82_; _tmp78_ = self->priv->sym; _tmp79_ = _vala_code_node_ref0 (VALA_PARAMETER (_tmp78_)); param = _tmp79_; _tmp80_ = param; _tmp81_ = vala_parameter_get_direction (_tmp80_); _tmp82_ = _tmp81_; if (_tmp82_ != VALA_PARAMETER_DIRECTION_IN) { gchar* _tmp83_; _tmp83_ = g_strdup ("POINTER"); result = _tmp83_; _vala_code_node_unref0 (param); return result; } else { ValaParameter* _tmp84_; ValaDataType* _tmp85_; ValaDataType* _tmp86_; gchar* _tmp87_ = NULL; _tmp84_ = param; _tmp85_ = vala_variable_get_variable_type ((ValaVariable*) _tmp84_); _tmp86_ = _tmp85_; _tmp87_ = vala_ccode_base_module_get_ccode_marshaller_type_name ((ValaCodeNode*) _tmp86_); result = _tmp87_; _vala_code_node_unref0 (param); return result; } _vala_code_node_unref0 (param); } else { gchar* _tmp88_; _tmp88_ = g_strdup ("POINTER"); result = _tmp88_; return result; } } } } } } else { gboolean _tmp89_ = FALSE; ValaCodeNode* _tmp90_; gboolean _tmp94_; _tmp90_ = self->priv->node; if (VALA_IS_POINTER_TYPE (_tmp90_)) { _tmp89_ = TRUE; } else { ValaCodeNode* _tmp91_; ValaTypeParameter* _tmp92_; ValaTypeParameter* _tmp93_; _tmp91_ = self->priv->node; _tmp92_ = vala_data_type_get_type_parameter (VALA_DATA_TYPE (_tmp91_)); _tmp93_ = _tmp92_; _tmp89_ = _tmp93_ != NULL; } _tmp94_ = _tmp89_; if (_tmp94_) { gchar* _tmp95_; _tmp95_ = g_strdup ("POINTER"); result = _tmp95_; return result; } else { ValaCodeNode* _tmp96_; _tmp96_ = self->priv->node; if (VALA_IS_ERROR_TYPE (_tmp96_)) { gchar* _tmp97_; _tmp97_ = g_strdup ("POINTER"); result = _tmp97_; return result; } else { ValaCodeNode* _tmp98_; _tmp98_ = self->priv->node; if (VALA_IS_ARRAY_TYPE (_tmp98_)) { ValaCodeNode* _tmp99_; ValaDataType* _tmp100_; ValaDataType* _tmp101_; ValaTypeSymbol* _tmp102_; ValaTypeSymbol* _tmp103_; gchar* _tmp104_ = NULL; gchar* _tmp105_; gboolean _tmp106_; _tmp99_ = self->priv->node; _tmp100_ = vala_array_type_get_element_type (VALA_ARRAY_TYPE (_tmp99_)); _tmp101_ = _tmp100_; _tmp102_ = vala_data_type_get_data_type (_tmp101_); _tmp103_ = _tmp102_; _tmp104_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp103_); _tmp105_ = _tmp104_; _tmp106_ = g_strcmp0 (_tmp105_, "string") == 0; _g_free0 (_tmp105_); if (_tmp106_) { gchar* _tmp107_; _tmp107_ = g_strdup ("BOXED,INT"); result = _tmp107_; return result; } else { gchar* _tmp108_; _tmp108_ = g_strdup ("POINTER,INT"); result = _tmp108_; return result; } } else { ValaCodeNode* _tmp109_; _tmp109_ = self->priv->node; if (VALA_IS_VOID_TYPE (_tmp109_)) { gchar* _tmp110_; _tmp110_ = g_strdup ("VOID"); result = _tmp110_; return result; } else { ValaCodeNode* _tmp111_; ValaTypeSymbol* _tmp112_; ValaTypeSymbol* _tmp113_; gchar* _tmp114_ = NULL; _tmp111_ = self->priv->node; _tmp112_ = vala_data_type_get_data_type (VALA_DATA_TYPE (_tmp111_)); _tmp113_ = _tmp112_; _tmp114_ = vala_ccode_base_module_get_ccode_marshaller_type_name ((ValaCodeNode*) _tmp113_); result = _tmp114_; return result; } } } } } _tmp115_ = g_strdup (""); result = _tmp115_; return result; } static gchar* vala_ccode_attribute_get_default_get_value_function (ValaCCodeAttribute* self) { gchar* result = NULL; ValaSymbol* _tmp0_; gchar* _tmp76_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->sym; if (VALA_IS_CLASS (_tmp0_)) { ValaSymbol* _tmp1_; ValaClass* _tmp2_; ValaClass* cl; ValaClass* _tmp3_; gboolean _tmp4_ = FALSE; _tmp1_ = self->priv->sym; _tmp2_ = _vala_code_node_ref0 (VALA_CLASS (_tmp1_)); cl = _tmp2_; _tmp3_ = cl; _tmp4_ = vala_class_is_fundamental (_tmp3_); if (_tmp4_) { ValaClass* _tmp5_; gchar* _tmp6_ = NULL; _tmp5_ = cl; _tmp6_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp5_, "value_get_"); result = _tmp6_; _vala_code_node_unref0 (cl); return result; } else { ValaClass* _tmp7_; ValaClass* _tmp8_; ValaClass* _tmp9_; _tmp7_ = cl; _tmp8_ = vala_class_get_base_class (_tmp7_); _tmp9_ = _tmp8_; if (_tmp9_ != NULL) { ValaClass* _tmp10_; ValaClass* _tmp11_; ValaClass* _tmp12_; gchar* _tmp13_ = NULL; _tmp10_ = cl; _tmp11_ = vala_class_get_base_class (_tmp10_); _tmp12_ = _tmp11_; _tmp13_ = vala_ccode_base_module_get_ccode_get_value_function ((ValaCodeNode*) _tmp12_); result = _tmp13_; _vala_code_node_unref0 (cl); return result; } else { const gchar* _tmp14_; const gchar* _tmp15_; _tmp14_ = vala_ccode_attribute_get_type_id (self); _tmp15_ = _tmp14_; if (g_strcmp0 (_tmp15_, "G_TYPE_POINTER") == 0) { gchar* _tmp16_; _tmp16_ = g_strdup ("g_value_get_pointer"); result = _tmp16_; _vala_code_node_unref0 (cl); return result; } else { gchar* _tmp17_; _tmp17_ = g_strdup ("g_value_get_boxed"); result = _tmp17_; _vala_code_node_unref0 (cl); return result; } } } _vala_code_node_unref0 (cl); } else { ValaSymbol* _tmp18_; _tmp18_ = self->priv->sym; if (VALA_IS_ENUM (_tmp18_)) { ValaSymbol* _tmp19_; ValaEnum* _tmp20_; ValaEnum* en; ValaEnum* _tmp21_; gboolean _tmp22_ = FALSE; _tmp19_ = self->priv->sym; _tmp20_ = _vala_code_node_ref0 (VALA_ENUM (_tmp19_)); en = _tmp20_; _tmp21_ = en; _tmp22_ = vala_ccode_base_module_get_ccode_has_type_id ((ValaTypeSymbol*) _tmp21_); if (_tmp22_) { ValaEnum* _tmp23_; gboolean _tmp24_; gboolean _tmp25_; _tmp23_ = en; _tmp24_ = vala_enum_get_is_flags (_tmp23_); _tmp25_ = _tmp24_; if (_tmp25_) { gchar* _tmp26_; _tmp26_ = g_strdup ("g_value_get_flags"); result = _tmp26_; _vala_code_node_unref0 (en); return result; } else { gchar* _tmp27_; _tmp27_ = g_strdup ("g_value_get_enum"); result = _tmp27_; _vala_code_node_unref0 (en); return result; } } else { ValaEnum* _tmp28_; gboolean _tmp29_; gboolean _tmp30_; _tmp28_ = en; _tmp29_ = vala_enum_get_is_flags (_tmp28_); _tmp30_ = _tmp29_; if (_tmp30_) { gchar* _tmp31_; _tmp31_ = g_strdup ("g_value_get_uint"); result = _tmp31_; _vala_code_node_unref0 (en); return result; } else { gchar* _tmp32_; _tmp32_ = g_strdup ("g_value_get_int"); result = _tmp32_; _vala_code_node_unref0 (en); return result; } } _vala_code_node_unref0 (en); } else { ValaSymbol* _tmp33_; _tmp33_ = self->priv->sym; if (VALA_IS_INTERFACE (_tmp33_)) { gchar* _tmp50_; { ValaSymbol* _tmp34_; ValaList* _tmp35_ = NULL; ValaList* _prereq_list; ValaList* _tmp36_; gint _tmp37_; gint _tmp38_; gint _prereq_size; gint _prereq_index; _tmp34_ = self->priv->sym; _tmp35_ = vala_interface_get_prerequisites (VALA_INTERFACE (_tmp34_)); _prereq_list = _tmp35_; _tmp36_ = _prereq_list; _tmp37_ = vala_collection_get_size ((ValaCollection*) _tmp36_); _tmp38_ = _tmp37_; _prereq_size = _tmp38_; _prereq_index = -1; while (TRUE) { gint _tmp39_; gint _tmp40_; gint _tmp41_; ValaList* _tmp42_; gint _tmp43_; gpointer _tmp44_ = NULL; ValaDataType* prereq; ValaDataType* _tmp45_; ValaTypeSymbol* _tmp46_; ValaTypeSymbol* _tmp47_; gchar* _tmp48_ = NULL; gchar* type_name; const gchar* _tmp49_; _tmp39_ = _prereq_index; _prereq_index = _tmp39_ + 1; _tmp40_ = _prereq_index; _tmp41_ = _prereq_size; if (!(_tmp40_ < _tmp41_)) { break; } _tmp42_ = _prereq_list; _tmp43_ = _prereq_index; _tmp44_ = vala_list_get (_tmp42_, _tmp43_); prereq = (ValaDataType*) _tmp44_; _tmp45_ = prereq; _tmp46_ = vala_data_type_get_data_type (_tmp45_); _tmp47_ = _tmp46_; _tmp48_ = vala_ccode_base_module_get_ccode_get_value_function ((ValaCodeNode*) _tmp47_); type_name = _tmp48_; _tmp49_ = type_name; if (g_strcmp0 (_tmp49_, "") != 0) { result = type_name; _vala_code_node_unref0 (prereq); _vala_iterable_unref0 (_prereq_list); return result; } _g_free0 (type_name); _vala_code_node_unref0 (prereq); } _vala_iterable_unref0 (_prereq_list); } _tmp50_ = g_strdup ("g_value_get_pointer"); result = _tmp50_; return result; } else { ValaSymbol* _tmp51_; _tmp51_ = self->priv->sym; if (VALA_IS_STRUCT (_tmp51_)) { ValaSymbol* _tmp52_; ValaStruct* _tmp53_; ValaStruct* st; ValaStruct* _tmp54_; ValaStruct* _tmp55_; ValaStruct* _tmp56_; ValaStruct* _tmp57_; ValaStruct* base_st; ValaStruct* _tmp58_; ValaStruct* _tmp61_; gboolean _tmp62_ = FALSE; _tmp52_ = self->priv->sym; _tmp53_ = _vala_code_node_ref0 (VALA_STRUCT (_tmp52_)); st = _tmp53_; _tmp54_ = st; _tmp55_ = vala_struct_get_base_struct (_tmp54_); _tmp56_ = _tmp55_; _tmp57_ = _vala_code_node_ref0 (_tmp56_); base_st = _tmp57_; _tmp58_ = base_st; if (_tmp58_ != NULL) { ValaStruct* _tmp59_; gchar* _tmp60_ = NULL; _tmp59_ = base_st; _tmp60_ = vala_ccode_base_module_get_ccode_get_value_function ((ValaCodeNode*) _tmp59_); result = _tmp60_; _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); return result; } _tmp61_ = st; _tmp62_ = vala_struct_is_simple_type (_tmp61_); if (_tmp62_) { ValaStruct* _tmp63_; ValaSourceReference* _tmp64_; ValaSourceReference* _tmp65_; ValaStruct* _tmp66_; gchar* _tmp67_ = NULL; gchar* _tmp68_; gchar* _tmp69_ = NULL; gchar* _tmp70_; _tmp63_ = st; _tmp64_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp63_); _tmp65_ = _tmp64_; _tmp66_ = st; _tmp67_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp66_); _tmp68_ = _tmp67_; _tmp69_ = g_strdup_printf ("The type `%s` doesn't declare a GValue get function", _tmp68_); _tmp70_ = _tmp69_; vala_report_error (_tmp65_, _tmp70_); _g_free0 (_tmp70_); _g_free0 (_tmp68_); } else { ValaStruct* _tmp71_; gboolean _tmp72_ = FALSE; _tmp71_ = st; _tmp72_ = vala_ccode_base_module_get_ccode_has_type_id ((ValaTypeSymbol*) _tmp71_); if (_tmp72_) { gchar* _tmp73_; _tmp73_ = g_strdup ("g_value_get_boxed"); result = _tmp73_; _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); return result; } else { gchar* _tmp74_; _tmp74_ = g_strdup ("g_value_get_pointer"); result = _tmp74_; _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); return result; } } _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); } else { gchar* _tmp75_; _tmp75_ = g_strdup ("g_value_get_pointer"); result = _tmp75_; return result; } } } } _tmp76_ = g_strdup (""); result = _tmp76_; return result; } static gchar* vala_ccode_attribute_get_default_set_value_function (ValaCCodeAttribute* self) { gchar* result = NULL; ValaSymbol* _tmp0_; gchar* _tmp76_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->sym; if (VALA_IS_CLASS (_tmp0_)) { ValaSymbol* _tmp1_; ValaClass* _tmp2_; ValaClass* cl; ValaClass* _tmp3_; gboolean _tmp4_ = FALSE; _tmp1_ = self->priv->sym; _tmp2_ = _vala_code_node_ref0 (VALA_CLASS (_tmp1_)); cl = _tmp2_; _tmp3_ = cl; _tmp4_ = vala_class_is_fundamental (_tmp3_); if (_tmp4_) { ValaClass* _tmp5_; gchar* _tmp6_ = NULL; _tmp5_ = cl; _tmp6_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp5_, "value_set_"); result = _tmp6_; _vala_code_node_unref0 (cl); return result; } else { ValaClass* _tmp7_; ValaClass* _tmp8_; ValaClass* _tmp9_; _tmp7_ = cl; _tmp8_ = vala_class_get_base_class (_tmp7_); _tmp9_ = _tmp8_; if (_tmp9_ != NULL) { ValaClass* _tmp10_; ValaClass* _tmp11_; ValaClass* _tmp12_; gchar* _tmp13_ = NULL; _tmp10_ = cl; _tmp11_ = vala_class_get_base_class (_tmp10_); _tmp12_ = _tmp11_; _tmp13_ = vala_ccode_base_module_get_ccode_set_value_function ((ValaCodeNode*) _tmp12_); result = _tmp13_; _vala_code_node_unref0 (cl); return result; } else { const gchar* _tmp14_; const gchar* _tmp15_; _tmp14_ = vala_ccode_attribute_get_type_id (self); _tmp15_ = _tmp14_; if (g_strcmp0 (_tmp15_, "G_TYPE_POINTER") == 0) { gchar* _tmp16_; _tmp16_ = g_strdup ("g_value_set_pointer"); result = _tmp16_; _vala_code_node_unref0 (cl); return result; } else { gchar* _tmp17_; _tmp17_ = g_strdup ("g_value_set_boxed"); result = _tmp17_; _vala_code_node_unref0 (cl); return result; } } } _vala_code_node_unref0 (cl); } else { ValaSymbol* _tmp18_; _tmp18_ = self->priv->sym; if (VALA_IS_ENUM (_tmp18_)) { ValaSymbol* _tmp19_; ValaEnum* _tmp20_; ValaEnum* en; ValaEnum* _tmp21_; gboolean _tmp22_ = FALSE; _tmp19_ = self->priv->sym; _tmp20_ = _vala_code_node_ref0 (VALA_ENUM (_tmp19_)); en = _tmp20_; _tmp21_ = en; _tmp22_ = vala_ccode_base_module_get_ccode_has_type_id ((ValaTypeSymbol*) _tmp21_); if (_tmp22_) { ValaEnum* _tmp23_; gboolean _tmp24_; gboolean _tmp25_; _tmp23_ = en; _tmp24_ = vala_enum_get_is_flags (_tmp23_); _tmp25_ = _tmp24_; if (_tmp25_) { gchar* _tmp26_; _tmp26_ = g_strdup ("g_value_set_flags"); result = _tmp26_; _vala_code_node_unref0 (en); return result; } else { gchar* _tmp27_; _tmp27_ = g_strdup ("g_value_set_enum"); result = _tmp27_; _vala_code_node_unref0 (en); return result; } } else { ValaEnum* _tmp28_; gboolean _tmp29_; gboolean _tmp30_; _tmp28_ = en; _tmp29_ = vala_enum_get_is_flags (_tmp28_); _tmp30_ = _tmp29_; if (_tmp30_) { gchar* _tmp31_; _tmp31_ = g_strdup ("g_value_set_uint"); result = _tmp31_; _vala_code_node_unref0 (en); return result; } else { gchar* _tmp32_; _tmp32_ = g_strdup ("g_value_set_int"); result = _tmp32_; _vala_code_node_unref0 (en); return result; } } _vala_code_node_unref0 (en); } else { ValaSymbol* _tmp33_; _tmp33_ = self->priv->sym; if (VALA_IS_INTERFACE (_tmp33_)) { gchar* _tmp50_; { ValaSymbol* _tmp34_; ValaList* _tmp35_ = NULL; ValaList* _prereq_list; ValaList* _tmp36_; gint _tmp37_; gint _tmp38_; gint _prereq_size; gint _prereq_index; _tmp34_ = self->priv->sym; _tmp35_ = vala_interface_get_prerequisites (VALA_INTERFACE (_tmp34_)); _prereq_list = _tmp35_; _tmp36_ = _prereq_list; _tmp37_ = vala_collection_get_size ((ValaCollection*) _tmp36_); _tmp38_ = _tmp37_; _prereq_size = _tmp38_; _prereq_index = -1; while (TRUE) { gint _tmp39_; gint _tmp40_; gint _tmp41_; ValaList* _tmp42_; gint _tmp43_; gpointer _tmp44_ = NULL; ValaDataType* prereq; ValaDataType* _tmp45_; ValaTypeSymbol* _tmp46_; ValaTypeSymbol* _tmp47_; gchar* _tmp48_ = NULL; gchar* type_name; const gchar* _tmp49_; _tmp39_ = _prereq_index; _prereq_index = _tmp39_ + 1; _tmp40_ = _prereq_index; _tmp41_ = _prereq_size; if (!(_tmp40_ < _tmp41_)) { break; } _tmp42_ = _prereq_list; _tmp43_ = _prereq_index; _tmp44_ = vala_list_get (_tmp42_, _tmp43_); prereq = (ValaDataType*) _tmp44_; _tmp45_ = prereq; _tmp46_ = vala_data_type_get_data_type (_tmp45_); _tmp47_ = _tmp46_; _tmp48_ = vala_ccode_base_module_get_ccode_set_value_function ((ValaCodeNode*) _tmp47_); type_name = _tmp48_; _tmp49_ = type_name; if (g_strcmp0 (_tmp49_, "") != 0) { result = type_name; _vala_code_node_unref0 (prereq); _vala_iterable_unref0 (_prereq_list); return result; } _g_free0 (type_name); _vala_code_node_unref0 (prereq); } _vala_iterable_unref0 (_prereq_list); } _tmp50_ = g_strdup ("g_value_set_pointer"); result = _tmp50_; return result; } else { ValaSymbol* _tmp51_; _tmp51_ = self->priv->sym; if (VALA_IS_STRUCT (_tmp51_)) { ValaSymbol* _tmp52_; ValaStruct* _tmp53_; ValaStruct* st; ValaStruct* _tmp54_; ValaStruct* _tmp55_; ValaStruct* _tmp56_; ValaStruct* _tmp57_; ValaStruct* base_st; ValaStruct* _tmp58_; ValaStruct* _tmp61_; gboolean _tmp62_ = FALSE; _tmp52_ = self->priv->sym; _tmp53_ = _vala_code_node_ref0 (VALA_STRUCT (_tmp52_)); st = _tmp53_; _tmp54_ = st; _tmp55_ = vala_struct_get_base_struct (_tmp54_); _tmp56_ = _tmp55_; _tmp57_ = _vala_code_node_ref0 (_tmp56_); base_st = _tmp57_; _tmp58_ = base_st; if (_tmp58_ != NULL) { ValaStruct* _tmp59_; gchar* _tmp60_ = NULL; _tmp59_ = base_st; _tmp60_ = vala_ccode_base_module_get_ccode_set_value_function ((ValaCodeNode*) _tmp59_); result = _tmp60_; _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); return result; } _tmp61_ = st; _tmp62_ = vala_struct_is_simple_type (_tmp61_); if (_tmp62_) { ValaStruct* _tmp63_; ValaSourceReference* _tmp64_; ValaSourceReference* _tmp65_; ValaStruct* _tmp66_; gchar* _tmp67_ = NULL; gchar* _tmp68_; gchar* _tmp69_ = NULL; gchar* _tmp70_; _tmp63_ = st; _tmp64_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp63_); _tmp65_ = _tmp64_; _tmp66_ = st; _tmp67_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp66_); _tmp68_ = _tmp67_; _tmp69_ = g_strdup_printf ("The type `%s` doesn't declare a GValue set function", _tmp68_); _tmp70_ = _tmp69_; vala_report_error (_tmp65_, _tmp70_); _g_free0 (_tmp70_); _g_free0 (_tmp68_); } else { ValaStruct* _tmp71_; gboolean _tmp72_ = FALSE; _tmp71_ = st; _tmp72_ = vala_ccode_base_module_get_ccode_has_type_id ((ValaTypeSymbol*) _tmp71_); if (_tmp72_) { gchar* _tmp73_; _tmp73_ = g_strdup ("g_value_set_boxed"); result = _tmp73_; _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); return result; } else { gchar* _tmp74_; _tmp74_ = g_strdup ("g_value_set_pointer"); result = _tmp74_; _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); return result; } } _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); } else { gchar* _tmp75_; _tmp75_ = g_strdup ("g_value_set_pointer"); result = _tmp75_; return result; } } } } _tmp76_ = g_strdup (""); result = _tmp76_; return result; } static gchar* vala_ccode_attribute_get_default_take_value_function (ValaCCodeAttribute* self) { gchar* result = NULL; ValaSymbol* _tmp0_; gchar* _tmp76_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->sym; if (VALA_IS_CLASS (_tmp0_)) { ValaSymbol* _tmp1_; ValaClass* _tmp2_; ValaClass* cl; ValaClass* _tmp3_; gboolean _tmp4_ = FALSE; _tmp1_ = self->priv->sym; _tmp2_ = _vala_code_node_ref0 (VALA_CLASS (_tmp1_)); cl = _tmp2_; _tmp3_ = cl; _tmp4_ = vala_class_is_fundamental (_tmp3_); if (_tmp4_) { ValaClass* _tmp5_; gchar* _tmp6_ = NULL; _tmp5_ = cl; _tmp6_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp5_, "value_take_"); result = _tmp6_; _vala_code_node_unref0 (cl); return result; } else { ValaClass* _tmp7_; ValaClass* _tmp8_; ValaClass* _tmp9_; _tmp7_ = cl; _tmp8_ = vala_class_get_base_class (_tmp7_); _tmp9_ = _tmp8_; if (_tmp9_ != NULL) { ValaClass* _tmp10_; ValaClass* _tmp11_; ValaClass* _tmp12_; gchar* _tmp13_ = NULL; _tmp10_ = cl; _tmp11_ = vala_class_get_base_class (_tmp10_); _tmp12_ = _tmp11_; _tmp13_ = vala_ccode_base_module_get_ccode_take_value_function ((ValaCodeNode*) _tmp12_); result = _tmp13_; _vala_code_node_unref0 (cl); return result; } else { const gchar* _tmp14_; const gchar* _tmp15_; _tmp14_ = vala_ccode_attribute_get_type_id (self); _tmp15_ = _tmp14_; if (g_strcmp0 (_tmp15_, "G_TYPE_POINTER") == 0) { gchar* _tmp16_; _tmp16_ = g_strdup ("g_value_set_pointer"); result = _tmp16_; _vala_code_node_unref0 (cl); return result; } else { gchar* _tmp17_; _tmp17_ = g_strdup ("g_value_take_boxed"); result = _tmp17_; _vala_code_node_unref0 (cl); return result; } } } _vala_code_node_unref0 (cl); } else { ValaSymbol* _tmp18_; _tmp18_ = self->priv->sym; if (VALA_IS_ENUM (_tmp18_)) { ValaSymbol* _tmp19_; ValaEnum* _tmp20_; ValaEnum* en; ValaEnum* _tmp21_; gboolean _tmp22_ = FALSE; _tmp19_ = self->priv->sym; _tmp20_ = _vala_code_node_ref0 (VALA_ENUM (_tmp19_)); en = _tmp20_; _tmp21_ = en; _tmp22_ = vala_ccode_base_module_get_ccode_has_type_id ((ValaTypeSymbol*) _tmp21_); if (_tmp22_) { ValaEnum* _tmp23_; gboolean _tmp24_; gboolean _tmp25_; _tmp23_ = en; _tmp24_ = vala_enum_get_is_flags (_tmp23_); _tmp25_ = _tmp24_; if (_tmp25_) { gchar* _tmp26_; _tmp26_ = g_strdup ("g_value_take_flags"); result = _tmp26_; _vala_code_node_unref0 (en); return result; } else { gchar* _tmp27_; _tmp27_ = g_strdup ("g_value_take_enum"); result = _tmp27_; _vala_code_node_unref0 (en); return result; } } else { ValaEnum* _tmp28_; gboolean _tmp29_; gboolean _tmp30_; _tmp28_ = en; _tmp29_ = vala_enum_get_is_flags (_tmp28_); _tmp30_ = _tmp29_; if (_tmp30_) { gchar* _tmp31_; _tmp31_ = g_strdup ("g_value_take_uint"); result = _tmp31_; _vala_code_node_unref0 (en); return result; } else { gchar* _tmp32_; _tmp32_ = g_strdup ("g_value_take_int"); result = _tmp32_; _vala_code_node_unref0 (en); return result; } } _vala_code_node_unref0 (en); } else { ValaSymbol* _tmp33_; _tmp33_ = self->priv->sym; if (VALA_IS_INTERFACE (_tmp33_)) { gchar* _tmp50_; { ValaSymbol* _tmp34_; ValaList* _tmp35_ = NULL; ValaList* _prereq_list; ValaList* _tmp36_; gint _tmp37_; gint _tmp38_; gint _prereq_size; gint _prereq_index; _tmp34_ = self->priv->sym; _tmp35_ = vala_interface_get_prerequisites (VALA_INTERFACE (_tmp34_)); _prereq_list = _tmp35_; _tmp36_ = _prereq_list; _tmp37_ = vala_collection_get_size ((ValaCollection*) _tmp36_); _tmp38_ = _tmp37_; _prereq_size = _tmp38_; _prereq_index = -1; while (TRUE) { gint _tmp39_; gint _tmp40_; gint _tmp41_; ValaList* _tmp42_; gint _tmp43_; gpointer _tmp44_ = NULL; ValaDataType* prereq; ValaDataType* _tmp45_; ValaTypeSymbol* _tmp46_; ValaTypeSymbol* _tmp47_; gchar* _tmp48_ = NULL; gchar* func; const gchar* _tmp49_; _tmp39_ = _prereq_index; _prereq_index = _tmp39_ + 1; _tmp40_ = _prereq_index; _tmp41_ = _prereq_size; if (!(_tmp40_ < _tmp41_)) { break; } _tmp42_ = _prereq_list; _tmp43_ = _prereq_index; _tmp44_ = vala_list_get (_tmp42_, _tmp43_); prereq = (ValaDataType*) _tmp44_; _tmp45_ = prereq; _tmp46_ = vala_data_type_get_data_type (_tmp45_); _tmp47_ = _tmp46_; _tmp48_ = vala_ccode_base_module_get_ccode_take_value_function ((ValaCodeNode*) _tmp47_); func = _tmp48_; _tmp49_ = func; if (g_strcmp0 (_tmp49_, "") != 0) { result = func; _vala_code_node_unref0 (prereq); _vala_iterable_unref0 (_prereq_list); return result; } _g_free0 (func); _vala_code_node_unref0 (prereq); } _vala_iterable_unref0 (_prereq_list); } _tmp50_ = g_strdup ("g_value_set_pointer"); result = _tmp50_; return result; } else { ValaSymbol* _tmp51_; _tmp51_ = self->priv->sym; if (VALA_IS_STRUCT (_tmp51_)) { ValaSymbol* _tmp52_; ValaStruct* _tmp53_; ValaStruct* st; ValaStruct* _tmp54_; ValaStruct* _tmp55_; ValaStruct* _tmp56_; ValaStruct* _tmp57_; ValaStruct* base_st; ValaStruct* _tmp58_; ValaStruct* _tmp61_; gboolean _tmp62_ = FALSE; _tmp52_ = self->priv->sym; _tmp53_ = _vala_code_node_ref0 (VALA_STRUCT (_tmp52_)); st = _tmp53_; _tmp54_ = st; _tmp55_ = vala_struct_get_base_struct (_tmp54_); _tmp56_ = _tmp55_; _tmp57_ = _vala_code_node_ref0 (_tmp56_); base_st = _tmp57_; _tmp58_ = base_st; if (_tmp58_ != NULL) { ValaStruct* _tmp59_; gchar* _tmp60_ = NULL; _tmp59_ = base_st; _tmp60_ = vala_ccode_base_module_get_ccode_take_value_function ((ValaCodeNode*) _tmp59_); result = _tmp60_; _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); return result; } _tmp61_ = st; _tmp62_ = vala_struct_is_simple_type (_tmp61_); if (_tmp62_) { ValaStruct* _tmp63_; ValaSourceReference* _tmp64_; ValaSourceReference* _tmp65_; ValaStruct* _tmp66_; gchar* _tmp67_ = NULL; gchar* _tmp68_; gchar* _tmp69_ = NULL; gchar* _tmp70_; _tmp63_ = st; _tmp64_ = vala_code_node_get_source_reference ((ValaCodeNode*) _tmp63_); _tmp65_ = _tmp64_; _tmp66_ = st; _tmp67_ = vala_symbol_get_full_name ((ValaSymbol*) _tmp66_); _tmp68_ = _tmp67_; _tmp69_ = g_strdup_printf ("The type `%s` doesn't declare a GValue take function", _tmp68_); _tmp70_ = _tmp69_; vala_report_error (_tmp65_, _tmp70_); _g_free0 (_tmp70_); _g_free0 (_tmp68_); } else { ValaStruct* _tmp71_; gboolean _tmp72_ = FALSE; _tmp71_ = st; _tmp72_ = vala_ccode_base_module_get_ccode_has_type_id ((ValaTypeSymbol*) _tmp71_); if (_tmp72_) { gchar* _tmp73_; _tmp73_ = g_strdup ("g_value_take_boxed"); result = _tmp73_; _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); return result; } else { gchar* _tmp74_; _tmp74_ = g_strdup ("g_value_set_pointer"); result = _tmp74_; _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); return result; } } _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); } else { gchar* _tmp75_; _tmp75_ = g_strdup ("g_value_set_pointer"); result = _tmp75_; return result; } } } } _tmp76_ = g_strdup (""); result = _tmp76_; return result; } static gchar* vala_ccode_attribute_get_default_param_spec_function (ValaCCodeAttribute* self) { gchar* result = NULL; ValaSymbol* _tmp0_; gchar* _tmp36_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->sym; if (VALA_IS_CLASS (_tmp0_)) { ValaSymbol* _tmp1_; ValaClass* _tmp2_; ValaClass* cl; ValaClass* _tmp3_; gboolean _tmp4_ = FALSE; _tmp1_ = self->priv->sym; _tmp2_ = _vala_code_node_ref0 (VALA_CLASS (_tmp1_)); cl = _tmp2_; _tmp3_ = cl; _tmp4_ = vala_class_is_fundamental (_tmp3_); if (_tmp4_) { ValaClass* _tmp5_; gchar* _tmp6_ = NULL; _tmp5_ = cl; _tmp6_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp5_, "param_spec_"); result = _tmp6_; _vala_code_node_unref0 (cl); return result; } else { ValaClass* _tmp7_; ValaClass* _tmp8_; ValaClass* _tmp9_; _tmp7_ = cl; _tmp8_ = vala_class_get_base_class (_tmp7_); _tmp9_ = _tmp8_; if (_tmp9_ != NULL) { ValaClass* _tmp10_; ValaClass* _tmp11_; ValaClass* _tmp12_; gchar* _tmp13_ = NULL; _tmp10_ = cl; _tmp11_ = vala_class_get_base_class (_tmp10_); _tmp12_ = _tmp11_; _tmp13_ = vala_ccode_base_module_get_ccode_param_spec_function ((ValaCodeNode*) _tmp12_); result = _tmp13_; _vala_code_node_unref0 (cl); return result; } else { const gchar* _tmp14_; const gchar* _tmp15_; _tmp14_ = vala_ccode_attribute_get_type_id (self); _tmp15_ = _tmp14_; if (g_strcmp0 (_tmp15_, "G_TYPE_POINTER") == 0) { gchar* _tmp16_; _tmp16_ = g_strdup ("g_param_spec_pointer"); result = _tmp16_; _vala_code_node_unref0 (cl); return result; } else { gchar* _tmp17_; _tmp17_ = g_strdup ("g_param_spec_boxed"); result = _tmp17_; _vala_code_node_unref0 (cl); return result; } } } _vala_code_node_unref0 (cl); } else { ValaSymbol* _tmp18_; _tmp18_ = self->priv->sym; if (VALA_IS_INTERFACE (_tmp18_)) { gchar* _tmp35_; { ValaSymbol* _tmp19_; ValaList* _tmp20_ = NULL; ValaList* _prereq_list; ValaList* _tmp21_; gint _tmp22_; gint _tmp23_; gint _prereq_size; gint _prereq_index; _tmp19_ = self->priv->sym; _tmp20_ = vala_interface_get_prerequisites (VALA_INTERFACE (_tmp19_)); _prereq_list = _tmp20_; _tmp21_ = _prereq_list; _tmp22_ = vala_collection_get_size ((ValaCollection*) _tmp21_); _tmp23_ = _tmp22_; _prereq_size = _tmp23_; _prereq_index = -1; while (TRUE) { gint _tmp24_; gint _tmp25_; gint _tmp26_; ValaList* _tmp27_; gint _tmp28_; gpointer _tmp29_ = NULL; ValaDataType* prereq; ValaDataType* _tmp30_; ValaTypeSymbol* _tmp31_; ValaTypeSymbol* _tmp32_; gchar* _tmp33_ = NULL; gchar* func; const gchar* _tmp34_; _tmp24_ = _prereq_index; _prereq_index = _tmp24_ + 1; _tmp25_ = _prereq_index; _tmp26_ = _prereq_size; if (!(_tmp25_ < _tmp26_)) { break; } _tmp27_ = _prereq_list; _tmp28_ = _prereq_index; _tmp29_ = vala_list_get (_tmp27_, _tmp28_); prereq = (ValaDataType*) _tmp29_; _tmp30_ = prereq; _tmp31_ = vala_data_type_get_data_type (_tmp30_); _tmp32_ = _tmp31_; _tmp33_ = vala_ccode_base_module_get_ccode_param_spec_function ((ValaCodeNode*) _tmp32_); func = _tmp33_; _tmp34_ = func; if (g_strcmp0 (_tmp34_, "") != 0) { result = func; _vala_code_node_unref0 (prereq); _vala_iterable_unref0 (_prereq_list); return result; } _g_free0 (func); _vala_code_node_unref0 (prereq); } _vala_iterable_unref0 (_prereq_list); } _tmp35_ = g_strdup ("g_param_spec_pointer"); result = _tmp35_; return result; } } _tmp36_ = g_strdup (""); result = _tmp36_; return result; } static gchar* vala_ccode_attribute_get_default_default_value (ValaCCodeAttribute* self) { gchar* result = NULL; ValaSymbol* _tmp0_; gchar* _tmp27_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->sym; if (VALA_IS_ENUM (_tmp0_)) { gchar* _tmp1_; _tmp1_ = g_strdup ("0"); result = _tmp1_; return result; } else { ValaSymbol* _tmp2_; _tmp2_ = self->priv->sym; if (VALA_IS_STRUCT (_tmp2_)) { ValaSymbol* _tmp3_; ValaStruct* _tmp4_; ValaStruct* st; ValaStruct* _tmp5_; ValaStruct* _tmp6_; ValaStruct* _tmp7_; ValaStruct* _tmp8_; ValaStruct* base_st; ValaStruct* _tmp9_; ValaCodeContext* _tmp12_ = NULL; ValaCodeContext* _tmp13_; ValaProfile _tmp14_; ValaProfile _tmp15_; gboolean _tmp16_; _tmp3_ = self->priv->sym; _tmp4_ = _vala_code_node_ref0 (VALA_STRUCT (_tmp3_)); st = _tmp4_; _tmp5_ = st; _tmp6_ = vala_struct_get_base_struct (_tmp5_); _tmp7_ = _tmp6_; _tmp8_ = _vala_code_node_ref0 (_tmp7_); base_st = _tmp8_; _tmp9_ = base_st; if (_tmp9_ != NULL) { ValaStruct* _tmp10_; gchar* _tmp11_ = NULL; _tmp10_ = base_st; _tmp11_ = vala_ccode_base_module_get_ccode_default_value ((ValaTypeSymbol*) _tmp10_); result = _tmp11_; _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); return result; } _tmp12_ = vala_code_context_get (); _tmp13_ = _tmp12_; _tmp14_ = vala_code_context_get_profile (_tmp13_); _tmp15_ = _tmp14_; _tmp16_ = _tmp15_ == VALA_PROFILE_DOVA; _vala_code_context_unref0 (_tmp13_); if (_tmp16_) { ValaStruct* _tmp17_; gboolean _tmp18_ = FALSE; _tmp17_ = st; _tmp18_ = vala_struct_is_boolean_type (_tmp17_); if (_tmp18_) { gchar* _tmp19_; _tmp19_ = g_strdup ("false"); result = _tmp19_; _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); return result; } else { gboolean _tmp20_ = FALSE; ValaStruct* _tmp21_; gboolean _tmp22_ = FALSE; gboolean _tmp25_; _tmp21_ = st; _tmp22_ = vala_struct_is_integer_type (_tmp21_); if (_tmp22_) { _tmp20_ = TRUE; } else { ValaStruct* _tmp23_; gboolean _tmp24_ = FALSE; _tmp23_ = st; _tmp24_ = vala_struct_is_floating_type (_tmp23_); _tmp20_ = _tmp24_; } _tmp25_ = _tmp20_; if (_tmp25_) { gchar* _tmp26_; _tmp26_ = g_strdup ("0"); result = _tmp26_; _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); return result; } } } _vala_code_node_unref0 (base_st); _vala_code_node_unref0 (st); } } _tmp27_ = g_strdup (""); result = _tmp27_; return result; } static gchar* vala_ccode_attribute_get_finish_name_for_basename (ValaCCodeAttribute* self, const gchar* basename) { gchar* result = NULL; const gchar* _tmp0_; gchar* _tmp1_; gchar* _result_; const gchar* _tmp2_; gboolean _tmp3_ = FALSE; const gchar* _tmp11_; gchar* _tmp12_; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (basename != NULL, NULL); _tmp0_ = basename; _tmp1_ = g_strdup (_tmp0_); _result_ = _tmp1_; _tmp2_ = _result_; _tmp3_ = g_str_has_suffix (_tmp2_, "_async"); if (_tmp3_) { const gchar* _tmp4_; const gchar* _tmp5_; gint _tmp6_; gint _tmp7_; gint _tmp8_; gint _tmp9_; gchar* _tmp10_ = NULL; _tmp4_ = _result_; _tmp5_ = _result_; _tmp6_ = strlen (_tmp5_); _tmp7_ = _tmp6_; _tmp8_ = strlen ("_async"); _tmp9_ = _tmp8_; _tmp10_ = string_substring (_tmp4_, (glong) 0, (glong) (_tmp7_ - _tmp9_)); _g_free0 (_result_); _result_ = _tmp10_; } _tmp11_ = _result_; _tmp12_ = g_strconcat (_tmp11_, "_finish", NULL); result = _tmp12_; _g_free0 (_result_); return result; } static gchar* vala_ccode_attribute_get_default_real_name (ValaCCodeAttribute* self) { gchar* result = NULL; ValaSymbol* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->sym; if (VALA_IS_CREATION_METHOD (_tmp0_)) { ValaSymbol* _tmp1_; ValaCreationMethod* _tmp2_; ValaCreationMethod* m; ValaCreationMethod* _tmp3_; ValaSymbol* _tmp4_; ValaSymbol* _tmp5_; ValaClass* _tmp6_; ValaClass* parent; gboolean _tmp7_ = FALSE; ValaClass* _tmp8_; gboolean _tmp12_; gchar* _tmp16_; gchar* infix; ValaCodeContext* _tmp17_ = NULL; ValaCodeContext* _tmp18_; ValaProfile _tmp19_; ValaProfile _tmp20_; gboolean _tmp21_; ValaCreationMethod* _tmp23_; const gchar* _tmp24_; const gchar* _tmp25_; _tmp1_ = self->priv->sym; _tmp2_ = _vala_code_node_ref0 (VALA_CREATION_METHOD (_tmp1_)); m = _tmp2_; _tmp3_ = m; _tmp4_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp3_); _tmp5_ = _tmp4_; _tmp6_ = _vala_code_node_ref0 (VALA_IS_CLASS (_tmp5_) ? ((ValaClass*) _tmp5_) : NULL); parent = _tmp6_; _tmp8_ = parent; if (_tmp8_ == NULL) { _tmp7_ = TRUE; } else { ValaClass* _tmp9_; gboolean _tmp10_; gboolean _tmp11_; _tmp9_ = parent; _tmp10_ = vala_class_get_is_compact (_tmp9_); _tmp11_ = _tmp10_; _tmp7_ = _tmp11_; } _tmp12_ = _tmp7_; if (_tmp12_) { const gchar* _tmp13_; const gchar* _tmp14_; gchar* _tmp15_; _tmp13_ = vala_ccode_attribute_get_name (self); _tmp14_ = _tmp13_; _tmp15_ = g_strdup (_tmp14_); result = _tmp15_; _vala_code_node_unref0 (parent); _vala_code_node_unref0 (m); return result; } _tmp16_ = g_strdup ("construct"); infix = _tmp16_; _tmp17_ = vala_code_context_get (); _tmp18_ = _tmp17_; _tmp19_ = vala_code_context_get_profile (_tmp18_); _tmp20_ = _tmp19_; _tmp21_ = _tmp20_ == VALA_PROFILE_DOVA; _vala_code_context_unref0 (_tmp18_); if (_tmp21_) { gchar* _tmp22_; _tmp22_ = g_strdup ("init"); _g_free0 (infix); infix = _tmp22_; } _tmp23_ = m; _tmp24_ = vala_symbol_get_name ((ValaSymbol*) _tmp23_); _tmp25_ = _tmp24_; if (g_strcmp0 (_tmp25_, ".new") == 0) { ValaClass* _tmp26_; gchar* _tmp27_ = NULL; gchar* _tmp28_; const gchar* _tmp29_; gchar* _tmp30_ = NULL; gchar* _tmp31_; _tmp26_ = parent; _tmp27_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp26_); _tmp28_ = _tmp27_; _tmp29_ = infix; _tmp30_ = g_strdup_printf ("%s%s", _tmp28_, _tmp29_); _tmp31_ = _tmp30_; _g_free0 (_tmp28_); result = _tmp31_; _g_free0 (infix); _vala_code_node_unref0 (parent); _vala_code_node_unref0 (m); return result; } else { ValaClass* _tmp32_; gchar* _tmp33_ = NULL; gchar* _tmp34_; const gchar* _tmp35_; ValaCreationMethod* _tmp36_; const gchar* _tmp37_; const gchar* _tmp38_; gchar* _tmp39_ = NULL; gchar* _tmp40_; _tmp32_ = parent; _tmp33_ = vala_ccode_base_module_get_ccode_lower_case_prefix ((ValaSymbol*) _tmp32_); _tmp34_ = _tmp33_; _tmp35_ = infix; _tmp36_ = m; _tmp37_ = vala_symbol_get_name ((ValaSymbol*) _tmp36_); _tmp38_ = _tmp37_; _tmp39_ = g_strdup_printf ("%s%s_%s", _tmp34_, _tmp35_, _tmp38_); _tmp40_ = _tmp39_; _g_free0 (_tmp34_); result = _tmp40_; _g_free0 (infix); _vala_code_node_unref0 (parent); _vala_code_node_unref0 (m); return result; } _g_free0 (infix); _vala_code_node_unref0 (parent); _vala_code_node_unref0 (m); } else { ValaSymbol* _tmp41_; _tmp41_ = self->priv->sym; if (VALA_IS_METHOD (_tmp41_)) { ValaSymbol* _tmp42_; ValaMethod* _tmp43_; ValaMethod* m; gboolean _tmp44_ = FALSE; ValaMethod* _tmp45_; ValaMethod* _tmp46_; ValaMethod* _tmp47_; gboolean _tmp51_; _tmp42_ = self->priv->sym; _tmp43_ = _vala_code_node_ref0 (VALA_METHOD (_tmp42_)); m = _tmp43_; _tmp45_ = m; _tmp46_ = vala_method_get_base_method (_tmp45_); _tmp47_ = _tmp46_; if (_tmp47_ != NULL) { _tmp44_ = TRUE; } else { ValaMethod* _tmp48_; ValaMethod* _tmp49_; ValaMethod* _tmp50_; _tmp48_ = m; _tmp49_ = vala_method_get_base_interface_method (_tmp48_); _tmp50_ = _tmp49_; _tmp44_ = _tmp50_ != NULL; } _tmp51_ = _tmp44_; if (_tmp51_) { ValaMethod* _tmp52_; ValaSymbol* _tmp53_; ValaSymbol* _tmp54_; gchar* _tmp55_ = NULL; gchar* _tmp56_; ValaMethod* _tmp57_; const gchar* _tmp58_; const gchar* _tmp59_; gchar* _tmp60_ = NULL; gchar* _tmp61_; _tmp52_ = m; _tmp53_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp52_); _tmp54_ = _tmp53_; _tmp55_ = vala_ccode_base_module_get_ccode_lower_case_prefix (_tmp54_); _tmp56_ = _tmp55_; _tmp57_ = m; _tmp58_ = vala_symbol_get_name ((ValaSymbol*) _tmp57_); _tmp59_ = _tmp58_; _tmp60_ = g_strdup_printf ("%sreal_%s", _tmp56_, _tmp59_); _tmp61_ = _tmp60_; _g_free0 (_tmp56_); result = _tmp61_; _vala_code_node_unref0 (m); return result; } else { const gchar* _tmp62_; const gchar* _tmp63_; gchar* _tmp64_; _tmp62_ = vala_ccode_attribute_get_name (self); _tmp63_ = _tmp62_; _tmp64_ = g_strdup (_tmp63_); result = _tmp64_; _vala_code_node_unref0 (m); return result; } _vala_code_node_unref0 (m); } else { ValaSymbol* _tmp65_; _tmp65_ = self->priv->sym; if (VALA_IS_PROPERTY_ACCESSOR (_tmp65_)) { ValaSymbol* _tmp66_; ValaPropertyAccessor* _tmp67_; ValaPropertyAccessor* acc; ValaPropertyAccessor* _tmp68_; ValaProperty* _tmp69_; ValaProperty* _tmp70_; ValaProperty* _tmp71_; ValaProperty* prop; gboolean _tmp72_ = FALSE; ValaProperty* _tmp73_; ValaProperty* _tmp74_; ValaProperty* _tmp75_; gboolean _tmp79_; _tmp66_ = self->priv->sym; _tmp67_ = _vala_code_node_ref0 (VALA_PROPERTY_ACCESSOR (_tmp66_)); acc = _tmp67_; _tmp68_ = acc; _tmp69_ = vala_property_accessor_get_prop (_tmp68_); _tmp70_ = _tmp69_; _tmp71_ = _vala_code_node_ref0 (VALA_PROPERTY (_tmp70_)); prop = _tmp71_; _tmp73_ = prop; _tmp74_ = vala_property_get_base_property (_tmp73_); _tmp75_ = _tmp74_; if (_tmp75_ != NULL) { _tmp72_ = TRUE; } else { ValaProperty* _tmp76_; ValaProperty* _tmp77_; ValaProperty* _tmp78_; _tmp76_ = prop; _tmp77_ = vala_property_get_base_interface_property (_tmp76_); _tmp78_ = _tmp77_; _tmp72_ = _tmp78_ != NULL; } _tmp79_ = _tmp72_; if (_tmp79_) { ValaPropertyAccessor* _tmp80_; gboolean _tmp81_; gboolean _tmp82_; _tmp80_ = acc; _tmp81_ = vala_property_accessor_get_readable (_tmp80_); _tmp82_ = _tmp81_; if (_tmp82_) { ValaProperty* _tmp83_; ValaSymbol* _tmp84_; ValaSymbol* _tmp85_; gchar* _tmp86_ = NULL; gchar* _tmp87_; ValaProperty* _tmp88_; const gchar* _tmp89_; const gchar* _tmp90_; gchar* _tmp91_ = NULL; gchar* _tmp92_; _tmp83_ = prop; _tmp84_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp83_); _tmp85_ = _tmp84_; _tmp86_ = vala_ccode_base_module_get_ccode_lower_case_prefix (_tmp85_); _tmp87_ = _tmp86_; _tmp88_ = prop; _tmp89_ = vala_symbol_get_name ((ValaSymbol*) _tmp88_); _tmp90_ = _tmp89_; _tmp91_ = g_strdup_printf ("%sreal_get_%s", _tmp87_, _tmp90_); _tmp92_ = _tmp91_; _g_free0 (_tmp87_); result = _tmp92_; _vala_code_node_unref0 (prop); _vala_code_node_unref0 (acc); return result; } else { ValaProperty* _tmp93_; ValaSymbol* _tmp94_; ValaSymbol* _tmp95_; gchar* _tmp96_ = NULL; gchar* _tmp97_; ValaProperty* _tmp98_; const gchar* _tmp99_; const gchar* _tmp100_; gchar* _tmp101_ = NULL; gchar* _tmp102_; _tmp93_ = prop; _tmp94_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp93_); _tmp95_ = _tmp94_; _tmp96_ = vala_ccode_base_module_get_ccode_lower_case_prefix (_tmp95_); _tmp97_ = _tmp96_; _tmp98_ = prop; _tmp99_ = vala_symbol_get_name ((ValaSymbol*) _tmp98_); _tmp100_ = _tmp99_; _tmp101_ = g_strdup_printf ("%sreal_set_%s", _tmp97_, _tmp100_); _tmp102_ = _tmp101_; _g_free0 (_tmp97_); result = _tmp102_; _vala_code_node_unref0 (prop); _vala_code_node_unref0 (acc); return result; } } else { const gchar* _tmp103_; const gchar* _tmp104_; gchar* _tmp105_; _tmp103_ = vala_ccode_attribute_get_name (self); _tmp104_ = _tmp103_; _tmp105_ = g_strdup (_tmp104_); result = _tmp105_; _vala_code_node_unref0 (prop); _vala_code_node_unref0 (acc); return result; } _vala_code_node_unref0 (prop); _vala_code_node_unref0 (acc); } } } g_assert_not_reached (); } static gchar* vala_ccode_attribute_get_default_const_name (ValaCCodeAttribute* self) { gchar* result = NULL; ValaCodeNode* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->node; if (VALA_IS_DATA_TYPE (_tmp0_)) { ValaCodeNode* _tmp1_; ValaDataType* _tmp2_; ValaDataType* type; gchar* ptr = NULL; ValaTypeSymbol* t = NULL; ValaDataType* _tmp3_; ValaTypeSymbol* _tmp14_; gboolean _tmp15_ = FALSE; ValaTypeSymbol* _tmp18_; gchar* _tmp19_ = NULL; gchar* _tmp20_; const gchar* _tmp21_; gchar* _tmp22_ = NULL; gchar* _tmp23_; _tmp1_ = self->priv->node; _tmp2_ = _vala_code_node_ref0 (VALA_DATA_TYPE (_tmp1_)); type = _tmp2_; _tmp3_ = type; if (VALA_IS_ARRAY_TYPE (_tmp3_)) { ValaDataType* _tmp4_; ValaDataType* _tmp5_; ValaDataType* _tmp6_; ValaTypeSymbol* _tmp7_; ValaTypeSymbol* _tmp8_; ValaTypeSymbol* _tmp9_; _tmp4_ = type; _tmp5_ = vala_array_type_get_element_type (VALA_ARRAY_TYPE (_tmp4_)); _tmp6_ = _tmp5_; _tmp7_ = vala_data_type_get_data_type (_tmp6_); _tmp8_ = _tmp7_; _tmp9_ = _vala_code_node_ref0 (_tmp8_); _vala_code_node_unref0 (t); t = _tmp9_; } else { ValaDataType* _tmp10_; ValaTypeSymbol* _tmp11_; ValaTypeSymbol* _tmp12_; ValaTypeSymbol* _tmp13_; _tmp10_ = type; _tmp11_ = vala_data_type_get_data_type (_tmp10_); _tmp12_ = _tmp11_; _tmp13_ = _vala_code_node_ref0 (_tmp12_); _vala_code_node_unref0 (t); t = _tmp13_; } _tmp14_ = t; _tmp15_ = vala_typesymbol_is_reference_type (_tmp14_); if (!_tmp15_) { gchar* _tmp16_; _tmp16_ = g_strdup (""); _g_free0 (ptr); ptr = _tmp16_; } else { gchar* _tmp17_; _tmp17_ = g_strdup ("*"); _g_free0 (ptr); ptr = _tmp17_; } _tmp18_ = t; _tmp19_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp18_); _tmp20_ = _tmp19_; _tmp21_ = ptr; _tmp22_ = g_strdup_printf ("const %s%s", _tmp20_, _tmp21_); _tmp23_ = _tmp22_; _g_free0 (_tmp20_); result = _tmp23_; _vala_code_node_unref0 (t); _g_free0 (ptr); _vala_code_node_unref0 (type); return result; } else { gboolean _tmp24_ = FALSE; ValaCodeNode* _tmp25_; gboolean _tmp29_; _tmp25_ = self->priv->node; if (VALA_IS_CLASS (_tmp25_)) { ValaCodeNode* _tmp26_; gboolean _tmp27_; gboolean _tmp28_; _tmp26_ = self->priv->node; _tmp27_ = vala_class_get_is_immutable (VALA_CLASS (_tmp26_)); _tmp28_ = _tmp27_; _tmp24_ = _tmp28_; } else { _tmp24_ = FALSE; } _tmp29_ = _tmp24_; if (_tmp29_) { const gchar* _tmp30_; const gchar* _tmp31_; gchar* _tmp32_ = NULL; _tmp30_ = vala_ccode_attribute_get_name (self); _tmp31_ = _tmp30_; _tmp32_ = g_strdup_printf ("const %s", _tmp31_); result = _tmp32_; return result; } else { const gchar* _tmp33_; const gchar* _tmp34_; gchar* _tmp35_; _tmp33_ = vala_ccode_attribute_get_name (self); _tmp34_ = _tmp33_; _tmp35_ = g_strdup (_tmp34_); result = _tmp35_; return result; } } } const gchar* vala_ccode_attribute_get_name (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_name; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "cname"); _g_free0 (self->priv->_name); self->priv->_name = _tmp3_; } _tmp4_ = self->priv->_name; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_name (self); _g_free0 (self->priv->_name); self->priv->_name = _tmp5_; } } _tmp6_ = self->priv->_name; result = _tmp6_; return result; } const gchar* vala_ccode_attribute_get_const_name (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_const_name; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "const_cname"); _g_free0 (self->priv->_const_name); self->priv->_const_name = _tmp3_; } _tmp4_ = self->priv->_const_name; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_const_name (self); _g_free0 (self->priv->_const_name); self->priv->_const_name = _tmp5_; } } _tmp6_ = self->priv->_const_name; result = _tmp6_; return result; } const gchar* vala_ccode_attribute_get_type_name (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp9_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_type_name; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "type_cname"); _g_free0 (self->priv->_type_name); self->priv->_type_name = _tmp3_; } _tmp4_ = self->priv->_type_name; if (_tmp4_ == NULL) { ValaSymbol* _tmp5_; gchar* _tmp6_ = NULL; gchar* _tmp7_; gchar* _tmp8_ = NULL; _tmp5_ = self->priv->sym; _tmp6_ = vala_ccode_base_module_get_ccode_name ((ValaCodeNode*) _tmp5_); _tmp7_ = _tmp6_; _tmp8_ = g_strdup_printf ("%sIface", _tmp7_); _g_free0 (self->priv->_type_name); self->priv->_type_name = _tmp8_; _g_free0 (_tmp7_); } } _tmp9_ = self->priv->_type_name; result = _tmp9_; return result; } const gchar* vala_ccode_attribute_get_header_filenames (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_header_filenames; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "cheader_filename"); _g_free0 (self->priv->_header_filenames); self->priv->_header_filenames = _tmp3_; } _tmp4_ = self->priv->_header_filenames; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_header_filenames (self); _g_free0 (self->priv->_header_filenames); self->priv->_header_filenames = _tmp5_; } } _tmp6_ = self->priv->_header_filenames; result = _tmp6_; return result; } const gchar* vala_ccode_attribute_get_prefix (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_prefix; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "cprefix"); _g_free0 (self->priv->_prefix); self->priv->_prefix = _tmp3_; } _tmp4_ = self->priv->_prefix; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_prefix (self); _g_free0 (self->priv->_prefix); self->priv->_prefix = _tmp5_; } } _tmp6_ = self->priv->_prefix; result = _tmp6_; return result; } const gchar* vala_ccode_attribute_get_lower_case_prefix (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp15_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_lower_case_prefix; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp13_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; gboolean _tmp4_ = FALSE; const gchar* _tmp5_; gboolean _tmp10_; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "lower_case_cprefix"); _g_free0 (self->priv->_lower_case_prefix); self->priv->_lower_case_prefix = _tmp3_; _tmp5_ = self->priv->_lower_case_prefix; if (_tmp5_ == NULL) { gboolean _tmp6_ = FALSE; ValaSymbol* _tmp7_; gboolean _tmp9_; _tmp7_ = self->priv->sym; if (VALA_IS_OBJECT_TYPE_SYMBOL (_tmp7_)) { _tmp6_ = TRUE; } else { ValaSymbol* _tmp8_; _tmp8_ = self->priv->sym; _tmp6_ = VALA_IS_STRUCT (_tmp8_); } _tmp9_ = _tmp6_; _tmp4_ = _tmp9_; } else { _tmp4_ = FALSE; } _tmp10_ = _tmp4_; if (_tmp10_) { ValaAttribute* _tmp11_; gchar* _tmp12_ = NULL; _tmp11_ = self->priv->ccode; _tmp12_ = vala_attribute_get_string (_tmp11_, "cprefix"); _g_free0 (self->priv->_lower_case_prefix); self->priv->_lower_case_prefix = _tmp12_; } } _tmp13_ = self->priv->_lower_case_prefix; if (_tmp13_ == NULL) { gchar* _tmp14_ = NULL; _tmp14_ = vala_ccode_attribute_get_default_lower_case_prefix (self); _g_free0 (self->priv->_lower_case_prefix); self->priv->_lower_case_prefix = _tmp14_; } } _tmp15_ = self->priv->_lower_case_prefix; result = _tmp15_; return result; } const gchar* vala_ccode_attribute_get_lower_case_suffix (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_lower_case_suffix; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "lower_case_csuffix"); _g_free0 (self->priv->_lower_case_suffix); self->priv->_lower_case_suffix = _tmp3_; } _tmp4_ = self->priv->_lower_case_suffix; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_lower_case_suffix (self); _g_free0 (self->priv->_lower_case_suffix); self->priv->_lower_case_suffix = _tmp5_; } } _tmp6_ = self->priv->_lower_case_suffix; result = _tmp6_; return result; } const gchar* vala_ccode_attribute_get_ref_function (ValaCCodeAttribute* self) { const gchar* result; gboolean _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->ref_function_set; if (!_tmp0_) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "ref_function"); _g_free0 (self->priv->_ref_function); self->priv->_ref_function = _tmp3_; } _tmp4_ = self->priv->_ref_function; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_ref_function (self); _g_free0 (self->priv->_ref_function); self->priv->_ref_function = _tmp5_; } self->priv->ref_function_set = TRUE; } _tmp6_ = self->priv->_ref_function; result = _tmp6_; return result; } static gboolean* _bool_dup (gboolean* self) { gboolean* dup; dup = g_new0 (gboolean, 1); memcpy (dup, self, sizeof (gboolean)); return dup; } static gpointer __bool_dup0 (gpointer self) { return self ? _bool_dup (self) : NULL; } gboolean vala_ccode_attribute_get_ref_function_void (ValaCCodeAttribute* self) { gboolean result; gboolean* _tmp0_; gboolean* _tmp21_; g_return_val_if_fail (self != NULL, FALSE); _tmp0_ = self->priv->_ref_function_void; if (_tmp0_ == NULL) { gboolean _tmp1_ = FALSE; ValaAttribute* _tmp2_; gboolean _tmp5_; _tmp2_ = self->priv->ccode; if (_tmp2_ != NULL) { ValaAttribute* _tmp3_; gboolean _tmp4_ = FALSE; _tmp3_ = self->priv->ccode; _tmp4_ = vala_attribute_has_argument (_tmp3_, "ref_function_void"); _tmp1_ = _tmp4_; } else { _tmp1_ = FALSE; } _tmp5_ = _tmp1_; if (_tmp5_) { ValaAttribute* _tmp6_; gboolean _tmp7_ = FALSE; gboolean* _tmp8_; _tmp6_ = self->priv->ccode; _tmp7_ = vala_attribute_get_bool (_tmp6_, "ref_function_void", FALSE); _tmp8_ = __bool_dup0 (&_tmp7_); _g_free0 (self->priv->_ref_function_void); self->priv->_ref_function_void = _tmp8_; } else { ValaSymbol* _tmp9_; ValaClass* _tmp10_; ValaClass* cl; ValaClass* _tmp11_; ValaClass* _tmp12_; ValaClass* _tmp13_; _tmp9_ = self->priv->sym; _tmp10_ = _vala_code_node_ref0 (VALA_CLASS (_tmp9_)); cl = _tmp10_; _tmp11_ = cl; _tmp12_ = vala_class_get_base_class (_tmp11_); _tmp13_ = _tmp12_; if (_tmp13_ != NULL) { ValaClass* _tmp14_; ValaClass* _tmp15_; ValaClass* _tmp16_; gboolean _tmp17_ = FALSE; gboolean* _tmp18_; _tmp14_ = cl; _tmp15_ = vala_class_get_base_class (_tmp14_); _tmp16_ = _tmp15_; _tmp17_ = vala_ccode_base_module_get_ccode_ref_function_void (_tmp16_); _tmp18_ = __bool_dup0 (&_tmp17_); _g_free0 (self->priv->_ref_function_void); self->priv->_ref_function_void = _tmp18_; } else { gboolean _tmp19_; gboolean* _tmp20_; _tmp19_ = FALSE; _tmp20_ = __bool_dup0 (&_tmp19_); _g_free0 (self->priv->_ref_function_void); self->priv->_ref_function_void = _tmp20_; } _vala_code_node_unref0 (cl); } } _tmp21_ = self->priv->_ref_function_void; result = *_tmp21_; return result; } gboolean vala_ccode_attribute_get_ref_sink_function_void (ValaCCodeAttribute* self) { gboolean result; gboolean* _tmp0_; gboolean* _tmp21_; g_return_val_if_fail (self != NULL, FALSE); _tmp0_ = self->priv->_ref_sink_function_void; if (_tmp0_ == NULL) { gboolean _tmp1_ = FALSE; ValaAttribute* _tmp2_; gboolean _tmp5_; _tmp2_ = self->priv->ccode; if (_tmp2_ != NULL) { ValaAttribute* _tmp3_; gboolean _tmp4_ = FALSE; _tmp3_ = self->priv->ccode; _tmp4_ = vala_attribute_has_argument (_tmp3_, "ref_sink_function_void"); _tmp1_ = _tmp4_; } else { _tmp1_ = FALSE; } _tmp5_ = _tmp1_; if (_tmp5_) { ValaAttribute* _tmp6_; gboolean _tmp7_ = FALSE; gboolean* _tmp8_; _tmp6_ = self->priv->ccode; _tmp7_ = vala_attribute_get_bool (_tmp6_, "ref_sink_function_void", FALSE); _tmp8_ = __bool_dup0 (&_tmp7_); _g_free0 (self->priv->_ref_sink_function_void); self->priv->_ref_sink_function_void = _tmp8_; } else { ValaSymbol* _tmp9_; ValaClass* _tmp10_; ValaClass* cl; ValaClass* _tmp11_; ValaClass* _tmp12_; ValaClass* _tmp13_; _tmp9_ = self->priv->sym; _tmp10_ = _vala_code_node_ref0 (VALA_CLASS (_tmp9_)); cl = _tmp10_; _tmp11_ = cl; _tmp12_ = vala_class_get_base_class (_tmp11_); _tmp13_ = _tmp12_; if (_tmp13_ != NULL) { ValaClass* _tmp14_; ValaClass* _tmp15_; ValaClass* _tmp16_; gboolean _tmp17_ = FALSE; gboolean* _tmp18_; _tmp14_ = cl; _tmp15_ = vala_class_get_base_class (_tmp14_); _tmp16_ = _tmp15_; _tmp17_ = vala_ccode_base_module_get_ccode_ref_sink_function_void (_tmp16_); _tmp18_ = __bool_dup0 (&_tmp17_); _g_free0 (self->priv->_ref_sink_function_void); self->priv->_ref_sink_function_void = _tmp18_; } else { gboolean _tmp19_; gboolean* _tmp20_; _tmp19_ = FALSE; _tmp20_ = __bool_dup0 (&_tmp19_); _g_free0 (self->priv->_ref_sink_function_void); self->priv->_ref_sink_function_void = _tmp20_; } _vala_code_node_unref0 (cl); } } _tmp21_ = self->priv->_ref_sink_function_void; result = *_tmp21_; return result; } const gchar* vala_ccode_attribute_get_unref_function (ValaCCodeAttribute* self) { const gchar* result; gboolean _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->unref_function_set; if (!_tmp0_) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "unref_function"); _g_free0 (self->priv->_unref_function); self->priv->_unref_function = _tmp3_; } _tmp4_ = self->priv->_unref_function; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_unref_function (self); _g_free0 (self->priv->_unref_function); self->priv->_unref_function = _tmp5_; } self->priv->unref_function_set = TRUE; } _tmp6_ = self->priv->_unref_function; result = _tmp6_; return result; } const gchar* vala_ccode_attribute_get_ref_sink_function (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_ref_sink_function; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "ref_sink_function"); _g_free0 (self->priv->_ref_sink_function); self->priv->_ref_sink_function = _tmp3_; } _tmp4_ = self->priv->_ref_sink_function; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_ref_sink_function (self); _g_free0 (self->priv->_ref_sink_function); self->priv->_ref_sink_function = _tmp5_; } } _tmp6_ = self->priv->_ref_sink_function; result = _tmp6_; return result; } const gchar* vala_ccode_attribute_get_copy_function (ValaCCodeAttribute* self) { const gchar* result; gboolean _tmp0_; const gchar* _tmp11_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->copy_function_set; if (!_tmp0_) { ValaAttribute* _tmp1_; gboolean _tmp4_ = FALSE; const gchar* _tmp5_; gboolean _tmp7_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "copy_function"); _g_free0 (self->priv->_copy_function); self->priv->_copy_function = _tmp3_; } _tmp5_ = self->priv->_copy_function; if (_tmp5_ == NULL) { ValaSymbol* _tmp6_; _tmp6_ = self->priv->sym; _tmp4_ = VALA_IS_STRUCT (_tmp6_); } else { _tmp4_ = FALSE; } _tmp7_ = _tmp4_; if (_tmp7_) { const gchar* _tmp8_; const gchar* _tmp9_; gchar* _tmp10_; _tmp8_ = vala_ccode_attribute_get_lower_case_prefix (self); _tmp9_ = _tmp8_; _tmp10_ = g_strconcat (_tmp9_, "copy", NULL); _g_free0 (self->priv->_copy_function); self->priv->_copy_function = _tmp10_; } self->priv->copy_function_set = TRUE; } _tmp11_ = self->priv->_copy_function; result = _tmp11_; return result; } const gchar* vala_ccode_attribute_get_destroy_function (ValaCCodeAttribute* self) { const gchar* result; gboolean _tmp0_; const gchar* _tmp11_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->destroy_function_set; if (!_tmp0_) { ValaAttribute* _tmp1_; gboolean _tmp4_ = FALSE; const gchar* _tmp5_; gboolean _tmp7_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "destroy_function"); _g_free0 (self->priv->_destroy_function); self->priv->_destroy_function = _tmp3_; } _tmp5_ = self->priv->_destroy_function; if (_tmp5_ == NULL) { ValaSymbol* _tmp6_; _tmp6_ = self->priv->sym; _tmp4_ = VALA_IS_STRUCT (_tmp6_); } else { _tmp4_ = FALSE; } _tmp7_ = _tmp4_; if (_tmp7_) { const gchar* _tmp8_; const gchar* _tmp9_; gchar* _tmp10_; _tmp8_ = vala_ccode_attribute_get_lower_case_prefix (self); _tmp9_ = _tmp8_; _tmp10_ = g_strconcat (_tmp9_, "destroy", NULL); _g_free0 (self->priv->_destroy_function); self->priv->_destroy_function = _tmp10_; } self->priv->destroy_function_set = TRUE; } _tmp11_ = self->priv->_destroy_function; result = _tmp11_; return result; } const gchar* vala_ccode_attribute_get_free_function (ValaCCodeAttribute* self) { const gchar* result; gboolean _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->free_function_set; if (!_tmp0_) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "free_function"); _g_free0 (self->priv->_free_function); self->priv->_free_function = _tmp3_; } _tmp4_ = self->priv->_free_function; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_free_function (self); _g_free0 (self->priv->_free_function); self->priv->_free_function = _tmp5_; } self->priv->free_function_set = TRUE; } _tmp6_ = self->priv->_free_function; result = _tmp6_; return result; } gboolean vala_ccode_attribute_get_free_function_address_of (ValaCCodeAttribute* self) { gboolean result; gboolean* _tmp0_; gboolean* _tmp21_; g_return_val_if_fail (self != NULL, FALSE); _tmp0_ = self->priv->_free_function_address_of; if (_tmp0_ == NULL) { gboolean _tmp1_ = FALSE; ValaAttribute* _tmp2_; gboolean _tmp5_; _tmp2_ = self->priv->ccode; if (_tmp2_ != NULL) { ValaAttribute* _tmp3_; gboolean _tmp4_ = FALSE; _tmp3_ = self->priv->ccode; _tmp4_ = vala_attribute_has_argument (_tmp3_, "free_function_address_of"); _tmp1_ = _tmp4_; } else { _tmp1_ = FALSE; } _tmp5_ = _tmp1_; if (_tmp5_) { ValaAttribute* _tmp6_; gboolean _tmp7_ = FALSE; gboolean* _tmp8_; _tmp6_ = self->priv->ccode; _tmp7_ = vala_attribute_get_bool (_tmp6_, "free_function_address_of", FALSE); _tmp8_ = __bool_dup0 (&_tmp7_); _g_free0 (self->priv->_free_function_address_of); self->priv->_free_function_address_of = _tmp8_; } else { ValaSymbol* _tmp9_; ValaClass* _tmp10_; ValaClass* cl; ValaClass* _tmp11_; ValaClass* _tmp12_; ValaClass* _tmp13_; _tmp9_ = self->priv->sym; _tmp10_ = _vala_code_node_ref0 (VALA_CLASS (_tmp9_)); cl = _tmp10_; _tmp11_ = cl; _tmp12_ = vala_class_get_base_class (_tmp11_); _tmp13_ = _tmp12_; if (_tmp13_ != NULL) { ValaClass* _tmp14_; ValaClass* _tmp15_; ValaClass* _tmp16_; gboolean _tmp17_ = FALSE; gboolean* _tmp18_; _tmp14_ = cl; _tmp15_ = vala_class_get_base_class (_tmp14_); _tmp16_ = _tmp15_; _tmp17_ = vala_ccode_base_module_get_ccode_free_function_address_of (_tmp16_); _tmp18_ = __bool_dup0 (&_tmp17_); _g_free0 (self->priv->_free_function_address_of); self->priv->_free_function_address_of = _tmp18_; } else { gboolean _tmp19_; gboolean* _tmp20_; _tmp19_ = FALSE; _tmp20_ = __bool_dup0 (&_tmp19_); _g_free0 (self->priv->_free_function_address_of); self->priv->_free_function_address_of = _tmp20_; } _vala_code_node_unref0 (cl); } } _tmp21_ = self->priv->_free_function_address_of; result = *_tmp21_; return result; } const gchar* vala_ccode_attribute_get_type_id (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_type_id; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "type_id"); _g_free0 (self->priv->_type_id); self->priv->_type_id = _tmp3_; } _tmp4_ = self->priv->_type_id; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_type_id (self); _g_free0 (self->priv->_type_id); self->priv->_type_id = _tmp5_; } } _tmp6_ = self->priv->_type_id; result = _tmp6_; return result; } const gchar* vala_ccode_attribute_get_marshaller_type_name (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_marshaller_type_name; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "marshaller_type_name"); _g_free0 (self->priv->_marshaller_type_name); self->priv->_marshaller_type_name = _tmp3_; } _tmp4_ = self->priv->_marshaller_type_name; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_marshaller_type_name (self); _g_free0 (self->priv->_marshaller_type_name); self->priv->_marshaller_type_name = _tmp5_; } } _tmp6_ = self->priv->_marshaller_type_name; result = _tmp6_; return result; } const gchar* vala_ccode_attribute_get_get_value_function (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_get_value_function; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "get_value_function"); _g_free0 (self->priv->_get_value_function); self->priv->_get_value_function = _tmp3_; } _tmp4_ = self->priv->_get_value_function; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_get_value_function (self); _g_free0 (self->priv->_get_value_function); self->priv->_get_value_function = _tmp5_; } } _tmp6_ = self->priv->_get_value_function; result = _tmp6_; return result; } const gchar* vala_ccode_attribute_get_set_value_function (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_set_value_function; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "set_value_function"); _g_free0 (self->priv->_set_value_function); self->priv->_set_value_function = _tmp3_; } _tmp4_ = self->priv->_set_value_function; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_set_value_function (self); _g_free0 (self->priv->_set_value_function); self->priv->_set_value_function = _tmp5_; } } _tmp6_ = self->priv->_set_value_function; result = _tmp6_; return result; } const gchar* vala_ccode_attribute_get_take_value_function (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_take_value_function; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "take_value_function"); _g_free0 (self->priv->_take_value_function); self->priv->_take_value_function = _tmp3_; } _tmp4_ = self->priv->_take_value_function; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_take_value_function (self); _g_free0 (self->priv->_take_value_function); self->priv->_take_value_function = _tmp5_; } } _tmp6_ = self->priv->_take_value_function; result = _tmp6_; return result; } const gchar* vala_ccode_attribute_get_param_spec_function (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_param_spec_function; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "param_spec_function"); _g_free0 (self->priv->_param_spec_function); self->priv->_param_spec_function = _tmp3_; } _tmp4_ = self->priv->_param_spec_function; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_param_spec_function (self); _g_free0 (self->priv->_param_spec_function); self->priv->_param_spec_function = _tmp5_; } } _tmp6_ = self->priv->_param_spec_function; result = _tmp6_; return result; } const gchar* vala_ccode_attribute_get_default_value (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp6_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_default_value; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "default_value"); _g_free0 (self->priv->_default_value); self->priv->_default_value = _tmp3_; } _tmp4_ = self->priv->_default_value; if (_tmp4_ == NULL) { gchar* _tmp5_ = NULL; _tmp5_ = vala_ccode_attribute_get_default_default_value (self); _g_free0 (self->priv->_default_value); self->priv->_default_value = _tmp5_; } } _tmp6_ = self->priv->_default_value; result = _tmp6_; return result; } gdouble vala_ccode_attribute_get_pos (ValaCCodeAttribute* self) { gdouble result; gdouble* _tmp0_; gdouble* _tmp41_; g_return_val_if_fail (self != NULL, 0.0); _tmp0_ = self->priv->_pos; if (_tmp0_ == NULL) { gboolean _tmp1_ = FALSE; ValaAttribute* _tmp2_; gboolean _tmp5_; _tmp2_ = self->priv->ccode; if (_tmp2_ != NULL) { ValaAttribute* _tmp3_; gboolean _tmp4_ = FALSE; _tmp3_ = self->priv->ccode; _tmp4_ = vala_attribute_has_argument (_tmp3_, "pos"); _tmp1_ = _tmp4_; } else { _tmp1_ = FALSE; } _tmp5_ = _tmp1_; if (_tmp5_) { ValaAttribute* _tmp6_; gdouble _tmp7_ = 0.0; gdouble* _tmp8_; _tmp6_ = self->priv->ccode; _tmp7_ = vala_attribute_get_double (_tmp6_, "pos", (gdouble) 0); _tmp8_ = __double_dup0 (&_tmp7_); _g_free0 (self->priv->_pos); self->priv->_pos = _tmp8_; } else { ValaCodeNode* _tmp9_; ValaParameter* _tmp10_; ValaParameter* param; ValaParameter* _tmp11_; ValaSymbol* _tmp12_; ValaSymbol* _tmp13_; ValaSymbol* _tmp14_; ValaSymbol* sym; ValaSymbol* _tmp15_; _tmp9_ = self->priv->node; _tmp10_ = _vala_code_node_ref0 (VALA_PARAMETER (_tmp9_)); param = _tmp10_; _tmp11_ = param; _tmp12_ = vala_symbol_get_parent_symbol ((ValaSymbol*) _tmp11_); _tmp13_ = _tmp12_; _tmp14_ = _vala_code_node_ref0 (_tmp13_); sym = _tmp14_; _tmp15_ = sym; if (VALA_IS_METHOD (_tmp15_)) { ValaSymbol* _tmp16_; ValaList* _tmp17_ = NULL; ValaList* _tmp18_; ValaParameter* _tmp19_; gint _tmp20_ = 0; gdouble _tmp21_; gdouble* _tmp22_; _tmp16_ = sym; _tmp17_ = vala_method_get_parameters (VALA_METHOD (_tmp16_)); _tmp18_ = _tmp17_; _tmp19_ = param; _tmp20_ = vala_list_index_of (_tmp18_, _tmp19_); _tmp21_ = _tmp20_ + 1.0; _tmp22_ = __double_dup0 (&_tmp21_); _g_free0 (self->priv->_pos); self->priv->_pos = _tmp22_; _vala_iterable_unref0 (_tmp18_); } else { ValaSymbol* _tmp23_; _tmp23_ = sym; if (VALA_IS_DELEGATE (_tmp23_)) { ValaSymbol* _tmp24_; ValaList* _tmp25_ = NULL; ValaList* _tmp26_; ValaParameter* _tmp27_; gint _tmp28_ = 0; gdouble _tmp29_; gdouble* _tmp30_; _tmp24_ = sym; _tmp25_ = vala_delegate_get_parameters (VALA_DELEGATE (_tmp24_)); _tmp26_ = _tmp25_; _tmp27_ = param; _tmp28_ = vala_list_index_of (_tmp26_, _tmp27_); _tmp29_ = _tmp28_ + 1.0; _tmp30_ = __double_dup0 (&_tmp29_); _g_free0 (self->priv->_pos); self->priv->_pos = _tmp30_; _vala_iterable_unref0 (_tmp26_); } else { ValaSymbol* _tmp31_; _tmp31_ = sym; if (VALA_IS_SIGNAL (_tmp31_)) { ValaSymbol* _tmp32_; ValaList* _tmp33_ = NULL; ValaList* _tmp34_; ValaParameter* _tmp35_; gint _tmp36_ = 0; gdouble _tmp37_; gdouble* _tmp38_; _tmp32_ = sym; _tmp33_ = vala_signal_get_parameters (VALA_SIGNAL (_tmp32_)); _tmp34_ = _tmp33_; _tmp35_ = param; _tmp36_ = vala_list_index_of (_tmp34_, _tmp35_); _tmp37_ = _tmp36_ + 1.0; _tmp38_ = __double_dup0 (&_tmp37_); _g_free0 (self->priv->_pos); self->priv->_pos = _tmp38_; _vala_iterable_unref0 (_tmp34_); } else { gdouble _tmp39_; gdouble* _tmp40_; _tmp39_ = 0.0; _tmp40_ = __double_dup0 (&_tmp39_); _g_free0 (self->priv->_pos); self->priv->_pos = _tmp40_; } } } _vala_code_node_unref0 (sym); _vala_code_node_unref0 (param); } } _tmp41_ = self->priv->_pos; result = *_tmp41_; return result; } const gchar* vala_ccode_attribute_get_real_name (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp9_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_real_name; if (_tmp0_ == NULL) { gboolean _tmp1_ = FALSE; ValaAttribute* _tmp2_; gboolean _tmp4_; const gchar* _tmp7_; _tmp2_ = self->priv->ccode; if (_tmp2_ != NULL) { ValaSymbol* _tmp3_; _tmp3_ = self->priv->sym; _tmp1_ = VALA_IS_CREATION_METHOD (_tmp3_); } else { _tmp1_ = FALSE; } _tmp4_ = _tmp1_; if (_tmp4_) { ValaAttribute* _tmp5_; gchar* _tmp6_ = NULL; _tmp5_ = self->priv->ccode; _tmp6_ = vala_attribute_get_string (_tmp5_, "construct_function"); _g_free0 (self->priv->_real_name); self->priv->_real_name = _tmp6_; } _tmp7_ = self->priv->_real_name; if (_tmp7_ == NULL) { gchar* _tmp8_ = NULL; _tmp8_ = vala_ccode_attribute_get_default_real_name (self); _g_free0 (self->priv->_real_name); self->priv->_real_name = _tmp8_; } } _tmp9_ = self->priv->_real_name; result = _tmp9_; return result; } const gchar* vala_ccode_attribute_get_vfunc_name (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp9_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_vfunc_name; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "vfunc_name"); _g_free0 (self->priv->_vfunc_name); self->priv->_vfunc_name = _tmp3_; } _tmp4_ = self->priv->_vfunc_name; if (_tmp4_ == NULL) { ValaSymbol* _tmp5_; const gchar* _tmp6_; const gchar* _tmp7_; gchar* _tmp8_; _tmp5_ = self->priv->sym; _tmp6_ = vala_symbol_get_name (_tmp5_); _tmp7_ = _tmp6_; _tmp8_ = g_strdup (_tmp7_); _g_free0 (self->priv->_vfunc_name); self->priv->_vfunc_name = _tmp8_; } } _tmp9_ = self->priv->_vfunc_name; result = _tmp9_; return result; } const gchar* vala_ccode_attribute_get_finish_name (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp8_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_finish_name; if (_tmp0_ == NULL) { ValaAttribute* _tmp1_; const gchar* _tmp4_; _tmp1_ = self->priv->ccode; if (_tmp1_ != NULL) { ValaAttribute* _tmp2_; gchar* _tmp3_ = NULL; _tmp2_ = self->priv->ccode; _tmp3_ = vala_attribute_get_string (_tmp2_, "finish_name"); _g_free0 (self->priv->_finish_name); self->priv->_finish_name = _tmp3_; } _tmp4_ = self->priv->_finish_name; if (_tmp4_ == NULL) { const gchar* _tmp5_; const gchar* _tmp6_; gchar* _tmp7_ = NULL; _tmp5_ = vala_ccode_attribute_get_name (self); _tmp6_ = _tmp5_; _tmp7_ = vala_ccode_attribute_get_finish_name_for_basename (self, _tmp6_); _g_free0 (self->priv->_finish_name); self->priv->_finish_name = _tmp7_; } } _tmp8_ = self->priv->_finish_name; result = _tmp8_; return result; } const gchar* vala_ccode_attribute_get_finish_vfunc_name (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp4_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_finish_vfunc_name; if (_tmp0_ == NULL) { const gchar* _tmp1_; const gchar* _tmp2_; gchar* _tmp3_ = NULL; _tmp1_ = vala_ccode_attribute_get_vfunc_name (self); _tmp2_ = _tmp1_; _tmp3_ = vala_ccode_attribute_get_finish_name_for_basename (self, _tmp2_); _g_free0 (self->priv->_finish_vfunc_name); self->priv->_finish_vfunc_name = _tmp3_; } _tmp4_ = self->priv->_finish_vfunc_name; result = _tmp4_; return result; } const gchar* vala_ccode_attribute_get_finish_real_name (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; const gchar* _tmp4_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_finish_real_name; if (_tmp0_ == NULL) { const gchar* _tmp1_; const gchar* _tmp2_; gchar* _tmp3_ = NULL; _tmp1_ = vala_ccode_attribute_get_real_name (self); _tmp2_ = _tmp1_; _tmp3_ = vala_ccode_attribute_get_finish_name_for_basename (self, _tmp2_); _g_free0 (self->priv->_finish_real_name); self->priv->_finish_real_name = _tmp3_; } _tmp4_ = self->priv->_finish_real_name; result = _tmp4_; return result; } gboolean vala_ccode_attribute_get_array_length (ValaCCodeAttribute* self) { gboolean result; gboolean _tmp0_; g_return_val_if_fail (self != NULL, FALSE); _tmp0_ = self->priv->_array_length; result = _tmp0_; return result; } static void vala_ccode_attribute_set_array_length (ValaCCodeAttribute* self, gboolean value) { gboolean _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = value; self->priv->_array_length = _tmp0_; } const gchar* vala_ccode_attribute_get_array_length_type (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_array_length_type; result = _tmp0_; return result; } static void vala_ccode_attribute_set_array_length_type (ValaCCodeAttribute* self, const gchar* value) { const gchar* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); _tmp0_ = value; _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_array_length_type); self->priv->_array_length_type = _tmp1_; } gboolean vala_ccode_attribute_get_array_null_terminated (ValaCCodeAttribute* self) { gboolean result; gboolean _tmp0_; g_return_val_if_fail (self != NULL, FALSE); _tmp0_ = self->priv->_array_null_terminated; result = _tmp0_; return result; } static void vala_ccode_attribute_set_array_null_terminated (ValaCCodeAttribute* self, gboolean value) { gboolean _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = value; self->priv->_array_null_terminated = _tmp0_; } const gchar* vala_ccode_attribute_get_array_length_name (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_array_length_name; result = _tmp0_; return result; } static void vala_ccode_attribute_set_array_length_name (ValaCCodeAttribute* self, const gchar* value) { const gchar* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); _tmp0_ = value; _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_array_length_name); self->priv->_array_length_name = _tmp1_; } const gchar* vala_ccode_attribute_get_array_length_expr (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_array_length_expr; result = _tmp0_; return result; } static void vala_ccode_attribute_set_array_length_expr (ValaCCodeAttribute* self, const gchar* value) { const gchar* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); _tmp0_ = value; _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_array_length_expr); self->priv->_array_length_expr = _tmp1_; } gboolean vala_ccode_attribute_get_delegate_target (ValaCCodeAttribute* self) { gboolean result; gboolean _tmp0_; g_return_val_if_fail (self != NULL, FALSE); _tmp0_ = self->priv->_delegate_target; result = _tmp0_; return result; } static void vala_ccode_attribute_set_delegate_target (ValaCCodeAttribute* self, gboolean value) { gboolean _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = value; self->priv->_delegate_target = _tmp0_; } const gchar* vala_ccode_attribute_get_sentinel (ValaCCodeAttribute* self) { const gchar* result; const gchar* _tmp0_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->_sentinel; result = _tmp0_; return result; } static void vala_ccode_attribute_set_sentinel (ValaCCodeAttribute* self, const gchar* value) { const gchar* _tmp0_; gchar* _tmp1_; g_return_if_fail (self != NULL); _tmp0_ = value; _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_sentinel); self->priv->_sentinel = _tmp1_; } static void vala_ccode_attribute_class_init (ValaCCodeAttributeClass * klass) { vala_ccode_attribute_parent_class = g_type_class_peek_parent (klass); VALA_ATTRIBUTE_CACHE_CLASS (klass)->finalize = vala_ccode_attribute_finalize; g_type_class_add_private (klass, sizeof (ValaCCodeAttributePrivate)); } static void vala_ccode_attribute_instance_init (ValaCCodeAttribute * self) { self->priv = VALA_CCODE_ATTRIBUTE_GET_PRIVATE (self); } static void vala_ccode_attribute_finalize (ValaAttributeCache* obj) { ValaCCodeAttribute * self; self = VALA_CCODE_ATTRIBUTE (obj); _vala_code_node_unref0 (self->priv->ccode); _g_free0 (self->priv->_array_length_type); _g_free0 (self->priv->_array_length_name); _g_free0 (self->priv->_array_length_expr); _g_free0 (self->priv->_sentinel); _g_free0 (self->priv->_name); _g_free0 (self->priv->_const_name); _g_free0 (self->priv->_type_name); _g_free0 (self->priv->_header_filenames); _g_free0 (self->priv->_prefix); _g_free0 (self->priv->_lower_case_prefix); _g_free0 (self->priv->_lower_case_suffix); _g_free0 (self->priv->_ref_function); _g_free0 (self->priv->_ref_function_void); _g_free0 (self->priv->_unref_function); _g_free0 (self->priv->_ref_sink_function); _g_free0 (self->priv->_ref_sink_function_void); _g_free0 (self->priv->_copy_function); _g_free0 (self->priv->_destroy_function); _g_free0 (self->priv->_free_function); _g_free0 (self->priv->_free_function_address_of); _g_free0 (self->priv->_type_id); _g_free0 (self->priv->_marshaller_type_name); _g_free0 (self->priv->_get_value_function); _g_free0 (self->priv->_set_value_function); _g_free0 (self->priv->_take_value_function); _g_free0 (self->priv->_param_spec_function); _g_free0 (self->priv->_default_value); _g_free0 (self->priv->_pos); _g_free0 (self->priv->_vfunc_name); _g_free0 (self->priv->_finish_name); _g_free0 (self->priv->_finish_vfunc_name); _g_free0 (self->priv->_finish_real_name); _g_free0 (self->priv->_real_name); VALA_ATTRIBUTE_CACHE_CLASS (vala_ccode_attribute_parent_class)->finalize (obj); } /** * Cache for the CCode attribute */ GType vala_ccode_attribute_get_type (void) { static volatile gsize vala_ccode_attribute_type_id__volatile = 0; if (g_once_init_enter (&vala_ccode_attribute_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (ValaCCodeAttributeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vala_ccode_attribute_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ValaCCodeAttribute), 0, (GInstanceInitFunc) vala_ccode_attribute_instance_init, NULL }; GType vala_ccode_attribute_type_id; vala_ccode_attribute_type_id = g_type_register_static (VALA_TYPE_ATTRIBUTE_CACHE, "ValaCCodeAttribute", &g_define_type_info, 0); g_once_init_leave (&vala_ccode_attribute_type_id__volatile, vala_ccode_attribute_type_id); } return vala_ccode_attribute_type_id__volatile; }