qemu/scripts
Markus Armbruster e6c42b96b9 qapi: Split up scripts/qapi/common.py
The QAPI code generator clocks in at some 3100 SLOC in 8 source files.
Almost 60% of the code is in qapi/common.py.  Split it into more
focused modules:

* Move QAPISchemaPragma and QAPISourceInfo to qapi/source.py.

* Move QAPIError and its sub-classes to qapi/error.py.

* Move QAPISchemaParser and QAPIDoc to parser.py.  Use the opportunity
  to put QAPISchemaParser first.

* Move check_expr() & friends to qapi/expr.py.  Use the opportunity to
  put the code into a more sensible order.

* Move QAPISchema & friends to qapi/schema.py

* Move QAPIGen and its sub-classes, ifcontext,
  QAPISchemaModularCVisitor, and QAPISchemaModularCVisitor to qapi/gen.py

* Delete camel_case(), it's unused since commit e98859a9b9 "qapi:
  Clean up after recent conversions to QAPISchemaVisitor"

A number of helper functions remain in qapi/common.py.  I considered
moving the code generator helpers to qapi/gen.py, but decided not to.
Perhaps we should rewrite them as methods of QAPIGen some day.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20191018074345.24034-7-armbru@redhat.com>
[Add "# -*- coding: utf-8 -*-" lines]
2019-10-22 13:53:55 +02:00
..
coccinelle qemu-iotests: convert pwd and $(pwd) to $PWD 2018-11-19 10:08:19 -06:00
kvm vmxcap: correct the name of the variables 2019-10-04 18:49:19 +02:00
modules Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
qapi qapi: Split up scripts/qapi/common.py 2019-10-22 13:53:55 +02: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/qemugdb: re-license timers.py to GPLv2 or later 2019-03-12 08:04:22 +01:00
qmp qmp: make qmp-shell work with python3 2019-07-01 19:02:10 -03:00
tracetool trace: avoid "is" with a literal Python 3.8 warnings 2019-10-15 09:47:16 +01:00
travis travis: add gcovr summary for GCOV build 2018-07-05 15:59:41 +01:00
analyse-9p-simpletrace.py python: futurize -f libfuturize.fixes.fix_print_with_import 2018-06-08 14:39:24 -03:00
analyse-locks-simpletrace.py scripts: Remove unused python imports 2019-01-17 17:52:40 -02:00
analyze-inclusions Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
analyze-migration.py scripts: Remove unused python imports 2019-01-17 17:52:40 -02:00
archive-source.sh archive-source: also create a stash for submodules 2019-07-23 15:53:25 +01:00
checkpatch.pl docs: convert README, CODING_STYLE and HACKING to RST syntax 2019-09-05 14:27:06 +01:00
clean-header-guards.pl scripts/clean-header-guards: Fix handling of trailing comments 2019-06-12 13:20:20 +02:00
clean-includes scripts/clean-includes: added duplicate #include check 2016-10-28 18:17:23 +03:00
cleanup-trace-events.pl scripts/cleanup-trace-events: Update for current practice 2019-03-22 16:18:07 +00:00
cocci-macro-file.h QEMU_PACKED: Remove gcc_struct attribute in Windows non x86 targets 2019-05-07 12:55:02 +01:00
coverity-model.c coverity-model: Fix replay_get_byte() 2018-07-05 15:09:52 +02:00
create_config create_config: remove $(CONFIG_SOFTMMU) hack 2019-07-15 20:58:37 +02:00
decodetree.py decodetree: Suppress redundant declaration warnings 2019-08-19 08:13:14 -07:00
device-crash-test python/qemu: split QEMUMachine out from underneath __init__.py 2019-07-01 19:02:10 -03:00
disas-objdump.pl scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
dump-guest-memory.py dump: Set correct vaddr for ELF dump 2019-02-06 15:51:12 +01:00
extract-vsssdk-headers
feature_to_c.sh scripts: Use $(..) instead of deprecated .. 2016-06-07 18:19:23 +03:00
fix-multiline-comments.sh scripts: add script to convert multiline comments into 4-line format 2019-01-11 15:46:55 +01:00
get_maintainer.pl get_maintainer: use 'https://' instead of 'git://' 2018-11-12 11:26:02 +00:00
git-submodule.sh git-submodule.sh: Modern shell scripting (use $() instead of ``) 2018-10-16 18:34:19 +02:00
git.orderfile scripts/git.orderfile: Match QAPI schema more precisely 2019-09-24 14:07:22 +02:00
hxtool qemu-options: Remove stray colons from output of --help 2017-12-20 09:04:27 +01:00
make-release make-release: pull in edk2 submodules so we can build it from tarballs 2019-10-07 14:54:45 +02:00
minikconf.py minikconf: don't print CONFIG_FOO=n lines 2019-08-21 16:29:57 +02:00
qapi-gen.py qapi: Split up scripts/qapi/common.py 2019-10-22 13:53:55 +02:00
qemu-binfmt-conf.sh qemu-binfmt-conf.sh: add x86_64 target 2018-08-17 13:56:33 +02:00
qemu-gdb.py qemugdb: fix licensing 2019-03-11 16:55:52 +01:00
qemu-trace-stap trace: add ability to do simple printf logging via systemtap 2019-01-24 14:16:56 +00:00
qemu-trace-stap.texi trace: add ability to do simple printf logging via systemtap 2019-01-24 14:16:56 +00:00
refresh-pxe-roms.sh
render_block_graph.py python/qemu: split QEMUMachine out from underneath __init__.py 2019-07-01 19:02:10 -03:00
replay-dump.py scripts/replay-dump.py: fix utf-8 mangling 2019-01-17 17:52:40 -02:00
shaderinclude.pl scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
show-fixed-bugs.sh show-fixed-bugs.sh: Modern shell scripting (use $() instead of ``) 2018-10-16 18:34:19 +02:00
signrom.py python: futurize -f libfuturize.fixes.fix_print_with_import 2018-06-08 14:39:24 -03:00
simpletrace.py scripts: Remove unused python imports 2019-01-17 17:52:40 -02:00
switch-timer-api scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
tap-driver.pl tap: flush STDOUT on newline 2019-02-05 16:50:16 +01:00
tap-merge.pl tap: flush STDOUT on newline 2019-02-05 16:50:16 +01:00
texi2pod.pl maint: Allow for EXAMPLES in texi2pod 2019-01-21 15:49:51 -06:00
tracetool.py scripts: Remove unused python imports 2019-01-17 17:52:40 -02:00
update-linux-headers.sh update-linux-headers: handle new header file 2019-05-21 16:56:30 +02:00
vmstate-static-checker.py python: futurize -f libfuturize.fixes.fix_next_call 2018-06-08 14:39:24 -03:00