diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-11-01 14:24:09 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-11-01 14:32:05 +0100 |
commit | 8152d9144c337925688bfd10d277fa167e913472 (patch) | |
tree | e747afa7cb802242b31338e40ecb72450c0b113b /codegen/valagobjectmodule.vala | |
parent | b9df26bcf3d8f6884f14dcc33a1a9d891916ac9d (diff) | |
download | vala-8152d9144c337925688bfd10d277fa167e913472.tar.gz |
codegen: Stop generating wrappers for dynamic signal connections
Diffstat (limited to 'codegen/valagobjectmodule.vala')
-rw-r--r-- | codegen/valagobjectmodule.vala | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/codegen/valagobjectmodule.vala b/codegen/valagobjectmodule.vala index 238a67909..788de3e74 100644 --- a/codegen/valagobjectmodule.vala +++ b/codegen/valagobjectmodule.vala @@ -726,82 +726,6 @@ public class Vala.GObjectModule : GTypeModule { return "dynamic_%s%d_".printf (node.name, signal_wrapper_id++); } - public override string get_dynamic_signal_connect_wrapper_name (DynamicSignal sig) { - if (sig.dynamic_type.type_symbol == null - || !sig.dynamic_type.type_symbol.is_subtype_of (gobject_type)) { - return base.get_dynamic_signal_connect_wrapper_name (sig); - } - - string connect_wrapper_name = "_%sconnect".printf (get_dynamic_signal_cname (sig)); - var func = new CCodeFunction (connect_wrapper_name, "gulong"); - func.add_parameter (new CCodeParameter ("obj", "gpointer")); - func.add_parameter (new CCodeParameter ("signal_name", "const char *")); - func.add_parameter (new CCodeParameter ("handler", "GCallback")); - func.add_parameter (new CCodeParameter ("data", "gpointer")); - push_function (func); - generate_gobject_connect_wrapper (sig, false); - pop_function (); - - // append to C source file - cfile.add_function_declaration (func); - cfile.add_function (func); - - return connect_wrapper_name; - } - - public override string get_dynamic_signal_connect_after_wrapper_name (DynamicSignal sig) { - if (sig.dynamic_type.type_symbol == null - || !sig.dynamic_type.type_symbol.is_subtype_of (gobject_type)) { - return base.get_dynamic_signal_connect_wrapper_name (sig); - } - - string connect_wrapper_name = "_%sconnect_after".printf (get_dynamic_signal_cname (sig)); - var func = new CCodeFunction (connect_wrapper_name, "gulong"); - func.add_parameter (new CCodeParameter ("obj", "gpointer")); - func.add_parameter (new CCodeParameter ("signal_name", "const char *")); - func.add_parameter (new CCodeParameter ("handler", "GCallback")); - func.add_parameter (new CCodeParameter ("data", "gpointer")); - push_function (func); - generate_gobject_connect_wrapper (sig, true); - pop_function (); - - // append to C source file - cfile.add_function_declaration (func); - cfile.add_function (func); - - return connect_wrapper_name; - } - - void generate_gobject_connect_wrapper (DynamicSignal sig, bool after) { - var m = (Method) sig.handler.symbol_reference; - - sig.accept (this); - - string connect_func = "g_signal_connect_object"; - if (m.binding != MemberBinding.INSTANCE) { - if (!after) - connect_func = "g_signal_connect"; - else - connect_func = "g_signal_connect_after"; - } - - var call = new CCodeFunctionCall (new CCodeIdentifier (connect_func)); - call.add_argument (new CCodeIdentifier ("obj")); - call.add_argument (new CCodeIdentifier ("signal_name")); - call.add_argument (new CCodeIdentifier ("handler")); - call.add_argument (new CCodeIdentifier ("data")); - - if (m.binding == MemberBinding.INSTANCE) { - if (!after) { - call.add_argument (new CCodeConstant ("0")); - } else { - call.add_argument (new CCodeConstant ("G_CONNECT_AFTER")); - } - } - - ccode.add_return (call); - } - public override void visit_property (Property prop) { base.visit_property (prop); |