[gobject-introspection] [transformer] Don't pass around source scanner
- From: Johan Dahlin <johan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection] [transformer] Don't pass around source scanner
- Date: Thu, 2 Sep 2010 10:45:20 +0000 (UTC)
commit f653af9c85abd4f0aea2eba71b9eccae7fc71a3b
Author: Johan Dahlin <johan gnome org>
Date: Thu Sep 2 02:27:38 2010 -0300
[transformer] Don't pass around source scanner
Pass around its symbols instead
giscanner/gdumpparser.py | 2 --
giscanner/scannermain.py | 2 +-
giscanner/transformer.py | 8 ++------
3 files changed, 3 insertions(+), 9 deletions(-)
---
diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py
index ca9b38a..7f1d229 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 dacffa2..3d27684 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 a58d60c..ed6dce8 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)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]