diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2017-08-26 12:43:53 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2017-08-26 12:43:53 +0200 |
commit | 3bcfd0be082b7f6317b7eeebc899a1885840036d (patch) | |
tree | 341d31e33c711e79eb0797c7262854e2f794d9a8 | |
parent | 537ff8301aeefddb5335bb717eae5961cabb56d9 (diff) | |
download | vala-3bcfd0be082b7f6317b7eeebc899a1885840036d.tar.gz |
girparser: Support "cname" argument in metadata
-rw-r--r-- | vala/valagirparser.vala | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index 219728c1e..ff2e3d3d7 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -85,7 +85,8 @@ public class Vala.GirParser : CodeVisitor { RETURN_VOID, RETURNS_MODIFIED_POINTER, DELEGATE_TARGET_CNAME, - FINISH_VFUNC_NAME; + FINISH_VFUNC_NAME, + CNAME; public static ArgumentType? from_string (string name) { var enum_class = (EnumClass) typeof(ArgumentType).class_ref (); @@ -736,7 +737,12 @@ public class Vala.GirParser : CodeVisitor { if (name == null) { return ""; } - var cname = symbol.get_attribute_string ("CCode", "cname"); + string cname; + if (metadata.has_argument (ArgumentType.CNAME)) { + cname = metadata.get_string (ArgumentType.CNAME); + } else { + cname = symbol.get_attribute_string ("CCode", "cname"); + } if (girdata != null) { if (cname == null) { cname = girdata["c:identifier"]; |