aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2025-04-11 11:08:05 -0400
committerSimon Marchi <simon.marchi@efficios.com>2025-04-16 23:11:02 -0400
commit2c00b2fbb88b10cb22dfe3bc737368c9f488c70d (patch)
treea94f8cd01aef31b23106918b2ef48c1eb22c9880 /gdb
parent62e213a4fbc75bb36d5ee861aa453aabf2b14f88 (diff)
downloadbinutils-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-xgdb/copyright.py14
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 :-).
)