diff options
author | Johan Dahlin <jdahlin@async.com.br> | 2009-01-12 20:16:33 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2009-01-12 20:16:33 +0000 |
commit | a48cf353b4d2e056f80c7aaa4cabb3fe84648662 (patch) | |
tree | 92b4879074066bc9d35e5b9f9a403c76f718c106 | |
parent | 7dbbda9abea9882d2c98726f382a905fa8738706 (diff) | |
download | gobject-introspection-a48cf353b4d2e056f80c7aaa4cabb3fe84648662.tar.gz |
Bug 566560 – giscanner.transformer.SkipError
2009-01-12 Johan Dahlin <jdahlin@async.com.br>
Bug 566560 – giscanner.transformer.SkipError
* giscanner/transformer.py:
Catch SkipError for all nodes, not just functions.
Makes it possible to skip unsupported parameter types in
callbacks.
svn path=/trunk/; revision=1018
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | giscanner/transformer.py | 10 |
2 files changed, 15 insertions, 5 deletions
@@ -1,5 +1,15 @@ 2009-01-12 Johan Dahlin <jdahlin@async.com.br> + Bug 566560 – giscanner.transformer.SkipError + + * giscanner/transformer.py: + + Catch SkipError for all nodes, not just functions. + Makes it possible to skip unsupported parameter types in + callbacks. + +2009-01-12 Johan Dahlin <jdahlin@async.com.br> + Bug 563794 - Redo annotation parsing & applying Thanks to Colin for helping out considerably in landing this. diff --git a/giscanner/transformer.py b/giscanner/transformer.py index 7493a353..8e335ff6 100644 --- a/giscanner/transformer.py +++ b/giscanner/transformer.py @@ -86,7 +86,10 @@ class Transformer(object): def parse(self): nodes = [] for symbol in self.generator.get_symbols(): - node = self._traverse_one(symbol) + try: + node = self._traverse_one(symbol) + except SkipError: + continue self._add_node(node) return self._namespace @@ -179,10 +182,7 @@ class Transformer(object): if stype is None: stype = symbol.type if stype == CSYMBOL_TYPE_FUNCTION: - try: - return self._create_function(symbol) - except SkipError: - return + return self._create_function(symbol) elif stype == CSYMBOL_TYPE_TYPEDEF: return self._create_typedef(symbol) elif stype == CSYMBOL_TYPE_STRUCT: |