qemu-e2k/scripts
Eric Blake 99df5289d8 qapi: Track location that created an implicit type
A future patch will move some error checking from the parser
to the various QAPISchema*.check() methods, which run only
after parsing completes.  It will thus be possible to create
a python instance representing an implicit QAPI type that
parses fine but will fail validation during check().  Since
all errors have to have an associated 'info' location, we
need a location to be associated with those implicit types.
The intuitive info to use is the location of the enclosing
entity that caused the creation of the implicit type.

Note that we do not anticipate builtin types being used in
an error message (as they are not part of the user's QAPI
input, the user can't cause a semantic error in their
behavior), so we exempt those types from requiring info, by
setting a flag to track the completion of _def_predefineds(),
and tracking that flag in _def_entity().

No change to the generated code.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1444710158-8723-13-git-send-email-eblake@redhat.com>
[Missing QAPISchemaArrayType.is_implicit() supplied]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2015-10-15 08:39:08 +02:00
..
kvm
qemu-guest-agent
qemugdb scripts/qemu-gdb: Split CoroutineCommand into its own file 2015-09-11 17:14:49 +01:00
qmp qmp-shell: add documentation 2015-09-04 13:18:04 +02:00
tracetool
acpi_extract_preprocess.py
acpi_extract.py
analyse-9p-simpletrace.py
analyze-migration.py Teach analyze-migration.py about section footers 2015-06-12 06:54:01 +02:00
check-qerror.sh
checkpatch.pl checkpatch: do not recommend qemu_strtok over strtok 2015-09-25 12:04:41 +02:00
cleanup-trace-events.pl
cocci-macro-file.h add macro file for coccinelle 2015-09-09 15:34:55 +02:00
coverity-model.c coverity: fix address_space_rw model 2015-05-05 10:42:11 +02:00
create_config
disas-objdump.pl
dump-guest-memory.py scripts/dump-guest-memory.py: fix after RAMBlock change 2015-09-09 15:34:55 +02:00
extract-vsssdk-headers
feature_to_c.sh
get_maintainer.pl get_maintainer.pl: \C is deprecated 2015-09-25 12:04:41 +02:00
gtester-cat
hxtool
make_device_config.sh
make-release
ordereddict.py qapi: Clean up qapi.py per pep8 2015-10-12 18:44:54 +02:00
qapi-commands.py qapi: Simplify gen_visit_fields() error handling 2015-10-12 18:46:50 +02:00
qapi-event.py qapi: Share gen_visit_fields() 2015-10-12 18:46:50 +02:00
qapi-introspect.py qapi: Use predicate callback to determine visit filtering 2015-10-15 08:39:07 +02:00
qapi-types.py qapi: Don't use info as witness of implicit object type 2015-10-15 08:39:08 +02:00
qapi-visit.py qapi: Don't use info as witness of implicit object type 2015-10-15 08:39:08 +02:00
qapi.py qapi: Track location that created an implicit type 2015-10-15 08:39:08 +02:00
qemu-binfmt-conf.sh
qemu-gdb.py scripts/qemu-gdb: Add brief comment describing usage 2015-09-11 17:14:50 +01:00
qtest.py
refresh-pxe-roms.sh
shaderinclude.pl opengl: add shader build infrastructure 2015-05-05 09:03:32 +02:00
signrom.py
simpletrace.py
switch-timer-api
texi2pod.pl
tracetool.py
update-acpi.sh
update-linux-headers.sh update-linux-headers: Rename SW_MAX to SW_MAX_ 2015-10-09 15:22:39 +02:00
vmstate-static-checker.py