aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2021-12-16 22:56:02 +0100
committerEli Schwartz <eschwartz93@gmail.com>2021-12-17 14:00:28 -0500
commitc5ce9744b291d1b93c724384154992f440489f08 (patch)
treecb065d6bd5a80f93396d422153bf0dfef9a2fb0a
parent26f188fb3616acf311429593c9c2d36c1fc5a6b3 (diff)
downloadmeson-c5ce9744b291d1b93c724384154992f440489f08.zip
meson-c5ce9744b291d1b93c724384154992f440489f08.tar.gz
meson-c5ce9744b291d1b93c724384154992f440489f08.tar.bz2
Fix mypy errors
-rw-r--r--mesonbuild/build.py2
-rw-r--r--mesonbuild/dependencies/detect.py4
-rw-r--r--mesonbuild/interpreter/interpreterobjects.py1
-rw-r--r--mesonbuild/mesonlib/universal.py4
-rw-r--r--mesonbuild/modules/windows.py12
-rwxr-xr-xrun_project_tests.py2
6 files changed, 17 insertions, 8 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index 6515f42..7c873b2 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -2362,7 +2362,7 @@ class CustomTarget(Target, CommandBase):
install_dir: T.List[T.Union[str, bool]]
- def __init__(self, name: str, subdir: str, subproject: str, kwargs: T.Dict[str, T.Any],
+ def __init__(self, name: str, subdir: str, subproject: str, kwargs: T.Mapping[str, T.Any],
absolute_paths: bool = False, backend: T.Optional['Backend'] = None):
self.typename = 'custom'
# TODO expose keyword arg to make MachineChoice.HOST configurable
diff --git a/mesonbuild/dependencies/detect.py b/mesonbuild/dependencies/detect.py
index dd0b548..f54d101 100644
--- a/mesonbuild/dependencies/detect.py
+++ b/mesonbuild/dependencies/detect.py
@@ -59,12 +59,12 @@ def get_dep_identifier(name: str, kwargs: T.Dict[str, T.Any]) -> 'TV_DepID':
continue
# All keyword arguments are strings, ints, or lists (or lists of lists)
if isinstance(value, list):
- value = frozenset(listify(value))
for i in value:
assert isinstance(i, str)
+ value = tuple(frozenset(listify(value)))
else:
assert isinstance(value, (str, bool, int))
- identifier += (key, value)
+ identifier = (*identifier, (key, value),)
return identifier
display_name_map = {
diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py
index d4398a6..f078698 100644
--- a/mesonbuild/interpreter/interpreterobjects.py
+++ b/mesonbuild/interpreter/interpreterobjects.py
@@ -787,6 +787,7 @@ class BuildTargetHolder(ObjectHolder[_BuildTarget]):
def __repr__(self) -> str:
r = '<{} {}: {}>'
h = self.held_object
+ assert isinstance(h, build.BuildTarget)
return r.format(self.__class__.__name__, h.get_id(), h.filename)
@property
diff --git a/mesonbuild/mesonlib/universal.py b/mesonbuild/mesonlib/universal.py
index 7699ea4..f193889 100644
--- a/mesonbuild/mesonlib/universal.py
+++ b/mesonbuild/mesonlib/universal.py
@@ -1731,9 +1731,7 @@ class OrderedSet(T.MutableSet[_T]):
return 'OrderedSet()'
def __reversed__(self) -> T.Iterator[_T]:
- # Mypy is complaining that sets can't be reversed, which is true for
- # unordered sets, but this is an ordered, set so reverse() makes sense.
- return reversed(self.__container.keys()) # type: ignore
+ return reversed(self.__container.keys())
def add(self, value: _T) -> None:
self.__container[value] = None
diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py
index 8285b18..5f7301d 100644
--- a/mesonbuild/modules/windows.py
+++ b/mesonbuild/modules/windows.py
@@ -41,6 +41,14 @@ if T.TYPE_CHECKING:
include_directories: T.List[T.Union[str, build.IncludeDirs]]
args: T.List[str]
+ class RcKwargs(TypedDict):
+ output: str
+ input: T.List[T.Union[mesonlib.FileOrString, build.CustomTargetIndex]]
+ depfile: T.Optional[str]
+ depend_files: T.List[mesonlib.FileOrString]
+ depends: T.List[T.Union[build.BuildTarget, build.CustomTarget]]
+ command: T.List[T.Union[str, ExternalProgram]]
+
class ResourceCompilerType(enum.Enum):
windres = 1
rc = 2
@@ -174,11 +182,13 @@ class WindowsModule(ExtensionModule):
command.append(rescomp)
command.extend(res_args)
- res_kwargs = {
+ res_kwargs: 'RcKwargs' = {
'output': output,
'input': [src],
+ 'depfile': None,
'depend_files': wrc_depend_files,
'depends': wrc_depends,
+ 'command': [],
}
# instruct binutils windres to generate a preprocessor depfile
diff --git a/run_project_tests.py b/run_project_tests.py
index 176a938..822cf0b 100755
--- a/run_project_tests.py
+++ b/run_project_tests.py
@@ -313,7 +313,7 @@ class StopException(Exception):
def __init__(self) -> None:
super().__init__('Stopped by user')
-def stop_handler(signal: signal.Signals, frame: T.Optional['FrameType']) -> None:
+def stop_handler(signal: int, frame: T.Optional['FrameType']) -> None:
global stop
stop = True
signal.signal(signal.SIGINT, stop_handler)