support cheader_filename metadata attribute for delegates
authorJuerg Billeter <j@bitron.ch>
Sat, 1 Mar 2008 14:42:39 +0000 (14:42 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Sat, 1 Mar 2008 14:42:39 +0000 (14:42 +0000)
2008-03-01  Juerg Billeter  <j@bitron.ch>

* vapigen/valagidlparser.vala: support cheader_filename metadata
  attribute for delegates

svn path=/trunk/; revision=1077

ChangeLog
vapigen/valagidlparser.vala

index 923dbe6..9554026 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2008-03-01  Jürg Billeter  <j@bitron.ch>
 
+       * vapigen/valagidlparser.vala: support cheader_filename metadata
+         attribute for delegates
+
+2008-03-01  Jürg Billeter  <j@bitron.ch>
+
        * vapi/atk.vapi, vapi/gconf-2.0.vapi, vapi/gdk-2.0.vapi,
          vapi/gdk-pixbuf-2.0.vapi, vapi/gnet-2.0.vapi, vapi/gnome-vfs-2.0.vapi,
          vapi/gstreamer-0.10.vapi, vapi/gstreamer-audio-0.10.vapi,
index 2c232c2..ea210bb 100644 (file)
@@ -278,6 +278,9 @@ public class Vala.GIdlParser : CodeVisitor {
        
        private Delegate parse_delegate (IdlNodeFunction! f_node) {
                weak IdlNode node = (IdlNode) f_node;
+       
+               var cb = new Delegate (node.name, parse_param (f_node.result), current_source_reference);
+               cb.access = SymbolAccessibility.PUBLIC;
 
                var attributes = get_attributes (node.name);
                if (attributes != null) {
@@ -287,13 +290,12 @@ public class Vala.GIdlParser : CodeVisitor {
                                        if (eval (nv[1]) == "1") {
                                                return null;
                                        }
+                               } else if (nv[0] == "cheader_filename") {
+                                       cb.add_cheader_filename (eval (nv[1]));
                                }
                        }
                }
-       
-               var cb = new Delegate (node.name, parse_param (f_node.result), current_source_reference);
-               cb.access = SymbolAccessibility.PUBLIC;
-               
+
                foreach (weak IdlNodeParam param in f_node.parameters) {
                        weak IdlNode param_node = (IdlNode) param;