xref: /qemu/tests/qapi-schema/qapi-schema-test.out (revision d83b47646ec2bdf4f7be9c2078f1bcbbb0544b2e)
1e2bbc4eaSJohn Snowmodule ./builtin
28a84767cSMarkus Armbrusterobject q_empty
31e381b65SMarc-André Lureauenum QType
48a84767cSMarkus Armbruster    prefix QTYPE
51e381b65SMarc-André Lureau    member none
61e381b65SMarc-André Lureau    member qnull
71e381b65SMarc-André Lureau    member qnum
81e381b65SMarc-André Lureau    member qstring
91e381b65SMarc-André Lureau    member qdict
101e381b65SMarc-André Lureau    member qlist
111e381b65SMarc-André Lureau    member qbool
12cf40a0a5SMarkus Armbrustermodule qapi-schema-test.json
138a84767cSMarkus Armbrusterobject TestStruct
148a84767cSMarkus Armbruster    member integer: int optional=False
158a84767cSMarkus Armbruster    member boolean: bool optional=False
168a84767cSMarkus Armbruster    member string: str optional=False
178a84767cSMarkus Armbrusterobject NestedEnumsOne
188a84767cSMarkus Armbruster    member enum1: EnumOne optional=False
198a84767cSMarkus Armbruster    member enum2: EnumOne optional=True
208a84767cSMarkus Armbruster    member enum3: EnumOne optional=False
218a84767cSMarkus Armbruster    member enum4: EnumOne optional=True
221e381b65SMarc-André Lureauenum MyEnum
238a84767cSMarkus Armbrusterobject Empty1
248a84767cSMarkus Armbrusterobject Empty2
258a84767cSMarkus Armbruster    base Empty1
260ced9531SMarkus Armbrusterobject q_obj_Union-base
270ced9531SMarkus Armbruster    member type: EnumOne optional=False
280ced9531SMarkus Armbrusterobject Union
290ced9531SMarkus Armbruster    base q_obj_Union-base
300ced9531SMarkus Armbruster    tag type
310ced9531SMarkus Armbruster    case value1: q_empty
320ced9531SMarkus Armbruster    case value2: q_empty
330ced9531SMarkus Armbruster    case value3: q_empty
340ced9531SMarkus Armbruster    case value4: q_empty
3505ebf841SMarkus Armbrustercommand user-def-cmd0 Empty2 -> Empty2
367b13f2c2SIgor Mammedov    gen=True success_response=True boxed=False oob=False preconfig=False
371e381b65SMarc-André Lureauenum QEnumTwo
388a84767cSMarkus Armbruster    prefix QENUM_TWO
391e381b65SMarc-André Lureau    member value1
401e381b65SMarc-André Lureau    member value2
418a84767cSMarkus Armbrusterobject UserDefOne
428a84767cSMarkus Armbruster    base UserDefZero
438a84767cSMarkus Armbruster    member string: str optional=False
448a84767cSMarkus Armbruster    member enum1: EnumOne optional=True
451e381b65SMarc-André Lureauenum EnumOne
461e381b65SMarc-André Lureau    member value1
471e381b65SMarc-André Lureau    member value2
481e381b65SMarc-André Lureau    member value3
491e381b65SMarc-André Lureau    member value4
508a84767cSMarkus Armbrusterobject UserDefZero
518a84767cSMarkus Armbruster    member integer: int optional=False
528a84767cSMarkus Armbrusterobject UserDefTwoDictDict
538a84767cSMarkus Armbruster    member userdef: UserDefOne optional=False
548a84767cSMarkus Armbruster    member string: str optional=False
558a84767cSMarkus Armbrusterobject UserDefTwoDict
568a84767cSMarkus Armbruster    member string1: str optional=False
578a84767cSMarkus Armbruster    member dict2: UserDefTwoDictDict optional=False
588a84767cSMarkus Armbruster    member dict3: UserDefTwoDictDict optional=True
598a84767cSMarkus Armbrusterobject UserDefTwo
608a84767cSMarkus Armbruster    member string0: str optional=False
618a84767cSMarkus Armbruster    member dict1: UserDefTwoDict optional=False
62967c8851SMarc-André Lureauobject UserDefThree
63967c8851SMarc-André Lureau    member string0: str optional=False
64ca0ac758SMarkus Armbrusterarray UserDefOneList UserDefOne
65ca0ac758SMarkus Armbrusterarray UserDefTwoList UserDefTwo
66ca0ac758SMarkus Armbrusterarray TestStructList TestStruct
678a84767cSMarkus Armbrusterobject ForceArrays
688a84767cSMarkus Armbruster    member unused1: UserDefOneList optional=False
698a84767cSMarkus Armbruster    member unused2: UserDefTwoList optional=False
708a84767cSMarkus Armbruster    member unused3: TestStructList optional=False
718a84767cSMarkus Armbrusterobject UserDefA
728a84767cSMarkus Armbruster    member boolean: bool optional=False
738a84767cSMarkus Armbruster    member a_b: int optional=True
748a84767cSMarkus Armbrusterobject UserDefB
758a84767cSMarkus Armbruster    member intb: int optional=False
768a84767cSMarkus Armbruster    member a-b: bool optional=True
778a84767cSMarkus Armbrusterobject UserDefFlatUnion
788a84767cSMarkus Armbruster    base UserDefUnionBase
798a84767cSMarkus Armbruster    tag enum1
808a84767cSMarkus Armbruster    case value1: UserDefA
818a84767cSMarkus Armbruster    case value2: UserDefB
828a84767cSMarkus Armbruster    case value3: UserDefB
83800877bbSAnton Nefedov    case value4: q_empty
848a84767cSMarkus Armbrusterobject UserDefUnionBase
858a84767cSMarkus Armbruster    base UserDefZero
868a84767cSMarkus Armbruster    member string: str optional=False
878a84767cSMarkus Armbruster    member enum1: EnumOne optional=False
888a84767cSMarkus Armbrusterobject q_obj_UserDefFlatUnion2-base
898a84767cSMarkus Armbruster    member integer: int optional=True
908a84767cSMarkus Armbruster    member string: str optional=False
918a84767cSMarkus Armbruster    member enum1: QEnumTwo optional=False
928a84767cSMarkus Armbrusterobject UserDefFlatUnion2
938a84767cSMarkus Armbruster    base q_obj_UserDefFlatUnion2-base
948a84767cSMarkus Armbruster    tag enum1
958a84767cSMarkus Armbruster    case value1: UserDefC
968a84767cSMarkus Armbruster    case value2: UserDefB
978a84767cSMarkus Armbrusterobject WrapAlternate
988a84767cSMarkus Armbruster    member alt: UserDefAlternate optional=False
998a84767cSMarkus Armbrusteralternate UserDefAlternate
1008a84767cSMarkus Armbruster    tag type
1018a84767cSMarkus Armbruster    case udfu: UserDefFlatUnion
1028a84767cSMarkus Armbruster    case e: EnumOne
1038a84767cSMarkus Armbruster    case i: int
1048a84767cSMarkus Armbruster    case n: null
1058a84767cSMarkus Armbrusterobject UserDefC
1068a84767cSMarkus Armbruster    member string1: str optional=False
1078a84767cSMarkus Armbruster    member string2: str optional=False
1088168ca8eSMarkus Armbrusteralternate AltEnumBool
1098168ca8eSMarkus Armbruster    tag type
1108168ca8eSMarkus Armbruster    case e: EnumOne
1118168ca8eSMarkus Armbruster    case b: bool
1128168ca8eSMarkus Armbrusteralternate AltEnumNum
1138168ca8eSMarkus Armbruster    tag type
1148168ca8eSMarkus Armbruster    case e: EnumOne
1158168ca8eSMarkus Armbruster    case n: number
1168168ca8eSMarkus Armbrusteralternate AltNumEnum
1178168ca8eSMarkus Armbruster    tag type
1188168ca8eSMarkus Armbruster    case n: number
1198168ca8eSMarkus Armbruster    case e: EnumOne
1208a84767cSMarkus Armbrusteralternate AltEnumInt
1218a84767cSMarkus Armbruster    tag type
1228a84767cSMarkus Armbruster    case e: EnumOne
1238a84767cSMarkus Armbruster    case i: int
124c0644771SMarkus Armbrusteralternate AltStrObj
125da9cb193SEric Blake    tag type
1269c51b441SEric Blake    case s: str
127c0644771SMarkus Armbruster    case o: TestStruct
1288a84767cSMarkus Armbrusterobject q_obj_intList-wrapper
1298a84767cSMarkus Armbruster    member data: intList optional=False
1308a84767cSMarkus Armbrusterobject q_obj_int8List-wrapper
1318a84767cSMarkus Armbruster    member data: int8List optional=False
1328a84767cSMarkus Armbrusterobject q_obj_int16List-wrapper
1338a84767cSMarkus Armbruster    member data: int16List optional=False
1348a84767cSMarkus Armbrusterobject q_obj_int32List-wrapper
1358a84767cSMarkus Armbruster    member data: int32List optional=False
1368a84767cSMarkus Armbrusterobject q_obj_int64List-wrapper
1378a84767cSMarkus Armbruster    member data: int64List optional=False
1388a84767cSMarkus Armbrusterobject q_obj_uint8List-wrapper
1398a84767cSMarkus Armbruster    member data: uint8List optional=False
1408a84767cSMarkus Armbrusterobject q_obj_uint16List-wrapper
1418a84767cSMarkus Armbruster    member data: uint16List optional=False
1428a84767cSMarkus Armbrusterobject q_obj_uint32List-wrapper
1438a84767cSMarkus Armbruster    member data: uint32List optional=False
1448a84767cSMarkus Armbrusterobject q_obj_uint64List-wrapper
1458a84767cSMarkus Armbruster    member data: uint64List optional=False
1468a84767cSMarkus Armbrusterobject q_obj_numberList-wrapper
1478a84767cSMarkus Armbruster    member data: numberList optional=False
1488a84767cSMarkus Armbrusterobject q_obj_boolList-wrapper
1498a84767cSMarkus Armbruster    member data: boolList optional=False
1508a84767cSMarkus Armbrusterobject q_obj_strList-wrapper
1518a84767cSMarkus Armbruster    member data: strList optional=False
1528a84767cSMarkus Armbrusterobject q_obj_sizeList-wrapper
1538a84767cSMarkus Armbruster    member data: sizeList optional=False
1548a84767cSMarkus Armbrusterobject q_obj_anyList-wrapper
1558a84767cSMarkus Armbruster    member data: anyList optional=False
1565e12eb98SMarkus Armbrusterobject q_obj_StatusList-wrapper
1575e12eb98SMarkus Armbruster    member data: StatusList optional=False
158b359f4b2SMarkus Armbrusterenum UserDefListUnionKind
1591e381b65SMarc-André Lureau    member integer
1601e381b65SMarc-André Lureau    member s8
1611e381b65SMarc-André Lureau    member s16
1621e381b65SMarc-André Lureau    member s32
1631e381b65SMarc-André Lureau    member s64
1641e381b65SMarc-André Lureau    member u8
1651e381b65SMarc-André Lureau    member u16
1661e381b65SMarc-André Lureau    member u32
1671e381b65SMarc-André Lureau    member u64
1681e381b65SMarc-André Lureau    member number
1691e381b65SMarc-André Lureau    member boolean
1701e381b65SMarc-André Lureau    member string
1711e381b65SMarc-André Lureau    member sizes
1721e381b65SMarc-André Lureau    member any
1735e12eb98SMarkus Armbruster    member user
174b359f4b2SMarkus Armbrusterobject UserDefListUnion
175b359f4b2SMarkus Armbruster    member type: UserDefListUnionKind optional=False
176da9cb193SEric Blake    tag type
1777599697cSEric Blake    case integer: q_obj_intList-wrapper
1787599697cSEric Blake    case s8: q_obj_int8List-wrapper
1797599697cSEric Blake    case s16: q_obj_int16List-wrapper
1807599697cSEric Blake    case s32: q_obj_int32List-wrapper
1817599697cSEric Blake    case s64: q_obj_int64List-wrapper
1827599697cSEric Blake    case u8: q_obj_uint8List-wrapper
1837599697cSEric Blake    case u16: q_obj_uint16List-wrapper
1847599697cSEric Blake    case u32: q_obj_uint32List-wrapper
1857599697cSEric Blake    case u64: q_obj_uint64List-wrapper
1867599697cSEric Blake    case number: q_obj_numberList-wrapper
1877599697cSEric Blake    case boolean: q_obj_boolList-wrapper
1887599697cSEric Blake    case string: q_obj_strList-wrapper
1897599697cSEric Blake    case sizes: q_obj_sizeList-wrapper
1907599697cSEric Blake    case any: q_obj_anyList-wrapper
1915e12eb98SMarkus Armbruster    case user: q_obj_StatusList-wrapper
192709395f8SMarkus Armbrusterinclude include/sub-module.json
19305ebf841SMarkus Armbrustercommand user-def-cmd None -> None
1947b13f2c2SIgor Mammedov    gen=True success_response=True boxed=False oob=False preconfig=False
19505ebf841SMarkus Armbrusterobject q_obj_user-def-cmd1-arg
1968a84767cSMarkus Armbruster    member ud1a: UserDefOne optional=False
19705ebf841SMarkus Armbrustercommand user-def-cmd1 q_obj_user-def-cmd1-arg -> None
1987b13f2c2SIgor Mammedov    gen=True success_response=True boxed=False oob=False preconfig=False
19905ebf841SMarkus Armbrusterobject q_obj_user-def-cmd2-arg
2008a84767cSMarkus Armbruster    member ud1a: UserDefOne optional=False
2018a84767cSMarkus Armbruster    member ud1b: UserDefOne optional=True
20205ebf841SMarkus Armbrustercommand user-def-cmd2 q_obj_user-def-cmd2-arg -> UserDefTwo
2037b13f2c2SIgor Mammedov    gen=True success_response=True boxed=False oob=False preconfig=False
204ae6bf766SMarc-André Lureaucommand cmd-success-response None -> None
205ae6bf766SMarc-André Lureau    gen=True success_response=False boxed=False oob=False preconfig=False
20604f22362SKevin Wolfcommand coroutine-cmd None -> None
20704f22362SKevin Wolf    gen=True success_response=True boxed=False oob=False preconfig=False coroutine=True
2088a84767cSMarkus Armbrusterobject q_obj_guest-get-time-arg
2098a84767cSMarkus Armbruster    member a: int optional=False
2108a84767cSMarkus Armbruster    member b: int optional=True
2118a84767cSMarkus Armbrustercommand guest-get-time q_obj_guest-get-time-arg -> int
2127b13f2c2SIgor Mammedov    gen=True success_response=True boxed=False oob=False preconfig=False
2138a84767cSMarkus Armbrusterobject q_obj_guest-sync-arg
2148a84767cSMarkus Armbruster    member arg: any optional=False
2158a84767cSMarkus Armbrustercommand guest-sync q_obj_guest-sync-arg -> any
2167b13f2c2SIgor Mammedov    gen=True success_response=True boxed=False oob=False preconfig=False
2178a84767cSMarkus Armbrustercommand boxed-struct UserDefZero -> None
2187b13f2c2SIgor Mammedov    gen=True success_response=True boxed=True oob=False preconfig=False
219b359f4b2SMarkus Armbrustercommand boxed-union UserDefListUnion -> None
2207b13f2c2SIgor Mammedov    gen=True success_response=True boxed=True oob=False preconfig=False
221675b214bSMarkus Armbrustercommand boxed-empty Empty1 -> None
222675b214bSMarkus Armbruster    gen=True success_response=True boxed=True oob=False preconfig=False
2237b13f2c2SIgor Mammedovcommand test-flags-command None -> None
2247b13f2c2SIgor Mammedov    gen=True success_response=True boxed=False oob=True preconfig=True
225156402e5SMarkus Armbrusterobject UserDefOptions
226156402e5SMarkus Armbruster    member i64: intList optional=True
227156402e5SMarkus Armbruster    member u64: uint64List optional=True
228156402e5SMarkus Armbruster    member u16: uint16List optional=True
229156402e5SMarkus Armbruster    member i64x: int optional=True
230156402e5SMarkus Armbruster    member u64x: uint64 optional=True
2318a84767cSMarkus Armbrusterobject EventStructOne
2328a84767cSMarkus Armbruster    member struct1: UserDefOne optional=False
233156402e5SMarkus Armbruster    member string: str optional=False
2348a84767cSMarkus Armbruster    member enum2: EnumOne optional=True
2358a84767cSMarkus Armbrusterevent EVENT_A None
23648825ca4SEric Blake    boxed=False
2378a84767cSMarkus Armbrusterevent EVENT_B None
2388a84767cSMarkus Armbruster    boxed=False
2397599697cSEric Blakeobject q_obj_EVENT_C-arg
2407599697cSEric Blake    member a: int optional=True
2417599697cSEric Blake    member b: UserDefOne optional=True
2427599697cSEric Blake    member c: str optional=False
2438a84767cSMarkus Armbrusterevent EVENT_C q_obj_EVENT_C-arg
2448a84767cSMarkus Armbruster    boxed=False
2457599697cSEric Blakeobject q_obj_EVENT_D-arg
2467599697cSEric Blake    member a: EventStructOne optional=False
2477599697cSEric Blake    member b: str optional=False
2487599697cSEric Blake    member c: str optional=True
2497599697cSEric Blake    member enum3: EnumOne optional=True
2508a84767cSMarkus Armbrusterevent EVENT_D q_obj_EVENT_D-arg
2518a84767cSMarkus Armbruster    boxed=False
2528a84767cSMarkus Armbrusterevent EVENT_E UserDefZero
2538a84767cSMarkus Armbruster    boxed=True
254b22e8658SMarkus Armbrusterevent EVENT_F UserDefFlatUnion
2558a84767cSMarkus Armbruster    boxed=True
256675b214bSMarkus Armbrusterevent EVENT_G Empty1
257675b214bSMarkus Armbruster    boxed=True
2581e381b65SMarc-André Lureauenum __org.qemu_x-Enum
2591e381b65SMarc-André Lureau    member __org.qemu_x-value
2608a84767cSMarkus Armbrusterobject __org.qemu_x-Base
2618a84767cSMarkus Armbruster    member __org.qemu_x-member1: __org.qemu_x-Enum optional=False
2628a84767cSMarkus Armbrusterobject __org.qemu_x-Struct
2638a84767cSMarkus Armbruster    base __org.qemu_x-Base
2648a84767cSMarkus Armbruster    member __org.qemu_x-member2: str optional=False
2658a84767cSMarkus Armbruster    member wchar-t: int optional=True
2668a84767cSMarkus Armbrusterobject q_obj_str-wrapper
2678a84767cSMarkus Armbruster    member data: str optional=False
2681e381b65SMarc-André Lureauenum __org.qemu_x-Union1Kind
2691e381b65SMarc-André Lureau    member __org.qemu_x-branch
2708a84767cSMarkus Armbrusterobject __org.qemu_x-Union1
2718a84767cSMarkus Armbruster    member type: __org.qemu_x-Union1Kind optional=False
2728a84767cSMarkus Armbruster    tag type
2738a84767cSMarkus Armbruster    case __org.qemu_x-branch: q_obj_str-wrapper
274f0325536SMarkus Armbrusteralternate __org.qemu_x-Alt1
275f0325536SMarkus Armbruster    tag type
276f0325536SMarkus Armbruster    case __org.qemu_x-branch: str
277ca0ac758SMarkus Armbrusterarray __org.qemu_x-Union1List __org.qemu_x-Union1
2788a84767cSMarkus Armbrusterobject __org.qemu_x-Struct2
2798a84767cSMarkus Armbruster    member array: __org.qemu_x-Union1List optional=False
2808a84767cSMarkus Armbrusterobject __org.qemu_x-Union2
2818a84767cSMarkus Armbruster    base __org.qemu_x-Base
2828a84767cSMarkus Armbruster    tag __org.qemu_x-member1
2838a84767cSMarkus Armbruster    case __org.qemu_x-value: __org.qemu_x-Struct2
2848a84767cSMarkus Armbrusteralternate __org.qemu_x-Alt
2858a84767cSMarkus Armbruster    tag type
286f0325536SMarkus Armbruster    case __org.qemu_x-branch: __org.qemu_x-Base
2878a84767cSMarkus Armbrusterevent __ORG.QEMU_X-EVENT __org.qemu_x-Struct
2888a84767cSMarkus Armbruster    boxed=False
289ca0ac758SMarkus Armbrusterarray __org.qemu_x-EnumList __org.qemu_x-Enum
290ca0ac758SMarkus Armbrusterarray __org.qemu_x-StructList __org.qemu_x-Struct
2917599697cSEric Blakeobject q_obj___org.qemu_x-command-arg
2927599697cSEric Blake    member a: __org.qemu_x-EnumList optional=False
2937599697cSEric Blake    member b: __org.qemu_x-StructList optional=False
2947599697cSEric Blake    member c: __org.qemu_x-Union2 optional=False
2957599697cSEric Blake    member d: __org.qemu_x-Alt optional=False
2968a84767cSMarkus Armbrustercommand __org.qemu_x-command q_obj___org.qemu_x-command-arg -> __org.qemu_x-Union1
2977b13f2c2SIgor Mammedov    gen=True success_response=True boxed=False oob=False preconfig=False
298967c8851SMarc-André Lureauobject TestIfStruct
299967c8851SMarc-André Lureau    member foo: int optional=False
300ccadd6bcSMarc-André Lureau    member bar: int optional=False
301ccadd6bcSMarc-André Lureau        if ['defined(TEST_IF_STRUCT_BAR)']
302fbf09a2fSMarc-André Lureau    if ['defined(TEST_IF_STRUCT)']
3031e381b65SMarc-André Lureauenum TestIfEnum
3041e381b65SMarc-André Lureau    member foo
3051e381b65SMarc-André Lureau    member bar
3066cc32b0eSMarc-André Lureau        if ['defined(TEST_IF_ENUM_BAR)']
307fbf09a2fSMarc-André Lureau    if ['defined(TEST_IF_ENUM)']
308967c8851SMarc-André Lureauobject q_obj_TestStruct-wrapper
309967c8851SMarc-André Lureau    member data: TestStruct optional=False
3101e381b65SMarc-André Lureauenum TestIfUnionKind
3111e381b65SMarc-André Lureau    member foo
312*d83b4764SMarkus Armbruster    member bar
313a2724280SMarc-André Lureau        if ['defined(TEST_IF_UNION_BAR)']
314fbf09a2fSMarc-André Lureau    if ['defined(TEST_IF_UNION) && defined(TEST_IF_STRUCT)']
315967c8851SMarc-André Lureauobject TestIfUnion
316967c8851SMarc-André Lureau    member type: TestIfUnionKind optional=False
317967c8851SMarc-André Lureau    tag type
318967c8851SMarc-André Lureau    case foo: q_obj_TestStruct-wrapper
319*d83b4764SMarkus Armbruster    case bar: q_obj_str-wrapper
320a2724280SMarc-André Lureau        if ['defined(TEST_IF_UNION_BAR)']
321fbf09a2fSMarc-André Lureau    if ['defined(TEST_IF_UNION) && defined(TEST_IF_STRUCT)']
32205ebf841SMarkus Armbrusterobject q_obj_test-if-union-cmd-arg
3235aceeac0SMarkus Armbruster    member union-cmd-arg: TestIfUnion optional=False
324f8c4fdd6SMarc-André Lureau    if ['defined(TEST_IF_UNION)']
32505ebf841SMarkus Armbrustercommand test-if-union-cmd q_obj_test-if-union-cmd-arg -> None
326f8c4fdd6SMarc-André Lureau    gen=True success_response=True boxed=False oob=False preconfig=False
327f8c4fdd6SMarc-André Lureau    if ['defined(TEST_IF_UNION)']
328967c8851SMarc-André Lureaualternate TestIfAlternate
329967c8851SMarc-André Lureau    tag type
330967c8851SMarc-André Lureau    case foo: int
331967c8851SMarc-André Lureau    case bar: TestStruct
3323e270dcaSMarc-André Lureau        if ['defined(TEST_IF_ALT_BAR)']
333fbf09a2fSMarc-André Lureau    if ['defined(TEST_IF_ALT) && defined(TEST_IF_STRUCT)']
33405ebf841SMarkus Armbrusterobject q_obj_test-if-alternate-cmd-arg
3355aceeac0SMarkus Armbruster    member alt-cmd-arg: TestIfAlternate optional=False
336f8c4fdd6SMarc-André Lureau    if ['defined(TEST_IF_ALT)']
33705ebf841SMarkus Armbrustercommand test-if-alternate-cmd q_obj_test-if-alternate-cmd-arg -> None
338f8c4fdd6SMarc-André Lureau    gen=True success_response=True boxed=False oob=False preconfig=False
339f8c4fdd6SMarc-André Lureau    if ['defined(TEST_IF_ALT)']
34005ebf841SMarkus Armbrusterobject q_obj_test-if-cmd-arg
341967c8851SMarc-André Lureau    member foo: TestIfStruct optional=False
3426cc32b0eSMarc-André Lureau    member bar: TestIfEnum optional=False
343ccadd6bcSMarc-André Lureau        if ['defined(TEST_IF_CMD_BAR)']
344fbf09a2fSMarc-André Lureau    if ['defined(TEST_IF_CMD)', 'defined(TEST_IF_STRUCT)']
34505ebf841SMarkus Armbrustercommand test-if-cmd q_obj_test-if-cmd-arg -> UserDefThree
346967c8851SMarc-André Lureau    gen=True success_response=True boxed=False oob=False preconfig=False
347fbf09a2fSMarc-André Lureau    if ['defined(TEST_IF_CMD)', 'defined(TEST_IF_STRUCT)']
34805ebf841SMarkus Armbrustercommand test-cmd-return-def-three None -> UserDefThree
349967c8851SMarc-André Lureau    gen=True success_response=True boxed=False oob=False preconfig=False
3500f20628bSMarkus Armbrusterarray TestIfEnumList TestIfEnum
3510f20628bSMarkus Armbruster    if ['defined(TEST_IF_ENUM)']
352d4f4cae8SMarkus Armbrusterobject q_obj_TEST_IF_EVENT-arg
353967c8851SMarc-André Lureau    member foo: TestIfStruct optional=False
3540f20628bSMarkus Armbruster    member bar: TestIfEnumList optional=False
355ccadd6bcSMarc-André Lureau        if ['defined(TEST_IF_EVT_BAR)']
356fbf09a2fSMarc-André Lureau    if ['defined(TEST_IF_EVT) && defined(TEST_IF_STRUCT)']
357d4f4cae8SMarkus Armbrusterevent TEST_IF_EVENT q_obj_TEST_IF_EVENT-arg
358967c8851SMarc-André Lureau    boxed=False
359fbf09a2fSMarc-André Lureau    if ['defined(TEST_IF_EVT) && defined(TEST_IF_STRUCT)']
3608aa3a33eSKevin Wolfobject FeatureStruct0
3618aa3a33eSKevin Wolf    member foo: int optional=False
3628aa3a33eSKevin Wolfobject FeatureStruct1
3638aa3a33eSKevin Wolf    member foo: int optional=False
364f965e8feSMarkus Armbruster        feature deprecated
3658aa3a33eSKevin Wolf    feature feature1
3668aa3a33eSKevin Wolfobject FeatureStruct2
3678aa3a33eSKevin Wolf    member foo: int optional=False
3688aa3a33eSKevin Wolf    feature feature1
3698aa3a33eSKevin Wolfobject FeatureStruct3
3708aa3a33eSKevin Wolf    member foo: int optional=False
3718aa3a33eSKevin Wolf    feature feature1
3728aa3a33eSKevin Wolf    feature feature2
3738aa3a33eSKevin Wolfobject FeatureStruct4
3748aa3a33eSKevin Wolf    member namespace-test: int optional=False
3758aa3a33eSKevin Wolf    feature namespace-test
3768aa3a33eSKevin Wolf    feature int
3778aa3a33eSKevin Wolf    feature name
3788aa3a33eSKevin Wolf    feature if
3798aa3a33eSKevin Wolfobject CondFeatureStruct1
3808aa3a33eSKevin Wolf    member foo: int optional=False
3818aa3a33eSKevin Wolf    feature feature1
3828aa3a33eSKevin Wolf        if ['defined(TEST_IF_FEATURE_1)']
3838aa3a33eSKevin Wolfobject CondFeatureStruct2
3848aa3a33eSKevin Wolf    member foo: int optional=False
3858aa3a33eSKevin Wolf    feature feature1
3868aa3a33eSKevin Wolf        if ['defined(TEST_IF_FEATURE_1)']
3878aa3a33eSKevin Wolf    feature feature2
3888aa3a33eSKevin Wolf        if ['defined(TEST_IF_FEATURE_2)']
3898aa3a33eSKevin Wolfobject CondFeatureStruct3
3908aa3a33eSKevin Wolf    member foo: int optional=False
3918aa3a33eSKevin Wolf    feature feature1
3928aa3a33eSKevin Wolf        if ['defined(TEST_IF_COND_1)', 'defined(TEST_IF_COND_2)']
393013b4efcSMarkus Armbrusterenum FeatureEnum1
394013b4efcSMarkus Armbruster    member eins
395013b4efcSMarkus Armbruster    member zwei
396013b4efcSMarkus Armbruster    member drei
397013b4efcSMarkus Armbruster    feature feature1
398013b4efcSMarkus Armbrusterobject q_obj_FeatureUnion1-base
399013b4efcSMarkus Armbruster    member tag: FeatureEnum1 optional=False
400013b4efcSMarkus Armbrusterobject FeatureUnion1
401013b4efcSMarkus Armbruster    base q_obj_FeatureUnion1-base
402013b4efcSMarkus Armbruster    tag tag
403013b4efcSMarkus Armbruster    case eins: FeatureStruct1
404013b4efcSMarkus Armbruster    case zwei: q_empty
405013b4efcSMarkus Armbruster    case drei: q_empty
406013b4efcSMarkus Armbruster    feature feature1
407013b4efcSMarkus Armbrusteralternate FeatureAlternate1
408013b4efcSMarkus Armbruster    tag type
409013b4efcSMarkus Armbruster    case eins: FeatureStruct1
410013b4efcSMarkus Armbruster    feature feature1
411013b4efcSMarkus Armbrusterobject q_obj_test-features0-arg
41291fa93e5SMarkus Armbruster    member fs0: FeatureStruct0 optional=True
41391fa93e5SMarkus Armbruster    member fs1: FeatureStruct1 optional=True
41491fa93e5SMarkus Armbruster    member fs2: FeatureStruct2 optional=True
41591fa93e5SMarkus Armbruster    member fs3: FeatureStruct3 optional=True
41691fa93e5SMarkus Armbruster    member fs4: FeatureStruct4 optional=True
41791fa93e5SMarkus Armbruster    member cfs1: CondFeatureStruct1 optional=True
41891fa93e5SMarkus Armbruster    member cfs2: CondFeatureStruct2 optional=True
41991fa93e5SMarkus Armbruster    member cfs3: CondFeatureStruct3 optional=True
42091fa93e5SMarkus Armbrustercommand test-features0 q_obj_test-features0-arg -> FeatureStruct1
4212e2e0df2SPeter Krempa    gen=True success_response=True boxed=False oob=False preconfig=False
4222e2e0df2SPeter Krempacommand test-command-features1 None -> None
4232e2e0df2SPeter Krempa    gen=True success_response=True boxed=False oob=False preconfig=False
424f965e8feSMarkus Armbruster    feature deprecated
4252e2e0df2SPeter Krempacommand test-command-features3 None -> None
4262e2e0df2SPeter Krempa    gen=True success_response=True boxed=False oob=False preconfig=False
4272e2e0df2SPeter Krempa    feature feature1
4282e2e0df2SPeter Krempa    feature feature2
4292e2e0df2SPeter Krempacommand test-command-cond-features1 None -> None
4302e2e0df2SPeter Krempa    gen=True success_response=True boxed=False oob=False preconfig=False
4312e2e0df2SPeter Krempa    feature feature1
4322e2e0df2SPeter Krempa        if ['defined(TEST_IF_FEATURE_1)']
4332e2e0df2SPeter Krempacommand test-command-cond-features2 None -> None
4342e2e0df2SPeter Krempa    gen=True success_response=True boxed=False oob=False preconfig=False
4352e2e0df2SPeter Krempa    feature feature1
4362e2e0df2SPeter Krempa        if ['defined(TEST_IF_FEATURE_1)']
4372e2e0df2SPeter Krempa    feature feature2
4382e2e0df2SPeter Krempa        if ['defined(TEST_IF_FEATURE_2)']
4392e2e0df2SPeter Krempacommand test-command-cond-features3 None -> None
4402e2e0df2SPeter Krempa    gen=True success_response=True boxed=False oob=False preconfig=False
4412e2e0df2SPeter Krempa    feature feature1
4422e2e0df2SPeter Krempa        if ['defined(TEST_IF_COND_1)', 'defined(TEST_IF_COND_2)']
443d4f4cae8SMarkus Armbrusterevent TEST_EVENT_FEATURES0 FeatureStruct1
444a291a38fSMarkus Armbruster    boxed=False
445d4f4cae8SMarkus Armbrusterevent TEST_EVENT_FEATURES1 None
446013b4efcSMarkus Armbruster    boxed=False
447f965e8feSMarkus Armbruster    feature deprecated
4483e7fb581SMarkus Armbrustermodule include/sub-module.json
4493e7fb581SMarkus Armbrusterinclude sub-sub-module.json
4503e7fb581SMarkus Armbrusterobject SecondArrayRef
4513e7fb581SMarkus Armbruster    member s: StatusList optional=False
4523e7fb581SMarkus Armbrustermodule sub-sub-module.json
4533e7fb581SMarkus Armbrusterarray StatusList Status
4543e7fb581SMarkus Armbrusterenum Status
4553e7fb581SMarkus Armbruster    member good
4563e7fb581SMarkus Armbruster    member bad
4573e7fb581SMarkus Armbruster    member ugly
458