diff options
author | Charles Brunet <charles.brunet@optelgroup.com> | 2023-08-28 11:42:55 -0400 |
---|---|---|
committer | Charles Brunet <charles.brunet@optelgroup.com> | 2023-09-11 07:51:19 -0400 |
commit | 6a18ae48b33c345185a8eda49e93adb1fb4594a9 (patch) | |
tree | 4c97edf70a9b2bdbda658e035ce54a4508d37927 /mesonbuild | |
parent | 11ef2a536c6c9fec0b048da74b36a0231ef2199a (diff) | |
download | meson-6a18ae48b33c345185a8eda49e93adb1fb4594a9.zip meson-6a18ae48b33c345185a8eda49e93adb1fb4594a9.tar.gz meson-6a18ae48b33c345185a8eda49e93adb1fb4594a9.tar.bz2 |
ast: fully resolve nodes for add operation
Otherwise, string + stringmethod results in a list of two strings instead of the concatenation of the strings
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/ast/interpreter.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mesonbuild/ast/interpreter.py b/mesonbuild/ast/interpreter.py index da2119c..c51af09 100644 --- a/mesonbuild/ast/interpreter.py +++ b/mesonbuild/ast/interpreter.py @@ -371,8 +371,8 @@ class AstInterpreter(InterpreterBase): elif isinstance(node, ArithmeticNode): if node.operation != 'add': return None # Only handle string and array concats - l = quick_resolve(node.left) - r = quick_resolve(node.right) + l = self.resolve_node(node.left, include_unknown_args, id_loop_detect) + r = self.resolve_node(node.right, include_unknown_args, id_loop_detect) if isinstance(l, str) and isinstance(r, str): result = l + r # String concatenation detected else: |