diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2022-02-06 08:57:35 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2022-02-06 12:27:54 +0100 |
commit | 406b3a6de4bdd22f6495f85cae44914a3c6d2027 (patch) | |
tree | 27bde598f62b716ad60881c1b55bc7ee8dd6c3a3 /codegen/valaccodebasemodule.vala | |
parent | eb7aac385b168cc7b6bc06c387b7f3ac7942490a (diff) | |
download | vala-406b3a6de4bdd22f6495f85cae44914a3c6d2027.tar.gz |
codegen: Stop generating wrappers for dynamic property access
Diffstat (limited to 'codegen/valaccodebasemodule.vala')
-rw-r--r-- | codegen/valaccodebasemodule.vala | 36 |
1 files changed, 11 insertions, 25 deletions
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index edf72b5a6..65a6df560 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -6456,19 +6456,15 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { var set_func = "g_object_set"; - if (!get_ccode_no_accessor_method (prop)) { - if (prop is DynamicProperty) { - set_func = get_dynamic_property_setter_cname ((DynamicProperty) prop); - } else { - generate_property_accessor_declaration (base_prop.set_accessor, cfile); - set_func = get_ccode_name (base_prop.set_accessor); - - if (!prop.external && prop.external_package) { - // internal VAPI properties - // only add them once per source file - if (add_generated_external_symbol (prop)) { - visit_property (prop); - } + if (!get_ccode_no_accessor_method (prop) && !(prop is DynamicProperty)) { + generate_property_accessor_declaration (base_prop.set_accessor, cfile); + set_func = get_ccode_name (base_prop.set_accessor); + + if (!prop.external && prop.external_package) { + // internal VAPI properties + // only add them once per source file + if (add_generated_external_symbol (prop)) { + visit_property (prop); } } } @@ -6491,7 +6487,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { ccall.add_argument (cinstance); } - if (get_ccode_no_accessor_method (prop)) { + if (get_ccode_no_accessor_method (prop) || prop is DynamicProperty) { /* property name is second argument of g_object_set */ ccall.add_argument (get_property_canonical_cconstant (prop)); } @@ -6525,7 +6521,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { } } - if (get_ccode_no_accessor_method (prop)) { + if (get_ccode_no_accessor_method (prop) || prop is DynamicProperty) { ccall.add_argument (new CCodeConstant ("NULL")); } @@ -6821,16 +6817,6 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { public virtual void register_dbus_info (CCodeBlock block, ObjectTypeSymbol bindable) { } - public virtual string get_dynamic_property_getter_cname (DynamicProperty node) { - Report.error (node.source_reference, "dynamic properties are not supported for %s", node.dynamic_type.to_string ()); - return ""; - } - - public virtual string get_dynamic_property_setter_cname (DynamicProperty node) { - Report.error (node.source_reference, "dynamic properties are not supported for %s", node.dynamic_type.to_string ()); - return ""; - } - public virtual string get_dynamic_signal_cname (DynamicSignal node) { return ""; } |