This is part five (c), and focuses on sharing strict types between parser.py and expr.py.
gitlab: https://gitlab.com/jsnow/qemu/-/commits/python-qapi-cleanup-pt5c Every commit should pass with: - `isort -c qapi/` - `flake8 qapi/` - `pylint --rcfile=qapi/pylintrc qapi/` - `mypy --config-file=qapi/mypy.ini qapi/` V3: - Squashed a bunch of patches into the QAPIExpression patch - Added a few 'info' locals whenever there were >= 3 usages to help minimize some churn - Removed some type redundancy from docstrings - Brought along the two patches from pt0 that I want merged. - Removed 'pexpr' entirely, there's no intermediate state where it's needed now. - Minor style issues. John Snow (7): qapi: Update flake8 config qapi: update pylint configuration qapi/expr: Split check_expr out from check_exprs qapi/expr: add typing workaround for AbstractSet qapi/parser: add QAPIExpression type qapi: remove _JSONObject qapi: remove JSON value FIXME scripts/qapi/.flake8 | 3 +- scripts/qapi/expr.py | 231 +++++++++++++++++++---------------------- scripts/qapi/parser.py | 49 +++++---- scripts/qapi/pylintrc | 1 + scripts/qapi/schema.py | 72 +++++++------ 5 files changed, 181 insertions(+), 175 deletions(-) -- 2.39.0