summaryrefslogtreecommitdiff
path: root/vapigen
diff options
context:
space:
mode:
authorMichal Hruby <michal.mhr@gmail.com>2011-03-09 20:16:04 +0100
committerLuca Bruno <lucabru@src.gnome.org>2011-04-04 17:26:59 +0200
commitc3b704038a7874055c2707bd791428a030d18b64 (patch)
treed2387aec9160157c795ff924bf36632c49d8d50e /vapigen
parentb31963e1db2f461858661854c44a21752226054b (diff)
downloadvala-c3b704038a7874055c2707bd791428a030d18b64.tar.gz
gidlparser: Add support for array return values in delegates
Partially fixes bug 644420.
Diffstat (limited to 'vapigen')
-rw-r--r--vapigen/valagidlparser.vala9
1 files changed, 9 insertions, 0 deletions
diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala
index ca185ee4b..740fb0bc5 100644
--- a/vapigen/valagidlparser.vala
+++ b/vapigen/valagidlparser.vala
@@ -473,6 +473,15 @@ public class Vala.GIdlParser : CodeVisitor {
if (eval (nv[1]) == "1") {
return_type.value_owned = true;
}
+ } else if (nv[0] == "is_array") {
+ if (eval (nv[1]) == "1") {
+ return_type = new ArrayType (return_type, 1, return_type.source_reference);
+ cb.return_type = return_type;
+ }
+ } else if (nv[0] == "array_length_type") {
+ cb.array_length_type = eval (nv[1]);
+ } else if (nv[0] == "type_name") {
+ cb.return_type = return_type = parse_type_from_string (eval (nv[1]), return_type.value_owned);
} else if (nv[0] == "deprecated") {
if (eval (nv[1]) == "1") {
cb.deprecated = true;