Bug 557241 – "throws" flag for functions
authorJohan Bilien <jobi@via.ecp.fr>
Tue, 21 Oct 2008 17:04:11 +0000 (17:04 +0000)
committerJohan Bilien <jobi@src.gnome.org>
Tue, 21 Oct 2008 17:04:11 +0000 (17:04 +0000)
commitefcca1bcac888b214b80fe2451edacbb3b224be3
tree1f781e2fb232e65cc48731d19de4254d3bdb5f49
parent05d588fc2d77ad6068ec992915d23afdfed1b7b4
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
18 files changed:
ChangeLog
girepository/ginfo.c
girepository/ginvoke.c
girepository/girepository.h
girepository/girnode.c
girepository/girnode.h
girepository/girparser.c
girepository/gtypelib.h
giscanner/ast.py
giscanner/girparser.py
giscanner/girwriter.py
giscanner/glibtransformer.py
tests/repository/Makefile.am
tests/repository/gitestthrows.c [new file with mode: 0644]
tests/scanner/drawable-1.0-expected.gir
tests/scanner/drawable-injected-1.0-expected.gir
tests/scanner/drawable.c
tests/scanner/drawable.h