summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2023-10-09 11:20:48 -0700
committerEli Schwartz <eschwartz93@gmail.com>2023-10-09 17:33:48 -0400
commite24f43051255d3978002f39d08149c3088cb67f9 (patch)
tree76656eba8d963158bd9e08e1f8cf1438abacec10
parent835b23efb46998f49020b31012d3c5dc8ac437fc (diff)
downloadmeson-e24f43051255d3978002f39d08149c3088cb67f9.tar.gz
interpreter: extend annotations around build_both_libraries
This allows for even more accurate type information
-rw-r--r--mesonbuild/interpreter/interpreter.py9
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: