aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreterbase/interpreterbase.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2021-06-10 13:18:42 +0200
committerDaniel Mensinger <daniel@mensinger-ka.de>2021-06-11 10:42:18 +0200
commitfc0397b30999fb632491d14c5e1ab070c85dd105 (patch)
treec543ed06b1c5441ffa3ecb882ff35ab3dc9e7742 /mesonbuild/interpreterbase/interpreterbase.py
parent687eebee298fd1091eab0173febad7be1ce82e2a (diff)
downloadmeson-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.py31
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)