qemu-patch-raspberry4/scripts/qapi
John Snow 9cd0205d55 qapi/parser: enforce all top-level expressions must be dict in _parse()
Instead of using get_expr nested=False, allow get_expr to always return
any expression. In exchange, add a new error message to the top-level
parser that explains the semantic error: Top-level expressions must
always be JSON objects.

This helps mypy understand the rest of this function which assumes that
get_expr did indeed return a dict.

The exception type changes from QAPIParseError to QAPISemError as a
result, and the error message in two tests now changes.

Signed-off-by: John Snow <jsnow@redhat.com>

Message-Id: <20210519183951.3946870-7-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2021-05-20 11:28:28 +02:00
..
.flake8 qapi: delint using flake8 2020-10-10 11:37:47 +02:00
.isort.cfg qapi: enforce import order/styling with isort 2020-10-10 11:37:47 +02:00
__init__.py qapi-gen: New common driver for code and doc generators 2018-03-02 13:14:09 -06:00
commands.py qapi: Implement deprecated-input=reject for QMP command arguments 2021-03-19 16:05:11 +01:00
common.py qapi: Permit flat union members for any tag value 2021-03-23 22:30:08 +01:00
error.py qapi/error: Add type hints 2021-04-30 12:59:54 +02:00
events.py qapi: Implement deprecated-output=hide for QMP event data 2021-03-19 15:43:33 +01:00
expr.py qapi/expr: Update authorship and copyright information 2021-04-30 12:59:54 +02:00
gen.py qapi: Replace List[str] with Sequence[str] for ifcond 2021-02-18 17:10:29 +01:00
introspect.py qapi/introspect.py: set _gen_tree's default ifcond argument to () 2021-02-18 19:51:14 +01:00
main.py qapi/main: handle theoretical None-return from re.match() 2021-02-08 14:15:58 +01:00
mypy.ini qapi/error.py: enable mypy checks 2021-04-30 12:59:54 +02:00
parser.py qapi/parser: enforce all top-level expressions must be dict in _parse() 2021-05-20 11:28:28 +02:00
pylintrc qapi/error.py: enable pylint checks 2021-04-30 12:59:54 +02:00
schema.py qapi/parser: Don't try to handle file errors 2021-05-20 11:28:27 +02:00
source.py qapi/source: Remove line number from QAPISourceInfo initializer 2021-05-20 11:28:27 +02:00
types.py qapi: Replace List[str] with Sequence[str] for ifcond 2021-02-18 17:10:29 +01:00
visit.py qapi: Implement deprecated-input=reject for QMP command arguments 2021-03-19 16:05:11 +01:00