module ./builtin
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
object q_obj_Union-base
    member type: EnumOne optional=False
object Union
    base q_obj_Union-base
    tag type
    case value1: q_empty
    case value2: q_empty
    case value3: q_empty
    case value4: q_empty
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
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
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
command coroutine-cmd None -> None
    gen=True success_response=True boxed=False oob=False preconfig=False coroutine=True
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 boxed-empty Empty1 -> 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 UserDefFlatUnion
    boxed=True
event EVENT_G Empty1
    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
alternate __org.qemu_x-Alt1
    tag type
    case __org.qemu_x-branch: str
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: __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 TEST_IF_STRUCT_BAR
    if TEST_IF_STRUCT
enum TestIfEnum
    member foo
    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
    if OrderedDict([('all', ['TEST_IF_UNION', 'TEST_IF_STRUCT'])])
object TestIfUnion
    member type: TestIfUnionKind optional=False
    tag type
    case foo: q_obj_TestStruct-wrapper
    case bar: q_obj_str-wrapper
        if TEST_IF_UNION_BAR
    if OrderedDict([('all', ['TEST_IF_UNION', 'TEST_IF_STRUCT'])])
object q_obj_test-if-union-cmd-arg
    member union-cmd-arg: TestIfUnion optional=False
    if TEST_IF_UNION
command test-if-union-cmd q_obj_test-if-union-cmd-arg -> None
    gen=True success_response=True boxed=False oob=False preconfig=False
    if TEST_IF_UNION
alternate TestIfAlternate
    tag type
    case foo: int
    case bar: TestStruct
        if TEST_IF_ALT_BAR
    if OrderedDict([('all', ['TEST_IF_ALT', 'TEST_IF_STRUCT'])])
object q_obj_test-if-alternate-cmd-arg
    member alt-cmd-arg: TestIfAlternate optional=False
    if OrderedDict([('all', ['TEST_IF_ALT', OrderedDict([('not', 'TEST_IF_NOT_ALT')])])])
command test-if-alternate-cmd q_obj_test-if-alternate-cmd-arg -> None
    gen=True success_response=True boxed=False oob=False preconfig=False
    if OrderedDict([('all', ['TEST_IF_ALT', OrderedDict([('not', 'TEST_IF_NOT_ALT')])])])
object q_obj_test-if-cmd-arg
    member foo: TestIfStruct optional=False
    member bar: TestIfEnum optional=False
        if TEST_IF_CMD_BAR
    if OrderedDict([('all', ['TEST_IF_CMD', 'TEST_IF_STRUCT'])])
command test-if-cmd q_obj_test-if-cmd-arg -> UserDefThree
    gen=True success_response=True boxed=False oob=False preconfig=False
    if OrderedDict([('all', ['TEST_IF_CMD', 'TEST_IF_STRUCT'])])
command test-cmd-return-def-three None -> UserDefThree
    gen=True success_response=True boxed=False oob=False preconfig=False
array TestIfEnumList TestIfEnum
    if TEST_IF_ENUM
object q_obj_TEST_IF_EVENT-arg
    member foo: TestIfStruct optional=False
    member bar: TestIfEnumList optional=False
        if TEST_IF_EVT_BAR
    if OrderedDict([('all', ['TEST_IF_EVT', 'TEST_IF_STRUCT'])])
event TEST_IF_EVENT q_obj_TEST_IF_EVENT-arg
    boxed=False
    if OrderedDict([('all', ['TEST_IF_EVT', 'TEST_IF_STRUCT'])])
object FeatureStruct0
    member foo: int optional=False
object FeatureStruct1
    member foo: int optional=False
        feature deprecated
    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 TEST_IF_FEATURE_1
object CondFeatureStruct2
    member foo: int optional=False
    feature feature1
        if TEST_IF_FEATURE_1
    feature feature2
        if TEST_IF_FEATURE_2
object CondFeatureStruct3
    member foo: int optional=False
    feature feature1
        if OrderedDict([('all', ['TEST_IF_COND_1', 'TEST_IF_COND_2'])])
object CondFeatureStruct4
    member foo: int optional=False
    feature feature1
        if OrderedDict([('any', ['TEST_IF_COND_1', 'TEST_IF_COND_2'])])
enum FeatureEnum1
    member eins
    member zwei
    member drei
    feature feature1
object q_obj_FeatureUnion1-base
    member tag: FeatureEnum1 optional=False
object FeatureUnion1
    base q_obj_FeatureUnion1-base
    tag tag
    case eins: FeatureStruct1
    case zwei: q_empty
    case drei: q_empty
    feature feature1
alternate FeatureAlternate1
    tag type
    case eins: FeatureStruct1
    feature feature1
object q_obj_test-features0-arg
    member fs0: FeatureStruct0 optional=True
    member fs1: FeatureStruct1 optional=True
    member fs2: FeatureStruct2 optional=True
    member fs3: FeatureStruct3 optional=True
    member fs4: FeatureStruct4 optional=True
    member cfs1: CondFeatureStruct1 optional=True
    member cfs2: CondFeatureStruct2 optional=True
    member cfs3: CondFeatureStruct3 optional=True
    member cfs4: CondFeatureStruct4 optional=True
command test-features0 q_obj_test-features0-arg -> FeatureStruct1
    gen=True success_response=True boxed=False oob=False preconfig=False
command test-command-features1 None -> None
    gen=True success_response=True boxed=False oob=False preconfig=False
    feature deprecated
command test-command-features3 None -> None
    gen=True success_response=True boxed=False oob=False preconfig=False
    feature feature1
    feature feature2
command test-command-cond-features1 None -> None
    gen=True success_response=True boxed=False oob=False preconfig=False
    feature feature1
        if TEST_IF_FEATURE_1
command test-command-cond-features2 None -> None
    gen=True success_response=True boxed=False oob=False preconfig=False
    feature feature1
        if TEST_IF_FEATURE_1
    feature feature2
        if TEST_IF_FEATURE_2
command test-command-cond-features3 None -> None
    gen=True success_response=True boxed=False oob=False preconfig=False
    feature feature1
        if OrderedDict([('all', ['TEST_IF_COND_1', 'TEST_IF_COND_2'])])
event TEST_EVENT_FEATURES0 FeatureStruct1
    boxed=False
event TEST_EVENT_FEATURES1 None
    boxed=False
    feature deprecated
module include/sub-module.json
include sub-sub-module.json
object SecondArrayRef
    member s: StatusList optional=False
module sub-sub-module.json
array StatusList Status
enum Status
    member good
    member bad
    member ugly
