From: Johan Dahlin Date: Thu, 2 Sep 2010 05:27:38 +0000 (-0300) Subject: [transformer] Don't pass around source scanner X-Git-Tag: GOBJECT_INTROSPECTION_0_9_6~100 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f653af9c85abd4f0aea2eba71b9eccae7fc71a3b;p=platform%2Fupstream%2Fgobject-introspection.git [transformer] Don't pass around source scanner Pass around its symbols instead --- diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py index ca9b38a9..7f1d2290 100644 --- a/giscanner/gdumpparser.py +++ b/giscanner/gdumpparser.py @@ -79,8 +79,6 @@ class GDumpParser(object): """ - self._transformer.parse() - # First pass: parsing for node in self._namespace.itervalues(): if isinstance(node, ast.Function): diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py index dacffa2d..3d276842 100644 --- a/giscanner/scannermain.py +++ b/giscanner/scannermain.py @@ -294,7 +294,7 @@ def scanner_main(args): ss.parse_macros(filenames) # Transform the C symbols into AST nodes - transformer.set_source_ast(ss) + transformer.parse(ss.get_symbols()) # Transform the C AST nodes into higher level # GLib/GObject nodes diff --git a/giscanner/transformer.py b/giscanner/transformer.py index a58d60ca..ed6dce82 100644 --- a/giscanner/transformer.py +++ b/giscanner/transformer.py @@ -52,7 +52,6 @@ class Transformer(object): accept_unprefixed=False): self._cwd = os.getcwd() + os.sep self._cachestore = CacheStore() - self.generator = None self._accept_unprefixed = accept_unprefixed self._namespace = ast.Namespace(namespace_name, namespace_version, identifier_prefixes=identifier_prefixes, @@ -77,9 +76,6 @@ class Transformer(object): def get_pkgconfig_packages(self): return self._pkg_config_packages - def set_source_ast(self, src_ast): - self.generator = src_ast - def _append_new_node(self, node): original = self._namespace.get(node.name) # Special case constants here; we allow duplication to sort-of @@ -97,8 +93,8 @@ class Transformer(object): else: self._namespace.append(node) - def parse(self): - for symbol in self.generator.get_symbols(): + def parse(self, symbols): + for symbol in symbols: node = self._traverse_one(symbol) if node: self._append_new_node(node)