aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreterbase/baseobjects.py
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2022-03-01 23:12:54 -0500
committerEli Schwartz <eschwartz@archlinux.org>2022-03-07 19:01:04 -0500
commit187dc656f48ba7a86a14a5c8d9f16a3b2b7d8770 (patch)
tree5ed516e772e7edb4ab38c12feaf763fe030cf888 /mesonbuild/interpreterbase/baseobjects.py
parentd072ebc9554e5661419d6d75285bfee24dca743f (diff)
downloadmeson-187dc656f48ba7a86a14a5c8d9f16a3b2b7d8770.zip
meson-187dc656f48ba7a86a14a5c8d9f16a3b2b7d8770.tar.gz
meson-187dc656f48ba7a86a14a5c8d9f16a3b2b7d8770.tar.bz2
merge various TYPE_CHECKING blocks into one
A bunch of files have several T.TYPE_CHECKING blocks that each do some things which could just as well be done once, with a single `if` statement. Make them do so.
Diffstat (limited to 'mesonbuild/interpreterbase/baseobjects.py')
-rw-r--r--mesonbuild/interpreterbase/baseobjects.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/mesonbuild/interpreterbase/baseobjects.py b/mesonbuild/interpreterbase/baseobjects.py
index 7186001..2e675e2 100644
--- a/mesonbuild/interpreterbase/baseobjects.py
+++ b/mesonbuild/interpreterbase/baseobjects.py
@@ -23,9 +23,16 @@ import typing as T
from abc import ABCMeta
if T.TYPE_CHECKING:
+ from typing_extensions import Protocol
+
# Object holders need the actual interpreter
from ..interpreter import Interpreter
+ __T = T.TypeVar('__T', bound=TYPE_var, contravariant=True)
+
+ class OperatorCall(Protocol[__T]):
+ def __call__(self, other: __T) -> TYPE_var: ...
+
TV_fw_var = T.Union[str, int, bool, list, dict, 'InterpreterObject']
TV_fw_args = T.List[T.Union[mparser.BaseNode, TV_fw_var]]
TV_fw_kwargs = T.Dict[str, T.Union[mparser.BaseNode, TV_fw_var]]
@@ -41,13 +48,6 @@ TYPE_key_resolver = T.Callable[[mparser.BaseNode], str]
SubProject = T.NewType('SubProject', str)
-if T.TYPE_CHECKING:
- from typing_extensions import Protocol
- __T = T.TypeVar('__T', bound=TYPE_var, contravariant=True)
-
- class OperatorCall(Protocol[__T]):
- def __call__(self, other: __T) -> TYPE_var: ...
-
class InterpreterObject:
def __init__(self, *, subproject: T.Optional['SubProject'] = None) -> None:
self.methods: T.Dict[