diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2023-10-09 11:20:48 -0700 |
|---|---|---|
| committer | Eli Schwartz <eschwartz93@gmail.com> | 2023-10-09 17:33:48 -0400 |
| commit | e24f43051255d3978002f39d08149c3088cb67f9 (patch) | |
| tree | 76656eba8d963158bd9e08e1f8cf1438abacec10 | |
| parent | 835b23efb46998f49020b31012d3c5dc8ac437fc (diff) | |
| download | meson-e24f43051255d3978002f39d08149c3088cb67f9.tar.gz | |
interpreter: extend annotations around build_both_libraries
This allows for even more accurate type information
| -rw-r--r-- | mesonbuild/interpreter/interpreter.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index c7dc92d5d..5ff5c0b50 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -3186,7 +3186,7 @@ class Interpreter(InterpreterBase, HoldableObject): self.coredata.target_guids[idname] = str(uuid.uuid4()).upper() @FeatureNew('both_libraries', '0.46.0') - def build_both_libraries(self, node, args, kwargs): + def build_both_libraries(self, node: mparser.BaseNode, args: T.Tuple[str, SourcesVarargsType], kwargs: kwtypes.Library) -> build.BothLibraries: shared_lib = self.build_target(node, args, kwargs, build.SharedLibrary) static_lib = self.build_target(node, args, kwargs, build.StaticLibrary) @@ -3219,12 +3219,13 @@ class Interpreter(InterpreterBase, HoldableObject): return build.BothLibraries(shared_lib, static_lib) - def build_library(self, node, args, kwargs): + def build_library(self, node: mparser.BaseNode, args: T.Tuple[str, SourcesVarargsType], kwargs: kwtypes.Library): default_library = self.coredata.get_option(OptionKey('default_library', subproject=self.subproject)) + assert isinstance(default_library, str), 'for mypy' if default_library == 'shared': - return self.build_target(node, args, kwargs, build.SharedLibrary) + return self.build_target(node, args, T.cast('kwtypes.StaticLibrary', kwargs), build.SharedLibrary) elif default_library == 'static': - return self.build_target(node, args, kwargs, build.StaticLibrary) + return self.build_target(node, args, T.cast('kwtypes.SharedLibrary', kwargs), build.StaticLibrary) elif default_library == 'both': return self.build_both_libraries(node, args, kwargs) else: |
