module None
object q_empty
enum QType
    prefix QTYPE
    member none
    member qnull
    member qnum
    member qstring
    member qdict
    member qlist
    member qbool
module qapi-schema-test.json
object TestStruct
    member integer: int optional=False
    member boolean: bool optional=False
    member string: str optional=False
object NestedEnumsOne
    member enum1: EnumOne optional=False
    member enum2: EnumOne optional=True
    member enum3: EnumOne optional=False
    member enum4: EnumOne optional=True
enum MyEnum
object Empty1
object Empty2
    base Empty1
command user_def_cmd0 Empty2 -> Empty2
   gen=True success_response=True boxed=False oob=False preconfig=False
enum QEnumTwo
    prefix QENUM_TWO
    member value1
    member value2
object UserDefOne
    base UserDefZero
    member string: str optional=False
    member enum1: EnumOne optional=True
enum EnumOne
    member value1
    member value2
    member value3
    member value4
object UserDefZero
    member integer: int optional=False
object UserDefTwoDictDict
    member userdef: UserDefOne optional=False
    member string: str optional=False
object UserDefTwoDict
    member string1: str optional=False
    member dict2: UserDefTwoDictDict optional=False
    member dict3: UserDefTwoDictDict optional=True
object UserDefTwo
    member string0: str optional=False
    member dict1: UserDefTwoDict optional=False
object UserDefThree
    member string0: str optional=False
array UserDefOneList UserDefOne
array UserDefTwoList UserDefTwo
array TestStructList TestStruct
object ForceArrays
    member unused1: UserDefOneList optional=False
    member unused2: UserDefTwoList optional=False
    member unused3: TestStructList optional=False
object UserDefA
    member boolean: bool optional=False
    member a_b: int optional=True
object UserDefB
    member intb: int optional=False
    member a-b: bool optional=True
object UserDefFlatUnion
    base UserDefUnionBase
    tag enum1
    case value1: UserDefA
    case value2: UserDefB
    case value3: UserDefB
    case value4: q_empty
object UserDefUnionBase
    base UserDefZero
    member string: str optional=False
    member enum1: EnumOne optional=False
object q_obj_UserDefFlatUnion2-base
    member integer: int optional=True
    member string: str optional=False
    member enum1: QEnumTwo optional=False
object UserDefFlatUnion2
    base q_obj_UserDefFlatUnion2-base
    tag enum1
    case value1: UserDefC
    case value2: UserDefB
object WrapAlternate
    member alt: UserDefAlternate optional=False
alternate UserDefAlternate
    tag type
    case udfu: UserDefFlatUnion
    case e: EnumOne
    case i: int
    case n: null
object UserDefC
    member string1: str optional=False
    member string2: str optional=False
alternate AltEnumBool
    tag type
    case e: EnumOne
    case b: bool
alternate AltEnumNum
    tag type
    case e: EnumOne
    case n: number
alternate AltNumEnum
    tag type
    case n: number
    case e: EnumOne
alternate AltEnumInt
    tag type
    case e: EnumOne
    case i: int
alternate AltStrObj
    tag type
    case s: str
    case o: TestStruct
object q_obj_intList-wrapper
    member data: intList optional=False
object q_obj_int8List-wrapper
    member data: int8List optional=False
object q_obj_int16List-wrapper
    member data: int16List optional=False
object q_obj_int32List-wrapper
    member data: int32List optional=False
object q_obj_int64List-wrapper
    member data: int64List optional=False
object q_obj_uint8List-wrapper
    member data: uint8List optional=False
object q_obj_uint16List-wrapper
    member data: uint16List optional=False
object q_obj_uint32List-wrapper
    member data: uint32List optional=False
object q_obj_uint64List-wrapper
    member data: uint64List optional=False
object q_obj_numberList-wrapper
    member data: numberList optional=False
object q_obj_boolList-wrapper
    member data: boolList optional=False
object q_obj_strList-wrapper
    member data: strList optional=False
object q_obj_sizeList-wrapper
    member data: sizeList optional=False
object q_obj_anyList-wrapper
    member data: anyList optional=False
module sub-sub-module.json
array StatusList Status
module qapi-schema-test.json
object q_obj_StatusList-wrapper
    member data: StatusList optional=False
enum UserDefListUnionKind
    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
    member user
object UserDefListUnion
    member type: UserDefListUnionKind optional=False
    tag type
    case integer: q_obj_intList-wrapper
    case s8: q_obj_int8List-wrapper
    case s16: q_obj_int16List-wrapper
    case s32: q_obj_int32List-wrapper
    case s64: q_obj_int64List-wrapper
    case u8: q_obj_uint8List-wrapper
    case u16: q_obj_uint16List-wrapper
    case u32: q_obj_uint32List-wrapper
    case u64: q_obj_uint64List-wrapper
    case number: q_obj_numberList-wrapper
    case boolean: q_obj_boolList-wrapper
    case string: q_obj_strList-wrapper
    case sizes: q_obj_sizeList-wrapper
    case any: q_obj_anyList-wrapper
    case user: q_obj_StatusList-wrapper
include include/sub-module.json
module include/sub-module.json
include sub-sub-module.json
module sub-sub-module.json
enum Status
    member good
    member bad
    member ugly
module include/sub-module.json
object SecondArrayRef
    member s: StatusList optional=False
module qapi-schema-test.json
command user_def_cmd None -> None
   gen=True success_response=True boxed=False oob=False preconfig=False
object q_obj_user_def_cmd1-arg
    member ud1a: UserDefOne optional=False
command user_def_cmd1 q_obj_user_def_cmd1-arg -> None
   gen=True success_response=True boxed=False oob=False preconfig=False
object q_obj_user_def_cmd2-arg
    member ud1a: UserDefOne optional=False
    member ud1b: UserDefOne optional=True
command user_def_cmd2 q_obj_user_def_cmd2-arg -> UserDefTwo
   gen=True success_response=True boxed=False oob=False preconfig=False
command cmd-success-response None -> None
   gen=True success_response=False boxed=False oob=False preconfig=False
object q_obj_guest-get-time-arg
    member a: int optional=False
    member b: int optional=True
command guest-get-time q_obj_guest-get-time-arg -> int
   gen=True success_response=True boxed=False oob=False preconfig=False
object q_obj_guest-sync-arg
    member arg: any optional=False
command guest-sync q_obj_guest-sync-arg -> any
   gen=True success_response=True boxed=False oob=False preconfig=False
command boxed-struct UserDefZero -> None
   gen=True success_response=True boxed=True oob=False preconfig=False
command boxed-union UserDefListUnion -> None
   gen=True success_response=True boxed=True oob=False preconfig=False
command test-flags-command None -> None
   gen=True success_response=True boxed=False oob=True preconfig=True
object UserDefOptions
    member i64: intList optional=True
    member u64: uint64List optional=True
    member u16: uint16List optional=True
    member i64x: int optional=True
    member u64x: uint64 optional=True
object EventStructOne
    member struct1: UserDefOne optional=False
    member string: str optional=False
    member enum2: EnumOne optional=True
event EVENT_A None
   boxed=False
event EVENT_B None
   boxed=False
object q_obj_EVENT_C-arg
    member a: int optional=True
    member b: UserDefOne optional=True
    member c: str optional=False
event EVENT_C q_obj_EVENT_C-arg
   boxed=False
object q_obj_EVENT_D-arg
    member a: EventStructOne optional=False
    member b: str optional=False
    member c: str optional=True
    member enum3: EnumOne optional=True
event EVENT_D q_obj_EVENT_D-arg
   boxed=False
event EVENT_E UserDefZero
   boxed=True
event EVENT_F UserDefAlternate
   boxed=True
enum __org.qemu_x-Enum
    member __org.qemu_x-value
object __org.qemu_x-Base
    member __org.qemu_x-member1: __org.qemu_x-Enum optional=False
object __org.qemu_x-Struct
    base __org.qemu_x-Base
    member __org.qemu_x-member2: str optional=False
    member wchar-t: int optional=True
object q_obj_str-wrapper
    member data: str optional=False
enum __org.qemu_x-Union1Kind
    member __org.qemu_x-branch
object __org.qemu_x-Union1
    member type: __org.qemu_x-Union1Kind optional=False
    tag type
    case __org.qemu_x-branch: q_obj_str-wrapper
array __org.qemu_x-Union1List __org.qemu_x-Union1
object __org.qemu_x-Struct2
    member array: __org.qemu_x-Union1List optional=False
object __org.qemu_x-Union2
    base __org.qemu_x-Base
    tag __org.qemu_x-member1
    case __org.qemu_x-value: __org.qemu_x-Struct2
alternate __org.qemu_x-Alt
    tag type
    case __org.qemu_x-branch: str
    case b: __org.qemu_x-Base
event __ORG.QEMU_X-EVENT __org.qemu_x-Struct
   boxed=False
array __org.qemu_x-EnumList __org.qemu_x-Enum
array __org.qemu_x-StructList __org.qemu_x-Struct
object q_obj___org.qemu_x-command-arg
    member a: __org.qemu_x-EnumList optional=False
    member b: __org.qemu_x-StructList optional=False
    member c: __org.qemu_x-Union2 optional=False
    member d: __org.qemu_x-Alt optional=False
command __org.qemu_x-command q_obj___org.qemu_x-command-arg -> __org.qemu_x-Union1
   gen=True success_response=True boxed=False oob=False preconfig=False
object TestIfStruct
    member foo: int optional=False
    member bar: int optional=False
        if ['defined(TEST_IF_STRUCT_BAR)']
    if ['defined(TEST_IF_STRUCT)']
enum TestIfEnum
    member foo
    member bar
        if ['defined(TEST_IF_ENUM_BAR)']
    if ['defined(TEST_IF_ENUM)']
object q_obj_TestStruct-wrapper
    member data: TestStruct optional=False
enum TestIfUnionKind
    member foo
    member union_bar
        if ['defined(TEST_IF_UNION_BAR)']
    if ['defined(TEST_IF_UNION) && defined(TEST_IF_STRUCT)']
object TestIfUnion
    member type: TestIfUnionKind optional=False
    tag type
    case foo: q_obj_TestStruct-wrapper
    case union_bar: q_obj_str-wrapper
        if ['defined(TEST_IF_UNION_BAR)']
    if ['defined(TEST_IF_UNION) && defined(TEST_IF_STRUCT)']
object q_obj_TestIfUnionCmd-arg
    member union_cmd_arg: TestIfUnion optional=False
    if ['defined(TEST_IF_UNION)']
command TestIfUnionCmd q_obj_TestIfUnionCmd-arg -> None
   gen=True success_response=True boxed=False oob=False preconfig=False
    if ['defined(TEST_IF_UNION)']
alternate TestIfAlternate
    tag type
    case foo: int
    case bar: TestStruct
        if ['defined(TEST_IF_ALT_BAR)']
    if ['defined(TEST_IF_ALT) && defined(TEST_IF_STRUCT)']
object q_obj_TestIfAlternateCmd-arg
    member alt_cmd_arg: TestIfAlternate optional=False
    if ['defined(TEST_IF_ALT)']
command TestIfAlternateCmd q_obj_TestIfAlternateCmd-arg -> None
   gen=True success_response=True boxed=False oob=False preconfig=False
    if ['defined(TEST_IF_ALT)']
object q_obj_TestIfCmd-arg
    member foo: TestIfStruct optional=False
    member bar: TestIfEnum optional=False
        if ['defined(TEST_IF_CMD_BAR)']
    if ['defined(TEST_IF_CMD)', 'defined(TEST_IF_STRUCT)']
command TestIfCmd q_obj_TestIfCmd-arg -> UserDefThree
   gen=True success_response=True boxed=False oob=False preconfig=False
    if ['defined(TEST_IF_CMD)', 'defined(TEST_IF_STRUCT)']
command TestCmdReturnDefThree None -> UserDefThree
   gen=True success_response=True boxed=False oob=False preconfig=False
array TestIfEnumList TestIfEnum
    if ['defined(TEST_IF_ENUM)']
object q_obj_TestIfEvent-arg
    member foo: TestIfStruct optional=False
    member bar: TestIfEnumList optional=False
        if ['defined(TEST_IF_EVT_BAR)']
    if ['defined(TEST_IF_EVT) && defined(TEST_IF_STRUCT)']
event TestIfEvent q_obj_TestIfEvent-arg
   boxed=False
    if ['defined(TEST_IF_EVT) && defined(TEST_IF_STRUCT)']
object FeatureStruct0
    member foo: int optional=False
object FeatureStruct1
    member foo: int optional=False
    feature feature1
object FeatureStruct2
    member foo: int optional=False
    feature feature1
object FeatureStruct3
    member foo: int optional=False
    feature feature1
    feature feature2
object FeatureStruct4
    member namespace-test: int optional=False
    feature namespace-test
    feature int
    feature name
    feature if
object CondFeatureStruct1
    member foo: int optional=False
    feature feature1
        if ['defined(TEST_IF_FEATURE_1)']
object CondFeatureStruct2
    member foo: int optional=False
    feature feature1
        if ['defined(TEST_IF_FEATURE_1)']
    feature feature2
        if ['defined(TEST_IF_FEATURE_2)']
object CondFeatureStruct3
    member foo: int optional=False
    feature feature1
        if ['defined(TEST_IF_COND_1)', 'defined(TEST_IF_COND_2)']
object q_obj_test-features-arg
    member fs0: FeatureStruct0 optional=False
    member fs1: FeatureStruct1 optional=False
    member fs2: FeatureStruct2 optional=False
    member fs3: FeatureStruct3 optional=False
    member fs4: FeatureStruct4 optional=False
    member cfs1: CondFeatureStruct1 optional=False
    member cfs2: CondFeatureStruct2 optional=False
    member cfs3: CondFeatureStruct3 optional=False
command test-features q_obj_test-features-arg -> None
   gen=True success_response=True boxed=False oob=False preconfig=False
