gdb: gdbarch*.py, copyright.py: add type annotations
Add type annotations to gdbarch*.py to fix all errors shown by pyright. There is one change in copyright.py too, to fix this one: /home/simark/src/binutils-gdb/gdb/gdbarch.py /home/simark/src/binutils-gdb/gdb/gdbarch.py:206:13 - error: Type of "copyright" is partially unknown Type of "copyright" is "(tool: Unknown, description: Unknown) -> str" (reportUnknownMemberType) Change-Id: Ia109b53e267f6e2f5bd79a1288d0d5c9508c9ac4 Reviewed-By: Tom Tromey <tom@tromey.com> Reviewed-By: Andrew Burgess <aburgess@redhat.com>
This commit is contained in:
parent
05e4e89373
commit
116e3492f2
@ -25,10 +25,10 @@ import textwrap
|
||||
# `gdbarch_types.components`.
|
||||
import gdbarch_components # noqa: F401 # type: ignore
|
||||
import gdbcopyright
|
||||
from gdbarch_types import Function, Info, Value, components
|
||||
from gdbarch_types import Component, Function, Info, Value, components
|
||||
|
||||
|
||||
def indentation(n_columns):
|
||||
def indentation(n_columns: int):
|
||||
"""Return string with tabs and spaces to indent line to N_COLUMNS."""
|
||||
return "\t" * (n_columns // 8) + " " * (n_columns % 8)
|
||||
|
||||
@ -38,12 +38,12 @@ copyright = gdbcopyright.copyright(
|
||||
)
|
||||
|
||||
|
||||
def info(c):
|
||||
def info(c: Component):
|
||||
"Filter function to only allow Info components."
|
||||
return type(c) is Info
|
||||
|
||||
|
||||
def not_info(c):
|
||||
def not_info(c: Component):
|
||||
"Filter function to omit Info components."
|
||||
return type(c) is not Info
|
||||
|
||||
|
@ -166,13 +166,14 @@ Number of bits in an int or unsigned int for the target machine.
|
||||
invalid=False,
|
||||
)
|
||||
|
||||
long_bit_predefault = "4*TARGET_CHAR_BIT"
|
||||
long_bit = Value(
|
||||
comment="""
|
||||
Number of bits in a long or unsigned long for the target machine.
|
||||
""",
|
||||
type="int",
|
||||
name="long_bit",
|
||||
predefault="4*TARGET_CHAR_BIT",
|
||||
predefault=long_bit_predefault,
|
||||
invalid=False,
|
||||
)
|
||||
|
||||
@ -183,7 +184,7 @@ machine.
|
||||
""",
|
||||
type="int",
|
||||
name="long_long_bit",
|
||||
predefault="2*" + long_bit.predefault,
|
||||
predefault="2*" + long_bit_predefault,
|
||||
invalid=False,
|
||||
)
|
||||
|
||||
|
@ -17,8 +17,10 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from typing import List, Optional, Tuple, Union
|
||||
|
||||
def join_type_and_name(t, n):
|
||||
|
||||
def join_type_and_name(t: str, n: str):
|
||||
"Combine the type T and the name N into a C declaration."
|
||||
if t.endswith("*") or t.endswith("&"):
|
||||
return t + n
|
||||
@ -26,30 +28,29 @@ def join_type_and_name(t, n):
|
||||
return t + " " + n
|
||||
|
||||
|
||||
def join_params(params):
|
||||
def join_params(params: List[Tuple[str, str]]):
|
||||
"""Given a sequence of (TYPE, NAME) pairs, generate a comma-separated
|
||||
list of declarations."""
|
||||
params = [join_type_and_name(p[0], p[1]) for p in params]
|
||||
return ", ".join(params)
|
||||
return ", ".join([join_type_and_name(p[0], p[1]) for p in params])
|
||||
|
||||
|
||||
class _Component:
|
||||
class Component:
|
||||
"Base class for all components."
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
name,
|
||||
type,
|
||||
printer=None,
|
||||
comment=None,
|
||||
predicate=False,
|
||||
predefault=None,
|
||||
postdefault=None,
|
||||
invalid=None,
|
||||
params=None,
|
||||
param_checks=None,
|
||||
result_checks=None,
|
||||
implement=True,
|
||||
name: str,
|
||||
type: str,
|
||||
printer: Optional[str] = None,
|
||||
comment: Optional[str] = None,
|
||||
predicate: bool = False,
|
||||
predefault: Optional[str] = None,
|
||||
postdefault: Optional[str] = None,
|
||||
invalid: Optional[Union[bool, str]] = None,
|
||||
params: Optional[List[Tuple[str, str]]] = None,
|
||||
param_checks: Optional[List[str]] = None,
|
||||
result_checks: Optional[List[str]] = None,
|
||||
implement: bool = True,
|
||||
):
|
||||
self.name = name
|
||||
self.type = type
|
||||
@ -59,7 +60,7 @@ class _Component:
|
||||
self.predefault = predefault
|
||||
self.postdefault = postdefault
|
||||
self.invalid = invalid
|
||||
self.params = params
|
||||
self.params = params or []
|
||||
self.param_checks = param_checks
|
||||
self.result_checks = result_checks
|
||||
self.implement = implement
|
||||
@ -81,24 +82,24 @@ class _Component:
|
||||
return predicate
|
||||
|
||||
|
||||
class Info(_Component):
|
||||
class Info(Component):
|
||||
"An Info component is copied from the gdbarch_info."
|
||||
|
||||
|
||||
class Value(_Component):
|
||||
class Value(Component):
|
||||
"A Value component is just a data member."
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
name,
|
||||
type,
|
||||
comment=None,
|
||||
predicate=False,
|
||||
predefault=None,
|
||||
postdefault=None,
|
||||
invalid=None,
|
||||
printer=None,
|
||||
name: str,
|
||||
type: str,
|
||||
comment: Optional[str] = None,
|
||||
predicate: bool = False,
|
||||
predefault: Optional[str] = None,
|
||||
postdefault: Optional[str] = None,
|
||||
invalid: Optional[Union[bool, str]] = None,
|
||||
printer: Optional[str] = None,
|
||||
):
|
||||
super().__init__(
|
||||
comment=comment,
|
||||
@ -112,24 +113,24 @@ class Value(_Component):
|
||||
)
|
||||
|
||||
|
||||
class Function(_Component):
|
||||
class Function(Component):
|
||||
"A Function component is a function pointer member."
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
name,
|
||||
type,
|
||||
params,
|
||||
comment=None,
|
||||
predicate=False,
|
||||
predefault=None,
|
||||
postdefault=None,
|
||||
invalid=None,
|
||||
printer=None,
|
||||
param_checks=None,
|
||||
result_checks=None,
|
||||
implement=True,
|
||||
name: str,
|
||||
type: str,
|
||||
params: List[Tuple[str, str]],
|
||||
comment: Optional[str] = None,
|
||||
predicate: bool = False,
|
||||
predefault: Optional[str] = None,
|
||||
postdefault: Optional[str] = None,
|
||||
invalid: Optional[Union[bool, str]] = None,
|
||||
printer: Optional[str] = None,
|
||||
param_checks: Optional[List[str]] = None,
|
||||
result_checks: Optional[List[str]] = None,
|
||||
implement: bool = True,
|
||||
):
|
||||
super().__init__(
|
||||
comment=comment,
|
||||
@ -180,4 +181,4 @@ class Method(Function):
|
||||
|
||||
|
||||
# All the components created in gdbarch-components.py.
|
||||
components = []
|
||||
components: List[Component] = []
|
||||
|
@ -18,7 +18,7 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
def copyright(tool, description):
|
||||
def copyright(tool: str, description: str):
|
||||
# Search the tool source itself for the correct copyright years.
|
||||
with open(tool, "r") as f:
|
||||
for line in f:
|
||||
|
Loading…
x
Reference in New Issue
Block a user