diff --git a/mesonbuild/ast/interpreter.py b/mesonbuild/ast/interpreter.py index d3afb4de3006..3ec6c85a070b 100644 --- a/mesonbuild/ast/interpreter.py +++ b/mesonbuild/ast/interpreter.py @@ -494,14 +494,12 @@ def func_files(self, node: BaseNode, args: T.List[TYPE_var], kwargs: T.Dict[str, def get_cur_value_if_defined(self, var_name: str) -> T.Union[BaseNode, UnknownValue, UndefinedVariable]: if var_name in self.predefined_vars: return self.predefined_vars[var_name] - ret: T.Union[BaseNode, UnknownValue, UndefinedVariable] = UndefinedVariable() for nesting, value in reversed(self.cur_assignments[var_name]): if len(self.nesting) >= len(nesting) and self.nesting[:len(nesting)] == nesting: - ret = value - break - if isinstance(ret, UndefinedVariable) and self.tainted: + return value + if self.tainted: return UnknownValue() - return ret + return UndefinedVariable() def get_cur_value(self, var_name: str) -> T.Union[BaseNode, UnknownValue]: ret = self.get_cur_value_if_defined(var_name)