Hello darkness my old friend; This is part five (b), and focuses on
QAPIDoc in parser.py.
GitLab: https://gitlab.com/jsnow/qemu/-/commits/python-qapi-cleanup-pt5b
CI: https://gitlab.com/jsnow/qemu/-/pipelines/380464863
Note: intentional trailing whitespace in a QAPI schema test causes
a warning on the `check-patch` CI test. Ignore it.
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/`
V4:
005/13:[0006] [FC] 'qapi/parser: remove FIXME comment from _append_body_line'
006/13:[down] 'qapi/parser: clarify _end_section() logic'
007/13:[0004] [FC] 'qapi/parser: Introduce NullSection'
010/13:[down] 'qapi/parser: Add FIXME for consolidating JSON-related types'
- Dropped formerly-patch-05, for now.
- Added a new FIXME comment to keep myself honest for pt5c O:-)
- (05) Adjusted a commend and the parser error message
- (06) Changed commit title for 06 ("simplify" => "clarify")
- (07) Adjust comment.
John Snow (13):
qapi/pylintrc: ignore 'consider-using-f-string' warning
qapi/gen: use dict.items() to iterate over _modules
qapi/parser: fix unused check_args_section arguments
qapi: Add spaces after symbol declaration for consistency
qapi/parser: remove FIXME comment from _append_body_line
qapi/parser: clarify _end_section() logic
qapi/parser: Introduce NullSection
qapi/parser: add import cycle workaround
qapi/parser: add type hint annotations (QAPIDoc)
qapi/parser: Add FIXME for consolidating JSON-related types
qapi/parser: enable mypy checks
qapi/parser: Silence too-few-public-methods warning
qapi/parser: enable pylint checks
qapi/block-core.json | 1 +
qga/qapi-schema.json | 3 +
scripts/qapi/gen.py | 3 +-
scripts/qapi/mypy.ini | 5 -
scripts/qapi/parser.py | 152 ++++++++++++++++---------
scripts/qapi/pylintrc | 4 +-
tests/qapi-schema/doc-bad-feature.err | 2 +-
tests/qapi-schema/doc-empty-symbol.err | 2 +-
tests/qapi-schema/doc-good.json | 8 ++
9 files changed, 114 insertions(+), 66 deletions(-)
--
2.31.1