diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2025-04-11 11:08:05 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2025-04-16 23:11:02 -0400 |
commit | 2c00b2fbb88b10cb22dfe3bc737368c9f488c70d (patch) | |
tree | a94f8cd01aef31b23106918b2ef48c1eb22c9880 /gdb | |
parent | 62e213a4fbc75bb36d5ee861aa453aabf2b14f88 (diff) | |
download | binutils-2c00b2fbb88b10cb22dfe3bc737368c9f488c70d.zip binutils-2c00b2fbb88b10cb22dfe3bc737368c9f488c70d.tar.gz binutils-2c00b2fbb88b10cb22dfe3bc737368c9f488c70d.tar.bz2 |
gdb: make typing strict in gdb/copyright.py
Add `pyright: strict` at the top of the file, then adjust the fallouts.
This annotation is understood by pyright, and thus any IDE using pyright
behind the scenes (VSCode and probably others).
I presume that any GDB developer running this script is using a recent
enough version of Python, so specify the type annotations using the
actual types when possible (e.g. `list[str]` instead of
`typing.List[str]`). I believe this required Python 3.9.
Change-Id: I3698e28555e236a03126d4cd010dae4b5647ce48
Reviewed-By: Guinevere Larsen <guinevere@redhat.com>
Diffstat (limited to 'gdb')
-rwxr-xr-x | gdb/copyright.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/gdb/copyright.py b/gdb/copyright.py index 5ec9944..9838695 100755 --- a/gdb/copyright.py +++ b/gdb/copyright.py @@ -30,13 +30,15 @@ # # This removes the bulk of the changes which are most likely to be correct. +# pyright: strict + import argparse import locale import os import os.path import subprocess import sys -from typing import List, Optional +from typing import Iterable def get_update_list(): @@ -66,7 +68,7 @@ def get_update_list(): .split("\0") ) - def include_file(filename): + def include_file(filename: str): (dirname, basename) = os.path.split(filename) dirbasename = os.path.basename(dirname) return not ( @@ -83,7 +85,7 @@ def get_update_list(): return filter(include_file, result) -def update_files(update_list): +def update_files(update_list: Iterable[str]): """Update the copyright header of the files in the given list. We use gnulib's update-copyright script for that. @@ -128,7 +130,7 @@ def update_files(update_list): print("*** " + line) -def may_have_copyright_notice(filename): +def may_have_copyright_notice(filename: str): """Check that the given file does not seem to have a copyright notice. The filename is relative to the root directory. @@ -166,7 +168,7 @@ def get_parser() -> argparse.ArgumentParser: return parser -def main(argv: List[str]) -> Optional[int]: +def main(argv: list[str]) -> int | None: """The main subprogram.""" parser = get_parser() _ = parser.parse_args(argv) @@ -242,7 +244,7 @@ EXCLUDE_ALL_LIST = ( ) # The list of files to update by hand. -BY_HAND = ( +BY_HAND: tuple[str, ...] = ( # Nothing at the moment :-). ) |