diff options
author | Johan Bilien <jobi@via.ecp.fr> | 2008-10-21 17:04:11 +0000 |
---|---|---|
committer | Johan Bilien <jobi@src.gnome.org> | 2008-10-21 17:04:11 +0000 |
commit | efcca1bcac888b214b80fe2451edacbb3b224be3 (patch) | |
tree | 1f781e2fb232e65cc48731d19de4254d3bdb5f49 /giscanner/girparser.py | |
parent | 05d588fc2d77ad6068ec992915d23afdfed1b7b4 (diff) | |
download | gobject-introspection-efcca1bcac888b214b80fe2451edacbb3b224be3.tar.gz |
Bug 557241 – "throws" flag for functions
2008-10-21 Johan Bilien <jobi@via.ecp.fr>
Bug 557241 – "throws" flag for functions
* tests/scanner/drawable-1.0-expected.gir,
tests/scanner/drawable-injected-1.0-expected.gir,
tests/scanner/drawable.[ch]: add simple test for throwing
function (has GError ** as last argument)
* giscanner/ast.py: add a 'throws' flag to Function
* giscanner/glibtransformer.py: if a function's last paramerter is
a GError, set the 'throws' flag and remove that parameter
* giscanner/girwriter.py: write out the 'throws' attribute
* giscanner/girparser.py: support parsing the 'throws' attribute
* tests/repository/gitestthrows.c: add a simple test to check the
throws flag in a typelib and invoke the function
* girepository/ginfo.c, girepository/girnode.[ch],
girepository/girnode.h, girepository/girparser.c,
girepository/girepository.h: Add and parse the GI_FUNCTION_THROWS flag
* girepository/ginvoke.c: if a function throws, add a GError as last
arguments, and propagate the error to the invoker.
svn path=/trunk/; revision=773
Diffstat (limited to 'giscanner/girparser.py')
-rw-r--r-- | giscanner/girparser.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/giscanner/girparser.py b/giscanner/girparser.py index 95ee4d01..04a5bba7 100644 --- a/giscanner/girparser.py +++ b/giscanner/girparser.py @@ -178,7 +178,8 @@ class GIRParser(object): node.attrib.get(_cns('type'))) else: identifier = node.attrib.get(_cns('identifier')) - return klass(name, retval, parameters, identifier) + throws = (node.attrib.get('throws') == '1') + return klass(name, retval, parameters, identifier, throws) def _parse_struct(self, node): if _glibns('type-name') in node.attrib: |