diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2019-03-02 17:41:25 +0100 |
---|---|---|
committer | Daniel Mensinger <daniel@mensinger-ka.de> | 2019-03-04 13:00:29 +0100 |
commit | e724fd5438a20836be1b270c1f851502ac97fdd4 (patch) | |
tree | f1daabd4671eafffa37555cb5705b2ad5e5f7772 /mesonbuild/ast/interpreter.py | |
parent | ff5e7eb104d015c462fdae2de76c967bf00c27ad (diff) | |
download | meson-e724fd5438a20836be1b270c1f851502ac97fdd4.zip meson-e724fd5438a20836be1b270c1f851502ac97fdd4.tar.gz meson-e724fd5438a20836be1b270c1f851502ac97fdd4.tar.bz2 |
rewriter: Handle duplicate target
Diffstat (limited to 'mesonbuild/ast/interpreter.py')
-rw-r--r-- | mesonbuild/ast/interpreter.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mesonbuild/ast/interpreter.py b/mesonbuild/ast/interpreter.py index b2cd3f5..01277f0 100644 --- a/mesonbuild/ast/interpreter.py +++ b/mesonbuild/ast/interpreter.py @@ -51,6 +51,7 @@ class AstInterpreter(interpreterbase.InterpreterBase): self.visitors = visitors self.visited_subdirs = {} self.assignments = {} + self.assign_vals = {} self.reverse_assignment = {} self.funcs.update({'project': self.func_do_nothing, 'test': self.func_do_nothing, @@ -161,7 +162,7 @@ class AstInterpreter(interpreterbase.InterpreterBase): self.assignments[node.var_name] += [node.value] # Save a reference to the value node if hasattr(node.value, 'ast_id'): self.reverse_assignment[node.value.ast_id] = node - self.evaluate_statement(node.value) # Evaluate the value just in case + self.assign_vals[node.var_name] += [self.evaluate_statement(node.value)] def evaluate_indexing(self, node): return 0 @@ -200,7 +201,7 @@ class AstInterpreter(interpreterbase.InterpreterBase): self.assignments[node.var_name] = [node.value] # Save a reference to the value node if hasattr(node.value, 'ast_id'): self.reverse_assignment[node.value.ast_id] = node - self.evaluate_statement(node.value) # Evaluate the value just in case + self.assign_vals[node.var_name] = [self.evaluate_statement(node.value)] # Evaluate the value just in case def flatten_args(self, args, include_unknown_args: bool = False): # Resolve mparser.ArrayNode if needed |