diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-06-02 14:25:35 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-06-02 14:25:35 +0300 |
commit | b63c493844261e533edfcb30ca76d2f3412ae0cb (patch) | |
tree | b8aeeeb8dacc61bbd3ea4dbacf1dad52d85b5068 /interpreter.py | |
parent | c3972d512a3d3da9b3c5442cde7ebef6740195e1 (diff) | |
download | meson-b63c493844261e533edfcb30ca76d2f3412ae0cb.zip meson-b63c493844261e533edfcb30ca76d2f3412ae0cb.tar.gz meson-b63c493844261e533edfcb30ca76d2f3412ae0cb.tar.bz2 |
Better error reporting for parsing errors.
Diffstat (limited to 'interpreter.py')
-rwxr-xr-x | interpreter.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/interpreter.py b/interpreter.py index 86d464e..ede7e1b 100755 --- a/interpreter.py +++ b/interpreter.py @@ -598,7 +598,11 @@ class Interpreter(): if len(code.strip()) == 0: raise InvalidCode('Builder file is empty.') assert(isinstance(code, str)) - self.ast = mparser.build_ast(code) + try: + self.ast = mparser.build_ast(code) + except coredata.MesonException as me: + me.file = environment.build_filename + raise me self.sanity_check_ast() self.variables = {} self.builtin = {} @@ -859,7 +863,11 @@ class Interpreter(): self.build_def_files.append(buildfilename) code = open(os.path.join(self.environment.get_source_dir(), buildfilename)).read() assert(isinstance(code, str)) - codeblock = mparser.build_ast(code) + try: + codeblock = mparser.build_ast(code) + except coredata.MesonException as me: + me.file = buildfilename + raise me print('Going to subdirectory "%s".' % self.subdir) self.evaluate_codeblock(codeblock) self.subdir = prev_subdir |