diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2022-03-01 23:55:42 -0500 |
---|---|---|
committer | Eli Schwartz <eschwartz@archlinux.org> | 2022-03-07 19:09:50 -0500 |
commit | c231c4bd2ad1a9b0ddb00a838c89566bc88d2a8e (patch) | |
tree | e2e782b9d7883b96a1bcecc13ddc51d6656bdf20 /mesonbuild/interpreter | |
parent | a009eacc65ddb447edcfc9fd317ad828d9b3353a (diff) | |
download | meson-c231c4bd2ad1a9b0ddb00a838c89566bc88d2a8e.zip meson-c231c4bd2ad1a9b0ddb00a838c89566bc88d2a8e.tar.gz meson-c231c4bd2ad1a9b0ddb00a838c89566bc88d2a8e.tar.bz2 |
move a bunch of imports into TYPE_CHECKING blocks
These are only used for type checking, so don't bother importing them at
runtime.
Generally add future annotations at the same time, to make sure that
existing uses of these imports don't need to be quoted.
Diffstat (limited to 'mesonbuild/interpreter')
-rw-r--r-- | mesonbuild/interpreter/interpreter.py | 5 | ||||
-rw-r--r-- | mesonbuild/interpreter/primitives/array.py | 3 | ||||
-rw-r--r-- | mesonbuild/interpreter/primitives/dict.py | 3 | ||||
-rw-r--r-- | mesonbuild/interpreter/primitives/integer.py | 5 | ||||
-rw-r--r-- | mesonbuild/interpreter/primitives/string.py | 5 | ||||
-rw-r--r-- | mesonbuild/interpreter/type_checking.py | 3 |
6 files changed, 13 insertions, 11 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 8eca0b3..bc238c7 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -33,10 +33,9 @@ from ..interpreterbase import InterpreterException, InvalidArguments, InvalidCod from ..interpreterbase import Disabler, disablerIfNotFound from ..interpreterbase import FeatureNew, FeatureDeprecated, FeatureNewKwargs, FeatureDeprecatedKwargs from ..interpreterbase import ObjectHolder -from ..interpreterbase.baseobjects import InterpreterObject, TYPE_var, TYPE_kwargs from ..modules import ExtensionModule, ModuleObject, MutableModuleObject, NewExtensionModule, NotFoundExtensionModule from ..cmake import CMakeInterpreter -from ..backend.backends import Backend, ExecutableSerialisation +from ..backend.backends import ExecutableSerialisation from . import interpreterobjects as OBJ from . import compiler as compilerOBJ @@ -96,6 +95,8 @@ if T.TYPE_CHECKING: from typing_extensions import Literal from . import kwargs + from ..backend.backends import Backend + from ..interpreterbase.baseobjects import InterpreterObject, TYPE_var, TYPE_kwargs from ..programs import OverrideProgram # Input source types passed to Targets diff --git a/mesonbuild/interpreter/primitives/array.py b/mesonbuild/interpreter/primitives/array.py index e48e1c2..eeea112 100644 --- a/mesonbuild/interpreter/primitives/array.py +++ b/mesonbuild/interpreter/primitives/array.py @@ -1,5 +1,6 @@ # Copyright 2021 The Meson development team # SPDX-license-identifier: Apache-2.0 +from __future__ import annotations import typing as T @@ -15,7 +16,6 @@ from ...interpreterbase import ( FeatureNew, TYPE_var, - TYPE_kwargs, InvalidArguments, ) @@ -24,6 +24,7 @@ from ...mparser import PlusAssignmentNode if T.TYPE_CHECKING: # Object holders need the actual interpreter from ...interpreter import Interpreter + from ...interpreterbase import TYPE_kwargs class ArrayHolder(ObjectHolder[T.List[TYPE_var]], IterableObject): def __init__(self, obj: T.List[TYPE_var], interpreter: 'Interpreter') -> None: diff --git a/mesonbuild/interpreter/primitives/dict.py b/mesonbuild/interpreter/primitives/dict.py index 24f4d21..ac7c99b 100644 --- a/mesonbuild/interpreter/primitives/dict.py +++ b/mesonbuild/interpreter/primitives/dict.py @@ -1,5 +1,6 @@ # Copyright 2021 The Meson development team # SPDX-license-identifier: Apache-2.0 +from __future__ import annotations import typing as T @@ -14,7 +15,6 @@ from ...interpreterbase import ( typed_pos_args, TYPE_var, - TYPE_kwargs, InvalidArguments, ) @@ -22,6 +22,7 @@ from ...interpreterbase import ( if T.TYPE_CHECKING: # Object holders need the actual interpreter from ...interpreter import Interpreter + from ...interpreterbase import TYPE_kwargs class DictHolder(ObjectHolder[T.Dict[str, TYPE_var]], IterableObject): def __init__(self, obj: T.Dict[str, TYPE_var], interpreter: 'Interpreter') -> None: diff --git a/mesonbuild/interpreter/primitives/integer.py b/mesonbuild/interpreter/primitives/integer.py index 6563ee9..f433f57 100644 --- a/mesonbuild/interpreter/primitives/integer.py +++ b/mesonbuild/interpreter/primitives/integer.py @@ -1,5 +1,6 @@ # Copyright 2021 The Meson development team # SPDX-license-identifier: Apache-2.0 +from __future__ import annotations from ...interpreterbase import ( ObjectHolder, @@ -8,9 +9,6 @@ from ...interpreterbase import ( noKwargs, noPosargs, - TYPE_var, - TYPE_kwargs, - InvalidArguments ) @@ -19,6 +17,7 @@ import typing as T if T.TYPE_CHECKING: # Object holders need the actual interpreter from ...interpreter import Interpreter + from ...interpreterbase import TYPE_var, TYPE_kwargs class IntegerHolder(ObjectHolder[int]): def __init__(self, obj: int, interpreter: 'Interpreter') -> None: diff --git a/mesonbuild/interpreter/primitives/string.py b/mesonbuild/interpreter/primitives/string.py index 9cd51b4..9129303 100644 --- a/mesonbuild/interpreter/primitives/string.py +++ b/mesonbuild/interpreter/primitives/string.py @@ -1,5 +1,6 @@ # Copyright 2021 The Meson development team # SPDX-license-identifier: Apache-2.0 +from __future__ import annotations import re import os @@ -17,9 +18,6 @@ from ...interpreterbase import ( noPosargs, typed_pos_args, - TYPE_var, - TYPE_kwargs, - InvalidArguments, ) @@ -27,6 +25,7 @@ from ...interpreterbase import ( if T.TYPE_CHECKING: # Object holders need the actual interpreter from ...interpreter import Interpreter + from ...interpreterbase import TYPE_var, TYPE_kwargs class StringHolder(ObjectHolder[str]): def __init__(self, obj: str, interpreter: 'Interpreter') -> None: diff --git a/mesonbuild/interpreter/type_checking.py b/mesonbuild/interpreter/type_checking.py index cce0024..37ab192 100644 --- a/mesonbuild/interpreter/type_checking.py +++ b/mesonbuild/interpreter/type_checking.py @@ -11,7 +11,6 @@ from .. import compilers from ..build import (EnvironmentVariables, EnvInitValueType, CustomTarget, BuildTarget, CustomTargetIndex, ExtractedObjects, GeneratedList, IncludeDirs) from ..coredata import UserFeatureOption -from ..interpreterbase import TYPE_var from ..interpreterbase.decorators import KwargInfo, ContainerTypeInfo from ..mesonlib import File, FileMode, MachineChoice, listify, has_path_sep, OptionKey from ..programs import ExternalProgram @@ -22,6 +21,8 @@ NoneType: T.Type[None] = type(None) if T.TYPE_CHECKING: from typing_extensions import Literal + from ..interpreterbase import TYPE_var + def in_set_validator(choices: T.Set[str]) -> T.Callable[[str], T.Optional[str]]: """Check that the choice given was one of the given set.""" |