From: Evan Nemerson Date: Wed, 20 Feb 2013 22:01:37 +0000 (-0800) Subject: girparser: support renaming fields in metadata X-Git-Tag: 0.20.0~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5d6b1a2695bb6e685c44a0685d2ba0e96b9a0984;p=thirdparty%2Fvala.git girparser: support renaming fields in metadata Previously we allowed metadata to change field names, but did not set the cname CCode attribute, which would cause invalid C to be generated. --- diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index f58345c5a..b6cbe1634 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -2670,9 +2670,15 @@ public class Vala.GirParser : CodeVisitor { bool no_array_length = true; type = element_get_type (type, true, ref no_array_length); - var field = new Field (current.name, type, null, current.source_reference); + string name = current.name; + string cname = current.girdata["name"]; + + var field = new Field (name, type, null, current.source_reference); field.access = SymbolAccessibility.PUBLIC; field.comment = comment; + if (name != cname) { + field.set_attribute_string ("CCode", "cname", cname); + } if (type is ArrayType) { if (no_array_length) { field.set_attribute_bool ("CCode", "array_length", false);