diff options
author | Colin Walters <walters@verbum.org> | 2013-02-24 11:58:57 -0500 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2013-02-26 16:25:11 -0500 |
commit | 95f80c1ae03dfe8a68d3c7ec21ce696ac839ea57 (patch) | |
tree | 4c29e80f91de948ca3c2df9fc9b7d9e60a38d7ca /giscanner | |
parent | dfeaf33c8a4ae7e25b4a83d0b31c4d435b4ef7de (diff) | |
download | gobject-introspection-95f80c1ae03dfe8a68d3c7ec21ce696ac839ea57.tar.gz |
scanner: internals cleanup: Move shared libraries to Namespace
Continuing on with previous commit.
Diffstat (limited to 'giscanner')
-rw-r--r-- | giscanner/ast.py | 1 | ||||
-rw-r--r-- | giscanner/girparser.py | 8 | ||||
-rw-r--r-- | giscanner/girwriter.py | 12 | ||||
-rwxr-xr-x | giscanner/scannermain.py | 5 |
4 files changed, 11 insertions, 15 deletions
diff --git a/giscanner/ast.py b/giscanner/ast.py index d9f23539..23a0c9e7 100644 --- a/giscanner/ast.py +++ b/giscanner/ast.py @@ -373,6 +373,7 @@ class Namespace(object): self.ctypes = {} # Maps from CType -> node self.symbols = {} # Maps from function symbols -> Function self.includes = set() # Include + self.shared_libraries = [] # str def type_from_name(self, name, ctype=None): """Backwards compatibility method for older .gir files, which diff --git a/giscanner/girparser.py b/giscanner/girparser.py index f2908bff..bae09b9a 100644 --- a/giscanner/girparser.py +++ b/giscanner/girparser.py @@ -46,7 +46,6 @@ class GIRParser(object): def __init__(self, types_only=False): self._types_only = types_only - self._shared_libraries = [] self._pkgconfig_packages = set() self._namespace = None self._filename_stack = [] @@ -62,7 +61,6 @@ class GIRParser(object): def parse_tree(self, tree): self._namespace = None - self._shared_libraries = [] self._pkgconfig_packages = set() self._includes = set() self._c_includes = set() @@ -72,9 +70,6 @@ class GIRParser(object): def get_namespace(self): return self._namespace - def get_shared_libraries(self): - return self._shared_libraries - def get_c_includes(self): return self._c_includes @@ -140,8 +135,7 @@ class GIRParser(object): identifier_prefixes=identifier_prefixes, symbol_prefixes=symbol_prefixes) if 'shared-library' in ns.attrib: - self._shared_libraries.extend( - ns.attrib['shared-library'].split(',')) + self._namespace.shared_libraries = ns.attrib['shared-library'].split(',') self._namespace.includes = self._includes parser_methods = { diff --git a/giscanner/girwriter.py b/giscanner/girwriter.py index 73b58772..e15ad51f 100644 --- a/giscanner/girwriter.py +++ b/giscanner/girwriter.py @@ -30,16 +30,16 @@ COMPATIBLE_GIR_VERSION = '1.2' class GIRWriter(XMLWriter): - def __init__(self, namespace, shlibs, pkgs, c_includes): + def __init__(self, namespace, pkgs, c_includes): super(GIRWriter, self).__init__() self.write_comment( '''This file was automatically generated from C sources - DO NOT EDIT! To affect the contents of this file, edit the original C definitions, and/or use gtk-doc annotations. ''') - self._write_repository(namespace, shlibs, pkgs, + self._write_repository(namespace, pkgs, c_includes) - def _write_repository(self, namespace, shlibs, + def _write_repository(self, namespace, packages=None, c_includes=None): if packages is None: packages = frozenset() @@ -59,7 +59,7 @@ and/or use gtk-doc annotations. ''') for c_include in sorted(set(c_includes)): self._write_c_include(c_include) self._namespace = namespace - self._write_namespace(namespace, shlibs) + self._write_namespace(namespace) self._namespace = None def _write_include(self, include): @@ -74,10 +74,10 @@ and/or use gtk-doc annotations. ''') attrs = [('name', c_include)] self.write_tag('c:include', attrs) - def _write_namespace(self, namespace, shlibs): + def _write_namespace(self, namespace): attrs = [('name', namespace.name), ('version', namespace.version), - ('shared-library', ','.join(shlibs)), + ('shared-library', ','.join(namespace.shared_libraries)), ('c:identifier-prefixes', ','.join(namespace.identifier_prefixes)), ('c:symbol-prefixes', ','.join(namespace.symbol_prefixes))] with self.tagcontext('namespace', attrs): diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py index 9ca45a2f..ccd828da 100755 --- a/giscanner/scannermain.py +++ b/giscanner/scannermain.py @@ -194,7 +194,6 @@ def passthrough_gir(path, f): parser.parse(path) writer = GIRWriter(parser.get_namespace(), - parser.get_shared_libraries(), parser.get_pkgconfig_packages(), parser.get_c_includes()) f.write(writer.get_xml()) @@ -450,6 +449,8 @@ def scanner_main(args): else: shlibs = [] + transformer.namespace.shared_libraries = shlibs + main = MainTransformer(transformer, blocks) main.transform() @@ -472,7 +473,7 @@ def scanner_main(args): else: exported_packages = options.packages - writer = Writer(transformer.namespace, shlibs, + writer = Writer(transformer.namespace, exported_packages, options.c_includes) data = writer.get_xml() |