diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2010-04-19 02:43:25 -0700 |
---|---|---|
committer | Evan Nemerson <evan@coeus-group.com> | 2010-04-19 02:43:25 -0700 |
commit | 340285aec53d822d176443bff444c1919ce70374 (patch) | |
tree | 51c67c832b0f6a11b29444e495728c527840a279 /vapigen | |
parent | 1f50c930bf8c6902c1eea447a88e5eb87e14442d (diff) | |
download | vala-340285aec53d822d176443bff444c1919ce70374.tar.gz |
vapigen: support type_arguments for signal/delegate return types
Fixes bug 615837.
Diffstat (limited to 'vapigen')
-rw-r--r-- | vapigen/valagidlparser.vala | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala index a309e9ee5..3f25d23f1 100644 --- a/vapigen/valagidlparser.vala +++ b/vapigen/valagidlparser.vala @@ -305,6 +305,11 @@ public class Vala.GIdlParser : CodeVisitor { if (eval (nv[1]) == "1") { return_type.value_owned = true; } + } else if (nv[0] == "type_arguments") { + var type_args = eval (nv[1]).split (","); + foreach (string type_arg in type_args) { + return_type.add_type_argument (get_type_from_string (type_arg)); + } } else if (nv[0] == "instance_pos") { cb.cinstance_parameter_position = eval (nv[1]).to_double (); } @@ -2248,6 +2253,11 @@ public class Vala.GIdlParser : CodeVisitor { if (eval (nv[1]) == "1") { sig.return_type.value_owned = true; } + } else if (nv[0] == "type_arguments") { + var type_args = eval (nv[1]).split (","); + foreach (string type_arg in type_args) { + sig.return_type.add_type_argument (get_type_from_string (type_arg)); + } } } } |