summaryrefslogtreecommitdiff
path: root/giscanner/girparser.py
diff options
context:
space:
mode:
authorRyan Lortie <desrt@desrt.ca>2014-04-16 18:05:07 -0400
committerRyan Lortie <desrt@desrt.ca>2014-05-06 08:18:41 -0400
commit17b19cfcad236fd2def64b9aac454ecb3cd42e8d (patch)
tree3538405d943fbb4dc81191a61fcc497f20c2ed39 /giscanner/girparser.py
parent1459ff3eb242327fca8a2b5a696b14b7e46afdee (diff)
downloadgobject-introspection-17b19cfcad236fd2def64b9aac454ecb3cd42e8d.tar.gz
giscanner: support nullable return types too
Promote the 'nullable' field to the TypeContainer base class (which is shared by Return and Parameter types). Add .gir support for nullability on return values, both in the writer and in the (scanner's) parser. https://bugzilla.gnome.org/show_bug.cgi?id=660879
Diffstat (limited to 'giscanner/girparser.py')
-rw-r--r--giscanner/girparser.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/giscanner/girparser.py b/giscanner/girparser.py
index b1583998..40bc49e0 100644
--- a/giscanner/girparser.py
+++ b/giscanner/girparser.py
@@ -294,7 +294,8 @@ class GIRParser(object):
if not returnnode:
raise ValueError('node %r has no return-value' % (name, ))
transfer = returnnode.attrib.get('transfer-ownership')
- retval = ast.Return(self._parse_type(returnnode), transfer)
+ nullable = returnnode.attrib.get('nullable') == '1'
+ retval = ast.Return(self._parse_type(returnnode), nullable, transfer)
self._parse_generic_attribs(returnnode, retval)
parameters = []