qemu/scripts/qapi
John Snow faeacf858b qapi/parser: adjust info location for doc body section
Instead of using the info object for the doc block as a whole (which
always points to the very first line of the block), update the info
pointer for each call to ensure_untagged_section when the existing
section is otherwise empty. This way, Sphinx error information will
match precisely to where the text actually starts.

For example, this patch will move the info pointer for the "Hello!"
untagged section ...

> ##       <-- from here ...
> # Hello! <-- ... to here.
> ##

This doesn't seem to improve error reporting now. It will with the
forthcoming QAPI doc transmogrifier.

If I stick bad rST into qapi/block-core.json like this:

>  ##
>  # @SnapshotInfo:
>  #
> +# rST syntax error: *ahh!
> +#
>  # @id: unique shapshot id
>  #
>  # @name: user chosen name

The existing code's error message will point to the beginning of the doc
comment, which is less than helpful. The transmogrifier's message will
point to the erroneous line, but to accomplish this, it needs this
patch.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20250311034303.75779-33-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/parser: adjust info location for doc body section 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