qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 00/22] qapi: static typing conversion, pt5a


From: John Snow
Subject: [PATCH 00/22] qapi: static typing conversion, pt5a
Date: Wed, 21 Apr 2021 23:06:58 -0400

This is part five, and focuses on QAPISchemaParser in parser.py.
It does not touch QAPIDoc yet, which will be covered next.

gitlab: https://gitlab.com/jsnow/qemu/-/commits/python-qapi-cleanup-pt5a
merge-request (and CI): https://gitlab.com/jsnow/qemu/-/merge_requests/3

I encourage you to leave comments on the gitlab MR request link!  Let's
try an experiment. (Of course, I will still response to critique on the
list, as usual.)

The patches that belong to just part five start here:
https://gitlab.com/jsnow/qemu/-/merge_requests/3/diffs?commit_id=7cc329b57bbc5504cba7552be6c0502081aca5f0

At the top near "Viewing commit 7cc329b5", you can click "Next" to move
on to the next patch after you're done leaving comments on a single
commit.

Give it a whirl!

Requirements:
- Python 3.6+
- mypy >= 0.770
- pylint >= 2.6.0 (2.7.0+ when using Python 3.9+)

Every commit should pass with:
 - `isort -c qapi/`
 - `flake8 qapi/`
 - `pylint --rcfile=qapi/pylintrc qapi/`
 - `mypy --config-file=qapi/mypy.ini qapi/`

John Snow (22):
  qapi/parser: Don't try to handle file errors
  qapi/source: [RFC] add "with_column" contextmanager
  qapi/source: Remove line number from QAPISourceInfo initializer
  qapi/parser: factor parsing routine into method
  qapi/parser: Assert lexer value is a string
  qapi/parser: assert get_expr returns object in outer loop
  qapi/parser: assert object keys are strings
  qapi/parser: Use @staticmethod where appropriate
  qapi: add match_nofail helper
  qapi/parser: Fix typing of token membership tests
  qapi/parser: Rework _check_pragma_list_of_str as a TypeGuard
  qapi/parser: add type hint annotations
  qapi/parser: [RFC] overload the return type of get_expr
  qapi/parser: Remove superfluous list constructor
  qapi/parser: allow 'ch' variable name
  qapi/parser: add docstrings
  CHECKPOINT
  qapi: [WIP] Rip QAPIDoc out of parser.py
  qapi: [WIP] Add type ignores for qapidoc.py
  qapi: [WIP] Import QAPIDoc from qapidoc Signed-off-by: John Snow
    <jsnow@redhat.com>
  qapi: [WIP] Add QAPIDocError
  qapi: [WIP] Enable linters on parser.py

 scripts/qapi/common.py  |   8 +-
 scripts/qapi/error.py   |   8 +-
 scripts/qapi/expr.py    |   2 +-
 scripts/qapi/main.py    |  14 +-
 scripts/qapi/mypy.ini   |   2 +-
 scripts/qapi/parser.py  | 566 +++++++++++++---------------------------
 scripts/qapi/pylintrc   |   3 +-
 scripts/qapi/qapidoc.py | 360 +++++++++++++++++++++++++
 scripts/qapi/source.py  |  32 ++-
 9 files changed, 581 insertions(+), 414 deletions(-)
 create mode 100644 scripts/qapi/qapidoc.py

-- 
2.30.2





reply via email to

[Prev in Thread] Current Thread [Next in Thread]