]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
GObject: Declare property accessors used in get/set_property
authorJürg Billeter <j@bitron.ch>
Wed, 16 Sep 2009 12:03:03 +0000 (14:03 +0200)
committerJürg Billeter <j@bitron.ch>
Wed, 16 Sep 2009 12:03:03 +0000 (14:03 +0200)
codegen/valagobjectmodule.vala

index bc357ea3e5cc472ac02dd04342a1ab657f1aa2f8..7b3b515b61a6a1c952897cf4ca71e6f56c308309 100644 (file)
@@ -210,10 +210,14 @@ internal class Vala.GObjectModule : GTypeModule {
                                var base_type = (Class) prop.base_property.parent_symbol;
                                prefix = base_type.get_lower_case_cname (null);
                                cself = transform_expression (cself, new ObjectType (cl), new ObjectType (base_type));
+
+                               generate_property_accessor_declaration (prop.base_property.get_accessor, source_declarations);
                        } else if (prop.base_interface_property != null) {
                                var base_type = (Interface) prop.base_interface_property.parent_symbol;
                                prefix = base_type.get_lower_case_cname (null);
                                cself = transform_expression (cself, new ObjectType (cl), new ObjectType (base_type));
+
+                               generate_property_accessor_declaration (prop.base_interface_property.get_accessor, source_declarations);
                        }
 
                        cswitch.add_statement (new CCodeCaseStatement (new CCodeIdentifier (prop.get_upper_case_cname ())));
@@ -286,10 +290,14 @@ internal class Vala.GObjectModule : GTypeModule {
                                var base_type = (Class) prop.base_property.parent_symbol;
                                prefix = base_type.get_lower_case_cname (null);
                                cself = transform_expression (cself, new ObjectType (cl), new ObjectType (base_type));
+
+                               generate_property_accessor_declaration (prop.base_property.set_accessor, source_declarations);
                        } else if (prop.base_interface_property != null) {
                                var base_type = (Interface) prop.base_interface_property.parent_symbol;
                                prefix = base_type.get_lower_case_cname (null);
                                cself = transform_expression (cself, new ObjectType (cl), new ObjectType (base_type));
+
+                               generate_property_accessor_declaration (prop.base_interface_property.set_accessor, source_declarations);
                        }
 
                        cswitch.add_statement (new CCodeCaseStatement (new CCodeIdentifier (prop.get_upper_case_cname ())));