From: Rico Tzschichholz Date: Tue, 12 Jun 2018 13:40:01 +0000 (+0200) Subject: codegen: Fix get_ccode_name() for properties X-Git-Tag: 0.43.1~111 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d5492573980ab26249c6544fd17542004dd73a2f;p=thirdparty%2Fvala.git codegen: Fix get_ccode_name() for properties Handle them the same way as signals and hold the canonical representation as ccode name. --- diff --git a/codegen/valaccodeattribute.vala b/codegen/valaccodeattribute.vala index 3740d232a..0b89230e8 100644 --- a/codegen/valaccodeattribute.vala +++ b/codegen/valaccodeattribute.vala @@ -692,6 +692,8 @@ public class Vala.CCodeAttribute : AttributeCache { } else { return "%s%s".printf (get_ccode_lower_case_prefix (sym.parent_symbol), sym.name); } + } else if (sym is Property) { + return sym.name.replace ("_", "-"); } else if (sym is PropertyAccessor) { unowned PropertyAccessor acc = (PropertyAccessor) sym; var t = (TypeSymbol) acc.prop.parent_symbol; diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index 3f277f737..0c22ef404 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -3893,7 +3893,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { } public string get_symbol_lock_name (string symname) { - return "__lock_%s".printf (symname); + return "__lock_%s".printf (symname.replace ("-", "_")); } private CCodeExpression get_lock_expression (Statement stmt, Expression resource) { @@ -6356,7 +6356,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { } public CCodeConstant get_property_canonical_cconstant (Property prop) { - return new CCodeConstant ("\"%s\"".printf (prop.name.replace ("_", "-"))); + return new CCodeConstant ("\"%s\"".printf (get_ccode_name (prop))); } public override void visit_class (Class cl) { diff --git a/codegen/valagirwriter.vala b/codegen/valagirwriter.vala index 834396cf2..a35036a06 100644 --- a/codegen/valagirwriter.vala +++ b/codegen/valagirwriter.vala @@ -1132,7 +1132,7 @@ public class Vala.GIRWriter : CodeVisitor { } write_indent (); - buffer.append_printf ("