diff options
author | Didier 'Ptitjes <ptitjes@free.fr> | 2009-04-29 00:50:04 +0200 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2009-05-07 18:32:45 +0200 |
commit | a1472539782383b3acc60c9ae5bbc7d16c0a826c (patch) | |
tree | 6aa079caf822ff229b8b38b5293eb9c176e2723a /vapigen | |
parent | e8f2dbe325cd698a9fc99041a930eec8312e5b45 (diff) | |
download | vala-a1472539782383b3acc60c9ae5bbc7d16c0a826c.tar.gz |
GIR parser: Fix allow-none attribute parsing in fields and return values
Signed-off-by: Didier 'Ptitjes <ptitjes@free.fr>
Diffstat (limited to 'vapigen')
-rw-r--r-- | vapigen/valagirparser.vala | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/vapigen/valagirparser.vala b/vapigen/valagirparser.vala index 0912ab1be..ef24ca59c 100644 --- a/vapigen/valagirparser.vala +++ b/vapigen/valagirparser.vala @@ -337,11 +337,15 @@ public class Vala.GirParser : CodeVisitor { DataType parse_return_value (out string? ctype = null) { start_element ("return-value"); string transfer = reader.get_attribute ("transfer-ownership"); + string allow_none = reader.get_attribute ("allow-none"); next (); var type = &ctype != null ? parse_type(out ctype) : parse_type (); if (transfer == "full") { type.value_owned = true; } + if (allow_none == "1") { + type.nullable = true; + } end_element ("return-value"); return type; } @@ -681,10 +685,14 @@ public class Vala.GirParser : CodeVisitor { Field parse_field () { start_element ("field"); string name = reader.get_attribute ("name"); + string allow_none = reader.get_attribute ("allow-none"); next (); var type = parse_type (); var field = new Field (name, type, null, get_current_src ()); field.access = SymbolAccessibility.PUBLIC; + if (allow_none == "1") { + type.nullable = true; + } end_element ("field"); return field; } |