summaryrefslogtreecommitdiff
path: root/giscanner/girwriter.py
diff options
context:
space:
mode:
authorTommi Komulainen <tommi.komulainen@iki.fi>2008-10-23 17:42:25 +0000
committerTommi Komulainen <tko@src.gnome.org>2008-10-23 17:42:25 +0000
commit1842570d3329e47beb6aef836a7e7fdd0bc680c2 (patch)
treeb4190fccea95a8f9e280185614483eace5234a0f /giscanner/girwriter.py
parentb9713056e7bd9777c5b92e3ba0078effd301b157 (diff)
downloadgobject-introspection-1842570d3329e47beb6aef836a7e7fdd0bc680c2.tar.gz
Bug 556739 – transfer-ownership attribute should be mandatory in .gir
2008-10-23 Tommi Komulainen <tommi.komulainen@iki.fi> * girepository/girparser.c (parse_param_transfer): * giscanner/transformer.py (_create_parameter, _create_return): * giscanner/girwriter.py (_write_return, _write_parameter): * tools/generate.c (write_callable_info): always write and require "transfer-ownership" for return-values and parameters * tests/boxed.gir: * tests/invoke/testfns-1.0.gir: * tests/object.gir: * tests/scanner/DrawableAdditions.xml: * tests/scanner/GtkFrob-1.0-expected.tgir: * tests/scanner/annotation-1.0-expected.tgir: * tests/scanner/drawable-1.0-expected.tgir: * tests/scanner/drawable-injected-1.0-expected.gir: * tests/scanner/drawable-injected-1.0-expected.tgir: * tests/scanner/foo-1.0-expected.tgir: Updated svn path=/trunk/; revision=797
Diffstat (limited to 'giscanner/girwriter.py')
-rw-r--r--giscanner/girwriter.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/giscanner/girwriter.py b/giscanner/girwriter.py
index 7cac6210..5c8aa12b 100644
--- a/giscanner/girwriter.py
+++ b/giscanner/girwriter.py
@@ -124,10 +124,10 @@ class GIRWriter(XMLWriter):
if not return_:
return
+ assert return_.transfer is not None, return_
+
attrs = []
- if return_.transfer:
- attrs.append(('transfer-ownership',
- return_.transfer))
+ attrs.append(('transfer-ownership', return_.transfer))
with self.tagcontext('return-value', attrs):
self._write_type(return_.type)
@@ -139,14 +139,15 @@ class GIRWriter(XMLWriter):
self._write_parameter(parameter)
def _write_parameter(self, parameter):
+ assert parameter.transfer is not None, parameter
+
attrs = []
if parameter.name is not None:
attrs.append(('name', parameter.name))
if parameter.direction != 'in':
attrs.append(('direction', parameter.direction))
- if parameter.transfer:
- attrs.append(('transfer-ownership',
- parameter.transfer))
+ attrs.append(('transfer-ownership',
+ parameter.transfer))
if parameter.allow_none:
attrs.append(('allow-none', '1'))
with self.tagcontext('parameter', attrs):