diff options
| -rw-r--r-- | mesonbuild/build.py | 2 | ||||
| -rw-r--r-- | mesonbuild/interpreter/interpreter.py | 13 | ||||
| -rw-r--r-- | mesonbuild/interpreter/kwargs.py | 1 |
3 files changed, 12 insertions, 4 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 42f1dcc9c..b9cc42721 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -238,7 +238,7 @@ class Build: def __init__(self, environment: environment.Environment): self.version = coredata.version self.project_name = 'name of master project' - self.project_version = None + self.project_version: T.Optional[str] = None self.environment = environment self.projects = {} self.targets: 'T.OrderedDict[str, T.Union[CustomTarget, BuildTarget]]' = OrderedDict() diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 95d85ac07..9a524037a 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -636,7 +636,7 @@ class Interpreter(InterpreterBase, HoldableObject): ext_module = NotFoundExtensionModule(real_modname) else: ext_module = module.initialize(self) - assert isinstance(ext_module, (ExtensionModule, NewExtensionModule)) + assert isinstance(ext_module, (ExtensionModule, NewExtensionModule)), 'for mypy' self.build.modules.append(real_modname) if ext_module.INFO.added: FeatureNew.single_use(f'module {ext_module.INFO.name}', ext_module.INFO.added, self.subproject, location=node) @@ -877,6 +877,7 @@ class Interpreter(InterpreterBase, HoldableObject): def do_subproject(self, subp_name: str, kwargs: kwtypes.DoSubproject, force_method: T.Optional[wrap.Method] = None) -> SubprojectHolder: disabled, required, feature = extract_required_kwarg(kwargs, self.subproject) if disabled: + assert feature, 'for mypy' mlog.log('Subproject', mlog.bold(subp_name), ':', 'skipped: feature', mlog.bold(feature), 'disabled') return self.disabled_subproject(subp_name, disabled_feature=feature) @@ -1234,6 +1235,7 @@ class Interpreter(InterpreterBase, HoldableObject): self.active_projectname = proj_name version = kwargs['version'] + assert version is not None, 'for mypy' if isinstance(version, mesonlib.File): FeatureNew.single_use('version from file', '0.57.0', self.subproject, location=node) self.add_build_def_file(version) @@ -1291,6 +1293,7 @@ class Interpreter(InterpreterBase, HoldableObject): subdir = os.path.join(self.subdir, spdirname) r = wrap.Resolver(self.environment.get_source_dir(), subdir, self.subproject, wrap_mode) if self.is_subproject(): + assert self.environment.wrap_resolver is not None, 'for mypy' self.environment.wrap_resolver.merge_wraps(r) else: self.environment.wrap_resolver = r @@ -1305,7 +1308,9 @@ class Interpreter(InterpreterBase, HoldableObject): # vs backend version we need. But after setting default_options in case # the project sets vs backend by default. backend = self.coredata.get_option(OptionKey('backend')) + assert backend is None or isinstance(backend, str), 'for mypy' vsenv = self.coredata.get_option(OptionKey('vsenv')) + assert isinstance(vsenv, bool), 'for mypy' force_vsenv = vsenv or backend.startswith('vs') mesonlib.setup_vsenv(force_vsenv) @@ -1324,6 +1329,7 @@ class Interpreter(InterpreterBase, HoldableObject): native = kwargs['native'] if disabled: + assert feature, 'for mypy' for lang in sorted(langs, key=compilers.sort_clink): mlog.log('Compiler for language', mlog.bold(lang), 'skipped: feature', mlog.bold(feature), 'disabled') return False @@ -1725,7 +1731,7 @@ class Interpreter(InterpreterBase, HoldableObject): interp = self.subprojects[progobj.subproject].held_object else: interp = self - assert isinstance(interp, Interpreter) + assert isinstance(interp, Interpreter), 'for mypy' version = interp.project_version else: version = progobj.get_version(self) @@ -1770,6 +1776,7 @@ class Interpreter(InterpreterBase, HoldableObject): ) -> T.Union['build.Executable', ExternalProgram, 'OverrideProgram']: disabled, required, feature = extract_required_kwarg(kwargs, self.subproject) if disabled: + assert feature, 'for mypy' mlog.log('Program', mlog.bold(' '.join(args[0])), 'skipped: feature', mlog.bold(feature), 'disabled') return self.notfound_program(args[0]) @@ -1812,7 +1819,7 @@ class Interpreter(InterpreterBase, HoldableObject): if not_found_message: self.message_impl([not_found_message]) raise - assert isinstance(d, Dependency) + assert isinstance(d, Dependency), 'for mypy' if not d.found() and not_found_message: self.message_impl([not_found_message]) # Ensure the correct include type diff --git a/mesonbuild/interpreter/kwargs.py b/mesonbuild/interpreter/kwargs.py index abac410d3..461ddc9bf 100644 --- a/mesonbuild/interpreter/kwargs.py +++ b/mesonbuild/interpreter/kwargs.py @@ -211,6 +211,7 @@ class Project(TypedDict): meson_version: T.Optional[str] default_options: T.Dict[OptionKey, T.Union[str, int, bool, T.List[str]]] license: T.List[str] + license_files: T.List[str] subproject_dir: str |
