]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Don't add static modifier to abstract property setters
authorRico Tzschichholz <ricotz@ubuntu.com>
Thu, 23 Feb 2017 21:59:02 +0000 (22:59 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Fri, 24 Feb 2017 13:29:34 +0000 (14:29 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=673389

codegen/valaccodebasemodule.vala

index b1eaf3e095716ded8cd340687086f6f03c028539..6a18b881b5757e7e9fc9edbe5022c2fc541881f1 100644 (file)
@@ -1522,7 +1522,8 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                        function.modifiers |= CCodeModifiers.DEPRECATED;
                }
 
-               if (prop.is_private_symbol () || (!acc.readable && !acc.writable) || acc.access == SymbolAccessibility.PRIVATE) {
+               if (!prop.is_abstract
+                   && (prop.is_private_symbol () || (!acc.readable && !acc.writable) || acc.access == SymbolAccessibility.PRIVATE)) {
                        function.modifiers |= CCodeModifiers.STATIC;
                } else if (context.hide_internal && (prop.is_internal_symbol () || acc.access == SymbolAccessibility.INTERNAL)) {
                        function.modifiers |= CCodeModifiers.INTERNAL;
@@ -1619,7 +1620,8 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                                }
                        }
 
-                       if (prop.is_private_symbol () || !(acc.readable || acc.writable) || acc.access == SymbolAccessibility.PRIVATE) {
+                       if (!prop.is_abstract
+                           && (prop.is_private_symbol () || !(acc.readable || acc.writable) || acc.access == SymbolAccessibility.PRIVATE)) {
                                // accessor function should be private if the property is an internal symbol or it's a construct-only setter
                                function.modifiers |= CCodeModifiers.STATIC;
                        } else if (context.hide_internal && (prop.is_internal_symbol () || acc.access == SymbolAccessibility.INTERNAL)) {