]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
girparser: Add support for NoWrapper metadata for methods
authorRico Tzschichholz <ricotz@ubuntu.com>
Tue, 16 Mar 2021 14:34:02 +0000 (15:34 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Thu, 18 Mar 2021 09:14:17 +0000 (10:14 +0100)
vala/valagirparser.vala

index 34a74e252c405ef1b7fc6669e26686fd12b2e599..6c8a5f2d59240a60a80643d2502f04beca1f756f 100644 (file)
@@ -94,6 +94,7 @@ public class Vala.GirParser : CodeVisitor {
                DESTROY_NOTIFY_CNAME,
                FINISH_VFUNC_NAME,
                NO_ACCESSOR_METHOD,
+               NO_WRAPPER,
                CNAME,
                DELEGATE_TARGET,
                CTYPE;
@@ -3319,9 +3320,12 @@ public class Vala.GirParser : CodeVisitor {
                                } else {
                                        m.is_virtual = true;
                                }
-                               if (invoker == null && !metadata.has_argument (ArgumentType.VFUNC_NAME)) {
+                               if (metadata.has_argument (ArgumentType.NO_WRAPPER)) {
+                                       s.set_attribute ("NoWrapper", metadata.get_bool (ArgumentType.NO_WRAPPER), s.source_reference);
+                               } else if (invoker == null && !metadata.has_argument (ArgumentType.VFUNC_NAME)) {
                                        s.set_attribute ("NoWrapper", true, s.source_reference);
-                               } if (current.girdata["name"] != name) {
+                               }
+                               if (current.girdata["name"] != name) {
                                        m.set_attribute_string ("CCode", "vfunc_name", current.girdata["name"]);
                                }
                        } else if (symbol_type == "function") {