aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreterbase/baseobjects.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/interpreterbase/baseobjects.py')
-rw-r--r--mesonbuild/interpreterbase/baseobjects.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/mesonbuild/interpreterbase/baseobjects.py b/mesonbuild/interpreterbase/baseobjects.py
index d82aad2..e65e4cb 100644
--- a/mesonbuild/interpreterbase/baseobjects.py
+++ b/mesonbuild/interpreterbase/baseobjects.py
@@ -14,7 +14,7 @@
from .. import mparser
from .exceptions import InvalidCode
-from .helpers import flatten
+from .helpers import flatten, resolve_second_level_holders
from ..mesonlib import HoldableObject
import typing as T
@@ -57,6 +57,8 @@ class InterpreterObject:
method = self.methods[method_name]
if not getattr(method, 'no-args-flattening', False):
args = flatten(args)
+ if not getattr(method, 'no-second-level-holder-flattening', False):
+ args, kwargs = resolve_second_level_holders(args, kwargs)
return method(args, kwargs)
raise InvalidCode(f'Unknown method "{method_name}" in object {self} of type {type(self).__name__}.')