qemu-patch-raspberry4/scripts/qapi
Markus Armbruster 5fbc78dd36 qapi: Permit flat union members for any tag value
Flat union branch names match the tag enum's member names.  Omitted
branches default to "no members for this tag value".

Branch names starting with a digit get rejected like "'data' member
'0' has an invalid name".  However, omitting the branch works.

This is because flat union tag values get checked twice: as enum
member name, and as union branch name.  The former accepts leading
digits, the latter doesn't.

Branches whose names start with a digit therefore cannot have members.
Feels wrong.  Get rid of the restriction by skipping the latter check.

This can expose c_name() to input it can't handle: a name starting
with a digit.  Improve it to return a valid C identifier for any
input.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20210323094025.3569441-9-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
[Commit message rewritten]
2021-03-23 22:30:08 +01: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: Use super() now we have Python 3 2020-03-05 09:24:11 +01:00
events.py qapi: Implement deprecated-output=hide for QMP event data 2021-03-19 15:43:33 +01:00
expr.py qapi: Permit flat union members for any tag value 2021-03-23 22:30:08 +01: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/introspect.py: add type hint annotations 2021-02-18 19:45:20 +01:00
parser.py qapi: Fix parse errors for removal of null from schema language 2021-03-05 15:40:50 +01:00
pylintrc qapi/visit.py: remove unused parameters from gen_visit_object 2020-10-10 11:37:49 +02:00
schema.py qapi/introspect.py: add type hint annotations 2021-02-18 19:45:20 +01:00
source.py qapi/source.py: delint with pylint 2020-10-10 11:37:48 +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