aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreterbase
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/interpreterbase')
-rw-r--r--mesonbuild/interpreterbase/__init__.py4
-rw-r--r--mesonbuild/interpreterbase/_unholder.py10
2 files changed, 6 insertions, 8 deletions
diff --git a/mesonbuild/interpreterbase/__init__.py b/mesonbuild/interpreterbase/__init__.py
index e630bbf..f237c2f 100644
--- a/mesonbuild/interpreterbase/__init__.py
+++ b/mesonbuild/interpreterbase/__init__.py
@@ -42,7 +42,7 @@ __all__ = [
'stringArgs',
'noArgsFlattening',
'noSecondLevelHolderResolving',
- 'permissive_unholder_return',
+ 'unholder_return',
'disablerIfNotFound',
'permittedKwargs',
'typed_operator',
@@ -102,7 +102,7 @@ from .decorators import (
stringArgs,
noArgsFlattening,
noSecondLevelHolderResolving,
- permissive_unholder_return,
+ unholder_return,
disablerIfNotFound,
permittedKwargs,
typed_pos_args,
diff --git a/mesonbuild/interpreterbase/_unholder.py b/mesonbuild/interpreterbase/_unholder.py
index 55f3423..202f53b 100644
--- a/mesonbuild/interpreterbase/_unholder.py
+++ b/mesonbuild/interpreterbase/_unholder.py
@@ -18,20 +18,18 @@ from ..mesonlib import HoldableObject, MesonBugException
import typing as T
-def _unholder(obj: T.Union[TYPE_var, InterpreterObject], *, permissive: bool = False) -> TYPE_var:
- if isinstance(obj, (bool, str)):
+def _unholder(obj: T.Union[TYPE_var, InterpreterObject]) -> TYPE_var:
+ if isinstance(obj, str):
return obj
elif isinstance(obj, list):
- return [_unholder(x, permissive=permissive) for x in obj]
+ return [_unholder(x) for x in obj]
elif isinstance(obj, dict):
- return {k: _unholder(v, permissive=permissive) for k, v in obj.items()}
+ return {k: _unholder(v) for k, v in obj.items()}
elif isinstance(obj, ObjectHolder):
assert isinstance(obj.held_object, HoldableTypes)
return obj.held_object
elif isinstance(obj, MesonInterpreterObject):
return obj
- elif isinstance(obj, HoldableObject) and permissive:
- return obj
elif isinstance(obj, HoldableObject):
raise MesonBugException(f'Argument {obj} of type {type(obj).__name__} is not held by an ObjectHolder.')
elif isinstance(obj, InterpreterObject):