diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2021-06-10 13:18:42 +0200 |
---|---|---|
committer | Daniel Mensinger <daniel@mensinger-ka.de> | 2021-06-11 10:42:18 +0200 |
commit | fc0397b30999fb632491d14c5e1ab070c85dd105 (patch) | |
tree | c543ed06b1c5441ffa3ecb882ff35ab3dc9e7742 /mesonbuild/interpreterbase/interpreterbase.py | |
parent | 687eebee298fd1091eab0173febad7be1ce82e2a (diff) | |
download | meson-fc0397b30999fb632491d14c5e1ab070c85dd105.zip meson-fc0397b30999fb632491d14c5e1ab070c85dd105.tar.gz meson-fc0397b30999fb632491d14c5e1ab070c85dd105.tar.bz2 |
interpreter: Split Disabler from interpreterbase.py
Diffstat (limited to 'mesonbuild/interpreterbase/interpreterbase.py')
-rw-r--r-- | mesonbuild/interpreterbase/interpreterbase.py | 31 |
1 files changed, 1 insertions, 30 deletions
diff --git a/mesonbuild/interpreterbase/interpreterbase.py b/mesonbuild/interpreterbase/interpreterbase.py index 8c28b78..8181a05 100644 --- a/mesonbuild/interpreterbase/interpreterbase.py +++ b/mesonbuild/interpreterbase/interpreterbase.py @@ -39,6 +39,7 @@ from .exceptions import ( BreakRequest ) +from .disabler import Disabler, is_disabled from .helpers import check_stringlist, default_resolve_key, flatten, get_callee_args from functools import wraps @@ -591,36 +592,6 @@ class FeatureNewKwargs(FeatureCheckKwargsBase): class FeatureDeprecatedKwargs(FeatureCheckKwargsBase): feature_check_class = FeatureDeprecated - -class Disabler(InterpreterObject): - def __init__(self) -> None: - super().__init__() - self.methods.update({'found': self.found_method}) - - def found_method(self, args: T.Sequence[T.Any], kwargs: T.Dict[str, T.Any]) -> bool: - return False - -def is_disabler(i: T.Any) -> bool: - return isinstance(i, Disabler) - -def is_arg_disabled(arg: T.Any) -> bool: - if is_disabler(arg): - return True - if isinstance(arg, list): - for i in arg: - if is_arg_disabled(i): - return True - return False - -def is_disabled(args: T.Sequence[T.Any], kwargs: T.Dict[str, T.Any]) -> bool: - for i in args: - if is_arg_disabled(i): - return True - for i in kwargs.values(): - if is_arg_disabled(i): - return True - return False - class InterpreterBase: elementary_types = (int, float, str, bool, list) |