mirror of https://gitee.com/openkylin/qemu.git
tests/qapi-schema: Rewrite simple union TestIfUnion to be flat
Simple unions predate flat unions. Having both complicates the QAPI schema language and the QAPI generator. We haven't been using simple unions in new code for a long time, because they are less flexible and somewhat awkward on the wire. To prepare for their removal, rewrite TestIfUnion to be flat. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20210917143134.412106-18-armbru@redhat.com>
This commit is contained in:
parent
def1d1f571
commit
5450186337
|
@ -229,8 +229,10 @@
|
|||
'if': 'TEST_IF_ENUM' }
|
||||
|
||||
{ 'union': 'TestIfUnion',
|
||||
'base': { 'type': 'TestIfEnum' },
|
||||
'discriminator': 'type',
|
||||
'data': { 'foo': 'TestStruct',
|
||||
'bar': { 'type': 'str', 'if': 'TEST_IF_UNION_BAR'} },
|
||||
'bar': { 'type': 'UserDefZero', 'if': 'TEST_IF_ENUM_BAR'} },
|
||||
'if': { 'all': ['TEST_IF_UNION', 'TEST_IF_STRUCT'] } }
|
||||
|
||||
{ 'command': 'test-if-union-cmd',
|
||||
|
|
|
@ -257,19 +257,15 @@ enum TestIfEnum
|
|||
member bar
|
||||
if TEST_IF_ENUM_BAR
|
||||
if TEST_IF_ENUM
|
||||
object q_obj_TestStruct-wrapper
|
||||
member data: TestStruct optional=False
|
||||
enum TestIfUnionKind
|
||||
member foo
|
||||
member bar
|
||||
if TEST_IF_UNION_BAR
|
||||
object q_obj_TestIfUnion-base
|
||||
member type: TestIfEnum optional=False
|
||||
if {'all': ['TEST_IF_UNION', 'TEST_IF_STRUCT']}
|
||||
object TestIfUnion
|
||||
member type: TestIfUnionKind optional=False
|
||||
base q_obj_TestIfUnion-base
|
||||
tag type
|
||||
case foo: q_obj_TestStruct-wrapper
|
||||
case bar: q_obj_str-wrapper
|
||||
if TEST_IF_UNION_BAR
|
||||
case foo: TestStruct
|
||||
case bar: UserDefZero
|
||||
if TEST_IF_ENUM_BAR
|
||||
if {'all': ['TEST_IF_UNION', 'TEST_IF_STRUCT']}
|
||||
object q_obj_test-if-union-cmd-arg
|
||||
member union-cmd-arg: TestIfUnion optional=False
|
||||
|
|
Loading…
Reference in New Issue