From c637b913c94817c81e9a35287b995741a7089413 Mon Sep 17 00:00:00 2001 From: Daniel Mensinger Date: Sun, 30 Aug 2020 13:26:41 +0200 Subject: typing: fully annotate mcompile, minit, and msetup --- mesonbuild/mcompile.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'mesonbuild/mcompile.py') diff --git a/mesonbuild/mcompile.py b/mesonbuild/mcompile.py index 8e2a38f..5466ad2 100644 --- a/mesonbuild/mcompile.py +++ b/mesonbuild/mcompile.py @@ -32,7 +32,7 @@ if T.TYPE_CHECKING: import argparse def array_arg(value: str) -> T.List[str]: - return UserArrayOption(None, value, allow_dups=True, user_input=True).value + return T.cast(T.List[str], UserArrayOption(None, value, allow_dups=True, user_input=True).value) def validate_builddir(builddir: Path) -> None: if not (builddir / 'meson-private' / 'coredata.dat' ).is_file(): @@ -45,7 +45,7 @@ def get_backend_from_coredata(builddir: Path) -> str: """ Gets `backend` option value from coredata """ - return coredata.load(str(builddir)).get_builtin_option('backend') + return T.cast(str, coredata.load(str(builddir)).get_builtin_option('backend')) def parse_introspect_data(builddir: Path) -> T.Dict[str, T.List[dict]]: """ @@ -97,12 +97,12 @@ class ParsedTargetName: } return type in allowed_types -def get_target_from_intro_data(target: ParsedTargetName, builddir: Path, introspect_data: dict) -> dict: +def get_target_from_intro_data(target: ParsedTargetName, builddir: Path, introspect_data: T.Dict[str, T.Any]) -> T.Dict[str, T.Any]: if target.name not in introspect_data: raise MesonException('Can\'t invoke target `{}`: target not found'.format(target.full_name)) intro_targets = introspect_data[target.name] - found_targets = [] + found_targets = [] # type: T.List[T.Dict[str, T.Any]] resolved_bdir = builddir.resolve() @@ -169,9 +169,9 @@ def generate_target_name_vs(target: ParsedTargetName, builddir: Path, introspect # Normalize project name # Source: https://docs.microsoft.com/en-us/visualstudio/msbuild/how-to-build-specific-targets-in-solutions-by-using-msbuild-exe - target_name = re.sub('[\%\$\@\;\.\(\)\']', '_', intro_target['id']) + target_name = re.sub('[\%\$\@\;\.\(\)\']', '_', intro_target['id']) # type: str rel_path = Path(intro_target['filename'][0]).relative_to(builddir.resolve()).parent - if rel_path != '.': + if rel_path != Path('.'): target_name = str(rel_path / target_name) return target_name -- cgit v1.1 From 23818fc5a389c49e2673f79af2c90d9d56b1aaf0 Mon Sep 17 00:00:00 2001 From: Daniel Mensinger Date: Tue, 1 Sep 2020 14:28:08 +0200 Subject: typing: more fixes --- mesonbuild/mcompile.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'mesonbuild/mcompile.py') diff --git a/mesonbuild/mcompile.py b/mesonbuild/mcompile.py index 5466ad2..3267529 100644 --- a/mesonbuild/mcompile.py +++ b/mesonbuild/mcompile.py @@ -32,7 +32,7 @@ if T.TYPE_CHECKING: import argparse def array_arg(value: str) -> T.List[str]: - return T.cast(T.List[str], UserArrayOption(None, value, allow_dups=True, user_input=True).value) + return UserArrayOption(None, value, allow_dups=True, user_input=True).value def validate_builddir(builddir: Path) -> None: if not (builddir / 'meson-private' / 'coredata.dat' ).is_file(): @@ -45,7 +45,9 @@ def get_backend_from_coredata(builddir: Path) -> str: """ Gets `backend` option value from coredata """ - return T.cast(str, coredata.load(str(builddir)).get_builtin_option('backend')) + backend = coredata.load(str(builddir)).get_builtin_option('backend') + assert isinstance(backend, str) + return backend def parse_introspect_data(builddir: Path) -> T.Dict[str, T.List[dict]]: """ -- cgit v1.1 From 8f95efe40b6af4b49b692d1875066759c44a009d Mon Sep 17 00:00:00 2001 From: Daniel Mensinger Date: Fri, 4 Sep 2020 15:50:30 +0200 Subject: typing: fixup of #7688 This bug not beeing caught in review is another reason for adding strict typing support to meson. --- mesonbuild/mcompile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mesonbuild/mcompile.py') diff --git a/mesonbuild/mcompile.py b/mesonbuild/mcompile.py index 3267529..f91f05d 100644 --- a/mesonbuild/mcompile.py +++ b/mesonbuild/mcompile.py @@ -139,7 +139,7 @@ def get_parsed_args_ninja(options: 'argparse.Namespace', builddir: Path) -> T.Li runner = detect_ninja() if runner is None: raise MesonException('Cannot find ninja.') - mlog.log('Found runner:', runner) + mlog.log('Found runner:', str(runner)) cmd = runner + ['-C', builddir.as_posix()] -- cgit v1.1