qemu/scripts
John Snow 420110591c qapi/parser: add QAPIExpression type
This patch creates a new type, QAPIExpression, which represents a parsed
expression complete with QAPIDoc and QAPISourceInfo.

This patch turns parser.exprs into a list of QAPIExpression instead,
and adjusts expr.py to match.

This allows the types we specify in parser.py to be "remembered" all the
way through expr.py and into schema.py. Several assertions around
packing and unpacking this data can be removed as a result.

It also corrects a harmless typing error.  Before the patch,
check_exprs() allegedly takes a List[_JSONObject].  It actually takes
a list of dicts of the form

    {'expr': E, 'info': I, 'doc': D}

where E is of type _ExprValue, I is of type QAPISourceInfo, and D is
of type QAPIDoc.  Key 'doc' is optional.  This is not a _JSONObject!
Passes type checking anyway, because _JSONObject is Dict[str, object].

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20230215000011.1725012-5-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Commit message amended to point out the typing fix]
2023-02-23 13:01:45 +01:00
..
ci virtiofsd: Remove build and docs glue 2023-02-16 18:15:08 +00:00
coccinelle cleanup: Tweak and re-run return_directly.cocci 2022-12-14 16:19:35 +01:00
codeconverter scripts/codeconverter: Update to latest version 2020-09-18 14:12:32 -04:00
coverity-scan virtiofsd: Remove build and docs glue 2023-02-16 18:15:08 +00:00
kvm vmxcap: add tertiary execution controls 2022-05-12 14:23:19 +02:00
modules scripts/modules/module_block: Use Python 3 interpreter & add pseudo-main 2020-05-31 13:56:46 +02:00
oss-fuzz gitlab: add lsan suppression file to workaround tcmalloc issues 2023-02-02 10:44:23 +00:00
performance scripts/performance: Add dissect.py script 2020-07-14 22:22:22 +02:00
qapi qapi/parser: add QAPIExpression type 2023-02-23 13:01:45 +01:00
qemu-guest-agent qemu-guest-agent: freeze-hook to ignore dpkg files as well 2018-08-23 18:46:25 +02:00
qemugdb scripts/gdb: implement 'qemu bt' 2021-01-12 12:38:03 +01:00
qmp python: rename qemu.aqmp to qemu.qmp 2022-04-21 11:01:00 -04:00
simplebench python: rename qemu.aqmp to qemu.qmp 2022-04-21 11:01:00 -04:00
tracetool trace: fix compilation with lttng-ust >= 2.13 2022-04-01 13:06:07 +02:00
analyse-9p-simpletrace.py drop "from __future__ import print_function" 2020-02-07 15:15:16 +01:00
analyse-locks-simpletrace.py drop "from __future__ import print_function" 2020-02-07 15:15:16 +01:00
analyze-inclusions scripts/analyze-inclusions: drop qemu-common.h from analysis 2022-04-21 16:56:55 +04:00
analyze-migration.py analyze-migration.py: fix extract contents ('-x') errors 2021-10-23 20:28:56 +02:00
archive-source.sh Remove the slirp submodule (i.e. compile only with an external libslirp) 2022-09-26 17:23:47 +02:00
block-coroutine-wrapper.py block-coroutine-wrapper: Introduce no_co_wrapper 2023-02-17 11:22:19 +01:00
check_sparse.py meson: move sparse detection to Meson and rewrite check_sparse.py 2020-10-04 18:36:23 +02:00
checkpatch.pl checkpatch: typo fix 2022-11-10 10:17:07 -05:00
clean-header-guards.pl disas: Remove libvixl disassembler 2022-07-05 10:15:49 +02:00
clean-includes scripts/clean-includes: Improve --git commit message 2023-02-08 07:16:23 +01:00
cleanup-trace-events.pl scripts/cleanup-trace-events: Emit files in alphabetical order 2020-09-09 17:17:00 +01:00
cocci-macro-file.h compiler.h: replace QEMU_NORETURN with G_NORETURN 2022-04-21 17:03:51 +04:00
cpu-x86-uarch-abi.py python: rename qemu.aqmp to qemu.qmp 2022-04-21 11:01:00 -04:00
decodetree.py decodetree: Extend argument set syntax to allow types 2021-05-01 11:45:35 -07:00
device-crash-test tests: run 'device-crash-test' from tests/venv 2022-06-06 09:26:54 +02:00
disas-objdump.pl scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
dump-guest-memory.py drop "from __future__ import print_function" 2020-02-07 15:15:16 +01:00
entitlement.sh scripts/entitlement.sh: Use backward-compatible cp flags 2021-11-30 22:25:58 +01:00
extract-vsssdk-headers
feature_to_c.sh Add missing include statement for global xml_builtin 2022-11-06 09:48:42 +01:00
fix-multiline-comments.sh docs: move CODING_STYLE into the developer documentation 2021-02-24 11:05:21 +00:00
gensyscalls.sh linux-user: Add LoongArch syscall support 2022-07-04 11:08:57 +05:30
get_maintainer.pl get_maintainer: update repo URL to GitLab 2021-02-09 20:53:56 +00:00
git-submodule.sh scripts: check if .git exists before checking submodule status 2022-10-27 11:54:37 +01:00
git.orderfile scripts/git.orderfile: Display MAINTAINERS changes first 2023-01-13 16:22:57 +01:00
hxtool meson: generate hxtool files 2020-08-21 06:30:14 -04:00
kernel-doc scripts/kernel-doc: strip QEMU_ from function definitions 2021-03-24 14:24:40 +00:00
main.c configure, meson: move C++ compiler detection to meson.build 2022-10-01 21:16:36 +02:00
make-config-poison.sh configure, meson: move config-poison.h to meson 2022-01-12 14:09:06 +01:00
make-release scripts/make-release: Only clone single branches to speed up the script 2022-12-15 15:02:35 +01:00
meson-buildoptions.py build: make meson-buildoptions.sh stable 2023-02-10 14:12:06 +01:00
meson-buildoptions.sh virtiofsd: Remove build and docs glue 2023-02-16 18:15:08 +00:00
meson.build trace: move configuration from configure to Meson 2021-10-14 09:50:56 +02:00
minikconf.py meson: infrastructure for building emulators 2020-08-21 06:30:17 -04:00
modinfo-collect.py scripts/modinfo-collect: remove unused/dead code 2022-03-22 14:46:17 +04:00
modinfo-generate.py modules: generates per-target modinfo 2022-06-06 09:26:53 +02:00
mtest2make.py build: add a more generic way to specify make->ninja dependencies 2022-06-01 15:47:43 +01:00
nsis.py scripts/nsis.py: Automatically package required DLLs of QEMU executables 2022-10-31 10:06:11 +01:00
qapi-gen.py qapi: move generator entrypoint into package 2020-10-10 11:37:47 +02:00
qemu-binfmt-conf.sh scripts/qemu-binfmt-conf: Add LoongArch to qemu_get_family() 2022-07-05 16:17:53 +05:30
qemu-gdb.py scripts/gdb: implement 'qemu bt' 2021-01-12 12:38:03 +01:00
qemu-stamp.py meson, configure: move --with-pkgversion, CONFIG_STAMP to meson 2022-05-07 07:46:58 +02:00
qemu-trace-stap qemu-trace-stap: changing SYSTEMTAP_TAPSET considered harmful. 2021-07-12 17:37:06 +01:00
qemu-version.sh build-sys: fix git version from -version 2020-10-12 11:50:23 -04:00
refresh-pxe-roms.sh
render_block_graph.py python: rename qemu.aqmp to qemu.qmp 2022-04-21 11:01:00 -04:00
replay-dump.py nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
shaderinclude.py build-sys: fix crlf-ending C code 2023-02-02 10:44:23 +00:00
signrom.py drop "from __future__ import print_function" 2020-02-07 15:15:16 +01:00
simpletrace.py docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
symlink-install-tree.py meson: accept relative symlinks in "meson introspect --installed" data 2023-01-06 00:51:02 +01:00
test-driver.py mtest2make: hide output of successful tests 2020-09-08 07:17:09 +02:00
tracetool.py tracetool: add output filename command-line argument 2021-01-04 14:24:58 +00:00
u2f-setup-gen.py scripts: Add u2f-setup-gen script 2020-08-31 08:23:39 +02:00
undefsym.py build: fix macOS --enable-modules build 2020-10-22 11:53:52 -04:00
update-linux-headers.sh linux-headers: Add vduse.h 2022-06-24 17:07:06 +02:00
update-mips-syscall-args.sh linux-user, mips: update syscall-args-o32.c.inc to Linux v5.13 2021-07-13 13:59:59 +02:00
update-syscalltbl.sh linux-user, scripts: add a script to update syscall.tbl 2020-03-20 16:02:00 +01:00
userfaultfd-wrlat.py migration: introduce 'userfaultfd-wrlat.py' script 2021-02-08 11:19:51 +00:00
vmstate-static-checker.py vmstate-static-checker:remove this redundant return 2022-10-22 23:19:11 +02:00
xen-detect.c meson, configure: move Xen detection to meson 2022-05-07 07:46:58 +02:00