/* methods_bug646345.c generated by valac, the Vala compiler * generated from methods_bug646345.vala, do not modify */ #include #include #include typedef struct _Block1Data Block1Data; #define _g_free0(var) (var = (g_free (var), NULL)) typedef struct _Block2Data Block2Data; struct _Block1Data { int _ref_count_; gchar* outervar; }; struct _Block2Data { int _ref_count_; gchar* innervar; }; static void _vala_main (void); static Block1Data* block1_data_ref (Block1Data* _data1_); static void block1_data_unref (void * _userdata_); static gboolean _vala_lambda0_ (Block1Data* _data1_); static gboolean __vala_lambda0__gsource_func (gpointer self); static gboolean _vala_lambda1_ (void); static Block2Data* block2_data_ref (Block2Data* _data2_); static void block2_data_unref (void * _userdata_); static gboolean _vala_lambda2_ (Block2Data* _data2_); static gboolean __vala_lambda2__gsource_func (gpointer self); static gboolean __vala_lambda1__gsource_func (gpointer self); static Block1Data* block1_data_ref (Block1Data* _data1_) { g_atomic_int_inc (&_data1_->_ref_count_); return _data1_; } static void block1_data_unref (void * _userdata_) { Block1Data* _data1_; _data1_ = (Block1Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) { _g_free0 (_data1_->outervar); g_slice_free (Block1Data, _data1_); } } static gboolean _vala_lambda0_ (Block1Data* _data1_) { gchar* _tmp0_; gboolean result; _tmp0_ = g_strdup ("outerbar"); _g_free0 (_data1_->outervar); _data1_->outervar = _tmp0_; result = FALSE; return result; } static gboolean __vala_lambda0__gsource_func (gpointer self) { gboolean result; result = _vala_lambda0_ (self); return result; } static Block2Data* block2_data_ref (Block2Data* _data2_) { g_atomic_int_inc (&_data2_->_ref_count_); return _data2_; } static void block2_data_unref (void * _userdata_) { Block2Data* _data2_; _data2_ = (Block2Data*) _userdata_; if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) { _g_free0 (_data2_->innervar); g_slice_free (Block2Data, _data2_); } } static gboolean _vala_lambda2_ (Block2Data* _data2_) { gchar* _tmp0_; gboolean result; _tmp0_ = g_strdup ("innerbar"); _g_free0 (_data2_->innervar); _data2_->innervar = _tmp0_; result = FALSE; return result; } static gboolean __vala_lambda2__gsource_func (gpointer self) { gboolean result; result = _vala_lambda2_ (self); return result; } static gboolean _vala_lambda1_ (void) { Block2Data* _data2_; gchar* _tmp0_; GSourceFunc innerfunc = NULL; gpointer innerfunc_target; GDestroyNotify innerfunc_target_destroy_notify; gboolean result; _data2_ = g_slice_new0 (Block2Data); _data2_->_ref_count_ = 1; _tmp0_ = g_strdup ("innerfoo"); _data2_->innervar = _tmp0_; innerfunc = __vala_lambda2__gsource_func; innerfunc_target = block2_data_ref (_data2_); innerfunc_target_destroy_notify = block2_data_unref; result = FALSE; (innerfunc_target_destroy_notify == NULL) ? NULL : (innerfunc_target_destroy_notify (innerfunc_target), NULL); innerfunc = NULL; innerfunc_target = NULL; innerfunc_target_destroy_notify = NULL; block2_data_unref (_data2_); _data2_ = NULL; return result; } static gboolean __vala_lambda1__gsource_func (gpointer self) { gboolean result; result = _vala_lambda1_ (); return result; } static void _vala_main (void) { Block1Data* _data1_; gchar* _tmp0_; GSourceFunc firstfunc = NULL; gpointer firstfunc_target; GDestroyNotify firstfunc_target_destroy_notify; GSourceFunc secondfunc = NULL; gpointer secondfunc_target; GDestroyNotify secondfunc_target_destroy_notify; _data1_ = g_slice_new0 (Block1Data); _data1_->_ref_count_ = 1; _tmp0_ = g_strdup ("outerfoo"); _data1_->outervar = _tmp0_; firstfunc = __vala_lambda0__gsource_func; firstfunc_target = block1_data_ref (_data1_); firstfunc_target_destroy_notify = block1_data_unref; secondfunc = __vala_lambda1__gsource_func; secondfunc_target = NULL; secondfunc_target_destroy_notify = NULL; (secondfunc_target_destroy_notify == NULL) ? NULL : (secondfunc_target_destroy_notify (secondfunc_target), NULL); secondfunc = NULL; secondfunc_target = NULL; secondfunc_target_destroy_notify = NULL; (firstfunc_target_destroy_notify == NULL) ? NULL : (firstfunc_target_destroy_notify (firstfunc_target), NULL); firstfunc = NULL; firstfunc_target = NULL; firstfunc_target_destroy_notify = NULL; block1_data_unref (_data1_); _data1_ = NULL; } int main (int argc, char ** argv) { _vala_main (); return 0; }