diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2021-04-30 12:47:13 -0700 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2021-06-02 15:53:17 -0700 |
commit | cfb847a1f0815c40f2b1538b53eb22ace10be7c5 (patch) | |
tree | 47820ad6b6eca9c43f5467075d6228c22cfee602 | |
parent | 113a1595149b72ee0a572ed215db616c5a6d8a20 (diff) | |
download | meson-cfb847a1f0815c40f2b1538b53eb22ace10be7c5.zip meson-cfb847a1f0815c40f2b1538b53eb22ace10be7c5.tar.gz meson-cfb847a1f0815c40f2b1538b53eb22ace10be7c5.tar.bz2 |
build: use typing.Mapping for lru_cached dicts
Thankfully the typing module provides us an immutable protocol for
mappings, so we don't have to write one ourselves.
-rw-r--r-- | mesonbuild/build.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index aec9ae3..51b6d29 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -916,12 +916,12 @@ class BuildTarget(Target): result += i.get_all_link_deps() return result - def get_link_deps_mapping(self, prefix, environment): + def get_link_deps_mapping(self, prefix: str, environment: environment.Environment) -> T.Mapping[str, str]: return self.get_transitive_link_deps_mapping(prefix, environment) @lru_cache(maxsize=None) - def get_transitive_link_deps_mapping(self, prefix, environment): - result = {} + def get_transitive_link_deps_mapping(self, prefix: str, environment: environment.Environment) -> T.Mapping[str, str]: + result: T.Dict[str, str] = {} for i in self.link_targets: mapping = i.get_link_deps_mapping(prefix, environment) #we are merging two dictionaries, while keeping the earlier one dominant @@ -932,7 +932,7 @@ class BuildTarget(Target): @lru_cache(maxsize=None) def get_link_dep_subdirs(self): - result = OrderedSet() + result: OrderedSet[str] = OrderedSet() for i in self.link_targets: if not isinstance(i, StaticLibrary): result.add(i.get_subdir()) @@ -1831,7 +1831,7 @@ class StaticLibrary(BuildTarget): if not isinstance(self.prelink, bool): raise InvalidArguments('Prelink keyword argument must be a boolean.') - def get_link_deps_mapping(self, prefix, environment): + def get_link_deps_mapping(self, prefix: str, environment: environment.Environment) -> T.Mapping[str, str]: return {} def get_default_install_dir(self, environment): @@ -1886,7 +1886,7 @@ class SharedLibrary(BuildTarget): self.basic_filename_tpl = '{0.prefix}{0.name}.{0.suffix}' self.determine_filenames(environment) - def get_link_deps_mapping(self, prefix, environment) -> T.Dict[str, str]: + def get_link_deps_mapping(self, prefix: str, environment: environment.Environment) -> T.Mapping[str, str]: result: T.Dict[str, str] = {} mappings = self.get_transitive_link_deps_mapping(prefix, environment) old = get_target_macos_dylib_install_name(self) @@ -2433,7 +2433,7 @@ class CustomTarget(Target, CommandBase): if suf == '.a' or suf == '.dll' or suf == '.lib' or suf == '.so' or suf == '.dylib': return True - def get_link_deps_mapping(self, prefix, environment): + def get_link_deps_mapping(self, prefix: str, environment: environment.Environment) -> T.Mapping[str, str]: return {} def get_link_dep_subdirs(self): @@ -2565,7 +2565,7 @@ class CustomTargetIndex: the sources. """ - def __init__(self, target, output): + def __init__(self, target: CustomTarget, output: int): self.typename = 'custom' self.target = target self.output = output @@ -2590,7 +2590,7 @@ class CustomTargetIndex: def get_all_link_deps(self): return self.target.get_all_link_deps() - def get_link_deps_mapping(self, prefix, environment): + def get_link_deps_mapping(self, prefix: str, environment: environment.Environment) -> T.Mapping[str, str]: return self.target.get_link_deps_mapping(prefix, environment) def get_link_dep_subdirs(self): |