From c41805f012fe7305dfba978f6cb70741d782c57f Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sat, 19 Nov 2016 22:11:20 +0200 Subject: Moved more stuff, can now parse all of common tests. --- mesonast.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'mesonast.py') diff --git a/mesonast.py b/mesonast.py index 7f5fd90..e24c31e 100755 --- a/mesonast.py +++ b/mesonast.py @@ -24,8 +24,9 @@ # - reindent? import mesonbuild.astinterpreter - -import sys +from mesonbuild.mesonlib import MesonException +from mesonbuild import mlog +import sys, traceback if __name__ == '__main__': if len(sys.argv) == 1: @@ -33,4 +34,15 @@ if __name__ == '__main__': else: source_root = sys.argv[1] ast = mesonbuild.astinterpreter.AstInterpreter(source_root, '') - ast.dump() + try: + ast.dump() + except Exception as e: + if isinstance(e, MesonException): + if hasattr(e, 'file') and hasattr(e, 'lineno') and hasattr(e, 'colno'): + mlog.log(mlog.red('\nMeson encountered an error in file %s, line %d, column %d:' % (e.file, e.lineno, e.colno))) + else: + mlog.log(mlog.red('\nMeson encountered an error:')) + mlog.log(e) + else: + traceback.print_exc() + sys.exit(1) -- cgit v1.1