summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2021-03-16 15:34:02 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2021-03-18 10:27:30 +0100
commit287ae1e954a480e289f341bd7cd2a37c32937a0a (patch)
tree2551c03001f86d6f866f1a1dcb53f786d4e752a6
parent0f906f72530440ff2dd2121b930ad9d74695ace6 (diff)
downloadvala-287ae1e954a480e289f341bd7cd2a37c32937a0a.tar.gz
girparser: Add support for NoWrapper metadata for methods
-rw-r--r--vala/valagirparser.vala8
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") {