diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-01-25 21:11:55 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2021-01-25 21:14:17 +0100 |
commit | 3037b41b6f44a7a3fe7d2bcf3f51177425b2e5cf (patch) | |
tree | e94c62b50d7edb43ba87df8897eadbe456fc0ff7 /vala/valagirparser.vala | |
parent | bb97ca55e499e47bd3b02113fca65d02d993ec88 (diff) | |
download | vala-3037b41b6f44a7a3fe7d2bcf3f51177425b2e5cf.tar.gz |
girparser: Apply "delegate_target" metadata for methods and parameters
Diffstat (limited to 'vala/valagirparser.vala')
-rw-r--r-- | vala/valagirparser.vala | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index c17658981..63cb7fc6c 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -979,6 +979,9 @@ public class Vala.GirParser : CodeVisitor { } } } + if (metadata.has_argument (ArgumentType.DELEGATE_TARGET)) { + m.set_attribute_bool ("CCode", "delegate_target", metadata.get_bool (ArgumentType.DELEGATE_TARGET)); + } if (m.coroutine) { parser.process_async_method (this); } @@ -2638,6 +2641,9 @@ public class Vala.GirParser : CodeVisitor { } else if (direction == "inout") { param.direction = ParameterDirection.REF; } + if (type is DelegateType && metadata.has_argument (ArgumentType.DELEGATE_TARGET)) { + param.set_attribute_bool ("CCode", "delegate_target", metadata.get_bool (ArgumentType.DELEGATE_TARGET)); + } if (type is ArrayType) { if (metadata.has_argument (ArgumentType.ARRAY_LENGTH_IDX)) { array_length_idx = metadata.get_integer (ArgumentType.ARRAY_LENGTH_IDX); |