This series is respined from RFC series at: http://lists.nongnu.org/archive/html/qemu-devel/2013-11/msg00363.html
Patch 1-6 add support for enum as discriminator. Patch 7 improve enum name generation, now AIOContext->AIO_CONTEXT, X86CPU-> X86_CPU. Patch 8 are the test cases. Changes from RFC: Mainly address Eric's comments: fix typo, add patch 2 to allow partly mapping enum value in union, add related test case, remove direct inherit support "_base" and related test case. Wenchao Xia (8): 1 qapi script: remember enum values 2 qapi script: report error for default case in union visit 3 qapi script: check correctness of discriminator values in union 4 qapi script: code move for generate_enum_name() 5 qapi script: use same function to generate enum string 6 qapi script: not generate hidden enum type for pre-defined enum discriminator 7 qapi script: do not add "_" for every capitalized char in enum 8 tests: add cases for inherited struct and union with discriminator include/qapi/qmp/qerror.h | 2 +- scripts/qapi-types.py | 34 +++--- scripts/qapi-visit.py | 63 +++++++++-- scripts/qapi.py | 84 ++++++++++++++- target-i386/cpu.c | 2 +- tests/qapi-schema/comments.out | 2 +- tests/qapi-schema/qapi-schema-test.json | 25 +++++ tests/qapi-schema/qapi-schema-test.out | 15 +++- tests/test-qmp-input-visitor.c | 152 +++++++++++++++++++++++++++ tests/test-qmp-output-visitor.c | 172 +++++++++++++++++++++++++++++++ 10 files changed, 513 insertions(+), 38 deletions(-)