Add more annotations so that "mypy --strict". These have to be done manually due to limitations of RightTyper.
Signed-off-by: Paolo Bonzini <[email protected]> --- scripts/tracetool/__init__.py | 30 +++++++++++++-------------- scripts/tracetool/backend/__init__.py | 2 +- scripts/tracetool/format/log_stap.py | 2 +- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/scripts/tracetool/__init__.py b/scripts/tracetool/__init__.py index 62895261a0d..c9509b327f4 100644 --- a/scripts/tracetool/__init__.py +++ b/scripts/tracetool/__init__.py @@ -19,17 +19,17 @@ import sys from io import TextIOWrapper from pathlib import PurePath -from typing import Any, Iterator +from typing import Any, Iterator, Sequence import tracetool.backend import tracetool.format -def error_write(*lines) -> None: +def error_write(*lines: str) -> None: """Write a set of error lines.""" sys.stderr.writelines("\n".join(lines) + "\n") -def error(*lines): +def error(*lines: str) -> None: """Write a set of error lines and exit.""" error_write(*lines) sys.exit(1) @@ -51,7 +51,7 @@ def error(*lines): } def expand_format_string(c_fmt: str, prefix: str="") -> str: - def pri_macro_to_fmt(pri_macro): + def pri_macro_to_fmt(pri_macro: str) -> str: assert pri_macro.startswith("PRI") fmt_type = pri_macro[3] # 'd', 'i', 'u', or 'x' fmt_size = pri_macro[4:] # '8', '16', '32', '64', 'PTR', 'MAX' @@ -87,7 +87,7 @@ def out_open(filename: str) -> None: out_filename = posix_relpath(filename) out_fobj = open(filename, 'wt') -def out(*lines, **kwargs) -> None: +def out(*lines: str, **kwargs: Any) -> None: """Write a set of output lines. You can use kwargs as a shorthand for mapping variables when formatting all @@ -229,14 +229,14 @@ def c_type_to_rust(name: str) -> str: class Arguments: """Event arguments description.""" - def __init__(self, args: list[tuple[str, str]]) -> None: + def __init__(self, args: Sequence[tuple[str, str] | Arguments]) -> None: """ Parameters ---------- args : List of (type, name) tuples or Arguments objects. """ - self._args = [] + self._args: list[tuple[str, str]] = [] for arg in args: if isinstance(arg, Arguments): self._args.extend(arg._args) @@ -271,7 +271,7 @@ def build(arg_str: str) -> Arguments: res.append((arg_type, identifier)) return Arguments(res) - def __getitem__(self, index): + def __getitem__(self, index: int | slice) -> Arguments | tuple[str, str]: if isinstance(index, slice): return Arguments(self._args[index]) else: @@ -287,7 +287,7 @@ def __len__(self) -> int: def __str__(self) -> str: """String suitable for declaring function arguments.""" - def onearg(t, n): + def onearg(t: str, n: str) -> str: if t[-1] == '*': return "".join([t, n]) else: @@ -298,7 +298,7 @@ def onearg(t, n): else: return ", ".join([ onearg(t, n) for t,n in self._args ]) - def __repr__(self): + def __repr__(self) -> str: """Evaluable string representation for this object.""" return "Arguments(\"%s\")" % str(self) @@ -310,7 +310,7 @@ def types(self) -> list[str]: """List of argument types.""" return [ type_ for type_, _ in self._args ] - def casted(self): + def casted(self) -> list[str]: """List of argument names casted to their type.""" return ["(%s)%s" % (type_, name) for type_, name in self._args] @@ -321,7 +321,7 @@ def rust_decl_extern(self) -> str: def rust_decl(self) -> str: """Return a Rust argument list for a tracepoint function""" - def decl_type(type_): + def decl_type(type_: str) -> str: if type_ == "const char *": return "&std::ffi::CStr" return c_type_to_rust(type_) @@ -331,7 +331,7 @@ def decl_type(type_): def rust_call_extern(self) -> str: """Return a Rust argument list for a call to an extern "C" function""" - def rust_cast(name, type_): + def rust_cast(name: str, type_: str) -> str: if type_ == "const char *": return f"_{name}.as_ptr()" return f"_{name}" @@ -340,7 +340,7 @@ def rust_cast(name, type_): def rust_call_varargs(self) -> str: """Return a Rust argument list for a call to a C varargs function""" - def rust_cast(name, type_): + def rust_cast(name: str, type_: str) -> str: if type_ == "const char *": return f"_{name}.as_ptr()" @@ -449,7 +449,7 @@ def build(line_str: str, lineno: int, filename: str) -> Event: return Event(name, props, fmt, args, lineno, posix_relpath(filename)) - def __repr__(self): + def __repr__(self) -> str: """Evaluable string representation for this object.""" return "Event('%s %s(%s) %s')" % (" ".join(self.properties), self.name, diff --git a/scripts/tracetool/backend/__init__.py b/scripts/tracetool/backend/__init__.py index 645e78ece06..84bab3f42a0 100644 --- a/scripts/tracetool/backend/__init__.py +++ b/scripts/tracetool/backend/__init__.py @@ -122,7 +122,7 @@ def backend_modules(self) -> Iterator[Any]: if module is not None: yield module - def _run_function(self, name: str, *args, check_trace_event_get_state: bool | None=None, **kwargs) -> None: + def _run_function(self, name: str, *args: Any, check_trace_event_get_state: bool | None=None, **kwargs: Any) -> None: for backend in self.backend_modules(): func = getattr(backend, name % self._format, None) if func is not None and \ diff --git a/scripts/tracetool/format/log_stap.py b/scripts/tracetool/format/log_stap.py index d7ad0bb6a72..914e4674ffe 100644 --- a/scripts/tracetool/format/log_stap.py +++ b/scripts/tracetool/format/log_stap.py @@ -25,7 +25,7 @@ STATE_LITERAL = 1 STATE_MACRO = 2 -def c_macro_to_format(macro): +def c_macro_to_format(macro: str) -> str: if macro.startswith("PRI"): return macro[3] -- 2.51.0
