summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2017-08-26 12:43:53 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2017-08-26 12:43:53 +0200
commit3bcfd0be082b7f6317b7eeebc899a1885840036d (patch)
tree341d31e33c711e79eb0797c7262854e2f794d9a8
parent537ff8301aeefddb5335bb717eae5961cabb56d9 (diff)
downloadvala-3bcfd0be082b7f6317b7eeebc899a1885840036d.tar.gz
girparser: Support "cname" argument in metadata
-rw-r--r--vala/valagirparser.vala10
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"];