Patch 1 and 9 fix two memleak issue. Patch 2-6 add support for enum type as discriminator Patch 7 add "_base" support which can reduce number of defined structure Patch 8 fix enum name generation issue, now AIOContext->AIO_CONTEXT, X86CPU-> X86_CPU. Patch 10 are a butch of test cases.
Wenchao Xia (10): 1 qapi: fix memleak by add implict struct functions in dealloc visitor 2 qapi script: remember enum values 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: support direct inheritance for struct 8 qapi script: do not add "_" for every capitalized char in enum 9 tests: fix memleak in error path test for input visitor 10 tests: add cases for inherited struct and union with discriminator docs/qapi-code-gen.txt | 21 +++ include/qapi/qmp/qerror.h | 2 +- qapi/qapi-dealloc-visitor.c | 20 +++ scripts/qapi-types.py | 34 +++--- scripts/qapi-visit.py | 50 +++++-- scripts/qapi.py | 84 ++++++++++- target-i386/cpu.c | 2 +- tests/qapi-schema/comments.out | 2 +- tests/qapi-schema/qapi-schema-test.json | 36 +++++ tests/qapi-schema/qapi-schema-test.out | 19 +++- tests/test-qmp-input-visitor.c | 189 ++++++++++++++++++++++++ tests/test-qmp-output-visitor.c | 238 +++++++++++++++++++++++++++++++ 12 files changed, 660 insertions(+), 37 deletions(-)