gobject-introspection r254 - in trunk: . giscanner



Author: johan
Date: Mon Apr 28 21:08:21 2008
New Revision: 254
URL: http://svn.gnome.org/viewvc/gobject-introspection?rev=254&view=rev

Log:
2008-04-28  Johan Dahlin  <johan gnome org>

    * giscanner/transformer.py (Transformer._traverse_one): Avoid recursion
    when scanning girepository.h

    * giscanner/sourcescanner.py (SourceScanner._preprocess): Define
    a __GI_SCANNER__ when we run.



Modified:
   trunk/ChangeLog
   trunk/giscanner/sourcescanner.py
   trunk/giscanner/transformer.py

Modified: trunk/giscanner/sourcescanner.py
==============================================================================
--- trunk/giscanner/sourcescanner.py	(original)
+++ trunk/giscanner/sourcescanner.py	Mon Apr 28 21:08:21 2008
@@ -140,6 +140,7 @@
             'cpp',
             '-C',
             '-U__GNUC__',
+            '-D__GI_SCANNER__',
             '-I.',
             ]
         cpp_args += self._cpp_options

Modified: trunk/giscanner/transformer.py
==============================================================================
--- trunk/giscanner/transformer.py	(original)
+++ trunk/giscanner/transformer.py	Mon Apr 28 21:08:21 2008
@@ -56,6 +56,10 @@
                 node = self._create_callback(symbol)
             elif symbol.base_type.type == giscanner.CTYPE_STRUCT:
                 node = self._create_typedef_struct(symbol)
+            # This prevents an infinite recursion when scanning structures with
+            # private types not exposed in headers.
+            elif symbol.base_type.type == giscanner.CSYMBOL_TYPE_TYPEDEF:
+                return
             else:
                 node = self._traverse_one(symbol, symbol.base_type.type)
             return node



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]