~ubuntu-branches/ubuntu/quantal/vala/quantal

« back to all changes in this revision

Viewing changes to codegen/valagsignalmodule.c

  • Committer: Bazaar Package Importer
  • Author(s): Robert Ancell
  • Date: 2011-03-17 09:35:15 UTC
  • mfrom: (1.5.17 upstream)
  • Revision ID: james.westby@ubuntu.com-20110317093515-veyqriw9egujkws2
Tags: 0.11.7-0ubuntu1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
281
281
        void (*generate_cparameters) (ValaCCodeBaseModule* self, ValaMethod* m, ValaCCodeFile* decl_space, ValaMap* cparam_map, ValaCCodeFunction* func, ValaCCodeFunctionDeclarator* vdeclarator, ValaMap* carg_map, ValaCCodeFunctionCall* vcall, gint direction);
282
282
        ValaCCodeExpression* (*get_dup_func_expression) (ValaCCodeBaseModule* self, ValaDataType* type, ValaSourceReference* source_reference, gboolean is_chainup);
283
283
        gchar* (*append_struct_array_free) (ValaCCodeBaseModule* self, ValaStruct* st);
284
 
        ValaCCodeExpression* (*destroy_variable) (ValaCCodeBaseModule* self, ValaVariable* variable, ValaCCodeExpression* inner);
 
284
        ValaCCodeExpression* (*destroy_variable) (ValaCCodeBaseModule* self, ValaVariable* variable, ValaTargetValue* target_lvalue);
285
285
        ValaCCodeExpression* (*destroy_value) (ValaCCodeBaseModule* self, ValaTargetValue* value, gboolean is_macro_definition);
286
286
        void (*append_local_free) (ValaCCodeBaseModule* self, ValaSymbol* sym, gboolean stop_at_loop, ValaCodeNode* stop_at);
287
 
        ValaTargetValue* (*get_variable_cvalue) (ValaCCodeBaseModule* self, ValaVariable* variable, ValaCCodeExpression* inner);
288
 
        ValaTargetValue* (*load_parameter) (ValaCCodeBaseModule* self, ValaParameter* param);
 
287
        ValaTargetValue* (*get_local_cvalue) (ValaCCodeBaseModule* self, ValaLocalVariable* local);
 
288
        ValaTargetValue* (*get_parameter_cvalue) (ValaCCodeBaseModule* self, ValaParameter* param);
 
289
        ValaTargetValue* (*get_field_cvalue) (ValaCCodeBaseModule* self, ValaField* field, ValaTargetValue* instance);
 
290
        ValaTargetValue* (*load_this_parameter) (ValaCCodeBaseModule* self, ValaTypeSymbol* sym);
289
291
        gchar* (*get_delegate_target_cname) (ValaCCodeBaseModule* self, const gchar* delegate_cname);
290
292
        ValaCCodeExpression* (*get_delegate_target_cexpression) (ValaCCodeBaseModule* self, ValaExpression* delegate_expr, ValaCCodeExpression** delegate_target_destroy_notify);
291
293
        ValaCCodeExpression* (*get_delegate_target_cvalue) (ValaCCodeBaseModule* self, ValaTargetValue* value);
475
477
void vala_ccode_base_module_emit_temp_var (ValaCCodeBaseModule* self, ValaLocalVariable* local, gboolean always_init);
476
478
ValaArrayList* vala_ccode_base_module_get_temp_ref_vars (ValaCCodeBaseModule* self);
477
479
ValaCCodeExpression* vala_ccode_base_module_get_cvalue (ValaCCodeBaseModule* self, ValaExpression* expr);
 
480
ValaCCodeFunction* vala_ccode_base_module_get_ccode (ValaCCodeBaseModule* self);
478
481
ValaCCodeExpression* vala_ccode_base_module_get_variable_cexpression (ValaCCodeBaseModule* self, const gchar* name);
479
482
static void vala_gsignal_module_real_visit_signal (ValaCodeVisitor* base, ValaSignal* sig);
480
483
ValaCCodeParameter* vala_ccode_method_module_generate_parameter (ValaCCodeMethodModule* self, ValaParameter* param, ValaCCodeFile* decl_space, ValaMap* cparam_map, ValaMap* carg_map);
505
508
gchar* vala_ccode_base_module_get_dynamic_signal_disconnect_wrapper_name (ValaCCodeBaseModule* self, ValaDynamicSignal* node);
506
509
ValaCCodeExpression* vala_ccode_base_module_get_ccodenode (ValaCCodeBaseModule* self, ValaExpression* node);
507
510
ValaCCodeExpression* vala_ccode_base_module_get_result_cexpression (ValaCCodeBaseModule* self, const gchar* cname);
508
 
ValaCCodeFunction* vala_ccode_base_module_get_ccode (ValaCCodeBaseModule* self);
509
511
ValaCCodeExpression* vala_ccode_base_module_get_delegate_target_cexpression (ValaCCodeBaseModule* self, ValaExpression* delegate_expr, ValaCCodeExpression** delegate_target_destroy_notify);
510
512
ValaGSignalModule* vala_gsignal_module_new (void);
511
513
ValaGSignalModule* vala_gsignal_module_construct (GType object_type);
687
689
        _tmp0_ = g_regex_escape_string (old, -1);
688
690
        _tmp1_ = _tmp0_;
689
691
        _tmp2_ = g_regex_new (_tmp1_, 0, 0, &_inner_error_);
690
 
        regex = (_tmp3_ = _tmp2_, _g_free0 (_tmp1_), _tmp3_);
 
692
        _tmp3_ = _tmp2_;
 
693
        _g_free0 (_tmp1_);
 
694
        regex = _tmp3_;
691
695
        if (_inner_error_ != NULL) {
692
696
                if (_inner_error_->domain == G_REGEX_ERROR) {
693
697
                        goto __catch4_g_regex_error;
739
743
        gchar* _tmp2_ = NULL;
740
744
        gchar* _tmp3_;
741
745
        gchar* _tmp4_ = NULL;
742
 
        gchar* _tmp5_;
743
 
        gboolean _tmp6_ = FALSE;
 
746
        gboolean _tmp5_ = FALSE;
744
747
        self = (ValaGSignalModule*) base;
745
748
        g_return_val_if_fail (params != NULL, NULL);
746
749
        g_return_val_if_fail (return_type != NULL, NULL);
758
761
        _tmp2_ = vala_gsignal_module_get_marshaller_type_name (self, return_type, dbus);
759
762
        _tmp3_ = _tmp2_;
760
763
        _tmp4_ = g_strdup_printf ("%s_%s_", prefix, _tmp3_);
761
 
        _tmp5_ = _tmp4_;
762
764
        _g_free0 (ret);
763
 
        ret = _tmp5_;
 
765
        ret = _tmp4_;
764
766
        _g_free0 (_tmp3_);
765
767
        if (params == NULL) {
766
 
                _tmp6_ = TRUE;
 
768
                _tmp5_ = TRUE;
767
769
        } else {
768
 
                gint _tmp7_;
769
 
                _tmp7_ = vala_collection_get_size ((ValaCollection*) params);
770
 
                _tmp6_ = _tmp7_ == 0;
 
770
                gint _tmp6_;
 
771
                _tmp6_ = vala_collection_get_size ((ValaCollection*) params);
 
772
                _tmp5_ = _tmp6_ == 0;
771
773
        }
772
 
        if (_tmp6_) {
773
 
                gchar* _tmp8_;
774
 
                _tmp8_ = g_strconcat (ret, "_VOID", NULL);
 
774
        if (_tmp5_) {
 
775
                gchar* _tmp7_;
 
776
                _tmp7_ = g_strconcat (ret, "_VOID", NULL);
775
777
                _g_free0 (ret);
776
 
                ret = _tmp8_;
 
778
                ret = _tmp7_;
777
779
        } else {
778
780
                {
779
 
                        ValaList* _tmp9_;
 
781
                        ValaList* _tmp8_;
780
782
                        ValaList* _p_list;
781
 
                        gint _tmp10_;
 
783
                        gint _tmp9_;
782
784
                        gint _p_size;
783
785
                        gint _p_index;
784
 
                        _tmp9_ = _vala_iterable_ref0 (params);
785
 
                        _p_list = _tmp9_;
786
 
                        _tmp10_ = vala_collection_get_size ((ValaCollection*) _p_list);
787
 
                        _p_size = _tmp10_;
 
786
                        _tmp8_ = _vala_iterable_ref0 (params);
 
787
                        _p_list = _tmp8_;
 
788
                        _tmp9_ = vala_collection_get_size ((ValaCollection*) _p_list);
 
789
                        _p_size = _tmp9_;
788
790
                        _p_index = -1;
789
791
                        while (TRUE) {
790
 
                                gpointer _tmp11_ = NULL;
 
792
                                gpointer _tmp10_ = NULL;
791
793
                                ValaParameter* p;
792
 
                                gchar* _tmp12_ = NULL;
793
 
                                gchar* _tmp13_;
794
 
                                gchar* _tmp14_ = NULL;
795
 
                                gchar* _tmp15_;
796
 
                                gchar* _tmp16_ = NULL;
797
 
                                gchar* _tmp17_;
 
794
                                gchar* _tmp11_ = NULL;
 
795
                                gchar* _tmp12_;
 
796
                                gchar* _tmp13_ = NULL;
 
797
                                gchar* _tmp14_;
 
798
                                gchar* _tmp15_ = NULL;
798
799
                                _p_index = _p_index + 1;
799
800
                                if (!(_p_index < _p_size)) {
800
801
                                        break;
801
802
                                }
802
 
                                _tmp11_ = vala_list_get (_p_list, _p_index);
803
 
                                p = (ValaParameter*) _tmp11_;
804
 
                                _tmp12_ = vala_gsignal_module_get_marshaller_type_name_for_parameter (self, p, dbus);
805
 
                                _tmp13_ = _tmp12_;
806
 
                                _tmp14_ = string_replace (_tmp13_, ",", "_");
807
 
                                _tmp15_ = _tmp14_;
808
 
                                _tmp16_ = g_strdup_printf ("%s_%s", ret, _tmp15_);
809
 
                                _tmp17_ = _tmp16_;
 
803
                                _tmp10_ = vala_list_get (_p_list, _p_index);
 
804
                                p = (ValaParameter*) _tmp10_;
 
805
                                _tmp11_ = vala_gsignal_module_get_marshaller_type_name_for_parameter (self, p, dbus);
 
806
                                _tmp12_ = _tmp11_;
 
807
                                _tmp13_ = string_replace (_tmp12_, ",", "_");
 
808
                                _tmp14_ = _tmp13_;
 
809
                                _tmp15_ = g_strdup_printf ("%s_%s", ret, _tmp14_);
810
810
                                _g_free0 (ret);
811
 
                                ret = _tmp17_;
812
 
                                _g_free0 (_tmp15_);
813
 
                                _g_free0 (_tmp13_);
 
811
                                ret = _tmp15_;
 
812
                                _g_free0 (_tmp14_);
 
813
                                _g_free0 (_tmp12_);
814
814
                                _vala_code_node_unref0 (p);
815
815
                        }
816
816
                        _vala_iterable_unref0 (_p_list);
960
960
        gchar* _tmp0_ = NULL;
961
961
        gchar* _tmp1_;
962
962
        gchar* _tmp2_ = NULL;
963
 
        gchar* _tmp3_;
964
 
        gboolean _tmp4_ = FALSE;
 
963
        gboolean _tmp3_ = FALSE;
965
964
        g_return_val_if_fail (self != NULL, NULL);
966
965
        g_return_val_if_fail (params != NULL, NULL);
967
966
        g_return_val_if_fail (return_type != NULL, NULL);
968
967
        _tmp0_ = vala_gsignal_module_get_marshaller_type_name (self, return_type, dbus);
969
968
        _tmp1_ = _tmp0_;
970
969
        _tmp2_ = g_strdup_printf ("%s:", _tmp1_);
971
 
        _tmp3_ = _tmp2_;
972
970
        _g_free0 (signature);
973
 
        signature = _tmp3_;
 
971
        signature = _tmp2_;
974
972
        _g_free0 (_tmp1_);
975
973
        if (params == NULL) {
976
 
                _tmp4_ = TRUE;
 
974
                _tmp3_ = TRUE;
977
975
        } else {
978
 
                gint _tmp5_;
979
 
                _tmp5_ = vala_collection_get_size ((ValaCollection*) params);
980
 
                _tmp4_ = _tmp5_ == 0;
 
976
                gint _tmp4_;
 
977
                _tmp4_ = vala_collection_get_size ((ValaCollection*) params);
 
978
                _tmp3_ = _tmp4_ == 0;
981
979
        }
982
 
        if (_tmp4_) {
983
 
                gchar* _tmp6_;
984
 
                _tmp6_ = g_strconcat (signature, "VOID", NULL);
 
980
        if (_tmp3_) {
 
981
                gchar* _tmp5_;
 
982
                _tmp5_ = g_strconcat (signature, "VOID", NULL);
985
983
                _g_free0 (signature);
986
 
                signature = _tmp6_;
 
984
                signature = _tmp5_;
987
985
        } else {
988
986
                gboolean first;
989
987
                first = TRUE;
990
988
                {
991
 
                        ValaList* _tmp7_;
 
989
                        ValaList* _tmp6_;
992
990
                        ValaList* _p_list;
993
 
                        gint _tmp8_;
 
991
                        gint _tmp7_;
994
992
                        gint _p_size;
995
993
                        gint _p_index;
996
 
                        _tmp7_ = _vala_iterable_ref0 (params);
997
 
                        _p_list = _tmp7_;
998
 
                        _tmp8_ = vala_collection_get_size ((ValaCollection*) _p_list);
999
 
                        _p_size = _tmp8_;
 
994
                        _tmp6_ = _vala_iterable_ref0 (params);
 
995
                        _p_list = _tmp6_;
 
996
                        _tmp7_ = vala_collection_get_size ((ValaCollection*) _p_list);
 
997
                        _p_size = _tmp7_;
1000
998
                        _p_index = -1;
1001
999
                        while (TRUE) {
1002
 
                                gpointer _tmp9_ = NULL;
 
1000
                                gpointer _tmp8_ = NULL;
1003
1001
                                ValaParameter* p;
1004
1002
                                _p_index = _p_index + 1;
1005
1003
                                if (!(_p_index < _p_size)) {
1006
1004
                                        break;
1007
1005
                                }
1008
 
                                _tmp9_ = vala_list_get (_p_list, _p_index);
1009
 
                                p = (ValaParameter*) _tmp9_;
 
1006
                                _tmp8_ = vala_list_get (_p_list, _p_index);
 
1007
                                p = (ValaParameter*) _tmp8_;
1010
1008
                                if (first) {
1011
 
                                        gchar* _tmp10_ = NULL;
 
1009
                                        gchar* _tmp9_ = NULL;
 
1010
                                        gchar* _tmp10_;
1012
1011
                                        gchar* _tmp11_;
1013
 
                                        gchar* _tmp12_;
1014
 
                                        _tmp10_ = vala_gsignal_module_get_marshaller_type_name_for_parameter (self, p, dbus);
1015
 
                                        _tmp11_ = _tmp10_;
1016
 
                                        _tmp12_ = g_strconcat (signature, _tmp11_, NULL);
 
1012
                                        _tmp9_ = vala_gsignal_module_get_marshaller_type_name_for_parameter (self, p, dbus);
 
1013
                                        _tmp10_ = _tmp9_;
 
1014
                                        _tmp11_ = g_strconcat (signature, _tmp10_, NULL);
1017
1015
                                        _g_free0 (signature);
1018
 
                                        signature = _tmp12_;
1019
 
                                        _g_free0 (_tmp11_);
 
1016
                                        signature = _tmp11_;
 
1017
                                        _g_free0 (_tmp10_);
1020
1018
                                        first = FALSE;
1021
1019
                                } else {
1022
 
                                        gchar* _tmp13_ = NULL;
1023
 
                                        gchar* _tmp14_;
1024
 
                                        gchar* _tmp15_ = NULL;
1025
 
                                        gchar* _tmp16_;
1026
 
                                        _tmp13_ = vala_gsignal_module_get_marshaller_type_name_for_parameter (self, p, dbus);
1027
 
                                        _tmp14_ = _tmp13_;
1028
 
                                        _tmp15_ = g_strdup_printf ("%s,%s", signature, _tmp14_);
1029
 
                                        _tmp16_ = _tmp15_;
 
1020
                                        gchar* _tmp12_ = NULL;
 
1021
                                        gchar* _tmp13_;
 
1022
                                        gchar* _tmp14_ = NULL;
 
1023
                                        _tmp12_ = vala_gsignal_module_get_marshaller_type_name_for_parameter (self, p, dbus);
 
1024
                                        _tmp13_ = _tmp12_;
 
1025
                                        _tmp14_ = g_strdup_printf ("%s,%s", signature, _tmp13_);
1030
1026
                                        _g_free0 (signature);
1031
 
                                        signature = _tmp16_;
1032
 
                                        _g_free0 (_tmp14_);
 
1027
                                        signature = _tmp14_;
 
1028
                                        _g_free0 (_tmp13_);
1033
1029
                                }
1034
1030
                                _vala_code_node_unref0 (p);
1035
1031
                        }
1060
1056
        ValaCCodeExpression* _tmp20_;
1061
1057
        ValaCCodeConstant* _tmp21_ = NULL;
1062
1058
        ValaCCodeConstant* _tmp22_;
1063
 
        ValaCCodeCommaExpression* _tmp23_ = NULL;
1064
 
        ValaCCodeCommaExpression* ccomma;
 
1059
        ValaCCodeFunction* _tmp23_ = NULL;
1065
1060
        const gchar* _tmp24_ = NULL;
1066
1061
        ValaCCodeExpression* _tmp25_ = NULL;
1067
1062
        ValaCCodeExpression* _tmp26_;
1068
 
        ValaCCodeAssignment* _tmp27_ = NULL;
1069
 
        ValaCCodeAssignment* _tmp28_;
1070
 
        const gchar* _tmp29_ = NULL;
1071
 
        ValaCCodeExpression* _tmp30_ = NULL;
1072
 
        ValaCCodeExpression* _tmp31_;
 
1063
        const gchar* _tmp27_ = NULL;
 
1064
        ValaCCodeExpression* _tmp28_ = NULL;
1073
1065
        g_return_val_if_fail (self != NULL, NULL);
1074
1066
        g_return_val_if_fail (sig != NULL, NULL);
1075
1067
        g_return_val_if_fail (node != NULL, NULL);
1105
1097
                _tmp6_ = vala_string_literal_eval (VALA_STRING_LITERAL (detail_expr));
1106
1098
                _tmp7_ = _tmp6_;
1107
1099
                _tmp8_ = vala_signal_get_canonical_cconstant (sig, _tmp7_);
1108
 
                result = (_tmp9_ = (ValaCCodeExpression*) _tmp8_, _g_free0 (_tmp7_), _tmp9_);
 
1100
                _tmp9_ = (ValaCCodeExpression*) _tmp8_;
 
1101
                _g_free0 (_tmp7_);
 
1102
                result = _tmp9_;
1109
1103
                return result;
1110
1104
        }
1111
1105
        _tmp10_ = vala_expression_get_value_type (detail_expr);
1117
1111
        _tmp13_ = vala_ccode_identifier_new ("g_strconcat");
1118
1112
        _tmp14_ = _tmp13_;
1119
1113
        _tmp15_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp14_);
1120
 
        ccall = (_tmp16_ = _tmp15_, _vala_ccode_node_unref0 (_tmp14_), _tmp16_);
 
1114
        _tmp16_ = _tmp15_;
 
1115
        _vala_ccode_node_unref0 (_tmp14_);
 
1116
        ccall = _tmp16_;
1121
1117
        _tmp17_ = vala_signal_get_canonical_cconstant (sig, "");
1122
1118
        _tmp18_ = _tmp17_;
1123
1119
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp18_);
1130
1126
        _tmp22_ = _tmp21_;
1131
1127
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp22_);
1132
1128
        _vala_ccode_node_unref0 (_tmp22_);
1133
 
        _tmp23_ = vala_ccode_comma_expression_new ();
1134
 
        ccomma = _tmp23_;
 
1129
        _tmp23_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
1135
1130
        _tmp24_ = vala_symbol_get_name ((ValaSymbol*) detail_decl);
1136
1131
        _tmp25_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp24_);
1137
1132
        _tmp26_ = _tmp25_;
1138
 
        _tmp27_ = vala_ccode_assignment_new (_tmp26_, (ValaCCodeExpression*) ccall, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
1139
 
        _tmp28_ = _tmp27_;
1140
 
        vala_ccode_comma_expression_append_expression (ccomma, (ValaCCodeExpression*) _tmp28_);
1141
 
        _vala_ccode_node_unref0 (_tmp28_);
 
1133
        vala_ccode_function_add_assignment (_tmp23_, _tmp26_, (ValaCCodeExpression*) ccall);
1142
1134
        _vala_ccode_node_unref0 (_tmp26_);
1143
 
        _tmp29_ = vala_symbol_get_name ((ValaSymbol*) detail_decl);
1144
 
        _tmp30_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp29_);
1145
 
        _tmp31_ = _tmp30_;
1146
 
        vala_ccode_comma_expression_append_expression (ccomma, _tmp31_);
1147
 
        _vala_ccode_node_unref0 (_tmp31_);
1148
 
        result = (ValaCCodeExpression*) ccomma;
 
1135
        _tmp27_ = vala_symbol_get_name ((ValaSymbol*) detail_decl);
 
1136
        _tmp28_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp27_);
 
1137
        result = _tmp28_;
1149
1138
        _vala_ccode_node_unref0 (ccall);
1150
1139
        _vala_code_node_unref0 (detail_decl);
1151
1140
        return result;
1165
1154
        self = (ValaGSignalModule*) base;
1166
1155
        g_return_if_fail (sig != NULL);
1167
1156
        _tmp0_ = vala_symbol_get_parent_symbol ((ValaSymbol*) sig);
1168
 
        _tmp2_ = _vala_code_node_ref0 ((_tmp1_ = _tmp0_, VALA_IS_CLASS (_tmp1_) ? ((ValaClass*) _tmp1_) : NULL));
 
1157
        _tmp1_ = _tmp0_;
 
1158
        _tmp2_ = _vala_code_node_ref0 (VALA_IS_CLASS (_tmp1_) ? ((ValaClass*) _tmp1_) : NULL);
1169
1159
        cl = _tmp2_;
1170
1160
        if (cl != NULL) {
1171
1161
                gboolean _tmp4_;
1212
1202
                                _tmp10_ = vala_symbol_get_name ((ValaSymbol*) sig);
1213
1203
                                _tmp11_ = vala_semantic_analyzer_symbol_lookup_inherited ((ValaSymbol*) _tmp9_, _tmp10_);
1214
1204
                                _tmp12_ = _tmp11_;
1215
 
                                if ((_tmp13_ = VALA_IS_SIGNAL (_tmp12_), _vala_code_node_unref0 (_tmp12_), _tmp13_)) {
 
1205
                                _tmp13_ = VALA_IS_SIGNAL (_tmp12_);
 
1206
                                _vala_code_node_unref0 (_tmp12_);
 
1207
                                if (_tmp13_) {
1216
1208
                                        ValaSourceReference* _tmp14_ = NULL;
1217
1209
                                        vala_code_node_set_error ((ValaCodeNode*) sig, TRUE);
1218
1210
                                        _tmp14_ = vala_code_node_get_source_reference ((ValaCodeNode*) sig);
1278
1270
        gint n_params = 0;
1279
1271
        gint i = 0;
1280
1272
        gchar* _tmp0_ = NULL;
1281
 
        gchar* _tmp1_;
1282
 
        gboolean _tmp2_ = FALSE;
1283
 
        gboolean _tmp3_;
1284
 
        gchar* _tmp5_ = NULL;
1285
 
        gchar* _tmp6_;
1286
 
        ValaCCodeFunction* _tmp7_ = NULL;
1287
 
        ValaCCodeFunction* _tmp8_;
 
1273
        gboolean _tmp1_ = FALSE;
 
1274
        gboolean _tmp2_;
 
1275
        gchar* _tmp4_ = NULL;
 
1276
        gchar* _tmp5_;
 
1277
        ValaCCodeFunction* _tmp6_ = NULL;
 
1278
        ValaCCodeFunction* _tmp7_;
1288
1279
        ValaCCodeFunction* signal_marshaller;
1289
 
        ValaCCodeParameter* _tmp9_ = NULL;
1290
 
        ValaCCodeParameter* _tmp10_;
1291
 
        ValaCCodeParameter* _tmp11_ = NULL;
1292
 
        ValaCCodeParameter* _tmp12_;
1293
 
        ValaCCodeParameter* _tmp13_ = NULL;
1294
 
        ValaCCodeParameter* _tmp14_;
1295
 
        ValaCCodeParameter* _tmp15_ = NULL;
1296
 
        ValaCCodeParameter* _tmp16_;
1297
 
        ValaCCodeParameter* _tmp17_ = NULL;
1298
 
        ValaCCodeParameter* _tmp18_;
1299
 
        ValaCCodeParameter* _tmp19_ = NULL;
1300
 
        ValaCCodeParameter* _tmp20_;
1301
 
        ValaCCodeBlock* _tmp21_ = NULL;
 
1280
        ValaCCodeParameter* _tmp8_ = NULL;
 
1281
        ValaCCodeParameter* _tmp9_;
 
1282
        ValaCCodeParameter* _tmp10_ = NULL;
 
1283
        ValaCCodeParameter* _tmp11_;
 
1284
        ValaCCodeParameter* _tmp12_ = NULL;
 
1285
        ValaCCodeParameter* _tmp13_;
 
1286
        ValaCCodeParameter* _tmp14_ = NULL;
 
1287
        ValaCCodeParameter* _tmp15_;
 
1288
        ValaCCodeParameter* _tmp16_ = NULL;
 
1289
        ValaCCodeParameter* _tmp17_;
 
1290
        ValaCCodeParameter* _tmp18_ = NULL;
 
1291
        ValaCCodeParameter* _tmp19_;
 
1292
        ValaCCodeBlock* _tmp20_ = NULL;
1302
1293
        ValaCCodeBlock* marshaller_body;
1303
 
        gchar* _tmp22_ = NULL;
1304
 
        gchar* _tmp23_;
1305
 
        ValaCCodeFunctionDeclarator* _tmp24_ = NULL;
1306
 
        ValaCCodeFunctionDeclarator* _tmp25_;
 
1294
        gchar* _tmp21_ = NULL;
 
1295
        gchar* _tmp22_;
 
1296
        ValaCCodeFunctionDeclarator* _tmp23_ = NULL;
 
1297
        ValaCCodeFunctionDeclarator* _tmp24_;
1307
1298
        ValaCCodeFunctionDeclarator* callback_decl;
1308
 
        ValaCCodeParameter* _tmp26_ = NULL;
1309
 
        ValaCCodeParameter* _tmp27_;
1310
 
        ValaCCodeParameter* _tmp44_ = NULL;
1311
 
        ValaCCodeParameter* _tmp45_;
1312
 
        gchar* _tmp46_ = NULL;
1313
 
        gchar* _tmp47_;
1314
 
        ValaCCodeTypeDefinition* _tmp48_ = NULL;
1315
 
        ValaCCodeTypeDefinition* _tmp49_;
1316
 
        gchar* _tmp50_ = NULL;
1317
 
        gchar* _tmp51_;
1318
 
        ValaCCodeDeclaration* _tmp52_ = NULL;
1319
 
        ValaCCodeDeclaration* _tmp53_;
 
1299
        ValaCCodeParameter* _tmp25_ = NULL;
 
1300
        ValaCCodeParameter* _tmp26_;
 
1301
        ValaCCodeParameter* _tmp43_ = NULL;
 
1302
        ValaCCodeParameter* _tmp44_;
 
1303
        gchar* _tmp45_ = NULL;
 
1304
        gchar* _tmp46_;
 
1305
        ValaCCodeTypeDefinition* _tmp47_ = NULL;
 
1306
        ValaCCodeTypeDefinition* _tmp48_;
 
1307
        gchar* _tmp49_ = NULL;
 
1308
        gchar* _tmp50_;
 
1309
        ValaCCodeDeclaration* _tmp51_ = NULL;
 
1310
        ValaCCodeDeclaration* _tmp52_;
1320
1311
        ValaCCodeDeclaration* var_decl;
1321
 
        ValaCCodeVariableDeclarator* _tmp54_ = NULL;
1322
 
        ValaCCodeVariableDeclarator* _tmp55_;
1323
 
        ValaCCodeDeclaration* _tmp56_ = NULL;
1324
 
        ValaCCodeDeclaration* _tmp57_;
1325
 
        ValaCCodeIdentifier* _tmp58_ = NULL;
1326
 
        ValaCCodeIdentifier* _tmp59_;
1327
 
        ValaCCodeCastExpression* _tmp60_ = NULL;
1328
 
        ValaCCodeCastExpression* _tmp61_;
1329
 
        ValaCCodeVariableDeclarator* _tmp62_ = NULL;
1330
 
        ValaCCodeVariableDeclarator* _tmp63_;
1331
 
        ValaCCodeDeclaration* _tmp64_ = NULL;
1332
 
        ValaCCodeDeclaration* _tmp65_;
1333
 
        ValaCCodeVariableDeclarator* _tmp66_ = NULL;
1334
 
        ValaCCodeVariableDeclarator* _tmp67_;
1335
 
        ValaCCodeVariableDeclarator* _tmp68_ = NULL;
1336
 
        ValaCCodeVariableDeclarator* _tmp69_;
 
1312
        ValaCCodeVariableDeclarator* _tmp53_ = NULL;
 
1313
        ValaCCodeVariableDeclarator* _tmp54_;
 
1314
        ValaCCodeDeclaration* _tmp55_ = NULL;
 
1315
        ValaCCodeIdentifier* _tmp56_ = NULL;
 
1316
        ValaCCodeIdentifier* _tmp57_;
 
1317
        ValaCCodeCastExpression* _tmp58_ = NULL;
 
1318
        ValaCCodeCastExpression* _tmp59_;
 
1319
        ValaCCodeVariableDeclarator* _tmp60_ = NULL;
 
1320
        ValaCCodeVariableDeclarator* _tmp61_;
 
1321
        ValaCCodeDeclaration* _tmp62_ = NULL;
 
1322
        ValaCCodeVariableDeclarator* _tmp63_ = NULL;
 
1323
        ValaCCodeVariableDeclarator* _tmp64_;
 
1324
        ValaCCodeVariableDeclarator* _tmp65_ = NULL;
 
1325
        ValaCCodeVariableDeclarator* _tmp66_;
1337
1326
        ValaCCodeFunctionCall* fc = NULL;
1338
 
        gboolean _tmp70_ = FALSE;
1339
 
        ValaTypeSymbol* _tmp71_ = NULL;
1340
 
        ValaCCodeIdentifier* _tmp91_ = NULL;
1341
 
        ValaCCodeIdentifier* _tmp92_;
1342
 
        ValaCCodeFunctionCall* _tmp93_ = NULL;
1343
 
        ValaCCodeFunctionCall* _tmp94_;
1344
 
        ValaCCodeIdentifier* _tmp95_ = NULL;
1345
 
        ValaCCodeIdentifier* _tmp96_;
1346
 
        gchar* _tmp97_ = NULL;
1347
 
        gchar* _tmp98_;
1348
 
        ValaCCodeConstant* _tmp99_ = NULL;
1349
 
        ValaCCodeConstant* _tmp100_;
1350
 
        ValaCCodeBinaryExpression* _tmp101_ = NULL;
1351
 
        ValaCCodeBinaryExpression* _tmp102_;
1352
 
        ValaCCodeExpressionStatement* _tmp103_ = NULL;
1353
 
        ValaCCodeExpressionStatement* _tmp104_;
1354
 
        ValaCCodeIdentifier* _tmp105_ = NULL;
1355
 
        ValaCCodeIdentifier* _tmp106_;
 
1327
        gboolean _tmp67_ = FALSE;
 
1328
        ValaTypeSymbol* _tmp68_ = NULL;
 
1329
        ValaCCodeIdentifier* _tmp86_ = NULL;
 
1330
        ValaCCodeIdentifier* _tmp87_;
 
1331
        ValaCCodeFunctionCall* _tmp88_ = NULL;
 
1332
        ValaCCodeIdentifier* _tmp89_ = NULL;
 
1333
        ValaCCodeIdentifier* _tmp90_;
 
1334
        gchar* _tmp91_ = NULL;
 
1335
        gchar* _tmp92_;
 
1336
        ValaCCodeConstant* _tmp93_ = NULL;
 
1337
        ValaCCodeConstant* _tmp94_;
 
1338
        ValaCCodeBinaryExpression* _tmp95_ = NULL;
 
1339
        ValaCCodeBinaryExpression* _tmp96_;
 
1340
        ValaCCodeExpressionStatement* _tmp97_ = NULL;
 
1341
        ValaCCodeExpressionStatement* _tmp98_;
 
1342
        ValaCCodeIdentifier* _tmp99_ = NULL;
 
1343
        ValaCCodeIdentifier* _tmp100_;
 
1344
        ValaCCodeMemberAccess* _tmp101_ = NULL;
 
1345
        ValaCCodeMemberAccess* _tmp102_;
 
1346
        ValaCCodeMemberAccess* data;
 
1347
        ValaCCodeIdentifier* _tmp103_ = NULL;
 
1348
        ValaCCodeIdentifier* _tmp104_;
 
1349
        ValaCCodeMemberAccess* _tmp105_ = NULL;
 
1350
        ValaCCodeMemberAccess* _tmp106_;
1356
1351
        ValaCCodeMemberAccess* _tmp107_ = NULL;
1357
1352
        ValaCCodeMemberAccess* _tmp108_;
1358
 
        ValaCCodeMemberAccess* data;
1359
 
        ValaCCodeIdentifier* _tmp109_ = NULL;
1360
 
        ValaCCodeIdentifier* _tmp110_;
1361
 
        ValaCCodeMemberAccess* _tmp111_ = NULL;
1362
 
        ValaCCodeMemberAccess* _tmp112_;
1363
 
        ValaCCodeMemberAccess* _tmp113_ = NULL;
1364
 
        ValaCCodeMemberAccess* _tmp114_;
1365
1353
        ValaCCodeMemberAccess* param;
1366
 
        ValaCCodeConstant* _tmp115_ = NULL;
1367
 
        ValaCCodeConstant* _tmp116_;
1368
 
        ValaCCodeFunctionCall* _tmp117_ = NULL;
1369
 
        ValaCCodeFunctionCall* _tmp118_;
 
1354
        ValaCCodeConstant* _tmp109_ = NULL;
 
1355
        ValaCCodeConstant* _tmp110_;
 
1356
        ValaCCodeFunctionCall* _tmp111_ = NULL;
 
1357
        ValaCCodeFunctionCall* _tmp112_;
1370
1358
        ValaCCodeFunctionCall* cond;
1371
 
        ValaCCodeIdentifier* _tmp119_ = NULL;
1372
 
        ValaCCodeIdentifier* _tmp120_;
1373
 
        ValaCCodeBlock* _tmp121_ = NULL;
 
1359
        ValaCCodeIdentifier* _tmp113_ = NULL;
 
1360
        ValaCCodeIdentifier* _tmp114_;
 
1361
        ValaCCodeBlock* _tmp115_ = NULL;
1374
1362
        ValaCCodeBlock* true_block;
 
1363
        ValaCCodeIdentifier* _tmp116_ = NULL;
 
1364
        ValaCCodeIdentifier* _tmp117_;
 
1365
        ValaCCodeAssignment* _tmp118_ = NULL;
 
1366
        ValaCCodeAssignment* _tmp119_;
 
1367
        ValaCCodeExpressionStatement* _tmp120_ = NULL;
 
1368
        ValaCCodeExpressionStatement* _tmp121_;
1375
1369
        ValaCCodeIdentifier* _tmp122_ = NULL;
1376
1370
        ValaCCodeIdentifier* _tmp123_;
1377
1371
        ValaCCodeAssignment* _tmp124_ = NULL;
1378
1372
        ValaCCodeAssignment* _tmp125_;
1379
1373
        ValaCCodeExpressionStatement* _tmp126_ = NULL;
1380
1374
        ValaCCodeExpressionStatement* _tmp127_;
1381
 
        ValaCCodeIdentifier* _tmp128_ = NULL;
1382
 
        ValaCCodeIdentifier* _tmp129_;
1383
 
        ValaCCodeAssignment* _tmp130_ = NULL;
1384
 
        ValaCCodeAssignment* _tmp131_;
1385
 
        ValaCCodeExpressionStatement* _tmp132_ = NULL;
1386
 
        ValaCCodeExpressionStatement* _tmp133_;
1387
 
        ValaCCodeBlock* _tmp134_ = NULL;
 
1375
        ValaCCodeBlock* _tmp128_ = NULL;
1388
1376
        ValaCCodeBlock* false_block;
 
1377
        ValaCCodeIdentifier* _tmp129_ = NULL;
 
1378
        ValaCCodeIdentifier* _tmp130_;
 
1379
        ValaCCodeAssignment* _tmp131_ = NULL;
 
1380
        ValaCCodeAssignment* _tmp132_;
 
1381
        ValaCCodeExpressionStatement* _tmp133_ = NULL;
 
1382
        ValaCCodeExpressionStatement* _tmp134_;
1389
1383
        ValaCCodeIdentifier* _tmp135_ = NULL;
1390
1384
        ValaCCodeIdentifier* _tmp136_;
1391
1385
        ValaCCodeAssignment* _tmp137_ = NULL;
1392
1386
        ValaCCodeAssignment* _tmp138_;
1393
1387
        ValaCCodeExpressionStatement* _tmp139_ = NULL;
1394
1388
        ValaCCodeExpressionStatement* _tmp140_;
1395
 
        ValaCCodeIdentifier* _tmp141_ = NULL;
1396
 
        ValaCCodeIdentifier* _tmp142_;
1397
 
        ValaCCodeAssignment* _tmp143_ = NULL;
1398
 
        ValaCCodeAssignment* _tmp144_;
1399
 
        ValaCCodeExpressionStatement* _tmp145_ = NULL;
1400
 
        ValaCCodeExpressionStatement* _tmp146_;
1401
 
        ValaCCodeIfStatement* _tmp147_ = NULL;
1402
 
        ValaCCodeIfStatement* _tmp148_;
 
1389
        ValaCCodeIfStatement* _tmp141_ = NULL;
 
1390
        ValaCCodeIfStatement* _tmp142_;
 
1391
        ValaCCodeIdentifier* _tmp143_ = NULL;
 
1392
        ValaCCodeIdentifier* _tmp144_;
 
1393
        ValaCCodeIdentifier* _tmp145_ = NULL;
 
1394
        ValaCCodeIdentifier* _tmp146_;
 
1395
        ValaCCodeIdentifier* _tmp147_ = NULL;
 
1396
        ValaCCodeIdentifier* _tmp148_;
1403
1397
        ValaCCodeIdentifier* _tmp149_ = NULL;
1404
1398
        ValaCCodeIdentifier* _tmp150_;
1405
 
        ValaCCodeIdentifier* _tmp151_ = NULL;
1406
 
        ValaCCodeIdentifier* _tmp152_;
1407
 
        ValaCCodeIdentifier* _tmp153_ = NULL;
1408
 
        ValaCCodeIdentifier* _tmp154_;
1409
 
        ValaCCodeIdentifier* _tmp155_ = NULL;
1410
 
        ValaCCodeIdentifier* _tmp156_;
1411
 
        ValaCCodeMemberAccess* _tmp157_ = NULL;
1412
 
        ValaCCodeMemberAccess* _tmp158_;
1413
 
        ValaCCodeConditionalExpression* _tmp159_ = NULL;
1414
 
        ValaCCodeConditionalExpression* _tmp160_;
1415
 
        gchar* _tmp161_ = NULL;
1416
 
        gchar* _tmp162_;
1417
 
        ValaCCodeCastExpression* _tmp163_ = NULL;
1418
 
        ValaCCodeCastExpression* _tmp164_;
1419
 
        ValaCCodeAssignment* _tmp165_ = NULL;
1420
 
        ValaCCodeAssignment* _tmp166_;
 
1399
        ValaCCodeMemberAccess* _tmp151_ = NULL;
 
1400
        ValaCCodeMemberAccess* _tmp152_;
 
1401
        ValaCCodeConditionalExpression* _tmp153_ = NULL;
 
1402
        ValaCCodeConditionalExpression* _tmp154_;
 
1403
        gchar* _tmp155_ = NULL;
 
1404
        gchar* _tmp156_;
 
1405
        ValaCCodeCastExpression* _tmp157_ = NULL;
 
1406
        ValaCCodeCastExpression* _tmp158_;
 
1407
        ValaCCodeAssignment* _tmp159_ = NULL;
 
1408
        ValaCCodeAssignment* _tmp160_;
1421
1409
        ValaCCodeAssignment* c_assign;
1422
 
        ValaCCodeExpressionStatement* _tmp167_ = NULL;
1423
 
        ValaCCodeExpressionStatement* _tmp168_;
1424
 
        ValaCCodeIdentifier* _tmp169_ = NULL;
1425
 
        ValaCCodeIdentifier* _tmp170_;
1426
 
        ValaCCodeFunctionCall* _tmp171_ = NULL;
1427
 
        ValaCCodeFunctionCall* _tmp172_;
1428
 
        ValaCCodeIdentifier* _tmp173_ = NULL;
1429
 
        ValaCCodeIdentifier* _tmp174_;
1430
 
        ValaCCodeIdentifier* _tmp249_ = NULL;
1431
 
        ValaCCodeIdentifier* _tmp250_;
1432
 
        gboolean _tmp251_ = FALSE;
1433
 
        ValaTypeSymbol* _tmp252_ = NULL;
 
1410
        ValaCCodeExpressionStatement* _tmp161_ = NULL;
 
1411
        ValaCCodeExpressionStatement* _tmp162_;
 
1412
        ValaCCodeIdentifier* _tmp163_ = NULL;
 
1413
        ValaCCodeIdentifier* _tmp164_;
 
1414
        ValaCCodeFunctionCall* _tmp165_ = NULL;
 
1415
        ValaCCodeIdentifier* _tmp166_ = NULL;
 
1416
        ValaCCodeIdentifier* _tmp167_;
 
1417
        ValaCCodeIdentifier* _tmp231_ = NULL;
 
1418
        ValaCCodeIdentifier* _tmp232_;
 
1419
        gboolean _tmp233_ = FALSE;
 
1420
        ValaTypeSymbol* _tmp234_ = NULL;
1434
1421
        self = (ValaGSignalModule*) base;
1435
1422
        g_return_if_fail (params != NULL);
1436
1423
        g_return_if_fail (return_type != NULL);
1437
1424
        _tmp0_ = vala_gsignal_module_get_marshaller_signature (self, params, return_type, dbus);
1438
 
        _tmp1_ = _tmp0_;
1439
1425
        _g_free0 (signature);
1440
 
        signature = _tmp1_;
1441
 
        _tmp3_ = vala_collection_contains ((ValaCollection*) ((ValaCCodeBaseModule*) self)->predefined_marshal_set, signature);
1442
 
        if (_tmp3_) {
1443
 
                _tmp2_ = TRUE;
1444
 
        } else {
1445
 
                gboolean _tmp4_;
1446
 
                _tmp4_ = vala_collection_contains ((ValaCollection*) ((ValaCCodeBaseModule*) self)->user_marshal_set, signature);
1447
 
                _tmp2_ = _tmp4_;
1448
 
        }
 
1426
        signature = _tmp0_;
 
1427
        _tmp2_ = vala_collection_contains ((ValaCollection*) ((ValaCCodeBaseModule*) self)->predefined_marshal_set, signature);
1449
1428
        if (_tmp2_) {
 
1429
                _tmp1_ = TRUE;
 
1430
        } else {
 
1431
                gboolean _tmp3_;
 
1432
                _tmp3_ = vala_collection_contains ((ValaCollection*) ((ValaCCodeBaseModule*) self)->user_marshal_set, signature);
 
1433
                _tmp1_ = _tmp3_;
 
1434
        }
 
1435
        if (_tmp1_) {
1450
1436
                _g_free0 (signature);
1451
1437
                return;
1452
1438
        }
1453
 
        _tmp5_ = vala_ccode_base_module_get_marshaller_function ((ValaCCodeBaseModule*) self, params, return_type, NULL, dbus);
1454
 
        _tmp6_ = _tmp5_;
1455
 
        _tmp7_ = vala_ccode_function_new (_tmp6_, "void");
1456
 
        signal_marshaller = (_tmp8_ = _tmp7_, _g_free0 (_tmp6_), _tmp8_);
 
1439
        _tmp4_ = vala_ccode_base_module_get_marshaller_function ((ValaCCodeBaseModule*) self, params, return_type, NULL, dbus);
 
1440
        _tmp5_ = _tmp4_;
 
1441
        _tmp6_ = vala_ccode_function_new (_tmp5_, "void");
 
1442
        _tmp7_ = _tmp6_;
 
1443
        _g_free0 (_tmp5_);
 
1444
        signal_marshaller = _tmp7_;
1457
1445
        vala_ccode_function_set_modifiers (signal_marshaller, VALA_CCODE_MODIFIERS_STATIC);
1458
 
        _tmp9_ = vala_ccode_parameter_new ("closure", "GClosure *");
1459
 
        _tmp10_ = _tmp9_;
1460
 
        vala_ccode_function_add_parameter (signal_marshaller, _tmp10_);
1461
 
        _vala_ccode_node_unref0 (_tmp10_);
1462
 
        _tmp11_ = vala_ccode_parameter_new ("return_value", "GValue *");
1463
 
        _tmp12_ = _tmp11_;
1464
 
        vala_ccode_function_add_parameter (signal_marshaller, _tmp12_);
1465
 
        _vala_ccode_node_unref0 (_tmp12_);
1466
 
        _tmp13_ = vala_ccode_parameter_new ("n_param_values", "guint");
1467
 
        _tmp14_ = _tmp13_;
1468
 
        vala_ccode_function_add_parameter (signal_marshaller, _tmp14_);
1469
 
        _vala_ccode_node_unref0 (_tmp14_);
1470
 
        _tmp15_ = vala_ccode_parameter_new ("param_values", "const GValue *");
1471
 
        _tmp16_ = _tmp15_;
1472
 
        vala_ccode_function_add_parameter (signal_marshaller, _tmp16_);
1473
 
        _vala_ccode_node_unref0 (_tmp16_);
1474
 
        _tmp17_ = vala_ccode_parameter_new ("invocation_hint", "gpointer");
1475
 
        _tmp18_ = _tmp17_;
1476
 
        vala_ccode_function_add_parameter (signal_marshaller, _tmp18_);
1477
 
        _vala_ccode_node_unref0 (_tmp18_);
1478
 
        _tmp19_ = vala_ccode_parameter_new ("marshal_data", "gpointer");
1479
 
        _tmp20_ = _tmp19_;
1480
 
        vala_ccode_function_add_parameter (signal_marshaller, _tmp20_);
1481
 
        _vala_ccode_node_unref0 (_tmp20_);
 
1446
        _tmp8_ = vala_ccode_parameter_new ("closure", "GClosure *");
 
1447
        _tmp9_ = _tmp8_;
 
1448
        vala_ccode_function_add_parameter (signal_marshaller, _tmp9_);
 
1449
        _vala_ccode_node_unref0 (_tmp9_);
 
1450
        _tmp10_ = vala_ccode_parameter_new ("return_value", "GValue *");
 
1451
        _tmp11_ = _tmp10_;
 
1452
        vala_ccode_function_add_parameter (signal_marshaller, _tmp11_);
 
1453
        _vala_ccode_node_unref0 (_tmp11_);
 
1454
        _tmp12_ = vala_ccode_parameter_new ("n_param_values", "guint");
 
1455
        _tmp13_ = _tmp12_;
 
1456
        vala_ccode_function_add_parameter (signal_marshaller, _tmp13_);
 
1457
        _vala_ccode_node_unref0 (_tmp13_);
 
1458
        _tmp14_ = vala_ccode_parameter_new ("param_values", "const GValue *");
 
1459
        _tmp15_ = _tmp14_;
 
1460
        vala_ccode_function_add_parameter (signal_marshaller, _tmp15_);
 
1461
        _vala_ccode_node_unref0 (_tmp15_);
 
1462
        _tmp16_ = vala_ccode_parameter_new ("invocation_hint", "gpointer");
 
1463
        _tmp17_ = _tmp16_;
 
1464
        vala_ccode_function_add_parameter (signal_marshaller, _tmp17_);
 
1465
        _vala_ccode_node_unref0 (_tmp17_);
 
1466
        _tmp18_ = vala_ccode_parameter_new ("marshal_data", "gpointer");
 
1467
        _tmp19_ = _tmp18_;
 
1468
        vala_ccode_function_add_parameter (signal_marshaller, _tmp19_);
 
1469
        _vala_ccode_node_unref0 (_tmp19_);
1482
1470
        vala_ccode_file_add_function_declaration (((ValaCCodeBaseModule*) self)->cfile, signal_marshaller);
1483
 
        _tmp21_ = vala_ccode_block_new ();
1484
 
        marshaller_body = _tmp21_;
1485
 
        _tmp22_ = vala_ccode_base_module_get_marshaller_function ((ValaCCodeBaseModule*) self, params, return_type, "GMarshalFunc", dbus);
1486
 
        _tmp23_ = _tmp22_;
1487
 
        _tmp24_ = vala_ccode_function_declarator_new (_tmp23_);
1488
 
        callback_decl = (_tmp25_ = _tmp24_, _g_free0 (_tmp23_), _tmp25_);
1489
 
        _tmp26_ = vala_ccode_parameter_new ("data1", "gpointer");
1490
 
        _tmp27_ = _tmp26_;
1491
 
        vala_ccode_function_declarator_add_parameter (callback_decl, _tmp27_);
1492
 
        _vala_ccode_node_unref0 (_tmp27_);
 
1471
        _tmp20_ = vala_ccode_block_new ();
 
1472
        marshaller_body = _tmp20_;
 
1473
        _tmp21_ = vala_ccode_base_module_get_marshaller_function ((ValaCCodeBaseModule*) self, params, return_type, "GMarshalFunc", dbus);
 
1474
        _tmp22_ = _tmp21_;
 
1475
        _tmp23_ = vala_ccode_function_declarator_new (_tmp22_);
 
1476
        _tmp24_ = _tmp23_;
 
1477
        _g_free0 (_tmp22_);
 
1478
        callback_decl = _tmp24_;
 
1479
        _tmp25_ = vala_ccode_parameter_new ("data1", "gpointer");
 
1480
        _tmp26_ = _tmp25_;
 
1481
        vala_ccode_function_declarator_add_parameter (callback_decl, _tmp26_);
 
1482
        _vala_ccode_node_unref0 (_tmp26_);
1493
1483
        n_params = 1;
1494
1484
        {
1495
 
                ValaList* _tmp28_;
 
1485
                ValaList* _tmp27_;
1496
1486
                ValaList* _p_list;
1497
 
                gint _tmp29_;
 
1487
                gint _tmp28_;
1498
1488
                gint _p_size;
1499
1489
                gint _p_index;
1500
 
                _tmp28_ = _vala_iterable_ref0 (params);
1501
 
                _p_list = _tmp28_;
1502
 
                _tmp29_ = vala_collection_get_size ((ValaCollection*) _p_list);
1503
 
                _p_size = _tmp29_;
 
1490
                _tmp27_ = _vala_iterable_ref0 (params);
 
1491
                _p_list = _tmp27_;
 
1492
                _tmp28_ = vala_collection_get_size ((ValaCollection*) _p_list);
 
1493
                _p_size = _tmp28_;
1504
1494
                _p_index = -1;
1505
1495
                while (TRUE) {
1506
 
                        gpointer _tmp30_ = NULL;
 
1496
                        gpointer _tmp29_ = NULL;
1507
1497
                        ValaParameter* p;
1508
 
                        gchar* _tmp31_ = NULL;
1509
 
                        gchar* _tmp32_;
1510
 
                        gchar* _tmp33_ = NULL;
1511
 
                        gchar* _tmp34_;
1512
 
                        ValaCCodeParameter* _tmp35_ = NULL;
1513
 
                        ValaCCodeParameter* _tmp36_;
1514
 
                        gboolean _tmp37_ = FALSE;
1515
 
                        ValaDataType* _tmp38_ = NULL;
1516
 
                        gboolean _tmp39_;
 
1498
                        gchar* _tmp30_ = NULL;
 
1499
                        gchar* _tmp31_;
 
1500
                        gchar* _tmp32_ = NULL;
 
1501
                        gchar* _tmp33_;
 
1502
                        ValaCCodeParameter* _tmp34_ = NULL;
 
1503
                        ValaCCodeParameter* _tmp35_;
 
1504
                        gboolean _tmp36_ = FALSE;
 
1505
                        ValaDataType* _tmp37_ = NULL;
 
1506
                        gboolean _tmp38_;
1517
1507
                        _p_index = _p_index + 1;
1518
1508
                        if (!(_p_index < _p_size)) {
1519
1509
                                break;
1520
1510
                        }
1521
 
                        _tmp30_ = vala_list_get (_p_list, _p_index);
1522
 
                        p = (ValaParameter*) _tmp30_;
1523
 
                        _tmp31_ = g_strdup_printf ("arg_%d", n_params);
1524
 
                        _tmp32_ = _tmp31_;
1525
 
                        _tmp33_ = vala_gsignal_module_get_value_type_name_from_parameter (self, p);
1526
 
                        _tmp34_ = _tmp33_;
1527
 
                        _tmp35_ = vala_ccode_parameter_new (_tmp32_, _tmp34_);
1528
 
                        _tmp36_ = _tmp35_;
1529
 
                        vala_ccode_function_declarator_add_parameter (callback_decl, _tmp36_);
1530
 
                        _vala_ccode_node_unref0 (_tmp36_);
1531
 
                        _g_free0 (_tmp34_);
1532
 
                        _g_free0 (_tmp32_);
 
1511
                        _tmp29_ = vala_list_get (_p_list, _p_index);
 
1512
                        p = (ValaParameter*) _tmp29_;
 
1513
                        _tmp30_ = g_strdup_printf ("arg_%d", n_params);
 
1514
                        _tmp31_ = _tmp30_;
 
1515
                        _tmp32_ = vala_gsignal_module_get_value_type_name_from_parameter (self, p);
 
1516
                        _tmp33_ = _tmp32_;
 
1517
                        _tmp34_ = vala_ccode_parameter_new (_tmp31_, _tmp33_);
 
1518
                        _tmp35_ = _tmp34_;
 
1519
                        vala_ccode_function_declarator_add_parameter (callback_decl, _tmp35_);
 
1520
                        _vala_ccode_node_unref0 (_tmp35_);
 
1521
                        _g_free0 (_tmp33_);
 
1522
                        _g_free0 (_tmp31_);
1533
1523
                        n_params++;
1534
 
                        _tmp38_ = vala_variable_get_variable_type ((ValaVariable*) p);
1535
 
                        _tmp39_ = vala_data_type_is_array (_tmp38_);
1536
 
                        if (_tmp39_) {
1537
 
                                _tmp37_ = !dbus;
 
1524
                        _tmp37_ = vala_variable_get_variable_type ((ValaVariable*) p);
 
1525
                        _tmp38_ = vala_data_type_is_array (_tmp37_);
 
1526
                        if (_tmp38_) {
 
1527
                                _tmp36_ = !dbus;
1538
1528
                        } else {
1539
 
                                _tmp37_ = FALSE;
 
1529
                                _tmp36_ = FALSE;
1540
1530
                        }
1541
 
                        if (_tmp37_) {
1542
 
                                gchar* _tmp40_ = NULL;
1543
 
                                gchar* _tmp41_;
1544
 
                                ValaCCodeParameter* _tmp42_ = NULL;
1545
 
                                ValaCCodeParameter* _tmp43_;
1546
 
                                _tmp40_ = g_strdup_printf ("arg_%d", n_params);
1547
 
                                _tmp41_ = _tmp40_;
1548
 
                                _tmp42_ = vala_ccode_parameter_new (_tmp41_, "gint");
1549
 
                                _tmp43_ = _tmp42_;
1550
 
                                vala_ccode_function_declarator_add_parameter (callback_decl, _tmp43_);
1551
 
                                _vala_ccode_node_unref0 (_tmp43_);
1552
 
                                _g_free0 (_tmp41_);
 
1531
                        if (_tmp36_) {
 
1532
                                gchar* _tmp39_ = NULL;
 
1533
                                gchar* _tmp40_;
 
1534
                                ValaCCodeParameter* _tmp41_ = NULL;
 
1535
                                ValaCCodeParameter* _tmp42_;
 
1536
                                _tmp39_ = g_strdup_printf ("arg_%d", n_params);
 
1537
                                _tmp40_ = _tmp39_;
 
1538
                                _tmp41_ = vala_ccode_parameter_new (_tmp40_, "gint");
 
1539
                                _tmp42_ = _tmp41_;
 
1540
                                vala_ccode_function_declarator_add_parameter (callback_decl, _tmp42_);
 
1541
                                _vala_ccode_node_unref0 (_tmp42_);
 
1542
                                _g_free0 (_tmp40_);
1553
1543
                                n_params++;
1554
1544
                        }
1555
1545
                        _vala_code_node_unref0 (p);
1556
1546
                }
1557
1547
                _vala_iterable_unref0 (_p_list);
1558
1548
        }
1559
 
        _tmp44_ = vala_ccode_parameter_new ("data2", "gpointer");
1560
 
        _tmp45_ = _tmp44_;
1561
 
        vala_ccode_function_declarator_add_parameter (callback_decl, _tmp45_);
1562
 
        _vala_ccode_node_unref0 (_tmp45_);
1563
 
        _tmp46_ = vala_gsignal_module_get_value_type_name_from_type_reference (self, return_type);
1564
 
        _tmp47_ = _tmp46_;
1565
 
        _tmp48_ = vala_ccode_type_definition_new (_tmp47_, (ValaCCodeDeclarator*) callback_decl);
1566
 
        _tmp49_ = _tmp48_;
1567
 
        vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp49_);
1568
 
        _vala_ccode_node_unref0 (_tmp49_);
1569
 
        _g_free0 (_tmp47_);
1570
 
        _tmp50_ = vala_ccode_base_module_get_marshaller_function ((ValaCCodeBaseModule*) self, params, return_type, "GMarshalFunc", dbus);
1571
 
        _tmp51_ = _tmp50_;
1572
 
        _tmp52_ = vala_ccode_declaration_new (_tmp51_);
1573
 
        var_decl = (_tmp53_ = _tmp52_, _g_free0 (_tmp51_), _tmp53_);
 
1549
        _tmp43_ = vala_ccode_parameter_new ("data2", "gpointer");
 
1550
        _tmp44_ = _tmp43_;
 
1551
        vala_ccode_function_declarator_add_parameter (callback_decl, _tmp44_);
 
1552
        _vala_ccode_node_unref0 (_tmp44_);
 
1553
        _tmp45_ = vala_gsignal_module_get_value_type_name_from_type_reference (self, return_type);
 
1554
        _tmp46_ = _tmp45_;
 
1555
        _tmp47_ = vala_ccode_type_definition_new (_tmp46_, (ValaCCodeDeclarator*) callback_decl);
 
1556
        _tmp48_ = _tmp47_;
 
1557
        vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp48_);
 
1558
        _vala_ccode_node_unref0 (_tmp48_);
 
1559
        _g_free0 (_tmp46_);
 
1560
        _tmp49_ = vala_ccode_base_module_get_marshaller_function ((ValaCCodeBaseModule*) self, params, return_type, "GMarshalFunc", dbus);
 
1561
        _tmp50_ = _tmp49_;
 
1562
        _tmp51_ = vala_ccode_declaration_new (_tmp50_);
 
1563
        _tmp52_ = _tmp51_;
 
1564
        _g_free0 (_tmp50_);
 
1565
        var_decl = _tmp52_;
1574
1566
        vala_ccode_declaration_set_modifiers (var_decl, VALA_CCODE_MODIFIERS_REGISTER);
1575
 
        _tmp54_ = vala_ccode_variable_declarator_new ("callback", NULL, NULL);
1576
 
        _tmp55_ = _tmp54_;
1577
 
        vala_ccode_declaration_add_declarator (var_decl, (ValaCCodeDeclarator*) _tmp55_);
1578
 
        _vala_ccode_node_unref0 (_tmp55_);
 
1567
        _tmp53_ = vala_ccode_variable_declarator_new ("callback", NULL, NULL);
 
1568
        _tmp54_ = _tmp53_;
 
1569
        vala_ccode_declaration_add_declarator (var_decl, (ValaCCodeDeclarator*) _tmp54_);
 
1570
        _vala_ccode_node_unref0 (_tmp54_);
1579
1571
        vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) var_decl);
1580
 
        _tmp56_ = vala_ccode_declaration_new ("GCClosure *");
 
1572
        _tmp55_ = vala_ccode_declaration_new ("GCClosure *");
 
1573
        _vala_ccode_node_unref0 (var_decl);
 
1574
        var_decl = _tmp55_;
 
1575
        vala_ccode_declaration_set_modifiers (var_decl, VALA_CCODE_MODIFIERS_REGISTER);
 
1576
        _tmp56_ = vala_ccode_identifier_new ("closure");
1581
1577
        _tmp57_ = _tmp56_;
1582
 
        _vala_ccode_node_unref0 (var_decl);
1583
 
        var_decl = _tmp57_;
1584
 
        vala_ccode_declaration_set_modifiers (var_decl, VALA_CCODE_MODIFIERS_REGISTER);
1585
 
        _tmp58_ = vala_ccode_identifier_new ("closure");
 
1578
        _tmp58_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp57_, "GCClosure *");
1586
1579
        _tmp59_ = _tmp58_;
1587
 
        _tmp60_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp59_, "GCClosure *");
 
1580
        _tmp60_ = vala_ccode_variable_declarator_new ("cc", (ValaCCodeExpression*) _tmp59_, NULL);
1588
1581
        _tmp61_ = _tmp60_;
1589
 
        _tmp62_ = vala_ccode_variable_declarator_new ("cc", (ValaCCodeExpression*) _tmp61_, NULL);
1590
 
        _tmp63_ = _tmp62_;
1591
 
        vala_ccode_declaration_add_declarator (var_decl, (ValaCCodeDeclarator*) _tmp63_);
1592
 
        _vala_ccode_node_unref0 (_tmp63_);
 
1582
        vala_ccode_declaration_add_declarator (var_decl, (ValaCCodeDeclarator*) _tmp61_);
1593
1583
        _vala_ccode_node_unref0 (_tmp61_);
1594
1584
        _vala_ccode_node_unref0 (_tmp59_);
 
1585
        _vala_ccode_node_unref0 (_tmp57_);
1595
1586
        vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) var_decl);
1596
 
        _tmp64_ = vala_ccode_declaration_new ("gpointer");
1597
 
        _tmp65_ = _tmp64_;
 
1587
        _tmp62_ = vala_ccode_declaration_new ("gpointer");
1598
1588
        _vala_ccode_node_unref0 (var_decl);
1599
 
        var_decl = _tmp65_;
 
1589
        var_decl = _tmp62_;
1600
1590
        vala_ccode_declaration_set_modifiers (var_decl, VALA_CCODE_MODIFIERS_REGISTER);
1601
 
        _tmp66_ = vala_ccode_variable_declarator_new ("data1", NULL, NULL);
1602
 
        _tmp67_ = _tmp66_;
1603
 
        vala_ccode_declaration_add_declarator (var_decl, (ValaCCodeDeclarator*) _tmp67_);
1604
 
        _vala_ccode_node_unref0 (_tmp67_);
1605
 
        _tmp68_ = vala_ccode_variable_declarator_new ("data2", NULL, NULL);
1606
 
        _tmp69_ = _tmp68_;
1607
 
        vala_ccode_declaration_add_declarator (var_decl, (ValaCCodeDeclarator*) _tmp69_);
1608
 
        _vala_ccode_node_unref0 (_tmp69_);
 
1591
        _tmp63_ = vala_ccode_variable_declarator_new ("data1", NULL, NULL);
 
1592
        _tmp64_ = _tmp63_;
 
1593
        vala_ccode_declaration_add_declarator (var_decl, (ValaCCodeDeclarator*) _tmp64_);
 
1594
        _vala_ccode_node_unref0 (_tmp64_);
 
1595
        _tmp65_ = vala_ccode_variable_declarator_new ("data2", NULL, NULL);
 
1596
        _tmp66_ = _tmp65_;
 
1597
        vala_ccode_declaration_add_declarator (var_decl, (ValaCCodeDeclarator*) _tmp66_);
 
1598
        _vala_ccode_node_unref0 (_tmp66_);
1609
1599
        vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) var_decl);
1610
 
        _tmp71_ = vala_data_type_get_data_type (return_type);
1611
 
        if (_tmp71_ != NULL) {
1612
 
                _tmp70_ = TRUE;
 
1600
        _tmp68_ = vala_data_type_get_data_type (return_type);
 
1601
        if (_tmp68_ != NULL) {
 
1602
                _tmp67_ = TRUE;
1613
1603
        } else {
1614
 
                gboolean _tmp72_;
1615
 
                _tmp72_ = vala_data_type_is_array (return_type);
1616
 
                _tmp70_ = _tmp72_;
 
1604
                gboolean _tmp69_;
 
1605
                _tmp69_ = vala_data_type_is_array (return_type);
 
1606
                _tmp67_ = _tmp69_;
1617
1607
        }
1618
 
        if (_tmp70_) {
1619
 
                gchar* _tmp73_ = NULL;
1620
 
                gchar* _tmp74_;
1621
 
                ValaCCodeDeclaration* _tmp75_ = NULL;
1622
 
                ValaCCodeDeclaration* _tmp76_;
1623
 
                ValaCCodeVariableDeclarator* _tmp77_ = NULL;
1624
 
                ValaCCodeVariableDeclarator* _tmp78_;
1625
 
                ValaCCodeIdentifier* _tmp79_ = NULL;
1626
 
                ValaCCodeIdentifier* _tmp80_;
1627
 
                ValaCCodeFunctionCall* _tmp81_ = NULL;
1628
 
                ValaCCodeFunctionCall* _tmp82_;
1629
 
                ValaCCodeIdentifier* _tmp83_ = NULL;
1630
 
                ValaCCodeIdentifier* _tmp84_;
1631
 
                ValaCCodeConstant* _tmp85_ = NULL;
1632
 
                ValaCCodeConstant* _tmp86_;
1633
 
                ValaCCodeBinaryExpression* _tmp87_ = NULL;
1634
 
                ValaCCodeBinaryExpression* _tmp88_;
1635
 
                ValaCCodeExpressionStatement* _tmp89_ = NULL;
1636
 
                ValaCCodeExpressionStatement* _tmp90_;
1637
 
                _tmp73_ = vala_gsignal_module_get_value_type_name_from_type_reference (self, return_type);
 
1608
        if (_tmp67_) {
 
1609
                gchar* _tmp70_ = NULL;
 
1610
                gchar* _tmp71_;
 
1611
                ValaCCodeDeclaration* _tmp72_ = NULL;
 
1612
                ValaCCodeVariableDeclarator* _tmp73_ = NULL;
 
1613
                ValaCCodeVariableDeclarator* _tmp74_;
 
1614
                ValaCCodeIdentifier* _tmp75_ = NULL;
 
1615
                ValaCCodeIdentifier* _tmp76_;
 
1616
                ValaCCodeFunctionCall* _tmp77_ = NULL;
 
1617
                ValaCCodeIdentifier* _tmp78_ = NULL;
 
1618
                ValaCCodeIdentifier* _tmp79_;
 
1619
                ValaCCodeConstant* _tmp80_ = NULL;
 
1620
                ValaCCodeConstant* _tmp81_;
 
1621
                ValaCCodeBinaryExpression* _tmp82_ = NULL;
 
1622
                ValaCCodeBinaryExpression* _tmp83_;
 
1623
                ValaCCodeExpressionStatement* _tmp84_ = NULL;
 
1624
                ValaCCodeExpressionStatement* _tmp85_;
 
1625
                _tmp70_ = vala_gsignal_module_get_value_type_name_from_type_reference (self, return_type);
 
1626
                _tmp71_ = _tmp70_;
 
1627
                _tmp72_ = vala_ccode_declaration_new (_tmp71_);
 
1628
                _vala_ccode_node_unref0 (var_decl);
 
1629
                var_decl = _tmp72_;
 
1630
                _g_free0 (_tmp71_);
 
1631
                _tmp73_ = vala_ccode_variable_declarator_new ("v_return", NULL, NULL);
1638
1632
                _tmp74_ = _tmp73_;
1639
 
                _tmp75_ = vala_ccode_declaration_new (_tmp74_);
 
1633
                vala_ccode_declaration_add_declarator (var_decl, (ValaCCodeDeclarator*) _tmp74_);
 
1634
                _vala_ccode_node_unref0 (_tmp74_);
 
1635
                vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) var_decl);
 
1636
                _tmp75_ = vala_ccode_identifier_new ("g_return_if_fail");
1640
1637
                _tmp76_ = _tmp75_;
1641
 
                _vala_ccode_node_unref0 (var_decl);
1642
 
                var_decl = _tmp76_;
1643
 
                _g_free0 (_tmp74_);
1644
 
                _tmp77_ = vala_ccode_variable_declarator_new ("v_return", NULL, NULL);
1645
 
                _tmp78_ = _tmp77_;
1646
 
                vala_ccode_declaration_add_declarator (var_decl, (ValaCCodeDeclarator*) _tmp78_);
1647
 
                _vala_ccode_node_unref0 (_tmp78_);
1648
 
                vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) var_decl);
1649
 
                _tmp79_ = vala_ccode_identifier_new ("g_return_if_fail");
1650
 
                _tmp80_ = _tmp79_;
1651
 
                _tmp81_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp80_);
1652
 
                _tmp82_ = _tmp81_;
 
1638
                _tmp77_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp76_);
1653
1639
                _vala_ccode_node_unref0 (fc);
1654
 
                fc = _tmp82_;
1655
 
                _vala_ccode_node_unref0 (_tmp80_);
1656
 
                _tmp83_ = vala_ccode_identifier_new ("return_value");
1657
 
                _tmp84_ = _tmp83_;
1658
 
                _tmp85_ = vala_ccode_constant_new ("NULL");
1659
 
                _tmp86_ = _tmp85_;
1660
 
                _tmp87_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_INEQUALITY, (ValaCCodeExpression*) _tmp84_, (ValaCCodeExpression*) _tmp86_);
1661
 
                _tmp88_ = _tmp87_;
1662
 
                vala_ccode_function_call_add_argument (fc, (ValaCCodeExpression*) _tmp88_);
1663
 
                _vala_ccode_node_unref0 (_tmp88_);
1664
 
                _vala_ccode_node_unref0 (_tmp86_);
1665
 
                _vala_ccode_node_unref0 (_tmp84_);
1666
 
                _tmp89_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) fc);
1667
 
                _tmp90_ = _tmp89_;
1668
 
                vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp90_);
1669
 
                _vala_ccode_node_unref0 (_tmp90_);
 
1640
                fc = _tmp77_;
 
1641
                _vala_ccode_node_unref0 (_tmp76_);
 
1642
                _tmp78_ = vala_ccode_identifier_new ("return_value");
 
1643
                _tmp79_ = _tmp78_;
 
1644
                _tmp80_ = vala_ccode_constant_new ("NULL");
 
1645
                _tmp81_ = _tmp80_;
 
1646
                _tmp82_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_INEQUALITY, (ValaCCodeExpression*) _tmp79_, (ValaCCodeExpression*) _tmp81_);
 
1647
                _tmp83_ = _tmp82_;
 
1648
                vala_ccode_function_call_add_argument (fc, (ValaCCodeExpression*) _tmp83_);
 
1649
                _vala_ccode_node_unref0 (_tmp83_);
 
1650
                _vala_ccode_node_unref0 (_tmp81_);
 
1651
                _vala_ccode_node_unref0 (_tmp79_);
 
1652
                _tmp84_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) fc);
 
1653
                _tmp85_ = _tmp84_;
 
1654
                vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp85_);
 
1655
                _vala_ccode_node_unref0 (_tmp85_);
1670
1656
        }
1671
 
        _tmp91_ = vala_ccode_identifier_new ("g_return_if_fail");
 
1657
        _tmp86_ = vala_ccode_identifier_new ("g_return_if_fail");
 
1658
        _tmp87_ = _tmp86_;
 
1659
        _tmp88_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp87_);
 
1660
        _vala_ccode_node_unref0 (fc);
 
1661
        fc = _tmp88_;
 
1662
        _vala_ccode_node_unref0 (_tmp87_);
 
1663
        _tmp89_ = vala_ccode_identifier_new ("n_param_values");
 
1664
        _tmp90_ = _tmp89_;
 
1665
        _tmp91_ = g_strdup_printf ("%i", n_params);
1672
1666
        _tmp92_ = _tmp91_;
1673
 
        _tmp93_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp92_);
 
1667
        _tmp93_ = vala_ccode_constant_new (_tmp92_);
1674
1668
        _tmp94_ = _tmp93_;
1675
 
        _vala_ccode_node_unref0 (fc);
1676
 
        fc = _tmp94_;
1677
 
        _vala_ccode_node_unref0 (_tmp92_);
1678
 
        _tmp95_ = vala_ccode_identifier_new ("n_param_values");
 
1669
        _tmp95_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_EQUALITY, (ValaCCodeExpression*) _tmp90_, (ValaCCodeExpression*) _tmp94_);
1679
1670
        _tmp96_ = _tmp95_;
1680
 
        _tmp97_ = g_strdup_printf ("%i", n_params);
 
1671
        vala_ccode_function_call_add_argument (fc, (ValaCCodeExpression*) _tmp96_);
 
1672
        _vala_ccode_node_unref0 (_tmp96_);
 
1673
        _vala_ccode_node_unref0 (_tmp94_);
 
1674
        _g_free0 (_tmp92_);
 
1675
        _vala_ccode_node_unref0 (_tmp90_);
 
1676
        _tmp97_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) fc);
1681
1677
        _tmp98_ = _tmp97_;
1682
 
        _tmp99_ = vala_ccode_constant_new (_tmp98_);
 
1678
        vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp98_);
 
1679
        _vala_ccode_node_unref0 (_tmp98_);
 
1680
        _tmp99_ = vala_ccode_identifier_new ("closure");
1683
1681
        _tmp100_ = _tmp99_;
1684
 
        _tmp101_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_EQUALITY, (ValaCCodeExpression*) _tmp96_, (ValaCCodeExpression*) _tmp100_);
 
1682
        _tmp101_ = vala_ccode_member_access_new ((ValaCCodeExpression*) _tmp100_, "data", TRUE);
1685
1683
        _tmp102_ = _tmp101_;
1686
 
        vala_ccode_function_call_add_argument (fc, (ValaCCodeExpression*) _tmp102_);
1687
 
        _vala_ccode_node_unref0 (_tmp102_);
1688
1684
        _vala_ccode_node_unref0 (_tmp100_);
1689
 
        _g_free0 (_tmp98_);
1690
 
        _vala_ccode_node_unref0 (_tmp96_);
1691
 
        _tmp103_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) fc);
 
1685
        data = _tmp102_;
 
1686
        _tmp103_ = vala_ccode_identifier_new ("param_values");
1692
1687
        _tmp104_ = _tmp103_;
1693
 
        vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp104_);
 
1688
        _tmp105_ = vala_ccode_member_access_new ((ValaCCodeExpression*) _tmp104_, "data[0]", TRUE);
 
1689
        _tmp106_ = _tmp105_;
 
1690
        _tmp107_ = vala_ccode_member_access_new ((ValaCCodeExpression*) _tmp106_, "v_pointer", FALSE);
 
1691
        _tmp108_ = _tmp107_;
 
1692
        _vala_ccode_node_unref0 (_tmp106_);
1694
1693
        _vala_ccode_node_unref0 (_tmp104_);
1695
 
        _tmp105_ = vala_ccode_identifier_new ("closure");
1696
 
        _tmp106_ = _tmp105_;
1697
 
        _tmp107_ = vala_ccode_member_access_new ((ValaCCodeExpression*) _tmp106_, "data", TRUE);
1698
 
        data = (_tmp108_ = _tmp107_, _vala_ccode_node_unref0 (_tmp106_), _tmp108_);
1699
 
        _tmp109_ = vala_ccode_identifier_new ("param_values");
 
1694
        param = _tmp108_;
 
1695
        _tmp109_ = vala_ccode_constant_new ("G_CCLOSURE_SWAP_DATA");
1700
1696
        _tmp110_ = _tmp109_;
1701
 
        _tmp111_ = vala_ccode_member_access_new ((ValaCCodeExpression*) _tmp110_, "data[0]", TRUE);
 
1697
        _tmp111_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp110_);
1702
1698
        _tmp112_ = _tmp111_;
1703
 
        _tmp113_ = vala_ccode_member_access_new ((ValaCCodeExpression*) _tmp112_, "v_pointer", FALSE);
1704
 
        param = (_tmp114_ = _tmp113_, _vala_ccode_node_unref0 (_tmp112_), _vala_ccode_node_unref0 (_tmp110_), _tmp114_);
1705
 
        _tmp115_ = vala_ccode_constant_new ("G_CCLOSURE_SWAP_DATA");
1706
 
        _tmp116_ = _tmp115_;
1707
 
        _tmp117_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp116_);
1708
 
        cond = (_tmp118_ = _tmp117_, _vala_ccode_node_unref0 (_tmp116_), _tmp118_);
1709
 
        _tmp119_ = vala_ccode_identifier_new ("closure");
1710
 
        _tmp120_ = _tmp119_;
1711
 
        vala_ccode_function_call_add_argument (cond, (ValaCCodeExpression*) _tmp120_);
1712
 
        _vala_ccode_node_unref0 (_tmp120_);
1713
 
        _tmp121_ = vala_ccode_block_new ();
1714
 
        true_block = _tmp121_;
1715
 
        _tmp122_ = vala_ccode_identifier_new ("data1");
 
1699
        _vala_ccode_node_unref0 (_tmp110_);
 
1700
        cond = _tmp112_;
 
1701
        _tmp113_ = vala_ccode_identifier_new ("closure");
 
1702
        _tmp114_ = _tmp113_;
 
1703
        vala_ccode_function_call_add_argument (cond, (ValaCCodeExpression*) _tmp114_);
 
1704
        _vala_ccode_node_unref0 (_tmp114_);
 
1705
        _tmp115_ = vala_ccode_block_new ();
 
1706
        true_block = _tmp115_;
 
1707
        _tmp116_ = vala_ccode_identifier_new ("data1");
 
1708
        _tmp117_ = _tmp116_;
 
1709
        _tmp118_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp117_, (ValaCCodeExpression*) data, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
 
1710
        _tmp119_ = _tmp118_;
 
1711
        _tmp120_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp119_);
 
1712
        _tmp121_ = _tmp120_;
 
1713
        vala_ccode_block_add_statement (true_block, (ValaCCodeNode*) _tmp121_);
 
1714
        _vala_ccode_node_unref0 (_tmp121_);
 
1715
        _vala_ccode_node_unref0 (_tmp119_);
 
1716
        _vala_ccode_node_unref0 (_tmp117_);
 
1717
        _tmp122_ = vala_ccode_identifier_new ("data2");
1716
1718
        _tmp123_ = _tmp122_;
1717
 
        _tmp124_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp123_, (ValaCCodeExpression*) data, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
 
1719
        _tmp124_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp123_, (ValaCCodeExpression*) param, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
1718
1720
        _tmp125_ = _tmp124_;
1719
1721
        _tmp126_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp125_);
1720
1722
        _tmp127_ = _tmp126_;
1722
1724
        _vala_ccode_node_unref0 (_tmp127_);
1723
1725
        _vala_ccode_node_unref0 (_tmp125_);
1724
1726
        _vala_ccode_node_unref0 (_tmp123_);
1725
 
        _tmp128_ = vala_ccode_identifier_new ("data2");
1726
 
        _tmp129_ = _tmp128_;
1727
 
        _tmp130_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp129_, (ValaCCodeExpression*) param, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
1728
 
        _tmp131_ = _tmp130_;
1729
 
        _tmp132_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp131_);
1730
 
        _tmp133_ = _tmp132_;
1731
 
        vala_ccode_block_add_statement (true_block, (ValaCCodeNode*) _tmp133_);
1732
 
        _vala_ccode_node_unref0 (_tmp133_);
1733
 
        _vala_ccode_node_unref0 (_tmp131_);
1734
 
        _vala_ccode_node_unref0 (_tmp129_);
1735
 
        _tmp134_ = vala_ccode_block_new ();
1736
 
        false_block = _tmp134_;
1737
 
        _tmp135_ = vala_ccode_identifier_new ("data1");
 
1727
        _tmp128_ = vala_ccode_block_new ();
 
1728
        false_block = _tmp128_;
 
1729
        _tmp129_ = vala_ccode_identifier_new ("data1");
 
1730
        _tmp130_ = _tmp129_;
 
1731
        _tmp131_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp130_, (ValaCCodeExpression*) param, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
 
1732
        _tmp132_ = _tmp131_;
 
1733
        _tmp133_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp132_);
 
1734
        _tmp134_ = _tmp133_;
 
1735
        vala_ccode_block_add_statement (false_block, (ValaCCodeNode*) _tmp134_);
 
1736
        _vala_ccode_node_unref0 (_tmp134_);
 
1737
        _vala_ccode_node_unref0 (_tmp132_);
 
1738
        _vala_ccode_node_unref0 (_tmp130_);
 
1739
        _tmp135_ = vala_ccode_identifier_new ("data2");
1738
1740
        _tmp136_ = _tmp135_;
1739
 
        _tmp137_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp136_, (ValaCCodeExpression*) param, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
 
1741
        _tmp137_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp136_, (ValaCCodeExpression*) data, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
1740
1742
        _tmp138_ = _tmp137_;
1741
1743
        _tmp139_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp138_);
1742
1744
        _tmp140_ = _tmp139_;
1744
1746
        _vala_ccode_node_unref0 (_tmp140_);
1745
1747
        _vala_ccode_node_unref0 (_tmp138_);
1746
1748
        _vala_ccode_node_unref0 (_tmp136_);
1747
 
        _tmp141_ = vala_ccode_identifier_new ("data2");
 
1749
        _tmp141_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) cond, (ValaCCodeStatement*) true_block, (ValaCCodeStatement*) false_block);
1748
1750
        _tmp142_ = _tmp141_;
1749
 
        _tmp143_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp142_, (ValaCCodeExpression*) data, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
 
1751
        vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp142_);
 
1752
        _vala_ccode_node_unref0 (_tmp142_);
 
1753
        _tmp143_ = vala_ccode_identifier_new ("callback");
1750
1754
        _tmp144_ = _tmp143_;
1751
 
        _tmp145_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp144_);
 
1755
        _tmp145_ = vala_ccode_identifier_new ("marshal_data");
1752
1756
        _tmp146_ = _tmp145_;
1753
 
        vala_ccode_block_add_statement (false_block, (ValaCCodeNode*) _tmp146_);
1754
 
        _vala_ccode_node_unref0 (_tmp146_);
1755
 
        _vala_ccode_node_unref0 (_tmp144_);
1756
 
        _vala_ccode_node_unref0 (_tmp142_);
1757
 
        _tmp147_ = vala_ccode_if_statement_new ((ValaCCodeExpression*) cond, (ValaCCodeStatement*) true_block, (ValaCCodeStatement*) false_block);
 
1757
        _tmp147_ = vala_ccode_identifier_new ("marshal_data");
1758
1758
        _tmp148_ = _tmp147_;
1759
 
        vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp148_);
1760
 
        _vala_ccode_node_unref0 (_tmp148_);
1761
 
        _tmp149_ = vala_ccode_identifier_new ("callback");
 
1759
        _tmp149_ = vala_ccode_identifier_new ("cc");
1762
1760
        _tmp150_ = _tmp149_;
1763
 
        _tmp151_ = vala_ccode_identifier_new ("marshal_data");
 
1761
        _tmp151_ = vala_ccode_member_access_new ((ValaCCodeExpression*) _tmp150_, "callback", TRUE);
1764
1762
        _tmp152_ = _tmp151_;
1765
 
        _tmp153_ = vala_ccode_identifier_new ("marshal_data");
 
1763
        _tmp153_ = vala_ccode_conditional_expression_new ((ValaCCodeExpression*) _tmp146_, (ValaCCodeExpression*) _tmp148_, (ValaCCodeExpression*) _tmp152_);
1766
1764
        _tmp154_ = _tmp153_;
1767
 
        _tmp155_ = vala_ccode_identifier_new ("cc");
 
1765
        _tmp155_ = vala_ccode_base_module_get_marshaller_function ((ValaCCodeBaseModule*) self, params, return_type, "GMarshalFunc", dbus);
1768
1766
        _tmp156_ = _tmp155_;
1769
 
        _tmp157_ = vala_ccode_member_access_new ((ValaCCodeExpression*) _tmp156_, "callback", TRUE);
 
1767
        _tmp157_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp154_, _tmp156_);
1770
1768
        _tmp158_ = _tmp157_;
1771
 
        _tmp159_ = vala_ccode_conditional_expression_new ((ValaCCodeExpression*) _tmp152_, (ValaCCodeExpression*) _tmp154_, (ValaCCodeExpression*) _tmp158_);
 
1769
        _tmp159_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp144_, (ValaCCodeExpression*) _tmp158_, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
1772
1770
        _tmp160_ = _tmp159_;
1773
 
        _tmp161_ = vala_ccode_base_module_get_marshaller_function ((ValaCCodeBaseModule*) self, params, return_type, "GMarshalFunc", dbus);
 
1771
        _vala_ccode_node_unref0 (_tmp158_);
 
1772
        _g_free0 (_tmp156_);
 
1773
        _vala_ccode_node_unref0 (_tmp154_);
 
1774
        _vala_ccode_node_unref0 (_tmp152_);
 
1775
        _vala_ccode_node_unref0 (_tmp150_);
 
1776
        _vala_ccode_node_unref0 (_tmp148_);
 
1777
        _vala_ccode_node_unref0 (_tmp146_);
 
1778
        _vala_ccode_node_unref0 (_tmp144_);
 
1779
        c_assign = _tmp160_;
 
1780
        _tmp161_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) c_assign);
1774
1781
        _tmp162_ = _tmp161_;
1775
 
        _tmp163_ = vala_ccode_cast_expression_new ((ValaCCodeExpression*) _tmp160_, _tmp162_);
 
1782
        vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp162_);
 
1783
        _vala_ccode_node_unref0 (_tmp162_);
 
1784
        _tmp163_ = vala_ccode_identifier_new ("callback");
1776
1785
        _tmp164_ = _tmp163_;
1777
 
        _tmp165_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp150_, (ValaCCodeExpression*) _tmp164_, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
1778
 
        c_assign = (_tmp166_ = _tmp165_, _vala_ccode_node_unref0 (_tmp164_), _g_free0 (_tmp162_), _vala_ccode_node_unref0 (_tmp160_), _vala_ccode_node_unref0 (_tmp158_), _vala_ccode_node_unref0 (_tmp156_), _vala_ccode_node_unref0 (_tmp154_), _vala_ccode_node_unref0 (_tmp152_), _vala_ccode_node_unref0 (_tmp150_), _tmp166_);
1779
 
        _tmp167_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) c_assign);
1780
 
        _tmp168_ = _tmp167_;
1781
 
        vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp168_);
1782
 
        _vala_ccode_node_unref0 (_tmp168_);
1783
 
        _tmp169_ = vala_ccode_identifier_new ("callback");
1784
 
        _tmp170_ = _tmp169_;
1785
 
        _tmp171_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp170_);
1786
 
        _tmp172_ = _tmp171_;
 
1786
        _tmp165_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp164_);
1787
1787
        _vala_ccode_node_unref0 (fc);
1788
 
        fc = _tmp172_;
1789
 
        _vala_ccode_node_unref0 (_tmp170_);
1790
 
        _tmp173_ = vala_ccode_identifier_new ("data1");
1791
 
        _tmp174_ = _tmp173_;
1792
 
        vala_ccode_function_call_add_argument (fc, (ValaCCodeExpression*) _tmp174_);
1793
 
        _vala_ccode_node_unref0 (_tmp174_);
 
1788
        fc = _tmp165_;
 
1789
        _vala_ccode_node_unref0 (_tmp164_);
 
1790
        _tmp166_ = vala_ccode_identifier_new ("data1");
 
1791
        _tmp167_ = _tmp166_;
 
1792
        vala_ccode_function_call_add_argument (fc, (ValaCCodeExpression*) _tmp167_);
 
1793
        _vala_ccode_node_unref0 (_tmp167_);
1794
1794
        i = 1;
1795
1795
        {
1796
 
                ValaList* _tmp175_;
 
1796
                ValaList* _tmp168_;
1797
1797
                ValaList* _p_list;
1798
 
                gint _tmp176_;
 
1798
                gint _tmp169_;
1799
1799
                gint _p_size;
1800
1800
                gint _p_index;
1801
 
                _tmp175_ = _vala_iterable_ref0 (params);
1802
 
                _p_list = _tmp175_;
1803
 
                _tmp176_ = vala_collection_get_size ((ValaCollection*) _p_list);
1804
 
                _p_size = _tmp176_;
 
1801
                _tmp168_ = _vala_iterable_ref0 (params);
 
1802
                _p_list = _tmp168_;
 
1803
                _tmp169_ = vala_collection_get_size ((ValaCollection*) _p_list);
 
1804
                _p_size = _tmp169_;
1805
1805
                _p_index = -1;
1806
1806
                while (TRUE) {
1807
 
                        gpointer _tmp177_ = NULL;
 
1807
                        gpointer _tmp170_ = NULL;
1808
1808
                        ValaParameter* p;
1809
1809
                        gchar* get_value_function = NULL;
1810
 
                        ValaDataType* _tmp178_ = NULL;
1811
 
                        gboolean _tmp179_;
 
1810
                        ValaDataType* _tmp171_ = NULL;
 
1811
                        gboolean _tmp172_;
1812
1812
                        gboolean is_array;
1813
 
                        ValaParameterDirection _tmp180_;
1814
 
                        ValaCCodeIdentifier* _tmp224_ = NULL;
1815
 
                        ValaCCodeIdentifier* _tmp225_;
1816
 
                        ValaCCodeFunctionCall* _tmp226_ = NULL;
1817
 
                        ValaCCodeFunctionCall* _tmp227_;
 
1813
                        ValaParameterDirection _tmp173_;
 
1814
                        ValaCCodeIdentifier* _tmp207_ = NULL;
 
1815
                        ValaCCodeIdentifier* _tmp208_;
 
1816
                        ValaCCodeFunctionCall* _tmp209_ = NULL;
 
1817
                        ValaCCodeFunctionCall* _tmp210_;
1818
1818
                        ValaCCodeFunctionCall* inner_fc;
1819
 
                        ValaCCodeIdentifier* _tmp228_ = NULL;
1820
 
                        ValaCCodeIdentifier* _tmp229_;
1821
 
                        gchar* _tmp230_ = NULL;
1822
 
                        gchar* _tmp231_;
1823
 
                        ValaCCodeIdentifier* _tmp232_ = NULL;
1824
 
                        ValaCCodeIdentifier* _tmp233_;
1825
 
                        ValaCCodeBinaryExpression* _tmp234_ = NULL;
1826
 
                        ValaCCodeBinaryExpression* _tmp235_;
1827
 
                        gboolean _tmp236_ = FALSE;
 
1819
                        ValaCCodeIdentifier* _tmp211_ = NULL;
 
1820
                        ValaCCodeIdentifier* _tmp212_;
 
1821
                        gchar* _tmp213_ = NULL;
 
1822
                        gchar* _tmp214_;
 
1823
                        ValaCCodeIdentifier* _tmp215_ = NULL;
 
1824
                        ValaCCodeIdentifier* _tmp216_;
 
1825
                        ValaCCodeBinaryExpression* _tmp217_ = NULL;
 
1826
                        ValaCCodeBinaryExpression* _tmp218_;
 
1827
                        gboolean _tmp219_ = FALSE;
1828
1828
                        _p_index = _p_index + 1;
1829
1829
                        if (!(_p_index < _p_size)) {
1830
1830
                                break;
1831
1831
                        }
1832
 
                        _tmp177_ = vala_list_get (_p_list, _p_index);
1833
 
                        p = (ValaParameter*) _tmp177_;
1834
 
                        _tmp178_ = vala_variable_get_variable_type ((ValaVariable*) p);
1835
 
                        _tmp179_ = vala_data_type_is_array (_tmp178_);
1836
 
                        is_array = _tmp179_;
1837
 
                        _tmp180_ = vala_parameter_get_direction (p);
1838
 
                        if (_tmp180_ != VALA_PARAMETER_DIRECTION_IN) {
1839
 
                                gchar* _tmp181_;
1840
 
                                gchar* _tmp182_;
1841
 
                                _tmp181_ = g_strdup ("g_value_get_pointer");
1842
 
                                _tmp182_ = _tmp181_;
 
1832
                        _tmp170_ = vala_list_get (_p_list, _p_index);
 
1833
                        p = (ValaParameter*) _tmp170_;
 
1834
                        _tmp171_ = vala_variable_get_variable_type ((ValaVariable*) p);
 
1835
                        _tmp172_ = vala_data_type_is_array (_tmp171_);
 
1836
                        is_array = _tmp172_;
 
1837
                        _tmp173_ = vala_parameter_get_direction (p);
 
1838
                        if (_tmp173_ != VALA_PARAMETER_DIRECTION_IN) {
 
1839
                                gchar* _tmp174_;
 
1840
                                _tmp174_ = g_strdup ("g_value_get_pointer");
1843
1841
                                _g_free0 (get_value_function);
1844
 
                                get_value_function = _tmp182_;
 
1842
                                get_value_function = _tmp174_;
1845
1843
                        } else {
1846
1844
                                if (is_array) {
1847
1845
                                        if (dbus) {
1848
 
                                                gchar* _tmp183_;
1849
 
                                                gchar* _tmp184_;
1850
 
                                                _tmp183_ = g_strdup ("g_value_get_boxed");
1851
 
                                                _tmp184_ = _tmp183_;
 
1846
                                                gchar* _tmp175_;
 
1847
                                                _tmp175_ = g_strdup ("g_value_get_boxed");
1852
1848
                                                _g_free0 (get_value_function);
1853
 
                                                get_value_function = _tmp184_;
 
1849
                                                get_value_function = _tmp175_;
1854
1850
                                        } else {
1855
 
                                                ValaDataType* _tmp185_ = NULL;
1856
 
                                                ValaDataType* _tmp186_ = NULL;
1857
 
                                                ValaTypeSymbol* _tmp187_ = NULL;
1858
 
                                                ValaTypeSymbol* _tmp188_ = NULL;
1859
 
                                                _tmp185_ = vala_variable_get_variable_type ((ValaVariable*) p);
1860
 
                                                _tmp186_ = vala_array_type_get_element_type (VALA_ARRAY_TYPE (_tmp185_));
1861
 
                                                _tmp187_ = vala_data_type_get_data_type (_tmp186_);
1862
 
                                                _tmp188_ = vala_data_type_get_data_type (((ValaCCodeBaseModule*) self)->string_type);
1863
 
                                                if (_tmp187_ == _tmp188_) {
1864
 
                                                        gchar* _tmp189_;
1865
 
                                                        gchar* _tmp190_;
1866
 
                                                        _tmp189_ = g_strdup ("g_value_get_boxed");
1867
 
                                                        _tmp190_ = _tmp189_;
 
1851
                                                ValaDataType* _tmp176_ = NULL;
 
1852
                                                ValaDataType* _tmp177_ = NULL;
 
1853
                                                ValaTypeSymbol* _tmp178_ = NULL;
 
1854
                                                ValaTypeSymbol* _tmp179_ = NULL;
 
1855
                                                _tmp176_ = vala_variable_get_variable_type ((ValaVariable*) p);
 
1856
                                                _tmp177_ = vala_array_type_get_element_type (VALA_ARRAY_TYPE (_tmp176_));
 
1857
                                                _tmp178_ = vala_data_type_get_data_type (_tmp177_);
 
1858
                                                _tmp179_ = vala_data_type_get_data_type (((ValaCCodeBaseModule*) self)->string_type);
 
1859
                                                if (_tmp178_ == _tmp179_) {
 
1860
                                                        gchar* _tmp180_;
 
1861
                                                        _tmp180_ = g_strdup ("g_value_get_boxed");
1868
1862
                                                        _g_free0 (get_value_function);
1869
 
                                                        get_value_function = _tmp190_;
 
1863
                                                        get_value_function = _tmp180_;
1870
1864
                                                } else {
1871
 
                                                        gchar* _tmp191_;
1872
 
                                                        gchar* _tmp192_;
1873
 
                                                        _tmp191_ = g_strdup ("g_value_get_pointer");
1874
 
                                                        _tmp192_ = _tmp191_;
 
1865
                                                        gchar* _tmp181_;
 
1866
                                                        _tmp181_ = g_strdup ("g_value_get_pointer");
1875
1867
                                                        _g_free0 (get_value_function);
1876
 
                                                        get_value_function = _tmp192_;
 
1868
                                                        get_value_function = _tmp181_;
1877
1869
                                                }
1878
1870
                                        }
1879
1871
                                } else {
1880
 
                                        gboolean _tmp193_ = FALSE;
1881
 
                                        ValaDataType* _tmp194_ = NULL;
1882
 
                                        _tmp194_ = vala_variable_get_variable_type ((ValaVariable*) p);
1883
 
                                        if (VALA_IS_POINTER_TYPE (_tmp194_)) {
1884
 
                                                _tmp193_ = TRUE;
 
1872
                                        gboolean _tmp182_ = FALSE;
 
1873
                                        ValaDataType* _tmp183_ = NULL;
 
1874
                                        _tmp183_ = vala_variable_get_variable_type ((ValaVariable*) p);
 
1875
                                        if (VALA_IS_POINTER_TYPE (_tmp183_)) {
 
1876
                                                _tmp182_ = TRUE;
1885
1877
                                        } else {
1886
 
                                                ValaDataType* _tmp195_ = NULL;
1887
 
                                                ValaTypeParameter* _tmp196_ = NULL;
1888
 
                                                _tmp195_ = vala_variable_get_variable_type ((ValaVariable*) p);
1889
 
                                                _tmp196_ = vala_data_type_get_type_parameter (_tmp195_);
1890
 
                                                _tmp193_ = _tmp196_ != NULL;
 
1878
                                                ValaDataType* _tmp184_ = NULL;
 
1879
                                                ValaTypeParameter* _tmp185_ = NULL;
 
1880
                                                _tmp184_ = vala_variable_get_variable_type ((ValaVariable*) p);
 
1881
                                                _tmp185_ = vala_data_type_get_type_parameter (_tmp184_);
 
1882
                                                _tmp182_ = _tmp185_ != NULL;
1891
1883
                                        }
1892
 
                                        if (_tmp193_) {
1893
 
                                                gchar* _tmp197_;
1894
 
                                                gchar* _tmp198_;
1895
 
                                                _tmp197_ = g_strdup ("g_value_get_pointer");
1896
 
                                                _tmp198_ = _tmp197_;
 
1884
                                        if (_tmp182_) {
 
1885
                                                gchar* _tmp186_;
 
1886
                                                _tmp186_ = g_strdup ("g_value_get_pointer");
1897
1887
                                                _g_free0 (get_value_function);
1898
 
                                                get_value_function = _tmp198_;
 
1888
                                                get_value_function = _tmp186_;
1899
1889
                                        } else {
1900
 
                                                ValaDataType* _tmp199_ = NULL;
1901
 
                                                _tmp199_ = vala_variable_get_variable_type ((ValaVariable*) p);
1902
 
                                                if (VALA_IS_ERROR_TYPE (_tmp199_)) {
1903
 
                                                        gchar* _tmp200_;
1904
 
                                                        gchar* _tmp201_;
1905
 
                                                        _tmp200_ = g_strdup ("g_value_get_pointer");
1906
 
                                                        _tmp201_ = _tmp200_;
 
1890
                                                ValaDataType* _tmp187_ = NULL;
 
1891
                                                _tmp187_ = vala_variable_get_variable_type ((ValaVariable*) p);
 
1892
                                                if (VALA_IS_ERROR_TYPE (_tmp187_)) {
 
1893
                                                        gchar* _tmp188_;
 
1894
                                                        _tmp188_ = g_strdup ("g_value_get_pointer");
1907
1895
                                                        _g_free0 (get_value_function);
1908
 
                                                        get_value_function = _tmp201_;
 
1896
                                                        get_value_function = _tmp188_;
1909
1897
                                                } else {
1910
 
                                                        gboolean _tmp202_ = FALSE;
 
1898
                                                        gboolean _tmp189_ = FALSE;
1911
1899
                                                        if (dbus) {
1912
 
                                                                ValaDataType* _tmp203_ = NULL;
1913
 
                                                                gchar* _tmp204_ = NULL;
1914
 
                                                                gchar* _tmp205_;
1915
 
                                                                gboolean _tmp206_;
1916
 
                                                                _tmp203_ = vala_variable_get_variable_type ((ValaVariable*) p);
1917
 
                                                                _tmp204_ = vala_dbus_module_get_type_signature (_tmp203_);
1918
 
                                                                _tmp205_ = _tmp204_;
1919
 
                                                                _tmp206_ = g_str_has_prefix (_tmp205_, "(");
1920
 
                                                                _tmp202_ = _tmp206_;
1921
 
                                                                _g_free0 (_tmp205_);
 
1900
                                                                ValaDataType* _tmp190_ = NULL;
 
1901
                                                                gchar* _tmp191_ = NULL;
 
1902
                                                                gchar* _tmp192_;
 
1903
                                                                gboolean _tmp193_;
 
1904
                                                                _tmp190_ = vala_variable_get_variable_type ((ValaVariable*) p);
 
1905
                                                                _tmp191_ = vala_dbus_module_get_type_signature (_tmp190_);
 
1906
                                                                _tmp192_ = _tmp191_;
 
1907
                                                                _tmp193_ = g_str_has_prefix (_tmp192_, "(");
 
1908
                                                                _tmp189_ = _tmp193_;
 
1909
                                                                _g_free0 (_tmp192_);
1922
1910
                                                        } else {
1923
 
                                                                _tmp202_ = FALSE;
 
1911
                                                                _tmp189_ = FALSE;
1924
1912
                                                        }
1925
 
                                                        if (_tmp202_) {
1926
 
                                                                gchar* _tmp207_;
1927
 
                                                                gchar* _tmp208_;
1928
 
                                                                _tmp207_ = g_strdup ("g_value_get_boxed");
1929
 
                                                                _tmp208_ = _tmp207_;
 
1913
                                                        if (_tmp189_) {
 
1914
                                                                gchar* _tmp194_;
 
1915
                                                                _tmp194_ = g_strdup ("g_value_get_boxed");
1930
1916
                                                                _g_free0 (get_value_function);
1931
 
                                                                get_value_function = _tmp208_;
 
1917
                                                                get_value_function = _tmp194_;
1932
1918
                                                        } else {
1933
 
                                                                gboolean _tmp209_ = FALSE;
 
1919
                                                                gboolean _tmp195_ = FALSE;
1934
1920
                                                                if (dbus) {
1935
 
                                                                        ValaDataType* _tmp210_ = NULL;
1936
 
                                                                        ValaTypeSymbol* _tmp211_ = NULL;
1937
 
                                                                        _tmp210_ = vala_variable_get_variable_type ((ValaVariable*) p);
1938
 
                                                                        _tmp211_ = vala_data_type_get_data_type (_tmp210_);
1939
 
                                                                        _tmp209_ = VALA_IS_ENUM (_tmp211_);
 
1921
                                                                        ValaDataType* _tmp196_ = NULL;
 
1922
                                                                        ValaTypeSymbol* _tmp197_ = NULL;
 
1923
                                                                        _tmp196_ = vala_variable_get_variable_type ((ValaVariable*) p);
 
1924
                                                                        _tmp197_ = vala_data_type_get_data_type (_tmp196_);
 
1925
                                                                        _tmp195_ = VALA_IS_ENUM (_tmp197_);
1940
1926
                                                                } else {
1941
 
                                                                        _tmp209_ = FALSE;
 
1927
                                                                        _tmp195_ = FALSE;
1942
1928
                                                                }
1943
 
                                                                if (_tmp209_) {
1944
 
                                                                        ValaDataType* _tmp212_ = NULL;
1945
 
                                                                        ValaTypeSymbol* _tmp213_ = NULL;
1946
 
                                                                        ValaEnum* _tmp214_;
 
1929
                                                                if (_tmp195_) {
 
1930
                                                                        ValaDataType* _tmp198_ = NULL;
 
1931
                                                                        ValaTypeSymbol* _tmp199_ = NULL;
 
1932
                                                                        ValaEnum* _tmp200_;
1947
1933
                                                                        ValaEnum* en;
1948
 
                                                                        gboolean _tmp215_;
1949
 
                                                                        _tmp212_ = vala_variable_get_variable_type ((ValaVariable*) p);
1950
 
                                                                        _tmp213_ = vala_data_type_get_data_type (_tmp212_);
1951
 
                                                                        _tmp214_ = _vala_code_node_ref0 (VALA_ENUM (_tmp213_));
1952
 
                                                                        en = _tmp214_;
1953
 
                                                                        _tmp215_ = vala_enum_get_is_flags (en);
1954
 
                                                                        if (_tmp215_) {
1955
 
                                                                                gchar* _tmp216_;
1956
 
                                                                                gchar* _tmp217_;
1957
 
                                                                                _tmp216_ = g_strdup ("g_value_get_uint");
1958
 
                                                                                _tmp217_ = _tmp216_;
 
1934
                                                                        gboolean _tmp201_;
 
1935
                                                                        _tmp198_ = vala_variable_get_variable_type ((ValaVariable*) p);
 
1936
                                                                        _tmp199_ = vala_data_type_get_data_type (_tmp198_);
 
1937
                                                                        _tmp200_ = _vala_code_node_ref0 (VALA_ENUM (_tmp199_));
 
1938
                                                                        en = _tmp200_;
 
1939
                                                                        _tmp201_ = vala_enum_get_is_flags (en);
 
1940
                                                                        if (_tmp201_) {
 
1941
                                                                                gchar* _tmp202_;
 
1942
                                                                                _tmp202_ = g_strdup ("g_value_get_uint");
1959
1943
                                                                                _g_free0 (get_value_function);
1960
 
                                                                                get_value_function = _tmp217_;
 
1944
                                                                                get_value_function = _tmp202_;
1961
1945
                                                                        } else {
1962
 
                                                                                gchar* _tmp218_;
1963
 
                                                                                gchar* _tmp219_;
1964
 
                                                                                _tmp218_ = g_strdup ("g_value_get_int");
1965
 
                                                                                _tmp219_ = _tmp218_;
 
1946
                                                                                gchar* _tmp203_;
 
1947
                                                                                _tmp203_ = g_strdup ("g_value_get_int");
1966
1948
                                                                                _g_free0 (get_value_function);
1967
 
                                                                                get_value_function = _tmp219_;
 
1949
                                                                                get_value_function = _tmp203_;
1968
1950
                                                                        }
1969
1951
                                                                        _vala_code_node_unref0 (en);
1970
1952
                                                                } else {
1971
 
                                                                        ValaDataType* _tmp220_ = NULL;
1972
 
                                                                        ValaTypeSymbol* _tmp221_ = NULL;
1973
 
                                                                        gchar* _tmp222_ = NULL;
1974
 
                                                                        gchar* _tmp223_;
1975
 
                                                                        _tmp220_ = vala_variable_get_variable_type ((ValaVariable*) p);
1976
 
                                                                        _tmp221_ = vala_data_type_get_data_type (_tmp220_);
1977
 
                                                                        _tmp222_ = vala_typesymbol_get_get_value_function (_tmp221_);
1978
 
                                                                        _tmp223_ = _tmp222_;
 
1953
                                                                        ValaDataType* _tmp204_ = NULL;
 
1954
                                                                        ValaTypeSymbol* _tmp205_ = NULL;
 
1955
                                                                        gchar* _tmp206_ = NULL;
 
1956
                                                                        _tmp204_ = vala_variable_get_variable_type ((ValaVariable*) p);
 
1957
                                                                        _tmp205_ = vala_data_type_get_data_type (_tmp204_);
 
1958
                                                                        _tmp206_ = vala_typesymbol_get_get_value_function (_tmp205_);
1979
1959
                                                                        _g_free0 (get_value_function);
1980
 
                                                                        get_value_function = _tmp223_;
 
1960
                                                                        get_value_function = _tmp206_;
1981
1961
                                                                }
1982
1962
                                                        }
1983
1963
                                                }
1984
1964
                                        }
1985
1965
                                }
1986
1966
                        }
1987
 
                        _tmp224_ = vala_ccode_identifier_new (get_value_function);
1988
 
                        _tmp225_ = _tmp224_;
1989
 
                        _tmp226_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp225_);
1990
 
                        inner_fc = (_tmp227_ = _tmp226_, _vala_ccode_node_unref0 (_tmp225_), _tmp227_);
1991
 
                        _tmp228_ = vala_ccode_identifier_new ("param_values");
1992
 
                        _tmp229_ = _tmp228_;
1993
 
                        _tmp230_ = g_strdup_printf ("%i", i);
1994
 
                        _tmp231_ = _tmp230_;
1995
 
                        _tmp232_ = vala_ccode_identifier_new (_tmp231_);
1996
 
                        _tmp233_ = _tmp232_;
1997
 
                        _tmp234_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_PLUS, (ValaCCodeExpression*) _tmp229_, (ValaCCodeExpression*) _tmp233_);
1998
 
                        _tmp235_ = _tmp234_;
1999
 
                        vala_ccode_function_call_add_argument (inner_fc, (ValaCCodeExpression*) _tmp235_);
2000
 
                        _vala_ccode_node_unref0 (_tmp235_);
2001
 
                        _vala_ccode_node_unref0 (_tmp233_);
2002
 
                        _g_free0 (_tmp231_);
2003
 
                        _vala_ccode_node_unref0 (_tmp229_);
 
1967
                        _tmp207_ = vala_ccode_identifier_new (get_value_function);
 
1968
                        _tmp208_ = _tmp207_;
 
1969
                        _tmp209_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp208_);
 
1970
                        _tmp210_ = _tmp209_;
 
1971
                        _vala_ccode_node_unref0 (_tmp208_);
 
1972
                        inner_fc = _tmp210_;
 
1973
                        _tmp211_ = vala_ccode_identifier_new ("param_values");
 
1974
                        _tmp212_ = _tmp211_;
 
1975
                        _tmp213_ = g_strdup_printf ("%i", i);
 
1976
                        _tmp214_ = _tmp213_;
 
1977
                        _tmp215_ = vala_ccode_identifier_new (_tmp214_);
 
1978
                        _tmp216_ = _tmp215_;
 
1979
                        _tmp217_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_PLUS, (ValaCCodeExpression*) _tmp212_, (ValaCCodeExpression*) _tmp216_);
 
1980
                        _tmp218_ = _tmp217_;
 
1981
                        vala_ccode_function_call_add_argument (inner_fc, (ValaCCodeExpression*) _tmp218_);
 
1982
                        _vala_ccode_node_unref0 (_tmp218_);
 
1983
                        _vala_ccode_node_unref0 (_tmp216_);
 
1984
                        _g_free0 (_tmp214_);
 
1985
                        _vala_ccode_node_unref0 (_tmp212_);
2004
1986
                        vala_ccode_function_call_add_argument (fc, (ValaCCodeExpression*) inner_fc);
2005
1987
                        i++;
2006
1988
                        if (is_array) {
2007
 
                                _tmp236_ = !dbus;
 
1989
                                _tmp219_ = !dbus;
2008
1990
                        } else {
2009
 
                                _tmp236_ = FALSE;
 
1991
                                _tmp219_ = FALSE;
2010
1992
                        }
2011
 
                        if (_tmp236_) {
2012
 
                                ValaCCodeIdentifier* _tmp237_ = NULL;
2013
 
                                ValaCCodeIdentifier* _tmp238_;
2014
 
                                ValaCCodeFunctionCall* _tmp239_ = NULL;
2015
 
                                ValaCCodeFunctionCall* _tmp240_;
2016
 
                                ValaCCodeIdentifier* _tmp241_ = NULL;
2017
 
                                ValaCCodeIdentifier* _tmp242_;
2018
 
                                gchar* _tmp243_ = NULL;
2019
 
                                gchar* _tmp244_;
2020
 
                                ValaCCodeIdentifier* _tmp245_ = NULL;
2021
 
                                ValaCCodeIdentifier* _tmp246_;
2022
 
                                ValaCCodeBinaryExpression* _tmp247_ = NULL;
2023
 
                                ValaCCodeBinaryExpression* _tmp248_;
2024
 
                                _tmp237_ = vala_ccode_identifier_new ("g_value_get_int");
2025
 
                                _tmp238_ = _tmp237_;
2026
 
                                _tmp239_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp238_);
2027
 
                                _tmp240_ = _tmp239_;
 
1993
                        if (_tmp219_) {
 
1994
                                ValaCCodeIdentifier* _tmp220_ = NULL;
 
1995
                                ValaCCodeIdentifier* _tmp221_;
 
1996
                                ValaCCodeFunctionCall* _tmp222_ = NULL;
 
1997
                                ValaCCodeIdentifier* _tmp223_ = NULL;
 
1998
                                ValaCCodeIdentifier* _tmp224_;
 
1999
                                gchar* _tmp225_ = NULL;
 
2000
                                gchar* _tmp226_;
 
2001
                                ValaCCodeIdentifier* _tmp227_ = NULL;
 
2002
                                ValaCCodeIdentifier* _tmp228_;
 
2003
                                ValaCCodeBinaryExpression* _tmp229_ = NULL;
 
2004
                                ValaCCodeBinaryExpression* _tmp230_;
 
2005
                                _tmp220_ = vala_ccode_identifier_new ("g_value_get_int");
 
2006
                                _tmp221_ = _tmp220_;
 
2007
                                _tmp222_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp221_);
2028
2008
                                _vala_ccode_node_unref0 (inner_fc);
2029
 
                                inner_fc = _tmp240_;
2030
 
                                _vala_ccode_node_unref0 (_tmp238_);
2031
 
                                _tmp241_ = vala_ccode_identifier_new ("param_values");
2032
 
                                _tmp242_ = _tmp241_;
2033
 
                                _tmp243_ = g_strdup_printf ("%i", i);
2034
 
                                _tmp244_ = _tmp243_;
2035
 
                                _tmp245_ = vala_ccode_identifier_new (_tmp244_);
2036
 
                                _tmp246_ = _tmp245_;
2037
 
                                _tmp247_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_PLUS, (ValaCCodeExpression*) _tmp242_, (ValaCCodeExpression*) _tmp246_);
2038
 
                                _tmp248_ = _tmp247_;
2039
 
                                vala_ccode_function_call_add_argument (inner_fc, (ValaCCodeExpression*) _tmp248_);
2040
 
                                _vala_ccode_node_unref0 (_tmp248_);
2041
 
                                _vala_ccode_node_unref0 (_tmp246_);
2042
 
                                _g_free0 (_tmp244_);
2043
 
                                _vala_ccode_node_unref0 (_tmp242_);
 
2009
                                inner_fc = _tmp222_;
 
2010
                                _vala_ccode_node_unref0 (_tmp221_);
 
2011
                                _tmp223_ = vala_ccode_identifier_new ("param_values");
 
2012
                                _tmp224_ = _tmp223_;
 
2013
                                _tmp225_ = g_strdup_printf ("%i", i);
 
2014
                                _tmp226_ = _tmp225_;
 
2015
                                _tmp227_ = vala_ccode_identifier_new (_tmp226_);
 
2016
                                _tmp228_ = _tmp227_;
 
2017
                                _tmp229_ = vala_ccode_binary_expression_new (VALA_CCODE_BINARY_OPERATOR_PLUS, (ValaCCodeExpression*) _tmp224_, (ValaCCodeExpression*) _tmp228_);
 
2018
                                _tmp230_ = _tmp229_;
 
2019
                                vala_ccode_function_call_add_argument (inner_fc, (ValaCCodeExpression*) _tmp230_);
 
2020
                                _vala_ccode_node_unref0 (_tmp230_);
 
2021
                                _vala_ccode_node_unref0 (_tmp228_);
 
2022
                                _g_free0 (_tmp226_);
 
2023
                                _vala_ccode_node_unref0 (_tmp224_);
2044
2024
                                vala_ccode_function_call_add_argument (fc, (ValaCCodeExpression*) inner_fc);
2045
2025
                                i++;
2046
2026
                        }
2050
2030
                }
2051
2031
                _vala_iterable_unref0 (_p_list);
2052
2032
        }
2053
 
        _tmp249_ = vala_ccode_identifier_new ("data2");
2054
 
        _tmp250_ = _tmp249_;
2055
 
        vala_ccode_function_call_add_argument (fc, (ValaCCodeExpression*) _tmp250_);
2056
 
        _vala_ccode_node_unref0 (_tmp250_);
2057
 
        _tmp252_ = vala_data_type_get_data_type (return_type);
2058
 
        if (_tmp252_ != NULL) {
2059
 
                _tmp251_ = TRUE;
 
2033
        _tmp231_ = vala_ccode_identifier_new ("data2");
 
2034
        _tmp232_ = _tmp231_;
 
2035
        vala_ccode_function_call_add_argument (fc, (ValaCCodeExpression*) _tmp232_);
 
2036
        _vala_ccode_node_unref0 (_tmp232_);
 
2037
        _tmp234_ = vala_data_type_get_data_type (return_type);
 
2038
        if (_tmp234_ != NULL) {
 
2039
                _tmp233_ = TRUE;
2060
2040
        } else {
2061
 
                gboolean _tmp253_;
2062
 
                _tmp253_ = vala_data_type_is_array (return_type);
2063
 
                _tmp251_ = _tmp253_;
 
2041
                gboolean _tmp235_;
 
2042
                _tmp235_ = vala_data_type_is_array (return_type);
 
2043
                _tmp233_ = _tmp235_;
2064
2044
        }
2065
 
        if (_tmp251_) {
2066
 
                ValaCCodeIdentifier* _tmp254_ = NULL;
2067
 
                ValaCCodeIdentifier* _tmp255_;
2068
 
                ValaCCodeAssignment* _tmp256_ = NULL;
2069
 
                ValaCCodeAssignment* _tmp257_;
2070
 
                ValaCCodeExpressionStatement* _tmp258_ = NULL;
2071
 
                ValaCCodeExpressionStatement* _tmp259_;
 
2045
        if (_tmp233_) {
 
2046
                ValaCCodeIdentifier* _tmp236_ = NULL;
 
2047
                ValaCCodeIdentifier* _tmp237_;
 
2048
                ValaCCodeAssignment* _tmp238_ = NULL;
 
2049
                ValaCCodeAssignment* _tmp239_;
 
2050
                ValaCCodeExpressionStatement* _tmp240_ = NULL;
 
2051
                ValaCCodeExpressionStatement* _tmp241_;
2072
2052
                ValaCCodeFunctionCall* set_fc = NULL;
2073
 
                gboolean _tmp260_;
2074
 
                ValaCCodeIdentifier* _tmp326_ = NULL;
2075
 
                ValaCCodeIdentifier* _tmp327_;
2076
 
                ValaCCodeIdentifier* _tmp328_ = NULL;
2077
 
                ValaCCodeIdentifier* _tmp329_;
2078
 
                ValaCCodeExpressionStatement* _tmp330_ = NULL;
2079
 
                ValaCCodeExpressionStatement* _tmp331_;
2080
 
                _tmp254_ = vala_ccode_identifier_new ("v_return");
2081
 
                _tmp255_ = _tmp254_;
2082
 
                _tmp256_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp255_, (ValaCCodeExpression*) fc, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
2083
 
                _tmp257_ = _tmp256_;
2084
 
                _tmp258_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp257_);
2085
 
                _tmp259_ = _tmp258_;
2086
 
                vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp259_);
2087
 
                _vala_ccode_node_unref0 (_tmp259_);
2088
 
                _vala_ccode_node_unref0 (_tmp257_);
2089
 
                _vala_ccode_node_unref0 (_tmp255_);
2090
 
                _tmp260_ = vala_data_type_is_array (return_type);
2091
 
                if (_tmp260_) {
 
2053
                gboolean _tmp242_;
 
2054
                ValaCCodeIdentifier* _tmp297_ = NULL;
 
2055
                ValaCCodeIdentifier* _tmp298_;
 
2056
                ValaCCodeIdentifier* _tmp299_ = NULL;
 
2057
                ValaCCodeIdentifier* _tmp300_;
 
2058
                ValaCCodeExpressionStatement* _tmp301_ = NULL;
 
2059
                ValaCCodeExpressionStatement* _tmp302_;
 
2060
                _tmp236_ = vala_ccode_identifier_new ("v_return");
 
2061
                _tmp237_ = _tmp236_;
 
2062
                _tmp238_ = vala_ccode_assignment_new ((ValaCCodeExpression*) _tmp237_, (ValaCCodeExpression*) fc, VALA_CCODE_ASSIGNMENT_OPERATOR_SIMPLE);
 
2063
                _tmp239_ = _tmp238_;
 
2064
                _tmp240_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) _tmp239_);
 
2065
                _tmp241_ = _tmp240_;
 
2066
                vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp241_);
 
2067
                _vala_ccode_node_unref0 (_tmp241_);
 
2068
                _vala_ccode_node_unref0 (_tmp239_);
 
2069
                _vala_ccode_node_unref0 (_tmp237_);
 
2070
                _tmp242_ = vala_data_type_is_array (return_type);
 
2071
                if (_tmp242_) {
2092
2072
                        if (dbus) {
2093
 
                                ValaCCodeIdentifier* _tmp261_ = NULL;
2094
 
                                ValaCCodeIdentifier* _tmp262_;
2095
 
                                ValaCCodeFunctionCall* _tmp263_ = NULL;
2096
 
                                ValaCCodeFunctionCall* _tmp264_;
2097
 
                                _tmp261_ = vala_ccode_identifier_new ("g_value_take_boxed");
2098
 
                                _tmp262_ = _tmp261_;
2099
 
                                _tmp263_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp262_);
2100
 
                                _tmp264_ = _tmp263_;
 
2073
                                ValaCCodeIdentifier* _tmp243_ = NULL;
 
2074
                                ValaCCodeIdentifier* _tmp244_;
 
2075
                                ValaCCodeFunctionCall* _tmp245_ = NULL;
 
2076
                                _tmp243_ = vala_ccode_identifier_new ("g_value_take_boxed");
 
2077
                                _tmp244_ = _tmp243_;
 
2078
                                _tmp245_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp244_);
2101
2079
                                _vala_ccode_node_unref0 (set_fc);
2102
 
                                set_fc = _tmp264_;
2103
 
                                _vala_ccode_node_unref0 (_tmp262_);
 
2080
                                set_fc = _tmp245_;
 
2081
                                _vala_ccode_node_unref0 (_tmp244_);
2104
2082
                        } else {
2105
 
                                ValaDataType* _tmp265_ = NULL;
2106
 
                                ValaTypeSymbol* _tmp266_ = NULL;
2107
 
                                ValaTypeSymbol* _tmp267_ = NULL;
2108
 
                                _tmp265_ = vala_array_type_get_element_type (VALA_ARRAY_TYPE (return_type));
2109
 
                                _tmp266_ = vala_data_type_get_data_type (_tmp265_);
2110
 
                                _tmp267_ = vala_data_type_get_data_type (((ValaCCodeBaseModule*) self)->string_type);
2111
 
                                if (_tmp266_ == _tmp267_) {
2112
 
                                        ValaCCodeIdentifier* _tmp268_ = NULL;
2113
 
                                        ValaCCodeIdentifier* _tmp269_;
2114
 
                                        ValaCCodeFunctionCall* _tmp270_ = NULL;
2115
 
                                        ValaCCodeFunctionCall* _tmp271_;
2116
 
                                        _tmp268_ = vala_ccode_identifier_new ("g_value_take_boxed");
2117
 
                                        _tmp269_ = _tmp268_;
2118
 
                                        _tmp270_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp269_);
2119
 
                                        _tmp271_ = _tmp270_;
 
2083
                                ValaDataType* _tmp246_ = NULL;
 
2084
                                ValaTypeSymbol* _tmp247_ = NULL;
 
2085
                                ValaTypeSymbol* _tmp248_ = NULL;
 
2086
                                _tmp246_ = vala_array_type_get_element_type (VALA_ARRAY_TYPE (return_type));
 
2087
                                _tmp247_ = vala_data_type_get_data_type (_tmp246_);
 
2088
                                _tmp248_ = vala_data_type_get_data_type (((ValaCCodeBaseModule*) self)->string_type);
 
2089
                                if (_tmp247_ == _tmp248_) {
 
2090
                                        ValaCCodeIdentifier* _tmp249_ = NULL;
 
2091
                                        ValaCCodeIdentifier* _tmp250_;
 
2092
                                        ValaCCodeFunctionCall* _tmp251_ = NULL;
 
2093
                                        _tmp249_ = vala_ccode_identifier_new ("g_value_take_boxed");
 
2094
                                        _tmp250_ = _tmp249_;
 
2095
                                        _tmp251_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp250_);
2120
2096
                                        _vala_ccode_node_unref0 (set_fc);
2121
 
                                        set_fc = _tmp271_;
2122
 
                                        _vala_ccode_node_unref0 (_tmp269_);
 
2097
                                        set_fc = _tmp251_;
 
2098
                                        _vala_ccode_node_unref0 (_tmp250_);
2123
2099
                                } else {
2124
 
                                        ValaCCodeIdentifier* _tmp272_ = NULL;
2125
 
                                        ValaCCodeIdentifier* _tmp273_;
2126
 
                                        ValaCCodeFunctionCall* _tmp274_ = NULL;
2127
 
                                        ValaCCodeFunctionCall* _tmp275_;
2128
 
                                        _tmp272_ = vala_ccode_identifier_new ("g_value_set_pointer");
2129
 
                                        _tmp273_ = _tmp272_;
2130
 
                                        _tmp274_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp273_);
2131
 
                                        _tmp275_ = _tmp274_;
 
2100
                                        ValaCCodeIdentifier* _tmp252_ = NULL;
 
2101
                                        ValaCCodeIdentifier* _tmp253_;
 
2102
                                        ValaCCodeFunctionCall* _tmp254_ = NULL;
 
2103
                                        _tmp252_ = vala_ccode_identifier_new ("g_value_set_pointer");
 
2104
                                        _tmp253_ = _tmp252_;
 
2105
                                        _tmp254_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp253_);
2132
2106
                                        _vala_ccode_node_unref0 (set_fc);
2133
 
                                        set_fc = _tmp275_;
2134
 
                                        _vala_ccode_node_unref0 (_tmp273_);
 
2107
                                        set_fc = _tmp254_;
 
2108
                                        _vala_ccode_node_unref0 (_tmp253_);
2135
2109
                                }
2136
2110
                        }
2137
2111
                } else {
2138
 
                        ValaTypeParameter* _tmp276_ = NULL;
2139
 
                        _tmp276_ = vala_data_type_get_type_parameter (return_type);
2140
 
                        if (_tmp276_ != NULL) {
2141
 
                                ValaCCodeIdentifier* _tmp277_ = NULL;
2142
 
                                ValaCCodeIdentifier* _tmp278_;
2143
 
                                ValaCCodeFunctionCall* _tmp279_ = NULL;
2144
 
                                ValaCCodeFunctionCall* _tmp280_;
2145
 
                                _tmp277_ = vala_ccode_identifier_new ("g_value_set_pointer");
2146
 
                                _tmp278_ = _tmp277_;
2147
 
                                _tmp279_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp278_);
2148
 
                                _tmp280_ = _tmp279_;
 
2112
                        ValaTypeParameter* _tmp255_ = NULL;
 
2113
                        _tmp255_ = vala_data_type_get_type_parameter (return_type);
 
2114
                        if (_tmp255_ != NULL) {
 
2115
                                ValaCCodeIdentifier* _tmp256_ = NULL;
 
2116
                                ValaCCodeIdentifier* _tmp257_;
 
2117
                                ValaCCodeFunctionCall* _tmp258_ = NULL;
 
2118
                                _tmp256_ = vala_ccode_identifier_new ("g_value_set_pointer");
 
2119
                                _tmp257_ = _tmp256_;
 
2120
                                _tmp258_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp257_);
2149
2121
                                _vala_ccode_node_unref0 (set_fc);
2150
 
                                set_fc = _tmp280_;
2151
 
                                _vala_ccode_node_unref0 (_tmp278_);
 
2122
                                set_fc = _tmp258_;
 
2123
                                _vala_ccode_node_unref0 (_tmp257_);
2152
2124
                        } else {
2153
2125
                                if (VALA_IS_ERROR_TYPE (return_type)) {
2154
 
                                        ValaCCodeIdentifier* _tmp281_ = NULL;
2155
 
                                        ValaCCodeIdentifier* _tmp282_;
2156
 
                                        ValaCCodeFunctionCall* _tmp283_ = NULL;
2157
 
                                        ValaCCodeFunctionCall* _tmp284_;
2158
 
                                        _tmp281_ = vala_ccode_identifier_new ("g_value_set_pointer");
2159
 
                                        _tmp282_ = _tmp281_;
2160
 
                                        _tmp283_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp282_);
2161
 
                                        _tmp284_ = _tmp283_;
 
2126
                                        ValaCCodeIdentifier* _tmp259_ = NULL;
 
2127
                                        ValaCCodeIdentifier* _tmp260_;
 
2128
                                        ValaCCodeFunctionCall* _tmp261_ = NULL;
 
2129
                                        _tmp259_ = vala_ccode_identifier_new ("g_value_set_pointer");
 
2130
                                        _tmp260_ = _tmp259_;
 
2131
                                        _tmp261_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp260_);
2162
2132
                                        _vala_ccode_node_unref0 (set_fc);
2163
 
                                        set_fc = _tmp284_;
2164
 
                                        _vala_ccode_node_unref0 (_tmp282_);
 
2133
                                        set_fc = _tmp261_;
 
2134
                                        _vala_ccode_node_unref0 (_tmp260_);
2165
2135
                                } else {
2166
 
                                        ValaTypeSymbol* _tmp285_ = NULL;
2167
 
                                        ValaTypeSymbol* _tmp286_ = NULL;
2168
 
                                        _tmp285_ = vala_data_type_get_data_type (return_type);
2169
 
                                        _tmp286_ = vala_data_type_get_data_type (((ValaCCodeBaseModule*) self)->string_type);
2170
 
                                        if (_tmp285_ == _tmp286_) {
2171
 
                                                ValaCCodeIdentifier* _tmp287_ = NULL;
2172
 
                                                ValaCCodeIdentifier* _tmp288_;
2173
 
                                                ValaCCodeFunctionCall* _tmp289_ = NULL;
2174
 
                                                ValaCCodeFunctionCall* _tmp290_;
2175
 
                                                _tmp287_ = vala_ccode_identifier_new ("g_value_take_string");
2176
 
                                                _tmp288_ = _tmp287_;
2177
 
                                                _tmp289_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp288_);
2178
 
                                                _tmp290_ = _tmp289_;
 
2136
                                        ValaTypeSymbol* _tmp262_ = NULL;
 
2137
                                        ValaTypeSymbol* _tmp263_ = NULL;
 
2138
                                        _tmp262_ = vala_data_type_get_data_type (return_type);
 
2139
                                        _tmp263_ = vala_data_type_get_data_type (((ValaCCodeBaseModule*) self)->string_type);
 
2140
                                        if (_tmp262_ == _tmp263_) {
 
2141
                                                ValaCCodeIdentifier* _tmp264_ = NULL;
 
2142
                                                ValaCCodeIdentifier* _tmp265_;
 
2143
                                                ValaCCodeFunctionCall* _tmp266_ = NULL;
 
2144
                                                _tmp264_ = vala_ccode_identifier_new ("g_value_take_string");
 
2145
                                                _tmp265_ = _tmp264_;
 
2146
                                                _tmp266_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp265_);
2179
2147
                                                _vala_ccode_node_unref0 (set_fc);
2180
 
                                                set_fc = _tmp290_;
2181
 
                                                _vala_ccode_node_unref0 (_tmp288_);
 
2148
                                                set_fc = _tmp266_;
 
2149
                                                _vala_ccode_node_unref0 (_tmp265_);
2182
2150
                                        } else {
2183
 
                                                gboolean _tmp291_ = FALSE;
2184
 
                                                ValaTypeSymbol* _tmp292_ = NULL;
2185
 
                                                _tmp292_ = vala_data_type_get_data_type (return_type);
2186
 
                                                if (VALA_IS_CLASS (_tmp292_)) {
2187
 
                                                        _tmp291_ = TRUE;
 
2151
                                                gboolean _tmp267_ = FALSE;
 
2152
                                                ValaTypeSymbol* _tmp268_ = NULL;
 
2153
                                                _tmp268_ = vala_data_type_get_data_type (return_type);
 
2154
                                                if (VALA_IS_CLASS (_tmp268_)) {
 
2155
                                                        _tmp267_ = TRUE;
2188
2156
                                                } else {
2189
 
                                                        ValaTypeSymbol* _tmp293_ = NULL;
2190
 
                                                        _tmp293_ = vala_data_type_get_data_type (return_type);
2191
 
                                                        _tmp291_ = VALA_IS_INTERFACE (_tmp293_);
 
2157
                                                        ValaTypeSymbol* _tmp269_ = NULL;
 
2158
                                                        _tmp269_ = vala_data_type_get_data_type (return_type);
 
2159
                                                        _tmp267_ = VALA_IS_INTERFACE (_tmp269_);
2192
2160
                                                }
2193
 
                                                if (_tmp291_) {
2194
 
                                                        ValaCCodeIdentifier* _tmp294_ = NULL;
2195
 
                                                        ValaCCodeIdentifier* _tmp295_;
2196
 
                                                        ValaCCodeFunctionCall* _tmp296_ = NULL;
2197
 
                                                        ValaCCodeFunctionCall* _tmp297_;
2198
 
                                                        _tmp294_ = vala_ccode_identifier_new ("g_value_take_object");
2199
 
                                                        _tmp295_ = _tmp294_;
2200
 
                                                        _tmp296_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp295_);
2201
 
                                                        _tmp297_ = _tmp296_;
 
2161
                                                if (_tmp267_) {
 
2162
                                                        ValaCCodeIdentifier* _tmp270_ = NULL;
 
2163
                                                        ValaCCodeIdentifier* _tmp271_;
 
2164
                                                        ValaCCodeFunctionCall* _tmp272_ = NULL;
 
2165
                                                        _tmp270_ = vala_ccode_identifier_new ("g_value_take_object");
 
2166
                                                        _tmp271_ = _tmp270_;
 
2167
                                                        _tmp272_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp271_);
2202
2168
                                                        _vala_ccode_node_unref0 (set_fc);
2203
 
                                                        set_fc = _tmp297_;
2204
 
                                                        _vala_ccode_node_unref0 (_tmp295_);
 
2169
                                                        set_fc = _tmp272_;
 
2170
                                                        _vala_ccode_node_unref0 (_tmp271_);
2205
2171
                                                } else {
2206
 
                                                        gboolean _tmp298_ = FALSE;
 
2172
                                                        gboolean _tmp273_ = FALSE;
2207
2173
                                                        if (dbus) {
2208
 
                                                                gchar* _tmp299_ = NULL;
2209
 
                                                                gchar* _tmp300_;
2210
 
                                                                gboolean _tmp301_;
2211
 
                                                                _tmp299_ = vala_dbus_module_get_type_signature (return_type);
2212
 
                                                                _tmp300_ = _tmp299_;
2213
 
                                                                _tmp301_ = g_str_has_prefix (_tmp300_, "(");
2214
 
                                                                _tmp298_ = _tmp301_;
2215
 
                                                                _g_free0 (_tmp300_);
 
2174
                                                                gchar* _tmp274_ = NULL;
 
2175
                                                                gchar* _tmp275_;
 
2176
                                                                gboolean _tmp276_;
 
2177
                                                                _tmp274_ = vala_dbus_module_get_type_signature (return_type);
 
2178
                                                                _tmp275_ = _tmp274_;
 
2179
                                                                _tmp276_ = g_str_has_prefix (_tmp275_, "(");
 
2180
                                                                _tmp273_ = _tmp276_;
 
2181
                                                                _g_free0 (_tmp275_);
2216
2182
                                                        } else {
2217
 
                                                                _tmp298_ = FALSE;
 
2183
                                                                _tmp273_ = FALSE;
2218
2184
                                                        }
2219
 
                                                        if (_tmp298_) {
2220
 
                                                                ValaCCodeIdentifier* _tmp302_ = NULL;
2221
 
                                                                ValaCCodeIdentifier* _tmp303_;
2222
 
                                                                ValaCCodeFunctionCall* _tmp304_ = NULL;
2223
 
                                                                ValaCCodeFunctionCall* _tmp305_;
2224
 
                                                                _tmp302_ = vala_ccode_identifier_new ("g_value_take_boxed");
2225
 
                                                                _tmp303_ = _tmp302_;
2226
 
                                                                _tmp304_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp303_);
2227
 
                                                                _tmp305_ = _tmp304_;
 
2185
                                                        if (_tmp273_) {
 
2186
                                                                ValaCCodeIdentifier* _tmp277_ = NULL;
 
2187
                                                                ValaCCodeIdentifier* _tmp278_;
 
2188
                                                                ValaCCodeFunctionCall* _tmp279_ = NULL;
 
2189
                                                                _tmp277_ = vala_ccode_identifier_new ("g_value_take_boxed");
 
2190
                                                                _tmp278_ = _tmp277_;
 
2191
                                                                _tmp279_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp278_);
2228
2192
                                                                _vala_ccode_node_unref0 (set_fc);
2229
 
                                                                set_fc = _tmp305_;
2230
 
                                                                _vala_ccode_node_unref0 (_tmp303_);
 
2193
                                                                set_fc = _tmp279_;
 
2194
                                                                _vala_ccode_node_unref0 (_tmp278_);
2231
2195
                                                        } else {
2232
 
                                                                gboolean _tmp306_ = FALSE;
 
2196
                                                                gboolean _tmp280_ = FALSE;
2233
2197
                                                                if (dbus) {
2234
 
                                                                        ValaTypeSymbol* _tmp307_ = NULL;
2235
 
                                                                        _tmp307_ = vala_data_type_get_data_type (return_type);
2236
 
                                                                        _tmp306_ = VALA_IS_ENUM (_tmp307_);
 
2198
                                                                        ValaTypeSymbol* _tmp281_ = NULL;
 
2199
                                                                        _tmp281_ = vala_data_type_get_data_type (return_type);
 
2200
                                                                        _tmp280_ = VALA_IS_ENUM (_tmp281_);
2237
2201
                                                                } else {
2238
 
                                                                        _tmp306_ = FALSE;
 
2202
                                                                        _tmp280_ = FALSE;
2239
2203
                                                                }
2240
 
                                                                if (_tmp306_) {
2241
 
                                                                        ValaTypeSymbol* _tmp308_ = NULL;
2242
 
                                                                        ValaEnum* _tmp309_;
 
2204
                                                                if (_tmp280_) {
 
2205
                                                                        ValaTypeSymbol* _tmp282_ = NULL;
 
2206
                                                                        ValaEnum* _tmp283_;
2243
2207
                                                                        ValaEnum* en;
2244
 
                                                                        gboolean _tmp310_;
2245
 
                                                                        _tmp308_ = vala_data_type_get_data_type (return_type);
2246
 
                                                                        _tmp309_ = _vala_code_node_ref0 (VALA_ENUM (_tmp308_));
2247
 
                                                                        en = _tmp309_;
2248
 
                                                                        _tmp310_ = vala_enum_get_is_flags (en);
2249
 
                                                                        if (_tmp310_) {
2250
 
                                                                                ValaCCodeIdentifier* _tmp311_ = NULL;
2251
 
                                                                                ValaCCodeIdentifier* _tmp312_;
2252
 
                                                                                ValaCCodeFunctionCall* _tmp313_ = NULL;
2253
 
                                                                                ValaCCodeFunctionCall* _tmp314_;
2254
 
                                                                                _tmp311_ = vala_ccode_identifier_new ("g_value_set_uint");
2255
 
                                                                                _tmp312_ = _tmp311_;
2256
 
                                                                                _tmp313_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp312_);
2257
 
                                                                                _tmp314_ = _tmp313_;
 
2208
                                                                        gboolean _tmp284_;
 
2209
                                                                        _tmp282_ = vala_data_type_get_data_type (return_type);
 
2210
                                                                        _tmp283_ = _vala_code_node_ref0 (VALA_ENUM (_tmp282_));
 
2211
                                                                        en = _tmp283_;
 
2212
                                                                        _tmp284_ = vala_enum_get_is_flags (en);
 
2213
                                                                        if (_tmp284_) {
 
2214
                                                                                ValaCCodeIdentifier* _tmp285_ = NULL;
 
2215
                                                                                ValaCCodeIdentifier* _tmp286_;
 
2216
                                                                                ValaCCodeFunctionCall* _tmp287_ = NULL;
 
2217
                                                                                _tmp285_ = vala_ccode_identifier_new ("g_value_set_uint");
 
2218
                                                                                _tmp286_ = _tmp285_;
 
2219
                                                                                _tmp287_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp286_);
2258
2220
                                                                                _vala_ccode_node_unref0 (set_fc);
2259
 
                                                                                set_fc = _tmp314_;
2260
 
                                                                                _vala_ccode_node_unref0 (_tmp312_);
 
2221
                                                                                set_fc = _tmp287_;
 
2222
                                                                                _vala_ccode_node_unref0 (_tmp286_);
2261
2223
                                                                        } else {
2262
 
                                                                                ValaCCodeIdentifier* _tmp315_ = NULL;
2263
 
                                                                                ValaCCodeIdentifier* _tmp316_;
2264
 
                                                                                ValaCCodeFunctionCall* _tmp317_ = NULL;
2265
 
                                                                                ValaCCodeFunctionCall* _tmp318_;
2266
 
                                                                                _tmp315_ = vala_ccode_identifier_new ("g_value_set_int");
2267
 
                                                                                _tmp316_ = _tmp315_;
2268
 
                                                                                _tmp317_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp316_);
2269
 
                                                                                _tmp318_ = _tmp317_;
 
2224
                                                                                ValaCCodeIdentifier* _tmp288_ = NULL;
 
2225
                                                                                ValaCCodeIdentifier* _tmp289_;
 
2226
                                                                                ValaCCodeFunctionCall* _tmp290_ = NULL;
 
2227
                                                                                _tmp288_ = vala_ccode_identifier_new ("g_value_set_int");
 
2228
                                                                                _tmp289_ = _tmp288_;
 
2229
                                                                                _tmp290_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp289_);
2270
2230
                                                                                _vala_ccode_node_unref0 (set_fc);
2271
 
                                                                                set_fc = _tmp318_;
2272
 
                                                                                _vala_ccode_node_unref0 (_tmp316_);
 
2231
                                                                                set_fc = _tmp290_;
 
2232
                                                                                _vala_ccode_node_unref0 (_tmp289_);
2273
2233
                                                                        }
2274
2234
                                                                        _vala_code_node_unref0 (en);
2275
2235
                                                                } else {
2276
 
                                                                        ValaTypeSymbol* _tmp319_ = NULL;
2277
 
                                                                        gchar* _tmp320_ = NULL;
2278
 
                                                                        gchar* _tmp321_;
2279
 
                                                                        ValaCCodeIdentifier* _tmp322_ = NULL;
2280
 
                                                                        ValaCCodeIdentifier* _tmp323_;
2281
 
                                                                        ValaCCodeFunctionCall* _tmp324_ = NULL;
2282
 
                                                                        ValaCCodeFunctionCall* _tmp325_;
2283
 
                                                                        _tmp319_ = vala_data_type_get_data_type (return_type);
2284
 
                                                                        _tmp320_ = vala_typesymbol_get_set_value_function (_tmp319_);
2285
 
                                                                        _tmp321_ = _tmp320_;
2286
 
                                                                        _tmp322_ = vala_ccode_identifier_new (_tmp321_);
2287
 
                                                                        _tmp323_ = _tmp322_;
2288
 
                                                                        _tmp324_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp323_);
2289
 
                                                                        _tmp325_ = _tmp324_;
 
2236
                                                                        ValaTypeSymbol* _tmp291_ = NULL;
 
2237
                                                                        gchar* _tmp292_ = NULL;
 
2238
                                                                        gchar* _tmp293_;
 
2239
                                                                        ValaCCodeIdentifier* _tmp294_ = NULL;
 
2240
                                                                        ValaCCodeIdentifier* _tmp295_;
 
2241
                                                                        ValaCCodeFunctionCall* _tmp296_ = NULL;
 
2242
                                                                        _tmp291_ = vala_data_type_get_data_type (return_type);
 
2243
                                                                        _tmp292_ = vala_typesymbol_get_set_value_function (_tmp291_);
 
2244
                                                                        _tmp293_ = _tmp292_;
 
2245
                                                                        _tmp294_ = vala_ccode_identifier_new (_tmp293_);
 
2246
                                                                        _tmp295_ = _tmp294_;
 
2247
                                                                        _tmp296_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp295_);
2290
2248
                                                                        _vala_ccode_node_unref0 (set_fc);
2291
 
                                                                        set_fc = _tmp325_;
2292
 
                                                                        _vala_ccode_node_unref0 (_tmp323_);
2293
 
                                                                        _g_free0 (_tmp321_);
 
2249
                                                                        set_fc = _tmp296_;
 
2250
                                                                        _vala_ccode_node_unref0 (_tmp295_);
 
2251
                                                                        _g_free0 (_tmp293_);
2294
2252
                                                                }
2295
2253
                                                        }
2296
2254
                                                }
2298
2256
                                }
2299
2257
                        }
2300
2258
                }
2301
 
                _tmp326_ = vala_ccode_identifier_new ("return_value");
2302
 
                _tmp327_ = _tmp326_;
2303
 
                vala_ccode_function_call_add_argument (set_fc, (ValaCCodeExpression*) _tmp327_);
2304
 
                _vala_ccode_node_unref0 (_tmp327_);
2305
 
                _tmp328_ = vala_ccode_identifier_new ("v_return");
2306
 
                _tmp329_ = _tmp328_;
2307
 
                vala_ccode_function_call_add_argument (set_fc, (ValaCCodeExpression*) _tmp329_);
2308
 
                _vala_ccode_node_unref0 (_tmp329_);
2309
 
                _tmp330_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) set_fc);
2310
 
                _tmp331_ = _tmp330_;
2311
 
                vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp331_);
2312
 
                _vala_ccode_node_unref0 (_tmp331_);
 
2259
                _tmp297_ = vala_ccode_identifier_new ("return_value");
 
2260
                _tmp298_ = _tmp297_;
 
2261
                vala_ccode_function_call_add_argument (set_fc, (ValaCCodeExpression*) _tmp298_);
 
2262
                _vala_ccode_node_unref0 (_tmp298_);
 
2263
                _tmp299_ = vala_ccode_identifier_new ("v_return");
 
2264
                _tmp300_ = _tmp299_;
 
2265
                vala_ccode_function_call_add_argument (set_fc, (ValaCCodeExpression*) _tmp300_);
 
2266
                _vala_ccode_node_unref0 (_tmp300_);
 
2267
                _tmp301_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) set_fc);
 
2268
                _tmp302_ = _tmp301_;
 
2269
                vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp302_);
 
2270
                _vala_ccode_node_unref0 (_tmp302_);
2313
2271
                _vala_ccode_node_unref0 (set_fc);
2314
2272
        } else {
2315
 
                ValaCCodeExpressionStatement* _tmp332_ = NULL;
2316
 
                ValaCCodeExpressionStatement* _tmp333_;
2317
 
                _tmp332_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) fc);
2318
 
                _tmp333_ = _tmp332_;
2319
 
                vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp333_);
2320
 
                _vala_ccode_node_unref0 (_tmp333_);
 
2273
                ValaCCodeExpressionStatement* _tmp303_ = NULL;
 
2274
                ValaCCodeExpressionStatement* _tmp304_;
 
2275
                _tmp303_ = vala_ccode_expression_statement_new ((ValaCCodeExpression*) fc);
 
2276
                _tmp304_ = _tmp303_;
 
2277
                vala_ccode_block_add_statement (marshaller_body, (ValaCCodeNode*) _tmp304_);
 
2278
                _vala_ccode_node_unref0 (_tmp304_);
2321
2279
        }
2322
2280
        vala_ccode_function_set_block (signal_marshaller, marshaller_body);
2323
2281
        vala_ccode_file_add_function (((ValaCCodeBaseModule*) self)->cfile, signal_marshaller);
2470
2428
        _tmp0_ = vala_ccode_identifier_new ("g_signal_new");
2471
2429
        _tmp1_ = _tmp0_;
2472
2430
        _tmp2_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp1_);
2473
 
        csignew = (_tmp3_ = _tmp2_, _vala_ccode_node_unref0 (_tmp1_), _tmp3_);
 
2431
        _tmp3_ = _tmp2_;
 
2432
        _vala_ccode_node_unref0 (_tmp1_);
 
2433
        csignew = _tmp3_;
2474
2434
        _tmp4_ = vala_symbol_get_parent_symbol ((ValaSymbol*) sig);
2475
 
        _tmp6_ = _vala_code_node_ref0 ((_tmp5_ = _tmp4_, VALA_IS_CLASS (_tmp5_) ? ((ValaClass*) _tmp5_) : NULL));
 
2435
        _tmp5_ = _tmp4_;
 
2436
        _tmp6_ = _vala_code_node_ref0 (VALA_IS_CLASS (_tmp5_) ? ((ValaClass*) _tmp5_) : NULL);
2476
2437
        cl = _tmp6_;
2477
2438
        _tmp7_ = vala_signal_get_cname (sig);
2478
2439
        _tmp8_ = _tmp7_;
2571
2532
                _tmp38_ = vala_ccode_identifier_new ("G_STRUCT_OFFSET");
2572
2533
                _tmp39_ = _tmp38_;
2573
2534
                _tmp40_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp39_);
2574
 
                struct_offset = (_tmp41_ = _tmp40_, _vala_ccode_node_unref0 (_tmp39_), _tmp41_);
 
2535
                _tmp41_ = _tmp40_;
 
2536
                _vala_ccode_node_unref0 (_tmp39_);
 
2537
                struct_offset = _tmp41_;
2575
2538
                _tmp42_ = vala_typesymbol_get_cname ((ValaTypeSymbol*) cl, FALSE);
2576
2539
                _tmp43_ = _tmp42_;
2577
2540
                _tmp44_ = g_strdup_printf ("%sClass", _tmp43_);
2603
2566
        _tmp57_ = _tmp56_;
2604
2567
        _tmp58_ = vala_signal_get_return_type (sig);
2605
2568
        _tmp59_ = vala_ccode_base_module_get_marshaller_function ((ValaCCodeBaseModule*) self, _tmp57_, _tmp58_, NULL, FALSE);
2606
 
        marshaller = (_tmp60_ = _tmp59_, _vala_iterable_unref0 (_tmp57_), _tmp60_);
 
2569
        _tmp60_ = _tmp59_;
 
2570
        _vala_iterable_unref0 (_tmp57_);
 
2571
        marshaller = _tmp60_;
2607
2572
        _tmp61_ = vala_ccode_identifier_new (marshaller);
2608
2573
        marshal_arg = _tmp61_;
2609
2574
        vala_ccode_function_call_add_argument (csignew, (ValaCCodeExpression*) marshal_arg);
2846
2811
        _tmp1_ = vala_typesymbol_get_type_id (_tmp0_);
2847
2812
        _tmp2_ = _tmp1_;
2848
2813
        _tmp3_ = vala_ccode_constant_new (_tmp2_);
2849
 
        result = (_tmp4_ = (ValaCCodeExpression*) _tmp3_, _g_free0 (_tmp2_), _tmp4_);
 
2814
        _tmp4_ = (ValaCCodeExpression*) _tmp3_;
 
2815
        _g_free0 (_tmp2_);
 
2816
        result = _tmp4_;
2850
2817
        return result;
2851
2818
}
2852
2819
 
2859
2826
static void vala_gsignal_module_real_visit_element_access (ValaCodeVisitor* base, ValaElementAccess* expr) {
2860
2827
        ValaGSignalModule * self;
2861
2828
        gboolean _tmp0_ = FALSE;
2862
 
        ValaExpression* _tmp1_ = NULL;
 
2829
        gboolean _tmp1_ = FALSE;
 
2830
        ValaExpression* _tmp2_ = NULL;
2863
2831
        self = (ValaGSignalModule*) base;
2864
2832
        g_return_if_fail (expr != NULL);
2865
 
        _tmp1_ = vala_element_access_get_container (expr);
2866
 
        if (VALA_IS_MEMBER_ACCESS (_tmp1_)) {
2867
 
                ValaExpression* _tmp2_ = NULL;
2868
 
                ValaSymbol* _tmp3_ = NULL;
2869
 
                _tmp2_ = vala_element_access_get_container (expr);
2870
 
                _tmp3_ = vala_expression_get_symbol_reference (_tmp2_);
2871
 
                _tmp0_ = VALA_IS_SIGNAL (_tmp3_);
 
2833
        _tmp2_ = vala_element_access_get_container (expr);
 
2834
        if (VALA_IS_MEMBER_ACCESS (_tmp2_)) {
 
2835
                ValaExpression* _tmp3_ = NULL;
 
2836
                ValaSymbol* _tmp4_ = NULL;
 
2837
                _tmp3_ = vala_element_access_get_container (expr);
 
2838
                _tmp4_ = vala_expression_get_symbol_reference (_tmp3_);
 
2839
                _tmp1_ = VALA_IS_SIGNAL (_tmp4_);
 
2840
        } else {
 
2841
                _tmp1_ = FALSE;
 
2842
        }
 
2843
        if (_tmp1_) {
 
2844
                ValaCodeNode* _tmp5_ = NULL;
 
2845
                _tmp5_ = vala_code_node_get_parent_node ((ValaCodeNode*) expr);
 
2846
                _tmp0_ = VALA_IS_METHOD_CALL (_tmp5_);
2872
2847
        } else {
2873
2848
                _tmp0_ = FALSE;
2874
2849
        }
2875
2850
        if (_tmp0_) {
2876
 
                ValaSymbol* _tmp4_ = NULL;
2877
 
                ValaSignal* _tmp5_;
 
2851
                ValaSymbol* _tmp6_ = NULL;
 
2852
                ValaSignal* _tmp7_;
2878
2853
                ValaSignal* sig;
2879
 
                ValaExpression* _tmp6_ = NULL;
2880
 
                ValaMemberAccess* _tmp7_;
 
2854
                ValaExpression* _tmp8_ = NULL;
 
2855
                ValaMemberAccess* _tmp9_;
2881
2856
                ValaMemberAccess* ma;
2882
 
                ValaList* _tmp8_ = NULL;
2883
 
                ValaList* _tmp9_;
2884
 
                gpointer _tmp10_ = NULL;
2885
 
                ValaExpression* _tmp11_;
 
2857
                ValaList* _tmp10_ = NULL;
 
2858
                ValaList* _tmp11_;
 
2859
                gpointer _tmp12_ = NULL;
 
2860
                ValaExpression* _tmp13_;
2886
2861
                ValaExpression* detail_expr;
2887
 
                ValaCCodeExpression* _tmp12_ = NULL;
 
2862
                ValaCCodeExpression* _tmp14_ = NULL;
2888
2863
                ValaCCodeExpression* signal_name_cexpr;
2889
 
                ValaCCodeIdentifier* _tmp13_ = NULL;
2890
 
                ValaCCodeIdentifier* _tmp14_;
2891
 
                ValaCCodeFunctionCall* _tmp15_ = NULL;
2892
 
                ValaCCodeFunctionCall* _tmp16_;
 
2864
                ValaCCodeIdentifier* _tmp15_ = NULL;
 
2865
                ValaCCodeIdentifier* _tmp16_;
 
2866
                ValaCCodeFunctionCall* _tmp17_ = NULL;
 
2867
                ValaCCodeFunctionCall* _tmp18_;
2893
2868
                ValaCCodeFunctionCall* ccall;
2894
 
                ValaExpression* _tmp17_ = NULL;
2895
 
                ValaCCodeExpression* _tmp18_ = NULL;
2896
 
                ValaCCodeExpression* _tmp19_;
2897
 
                _tmp4_ = vala_expression_get_symbol_reference ((ValaExpression*) expr);
2898
 
                _tmp5_ = _vala_code_node_ref0 (VALA_SIGNAL (_tmp4_));
2899
 
                sig = _tmp5_;
2900
 
                _tmp6_ = vala_element_access_get_container (expr);
2901
 
                _tmp7_ = _vala_code_node_ref0 (VALA_MEMBER_ACCESS (_tmp6_));
2902
 
                ma = _tmp7_;
2903
 
                _tmp8_ = vala_element_access_get_indices (expr);
2904
 
                _tmp9_ = _tmp8_;
2905
 
                _tmp10_ = vala_list_get (_tmp9_, 0);
2906
 
                detail_expr = (_tmp11_ = (ValaExpression*) _tmp10_, _vala_iterable_unref0 (_tmp9_), _tmp11_);
2907
 
                _tmp12_ = vala_gsignal_module_get_signal_name_cexpression (self, sig, detail_expr, (ValaCodeNode*) expr);
2908
 
                signal_name_cexpr = _tmp12_;
2909
 
                _tmp13_ = vala_ccode_identifier_new ("g_signal_emit_by_name");
2910
 
                _tmp14_ = _tmp13_;
2911
 
                _tmp15_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp14_);
2912
 
                ccall = (_tmp16_ = _tmp15_, _vala_ccode_node_unref0 (_tmp14_), _tmp16_);
2913
 
                _tmp17_ = vala_member_access_get_inner (ma);
2914
 
                _tmp18_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, _tmp17_);
2915
 
                _tmp19_ = _tmp18_;
2916
 
                vala_ccode_function_call_add_argument (ccall, _tmp19_);
2917
 
                _vala_ccode_node_unref0 (_tmp19_);
 
2869
                ValaExpression* _tmp19_ = NULL;
 
2870
                ValaCCodeExpression* _tmp20_ = NULL;
 
2871
                ValaCCodeExpression* _tmp21_;
 
2872
                _tmp6_ = vala_expression_get_symbol_reference ((ValaExpression*) expr);
 
2873
                _tmp7_ = _vala_code_node_ref0 (VALA_SIGNAL (_tmp6_));
 
2874
                sig = _tmp7_;
 
2875
                _tmp8_ = vala_element_access_get_container (expr);
 
2876
                _tmp9_ = _vala_code_node_ref0 (VALA_MEMBER_ACCESS (_tmp8_));
 
2877
                ma = _tmp9_;
 
2878
                _tmp10_ = vala_element_access_get_indices (expr);
 
2879
                _tmp11_ = _tmp10_;
 
2880
                _tmp12_ = vala_list_get (_tmp11_, 0);
 
2881
                _tmp13_ = (ValaExpression*) _tmp12_;
 
2882
                _vala_iterable_unref0 (_tmp11_);
 
2883
                detail_expr = _tmp13_;
 
2884
                _tmp14_ = vala_gsignal_module_get_signal_name_cexpression (self, sig, detail_expr, (ValaCodeNode*) expr);
 
2885
                signal_name_cexpr = _tmp14_;
 
2886
                _tmp15_ = vala_ccode_identifier_new ("g_signal_emit_by_name");
 
2887
                _tmp16_ = _tmp15_;
 
2888
                _tmp17_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp16_);
 
2889
                _tmp18_ = _tmp17_;
 
2890
                _vala_ccode_node_unref0 (_tmp16_);
 
2891
                ccall = _tmp18_;
 
2892
                _tmp19_ = vala_member_access_get_inner (ma);
 
2893
                _tmp20_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, _tmp19_);
 
2894
                _tmp21_ = _tmp20_;
 
2895
                vala_ccode_function_call_add_argument (ccall, _tmp21_);
 
2896
                _vala_ccode_node_unref0 (_tmp21_);
2918
2897
                if (signal_name_cexpr != NULL) {
2919
2898
                        vala_ccode_function_call_add_argument (ccall, signal_name_cexpr);
2920
2899
                }
3040
3019
        if (VALA_IS_SIGNAL (_tmp0_)) {
3041
3020
                ValaCCodeExpression* pub_inst;
3042
3021
                ValaExpression* _tmp1_ = NULL;
3043
 
                ValaSymbol* _tmp5_ = NULL;
3044
 
                ValaSignal* _tmp6_;
 
3022
                ValaSymbol* _tmp4_ = NULL;
 
3023
                ValaSignal* _tmp5_;
3045
3024
                ValaSignal* sig;
3046
 
                ValaSymbol* _tmp7_ = NULL;
3047
 
                ValaTypeSymbol* _tmp8_;
 
3025
                ValaSymbol* _tmp6_ = NULL;
 
3026
                ValaTypeSymbol* _tmp7_;
3048
3027
                ValaTypeSymbol* cl;
3049
 
                gboolean _tmp9_ = FALSE;
3050
 
                ValaExpression* _tmp10_ = NULL;
3051
 
                gboolean _tmp34_;
 
3028
                gboolean _tmp8_ = FALSE;
 
3029
                ValaExpression* _tmp9_ = NULL;
 
3030
                gboolean _tmp33_;
3052
3031
                pub_inst = NULL;
3053
3032
                _tmp1_ = vala_member_access_get_inner (expr);
3054
3033
                if (_tmp1_ != NULL) {
3055
3034
                        ValaExpression* _tmp2_ = NULL;
3056
3035
                        ValaCCodeExpression* _tmp3_ = NULL;
3057
 
                        ValaCCodeExpression* _tmp4_;
3058
3036
                        _tmp2_ = vala_member_access_get_inner (expr);
3059
3037
                        _tmp3_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, _tmp2_);
3060
 
                        _tmp4_ = _tmp3_;
3061
3038
                        _vala_ccode_node_unref0 (pub_inst);
3062
 
                        pub_inst = _tmp4_;
 
3039
                        pub_inst = _tmp3_;
3063
3040
                }
3064
 
                _tmp5_ = vala_expression_get_symbol_reference ((ValaExpression*) expr);
3065
 
                _tmp6_ = _vala_code_node_ref0 (VALA_SIGNAL (_tmp5_));
3066
 
                sig = _tmp6_;
3067
 
                _tmp7_ = vala_symbol_get_parent_symbol ((ValaSymbol*) sig);
3068
 
                _tmp8_ = _vala_code_node_ref0 (VALA_TYPESYMBOL (_tmp7_));
3069
 
                cl = _tmp8_;
3070
 
                _tmp10_ = vala_member_access_get_inner (expr);
3071
 
                if (VALA_IS_BASE_ACCESS (_tmp10_)) {
3072
 
                        gboolean _tmp11_;
3073
 
                        _tmp11_ = vala_signal_get_is_virtual (sig);
3074
 
                        _tmp9_ = _tmp11_;
 
3041
                _tmp4_ = vala_expression_get_symbol_reference ((ValaExpression*) expr);
 
3042
                _tmp5_ = _vala_code_node_ref0 (VALA_SIGNAL (_tmp4_));
 
3043
                sig = _tmp5_;
 
3044
                _tmp6_ = vala_symbol_get_parent_symbol ((ValaSymbol*) sig);
 
3045
                _tmp7_ = _vala_code_node_ref0 (VALA_TYPESYMBOL (_tmp6_));
 
3046
                cl = _tmp7_;
 
3047
                _tmp9_ = vala_member_access_get_inner (expr);
 
3048
                if (VALA_IS_BASE_ACCESS (_tmp9_)) {
 
3049
                        gboolean _tmp10_;
 
3050
                        _tmp10_ = vala_signal_get_is_virtual (sig);
 
3051
                        _tmp8_ = _tmp10_;
3075
3052
                } else {
3076
 
                        _tmp9_ = FALSE;
 
3053
                        _tmp8_ = FALSE;
3077
3054
                }
3078
 
                if (_tmp9_) {
3079
 
                        ValaMethod* _tmp12_ = NULL;
3080
 
                        ValaMethod* _tmp13_;
 
3055
                if (_tmp8_) {
 
3056
                        ValaMethod* _tmp11_ = NULL;
 
3057
                        ValaMethod* _tmp12_;
3081
3058
                        ValaMethod* m;
3082
 
                        ValaSymbol* _tmp14_ = NULL;
3083
 
                        ValaClass* _tmp15_;
 
3059
                        ValaSymbol* _tmp13_ = NULL;
 
3060
                        ValaClass* _tmp14_;
3084
3061
                        ValaClass* base_class;
3085
 
                        gchar* _tmp16_ = NULL;
3086
 
                        gchar* _tmp17_;
3087
 
                        gchar* _tmp18_ = NULL;
3088
 
                        gchar* _tmp19_;
3089
 
                        ValaCCodeIdentifier* _tmp20_ = NULL;
3090
 
                        ValaCCodeIdentifier* _tmp21_;
3091
 
                        ValaCCodeFunctionCall* _tmp22_ = NULL;
3092
 
                        ValaCCodeFunctionCall* _tmp23_;
 
3062
                        gchar* _tmp15_ = NULL;
 
3063
                        gchar* _tmp16_;
 
3064
                        gchar* _tmp17_ = NULL;
 
3065
                        gchar* _tmp18_;
 
3066
                        ValaCCodeIdentifier* _tmp19_ = NULL;
 
3067
                        ValaCCodeIdentifier* _tmp20_;
 
3068
                        ValaCCodeFunctionCall* _tmp21_ = NULL;
 
3069
                        ValaCCodeFunctionCall* _tmp22_;
3093
3070
                        ValaCCodeFunctionCall* vcast;
3094
 
                        ValaClass* _tmp24_ = NULL;
3095
 
                        gchar* _tmp25_ = NULL;
3096
 
                        gchar* _tmp26_;
3097
 
                        gchar* _tmp27_ = NULL;
3098
 
                        gchar* _tmp28_;
3099
 
                        ValaCCodeIdentifier* _tmp29_ = NULL;
3100
 
                        ValaCCodeIdentifier* _tmp30_;
3101
 
                        const gchar* _tmp31_ = NULL;
3102
 
                        ValaCCodeMemberAccess* _tmp32_ = NULL;
3103
 
                        ValaCCodeMemberAccess* _tmp33_;
3104
 
                        _tmp12_ = vala_signal_get_default_handler (sig);
3105
 
                        _tmp13_ = _vala_code_node_ref0 (_tmp12_);
3106
 
                        m = _tmp13_;
3107
 
                        _tmp14_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
3108
 
                        _tmp15_ = _vala_code_node_ref0 (VALA_CLASS (_tmp14_));
3109
 
                        base_class = _tmp15_;
3110
 
                        _tmp16_ = vala_typesymbol_get_upper_case_cname ((ValaTypeSymbol*) base_class, NULL);
3111
 
                        _tmp17_ = _tmp16_;
3112
 
                        _tmp18_ = g_strdup_printf ("%s_CLASS", _tmp17_);
3113
 
                        _tmp19_ = _tmp18_;
3114
 
                        _tmp20_ = vala_ccode_identifier_new (_tmp19_);
3115
 
                        _tmp21_ = _tmp20_;
3116
 
                        _tmp22_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp21_);
3117
 
                        vcast = (_tmp23_ = _tmp22_, _vala_ccode_node_unref0 (_tmp21_), _g_free0 (_tmp19_), _g_free0 (_tmp17_), _tmp23_);
3118
 
                        _tmp24_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
3119
 
                        _tmp25_ = vala_symbol_get_lower_case_cname ((ValaSymbol*) _tmp24_, NULL);
3120
 
                        _tmp26_ = _tmp25_;
3121
 
                        _tmp27_ = g_strdup_printf ("%s_parent_class", _tmp26_);
3122
 
                        _tmp28_ = _tmp27_;
3123
 
                        _tmp29_ = vala_ccode_identifier_new (_tmp28_);
3124
 
                        _tmp30_ = _tmp29_;
3125
 
                        vala_ccode_function_call_add_argument (vcast, (ValaCCodeExpression*) _tmp30_);
3126
 
                        _vala_ccode_node_unref0 (_tmp30_);
3127
 
                        _g_free0 (_tmp28_);
3128
 
                        _g_free0 (_tmp26_);
3129
 
                        _tmp31_ = vala_symbol_get_name ((ValaSymbol*) m);
3130
 
                        _tmp32_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) vcast, _tmp31_);
3131
 
                        _tmp33_ = _tmp32_;
3132
 
                        vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) expr, (ValaCCodeExpression*) _tmp33_);
3133
 
                        _vala_ccode_node_unref0 (_tmp33_);
 
3071
                        ValaClass* _tmp23_ = NULL;
 
3072
                        gchar* _tmp24_ = NULL;
 
3073
                        gchar* _tmp25_;
 
3074
                        gchar* _tmp26_ = NULL;
 
3075
                        gchar* _tmp27_;
 
3076
                        ValaCCodeIdentifier* _tmp28_ = NULL;
 
3077
                        ValaCCodeIdentifier* _tmp29_;
 
3078
                        const gchar* _tmp30_ = NULL;
 
3079
                        ValaCCodeMemberAccess* _tmp31_ = NULL;
 
3080
                        ValaCCodeMemberAccess* _tmp32_;
 
3081
                        _tmp11_ = vala_signal_get_default_handler (sig);
 
3082
                        _tmp12_ = _vala_code_node_ref0 (_tmp11_);
 
3083
                        m = _tmp12_;
 
3084
                        _tmp13_ = vala_symbol_get_parent_symbol ((ValaSymbol*) m);
 
3085
                        _tmp14_ = _vala_code_node_ref0 (VALA_CLASS (_tmp13_));
 
3086
                        base_class = _tmp14_;
 
3087
                        _tmp15_ = vala_typesymbol_get_upper_case_cname ((ValaTypeSymbol*) base_class, NULL);
 
3088
                        _tmp16_ = _tmp15_;
 
3089
                        _tmp17_ = g_strdup_printf ("%s_CLASS", _tmp16_);
 
3090
                        _tmp18_ = _tmp17_;
 
3091
                        _tmp19_ = vala_ccode_identifier_new (_tmp18_);
 
3092
                        _tmp20_ = _tmp19_;
 
3093
                        _tmp21_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp20_);
 
3094
                        _tmp22_ = _tmp21_;
 
3095
                        _vala_ccode_node_unref0 (_tmp20_);
 
3096
                        _g_free0 (_tmp18_);
 
3097
                        _g_free0 (_tmp16_);
 
3098
                        vcast = _tmp22_;
 
3099
                        _tmp23_ = vala_ccode_base_module_get_current_class ((ValaCCodeBaseModule*) self);
 
3100
                        _tmp24_ = vala_symbol_get_lower_case_cname ((ValaSymbol*) _tmp23_, NULL);
 
3101
                        _tmp25_ = _tmp24_;
 
3102
                        _tmp26_ = g_strdup_printf ("%s_parent_class", _tmp25_);
 
3103
                        _tmp27_ = _tmp26_;
 
3104
                        _tmp28_ = vala_ccode_identifier_new (_tmp27_);
 
3105
                        _tmp29_ = _tmp28_;
 
3106
                        vala_ccode_function_call_add_argument (vcast, (ValaCCodeExpression*) _tmp29_);
 
3107
                        _vala_ccode_node_unref0 (_tmp29_);
 
3108
                        _g_free0 (_tmp27_);
 
3109
                        _g_free0 (_tmp25_);
 
3110
                        _tmp30_ = vala_symbol_get_name ((ValaSymbol*) m);
 
3111
                        _tmp31_ = vala_ccode_member_access_new_pointer ((ValaCCodeExpression*) vcast, _tmp30_);
 
3112
                        _tmp32_ = _tmp31_;
 
3113
                        vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) expr, (ValaCCodeExpression*) _tmp32_);
 
3114
                        _vala_ccode_node_unref0 (_tmp32_);
3134
3115
                        _vala_ccode_node_unref0 (vcast);
3135
3116
                        _vala_code_node_unref0 (base_class);
3136
3117
                        _vala_code_node_unref0 (m);
3139
3120
                        _vala_ccode_node_unref0 (pub_inst);
3140
3121
                        return;
3141
3122
                }
3142
 
                _tmp34_ = vala_signal_get_has_emitter (sig);
3143
 
                if (_tmp34_) {
3144
 
                        gchar* _tmp35_ = NULL;
3145
 
                        gchar* _tmp36_;
3146
 
                        const gchar* _tmp37_ = NULL;
3147
 
                        gchar* _tmp38_ = NULL;
3148
 
                        gchar* _tmp39_;
3149
 
                        ValaCCodeIdentifier* _tmp40_ = NULL;
3150
 
                        ValaCCodeIdentifier* _tmp41_;
3151
 
                        ValaCCodeFunctionCall* _tmp42_ = NULL;
3152
 
                        ValaCCodeFunctionCall* _tmp43_;
 
3123
                _tmp33_ = vala_signal_get_has_emitter (sig);
 
3124
                if (_tmp33_) {
 
3125
                        gchar* _tmp34_ = NULL;
 
3126
                        gchar* _tmp35_;
 
3127
                        const gchar* _tmp36_ = NULL;
 
3128
                        gchar* _tmp37_ = NULL;
 
3129
                        gchar* _tmp38_;
 
3130
                        ValaCCodeIdentifier* _tmp39_ = NULL;
 
3131
                        ValaCCodeIdentifier* _tmp40_;
 
3132
                        ValaCCodeFunctionCall* _tmp41_ = NULL;
 
3133
                        ValaCCodeFunctionCall* _tmp42_;
3153
3134
                        ValaCCodeFunctionCall* ccall;
3154
 
                        _tmp35_ = vala_symbol_get_lower_case_cname ((ValaSymbol*) cl, NULL);
3155
 
                        _tmp36_ = _tmp35_;
3156
 
                        _tmp37_ = vala_symbol_get_name ((ValaSymbol*) sig);
3157
 
                        _tmp38_ = g_strdup_printf ("%s_%s", _tmp36_, _tmp37_);
3158
 
                        _tmp39_ = _tmp38_;
3159
 
                        _tmp40_ = vala_ccode_identifier_new (_tmp39_);
3160
 
                        _tmp41_ = _tmp40_;
3161
 
                        _tmp42_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp41_);
3162
 
                        ccall = (_tmp43_ = _tmp42_, _vala_ccode_node_unref0 (_tmp41_), _g_free0 (_tmp39_), _g_free0 (_tmp36_), _tmp43_);
 
3135
                        _tmp34_ = vala_symbol_get_lower_case_cname ((ValaSymbol*) cl, NULL);
 
3136
                        _tmp35_ = _tmp34_;
 
3137
                        _tmp36_ = vala_symbol_get_name ((ValaSymbol*) sig);
 
3138
                        _tmp37_ = g_strdup_printf ("%s_%s", _tmp35_, _tmp36_);
 
3139
                        _tmp38_ = _tmp37_;
 
3140
                        _tmp39_ = vala_ccode_identifier_new (_tmp38_);
 
3141
                        _tmp40_ = _tmp39_;
 
3142
                        _tmp41_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp40_);
 
3143
                        _tmp42_ = _tmp41_;
 
3144
                        _vala_ccode_node_unref0 (_tmp40_);
 
3145
                        _g_free0 (_tmp38_);
 
3146
                        _g_free0 (_tmp35_);
 
3147
                        ccall = _tmp42_;
3163
3148
                        vala_ccode_function_call_add_argument (ccall, pub_inst);
3164
3149
                        vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) expr, (ValaCCodeExpression*) ccall);
3165
3150
                        _vala_ccode_node_unref0 (ccall);
3166
3151
                } else {
3167
 
                        ValaCCodeIdentifier* _tmp44_ = NULL;
3168
 
                        ValaCCodeIdentifier* _tmp45_;
3169
 
                        ValaCCodeFunctionCall* _tmp46_ = NULL;
3170
 
                        ValaCCodeFunctionCall* _tmp47_;
 
3152
                        ValaCCodeIdentifier* _tmp43_ = NULL;
 
3153
                        ValaCCodeIdentifier* _tmp44_;
 
3154
                        ValaCCodeFunctionCall* _tmp45_ = NULL;
 
3155
                        ValaCCodeFunctionCall* _tmp46_;
3171
3156
                        ValaCCodeFunctionCall* ccall;
3172
 
                        ValaCCodeConstant* _tmp48_ = NULL;
3173
 
                        ValaCCodeConstant* _tmp49_;
3174
 
                        _tmp44_ = vala_ccode_identifier_new ("g_signal_emit_by_name");
3175
 
                        _tmp45_ = _tmp44_;
3176
 
                        _tmp46_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp45_);
3177
 
                        ccall = (_tmp47_ = _tmp46_, _vala_ccode_node_unref0 (_tmp45_), _tmp47_);
 
3157
                        ValaCCodeConstant* _tmp47_ = NULL;
 
3158
                        ValaCCodeConstant* _tmp48_;
 
3159
                        _tmp43_ = vala_ccode_identifier_new ("g_signal_emit_by_name");
 
3160
                        _tmp44_ = _tmp43_;
 
3161
                        _tmp45_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp44_);
 
3162
                        _tmp46_ = _tmp45_;
 
3163
                        _vala_ccode_node_unref0 (_tmp44_);
 
3164
                        ccall = _tmp46_;
3178
3165
                        vala_ccode_function_call_add_argument (ccall, pub_inst);
3179
 
                        _tmp48_ = vala_signal_get_canonical_cconstant (sig, NULL);
3180
 
                        _tmp49_ = _tmp48_;
3181
 
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp49_);
3182
 
                        _vala_ccode_node_unref0 (_tmp49_);
 
3166
                        _tmp47_ = vala_signal_get_canonical_cconstant (sig, NULL);
 
3167
                        _tmp48_ = _tmp47_;
 
3168
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp48_);
 
3169
                        _vala_ccode_node_unref0 (_tmp48_);
3183
3170
                        vala_ccode_base_module_set_cvalue ((ValaCCodeBaseModule*) self, (ValaExpression*) expr, (ValaCCodeExpression*) ccall);
3184
3171
                        _vala_ccode_node_unref0 (ccall);
3185
3172
                }
3225
3212
        g_return_if_fail (expr != NULL);
3226
3213
        _tmp0_ = vala_method_call_get_call (expr);
3227
3214
        _tmp1_ = vala_expression_get_value_type (_tmp0_);
3228
 
        _tmp3_ = _vala_code_node_ref0 ((_tmp2_ = _tmp1_, VALA_IS_METHOD_TYPE (_tmp2_) ? ((ValaMethodType*) _tmp2_) : NULL));
 
3215
        _tmp2_ = _tmp1_;
 
3216
        _tmp3_ = _vala_code_node_ref0 (VALA_IS_METHOD_TYPE (_tmp2_) ? ((ValaMethodType*) _tmp2_) : NULL);
3229
3217
        method_type = _tmp3_;
3230
3218
        if (method_type == NULL) {
3231
3219
                _tmp4_ = TRUE;
3252
3240
        _tmp13_ = vala_method_call_get_argument_list (expr);
3253
3241
        _tmp14_ = _tmp13_;
3254
3242
        _tmp15_ = vala_list_get (_tmp14_, 0);
3255
 
        handler = (_tmp16_ = (ValaExpression*) _tmp15_, _vala_iterable_unref0 (_tmp14_), _tmp16_);
 
3243
        _tmp16_ = (ValaExpression*) _tmp15_;
 
3244
        _vala_iterable_unref0 (_tmp14_);
 
3245
        handler = _tmp16_;
3256
3246
        _tmp17_ = vala_method_type_get_method_symbol (method_type);
3257
3247
        _tmp18_ = vala_symbol_get_name ((ValaSymbol*) _tmp17_);
3258
3248
        disconnect = g_strcmp0 (_tmp18_, "disconnect") == 0;
3276
3266
        ValaSymbol* _tmp0_ = NULL;
3277
3267
        ValaMethod* _tmp1_;
3278
3268
        ValaMethod* m;
3279
 
        ValaCCodeIdentifier* _tmp21_ = NULL;
3280
 
        ValaCCodeIdentifier* _tmp22_;
3281
 
        ValaCCodeFunctionCall* _tmp23_ = NULL;
3282
 
        ValaCCodeFunctionCall* _tmp24_;
 
3269
        ValaCCodeIdentifier* _tmp13_ = NULL;
 
3270
        ValaCCodeIdentifier* _tmp14_;
 
3271
        ValaCCodeFunctionCall* _tmp15_ = NULL;
 
3272
        ValaCCodeFunctionCall* _tmp16_;
3283
3273
        ValaCCodeFunctionCall* ccall;
3284
3274
        ValaCCodeExpression* signal_name_cexpr;
3285
3275
        ValaMemberAccess* ma = NULL;
3286
 
        ValaExpression* _tmp39_ = NULL;
3287
 
        ValaCCodeExpression* _tmp94_ = NULL;
3288
 
        ValaCCodeExpression* _tmp95_;
3289
 
        ValaCCodeCastExpression* _tmp96_ = NULL;
3290
 
        ValaCCodeCastExpression* _tmp97_;
3291
 
        gboolean _tmp98_;
3292
 
        gboolean _tmp127_ = FALSE;
 
3276
        ValaExpression* _tmp27_ = NULL;
 
3277
        ValaCCodeExpression* _tmp81_ = NULL;
 
3278
        ValaCCodeExpression* _tmp82_;
 
3279
        ValaCCodeCastExpression* _tmp83_ = NULL;
 
3280
        ValaCCodeCastExpression* _tmp84_;
 
3281
        gboolean _tmp85_;
 
3282
        gboolean _tmp114_ = FALSE;
3293
3283
        g_return_val_if_fail (self != NULL, NULL);
3294
3284
        g_return_val_if_fail (sig != NULL, NULL);
3295
3285
        g_return_val_if_fail (signal_access != NULL, NULL);
3302
3292
                if (VALA_IS_DYNAMIC_SIGNAL (sig)) {
3303
3293
                        if (!after) {
3304
3294
                                gchar* _tmp2_ = NULL;
3305
 
                                gchar* _tmp3_;
3306
3295
                                _tmp2_ = vala_ccode_base_module_get_dynamic_signal_connect_wrapper_name ((ValaCCodeBaseModule*) self, VALA_DYNAMIC_SIGNAL (sig));
3307
 
                                _tmp3_ = _tmp2_;
 
3296
                                _g_free0 (connect_func);
 
3297
                                connect_func = _tmp2_;
 
3298
                        } else {
 
3299
                                gchar* _tmp3_ = NULL;
 
3300
                                _tmp3_ = vala_ccode_base_module_get_dynamic_signal_connect_after_wrapper_name ((ValaCCodeBaseModule*) self, VALA_DYNAMIC_SIGNAL (sig));
3308
3301
                                _g_free0 (connect_func);
3309
3302
                                connect_func = _tmp3_;
3310
 
                        } else {
3311
 
                                gchar* _tmp4_ = NULL;
 
3303
                        }
 
3304
                } else {
 
3305
                        gboolean _tmp4_;
 
3306
                        _tmp4_ = vala_method_get_closure (m);
 
3307
                        if (_tmp4_) {
3312
3308
                                gchar* _tmp5_;
3313
 
                                _tmp4_ = vala_ccode_base_module_get_dynamic_signal_connect_after_wrapper_name ((ValaCCodeBaseModule*) self, VALA_DYNAMIC_SIGNAL (sig));
3314
 
                                _tmp5_ = _tmp4_;
 
3309
                                _tmp5_ = g_strdup ("g_signal_connect_data");
3315
3310
                                _g_free0 (connect_func);
3316
3311
                                connect_func = _tmp5_;
3317
 
                        }
3318
 
                } else {
3319
 
                        gboolean _tmp6_;
3320
 
                        _tmp6_ = vala_method_get_closure (m);
3321
 
                        if (_tmp6_) {
3322
 
                                gchar* _tmp7_;
3323
 
                                gchar* _tmp8_;
3324
 
                                _tmp7_ = g_strdup ("g_signal_connect_data");
3325
 
                                _tmp8_ = _tmp7_;
3326
 
                                _g_free0 (connect_func);
3327
 
                                connect_func = _tmp8_;
3328
3312
                        } else {
3329
 
                                gboolean _tmp9_;
3330
 
                                _tmp9_ = vala_gsignal_module_in_gobject_instance (self, m);
3331
 
                                if (_tmp9_) {
3332
 
                                        gchar* _tmp10_;
3333
 
                                        gchar* _tmp11_;
3334
 
                                        _tmp10_ = g_strdup ("g_signal_connect_object");
3335
 
                                        _tmp11_ = _tmp10_;
 
3313
                                gboolean _tmp6_;
 
3314
                                _tmp6_ = vala_gsignal_module_in_gobject_instance (self, m);
 
3315
                                if (_tmp6_) {
 
3316
                                        gchar* _tmp7_;
 
3317
                                        _tmp7_ = g_strdup ("g_signal_connect_object");
3336
3318
                                        _g_free0 (connect_func);
3337
 
                                        connect_func = _tmp11_;
 
3319
                                        connect_func = _tmp7_;
3338
3320
                                } else {
3339
3321
                                        if (!after) {
3340
 
                                                gchar* _tmp12_;
3341
 
                                                gchar* _tmp13_;
3342
 
                                                _tmp12_ = g_strdup ("g_signal_connect");
3343
 
                                                _tmp13_ = _tmp12_;
 
3322
                                                gchar* _tmp8_;
 
3323
                                                _tmp8_ = g_strdup ("g_signal_connect");
3344
3324
                                                _g_free0 (connect_func);
3345
 
                                                connect_func = _tmp13_;
 
3325
                                                connect_func = _tmp8_;
3346
3326
                                        } else {
3347
 
                                                gchar* _tmp14_;
3348
 
                                                gchar* _tmp15_;
3349
 
                                                _tmp14_ = g_strdup ("g_signal_connect_after");
3350
 
                                                _tmp15_ = _tmp14_;
 
3327
                                                gchar* _tmp9_;
 
3328
                                                _tmp9_ = g_strdup ("g_signal_connect_after");
3351
3329
                                                _g_free0 (connect_func);
3352
 
                                                connect_func = _tmp15_;
 
3330
                                                connect_func = _tmp9_;
3353
3331
                                        }
3354
3332
                                }
3355
3333
                        }
3356
3334
                }
3357
3335
        } else {
3358
3336
                if (VALA_IS_LAMBDA_EXPRESSION (handler)) {
3359
 
                        ValaSourceReference* _tmp16_ = NULL;
3360
 
                        _tmp16_ = vala_code_node_get_source_reference ((ValaCodeNode*) handler);
3361
 
                        vala_report_error (_tmp16_, "Cannot disconnect lambda expression from signal. Use Object.disconnect" \
 
3337
                        ValaSourceReference* _tmp10_ = NULL;
 
3338
                        _tmp10_ = vala_code_node_get_source_reference ((ValaCodeNode*) handler);
 
3339
                        vala_report_error (_tmp10_, "Cannot disconnect lambda expression from signal. Use Object.disconnect" \
3362
3340
".");
3363
3341
                }
3364
3342
                if (VALA_IS_DYNAMIC_SIGNAL (sig)) {
3365
 
                        gchar* _tmp17_ = NULL;
3366
 
                        gchar* _tmp18_;
3367
 
                        _tmp17_ = vala_ccode_base_module_get_dynamic_signal_disconnect_wrapper_name ((ValaCCodeBaseModule*) self, VALA_DYNAMIC_SIGNAL (sig));
3368
 
                        _tmp18_ = _tmp17_;
 
3343
                        gchar* _tmp11_ = NULL;
 
3344
                        _tmp11_ = vala_ccode_base_module_get_dynamic_signal_disconnect_wrapper_name ((ValaCCodeBaseModule*) self, VALA_DYNAMIC_SIGNAL (sig));
3369
3345
                        _g_free0 (connect_func);
3370
 
                        connect_func = _tmp18_;
 
3346
                        connect_func = _tmp11_;
3371
3347
                } else {
3372
 
                        gchar* _tmp19_;
3373
 
                        gchar* _tmp20_;
3374
 
                        _tmp19_ = g_strdup ("g_signal_handlers_disconnect_matched");
3375
 
                        _tmp20_ = _tmp19_;
 
3348
                        gchar* _tmp12_;
 
3349
                        _tmp12_ = g_strdup ("g_signal_handlers_disconnect_matched");
3376
3350
                        _g_free0 (connect_func);
3377
 
                        connect_func = _tmp20_;
 
3351
                        connect_func = _tmp12_;
3378
3352
                }
3379
3353
        }
3380
 
        _tmp21_ = vala_ccode_identifier_new (connect_func);
3381
 
        _tmp22_ = _tmp21_;
3382
 
        _tmp23_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp22_);
3383
 
        ccall = (_tmp24_ = _tmp23_, _vala_ccode_node_unref0 (_tmp22_), _tmp24_);
 
3354
        _tmp13_ = vala_ccode_identifier_new (connect_func);
 
3355
        _tmp14_ = _tmp13_;
 
3356
        _tmp15_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp14_);
 
3357
        _tmp16_ = _tmp15_;
 
3358
        _vala_ccode_node_unref0 (_tmp14_);
 
3359
        ccall = _tmp16_;
3384
3360
        signal_name_cexpr = NULL;
3385
3361
        if (VALA_IS_ELEMENT_ACCESS (signal_access)) {
3386
 
                ValaElementAccess* _tmp25_;
 
3362
                ValaElementAccess* _tmp17_;
3387
3363
                ValaElementAccess* ea;
3388
 
                ValaExpression* _tmp26_ = NULL;
3389
 
                ValaMemberAccess* _tmp27_;
3390
 
                ValaMemberAccess* _tmp28_;
3391
 
                ValaList* _tmp29_ = NULL;
3392
 
                ValaList* _tmp30_;
3393
 
                gpointer _tmp31_ = NULL;
3394
 
                ValaExpression* _tmp32_;
 
3364
                ValaExpression* _tmp18_ = NULL;
 
3365
                ValaMemberAccess* _tmp19_;
 
3366
                ValaList* _tmp20_ = NULL;
 
3367
                ValaList* _tmp21_;
 
3368
                gpointer _tmp22_ = NULL;
 
3369
                ValaExpression* _tmp23_;
3395
3370
                ValaExpression* detail_expr;
3396
 
                ValaCCodeExpression* _tmp33_ = NULL;
3397
 
                ValaCCodeExpression* _tmp34_;
3398
 
                _tmp25_ = _vala_code_node_ref0 (VALA_ELEMENT_ACCESS (signal_access));
3399
 
                ea = _tmp25_;
3400
 
                _tmp26_ = vala_element_access_get_container (ea);
3401
 
                _tmp27_ = _vala_code_node_ref0 (VALA_MEMBER_ACCESS (_tmp26_));
3402
 
                _tmp28_ = _tmp27_;
 
3371
                ValaCCodeExpression* _tmp24_ = NULL;
 
3372
                _tmp17_ = _vala_code_node_ref0 (VALA_ELEMENT_ACCESS (signal_access));
 
3373
                ea = _tmp17_;
 
3374
                _tmp18_ = vala_element_access_get_container (ea);
 
3375
                _tmp19_ = _vala_code_node_ref0 (VALA_MEMBER_ACCESS (_tmp18_));
3403
3376
                _vala_code_node_unref0 (ma);
3404
 
                ma = _tmp28_;
3405
 
                _tmp29_ = vala_element_access_get_indices (ea);
3406
 
                _tmp30_ = _tmp29_;
3407
 
                _tmp31_ = vala_list_get (_tmp30_, 0);
3408
 
                detail_expr = (_tmp32_ = (ValaExpression*) _tmp31_, _vala_iterable_unref0 (_tmp30_), _tmp32_);
3409
 
                _tmp33_ = vala_gsignal_module_get_signal_name_cexpression (self, sig, detail_expr, expr);
3410
 
                _tmp34_ = _tmp33_;
 
3377
                ma = _tmp19_;
 
3378
                _tmp20_ = vala_element_access_get_indices (ea);
 
3379
                _tmp21_ = _tmp20_;
 
3380
                _tmp22_ = vala_list_get (_tmp21_, 0);
 
3381
                _tmp23_ = (ValaExpression*) _tmp22_;
 
3382
                _vala_iterable_unref0 (_tmp21_);
 
3383
                detail_expr = _tmp23_;
 
3384
                _tmp24_ = vala_gsignal_module_get_signal_name_cexpression (self, sig, detail_expr, expr);
3411
3385
                _vala_ccode_node_unref0 (signal_name_cexpr);
3412
 
                signal_name_cexpr = _tmp34_;
 
3386
                signal_name_cexpr = _tmp24_;
3413
3387
                if (signal_name_cexpr == NULL) {
3414
3388
                        result = NULL;
3415
3389
                        _vala_code_node_unref0 (detail_expr);
3424
3398
                _vala_code_node_unref0 (detail_expr);
3425
3399
                _vala_code_node_unref0 (ea);
3426
3400
        } else {
3427
 
                ValaMemberAccess* _tmp35_;
3428
 
                ValaMemberAccess* _tmp36_;
3429
 
                ValaCCodeExpression* _tmp37_ = NULL;
3430
 
                ValaCCodeExpression* _tmp38_;
3431
 
                _tmp35_ = _vala_code_node_ref0 (VALA_MEMBER_ACCESS (signal_access));
3432
 
                _tmp36_ = _tmp35_;
 
3401
                ValaMemberAccess* _tmp25_;
 
3402
                ValaCCodeExpression* _tmp26_ = NULL;
 
3403
                _tmp25_ = _vala_code_node_ref0 (VALA_MEMBER_ACCESS (signal_access));
3433
3404
                _vala_code_node_unref0 (ma);
3434
 
                ma = _tmp36_;
3435
 
                _tmp37_ = vala_gsignal_module_get_signal_name_cexpression (self, sig, NULL, expr);
3436
 
                _tmp38_ = _tmp37_;
 
3405
                ma = _tmp25_;
 
3406
                _tmp26_ = vala_gsignal_module_get_signal_name_cexpression (self, sig, NULL, expr);
3437
3407
                _vala_ccode_node_unref0 (signal_name_cexpr);
3438
 
                signal_name_cexpr = _tmp38_;
 
3408
                signal_name_cexpr = _tmp26_;
3439
3409
        }
3440
 
        _tmp39_ = vala_member_access_get_inner (ma);
3441
 
        if (_tmp39_ != NULL) {
3442
 
                ValaExpression* _tmp40_ = NULL;
3443
 
                ValaCCodeExpression* _tmp41_ = NULL;
3444
 
                ValaCCodeExpression* _tmp42_;
3445
 
                _tmp40_ = vala_member_access_get_inner (ma);
3446
 
                _tmp41_ = vala_ccode_base_module_get_ccodenode ((ValaCCodeBaseModule*) self, _tmp40_);
3447
 
                _tmp42_ = VALA_CCODE_EXPRESSION (_tmp41_);
3448
 
                vala_ccode_function_call_add_argument (ccall, _tmp42_);
3449
 
                _vala_ccode_node_unref0 (_tmp42_);
 
3410
        _tmp27_ = vala_member_access_get_inner (ma);
 
3411
        if (_tmp27_ != NULL) {
 
3412
                ValaExpression* _tmp28_ = NULL;
 
3413
                ValaCCodeExpression* _tmp29_ = NULL;
 
3414
                ValaCCodeExpression* _tmp30_;
 
3415
                _tmp28_ = vala_member_access_get_inner (ma);
 
3416
                _tmp29_ = vala_ccode_base_module_get_ccodenode ((ValaCCodeBaseModule*) self, _tmp28_);
 
3417
                _tmp30_ = VALA_CCODE_EXPRESSION (_tmp29_);
 
3418
                vala_ccode_function_call_add_argument (ccall, _tmp30_);
 
3419
                _vala_ccode_node_unref0 (_tmp30_);
3450
3420
        } else {
3451
 
                ValaCCodeExpression* _tmp43_ = NULL;
3452
 
                ValaCCodeExpression* _tmp44_;
3453
 
                _tmp43_ = vala_ccode_base_module_get_result_cexpression ((ValaCCodeBaseModule*) self, "self");
3454
 
                _tmp44_ = _tmp43_;
3455
 
                vala_ccode_function_call_add_argument (ccall, _tmp44_);
3456
 
                _vala_ccode_node_unref0 (_tmp44_);
 
3421
                ValaCCodeExpression* _tmp31_ = NULL;
 
3422
                ValaCCodeExpression* _tmp32_;
 
3423
                _tmp31_ = vala_ccode_base_module_get_result_cexpression ((ValaCCodeBaseModule*) self, "self");
 
3424
                _tmp32_ = _tmp31_;
 
3425
                vala_ccode_function_call_add_argument (ccall, _tmp32_);
 
3426
                _vala_ccode_node_unref0 (_tmp32_);
3457
3427
        }
3458
3428
        if (VALA_IS_DYNAMIC_SIGNAL (sig)) {
3459
 
                const gchar* _tmp45_ = NULL;
3460
 
                gchar* _tmp46_ = NULL;
3461
 
                gchar* _tmp47_;
3462
 
                ValaCCodeConstant* _tmp48_ = NULL;
3463
 
                ValaCCodeConstant* _tmp49_;
3464
 
                _tmp45_ = vala_symbol_get_name ((ValaSymbol*) sig);
3465
 
                _tmp46_ = g_strdup_printf ("\"%s\"", _tmp45_);
3466
 
                _tmp47_ = _tmp46_;
3467
 
                _tmp48_ = vala_ccode_constant_new (_tmp47_);
3468
 
                _tmp49_ = _tmp48_;
3469
 
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp49_);
3470
 
                _vala_ccode_node_unref0 (_tmp49_);
3471
 
                _g_free0 (_tmp47_);
 
3429
                const gchar* _tmp33_ = NULL;
 
3430
                gchar* _tmp34_ = NULL;
 
3431
                gchar* _tmp35_;
 
3432
                ValaCCodeConstant* _tmp36_ = NULL;
 
3433
                ValaCCodeConstant* _tmp37_;
 
3434
                _tmp33_ = vala_symbol_get_name ((ValaSymbol*) sig);
 
3435
                _tmp34_ = g_strdup_printf ("\"%s\"", _tmp33_);
 
3436
                _tmp35_ = _tmp34_;
 
3437
                _tmp36_ = vala_ccode_constant_new (_tmp35_);
 
3438
                _tmp37_ = _tmp36_;
 
3439
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp37_);
 
3440
                _vala_ccode_node_unref0 (_tmp37_);
 
3441
                _g_free0 (_tmp35_);
3472
3442
        } else {
3473
3443
                if (!disconnect) {
3474
3444
                        vala_ccode_function_call_add_argument (ccall, signal_name_cexpr);
3475
3445
                } else {
3476
 
                        ValaLocalVariable* _tmp54_ = NULL;
 
3446
                        ValaLocalVariable* _tmp42_ = NULL;
3477
3447
                        ValaLocalVariable* temp_decl;
3478
 
                        ValaCCodeIdentifier* _tmp55_ = NULL;
3479
 
                        ValaCCodeIdentifier* _tmp56_;
3480
 
                        ValaCCodeFunctionCall* _tmp57_ = NULL;
3481
 
                        ValaCCodeFunctionCall* _tmp58_;
 
3448
                        ValaCCodeIdentifier* _tmp43_ = NULL;
 
3449
                        ValaCCodeIdentifier* _tmp44_;
 
3450
                        ValaCCodeFunctionCall* _tmp45_ = NULL;
 
3451
                        ValaCCodeFunctionCall* _tmp46_;
3482
3452
                        ValaCCodeFunctionCall* parse_call;
3483
 
                        ValaSymbol* _tmp59_ = NULL;
3484
 
                        ValaTypeSymbol* _tmp60_;
 
3453
                        ValaSymbol* _tmp47_ = NULL;
 
3454
                        ValaTypeSymbol* _tmp48_;
3485
3455
                        ValaTypeSymbol* decl_type;
3486
 
                        gchar* _tmp61_ = NULL;
3487
 
                        gchar* _tmp62_;
3488
 
                        ValaCCodeIdentifier* _tmp63_ = NULL;
3489
 
                        ValaCCodeIdentifier* _tmp64_;
3490
 
                        const gchar* _tmp65_ = NULL;
3491
 
                        ValaCCodeExpression* _tmp66_ = NULL;
3492
 
                        ValaCCodeExpression* _tmp67_;
3493
 
                        ValaCCodeUnaryExpression* _tmp68_ = NULL;
3494
 
                        ValaCCodeUnaryExpression* _tmp69_;
 
3456
                        gchar* _tmp49_ = NULL;
 
3457
                        gchar* _tmp50_;
 
3458
                        ValaCCodeIdentifier* _tmp51_ = NULL;
 
3459
                        ValaCCodeIdentifier* _tmp52_;
 
3460
                        const gchar* _tmp53_ = NULL;
 
3461
                        ValaCCodeExpression* _tmp54_ = NULL;
 
3462
                        ValaCCodeExpression* _tmp55_;
 
3463
                        ValaCCodeUnaryExpression* _tmp56_ = NULL;
 
3464
                        ValaCCodeUnaryExpression* _tmp57_;
3495
3465
                        ValaLocalVariable* detail_temp_decl;
3496
 
                        ValaCCodeFunction* _tmp83_ = NULL;
3497
 
                        const gchar* _tmp84_ = NULL;
3498
 
                        ValaCCodeExpression* _tmp85_ = NULL;
3499
 
                        ValaCCodeExpression* _tmp86_;
3500
 
                        ValaCCodeConstant* _tmp92_ = NULL;
3501
 
                        ValaCCodeConstant* _tmp93_;
 
3466
                        ValaCCodeFunction* _tmp70_ = NULL;
 
3467
                        const gchar* _tmp71_ = NULL;
 
3468
                        ValaCCodeExpression* _tmp72_ = NULL;
 
3469
                        ValaCCodeExpression* _tmp73_;
 
3470
                        ValaCCodeConstant* _tmp79_ = NULL;
 
3471
                        ValaCCodeConstant* _tmp80_;
3502
3472
                        if (!VALA_IS_ELEMENT_ACCESS (signal_access)) {
3503
 
                                ValaCCodeConstant* _tmp50_ = NULL;
3504
 
                                ValaCCodeConstant* _tmp51_;
3505
 
                                _tmp50_ = vala_ccode_constant_new ("G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA");
3506
 
                                _tmp51_ = _tmp50_;
3507
 
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp51_);
3508
 
                                _vala_ccode_node_unref0 (_tmp51_);
 
3473
                                ValaCCodeConstant* _tmp38_ = NULL;
 
3474
                                ValaCCodeConstant* _tmp39_;
 
3475
                                _tmp38_ = vala_ccode_constant_new ("G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA");
 
3476
                                _tmp39_ = _tmp38_;
 
3477
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp39_);
 
3478
                                _vala_ccode_node_unref0 (_tmp39_);
3509
3479
                        } else {
3510
 
                                ValaCCodeConstant* _tmp52_ = NULL;
3511
 
                                ValaCCodeConstant* _tmp53_;
3512
 
                                _tmp52_ = vala_ccode_constant_new ("G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_DETAIL | G_SIGNAL_MATCH_FUNC | G_SI" \
 
3480
                                ValaCCodeConstant* _tmp40_ = NULL;
 
3481
                                ValaCCodeConstant* _tmp41_;
 
3482
                                _tmp40_ = vala_ccode_constant_new ("G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_DETAIL | G_SIGNAL_MATCH_FUNC | G_SI" \
3513
3483
"GNAL_MATCH_DATA");
3514
 
                                _tmp53_ = _tmp52_;
3515
 
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp53_);
3516
 
                                _vala_ccode_node_unref0 (_tmp53_);
 
3484
                                _tmp41_ = _tmp40_;
 
3485
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp41_);
 
3486
                                _vala_ccode_node_unref0 (_tmp41_);
3517
3487
                        }
3518
 
                        _tmp54_ = vala_ccode_base_module_get_temp_variable ((ValaCCodeBaseModule*) self, ((ValaCCodeBaseModule*) self)->uint_type, TRUE, NULL, TRUE);
3519
 
                        temp_decl = _tmp54_;
 
3488
                        _tmp42_ = vala_ccode_base_module_get_temp_variable ((ValaCCodeBaseModule*) self, ((ValaCCodeBaseModule*) self)->uint_type, TRUE, NULL, TRUE);
 
3489
                        temp_decl = _tmp42_;
3520
3490
                        vala_ccode_base_module_emit_temp_var ((ValaCCodeBaseModule*) self, temp_decl, FALSE);
3521
 
                        _tmp55_ = vala_ccode_identifier_new ("g_signal_parse_name");
3522
 
                        _tmp56_ = _tmp55_;
3523
 
                        _tmp57_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp56_);
3524
 
                        parse_call = (_tmp58_ = _tmp57_, _vala_ccode_node_unref0 (_tmp56_), _tmp58_);
 
3491
                        _tmp43_ = vala_ccode_identifier_new ("g_signal_parse_name");
 
3492
                        _tmp44_ = _tmp43_;
 
3493
                        _tmp45_ = vala_ccode_function_call_new ((ValaCCodeExpression*) _tmp44_);
 
3494
                        _tmp46_ = _tmp45_;
 
3495
                        _vala_ccode_node_unref0 (_tmp44_);
 
3496
                        parse_call = _tmp46_;
3525
3497
                        vala_ccode_function_call_add_argument (parse_call, signal_name_cexpr);
3526
 
                        _tmp59_ = vala_symbol_get_parent_symbol ((ValaSymbol*) sig);
3527
 
                        _tmp60_ = _vala_code_node_ref0 (VALA_TYPESYMBOL (_tmp59_));
3528
 
                        decl_type = _tmp60_;
3529
 
                        _tmp61_ = vala_typesymbol_get_type_id (decl_type);
3530
 
                        _tmp62_ = _tmp61_;
3531
 
                        _tmp63_ = vala_ccode_identifier_new (_tmp62_);
3532
 
                        _tmp64_ = _tmp63_;
3533
 
                        vala_ccode_function_call_add_argument (parse_call, (ValaCCodeExpression*) _tmp64_);
3534
 
                        _vala_ccode_node_unref0 (_tmp64_);
3535
 
                        _g_free0 (_tmp62_);
3536
 
                        _tmp65_ = vala_symbol_get_name ((ValaSymbol*) temp_decl);
3537
 
                        _tmp66_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp65_);
3538
 
                        _tmp67_ = _tmp66_;
3539
 
                        _tmp68_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp67_);
3540
 
                        _tmp69_ = _tmp68_;
3541
 
                        vala_ccode_function_call_add_argument (parse_call, (ValaCCodeExpression*) _tmp69_);
3542
 
                        _vala_ccode_node_unref0 (_tmp69_);
3543
 
                        _vala_ccode_node_unref0 (_tmp67_);
 
3498
                        _tmp47_ = vala_symbol_get_parent_symbol ((ValaSymbol*) sig);
 
3499
                        _tmp48_ = _vala_code_node_ref0 (VALA_TYPESYMBOL (_tmp47_));
 
3500
                        decl_type = _tmp48_;
 
3501
                        _tmp49_ = vala_typesymbol_get_type_id (decl_type);
 
3502
                        _tmp50_ = _tmp49_;
 
3503
                        _tmp51_ = vala_ccode_identifier_new (_tmp50_);
 
3504
                        _tmp52_ = _tmp51_;
 
3505
                        vala_ccode_function_call_add_argument (parse_call, (ValaCCodeExpression*) _tmp52_);
 
3506
                        _vala_ccode_node_unref0 (_tmp52_);
 
3507
                        _g_free0 (_tmp50_);
 
3508
                        _tmp53_ = vala_symbol_get_name ((ValaSymbol*) temp_decl);
 
3509
                        _tmp54_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp53_);
 
3510
                        _tmp55_ = _tmp54_;
 
3511
                        _tmp56_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, _tmp55_);
 
3512
                        _tmp57_ = _tmp56_;
 
3513
                        vala_ccode_function_call_add_argument (parse_call, (ValaCCodeExpression*) _tmp57_);
 
3514
                        _vala_ccode_node_unref0 (_tmp57_);
 
3515
                        _vala_ccode_node_unref0 (_tmp55_);
3544
3516
                        detail_temp_decl = NULL;
3545
3517
                        if (!VALA_IS_ELEMENT_ACCESS (signal_access)) {
3546
 
                                ValaCCodeConstant* _tmp70_ = NULL;
3547
 
                                ValaCCodeConstant* _tmp71_;
3548
 
                                ValaCCodeConstant* _tmp72_ = NULL;
3549
 
                                ValaCCodeConstant* _tmp73_;
3550
 
                                _tmp70_ = vala_ccode_constant_new ("NULL");
3551
 
                                _tmp71_ = _tmp70_;
3552
 
                                vala_ccode_function_call_add_argument (parse_call, (ValaCCodeExpression*) _tmp71_);
3553
 
                                _vala_ccode_node_unref0 (_tmp71_);
3554
 
                                _tmp72_ = vala_ccode_constant_new ("FALSE");
3555
 
                                _tmp73_ = _tmp72_;
3556
 
                                vala_ccode_function_call_add_argument (parse_call, (ValaCCodeExpression*) _tmp73_);
3557
 
                                _vala_ccode_node_unref0 (_tmp73_);
 
3518
                                ValaCCodeConstant* _tmp58_ = NULL;
 
3519
                                ValaCCodeConstant* _tmp59_;
 
3520
                                ValaCCodeConstant* _tmp60_ = NULL;
 
3521
                                ValaCCodeConstant* _tmp61_;
 
3522
                                _tmp58_ = vala_ccode_constant_new ("NULL");
 
3523
                                _tmp59_ = _tmp58_;
 
3524
                                vala_ccode_function_call_add_argument (parse_call, (ValaCCodeExpression*) _tmp59_);
 
3525
                                _vala_ccode_node_unref0 (_tmp59_);
 
3526
                                _tmp60_ = vala_ccode_constant_new ("FALSE");
 
3527
                                _tmp61_ = _tmp60_;
 
3528
                                vala_ccode_function_call_add_argument (parse_call, (ValaCCodeExpression*) _tmp61_);
 
3529
                                _vala_ccode_node_unref0 (_tmp61_);
3558
3530
                        } else {
3559
 
                                ValaLocalVariable* _tmp74_ = NULL;
3560
 
                                ValaLocalVariable* _tmp75_;
3561
 
                                const gchar* _tmp76_ = NULL;
3562
 
                                ValaCCodeIdentifier* _tmp77_ = NULL;
3563
 
                                ValaCCodeIdentifier* _tmp78_;
3564
 
                                ValaCCodeUnaryExpression* _tmp79_ = NULL;
3565
 
                                ValaCCodeUnaryExpression* _tmp80_;
3566
 
                                ValaCCodeConstant* _tmp81_ = NULL;
3567
 
                                ValaCCodeConstant* _tmp82_;
3568
 
                                _tmp74_ = vala_ccode_base_module_get_temp_variable ((ValaCCodeBaseModule*) self, ((ValaCCodeBaseModule*) self)->gquark_type, TRUE, NULL, TRUE);
3569
 
                                _tmp75_ = _tmp74_;
 
3531
                                ValaLocalVariable* _tmp62_ = NULL;
 
3532
                                const gchar* _tmp63_ = NULL;
 
3533
                                ValaCCodeIdentifier* _tmp64_ = NULL;
 
3534
                                ValaCCodeIdentifier* _tmp65_;
 
3535
                                ValaCCodeUnaryExpression* _tmp66_ = NULL;
 
3536
                                ValaCCodeUnaryExpression* _tmp67_;
 
3537
                                ValaCCodeConstant* _tmp68_ = NULL;
 
3538
                                ValaCCodeConstant* _tmp69_;
 
3539
                                _tmp62_ = vala_ccode_base_module_get_temp_variable ((ValaCCodeBaseModule*) self, ((ValaCCodeBaseModule*) self)->gquark_type, TRUE, NULL, TRUE);
3570
3540
                                _vala_code_node_unref0 (detail_temp_decl);
3571
 
                                detail_temp_decl = _tmp75_;
 
3541
                                detail_temp_decl = _tmp62_;
3572
3542
                                vala_ccode_base_module_emit_temp_var ((ValaCCodeBaseModule*) self, detail_temp_decl, FALSE);
 
3543
                                _tmp63_ = vala_symbol_get_name ((ValaSymbol*) detail_temp_decl);
 
3544
                                _tmp64_ = vala_ccode_identifier_new (_tmp63_);
 
3545
                                _tmp65_ = _tmp64_;
 
3546
                                _tmp66_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp65_);
 
3547
                                _tmp67_ = _tmp66_;
 
3548
                                vala_ccode_function_call_add_argument (parse_call, (ValaCCodeExpression*) _tmp67_);
 
3549
                                _vala_ccode_node_unref0 (_tmp67_);
 
3550
                                _vala_ccode_node_unref0 (_tmp65_);
 
3551
                                _tmp68_ = vala_ccode_constant_new ("TRUE");
 
3552
                                _tmp69_ = _tmp68_;
 
3553
                                vala_ccode_function_call_add_argument (parse_call, (ValaCCodeExpression*) _tmp69_);
 
3554
                                _vala_ccode_node_unref0 (_tmp69_);
 
3555
                        }
 
3556
                        _tmp70_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
3557
                        vala_ccode_function_add_expression (_tmp70_, (ValaCCodeExpression*) parse_call);
 
3558
                        _tmp71_ = vala_symbol_get_name ((ValaSymbol*) temp_decl);
 
3559
                        _tmp72_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp71_);
 
3560
                        _tmp73_ = _tmp72_;
 
3561
                        vala_ccode_function_call_add_argument (ccall, _tmp73_);
 
3562
                        _vala_ccode_node_unref0 (_tmp73_);
 
3563
                        if (detail_temp_decl == NULL) {
 
3564
                                ValaCCodeConstant* _tmp74_ = NULL;
 
3565
                                ValaCCodeConstant* _tmp75_;
 
3566
                                _tmp74_ = vala_ccode_constant_new ("0");
 
3567
                                _tmp75_ = _tmp74_;
 
3568
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp75_);
 
3569
                                _vala_ccode_node_unref0 (_tmp75_);
 
3570
                        } else {
 
3571
                                const gchar* _tmp76_ = NULL;
 
3572
                                ValaCCodeExpression* _tmp77_ = NULL;
 
3573
                                ValaCCodeExpression* _tmp78_;
3573
3574
                                _tmp76_ = vala_symbol_get_name ((ValaSymbol*) detail_temp_decl);
3574
 
                                _tmp77_ = vala_ccode_identifier_new (_tmp76_);
 
3575
                                _tmp77_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp76_);
3575
3576
                                _tmp78_ = _tmp77_;
3576
 
                                _tmp79_ = vala_ccode_unary_expression_new (VALA_CCODE_UNARY_OPERATOR_ADDRESS_OF, (ValaCCodeExpression*) _tmp78_);
3577
 
                                _tmp80_ = _tmp79_;
3578
 
                                vala_ccode_function_call_add_argument (parse_call, (ValaCCodeExpression*) _tmp80_);
3579
 
                                _vala_ccode_node_unref0 (_tmp80_);
 
3577
                                vala_ccode_function_call_add_argument (ccall, _tmp78_);
3580
3578
                                _vala_ccode_node_unref0 (_tmp78_);
3581
 
                                _tmp81_ = vala_ccode_constant_new ("TRUE");
3582
 
                                _tmp82_ = _tmp81_;
3583
 
                                vala_ccode_function_call_add_argument (parse_call, (ValaCCodeExpression*) _tmp82_);
3584
 
                                _vala_ccode_node_unref0 (_tmp82_);
3585
 
                        }
3586
 
                        _tmp83_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3587
 
                        vala_ccode_function_add_expression (_tmp83_, (ValaCCodeExpression*) parse_call);
3588
 
                        _tmp84_ = vala_symbol_get_name ((ValaSymbol*) temp_decl);
3589
 
                        _tmp85_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp84_);
3590
 
                        _tmp86_ = _tmp85_;
3591
 
                        vala_ccode_function_call_add_argument (ccall, _tmp86_);
3592
 
                        _vala_ccode_node_unref0 (_tmp86_);
3593
 
                        if (detail_temp_decl == NULL) {
3594
 
                                ValaCCodeConstant* _tmp87_ = NULL;
3595
 
                                ValaCCodeConstant* _tmp88_;
3596
 
                                _tmp87_ = vala_ccode_constant_new ("0");
3597
 
                                _tmp88_ = _tmp87_;
3598
 
                                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp88_);
3599
 
                                _vala_ccode_node_unref0 (_tmp88_);
3600
 
                        } else {
3601
 
                                const gchar* _tmp89_ = NULL;
3602
 
                                ValaCCodeExpression* _tmp90_ = NULL;
3603
 
                                ValaCCodeExpression* _tmp91_;
3604
 
                                _tmp89_ = vala_symbol_get_name ((ValaSymbol*) detail_temp_decl);
3605
 
                                _tmp90_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp89_);
3606
 
                                _tmp91_ = _tmp90_;
3607
 
                                vala_ccode_function_call_add_argument (ccall, _tmp91_);
3608
 
                                _vala_ccode_node_unref0 (_tmp91_);
3609
 
                        }
3610
 
                        _tmp92_ = vala_ccode_constant_new ("NULL");
3611
 
                        _tmp93_ = _tmp92_;
3612
 
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp93_);
3613
 
                        _vala_ccode_node_unref0 (_tmp93_);
 
3579
                        }
 
3580
                        _tmp79_ = vala_ccode_constant_new ("NULL");
 
3581
                        _tmp80_ = _tmp79_;
 
3582
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp80_);
 
3583
                        _vala_ccode_node_unref0 (_tmp80_);
3614
3584
                        _vala_code_node_unref0 (detail_temp_decl);
3615
3585
                        _vala_code_node_unref0 (decl_type);
3616
3586
                        _vala_ccode_node_unref0 (parse_call);
3617
3587
                        _vala_code_node_unref0 (temp_decl);
3618
3588
                }
3619
3589
        }
3620
 
        _tmp94_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, handler);
3621
 
        _tmp95_ = _tmp94_;
3622
 
        _tmp96_ = vala_ccode_cast_expression_new (_tmp95_, "GCallback");
3623
 
        _tmp97_ = _tmp96_;
3624
 
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp97_);
3625
 
        _vala_ccode_node_unref0 (_tmp97_);
3626
 
        _vala_ccode_node_unref0 (_tmp95_);
3627
 
        _tmp98_ = vala_method_get_closure (m);
3628
 
        if (_tmp98_) {
 
3590
        _tmp81_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, handler);
 
3591
        _tmp82_ = _tmp81_;
 
3592
        _tmp83_ = vala_ccode_cast_expression_new (_tmp82_, "GCallback");
 
3593
        _tmp84_ = _tmp83_;
 
3594
        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp84_);
 
3595
        _vala_ccode_node_unref0 (_tmp84_);
 
3596
        _vala_ccode_node_unref0 (_tmp82_);
 
3597
        _tmp85_ = vala_method_get_closure (m);
 
3598
        if (_tmp85_) {
3629
3599
                ValaCCodeExpression* handler_destroy_notify = NULL;
3630
 
                ValaCCodeExpression* _tmp99_ = NULL;
3631
 
                ValaCCodeExpression* _tmp100_ = NULL;
3632
 
                ValaCCodeExpression* _tmp101_;
3633
 
                ValaCCodeCastExpression* _tmp102_ = NULL;
3634
 
                ValaCCodeCastExpression* _tmp103_;
3635
 
                _tmp100_ = vala_ccode_base_module_get_delegate_target_cexpression ((ValaCCodeBaseModule*) self, handler, &_tmp99_);
 
3600
                ValaCCodeExpression* _tmp86_ = NULL;
 
3601
                ValaCCodeExpression* _tmp87_ = NULL;
 
3602
                ValaCCodeExpression* _tmp88_;
 
3603
                ValaCCodeCastExpression* _tmp89_ = NULL;
 
3604
                ValaCCodeCastExpression* _tmp90_;
 
3605
                _tmp87_ = vala_ccode_base_module_get_delegate_target_cexpression ((ValaCCodeBaseModule*) self, handler, &_tmp86_);
3636
3606
                _vala_ccode_node_unref0 (handler_destroy_notify);
3637
 
                handler_destroy_notify = _tmp99_;
3638
 
                _tmp101_ = _tmp100_;
3639
 
                vala_ccode_function_call_add_argument (ccall, _tmp101_);
3640
 
                _vala_ccode_node_unref0 (_tmp101_);
3641
 
                _tmp102_ = vala_ccode_cast_expression_new (handler_destroy_notify, "GClosureNotify");
3642
 
                _tmp103_ = _tmp102_;
3643
 
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp103_);
3644
 
                _vala_ccode_node_unref0 (_tmp103_);
 
3607
                handler_destroy_notify = _tmp86_;
 
3608
                _tmp88_ = _tmp87_;
 
3609
                vala_ccode_function_call_add_argument (ccall, _tmp88_);
 
3610
                _vala_ccode_node_unref0 (_tmp88_);
 
3611
                _tmp89_ = vala_ccode_cast_expression_new (handler_destroy_notify, "GClosureNotify");
 
3612
                _tmp90_ = _tmp89_;
 
3613
                vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp90_);
 
3614
                _vala_ccode_node_unref0 (_tmp90_);
3645
3615
                if (!after) {
3646
 
                        ValaCCodeConstant* _tmp104_ = NULL;
3647
 
                        ValaCCodeConstant* _tmp105_;
3648
 
                        _tmp104_ = vala_ccode_constant_new ("0");
3649
 
                        _tmp105_ = _tmp104_;
3650
 
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp105_);
3651
 
                        _vala_ccode_node_unref0 (_tmp105_);
 
3616
                        ValaCCodeConstant* _tmp91_ = NULL;
 
3617
                        ValaCCodeConstant* _tmp92_;
 
3618
                        _tmp91_ = vala_ccode_constant_new ("0");
 
3619
                        _tmp92_ = _tmp91_;
 
3620
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp92_);
 
3621
                        _vala_ccode_node_unref0 (_tmp92_);
3652
3622
                } else {
3653
 
                        ValaCCodeConstant* _tmp106_ = NULL;
3654
 
                        ValaCCodeConstant* _tmp107_;
3655
 
                        _tmp106_ = vala_ccode_constant_new ("G_CONNECT_AFTER");
3656
 
                        _tmp107_ = _tmp106_;
3657
 
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp107_);
3658
 
                        _vala_ccode_node_unref0 (_tmp107_);
 
3623
                        ValaCCodeConstant* _tmp93_ = NULL;
 
3624
                        ValaCCodeConstant* _tmp94_;
 
3625
                        _tmp93_ = vala_ccode_constant_new ("G_CONNECT_AFTER");
 
3626
                        _tmp94_ = _tmp93_;
 
3627
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp94_);
 
3628
                        _vala_ccode_node_unref0 (_tmp94_);
3659
3629
                }
3660
3630
                _vala_ccode_node_unref0 (handler_destroy_notify);
3661
3631
        } else {
3662
 
                ValaMemberBinding _tmp108_;
3663
 
                _tmp108_ = vala_method_get_binding (m);
3664
 
                if (_tmp108_ == VALA_MEMBER_BINDING_INSTANCE) {
3665
 
                        gboolean _tmp118_ = FALSE;
3666
 
                        gboolean _tmp119_ = FALSE;
 
3632
                ValaMemberBinding _tmp95_;
 
3633
                _tmp95_ = vala_method_get_binding (m);
 
3634
                if (_tmp95_ == VALA_MEMBER_BINDING_INSTANCE) {
 
3635
                        gboolean _tmp105_ = FALSE;
 
3636
                        gboolean _tmp106_ = FALSE;
3667
3637
                        if (VALA_IS_MEMBER_ACCESS (handler)) {
3668
 
                                ValaMemberAccess* _tmp109_;
 
3638
                                ValaMemberAccess* _tmp96_;
3669
3639
                                ValaMemberAccess* right_ma;
3670
 
                                ValaExpression* _tmp110_ = NULL;
3671
 
                                _tmp109_ = _vala_code_node_ref0 (VALA_MEMBER_ACCESS (handler));
3672
 
                                right_ma = _tmp109_;
3673
 
                                _tmp110_ = vala_member_access_get_inner (right_ma);
3674
 
                                if (_tmp110_ != NULL) {
3675
 
                                        ValaExpression* _tmp111_ = NULL;
3676
 
                                        ValaCCodeExpression* _tmp112_ = NULL;
3677
 
                                        ValaCCodeExpression* _tmp113_;
3678
 
                                        _tmp111_ = vala_member_access_get_inner (right_ma);
3679
 
                                        _tmp112_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, _tmp111_);
3680
 
                                        _tmp113_ = _tmp112_;
3681
 
                                        vala_ccode_function_call_add_argument (ccall, _tmp113_);
3682
 
                                        _vala_ccode_node_unref0 (_tmp113_);
 
3640
                                ValaExpression* _tmp97_ = NULL;
 
3641
                                _tmp96_ = _vala_code_node_ref0 (VALA_MEMBER_ACCESS (handler));
 
3642
                                right_ma = _tmp96_;
 
3643
                                _tmp97_ = vala_member_access_get_inner (right_ma);
 
3644
                                if (_tmp97_ != NULL) {
 
3645
                                        ValaExpression* _tmp98_ = NULL;
 
3646
                                        ValaCCodeExpression* _tmp99_ = NULL;
 
3647
                                        ValaCCodeExpression* _tmp100_;
 
3648
                                        _tmp98_ = vala_member_access_get_inner (right_ma);
 
3649
                                        _tmp99_ = vala_ccode_base_module_get_cvalue ((ValaCCodeBaseModule*) self, _tmp98_);
 
3650
                                        _tmp100_ = _tmp99_;
 
3651
                                        vala_ccode_function_call_add_argument (ccall, _tmp100_);
 
3652
                                        _vala_ccode_node_unref0 (_tmp100_);
3683
3653
                                } else {
3684
 
                                        ValaCCodeExpression* _tmp114_ = NULL;
3685
 
                                        ValaCCodeExpression* _tmp115_;
3686
 
                                        _tmp114_ = vala_ccode_base_module_get_result_cexpression ((ValaCCodeBaseModule*) self, "self");
3687
 
                                        _tmp115_ = _tmp114_;
3688
 
                                        vala_ccode_function_call_add_argument (ccall, _tmp115_);
3689
 
                                        _vala_ccode_node_unref0 (_tmp115_);
 
3654
                                        ValaCCodeExpression* _tmp101_ = NULL;
 
3655
                                        ValaCCodeExpression* _tmp102_;
 
3656
                                        _tmp101_ = vala_ccode_base_module_get_result_cexpression ((ValaCCodeBaseModule*) self, "self");
 
3657
                                        _tmp102_ = _tmp101_;
 
3658
                                        vala_ccode_function_call_add_argument (ccall, _tmp102_);
 
3659
                                        _vala_ccode_node_unref0 (_tmp102_);
3690
3660
                                }
3691
3661
                                _vala_code_node_unref0 (right_ma);
3692
3662
                        } else {
3693
3663
                                if (VALA_IS_LAMBDA_EXPRESSION (handler)) {
3694
 
                                        ValaCCodeExpression* _tmp116_ = NULL;
3695
 
                                        ValaCCodeExpression* _tmp117_;
3696
 
                                        _tmp116_ = vala_ccode_base_module_get_result_cexpression ((ValaCCodeBaseModule*) self, "self");
3697
 
                                        _tmp117_ = _tmp116_;
3698
 
                                        vala_ccode_function_call_add_argument (ccall, _tmp117_);
3699
 
                                        _vala_ccode_node_unref0 (_tmp117_);
 
3664
                                        ValaCCodeExpression* _tmp103_ = NULL;
 
3665
                                        ValaCCodeExpression* _tmp104_;
 
3666
                                        _tmp103_ = vala_ccode_base_module_get_result_cexpression ((ValaCCodeBaseModule*) self, "self");
 
3667
                                        _tmp104_ = _tmp103_;
 
3668
                                        vala_ccode_function_call_add_argument (ccall, _tmp104_);
 
3669
                                        _vala_ccode_node_unref0 (_tmp104_);
3700
3670
                                }
3701
3671
                        }
3702
3672
                        if (!disconnect) {
3703
 
                                _tmp119_ = !VALA_IS_DYNAMIC_SIGNAL (sig);
3704
 
                        } else {
3705
 
                                _tmp119_ = FALSE;
3706
 
                        }
3707
 
                        if (_tmp119_) {
3708
 
                                gboolean _tmp120_;
3709
 
                                _tmp120_ = vala_gsignal_module_in_gobject_instance (self, m);
3710
 
                                _tmp118_ = _tmp120_;
3711
 
                        } else {
3712
 
                                _tmp118_ = FALSE;
3713
 
                        }
3714
 
                        if (_tmp118_) {
 
3673
                                _tmp106_ = !VALA_IS_DYNAMIC_SIGNAL (sig);
 
3674
                        } else {
 
3675
                                _tmp106_ = FALSE;
 
3676
                        }
 
3677
                        if (_tmp106_) {
 
3678
                                gboolean _tmp107_;
 
3679
                                _tmp107_ = vala_gsignal_module_in_gobject_instance (self, m);
 
3680
                                _tmp105_ = _tmp107_;
 
3681
                        } else {
 
3682
                                _tmp105_ = FALSE;
 
3683
                        }
 
3684
                        if (_tmp105_) {
3715
3685
                                if (!after) {
3716
 
                                        ValaCCodeConstant* _tmp121_ = NULL;
3717
 
                                        ValaCCodeConstant* _tmp122_;
3718
 
                                        _tmp121_ = vala_ccode_constant_new ("0");
3719
 
                                        _tmp122_ = _tmp121_;
3720
 
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp122_);
3721
 
                                        _vala_ccode_node_unref0 (_tmp122_);
 
3686
                                        ValaCCodeConstant* _tmp108_ = NULL;
 
3687
                                        ValaCCodeConstant* _tmp109_;
 
3688
                                        _tmp108_ = vala_ccode_constant_new ("0");
 
3689
                                        _tmp109_ = _tmp108_;
 
3690
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp109_);
 
3691
                                        _vala_ccode_node_unref0 (_tmp109_);
3722
3692
                                } else {
3723
 
                                        ValaCCodeConstant* _tmp123_ = NULL;
3724
 
                                        ValaCCodeConstant* _tmp124_;
3725
 
                                        _tmp123_ = vala_ccode_constant_new ("G_CONNECT_AFTER");
3726
 
                                        _tmp124_ = _tmp123_;
3727
 
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp124_);
3728
 
                                        _vala_ccode_node_unref0 (_tmp124_);
 
3693
                                        ValaCCodeConstant* _tmp110_ = NULL;
 
3694
                                        ValaCCodeConstant* _tmp111_;
 
3695
                                        _tmp110_ = vala_ccode_constant_new ("G_CONNECT_AFTER");
 
3696
                                        _tmp111_ = _tmp110_;
 
3697
                                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp111_);
 
3698
                                        _vala_ccode_node_unref0 (_tmp111_);
3729
3699
                                }
3730
3700
                        }
3731
3701
                } else {
3732
 
                        ValaCCodeConstant* _tmp125_ = NULL;
3733
 
                        ValaCCodeConstant* _tmp126_;
3734
 
                        _tmp125_ = vala_ccode_constant_new ("NULL");
3735
 
                        _tmp126_ = _tmp125_;
3736
 
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp126_);
3737
 
                        _vala_ccode_node_unref0 (_tmp126_);
 
3702
                        ValaCCodeConstant* _tmp112_ = NULL;
 
3703
                        ValaCCodeConstant* _tmp113_;
 
3704
                        _tmp112_ = vala_ccode_constant_new ("NULL");
 
3705
                        _tmp113_ = _tmp112_;
 
3706
                        vala_ccode_function_call_add_argument (ccall, (ValaCCodeExpression*) _tmp113_);
 
3707
                        _vala_ccode_node_unref0 (_tmp113_);
3738
3708
                }
3739
3709
        }
3740
3710
        if (disconnect) {
3741
 
                _tmp127_ = TRUE;
 
3711
                _tmp114_ = TRUE;
3742
3712
        } else {
3743
 
                ValaCodeNode* _tmp128_ = NULL;
3744
 
                _tmp128_ = vala_code_node_get_parent_node (expr);
3745
 
                _tmp127_ = VALA_IS_EXPRESSION_STATEMENT (_tmp128_);
 
3713
                ValaCodeNode* _tmp115_ = NULL;
 
3714
                _tmp115_ = vala_code_node_get_parent_node (expr);
 
3715
                _tmp114_ = VALA_IS_EXPRESSION_STATEMENT (_tmp115_);
3746
3716
        }
3747
 
        if (_tmp127_) {
3748
 
                ValaCCodeFunction* _tmp129_ = NULL;
3749
 
                _tmp129_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3750
 
                vala_ccode_function_add_expression (_tmp129_, (ValaCCodeExpression*) ccall);
 
3717
        if (_tmp114_) {
 
3718
                ValaCCodeFunction* _tmp116_ = NULL;
 
3719
                _tmp116_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
3720
                vala_ccode_function_add_expression (_tmp116_, (ValaCCodeExpression*) ccall);
3751
3721
                result = NULL;
3752
3722
                _vala_code_node_unref0 (ma);
3753
3723
                _vala_ccode_node_unref0 (signal_name_cexpr);
3756
3726
                _g_free0 (connect_func);
3757
3727
                return result;
3758
3728
        } else {
3759
 
                ValaLocalVariable* _tmp130_ = NULL;
 
3729
                ValaLocalVariable* _tmp117_ = NULL;
3760
3730
                ValaLocalVariable* temp_var;
3761
 
                const gchar* _tmp131_ = NULL;
3762
 
                ValaCCodeExpression* _tmp132_ = NULL;
 
3731
                const gchar* _tmp118_ = NULL;
 
3732
                ValaCCodeExpression* _tmp119_ = NULL;
3763
3733
                ValaCCodeExpression* temp_ref;
3764
 
                ValaCCodeFunction* _tmp133_ = NULL;
3765
 
                _tmp130_ = vala_ccode_base_module_get_temp_variable ((ValaCCodeBaseModule*) self, ((ValaCCodeBaseModule*) self)->ulong_type, TRUE, NULL, TRUE);
3766
 
                temp_var = _tmp130_;
3767
 
                _tmp131_ = vala_symbol_get_name ((ValaSymbol*) temp_var);
3768
 
                _tmp132_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp131_);
3769
 
                temp_ref = _tmp132_;
 
3734
                ValaCCodeFunction* _tmp120_ = NULL;
 
3735
                _tmp117_ = vala_ccode_base_module_get_temp_variable ((ValaCCodeBaseModule*) self, ((ValaCCodeBaseModule*) self)->ulong_type, TRUE, NULL, TRUE);
 
3736
                temp_var = _tmp117_;
 
3737
                _tmp118_ = vala_symbol_get_name ((ValaSymbol*) temp_var);
 
3738
                _tmp119_ = vala_ccode_base_module_get_variable_cexpression ((ValaCCodeBaseModule*) self, _tmp118_);
 
3739
                temp_ref = _tmp119_;
3770
3740
                vala_ccode_base_module_emit_temp_var ((ValaCCodeBaseModule*) self, temp_var, FALSE);
3771
 
                _tmp133_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
3772
 
                vala_ccode_function_add_assignment (_tmp133_, temp_ref, (ValaCCodeExpression*) ccall);
 
3741
                _tmp120_ = vala_ccode_base_module_get_ccode ((ValaCCodeBaseModule*) self);
 
3742
                vala_ccode_function_add_assignment (_tmp120_, temp_ref, (ValaCCodeExpression*) ccall);
3773
3743
                result = temp_ref;
3774
3744
                _vala_code_node_unref0 (temp_var);
3775
3745
                _vala_code_node_unref0 (ma);