qemu/scripts/qapi
John Snow 323c668934 qapi: clean up encoding of section kinds
We have several kinds of sections, and to tell them apart, we use
Section attribute @tag and also the section object's Python type:

              type        @tag
    untagged  Section     None
    @foo:     ArgSection  'foo'
    Returns:  Section     'Returns'
    Errors:   Section     'Errors'
    Since:    Section     'Since'
    TODO:     Section     'TODO'

Note:

* @foo can be a member or a feature description, depending on context.

* tag == 'Since' can be a Since: section or a member or feature
  description.  If it's a Section, it's the former, and if it's an
  ArgSection, it's the latter.

Clean this up as follows.  Move the member or feature name to new
ArgSection attribute @name, and replace @tag by enum @kind like this:

              type         kind     name
    untagged  Section      PLAIN
    @foo:     ArgSection   MEMBER   'foo'   if member or argument
              ArgSection   FEATURE  'foo'   if feature
    Returns:  Section      RETURNS
    Errors:   Section      ERRORS
    Since:    Section      SINCE
    TODO:     Section      TODO

The qapi-schema tests are updated to account for the new section names;
"TODO" becomes "Todo" and `None` becomes "Plain" there.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20250311034303.75779-34-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2025-03-11 10:10:57 +01:00
..
.flake8 qapi: Update flake8 config 2023-02-23 12:49:39 +01: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
backend.py qapi: pluggable backend code generators 2025-03-04 08:02:29 +01:00
commands.py qapi: expose all schema features to code 2025-02-10 15:45:04 +01:00
common.py qapi: Smarter camel_to_upper() to reduce need for 'prefix' 2024-09-10 13:22:47 +02:00
error.py qapi/error: Add type hints 2021-04-30 12:59:54 +02:00
events.py qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
expr.py qapi: Fix to reject 'data': 'mumble' in struct 2023-04-24 15:21:39 +02:00
features.py qapi: expose all schema features to code 2025-02-10 15:45:04 +01:00
gen.py qapi: expose all schema features to code 2025-02-10 15:45:04 +01:00
introspect.py qapi/introspect: Use @dataclass to simplify 2025-03-06 10:09:25 +01:00
main.py qapi: pluggable backend code generators 2025-03-04 08:02:29 +01:00
mypy.ini qapi/schema: turn on mypy strictness 2024-04-24 10:03:54 +02:00
parser.py qapi: clean up encoding of section kinds 2025-03-11 10:10:57 +01:00
pylintrc qapi: update pylintrc config 2025-02-26 11:09:49 +01:00
schema.py qapi: Eliminate OrderedDict 2025-03-06 10:09:22 +01:00
source.py qapi: Require member documentation (with loophole) 2024-02-12 10:04:31 +01:00
types.py qapi: expose all schema features to code 2025-02-10 15:45:04 +01:00
visit.py qapi: expose all schema features to code 2025-02-10 15:45:04 +01:00