/* genie_function_returns_closure.c generated by valac, the Vala compiler * generated from genie_function_returns_closure.gs, do not modify */ #include #include #include #if !defined(VALA_EXTERN) #if defined(_WIN32) || defined(__CYGWIN__) #define VALA_EXTERN __declspec(dllexport) extern #elif __GNUC__ >= 4 #define VALA_EXTERN __attribute__((visibility("default"))) extern #else #define VALA_EXTERN extern #endif #endif typedef gboolean (*TestFunction) (gpointer user_data); #define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); #define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } #define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } #define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); static void _vala_main (gchar** args, gint args_length1); VALA_EXTERN TestFunction test (gpointer* result_target, GDestroyNotify* result_target_destroy_notify); static gboolean _vala_lambda0_ (void); static gboolean __vala_lambda0__test_function (gpointer self); static void _vala_main (gchar** args, gint args_length1) { gpointer _tmp0_ = NULL; GDestroyNotify _tmp1_ = NULL; TestFunction _tmp2_; TestFunction _tmp3_; gpointer _tmp3__target; GDestroyNotify _tmp3__target_destroy_notify; _tmp2_ = test (&_tmp0_, &_tmp1_); _tmp3_ = _tmp2_; _tmp3__target = _tmp0_; _tmp3__target_destroy_notify = _tmp1_; _vala_assert (_tmp3_ (_tmp0_) == TRUE, "test()() == true"); (_tmp3__target_destroy_notify == NULL) ? NULL : (_tmp3__target_destroy_notify (_tmp3__target), NULL); _tmp3_ = NULL; _tmp3__target = NULL; _tmp3__target_destroy_notify = NULL; } int main (int argc, char ** argv) { _vala_main (argv, argc); return 0; } static gboolean _vala_lambda0_ (void) { gboolean result; result = TRUE; return result; } static gboolean __vala_lambda0__test_function (gpointer self) { gboolean result; result = _vala_lambda0_ (); return result; } TestFunction test (gpointer* result_target, GDestroyNotify* result_target_destroy_notify) { TestFunction _tmp0_; gpointer _tmp0__target; GDestroyNotify _tmp0__target_destroy_notify; TestFunction result; _tmp0_ = __vala_lambda0__test_function; _tmp0__target = NULL; _tmp0__target_destroy_notify = NULL; *result_target = _tmp0__target; *result_target_destroy_notify = _tmp0__target_destroy_notify; result = _tmp0_; return result; }