Bug 566560 – giscanner.transformer.SkipError
authorJohan Dahlin <jdahlin@async.com.br>
Mon, 12 Jan 2009 20:16:33 +0000 (20:16 +0000)
committerJohan Dahlin <johan@src.gnome.org>
Mon, 12 Jan 2009 20:16:33 +0000 (20:16 +0000)
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

ChangeLog
giscanner/transformer.py

index a16f632..0e134e8 100644 (file)
--- 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.
index 7493a35..8e335ff 100644 (file)
@@ -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: