@@ -1,4 +1,14 @@
-enum QType ['none', 'qnull', 'qnum', 'qstring', 'qdict', 'qlist', 'qbool']
+enum QType
prefix QTYPE
-enum Status ['good', 'bad', 'ugly']
+ member none
+ member qnull
+ member qnum
+ member qstring
+ member qdict
+ member qlist
+ member qbool
+enum Status
+ member good
+ member bad
+ member ugly
object q_empty
@@ -1,6 +1,15 @@
-enum Enum ['one', 'two']
-enum QType ['none', 'qnull', 'qnum', 'qstring', 'qdict', 'qlist', 'qbool']
+enum Enum
+ member one
+ member two
+enum QType
prefix QTYPE
+ member none
+ member qnull
+ member qnum
+ member qstring
+ member qdict
+ member qlist
+ member qbool
object q_empty
doc symbol=Enum
body=
@@ -1,19 +1,30 @@
object Base
member base1: Enum optional=False
-enum Enum ['one', 'two']
+enum Enum
+ member one
+ member two
object Object
base Base
tag base1
case one: Variant1
case two: Variant2
-enum QType ['none', 'qnull', 'qnum', 'qstring', 'qdict', 'qlist', 'qbool']
+enum QType
prefix QTYPE
+ member none
+ member qnull
+ member qnum
+ member qstring
+ member qdict
+ member qlist
+ member qbool
object SugaredUnion
member type: SugaredUnionKind optional=False
tag type
case one: q_obj_Variant1-wrapper
case two: q_obj_Variant2-wrapper
-enum SugaredUnionKind ['one', 'two']
+enum SugaredUnionKind
+ member one
+ member two
object Variant1
member var1: str optional=False
object Variant2
@@ -1,3 +1,10 @@
-enum QType ['none', 'qnull', 'qnum', 'qstring', 'qdict', 'qlist', 'qbool']
+enum QType
prefix QTYPE
+ member none
+ member qnull
+ member qnum
+ member qstring
+ member qdict
+ member qlist
+ member qbool
object q_empty
@@ -1,5 +1,12 @@
-enum QType ['none', 'qnull', 'qnum', 'qstring', 'qdict', 'qlist', 'qbool']
+enum QType
prefix QTYPE
+ member none
+ member qnull
+ member qnum
+ member qstring
+ member qdict
+ member qlist
+ member qbool
event oops None
boxed=False
object q_empty
@@ -1,5 +1,12 @@
-enum QType ['none', 'qnull', 'qnum', 'qstring', 'qdict', 'qlist', 'qbool']
+enum QType
prefix QTYPE
+ member none
+ member qnull
+ member qnum
+ member qstring
+ member qdict
+ member qlist
+ member qbool
command fooA q_obj_fooA-arg -> None
gen=True success_response=True boxed=False
object q_empty
@@ -1,4 +1,14 @@
-enum QType ['none', 'qnull', 'qnum', 'qstring', 'qdict', 'qlist', 'qbool']
+enum QType
prefix QTYPE
-enum Status ['good', 'bad', 'ugly']
+ member none
+ member qnull
+ member qnum
+ member qstring
+ member qdict
+ member qlist
+ member qbool
+enum Status
+ member good
+ member bad
+ member ugly
object q_empty
@@ -1,4 +1,14 @@
-enum QType ['none', 'qnull', 'qnum', 'qstring', 'qdict', 'qlist', 'qbool']
+enum QType
prefix QTYPE
-enum Status ['good', 'bad', 'ugly']
+ member none
+ member qnull
+ member qnum
+ member qstring
+ member qdict
+ member qlist
+ member qbool
+enum Status
+ member good
+ member bad
+ member ugly
object q_empty
@@ -1,4 +1,14 @@
-enum QType ['none', 'qnull', 'qnum', 'qstring', 'qdict', 'qlist', 'qbool']
+enum QType
prefix QTYPE
-enum Status ['good', 'bad', 'ugly']
+ member none
+ member qnull
+ member qnum
+ member qstring
+ member qdict
+ member qlist
+ member qbool
+enum Status
+ member good
+ member bad
+ member ugly
object q_empty
@@ -1,5 +1,12 @@
-enum QType ['none', 'qnull', 'qnum', 'qstring', 'qdict', 'qlist', 'qbool']
+enum QType
prefix QTYPE
+ member none
+ member qnull
+ member qnum
+ member qstring
+ member qdict
+ member qlist
+ member qbool
command eins None -> None
gen=True success_response=True boxed=False
object q_empty
@@ -33,7 +33,10 @@ event EVENT_F UserDefAlternate
object Empty1
object Empty2
base Empty1
-enum EnumOne ['value1', 'value2', 'value3']
+enum EnumOne
+ member value1
+ member value2
+ member value3
object EventStructOne
member struct1: UserDefOne optional=False
member string: str optional=False
@@ -42,16 +45,25 @@ object ForceArrays
member unused1: UserDefOneList optional=False
member unused2: UserDefTwoList optional=False
member unused3: TestStructList optional=False
-enum MyEnum []
+enum MyEnum
object NestedEnumsOne
member enum1: EnumOne optional=False
member enum2: EnumOne optional=True
member enum3: EnumOne optional=False
member enum4: EnumOne optional=True
-enum QEnumTwo ['value1', 'value2']
+enum QEnumTwo
prefix QENUM_TWO
-enum QType ['none', 'qnull', 'qnum', 'qstring', 'qdict', 'qlist', 'qbool']
+ member value1
+ member value2
+enum QType
prefix QTYPE
+ member none
+ member qnull
+ member qnum
+ member qstring
+ member qdict
+ member qlist
+ member qbool
alternate TestIfAlternate
tag type
case foo: int
@@ -60,7 +72,9 @@ alternate TestIfAlternate
command TestIfCmd q_obj_TestIfCmd-arg -> None
gen=True success_response=True boxed=False
if ['defined(TEST_IF_CMD)', 'defined(TEST_IF_STRUCT)']
-enum TestIfEnum ['foo', 'bar']
+enum TestIfEnum
+ member foo
+ member bar
if ['defined(TEST_IF_ENUM)']
event TestIfEvent q_obj_TestIfEvent-arg
boxed=False
@@ -73,7 +87,8 @@ object TestIfUnion
tag type
case foo: q_obj_TestStruct-wrapper
if ['defined(TEST_IF_UNION) && defined(TEST_IF_STRUCT)']
-enum TestIfUnionKind ['foo']
+enum TestIfUnionKind
+ member foo
if ['defined(TEST_IF_UNION) && defined(TEST_IF_STRUCT)']
object TestStruct
member integer: int optional=False
@@ -122,7 +137,21 @@ object UserDefNativeListUnion
case string: q_obj_strList-wrapper
case sizes: q_obj_sizeList-wrapper
case any: q_obj_anyList-wrapper
-enum UserDefNativeListUnionKind ['integer', 's8', 's16', 's32', 's64', 'u8', 'u16', 'u32', 'u64', 'number', 'boolean', 'string', 'sizes', 'any']
+enum UserDefNativeListUnionKind
+ member integer
+ member s8
+ member s16
+ member s32
+ member s64
+ member u8
+ member u16
+ member u32
+ member u64
+ member number
+ member boolean
+ member string
+ member sizes
+ member any
object UserDefOne
base UserDefZero
member string: str optional=False
@@ -159,7 +188,8 @@ alternate __org.qemu_x-Alt
case b: __org.qemu_x-Base
object __org.qemu_x-Base
member __org.qemu_x-member1: __org.qemu_x-Enum optional=False
-enum __org.qemu_x-Enum ['__org.qemu_x-value']
+enum __org.qemu_x-Enum
+ member __org.qemu_x-value
object __org.qemu_x-Struct
base __org.qemu_x-Base
member __org.qemu_x-member2: str optional=False
@@ -170,7 +200,8 @@ object __org.qemu_x-Union1
member type: __org.qemu_x-Union1Kind optional=False
tag type
case __org.qemu_x-branch: q_obj_str-wrapper
-enum __org.qemu_x-Union1Kind ['__org.qemu_x-branch']
+enum __org.qemu_x-Union1Kind
+ member __org.qemu_x-branch
object __org.qemu_x-Union2
base __org.qemu_x-Base
tag __org.qemu_x-member1
@@ -18,18 +18,17 @@ import sys
class QAPISchemaTestVisitor(QAPISchemaVisitor):
def visit_enum_type(self, name, info, ifcond, members, prefix):
- print 'enum %s %s' % (name, [m.name for m in members])
+ print 'enum %s' % name
if prefix:
print ' prefix %s' % prefix
+ self._print_members(members)
self._print_if(ifcond)
def visit_object_type(self, name, info, ifcond, base, members, variants):
print 'object %s' % name
if base:
print ' base %s' % base.name
- for m in members:
- print ' member %s: %s optional=%s' % \
- (m.name, m.type.name, m.optional)
+ self._print_members(members)
self._print_variants(variants)
self._print_if(ifcond)
@@ -51,6 +50,14 @@ class QAPISchemaTestVisitor(QAPISchemaVisitor):
print ' boxed=%s' % boxed
self._print_if(ifcond)
+ @staticmethod
+ def _print_members(members):
+ for m in members:
+ print ' member %s%s' % (
+ m.name,
+ ': %s optional=%s' % (m.type.name, m.optional)
+ if isinstance(m, QAPISchemaObjectTypeMember) else '')
+
@staticmethod
def _print_variants(variants):
if variants:
Use a common self._print_members() to print enum members details. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> --- tests/qapi-schema/comments.out | 14 +++++++-- tests/qapi-schema/doc-bad-section.out | 13 +++++++-- tests/qapi-schema/doc-good.out | 17 +++++++++-- tests/qapi-schema/empty.out | 9 +++++- tests/qapi-schema/event-case.out | 9 +++++- tests/qapi-schema/ident-with-escape.out | 9 +++++- tests/qapi-schema/include-relpath.out | 14 +++++++-- tests/qapi-schema/include-repetition.out | 14 +++++++-- tests/qapi-schema/include-simple.out | 14 +++++++-- tests/qapi-schema/indented-expr.out | 9 +++++- tests/qapi-schema/qapi-schema-test.out | 49 ++++++++++++++++++++++++++------ tests/qapi-schema/test-qapi.py | 15 +++++++--- 12 files changed, 156 insertions(+), 30 deletions(-)