]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
girparser: Support "cname" argument in metadata
authorRico Tzschichholz <ricotz@ubuntu.com>
Sat, 26 Aug 2017 10:43:53 +0000 (12:43 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Sat, 26 Aug 2017 10:43:53 +0000 (12:43 +0200)
vala/valagirparser.vala

index 219728c1ede1d2d92379b73fada6e69d9cc976b0..ff2e3d3d71fdf71a994682d0d3ffd77ccb7768da 100644 (file)
@@ -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"];