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 /tools | |
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 'tools')
-rwxr-xr-x | tools/g-ir-scanner | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/g-ir-scanner b/tools/g-ir-scanner index f69bdeb6..2152611d 100755 --- a/tools/g-ir-scanner +++ b/tools/g-ir-scanner @@ -41,6 +41,7 @@ else: 'site-packages') sys.path.insert(0, path) +from giscanner.annotationparser import AnnotationParser, InvalidAnnotationError from giscanner.ast import Include from giscanner.cachestore import CacheStore from giscanner.dumper import compile_introspection_binary @@ -313,6 +314,12 @@ def main(args): namespace = glibtransformer.parse() + ap = AnnotationParser(namespace, ss, transformer) + try: + ap.parse() + except InvalidAnnotationError, e: + raise SystemExit("ERROR in annotation: %s" % (str(e), )) + # Write out AST writer = Writer(namespace, libraries, transformer.get_includes()) data = writer.get_xml() |