summaryrefslogtreecommitdiff
path: root/vala/valagirparser.vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2020-01-18 17:58:42 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2020-01-20 16:29:13 +0100
commit6feaa3b8e4157f5e7ca6e824d9e03e302579b6ab (patch)
treec56bb17e0d093c600a323a70d7c034a38eada764 /vala/valagirparser.vala
parent69ea76f8cb6d7863557e75b786530708c5d55b93 (diff)
downloadvala-6feaa3b8e4157f5e7ca6e824d9e03e302579b6ab.tar.gz
girparser: Apply explicitly given ctype metadata attributes on callables
Diffstat (limited to 'vala/valagirparser.vala')
-rw-r--r--vala/valagirparser.vala9
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)) {