diff options
author | Tommi Komulainen <tommi.komulainen@iki.fi> | 2008-10-23 17:42:25 +0000 |
---|---|---|
committer | Tommi Komulainen <tko@src.gnome.org> | 2008-10-23 17:42:25 +0000 |
commit | 1842570d3329e47beb6aef836a7e7fdd0bc680c2 (patch) | |
tree | b4190fccea95a8f9e280185614483eace5234a0f /giscanner/girwriter.py | |
parent | b9713056e7bd9777c5b92e3ba0078effd301b157 (diff) | |
download | gobject-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.py | 13 |
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): |