From a1472539782383b3acc60c9ae5bbc7d16c0a826c Mon Sep 17 00:00:00 2001 From: Didier 'Ptitjes Date: Wed, 29 Apr 2009 00:50:04 +0200 Subject: [PATCH] GIR parser: Fix allow-none attribute parsing in fields and return values Signed-off-by: Didier 'Ptitjes --- vapigen/valagirparser.vala | 8 ++++++++ 1 file changed, 8 insertions(+) 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; } -- 2.47.2