[v3,00/10] Add typing annotations to gdbarch*.py and make-target-delegates.py

Message ID 20230227011403.612304-1-simon.marchi@polymtl.ca
Headers
Series Add typing annotations to gdbarch*.py and make-target-delegates.py |

Message

Simon Marchi Feb. 27, 2023, 1:13 a.m. UTC
  This is v3 of:

https://inbox.sourceware.org/gdb-patches/20230225033047.373899-2-simon.marchi@polymtl.ca/T/#mc1d1b386fd1235edb2a331dd0a321cf703a3e67b

Changes are:

 - In "gdb: split gdbarch component types to gdbarch_types.py", I had
   introduced one typing annotation by mistake.  It should have been in
   the following commit.  That is fixed now.
 - For container types (lists and dicts), use the types from the typing
   module, to be compatible with Pythons < 3.9.


Simon Marchi (10):
  gdb: remove invalid / dead code from gdbarch.py
  gdb: reformat Python files with black 23.1.0
  gdb: gdbarch.py: spell out parameters of _Component.__init__
  gdb: gdbarch.py: remove Info.__init__
  gdb: pyproject.toml: set pyright typeCheckingMode = "strict"
  gdb: split gdbarch component types to gdbarch_types.py
  gdb: gdbarch*.py, copyright.py: add type annotations
  gdb: make-target-delegates.py: make one string raw
  gdb: make-target-delegates.py: add Entry type
  gdb: make-target-delegates.py: add type annotations

 gdb/gdbarch.py                                | 161 +--------------
 ...ch-components.py => gdbarch_components.py} |   7 +-
 gdb/gdbarch_types.py                          | 184 ++++++++++++++++++
 gdb/gdbcopyright.py                           |   2 +-
 gdb/make-target-delegates.py                  | 104 +++++++---
 gdb/pyproject.toml                            |   3 +
 gdb/python/lib/gdb/FrameDecorator.py          |   1 -
 gdb/python/lib/gdb/command/frame_filters.py   |   1 +
 gdb/python/lib/gdb/dap/server.py              |   2 +-
 gdb/python/lib/gdb/printing.py                |   2 +-
 .../gdb.multi/multi-target-info-inferiors.py  |   1 +
 gdb/testsuite/gdb.perf/backtrace.py           |   1 -
 .../gdb.python/py-framefilter-addr.py         |   1 +
 gdb/testsuite/gdb.python/py-framefilter.py    |   1 +
 gdb/testsuite/gdb.python/py-inferior-leak.py  |   2 +
 gdb/testsuite/gdb.python/py-prettyprint.py    |   1 +
 gdb/testsuite/gdb.python/py-recurse-unwind.py |   5 -
 gdb/testsuite/gdb.python/py-send-packet.py    |   1 +
 gdb/testsuite/gdb.python/tui-window.py        |   1 +
 19 files changed, 284 insertions(+), 197 deletions(-)
 rename gdb/{gdbarch-components.py => gdbarch_components.py} (99%)
 create mode 100755 gdb/gdbarch_types.py


base-commit: 95ebc6fdec5780bf59685739cdd55cd41d0f55ac
  

Comments

Andrew Burgess Feb. 27, 2023, 5:38 p.m. UTC | #1
Simon Marchi via Gdb-patches <gdb-patches@sourceware.org> writes:

> This is v3 of:
>
> https://inbox.sourceware.org/gdb-patches/20230225033047.373899-2-simon.marchi@polymtl.ca/T/#mc1d1b386fd1235edb2a331dd0a321cf703a3e67b
>
> Changes are:
>
>  - In "gdb: split gdbarch component types to gdbarch_types.py", I had
>    introduced one typing annotation by mistake.  It should have been in
>    the following commit.  That is fixed now.
>  - For container types (lists and dicts), use the types from the typing
>    module, to be compatible with Pythons < 3.9.

Tested this with my crusty old Python (3.7.9) and can confirm that this
all now runs fine, I see no changes in the generated files after running
your updated gdbarch.py script.

This all LGTM.

Reviewed-By: Andrew Burgess <aburgess@redhat.com>

Thanks,
Andrew


>
>
> Simon Marchi (10):
>   gdb: remove invalid / dead code from gdbarch.py
>   gdb: reformat Python files with black 23.1.0
>   gdb: gdbarch.py: spell out parameters of _Component.__init__
>   gdb: gdbarch.py: remove Info.__init__
>   gdb: pyproject.toml: set pyright typeCheckingMode = "strict"
>   gdb: split gdbarch component types to gdbarch_types.py
>   gdb: gdbarch*.py, copyright.py: add type annotations
>   gdb: make-target-delegates.py: make one string raw
>   gdb: make-target-delegates.py: add Entry type
>   gdb: make-target-delegates.py: add type annotations
>
>  gdb/gdbarch.py                                | 161 +--------------
>  ...ch-components.py => gdbarch_components.py} |   7 +-
>  gdb/gdbarch_types.py                          | 184 ++++++++++++++++++
>  gdb/gdbcopyright.py                           |   2 +-
>  gdb/make-target-delegates.py                  | 104 +++++++---
>  gdb/pyproject.toml                            |   3 +
>  gdb/python/lib/gdb/FrameDecorator.py          |   1 -
>  gdb/python/lib/gdb/command/frame_filters.py   |   1 +
>  gdb/python/lib/gdb/dap/server.py              |   2 +-
>  gdb/python/lib/gdb/printing.py                |   2 +-
>  .../gdb.multi/multi-target-info-inferiors.py  |   1 +
>  gdb/testsuite/gdb.perf/backtrace.py           |   1 -
>  .../gdb.python/py-framefilter-addr.py         |   1 +
>  gdb/testsuite/gdb.python/py-framefilter.py    |   1 +
>  gdb/testsuite/gdb.python/py-inferior-leak.py  |   2 +
>  gdb/testsuite/gdb.python/py-prettyprint.py    |   1 +
>  gdb/testsuite/gdb.python/py-recurse-unwind.py |   5 -
>  gdb/testsuite/gdb.python/py-send-packet.py    |   1 +
>  gdb/testsuite/gdb.python/tui-window.py        |   1 +
>  19 files changed, 284 insertions(+), 197 deletions(-)
>  rename gdb/{gdbarch-components.py => gdbarch_components.py} (99%)
>  create mode 100755 gdb/gdbarch_types.py
>
>
> base-commit: 95ebc6fdec5780bf59685739cdd55cd41d0f55ac
> -- 
> 2.39.2
  
Simon Marchi Feb. 27, 2023, 6:27 p.m. UTC | #2
On 2/27/23 12:38, Andrew Burgess wrote:
> Simon Marchi via Gdb-patches <gdb-patches@sourceware.org> writes:
> 
>> This is v3 of:
>>
>> https://inbox.sourceware.org/gdb-patches/20230225033047.373899-2-simon.marchi@polymtl.ca/T/#mc1d1b386fd1235edb2a331dd0a321cf703a3e67b
>>
>> Changes are:
>>
>>  - In "gdb: split gdbarch component types to gdbarch_types.py", I had
>>    introduced one typing annotation by mistake.  It should have been in
>>    the following commit.  That is fixed now.
>>  - For container types (lists and dicts), use the types from the typing
>>    module, to be compatible with Pythons < 3.9.
> 
> Tested this with my crusty old Python (3.7.9) and can confirm that this
> all now runs fine, I see no changes in the generated files after running
> your updated gdbarch.py script.

Thanks for testing.

> This all LGTM.
> 
> Reviewed-By: Andrew Burgess <aburgess@redhat.com>

Thanks, will push.  I will keep Tom Tromey's Reviewed-By, because the
patches didn't fundamentally change since he looked at them.

Simon