diff options
author | Johan Dahlin <jdahlin@async.com.br> | 2009-01-12 20:11:44 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2009-01-12 20:11:44 +0000 |
commit | 7dbbda9abea9882d2c98726f382a905fa8738706 (patch) | |
tree | bdf438fc921de19ddee90d7f2c5972cf76fec48f /giscanner/sourcescanner.py | |
parent | ba4ee2e606545ac703941698aa25e6d865e6976f (diff) | |
download | gobject-introspection-7dbbda9abea9882d2c98726f382a905fa8738706.tar.gz |
Bug 563794 - Redo annotation parsing & applying
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.
* giscanner/Makefile.am:
* giscanner/ast.py:
* giscanner/dumper.py:
* giscanner/girparser.py:
* giscanner/giscannermodule.c (pygi_source_scanner_get_comments),
(calc_attrs_length), (pygi_collect_attributes), (init_giscanner):
* giscanner/glibtransformer.py:
* giscanner/scannerlexer.l:
* giscanner/sourcescanner.c (gi_source_symbol_unref),
(gi_source_scanner_new), (gi_source_scanner_free),
(gi_source_scanner_get_comments):
* giscanner/sourcescanner.h:
* giscanner/sourcescanner.py:
* giscanner/transformer.py:
* giscanner/xmlwriter.py:
* tests/scanner/annotation-1.0-expected.gir:
* tests/scanner/annotation-1.0-expected.tgir:
* tests/scanner/annotation.c:
* tests/scanner/annotation.h:
* tests/scanner/foo-1.0-expected.gir:
* tests/scanner/foo-1.0-expected.tgir:
* tests/scanner/foo.h:
* tools/g-ir-scanner:
This commit merges the annotation parser rewrite branch.
It'll change the annotation parsing to be done completely in python
code which will make it easier to do further annotation parsing
easier.
svn path=/trunk/; revision=1017
Diffstat (limited to 'giscanner/sourcescanner.py')
-rw-r--r-- | giscanner/sourcescanner.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/giscanner/sourcescanner.py b/giscanner/sourcescanner.py index 3188b262..5018bf43 100644 --- a/giscanner/sourcescanner.py +++ b/giscanner/sourcescanner.py @@ -154,12 +154,6 @@ class SourceSymbol(object): symbol_type_name(self.type), self.ident) - def directives(self): - mapping = {} - for directive in self._scanner.get_directives(self._symbol.ident): - mapping[directive.name] = directive.options - return mapping - @property def const_int(self): return self._symbol.const_int @@ -192,6 +186,7 @@ class SourceScanner(object): self._cpp_options = [] # Public API + def set_cpp_options(self, includes, defines, undefines): for prefix, args in [('-I', includes), ('-D', defines), @@ -226,12 +221,16 @@ class SourceScanner(object): for symbol in self._scanner.get_symbols(): yield SourceSymbol(self._scanner, symbol) + def get_comments(self): + return self._scanner.get_comments() + def dump(self): print '-'*30 for symbol in self._scanner.get_symbols(): print symbol.ident, symbol.base_type.name, symbol.type # Private + def _parse(self, filenames): if not filenames: return |