diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2021-11-04 11:31:55 -0700 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2021-11-22 11:28:43 -0800 |
commit | 38b4673a94201075e9d24d14777d2f0ea121fd38 (patch) | |
tree | 345c564ec4f386fe47b84f9cc3792f912227021e /mesonbuild/interpreter | |
parent | d05a0fbf335b23814ede488c668f43c97fd4f06c (diff) | |
download | meson-38b4673a94201075e9d24d14777d2f0ea121fd38.zip meson-38b4673a94201075e9d24d14777d2f0ea121fd38.tar.gz meson-38b4673a94201075e9d24d14777d2f0ea121fd38.tar.bz2 |
interpreter: add type annotations to find_program_impl
Diffstat (limited to 'mesonbuild/interpreter')
-rw-r--r-- | mesonbuild/interpreter/interpreter.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 6a30cdd..88cec10 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -1408,9 +1408,13 @@ external dependencies (including libraries) must go to "dependencies".''') # TODO update modules to always pass `for_machine`. It is bad-form to assume # the host machine. - def find_program_impl(self, args, for_machine: MachineChoice = MachineChoice.HOST, - required=True, silent=True, wanted='', search_dirs=None, - version_func=None): + def find_program_impl(self, args: T.List[mesonlib.FileOrString], + for_machine: MachineChoice = MachineChoice.HOST, + required: bool = True, silent: bool = True, + wanted: T.Union[str, T.List[str]] = '', + search_dirs: T.Optional[T.List[str]] = None, + version_func: T.Optional[T.Callable[[T.Union['ExternalProgram', 'build.Executable', 'OverrideProgram']], str]] = None + ) -> T.Union['ExternalProgram', 'build.Executable', 'OverrideProgram']: args = mesonlib.listify(args) extra_info = [] @@ -1434,7 +1438,7 @@ external dependencies (including libraries) must go to "dependencies".''') interp = self.subprojects[progobj.subproject].held_object assert isinstance(interp, Interpreter) version = interp.project_version - elif isinstance(progobj, ExternalProgram): + else: version = progobj.get_version(self) is_found, not_found, found = mesonlib.version_compare_many(version, wanted) if not is_found: |