]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Fix get_ccode_name() for properties
authorRico Tzschichholz <ricotz@ubuntu.com>
Tue, 12 Jun 2018 13:40:01 +0000 (15:40 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Wed, 14 Nov 2018 19:11:04 +0000 (20:11 +0100)
Handle them the same way as signals and hold the canonical representation
as ccode name.

codegen/valaccodeattribute.vala
codegen/valaccodebasemodule.vala
codegen/valagirwriter.vala

index 3740d232a9f03ba99bedb1cdff45d9d7937f9b86..0b89230e89c2719aa563373f3935f2931f8f9987 100644 (file)
@@ -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;
index 3f277f7374fd662a9d8bebbc20e0b94eb680732f..0c22ef40483c66e0602f642e65b0e9e70f43eaca 100644 (file)
@@ -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) {
index 834396cf260103477356ca9a7b835337c652cf15..a35036a06e0f260f791258dc57334f8940eb3106 100644 (file)
@@ -1132,7 +1132,7 @@ public class Vala.GIRWriter : CodeVisitor {
                }
 
                write_indent ();
-               buffer.append_printf ("<property name=\"%s\"", prop.name.replace ("_", "-"));
+               buffer.append_printf ("<property name=\"%s\"", get_ccode_name (prop));
                if (prop.get_accessor == null) {
                        buffer.append_printf (" readable=\"0\"");
                }