diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2016-12-06 22:52:29 +0530 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-12-06 20:27:33 +0200 |
commit | c7a2664cb7043160d653718179de97d4c7976e34 (patch) | |
tree | 7af0eaaa6a75bd148c45bb24e0b6cee3fb9a0d20 /mesonbuild/interpreter.py | |
parent | c9818c02ecd9750eb9fd95ce510a31eb1d99e1f7 (diff) | |
download | meson-c7a2664cb7043160d653718179de97d4c7976e34.zip meson-c7a2664cb7043160d653718179de97d4c7976e34.tar.gz meson-c7a2664cb7043160d653718179de97d4c7976e34.tar.bz2 |
Better error when passing invalid objects to install_header
This will print the object type when you pass a generated file to
install_header instead of printing an assert.
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 2167b81..dbf3eba 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -343,6 +343,10 @@ class GeneratedListHolder(InterpreterObject): else: self.held_object = arg1 + def __repr__(self): + r = '<{}: {!r}>' + return r.format(self.__class__.__name__, self.held_object.get_outputs()) + def add_file(self, a): self.held_object.add_file(a) @@ -497,6 +501,11 @@ class BuildTargetHolder(InterpreterObject): 'private_dir_include' : self.private_dir_include_method, }) + def __repr__(self): + r = '<{} {}: {}>' + h = self.held_object + return r.format(self.__class__.__name__, h.get_id(), h.filename) + def is_cross(self): return self.held_object.is_cross() @@ -545,6 +554,11 @@ class CustomTargetHolder(InterpreterObject): self.methods.update({'full_path' : self.full_path_method, }) + def __repr__(self): + r = '<{} {}: {}>' + h = self.held_object + return r.format(self.__class__.__name__, h.get_id(), h.command) + def full_path_method(self, args, kwargs): return self.interpreter.backend.get_target_filename_abs(self.held_object) @@ -552,6 +566,11 @@ class RunTargetHolder(InterpreterObject): def __init__(self, name, command, args, dependencies, subdir): self.held_object = build.RunTarget(name, command, args, dependencies, subdir) + def __repr__(self): + r = '<{} {}: {}>' + h = self.held_object + return r.format(self.__class__.__name__, h.get_id(), h.command) + class Test(InterpreterObject): def __init__(self, name, suite, exe, is_parallel, cmd_args, env, should_fail, timeout, workdir): InterpreterObject.__init__(self) |