static gboolean vala_method_type_real_compatible (ValaDataType* base, ValaDataType* target_type) { ValaMethodType * self; gboolean result = FALSE; ValaDataType* _tmp0_; ValaDelegateType* _tmp1_; ValaDelegateType* dt; ValaDelegateType* _tmp2_; ValaDelegateType* _tmp3_; ValaDelegate* _tmp4_; ValaDelegate* _tmp5_; ValaMethod* _tmp6_; ValaDelegateType* _tmp7_; gboolean _tmp8_ = FALSE; self = (ValaMethodType*) base; g_return_val_if_fail (target_type != NULL, FALSE); _tmp0_ = target_type; _tmp1_ = _vala_code_node_ref0 (VALA_IS_DELEGATE_TYPE (_tmp0_) ? ((ValaDelegateType*) _tmp0_) : NULL); dt = _tmp1_; _tmp2_ = dt; if (_tmp2_ == NULL) { result = FALSE; _vala_code_node_unref0 (dt); return result; } _tmp3_ = dt; _tmp4_ = vala_delegate_type_get_delegate_symbol (_tmp3_); _tmp5_ = _tmp4_; _tmp6_ = self->priv->_method_symbol; _tmp7_ = dt; _tmp8_ = vala_delegate_matches_method (_tmp5_, _tmp6_, (ValaDataType*) _tmp7_); result = _tmp8_; _vala_code_node_unref0 (dt); return result; }
void vala_field_prototype_set_field_symbol (ValaFieldPrototype* self, ValaField* value) { ValaField* _tmp0_; ValaField* _tmp1_; g_return_if_fail (self != NULL); _tmp0_ = value; _tmp1_ = _vala_code_node_ref0 (_tmp0_); _vala_code_node_unref0 (self->priv->_field_symbol); self->priv->_field_symbol = _tmp1_; }
void vala_method_type_set_method_symbol (ValaMethodType* self, ValaMethod* value) { ValaMethod* _tmp0_; ValaMethod* _tmp1_; g_return_if_fail (self != NULL); _tmp0_ = value; _tmp1_ = _vala_code_node_ref0 (_tmp0_); _vala_code_node_unref0 (self->priv->_method_symbol); self->priv->_method_symbol = _tmp1_; }
void vala_target_value_set_actual_value_type (ValaTargetValue* self, ValaDataType* value) { ValaDataType* _tmp0_; ValaDataType* _tmp1_; g_return_if_fail (self != NULL); _tmp0_ = value; _tmp1_ = _vala_code_node_ref0 (_tmp0_); _vala_code_node_unref0 (self->priv->_actual_value_type); self->priv->_actual_value_type = _tmp1_; }
void vala_constructor_set_this_parameter (ValaConstructor* self, ValaParameter* value) { ValaParameter* _tmp0_; ValaParameter* _tmp1_; g_return_if_fail (self != NULL); _tmp0_ = value; _tmp1_ = _vala_code_node_ref0 (_tmp0_); _vala_code_node_unref0 (self->priv->_this_parameter); self->priv->_this_parameter = _tmp1_; }
void vala_unlock_statement_set_resource (ValaUnlockStatement* self, ValaExpression* value) { ValaExpression* _tmp0_; ValaExpression* _tmp1_; g_return_if_fail (self != NULL); _tmp0_ = value; _tmp1_ = _vala_code_node_ref0 (_tmp0_); _vala_code_node_unref0 (self->priv->_resource); self->priv->_resource = _tmp1_; }
static ValaTypeSymbol* vala_class_register_function_real_get_type_declaration (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; ValaTypeSymbol* result = NULL; ValaClass* _tmp0_; ValaTypeSymbol* _tmp1_; self = (ValaClassRegisterFunction*) base; _tmp0_ = self->priv->_class_reference; _tmp1_ = _vala_code_node_ref0 ((ValaTypeSymbol*) _tmp0_); result = _tmp1_; return result; }
void vala_member_initializer_set_initializer (ValaMemberInitializer* self, ValaExpression* value) { ValaExpression* _tmp0_; ValaExpression* _tmp1_; ValaExpression* _tmp2_; g_return_if_fail (self != NULL); _tmp0_ = value; _tmp1_ = _vala_code_node_ref0 (_tmp0_); _vala_code_node_unref0 (self->priv->_initializer); self->priv->_initializer = _tmp1_; _tmp2_ = self->priv->_initializer; vala_code_node_set_parent_node ((ValaCodeNode*) _tmp2_, (ValaCodeNode*) self); }
void vala_addressof_expression_set_inner (ValaAddressofExpression* self, ValaExpression* value) { ValaExpression* _tmp0_; ValaExpression* _tmp1_; ValaExpression* _tmp2_; g_return_if_fail (self != NULL); _tmp0_ = value; _tmp1_ = _vala_code_node_ref0 (_tmp0_); _vala_code_node_unref0 (self->priv->_inner); self->priv->_inner = _tmp1_; _tmp2_ = self->priv->_inner; vala_code_node_set_parent_node ((ValaCodeNode*) _tmp2_, (ValaCodeNode*) self); }
static void vala_slice_expression_set_stop (ValaSliceExpression* self, ValaExpression* value) { ValaExpression* _tmp0_; ValaExpression* _tmp1_; ValaExpression* _tmp2_; g_return_if_fail (self != NULL); _tmp0_ = value; _tmp1_ = _vala_code_node_ref0 (_tmp0_); _vala_code_node_unref0 (self->priv->_stop); self->priv->_stop = _tmp1_; _tmp2_ = self->priv->_stop; vala_code_node_set_parent_node ((ValaCodeNode*) _tmp2_, (ValaCodeNode*) self); }
static ValaDataType* vala_method_type_real_get_return_type (ValaDataType* base) { ValaMethodType * self; ValaDataType* result = NULL; ValaMethod* _tmp0_; ValaDataType* _tmp1_; ValaDataType* _tmp2_; ValaDataType* _tmp3_; self = (ValaMethodType*) base; _tmp0_ = self->priv->_method_symbol; _tmp1_ = vala_method_get_return_type (_tmp0_); _tmp2_ = _tmp1_; _tmp3_ = _vala_code_node_ref0 (_tmp2_); result = _tmp3_; return result; }
static gboolean vala_integer_type_real_compatible (ValaDataType* base, ValaDataType* target_type) { ValaIntegerType * self; gboolean result = FALSE; gboolean _tmp0_ = FALSE; ValaDataType* _tmp1_; ValaTypeSymbol* _tmp2_; ValaTypeSymbol* _tmp3_; gboolean _tmp5_; ValaDataType* _tmp41_; gboolean _tmp42_ = FALSE; self = (ValaIntegerType*) base; g_return_val_if_fail (target_type != NULL, FALSE); _tmp1_ = target_type; _tmp2_ = vala_data_type_get_data_type (_tmp1_); _tmp3_ = _tmp2_; if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, VALA_TYPE_STRUCT)) { const gchar* _tmp4_; _tmp4_ = self->priv->literal_type_name; _tmp0_ = g_strcmp0 (_tmp4_, "int") == 0; } else { _tmp0_ = FALSE; } _tmp5_ = _tmp0_; if (_tmp5_) { ValaDataType* _tmp6_; ValaTypeSymbol* _tmp7_; ValaTypeSymbol* _tmp8_; ValaStruct* _tmp9_; ValaStruct* target_st; ValaStruct* _tmp10_; gboolean _tmp11_ = FALSE; _tmp6_ = target_type; _tmp7_ = vala_data_type_get_data_type (_tmp6_); _tmp8_ = _tmp7_; _tmp9_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, VALA_TYPE_STRUCT, ValaStruct)); target_st = _tmp9_; _tmp10_ = target_st; _tmp11_ = vala_struct_is_integer_type (_tmp10_); if (_tmp11_) { ValaStruct* _tmp12_; ValaAttribute* _tmp13_ = NULL; ValaAttribute* int_attr; gboolean _tmp14_ = FALSE; gboolean _tmp15_ = FALSE; ValaAttribute* _tmp16_; gboolean _tmp19_; gboolean _tmp22_; _tmp12_ = target_st; _tmp13_ = vala_code_node_get_attribute ((ValaCodeNode*) _tmp12_, "IntegerType"); int_attr = _tmp13_; _tmp16_ = int_attr; if (_tmp16_ != NULL) { ValaAttribute* _tmp17_; gboolean _tmp18_ = FALSE; _tmp17_ = int_attr; _tmp18_ = vala_attribute_has_argument (_tmp17_, "min"); _tmp15_ = _tmp18_; } else { _tmp15_ = FALSE; } _tmp19_ = _tmp15_; if (_tmp19_) { ValaAttribute* _tmp20_; gboolean _tmp21_ = FALSE; _tmp20_ = int_attr; _tmp21_ = vala_attribute_has_argument (_tmp20_, "max"); _tmp14_ = _tmp21_; } else { _tmp14_ = FALSE; } _tmp22_ = _tmp14_; if (_tmp22_) { const gchar* _tmp23_; gint _tmp24_ = 0; gint val; gboolean _tmp25_ = FALSE; gint _tmp26_; ValaAttribute* _tmp27_; gint _tmp28_ = 0; gboolean _tmp32_; _tmp23_ = self->priv->literal_value; _tmp24_ = atoi (_tmp23_); val = _tmp24_; _tmp26_ = val; _tmp27_ = int_attr; _tmp28_ = vala_attribute_get_integer (_tmp27_, "min", 0); if (_tmp26_ >= _tmp28_) { gint _tmp29_; ValaAttribute* _tmp30_; gint _tmp31_ = 0; _tmp29_ = val; _tmp30_ = int_attr; _tmp31_ = vala_attribute_get_integer (_tmp30_, "max", 0); _tmp25_ = _tmp29_ <= _tmp31_; } else { _tmp25_ = FALSE; } _tmp32_ = _tmp25_; result = _tmp32_; _vala_code_node_unref0 (int_attr); _vala_code_node_unref0 (target_st); return result; } else { result = TRUE; _vala_code_node_unref0 (int_attr); _vala_code_node_unref0 (target_st); return result; } _vala_code_node_unref0 (int_attr); } _vala_code_node_unref0 (target_st); } else { gboolean _tmp33_ = FALSE; ValaDataType* _tmp34_; ValaTypeSymbol* _tmp35_; ValaTypeSymbol* _tmp36_; gboolean _tmp38_; _tmp34_ = target_type; _tmp35_ = vala_data_type_get_data_type (_tmp34_); _tmp36_ = _tmp35_; if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp36_, VALA_TYPE_ENUM)) { const gchar* _tmp37_; _tmp37_ = self->priv->literal_type_name; _tmp33_ = g_strcmp0 (_tmp37_, "int") == 0; } else { _tmp33_ = FALSE; } _tmp38_ = _tmp33_; if (_tmp38_) { const gchar* _tmp39_; gint _tmp40_ = 0; _tmp39_ = self->priv->literal_value; _tmp40_ = atoi (_tmp39_); if (_tmp40_ == 0) { result = TRUE; return result; } } } _tmp41_ = target_type; _tmp42_ = VALA_DATA_TYPE_CLASS (vala_integer_type_parent_class)->compatible ((ValaDataType*) G_TYPE_CHECK_INSTANCE_CAST (self, VALA_TYPE_VALUE_TYPE, ValaValueType), _tmp41_); result = _tmp42_; return result; }
static gboolean vala_addressof_expression_real_check (ValaCodeNode* base, ValaCodeContext* context) { ValaAddressofExpression * self; gboolean result = FALSE; gboolean _tmp0_; gboolean _tmp1_; ValaExpression* _tmp4_; ValaExpression* _tmp5_; ValaExpression* _tmp6_; ValaExpression* _tmp7_; ValaCodeContext* _tmp8_; gboolean _tmp9_ = FALSE; ValaExpression* _tmp10_; ValaExpression* _tmp11_; ValaElementAccess* _tmp12_; ValaElementAccess* ea; gboolean _tmp13_ = FALSE; ValaExpression* _tmp14_; ValaExpression* _tmp15_; gboolean _tmp20_; ValaExpression* _tmp38_; ValaExpression* _tmp39_; ValaDataType* _tmp40_; ValaDataType* _tmp41_; gboolean _tmp42_ = FALSE; gboolean _tmp57_; gboolean _tmp58_; self = (ValaAddressofExpression*) base; g_return_val_if_fail (context != NULL, FALSE); _tmp0_ = vala_code_node_get_checked ((ValaCodeNode*) self); _tmp1_ = _tmp0_; if (_tmp1_) { gboolean _tmp2_; gboolean _tmp3_; _tmp2_ = vala_code_node_get_error ((ValaCodeNode*) self); _tmp3_ = _tmp2_; result = !_tmp3_; return result; } vala_code_node_set_checked ((ValaCodeNode*) self, TRUE); _tmp4_ = vala_addressof_expression_get_inner (self); _tmp5_ = _tmp4_; vala_expression_set_lvalue (_tmp5_, TRUE); _tmp6_ = vala_addressof_expression_get_inner (self); _tmp7_ = _tmp6_; _tmp8_ = context; _tmp9_ = vala_code_node_check ((ValaCodeNode*) _tmp7_, _tmp8_); if (!_tmp9_) { vala_code_node_set_error ((ValaCodeNode*) self, TRUE); result = FALSE; return result; } _tmp10_ = vala_addressof_expression_get_inner (self); _tmp11_ = _tmp10_; _tmp12_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, VALA_TYPE_ELEMENT_ACCESS) ? ((ValaElementAccess*) _tmp11_) : NULL); ea = _tmp12_; _tmp14_ = vala_addressof_expression_get_inner (self); _tmp15_ = _tmp14_; if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp15_, VALA_TYPE_MEMBER_ACCESS)) { ValaExpression* _tmp16_; ValaExpression* _tmp17_; ValaSymbol* _tmp18_; ValaSymbol* _tmp19_; _tmp16_ = vala_addressof_expression_get_inner (self); _tmp17_ = _tmp16_; _tmp18_ = vala_expression_get_symbol_reference (_tmp17_); _tmp19_ = _tmp18_; _tmp13_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, VALA_TYPE_VARIABLE); } else { _tmp13_ = FALSE; } _tmp20_ = _tmp13_; if (_tmp20_) { } else { gboolean _tmp21_ = FALSE; ValaElementAccess* _tmp22_; gboolean _tmp35_; _tmp22_ = ea; if (_tmp22_ != NULL) { gboolean _tmp23_ = FALSE; ValaElementAccess* _tmp24_; ValaExpression* _tmp25_; ValaExpression* _tmp26_; ValaDataType* _tmp27_; ValaDataType* _tmp28_; gboolean _tmp34_; _tmp24_ = ea; _tmp25_ = vala_element_access_get_container (_tmp24_); _tmp26_ = _tmp25_; _tmp27_ = vala_expression_get_value_type (_tmp26_); _tmp28_ = _tmp27_; if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp28_, VALA_TYPE_ARRAY_TYPE)) { _tmp23_ = TRUE; } else { ValaElementAccess* _tmp29_; ValaExpression* _tmp30_; ValaExpression* _tmp31_; ValaDataType* _tmp32_; ValaDataType* _tmp33_; _tmp29_ = ea; _tmp30_ = vala_element_access_get_container (_tmp29_); _tmp31_ = _tmp30_; _tmp32_ = vala_expression_get_value_type (_tmp31_); _tmp33_ = _tmp32_; _tmp23_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp33_, VALA_TYPE_POINTER_TYPE); } _tmp34_ = _tmp23_; _tmp21_ = _tmp34_; } else { _tmp21_ = FALSE; } _tmp35_ = _tmp21_; if (_tmp35_) { } else { ValaSourceReference* _tmp36_; ValaSourceReference* _tmp37_; vala_code_node_set_error ((ValaCodeNode*) self, TRUE); _tmp36_ = vala_code_node_get_source_reference ((ValaCodeNode*) self); _tmp37_ = _tmp36_; vala_report_error (_tmp37_, "Address-of operator not supported for this expression"); result = FALSE; _vala_code_node_unref0 (ea); return result; } } _tmp38_ = vala_addressof_expression_get_inner (self); _tmp39_ = _tmp38_; _tmp40_ = vala_expression_get_value_type (_tmp39_); _tmp41_ = _tmp40_; _tmp42_ = vala_data_type_is_reference_type_or_type_parameter (_tmp41_); if (_tmp42_) { ValaExpression* _tmp43_; ValaExpression* _tmp44_; ValaDataType* _tmp45_; ValaDataType* _tmp46_; ValaPointerType* _tmp47_; ValaPointerType* _tmp48_; ValaPointerType* _tmp49_; ValaPointerType* _tmp50_; _tmp43_ = vala_addressof_expression_get_inner (self); _tmp44_ = _tmp43_; _tmp45_ = vala_expression_get_value_type (_tmp44_); _tmp46_ = _tmp45_; _tmp47_ = vala_pointer_type_new (_tmp46_, NULL); _tmp48_ = _tmp47_; _tmp49_ = vala_pointer_type_new ((ValaDataType*) _tmp48_, NULL); _tmp50_ = _tmp49_; vala_expression_set_value_type ((ValaExpression*) self, (ValaDataType*) _tmp50_); _vala_code_node_unref0 (_tmp50_); _vala_code_node_unref0 (_tmp48_); } else { ValaExpression* _tmp51_; ValaExpression* _tmp52_; ValaDataType* _tmp53_; ValaDataType* _tmp54_; ValaPointerType* _tmp55_; ValaPointerType* _tmp56_; _tmp51_ = vala_addressof_expression_get_inner (self); _tmp52_ = _tmp51_; _tmp53_ = vala_expression_get_value_type (_tmp52_); _tmp54_ = _tmp53_; _tmp55_ = vala_pointer_type_new (_tmp54_, NULL); _tmp56_ = _tmp55_; vala_expression_set_value_type ((ValaExpression*) self, (ValaDataType*) _tmp56_); _vala_code_node_unref0 (_tmp56_); } _tmp57_ = vala_code_node_get_error ((ValaCodeNode*) self); _tmp58_ = _tmp57_; result = !_tmp58_; _vala_code_node_unref0 (ea); return result; }
static void vala_class_register_function_real_get_type_interface_init_statements (ValaTypeRegisterFunction* base, ValaCCodeBlock* block, gboolean plugin) { ValaClassRegisterFunction * self; ValaCodeContext* _tmp83_; ValaCodeContext* _tmp84_; ValaCodeGenerator* _tmp85_; ValaCodeGenerator* _tmp86_; ValaCCodeBlock* _tmp87_; ValaClass* _tmp88_; self = (ValaClassRegisterFunction*) base; g_return_if_fail (block != NULL); { ValaClass* _tmp0_; ValaList* _tmp1_ = NULL; ValaList* _base_type_list; ValaList* _tmp2_; gint _tmp3_; gint _tmp4_; gint _base_type_size; gint _base_type_index; _tmp0_ = self->priv->_class_reference; _tmp1_ = vala_class_get_base_types (_tmp0_); _base_type_list = _tmp1_; _tmp2_ = _base_type_list; _tmp3_ = vala_collection_get_size ((ValaCollection*) _tmp2_); _tmp4_ = _tmp3_; _base_type_size = _tmp4_; _base_type_index = -1; while (TRUE) { gint _tmp5_; gint _tmp6_; gint _tmp7_; ValaList* _tmp8_; gint _tmp9_; gpointer _tmp10_ = NULL; ValaDataType* base_type; ValaDataType* _tmp11_; ValaTypeSymbol* _tmp12_; ValaTypeSymbol* _tmp13_; ValaDataType* _tmp14_; ValaTypeSymbol* _tmp15_; ValaTypeSymbol* _tmp16_; ValaInterface* _tmp17_; ValaInterface* iface; ValaInterface* _tmp18_; gchar* _tmp19_ = NULL; gchar* _tmp20_; gchar* _tmp21_ = NULL; gchar* _tmp22_; gchar* iface_info_name; gboolean _tmp23_; _tmp5_ = _base_type_index; _base_type_index = _tmp5_ + 1; _tmp6_ = _base_type_index; _tmp7_ = _base_type_size; if (!(_tmp6_ < _tmp7_)) { break; } _tmp8_ = _base_type_list; _tmp9_ = _base_type_index; _tmp10_ = vala_list_get (_tmp8_, _tmp9_); base_type = (ValaDataType*) _tmp10_; _tmp11_ = base_type; _tmp12_ = vala_data_type_get_data_type (_tmp11_); _tmp13_ = _tmp12_; if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp13_, VALA_TYPE_INTERFACE)) { _vala_code_node_unref0 (base_type); continue; } _tmp14_ = base_type; _tmp15_ = vala_data_type_get_data_type (_tmp14_); _tmp16_ = _tmp15_; _tmp17_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, VALA_TYPE_INTERFACE, ValaInterface)); iface = _tmp17_; _tmp18_ = iface; _tmp19_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp18_, NULL); _tmp20_ = _tmp19_; _tmp21_ = g_strdup_printf ("%s_info", _tmp20_); _tmp22_ = _tmp21_; _g_free0 (_tmp20_); iface_info_name = _tmp22_; _tmp23_ = plugin; if (!_tmp23_) { ValaCCodeIdentifier* _tmp24_; ValaCCodeIdentifier* _tmp25_; ValaCCodeFunctionCall* _tmp26_; ValaCCodeFunctionCall* _tmp27_; ValaCCodeFunctionCall* reg_call; ValaCCodeFunctionCall* _tmp28_; ValaClass* _tmp29_; gchar* _tmp30_ = NULL; gchar* _tmp31_; gchar* _tmp32_ = NULL; gchar* _tmp33_; ValaCCodeIdentifier* _tmp34_; ValaCCodeIdentifier* _tmp35_; ValaCCodeFunctionCall* _tmp36_; ValaInterface* _tmp37_; gchar* _tmp38_ = NULL; gchar* _tmp39_; ValaCCodeIdentifier* _tmp40_; ValaCCodeIdentifier* _tmp41_; ValaCCodeFunctionCall* _tmp42_; const gchar* _tmp43_; gchar* _tmp44_ = NULL; gchar* _tmp45_; ValaCCodeIdentifier* _tmp46_; ValaCCodeIdentifier* _tmp47_; ValaCCodeBlock* _tmp48_; ValaCCodeFunctionCall* _tmp49_; ValaCCodeExpressionStatement* _tmp50_; ValaCCodeExpressionStatement* _tmp51_; _tmp24_ = vala_ccode_identifier_new ("g_type_add_interface_static"); _tmp25_ = _tmp24_; _tmp26_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp25_); _tmp27_ = _tmp26_; _vala_ccode_node_unref0 (_tmp25_); reg_call = _tmp27_; _tmp28_ = reg_call; _tmp29_ = self->priv->_class_reference; _tmp30_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp29_, NULL); _tmp31_ = _tmp30_; _tmp32_ = g_strdup_printf ("%s_type_id", _tmp31_); _tmp33_ = _tmp32_; _tmp34_ = vala_ccode_identifier_new (_tmp33_); _tmp35_ = _tmp34_; vala_ccode_function_call_add_argument (_tmp28_, (ValaCCodeExpression*) _tmp35_); _vala_ccode_node_unref0 (_tmp35_); _g_free0 (_tmp33_); _g_free0 (_tmp31_); _tmp36_ = reg_call; _tmp37_ = iface; _tmp38_ = vala_ccode_base_module_get_ccode_type_id ((ValaCodeNode*) _tmp37_); _tmp39_ = _tmp38_; _tmp40_ = vala_ccode_identifier_new (_tmp39_); _tmp41_ = _tmp40_; vala_ccode_function_call_add_argument (_tmp36_, (ValaCCodeExpression*) _tmp41_); _vala_ccode_node_unref0 (_tmp41_); _g_free0 (_tmp39_); _tmp42_ = reg_call; _tmp43_ = iface_info_name; _tmp44_ = g_strdup_printf ("&%s", _tmp43_); _tmp45_ = _tmp44_; _tmp46_ = vala_ccode_identifier_new (_tmp45_); _tmp47_ = _tmp46_; vala_ccode_function_call_add_argument (_tmp42_, (ValaCCodeExpression*) _tmp47_); _vala_ccode_node_unref0 (_tmp47_); _g_free0 (_tmp45_); _tmp48_ = block; _tmp49_ = reg_call; _tmp50_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp49_); _tmp51_ = _tmp50_; vala_ccode_block_add_statement (_tmp48_, (ValaCCodeNode*) _tmp51_); _vala_ccode_node_unref0 (_tmp51_); _vala_ccode_node_unref0 (reg_call); } else { ValaCCodeIdentifier* _tmp52_; ValaCCodeIdentifier* _tmp53_; ValaCCodeFunctionCall* _tmp54_; ValaCCodeFunctionCall* _tmp55_; ValaCCodeFunctionCall* reg_call; ValaCCodeFunctionCall* _tmp56_; ValaCCodeIdentifier* _tmp57_; ValaCCodeIdentifier* _tmp58_; ValaCCodeFunctionCall* _tmp59_; ValaClass* _tmp60_; gchar* _tmp61_ = NULL; gchar* _tmp62_; gchar* _tmp63_ = NULL; gchar* _tmp64_; ValaCCodeIdentifier* _tmp65_; ValaCCodeIdentifier* _tmp66_; ValaCCodeFunctionCall* _tmp67_; ValaInterface* _tmp68_; gchar* _tmp69_ = NULL; gchar* _tmp70_; ValaCCodeIdentifier* _tmp71_; ValaCCodeIdentifier* _tmp72_; ValaCCodeFunctionCall* _tmp73_; const gchar* _tmp74_; gchar* _tmp75_ = NULL; gchar* _tmp76_; ValaCCodeIdentifier* _tmp77_; ValaCCodeIdentifier* _tmp78_; ValaCCodeBlock* _tmp79_; ValaCCodeFunctionCall* _tmp80_; ValaCCodeExpressionStatement* _tmp81_; ValaCCodeExpressionStatement* _tmp82_; _tmp52_ = vala_ccode_identifier_new ("g_type_module_add_interface"); _tmp53_ = _tmp52_; _tmp54_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp53_); _tmp55_ = _tmp54_; _vala_ccode_node_unref0 (_tmp53_); reg_call = _tmp55_; _tmp56_ = reg_call; _tmp57_ = vala_ccode_identifier_new ("module"); _tmp58_ = _tmp57_; vala_ccode_function_call_add_argument (_tmp56_, (ValaCCodeExpression*) _tmp58_); _vala_ccode_node_unref0 (_tmp58_); _tmp59_ = reg_call; _tmp60_ = self->priv->_class_reference; _tmp61_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp60_, NULL); _tmp62_ = _tmp61_; _tmp63_ = g_strdup_printf ("%s_type_id", _tmp62_); _tmp64_ = _tmp63_; _tmp65_ = vala_ccode_identifier_new (_tmp64_); _tmp66_ = _tmp65_; vala_ccode_function_call_add_argument (_tmp59_, (ValaCCodeExpression*) _tmp66_); _vala_ccode_node_unref0 (_tmp66_); _g_free0 (_tmp64_); _g_free0 (_tmp62_); _tmp67_ = reg_call; _tmp68_ = iface; _tmp69_ = vala_ccode_base_module_get_ccode_type_id ((ValaCodeNode*) _tmp68_); _tmp70_ = _tmp69_; _tmp71_ = vala_ccode_identifier_new (_tmp70_); _tmp72_ = _tmp71_; vala_ccode_function_call_add_argument (_tmp67_, (ValaCCodeExpression*) _tmp72_); _vala_ccode_node_unref0 (_tmp72_); _g_free0 (_tmp70_); _tmp73_ = reg_call; _tmp74_ = iface_info_name; _tmp75_ = g_strdup_printf ("&%s", _tmp74_); _tmp76_ = _tmp75_; _tmp77_ = vala_ccode_identifier_new (_tmp76_); _tmp78_ = _tmp77_; vala_ccode_function_call_add_argument (_tmp73_, (ValaCCodeExpression*) _tmp78_); _vala_ccode_node_unref0 (_tmp78_); _g_free0 (_tmp76_); _tmp79_ = block; _tmp80_ = reg_call; _tmp81_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp80_); _tmp82_ = _tmp81_; vala_ccode_block_add_statement (_tmp79_, (ValaCCodeNode*) _tmp82_); _vala_ccode_node_unref0 (_tmp82_); _vala_ccode_node_unref0 (reg_call); } _g_free0 (iface_info_name); _vala_code_node_unref0 (iface); _vala_code_node_unref0 (base_type); } _vala_iterable_unref0 (_base_type_list); } _tmp83_ = vala_typeregister_function_get_context ((ValaTypeRegisterFunction*) self); _tmp84_ = _tmp83_; _tmp85_ = vala_code_context_get_codegen (_tmp84_); _tmp86_ = _tmp85_; _tmp87_ = block; _tmp88_ = self->priv->_class_reference; vala_ccode_base_module_register_dbus_info (G_TYPE_CHECK_INSTANCE_CAST (_tmp86_, VALA_TYPE_CCODE_BASE_MODULE, ValaCCodeBaseModule), _tmp87_, (ValaObjectTypeSymbol*) _tmp88_); }
static ValaCCodeFragment* vala_class_register_function_real_get_type_interface_init_declaration (ValaTypeRegisterFunction* base) { ValaClassRegisterFunction * self; ValaCCodeFragment* result = NULL; ValaCCodeFragment* _tmp0_; ValaCCodeFragment* frag; self = (ValaClassRegisterFunction*) base; _tmp0_ = vala_ccode_fragment_new (); frag = _tmp0_; { ValaClass* _tmp1_; ValaList* _tmp2_ = NULL; ValaList* _base_type_list; ValaList* _tmp3_; gint _tmp4_; gint _tmp5_; gint _base_type_size; gint _base_type_index; _tmp1_ = self->priv->_class_reference; _tmp2_ = vala_class_get_base_types (_tmp1_); _base_type_list = _tmp2_; _tmp3_ = _base_type_list; _tmp4_ = vala_collection_get_size ((ValaCollection*) _tmp3_); _tmp5_ = _tmp4_; _base_type_size = _tmp5_; _base_type_index = -1; while (TRUE) { gint _tmp6_; gint _tmp7_; gint _tmp8_; ValaList* _tmp9_; gint _tmp10_; gpointer _tmp11_ = NULL; ValaDataType* base_type; ValaDataType* _tmp12_; ValaTypeSymbol* _tmp13_; ValaTypeSymbol* _tmp14_; ValaDataType* _tmp15_; ValaTypeSymbol* _tmp16_; ValaTypeSymbol* _tmp17_; ValaInterface* _tmp18_; ValaInterface* iface; ValaInterface* _tmp19_; gchar* _tmp20_ = NULL; gchar* _tmp21_; gchar* _tmp22_ = NULL; gchar* _tmp23_; gchar* iface_info_name; ValaCCodeDeclaration* _tmp24_; ValaCCodeDeclaration* ctypedecl; ValaCCodeDeclaration* _tmp25_; ValaCCodeDeclaration* _tmp26_; const gchar* _tmp27_; ValaClass* _tmp28_; gchar* _tmp29_ = NULL; gchar* _tmp30_; ValaInterface* _tmp31_; gchar* _tmp32_ = NULL; gchar* _tmp33_; gchar* _tmp34_ = NULL; gchar* _tmp35_; ValaCCodeConstant* _tmp36_; ValaCCodeConstant* _tmp37_; ValaCCodeVariableDeclarator* _tmp38_; ValaCCodeVariableDeclarator* _tmp39_; ValaCCodeFragment* _tmp40_; ValaCCodeDeclaration* _tmp41_; _tmp6_ = _base_type_index; _base_type_index = _tmp6_ + 1; _tmp7_ = _base_type_index; _tmp8_ = _base_type_size; if (!(_tmp7_ < _tmp8_)) { break; } _tmp9_ = _base_type_list; _tmp10_ = _base_type_index; _tmp11_ = vala_list_get (_tmp9_, _tmp10_); base_type = (ValaDataType*) _tmp11_; _tmp12_ = base_type; _tmp13_ = vala_data_type_get_data_type (_tmp12_); _tmp14_ = _tmp13_; if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp14_, VALA_TYPE_INTERFACE)) { _vala_code_node_unref0 (base_type); continue; } _tmp15_ = base_type; _tmp16_ = vala_data_type_get_data_type (_tmp15_); _tmp17_ = _tmp16_; _tmp18_ = _vala_code_node_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, VALA_TYPE_INTERFACE, ValaInterface)); iface = _tmp18_; _tmp19_ = iface; _tmp20_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp19_, NULL); _tmp21_ = _tmp20_; _tmp22_ = g_strdup_printf ("%s_info", _tmp21_); _tmp23_ = _tmp22_; _g_free0 (_tmp21_); iface_info_name = _tmp23_; _tmp24_ = vala_ccode_declaration_new ("const GInterfaceInfo"); ctypedecl = _tmp24_; _tmp25_ = ctypedecl; vala_ccode_declaration_set_modifiers (_tmp25_, VALA_CCODE_MODIFIERS_STATIC); _tmp26_ = ctypedecl; _tmp27_ = iface_info_name; _tmp28_ = self->priv->_class_reference; _tmp29_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp28_, NULL); _tmp30_ = _tmp29_; _tmp31_ = iface; _tmp32_ = vala_ccode_base_module_get_ccode_lower_case_name ((ValaCodeNode*) _tmp31_, NULL); _tmp33_ = _tmp32_; _tmp34_ = g_strdup_printf ("{ (GInterfaceInitFunc) %s_%s_interface_init, (GInterfaceFinalizeFunc) " \ "NULL, NULL}", _tmp30_, _tmp33_); _tmp35_ = _tmp34_; _tmp36_ = vala_ccode_constant_new (_tmp35_); _tmp37_ = _tmp36_; _tmp38_ = vala_ccode_variable_declarator_new (_tmp27_, (ValaCCodeExpression*) _tmp37_, NULL); _tmp39_ = _tmp38_; vala_ccode_declaration_add_declarator (_tmp26_, (ValaCCodeDeclarator*) _tmp39_); _vala_ccode_node_unref0 (_tmp39_); _vala_ccode_node_unref0 (_tmp37_); _g_free0 (_tmp35_); _g_free0 (_tmp33_); _g_free0 (_tmp30_); _tmp40_ = frag; _tmp41_ = ctypedecl; vala_ccode_fragment_append (_tmp40_, (ValaCCodeNode*) _tmp41_); _vala_ccode_node_unref0 (ctypedecl); _g_free0 (iface_info_name); _vala_code_node_unref0 (iface); _vala_code_node_unref0 (base_type); } _vala_iterable_unref0 (_base_type_list); } result = frag; return result; }
static ValaSymbol* vala_method_type_real_get_member (ValaDataType* base, const gchar* member_name) { ValaMethodType * self; ValaSymbol* result = NULL; gboolean _tmp0_ = FALSE; ValaMethod* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; gboolean _tmp5_; self = (ValaMethodType*) base; g_return_val_if_fail (member_name != NULL, NULL); _tmp1_ = self->priv->_method_symbol; _tmp2_ = vala_method_get_coroutine (_tmp1_); _tmp3_ = _tmp2_; if (_tmp3_) { const gchar* _tmp4_; _tmp4_ = member_name; _tmp0_ = g_strcmp0 (_tmp4_, "begin") == 0; } else { _tmp0_ = FALSE; } _tmp5_ = _tmp0_; if (_tmp5_) { ValaMethod* _tmp6_; ValaSymbol* _tmp7_; _tmp6_ = self->priv->_method_symbol; _tmp7_ = _vala_code_node_ref0 ((ValaSymbol*) _tmp6_); result = _tmp7_; return result; } else { gboolean _tmp8_ = FALSE; ValaMethod* _tmp9_; gboolean _tmp10_; gboolean _tmp11_; gboolean _tmp13_; _tmp9_ = self->priv->_method_symbol; _tmp10_ = vala_method_get_coroutine (_tmp9_); _tmp11_ = _tmp10_; if (_tmp11_) { const gchar* _tmp12_; _tmp12_ = member_name; _tmp8_ = g_strcmp0 (_tmp12_, "end") == 0; } else { _tmp8_ = FALSE; } _tmp13_ = _tmp8_; if (_tmp13_) { ValaMethod* _tmp14_; ValaSymbol* _tmp15_; _tmp14_ = self->priv->_method_symbol; _tmp15_ = _vala_code_node_ref0 ((ValaSymbol*) _tmp14_); result = _tmp15_; return result; } else { gboolean _tmp16_ = FALSE; ValaMethod* _tmp17_; gboolean _tmp18_; gboolean _tmp19_; gboolean _tmp21_; _tmp17_ = self->priv->_method_symbol; _tmp18_ = vala_method_get_coroutine (_tmp17_); _tmp19_ = _tmp18_; if (_tmp19_) { const gchar* _tmp20_; _tmp20_ = member_name; _tmp16_ = g_strcmp0 (_tmp20_, "callback") == 0; } else { _tmp16_ = FALSE; } _tmp21_ = _tmp16_; if (_tmp21_) { ValaMethod* _tmp22_; ValaMethod* _tmp23_ = NULL; _tmp22_ = self->priv->_method_symbol; _tmp23_ = vala_method_get_callback_method (_tmp22_); result = (ValaSymbol*) _tmp23_; return result; } } } result = NULL; return result; }
static void vala_dova_array_module_real_visit_array_creation_expression (ValaCodeVisitor* base, ValaArrayCreationExpression* expr) { ValaDovaArrayModule * self; ValaArrayCreationExpression* _tmp0_; ValaDataType* _tmp1_; ValaDataType* _tmp2_; ValaArrayType* _tmp3_; ValaArrayType* array_type; gboolean _tmp4_ = FALSE; ValaArrayType* _tmp5_; gboolean _tmp9_; ValaStruct* _tmp24_; ValaScope* _tmp25_; ValaScope* _tmp26_; ValaSymbol* _tmp27_ = NULL; ValaMethod* _tmp28_; ValaCCodeFile* _tmp29_; ValaCCodeIdentifier* _tmp30_; ValaCCodeIdentifier* _tmp31_; ValaCCodeFunctionCall* _tmp32_; ValaCCodeFunctionCall* _tmp33_; ValaCCodeFunctionCall* array_new; ValaCCodeFunctionCall* _tmp34_; ValaArrayCreationExpression* _tmp35_; ValaDataType* _tmp36_; ValaDataType* _tmp37_; ValaCCodeExpression* _tmp38_ = NULL; ValaCCodeExpression* _tmp39_; ValaCCodeFunctionCall* _tmp40_; ValaArrayCreationExpression* _tmp41_; ValaList* _tmp42_ = NULL; ValaList* _tmp43_; gpointer _tmp44_ = NULL; ValaExpression* _tmp45_; ValaCCodeExpression* _tmp46_ = NULL; ValaCCodeExpression* _tmp47_; ValaArrayCreationExpression* _tmp48_; ValaDataType* _tmp49_; ValaDataType* _tmp50_; ValaArrayCreationExpression* _tmp51_; ValaLocalVariable* _tmp52_ = NULL; ValaLocalVariable* temp_var; ValaLocalVariable* _tmp53_; const gchar* _tmp54_; const gchar* _tmp55_; ValaCCodeExpression* _tmp56_ = NULL; ValaCCodeExpression* name_cnode; ValaLocalVariable* _tmp57_; ValaCCodeFunction* _tmp58_; ValaCCodeFunction* _tmp59_; ValaCCodeExpression* _tmp60_; ValaCCodeFunctionCall* _tmp61_; ValaArrayCreationExpression* _tmp62_; ValaCCodeExpression* _tmp63_; self = (ValaDovaArrayModule*) base; g_return_if_fail (expr != NULL); _tmp0_ = expr; _tmp1_ = vala_expression_get_target_type ((ValaExpression*) _tmp0_); _tmp2_ = _tmp1_; _tmp3_ = _vala_code_node_ref0 (VALA_IS_ARRAY_TYPE (_tmp2_) ? ((ValaArrayType*) _tmp2_) : NULL); array_type = _tmp3_; _tmp5_ = array_type; if (_tmp5_ != NULL) { ValaArrayType* _tmp6_; gboolean _tmp7_; gboolean _tmp8_; _tmp6_ = array_type; _tmp7_ = vala_array_type_get_fixed_length (_tmp6_); _tmp8_ = _tmp7_; _tmp4_ = _tmp8_; } else { _tmp4_ = FALSE; } _tmp9_ = _tmp4_; if (_tmp9_) { ValaArrayType* _tmp10_; ValaArrayCreationExpression* _tmp11_; ValaLocalVariable* _tmp12_ = NULL; ValaLocalVariable* temp_var; ValaLocalVariable* _tmp13_; const gchar* _tmp14_; const gchar* _tmp15_; ValaCCodeIdentifier* _tmp16_; ValaCCodeIdentifier* name_cnode; gint i; ValaLocalVariable* _tmp17_; ValaCCodeIdentifier* _tmp18_; ValaArrayCreationExpression* _tmp19_; ValaInitializerList* _tmp20_; ValaInitializerList* _tmp21_; ValaArrayCreationExpression* _tmp22_; ValaCCodeIdentifier* _tmp23_; _tmp10_ = array_type; _tmp11_ = expr; _tmp12_ = vala_dova_base_module_get_temp_variable ((ValaDovaBaseModule*) self, (ValaDataType*) _tmp10_, TRUE, (ValaCodeNode*) _tmp11_); temp_var = _tmp12_; _tmp13_ = temp_var; _tmp14_ = vala_symbol_get_name ((ValaSymbol*) _tmp13_); _tmp15_ = _tmp14_; _tmp16_ = vala_ccode_identifier_new (_tmp15_); name_cnode = _tmp16_; i = 0; _tmp17_ = temp_var; vala_dova_base_module_emit_temp_var ((ValaDovaBaseModule*) self, _tmp17_); _tmp18_ = name_cnode; _tmp19_ = expr; _tmp20_ = vala_array_creation_expression_get_initializer_list (_tmp19_); _tmp21_ = _tmp20_; vala_dova_array_module_append_initializer_list (self, (ValaCCodeExpression*) _tmp18_, _tmp21_, &i); _tmp22_ = expr; _tmp23_ = name_cnode; vala_dova_base_module_set_cvalue ((ValaDovaBaseModule*) self, (ValaExpression*) _tmp22_, (ValaCCodeExpression*) _tmp23_); _vala_ccode_node_unref0 (name_cnode); _vala_code_node_unref0 (temp_var); _vala_code_node_unref0 (array_type); return; } _tmp24_ = ((ValaDovaBaseModule*) self)->array_struct; _tmp25_ = vala_symbol_get_scope ((ValaSymbol*) _tmp24_); _tmp26_ = _tmp25_; _tmp27_ = vala_scope_lookup (_tmp26_, "create"); _tmp28_ = VALA_METHOD (_tmp27_); _tmp29_ = ((ValaDovaBaseModule*) self)->cfile; vala_dova_base_module_generate_method_declaration ((ValaDovaBaseModule*) self, _tmp28_, _tmp29_); _vala_code_node_unref0 (_tmp28_); _tmp30_ = vala_ccode_identifier_new ("dova_array_create"); _tmp31_ = _tmp30_; _tmp32_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp31_); _tmp33_ = _tmp32_; _vala_ccode_node_unref0 (_tmp31_); array_new = _tmp33_; _tmp34_ = array_new; _tmp35_ = expr; _tmp36_ = vala_array_creation_expression_get_element_type (_tmp35_); _tmp37_ = _tmp36_; _tmp38_ = vala_dova_base_module_get_type_id_expression ((ValaDovaBaseModule*) self, _tmp37_, FALSE); _tmp39_ = _tmp38_; vala_ccode_function_call_add_argument (_tmp34_, _tmp39_); _vala_ccode_node_unref0 (_tmp39_); _tmp40_ = array_new; _tmp41_ = expr; _tmp42_ = vala_array_creation_expression_get_sizes (_tmp41_); _tmp43_ = _tmp42_; _tmp44_ = vala_list_get (_tmp43_, 0); _tmp45_ = (ValaExpression*) _tmp44_; _tmp46_ = vala_dova_base_module_get_cvalue ((ValaDovaBaseModule*) self, _tmp45_); _tmp47_ = _tmp46_; vala_ccode_function_call_add_argument (_tmp40_, _tmp47_); _vala_ccode_node_unref0 (_tmp47_); _vala_code_node_unref0 (_tmp45_); _vala_iterable_unref0 (_tmp43_); _tmp48_ = expr; _tmp49_ = vala_expression_get_value_type ((ValaExpression*) _tmp48_); _tmp50_ = _tmp49_; _tmp51_ = expr; _tmp52_ = vala_dova_base_module_get_temp_variable ((ValaDovaBaseModule*) self, _tmp50_, TRUE, (ValaCodeNode*) _tmp51_); temp_var = _tmp52_; _tmp53_ = temp_var; _tmp54_ = vala_symbol_get_name ((ValaSymbol*) _tmp53_); _tmp55_ = _tmp54_; _tmp56_ = vala_dova_base_module_get_variable_cexpression ((ValaDovaBaseModule*) self, _tmp55_); name_cnode = _tmp56_; _tmp57_ = temp_var; vala_dova_base_module_emit_temp_var ((ValaDovaBaseModule*) self, _tmp57_); _tmp58_ = vala_dova_base_module_get_ccode ((ValaDovaBaseModule*) self); _tmp59_ = _tmp58_; _tmp60_ = name_cnode; _tmp61_ = array_new; vala_ccode_function_add_assignment (_tmp59_, _tmp60_, (ValaCCodeExpression*) _tmp61_); _tmp62_ = expr; _tmp63_ = name_cnode; vala_dova_base_module_set_cvalue ((ValaDovaBaseModule*) self, (ValaExpression*) _tmp62_, _tmp63_); _vala_ccode_node_unref0 (name_cnode); _vala_code_node_unref0 (temp_var); _vala_ccode_node_unref0 (array_new); _vala_code_node_unref0 (array_type); }
ValaMethod* vala_enum_value_type_get_to_string_method (ValaEnumValueType* self) { ValaMethod* result = NULL; ValaMethod* _tmp0_; ValaMethod* _tmp35_; ValaMethod* _tmp36_; g_return_val_if_fail (self != NULL, NULL); _tmp0_ = self->priv->to_string_method; if (_tmp0_ == NULL) { ValaCodeContext* _tmp1_ = NULL; ValaCodeContext* _tmp2_; ValaNamespace* _tmp3_; ValaNamespace* _tmp4_; ValaScope* _tmp5_; ValaScope* _tmp6_; ValaSymbol* _tmp7_ = NULL; ValaClass* _tmp8_; ValaObjectType* _tmp9_; ValaObjectType* _tmp10_; ValaObjectType* string_type; ValaObjectType* _tmp11_; ValaObjectType* _tmp12_; ValaMethod* _tmp13_; ValaMethod* _tmp14_; ValaMethod* _tmp15_; ValaMethod* _tmp16_; ValaTypeSymbol* _tmp17_; ValaTypeSymbol* _tmp18_; ValaScope* _tmp19_; ValaScope* _tmp20_; ValaMethod* _tmp21_; ValaParameter* _tmp22_; ValaParameter* _tmp23_; ValaMethod* _tmp24_; ValaScope* _tmp25_; ValaScope* _tmp26_; ValaMethod* _tmp27_; ValaParameter* _tmp28_; ValaParameter* _tmp29_; const gchar* _tmp30_; const gchar* _tmp31_; ValaMethod* _tmp32_; ValaParameter* _tmp33_; ValaParameter* _tmp34_; _tmp1_ = vala_code_context_get (); _tmp2_ = _tmp1_; _tmp3_ = vala_code_context_get_root (_tmp2_); _tmp4_ = _tmp3_; _tmp5_ = vala_symbol_get_scope ((ValaSymbol*) _tmp4_); _tmp6_ = _tmp5_; _tmp7_ = vala_scope_lookup (_tmp6_, "string"); _tmp8_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, VALA_TYPE_CLASS, ValaClass); _tmp9_ = vala_object_type_new ((ValaObjectTypeSymbol*) _tmp8_); _tmp10_ = _tmp9_; _vala_code_node_unref0 (_tmp8_); _vala_code_context_unref0 (_tmp2_); string_type = _tmp10_; _tmp11_ = string_type; vala_data_type_set_value_owned ((ValaDataType*) _tmp11_, FALSE); _tmp12_ = string_type; _tmp13_ = vala_method_new ("to_string", (ValaDataType*) _tmp12_, NULL, NULL); _vala_code_node_unref0 (self->priv->to_string_method); self->priv->to_string_method = _tmp13_; _tmp14_ = self->priv->to_string_method; vala_symbol_set_access ((ValaSymbol*) _tmp14_, VALA_SYMBOL_ACCESSIBILITY_PUBLIC); _tmp15_ = self->priv->to_string_method; vala_symbol_set_external ((ValaSymbol*) _tmp15_, TRUE); _tmp16_ = self->priv->to_string_method; _tmp17_ = vala_value_type_get_type_symbol ((ValaValueType*) self); _tmp18_ = _tmp17_; _tmp19_ = vala_symbol_get_scope ((ValaSymbol*) _tmp18_); _tmp20_ = _tmp19_; vala_symbol_set_owner ((ValaSymbol*) _tmp16_, _tmp20_); _tmp21_ = self->priv->to_string_method; _tmp22_ = vala_parameter_new ("this", (ValaDataType*) self, NULL); _tmp23_ = _tmp22_; vala_method_set_this_parameter (_tmp21_, _tmp23_); _vala_code_node_unref0 (_tmp23_); _tmp24_ = self->priv->to_string_method; _tmp25_ = vala_symbol_get_scope ((ValaSymbol*) _tmp24_); _tmp26_ = _tmp25_; _tmp27_ = self->priv->to_string_method; _tmp28_ = vala_method_get_this_parameter (_tmp27_); _tmp29_ = _tmp28_; _tmp30_ = vala_symbol_get_name ((ValaSymbol*) _tmp29_); _tmp31_ = _tmp30_; _tmp32_ = self->priv->to_string_method; _tmp33_ = vala_method_get_this_parameter (_tmp32_); _tmp34_ = _tmp33_; vala_scope_add (_tmp26_, _tmp31_, (ValaSymbol*) _tmp34_); _vala_code_node_unref0 (string_type); } _tmp35_ = self->priv->to_string_method; _tmp36_ = _vala_code_node_ref0 (_tmp35_); result = _tmp36_; return result; }
static void vala_dova_array_module_real_visit_slice_expression (ValaCodeVisitor* base, ValaSliceExpression* expr) { ValaDovaArrayModule * self; ValaSliceExpression* _tmp0_; ValaExpression* _tmp1_; ValaExpression* _tmp2_; ValaCCodeExpression* _tmp3_ = NULL; ValaCCodeExpression* ccontainer; ValaSliceExpression* _tmp4_; ValaExpression* _tmp5_; ValaExpression* _tmp6_; ValaCCodeExpression* _tmp7_ = NULL; ValaCCodeExpression* cstart; ValaSliceExpression* _tmp8_; ValaExpression* _tmp9_; ValaExpression* _tmp10_; ValaCCodeExpression* _tmp11_ = NULL; ValaCCodeExpression* cstop; ValaSliceExpression* _tmp12_; ValaExpression* _tmp13_; ValaExpression* _tmp14_; ValaDataType* _tmp15_; ValaDataType* _tmp16_; ValaArrayType* _tmp17_; ValaArrayType* array_type; ValaCCodeIdentifier* _tmp18_; ValaCCodeIdentifier* _tmp19_; ValaCCodeFunctionCall* _tmp20_; ValaCCodeFunctionCall* _tmp21_; ValaCCodeFunctionCall* array; ValaCCodeMemberAccess* _tmp22_; ValaCCodeMemberAccess* _tmp23_; ValaDataType* _tmp24_; ValaDataType* _tmp25_; gchar* _tmp26_ = NULL; gchar* _tmp27_; gchar* _tmp28_; gchar* _tmp29_; ValaCCodeCastExpression* _tmp30_; ValaCCodeCastExpression* _tmp31_; ValaCCodeBinaryExpression* _tmp32_; ValaCCodeBinaryExpression* _tmp33_; ValaCCodeBinaryExpression* _tmp34_; ValaCCodeBinaryExpression* _tmp35_; ValaSliceExpression* _tmp36_; self = (ValaDovaArrayModule*) base; g_return_if_fail (expr != NULL); _tmp0_ = expr; _tmp1_ = vala_slice_expression_get_container (_tmp0_); _tmp2_ = _tmp1_; _tmp3_ = vala_dova_base_module_get_cvalue ((ValaDovaBaseModule*) self, _tmp2_); ccontainer = _tmp3_; _tmp4_ = expr; _tmp5_ = vala_slice_expression_get_start (_tmp4_); _tmp6_ = _tmp5_; _tmp7_ = vala_dova_base_module_get_cvalue ((ValaDovaBaseModule*) self, _tmp6_); cstart = _tmp7_; _tmp8_ = expr; _tmp9_ = vala_slice_expression_get_stop (_tmp8_); _tmp10_ = _tmp9_; _tmp11_ = vala_dova_base_module_get_cvalue ((ValaDovaBaseModule*) self, _tmp10_); cstop = _tmp11_; _tmp12_ = expr; _tmp13_ = vala_slice_expression_get_container (_tmp12_); _tmp14_ = _tmp13_; _tmp15_ = vala_expression_get_value_type (_tmp14_); _tmp16_ = _tmp15_; _tmp17_ = _vala_code_node_ref0 (VALA_ARRAY_TYPE (_tmp16_)); array_type = _tmp17_; _tmp18_ = vala_ccode_identifier_new ("dova_array"); _tmp19_ = _tmp18_; _tmp20_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp19_); _tmp21_ = _tmp20_; _vala_ccode_node_unref0 (_tmp19_); array = _tmp21_; _tmp22_ = vala_ccode_member_access_new (ccontainer, "data", FALSE); _tmp23_ = _tmp22_; _tmp24_ = vala_array_type_get_element_type (array_type); _tmp25_ = _tmp24_; _tmp26_ = vala_dova_base_module_get_ccode_name ((ValaDovaBaseModule*) self, (ValaCodeNode*) _tmp25_); _tmp27_ = _tmp26_; _tmp28_ = g_strconcat (_tmp27_, "*", NULL); _tmp29_ = _tmp28_; _tmp30_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp23_, _tmp29_); _tmp31_ = _tmp30_; _tmp32_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_PLUS, (ValaCCodeExpression*) _tmp31_, cstart); _tmp33_ = _tmp32_; vala_ccode_function_call_add_argument (array, (ValaCCodeExpression*) _tmp33_); _vala_ccode_node_unref0 (_tmp33_); _vala_ccode_node_unref0 (_tmp31_); _g_free0 (_tmp29_); _g_free0 (_tmp27_); _vala_ccode_node_unref0 (_tmp23_); _tmp34_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_MINUS, cstop, cstart); _tmp35_ = _tmp34_; vala_ccode_function_call_add_argument (array, (ValaCCodeExpression*) _tmp35_); _vala_ccode_node_unref0 (_tmp35_); _tmp36_ = expr; vala_dova_base_module_set_cvalue ((ValaDovaBaseModule*) self, (ValaExpression*) _tmp36_, (ValaCCodeExpression*) array); _vala_ccode_node_unref0 (array); _vala_code_node_unref0 (array_type); _vala_ccode_node_unref0 (cstop); _vala_ccode_node_unref0 (cstart); _vala_ccode_node_unref0 (ccontainer); }