aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2021-07-26 16:20:21 -0700
committerDylan Baker <dylan@pnwbakers.com>2021-08-16 16:21:51 -0700
commita1fb3199c863ea03b9faa65cfa77b3aa75ea2dcb (patch)
tree95cf3a0978a7655c389901e7ca5d2d77106d3b00
parent580f316043ed34ada70af52754dec1340c3125fe (diff)
downloadmeson-a1fb3199c863ea03b9faa65cfa77b3aa75ea2dcb.zip
meson-a1fb3199c863ea03b9faa65cfa77b3aa75ea2dcb.tar.gz
meson-a1fb3199c863ea03b9faa65cfa77b3aa75ea2dcb.tar.bz2
interpreterobjects: Add TypedDict annoations for `extract_search_dirs`
This allows for more accurate type checking
-rw-r--r--mesonbuild/interpreter/interpreterobjects.py2
-rw-r--r--mesonbuild/interpreter/kwargs.py10
2 files changed, 11 insertions, 1 deletions
diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py
index 5dc65d0..9da3456 100644
--- a/mesonbuild/interpreter/interpreterobjects.py
+++ b/mesonbuild/interpreter/interpreterobjects.py
@@ -62,7 +62,7 @@ def extract_required_kwarg(kwargs: 'kwargs.ExtractRequired',
return disabled, required, feature
-def extract_search_dirs(kwargs: T.Dict[str, T.Any]) -> T.List[str]:
+def extract_search_dirs(kwargs: 'kwargs.ExtractSearchDirs') -> T.List[str]:
search_dirs_str = mesonlib.stringlistify(kwargs.get('dirs', []))
search_dirs = [Path(d).expanduser() for d in search_dirs_str]
for d in search_dirs:
diff --git a/mesonbuild/interpreter/kwargs.py b/mesonbuild/interpreter/kwargs.py
index 2851e5a..dc9585d 100644
--- a/mesonbuild/interpreter/kwargs.py
+++ b/mesonbuild/interpreter/kwargs.py
@@ -72,6 +72,16 @@ class ExtractRequired(TypedDict):
required: T.Union[bool, coredata.UserFeatureOption]
+class ExtractSearchDirs(TypedDict):
+
+ """Keyword arguments consumed by the `extract_search_dirs` function.
+
+ See the not in `ExtractRequired`
+ """
+
+ dirs: T.List[str]
+
+
class FuncGenerator(TypedDict):
"""Keyword rguments for the generator function."""