diff options
| author | Daniel Mensinger <daniel@mensinger-ka.de> | 2021-08-29 19:32:37 +0200 |
|---|---|---|
| committer | Daniel Mensinger <daniel@mensinger-ka.de> | 2021-09-01 19:17:01 +0200 |
| commit | 43a6b5bd5ea7d8f93d09b9962a8f47737641be53 (patch) | |
| tree | 40bce373e06b2efc4a1ef74a3a3112b3a95d2b40 /mesonbuild/interpreterbase | |
| parent | ea02c1c48a8a11aab78bd535d18fb17fdf62ae33 (diff) | |
| download | meson-43a6b5bd5ea7d8f93d09b9962a8f47737641be53.tar.gz | |
interpreter: Remove permissive from _unholder
Diffstat (limited to 'mesonbuild/interpreterbase')
| -rw-r--r-- | mesonbuild/interpreterbase/__init__.py | 4 | ||||
| -rw-r--r-- | mesonbuild/interpreterbase/_unholder.py | 10 |
2 files changed, 6 insertions, 8 deletions
diff --git a/mesonbuild/interpreterbase/__init__.py b/mesonbuild/interpreterbase/__init__.py index e630bbf3f..f237c2fc0 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 55f342364..202f53bc4 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): |
