From: Rico Tzschichholz Date: Thu, 23 Feb 2017 21:59:02 +0000 (+0100) Subject: codegen: Don't add static modifier to abstract property setters X-Git-Tag: 0.35.6~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d1a3c5c59b7f993d6a116ebec8c55918856e215f;p=thirdparty%2Fvala.git codegen: Don't add static modifier to abstract property setters https://bugzilla.gnome.org/show_bug.cgi?id=673389 --- diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index b1eaf3e09..6a18b881b 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -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)) {