qemu-e2k/scripts
John Snow c7b7a7ded9 qapi: remove JSON value FIXME
With the two major JSON-ish type hierarchies clarified for distinct
purposes; QAPIExpression for parsed expressions and JSONValue for
introspection data, remove this FIXME as no longer an action item.

A third JSON-y data type, _ExprValue, is not meant to represent JSON in
the abstract but rather only the possible legal return values from a
single function, get_expr(). It isn't appropriate to attempt to merge it
with either of the above two types.

In theory, it may be possible to define a completely agnostic
one-size-fits-all JSON type hierarchy that any other user could borrow -
in practice, it's tough to wrangle the differences between invariant,
covariant and contravariant types: input and output parameters demand
different properties of such a structure.

However, QAPIExpression serves to authoritatively type user input to the
QAPI parser, while JSONValue serves to authoritatively type qapi
generator *output* to be served back to client users at runtime via
QMP. The AST for these two types are different and cannot be wholly
merged into a unified syntax.

They could, in theory, share some JSON primitive definitions. In
practice, this is currently more trouble than it's worth with mypy's
current expressive power. As such, declare this "done enough for now".

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20230215000011.1725012-7-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
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
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
oss-fuzz gitlab: add lsan suppression file to workaround tcmalloc issues 2023-02-02 10:44:23 +00:00
performance
qapi qapi: remove JSON value FIXME 2023-02-23 13:01:45 +01:00
qemu-guest-agent
qemugdb
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
analyse-9p-simpletrace.py
analyse-locks-simpletrace.py
analyze-inclusions
analyze-migration.py
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
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
cocci-macro-file.h
cpu-x86-uarch-abi.py python: rename qemu.aqmp to qemu.qmp 2022-04-21 11:01:00 -04:00
decodetree.py
device-crash-test tests: run 'device-crash-test' from tests/venv 2022-06-06 09:26:54 +02:00
disas-objdump.pl
dump-guest-memory.py
entitlement.sh
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
gensyscalls.sh linux-user: Add LoongArch syscall support 2022-07-04 11:08:57 +05:30
get_maintainer.pl
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
kernel-doc
main.c configure, meson: move C++ compiler detection to meson.build 2022-10-01 21:16:36 +02:00
make-config-poison.sh
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
minikconf.py
modinfo-collect.py
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
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
qemu-stamp.py meson, configure: move --with-pkgversion, CONFIG_STAMP to meson 2022-05-07 07:46:58 +02:00
qemu-trace-stap
qemu-version.sh
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
shaderinclude.py build-sys: fix crlf-ending C code 2023-02-02 10:44:23 +00:00
signrom.py
simpletrace.py
symlink-install-tree.py meson: accept relative symlinks in "meson introspect --installed" data 2023-01-06 00:51:02 +01:00
test-driver.py
tracetool.py
u2f-setup-gen.py
undefsym.py
update-linux-headers.sh linux-headers: Add vduse.h 2022-06-24 17:07:06 +02:00
update-mips-syscall-args.sh
update-syscalltbl.sh
userfaultfd-wrlat.py
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