diff options
author | Michal Hruby <michal.mhr@gmail.com> | 2011-03-09 20:16:04 +0100 |
---|---|---|
committer | Luca Bruno <lucabru@src.gnome.org> | 2011-04-04 17:26:59 +0200 |
commit | c3b704038a7874055c2707bd791428a030d18b64 (patch) | |
tree | d2387aec9160157c795ff924bf36632c49d8d50e /vapigen | |
parent | b31963e1db2f461858661854c44a21752226054b (diff) | |
download | vala-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.vala | 9 |
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; |