From: Jürg Billeter Date: Wed, 4 Jun 2008 14:41:34 +0000 (+0000) Subject: Support 'cheader_filename' attribute for fields and methods, fixes bug X-Git-Tag: VALA_0_3_4~91 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=84c9b65d65b5333bc789e3affcacdb9df3529308;p=thirdparty%2Fvala.git Support 'cheader_filename' attribute for fields and methods, fixes bug 2008-06-04 Jürg Billeter * vapigen/valagidlparser.vala: Support 'cheader_filename' attribute for fields and methods, fixes bug 533634 svn path=/trunk/; revision=1562 --- diff --git a/ChangeLog b/ChangeLog index 896129d07..653182046 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-06-04 Jürg Billeter + + * vapigen/valagidlparser.vala: + + Support 'cheader_filename' attribute for fields and methods, + fixes bug 533634 + 2008-06-04 Jürg Billeter * gobject/valaccodeclassbinding.vala: diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala index 77cc0f73f..f0f5196ef 100644 --- a/vapigen/valagidlparser.vala +++ b/vapigen/valagidlparser.vala @@ -1312,6 +1312,8 @@ public class Vala.GIdlParser : CodeVisitor { arg_type.value_owned = true; return_type.add_type_argument (arg_type); } + } else if (nv[0] == "cheader_filename") { + m.add_cheader_filename (eval (nv[1])); } } } @@ -1633,6 +1635,8 @@ public class Vala.GIdlParser : CodeVisitor { return null; } + string cheader_filename = null; + var attributes = get_attributes ("%s.%s".printf (current_data_type.get_cname (), node.name)); if (attributes != null) { foreach (string attr in attributes) { @@ -1660,6 +1664,8 @@ public class Vala.GIdlParser : CodeVisitor { arg_type.value_owned = true; type.add_type_argument (arg_type); } + } else if (nv[0] == "cheader_filename") { + cheader_filename = eval (nv[1]); } } } @@ -1685,6 +1691,10 @@ public class Vala.GIdlParser : CodeVisitor { field.set_cname (node.name); } + if (cheader_filename != null) { + field.add_cheader_filename (cheader_filename); + } + field.no_array_length = true; return field;