]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Support cname attribute for enum values, patch by Jared Moore, fixes bug
authorJuerg Billeter <j@bitron.ch>
Sat, 10 May 2008 14:55:38 +0000 (14:55 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Sat, 10 May 2008 14:55:38 +0000 (14:55 +0000)
2008-05-10  Juerg Billeter  <j@bitron.ch>

* vala/valaattributeprocessor.vala:
* vala/valaenumvalue.vala:

Support cname attribute for enum values,
patch by Jared Moore, fixes bug 529288

svn path=/trunk/; revision=1353

ChangeLog
vala/valaattributeprocessor.vala
vala/valaenumvalue.vala

index bd54a5f4b8d4533c79f465886ed0208775295b39..5c08f11fabb2733675440bce168911ae54754106 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-05-10  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valaattributeprocessor.vala:
+       * vala/valaenumvalue.vala:
+
+       Support cname attribute for enum values,
+       patch by Jared Moore, fixes bug 529288
+
 2008-05-10  Jürg Billeter  <j@bitron.ch>
 
        * vapi/packages/gtk+-2.0/:
index d117b42f6958de842cd44a38e0b526eddb60219f..9daaf88c50b64a178c5271fb81148133dc38df6a 100644 (file)
@@ -68,6 +68,12 @@ public class Vala.AttributeProcessor : CodeVisitor {
 
        public override void visit_enum (Enum en) {
                en.process_attributes ();
+
+               en.accept_children (this);
+       }
+
+       public override void visit_enum_value (EnumValue ev) {
+               ev.process_attributes ();
        }
 
        public override void visit_error_domain (ErrorDomain edomain) {
index 9bfd3f6d8e889c7c1d5f921377c1cb4f84213a3b..7ba73068783ea0cae185d0c8c38a27c13b07c006 100644 (file)
@@ -94,6 +94,18 @@ public class Vala.EnumValue : Symbol {
                }
        }
 
+       /**
+        * Process all associated attributes.
+        */
+       public void process_attributes () {
+               foreach (Attribute a in attributes) {
+                       if (a.name == "CCode" && a.has_argument("cname")) {
+                               cname = a.get_string ("cname");
+                       }
+               }
+       }
+
+
        /**
         * Returns the name of this enum value as it is used in C code.
         *