diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-03-16 15:34:02 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-03-18 10:27:30 +0100 |
commit | 287ae1e954a480e289f341bd7cd2a37c32937a0a (patch) | |
tree | 2551c03001f86d6f866f1a1dcb53f786d4e752a6 | |
parent | 0f906f72530440ff2dd2121b930ad9d74695ace6 (diff) | |
download | vala-287ae1e954a480e289f341bd7cd2a37c32937a0a.tar.gz |
girparser: Add support for NoWrapper metadata for methods
-rw-r--r-- | vala/valagirparser.vala | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index 036cf9c69..5496023c2 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -94,6 +94,7 @@ public class Vala.GirParser : CodeVisitor { DESTROY_NOTIFY_CNAME, FINISH_VFUNC_NAME, NO_ACCESSOR_METHOD, + NO_WRAPPER, CNAME, DELEGATE_TARGET, CTYPE; @@ -3293,9 +3294,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") { |