From d93d01b6c5c98a77e057b914e8d66b01d2a10771 Mon Sep 17 00:00:00 2001 From: Daniel Mensinger Date: Wed, 1 Sep 2021 23:18:28 +0200 Subject: interpreter: Introduce StringHolder Another commit in my quest to rid InterpreterBase from all higher level object processing logic. Additionally, there is a a logic change here, since `str.join` now uses varargs and can now accept more than one argument (and supports list flattening). --- mesonbuild/ast/interpreter.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'mesonbuild/ast/interpreter.py') diff --git a/mesonbuild/ast/interpreter.py b/mesonbuild/ast/interpreter.py index 4fd1378..5998e5b 100644 --- a/mesonbuild/ast/interpreter.py +++ b/mesonbuild/ast/interpreter.py @@ -364,7 +364,8 @@ class AstInterpreter(InterpreterBase): mkwargs = {} # type: T.Dict[str, TYPE_nvar] try: if isinstance(src, str): - result = self.string_method_call(src, node.name, margs, mkwargs) + from ..interpreter import Interpreter, StringHolder + result = StringHolder(src, T.cast(Interpreter, self)).method_call(node.name, margs, mkwargs) elif isinstance(src, bool): from ..interpreter import Interpreter, BooleanHolder result = BooleanHolder(src, T.cast(Interpreter, self)).method_call(node.name, margs, mkwargs) -- cgit v1.1