[vala] girparser: support renaming fields in metadata



commit 5d6b1a2695bb6e685c44a0685d2ba0e96b9a0984
Author: Evan Nemerson <evan coeus-group com>
Date:   Wed Feb 20 14:01:37 2013 -0800

    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.

 vala/valagirparser.vala |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala
index f58345c..b6cbe16 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);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]