From: Rico Tzschichholz Date: Sun, 5 Feb 2023 18:33:15 +0000 (+0100) Subject: vala: Allow more general usage of PropertyAccessor.get_method() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7e5024ae2694c5406310314933235b68d79b1fca;p=thirdparty%2Fvala.git vala: Allow more general usage of PropertyAccessor.get_method() --- diff --git a/codegen/valagirwriter.vala b/codegen/valagirwriter.vala index f7c37d735..01987d4fc 100644 --- a/codegen/valagirwriter.vala +++ b/codegen/valagirwriter.vala @@ -776,7 +776,7 @@ public class Vala.GIRWriter : CodeVisitor { foreach (var prop in iface.get_properties ()) { if (prop.is_abstract || prop.is_virtual) { - if (prop.get_accessor != null) { + if (prop.get_accessor != null && prop.get_accessor.readable) { var m = prop.get_accessor.get_method (); write_indent (); buffer.append_printf("\n"); } - if (prop.get_accessor != null) { + if (prop.get_accessor != null && prop.get_accessor.readable) { var m = prop.get_accessor.get_method (); if (m != null) { visit_method (m); } } - if (prop.set_accessor != null) { + if (prop.set_accessor != null && prop.set_accessor.writable) { var m = prop.set_accessor.get_method (); if (m != null) { visit_method (m); diff --git a/vala/valapropertyaccessor.vala b/vala/valapropertyaccessor.vala index 979239d2e..0fbf4d32f 100644 --- a/vala/valapropertyaccessor.vala +++ b/vala/valapropertyaccessor.vala @@ -128,7 +128,7 @@ public class Vala.PropertyAccessor : Subroutine { m.copy_attribute_string (prop, "CCode", "array_length_type"); m.copy_attribute_bool (prop, "CCode", "array_null_terminated"); m.copy_attribute_bool (prop, "CCode", "delegate_target"); - } else if (writable) { + } else if (writable || construction) { m = new Method ("set_%s".printf (prop.name), new VoidType(), source_reference, comment); m.add_parameter (value_parameter.copy ()); }