summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Dahlin <jdahlin@async.com.br>2009-01-12 20:16:33 +0000
committerJohan Dahlin <johan@src.gnome.org>2009-01-12 20:16:33 +0000
commita48cf353b4d2e056f80c7aaa4cabb3fe84648662 (patch)
tree92b4879074066bc9d35e5b9f9a403c76f718c106
parent7dbbda9abea9882d2c98726f382a905fa8738706 (diff)
downloadgobject-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--ChangeLog10
-rw-r--r--giscanner/transformer.py10
2 files changed, 15 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index a16f632e..0e134e83 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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: