diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2020-01-18 17:58:42 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2020-01-20 16:29:13 +0100 |
commit | 6feaa3b8e4157f5e7ca6e824d9e03e302579b6ab (patch) | |
tree | c56bb17e0d093c600a323a70d7c034a38eada764 | |
parent | 69ea76f8cb6d7863557e75b786530708c5d55b93 (diff) | |
download | vala-6feaa3b8e4157f5e7ca6e824d9e03e302579b6ab.tar.gz |
girparser: Apply explicitly given ctype metadata attributes on callables
-rw-r--r-- | vala/valagirparser.vala | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index f30d8b0d5..6719d8e08 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -3130,6 +3130,11 @@ public class Vala.GirParser : CodeVisitor { symbol_type = element_name; } + string? ctype = null; + if (metadata.has_argument (ArgumentType.CTYPE)) { + ctype = metadata.get_string (ArgumentType.CTYPE); + } + string name = current.name; string throws_string = reader.get_attribute ("throws"); string invoker = reader.get_attribute ("invoker"); @@ -3287,6 +3292,10 @@ public class Vala.GirParser : CodeVisitor { } current.return_array_length_idx = return_array_length_idx; + if (ctype != null) { + s.set_attribute_string ("CCode", "type", ctype); + } + current.symbol = s; if (metadata.has_argument (ArgumentType.FINISH_NAME)) { |