1module ./builtin
2object q_empty
3enum QType
4    prefix QTYPE
5    member none
6    member qnull
7    member qnum
8    member qstring
9    member qdict
10    member qlist
11    member qbool
12module qapi-schema-test.json
13object TestStruct
14    member integer: int optional=False
15    member boolean: bool optional=False
16    member string: str optional=False
17object NestedEnumsOne
18    member enum1: EnumOne optional=False
19    member enum2: EnumOne optional=True
20    member enum3: EnumOne optional=False
21    member enum4: EnumOne optional=True
22enum MyEnum
23object Empty1
24object Empty2
25    base Empty1
26object q_obj_Union-base
27    member type: EnumOne optional=False
28object Union
29    base q_obj_Union-base
30    tag type
31    case value1: q_empty
32    case value2: q_empty
33    case value3: q_empty
34    case value4: q_empty
35command user-def-cmd0 Empty2 -> Empty2
36    gen=True success_response=True boxed=False oob=False preconfig=False
37enum QEnumTwo
38    prefix QENUM_TWO
39    member value1
40    member value2
41object UserDefOne
42    base UserDefZero
43    member string: str optional=False
44    member enum1: EnumOne optional=True
45enum EnumOne
46    member value1
47    member value2
48    member value3
49    member value4
50object UserDefZero
51    member integer: int optional=False
52object UserDefTwoDictDict
53    member userdef: UserDefOne optional=False
54    member string: str optional=False
55object UserDefTwoDict
56    member string1: str optional=False
57    member dict2: UserDefTwoDictDict optional=False
58    member dict3: UserDefTwoDictDict optional=True
59object UserDefTwo
60    member string0: str optional=False
61    member dict1: UserDefTwoDict optional=False
62object UserDefThree
63    member string0: str optional=False
64array UserDefOneList UserDefOne
65array UserDefTwoList UserDefTwo
66array TestStructList TestStruct
67object ForceArrays
68    member unused1: UserDefOneList optional=False
69    member unused2: UserDefTwoList optional=False
70    member unused3: TestStructList optional=False
71object UserDefA
72    member boolean: bool optional=False
73    member a_b: int optional=True
74object UserDefB
75    member intb: int optional=False
76    member a-b: bool optional=True
77object UserDefFlatUnion
78    base UserDefUnionBase
79    tag enum1
80    case value1: UserDefA
81    case value2: UserDefB
82    case value3: UserDefB
83    case value4: q_empty
84object UserDefUnionBase
85    base UserDefZero
86    member string: str optional=False
87    member enum1: EnumOne optional=False
88object q_obj_UserDefFlatUnion2-base
89    member integer: int optional=True
90    member string: str optional=False
91    member enum1: QEnumTwo optional=False
92object UserDefFlatUnion2
93    base q_obj_UserDefFlatUnion2-base
94    tag enum1
95    case value1: UserDefC
96    case value2: UserDefB
97object WrapAlternate
98    member alt: UserDefAlternate optional=False
99alternate UserDefAlternate
100    tag type
101    case udfu: UserDefFlatUnion
102    case e: EnumOne
103    case i: int
104    case n: null
105object UserDefC
106    member string1: str optional=False
107    member string2: str optional=False
108enum TestUnionEnum
109    member value-a
110    member value-b
111enum TestUnionEnumA
112    member value-a1
113    member value-a2
114object TestUnionTypeA1
115    member integer: int optional=False
116    member name: str optional=False
117object TestUnionTypeA2
118    member integer: int optional=False
119    member size: int optional=False
120object q_obj_TestUnionTypeA-base
121    member type-a: TestUnionEnumA optional=False
122object TestUnionTypeA
123    base q_obj_TestUnionTypeA-base
124    tag type-a
125    case value-a1: TestUnionTypeA1
126    case value-a2: TestUnionTypeA2
127object TestUnionTypeB
128    member integer: int optional=False
129    member onoff: bool optional=False
130object q_obj_TestUnionInUnion-base
131    member type: TestUnionEnum optional=False
132object TestUnionInUnion
133    base q_obj_TestUnionInUnion-base
134    tag type
135    case value-a: TestUnionTypeA
136    case value-b: TestUnionTypeB
137alternate AltEnumBool
138    tag type
139    case e: EnumOne
140    case b: bool
141alternate AltEnumNum
142    tag type
143    case e: EnumOne
144    case n: number
145alternate AltNumEnum
146    tag type
147    case n: number
148    case e: EnumOne
149alternate AltEnumInt
150    tag type
151    case e: EnumOne
152    case i: int
153alternate AltListInt
154    tag type
155    case l: intList
156    case i: int
157alternate AltStrObj
158    tag type
159    case s: str
160    case o: TestStruct
161object ArrayStruct
162    member integer: intList optional=False
163    member s8: int8List optional=False
164    member s16: int16List optional=False
165    member s32: int32List optional=False
166    member s64: int64List optional=False
167    member u8: uint8List optional=False
168    member u16: uint16List optional=False
169    member u32: uint32List optional=False
170    member u64: uint64List optional=False
171    member number: numberList optional=False
172    member boolean: boolList optional=False
173    member string: strList optional=False
174    member sz: sizeList optional=True
175    member any: anyList optional=True
176    member user: StatusList optional=True
177include include/sub-module.json
178command user-def-cmd None -> None
179    gen=True success_response=True boxed=False oob=False preconfig=False
180object q_obj_user-def-cmd1-arg
181    member ud1a: UserDefOne optional=False
182command user-def-cmd1 q_obj_user-def-cmd1-arg -> None
183    gen=True success_response=True boxed=False oob=False preconfig=False
184object q_obj_user-def-cmd2-arg
185    member ud1a: UserDefOne optional=False
186    member ud1b: UserDefOne optional=True
187command user-def-cmd2 q_obj_user-def-cmd2-arg -> UserDefTwo
188    gen=True success_response=True boxed=False oob=False preconfig=False
189command cmd-success-response None -> None
190    gen=True success_response=False boxed=False oob=False preconfig=False
191command coroutine-cmd None -> None
192    gen=True success_response=True boxed=False oob=False preconfig=False coroutine=True
193object q_obj_guest-get-time-arg
194    member a: int optional=False
195    member b: int optional=True
196command guest-get-time q_obj_guest-get-time-arg -> int
197    gen=True success_response=True boxed=False oob=False preconfig=False
198object q_obj_guest-sync-arg
199    member arg: any optional=False
200command guest-sync q_obj_guest-sync-arg -> any
201    gen=True success_response=True boxed=False oob=False preconfig=False
202command boxed-struct UserDefZero -> None
203    gen=True success_response=True boxed=True oob=False preconfig=False
204command boxed-union UserDefFlatUnion -> None
205    gen=True success_response=True boxed=True oob=False preconfig=False
206command boxed-empty Empty1 -> None
207    gen=True success_response=True boxed=True oob=False preconfig=False
208command test-flags-command None -> None
209    gen=True success_response=True boxed=False oob=True preconfig=True
210object UserDefOptions
211    member i64: intList optional=True
212    member u64: uint64List optional=True
213    member u16: uint16List optional=True
214    member i64x: int optional=True
215    member u64x: uint64 optional=True
216object EventStructOne
217    member struct1: UserDefOne optional=False
218    member string: str optional=False
219    member enum2: EnumOne optional=True
220event EVENT_A None
221    boxed=False
222event EVENT_B None
223    boxed=False
224object q_obj_EVENT_C-arg
225    member a: int optional=True
226    member b: UserDefOne optional=True
227    member c: str optional=False
228event EVENT_C q_obj_EVENT_C-arg
229    boxed=False
230object q_obj_EVENT_D-arg
231    member a: EventStructOne optional=False
232    member b: str optional=False
233    member c: str optional=True
234    member enum3: EnumOne optional=True
235event EVENT_D q_obj_EVENT_D-arg
236    boxed=False
237event EVENT_E UserDefZero
238    boxed=True
239event EVENT_F UserDefFlatUnion
240    boxed=True
241event EVENT_G Empty1
242    boxed=True
243enum __org.qemu_x-Enum
244    member __org.qemu_x-value
245object __org.qemu_x-Base
246    member __org.qemu_x-member1: __org.qemu_x-Enum optional=False
247object __org.qemu_x-Struct
248    base __org.qemu_x-Base
249    member __org.qemu_x-member2: str optional=False
250    member wchar-t: int optional=True
251alternate __org.qemu_x-Alt1
252    tag type
253    case __org.qemu_x-branch: str
254array __org.qemu_x-UnionList __org.qemu_x-Union
255object __org.qemu_x-Struct2
256    member array: __org.qemu_x-UnionList optional=False
257object __org.qemu_x-Union
258    base __org.qemu_x-Base
259    tag __org.qemu_x-member1
260    case __org.qemu_x-value: __org.qemu_x-Struct2
261alternate __org.qemu_x-Alt
262    tag type
263    case __org.qemu_x-branch: __org.qemu_x-Base
264event __ORG.QEMU_X-EVENT __org.qemu_x-Struct
265    boxed=False
266array __org.qemu_x-EnumList __org.qemu_x-Enum
267array __org.qemu_x-StructList __org.qemu_x-Struct
268object q_obj___org.qemu_x-command-arg
269    member a: __org.qemu_x-EnumList optional=False
270    member b: __org.qemu_x-StructList optional=False
271    member c: __org.qemu_x-Union optional=False
272    member d: __org.qemu_x-Alt optional=False
273command __org.qemu_x-command q_obj___org.qemu_x-command-arg -> None
274    gen=True success_response=True boxed=False oob=False preconfig=False
275object TestIfStruct
276    member foo: int optional=False
277    member bar: int optional=False
278        if TEST_IF_STRUCT_MEMBER
279    member baz: str optional=True
280        if TEST_IF_STRUCT_MEMBER
281    if TEST_IF_STRUCT
282enum TestIfEnum
283    member foo
284    member bar
285        if TEST_IF_ENUM_MEMBER
286    if TEST_IF_UNION
287object q_obj_TestIfUnion-base
288    member type: TestIfEnum optional=False
289    if {'all': ['TEST_IF_UNION', 'TEST_IF_STRUCT']}
290object TestIfUnion
291    base q_obj_TestIfUnion-base
292    tag type
293    case foo: TestStruct
294    case bar: UserDefZero
295        if TEST_IF_ENUM_MEMBER
296    if {'all': ['TEST_IF_UNION', 'TEST_IF_STRUCT']}
297object q_obj_test-if-union-cmd-arg
298    member union-cmd-arg: TestIfUnion optional=False
299    if {'all': ['TEST_IF_UNION', 'TEST_IF_STRUCT']}
300command test-if-union-cmd q_obj_test-if-union-cmd-arg -> None
301    gen=True success_response=True boxed=False oob=False preconfig=False
302    if {'all': ['TEST_IF_UNION', 'TEST_IF_STRUCT']}
303alternate TestIfAlternate
304    tag type
305    case foo: int
306    case bar: TestStruct
307        if TEST_IF_ALT_MEMBER
308    if {'all': ['TEST_IF_ALT', 'TEST_IF_STRUCT']}
309object q_obj_test-if-alternate-cmd-arg
310    member alt-cmd-arg: TestIfAlternate optional=False
311    if {'all': ['TEST_IF_ALT', 'TEST_IF_STRUCT']}
312command test-if-alternate-cmd q_obj_test-if-alternate-cmd-arg -> None
313    gen=True success_response=True boxed=False oob=False preconfig=False
314    if {'all': ['TEST_IF_ALT', 'TEST_IF_STRUCT']}
315command test-if-cmd TestIfStruct -> UserDefThree
316    gen=True success_response=True boxed=True oob=False preconfig=False
317    if {'all': ['TEST_IF_CMD', 'TEST_IF_STRUCT']}
318command test-cmd-return-def-three None -> UserDefThree
319    gen=True success_response=True boxed=False oob=False preconfig=False
320event TEST_IF_EVENT TestIfStruct
321    boxed=True
322    if {'all': ['TEST_IF_EVT', 'TEST_IF_STRUCT']}
323event TEST_IF_EVENT2 None
324    boxed=False
325    if {'not': {'any': [{'not': 'TEST_IF_EVT'}, {'not': 'TEST_IF_STRUCT'}]}}
326object FeatureStruct0
327    member foo: int optional=False
328object FeatureStruct1
329    member foo: int optional=False
330        feature deprecated
331    feature feature1
332object FeatureStruct2
333    member foo: int optional=False
334        feature unstable
335    feature feature1
336object FeatureStruct3
337    member foo: int optional=False
338    feature feature1
339    feature feature2
340object FeatureStruct4
341    member namespace-test: int optional=False
342    feature namespace-test
343    feature int
344    feature name
345    feature if
346object CondFeatureStruct1
347    member foo: int optional=False
348    feature feature1
349        if TEST_IF_FEATURE_1
350object CondFeatureStruct2
351    member foo: int optional=False
352    feature feature1
353        if TEST_IF_FEATURE_1
354    feature feature2
355        if TEST_IF_FEATURE_2
356object CondFeatureStruct3
357    member foo: int optional=False
358    feature feature1
359        if {'all': ['TEST_IF_COND_1', 'TEST_IF_COND_2']}
360object CondFeatureStruct4
361    member foo: int optional=False
362    feature feature1
363        if {'any': ['TEST_IF_COND_1', 'TEST_IF_COND_2']}
364enum FeatureEnum1
365    member eins
366    member zwei
367    member drei
368        feature deprecated
369    feature feature1
370object q_obj_FeatureUnion1-base
371    member tag: FeatureEnum1 optional=False
372object FeatureUnion1
373    base q_obj_FeatureUnion1-base
374    tag tag
375    case eins: FeatureStruct1
376    case zwei: q_empty
377    case drei: q_empty
378    feature feature1
379alternate FeatureAlternate1
380    tag type
381    case eins: FeatureStruct1
382    feature feature1
383object q_obj_test-features0-arg
384    member fs0: FeatureStruct0 optional=True
385    member fs1: FeatureStruct1 optional=True
386    member fs2: FeatureStruct2 optional=True
387    member fs3: FeatureStruct3 optional=True
388    member fs4: FeatureStruct4 optional=True
389    member cfs1: CondFeatureStruct1 optional=True
390    member cfs2: CondFeatureStruct2 optional=True
391    member cfs3: CondFeatureStruct3 optional=True
392    member cfs4: CondFeatureStruct4 optional=True
393command test-features0 q_obj_test-features0-arg -> FeatureStruct1
394    gen=True success_response=True boxed=False oob=False preconfig=False
395command test-command-features1 None -> None
396    gen=True success_response=True boxed=False oob=False preconfig=False
397    feature deprecated
398command test-command-features3 None -> None
399    gen=True success_response=True boxed=False oob=False preconfig=False
400    feature unstable
401    feature feature1
402    feature feature2
403command test-command-cond-features1 None -> None
404    gen=True success_response=True boxed=False oob=False preconfig=False
405    feature feature1
406        if TEST_IF_FEATURE_1
407command test-command-cond-features2 None -> None
408    gen=True success_response=True boxed=False oob=False preconfig=False
409    feature feature1
410        if TEST_IF_FEATURE_1
411    feature feature2
412        if TEST_IF_FEATURE_2
413command test-command-cond-features3 None -> None
414    gen=True success_response=True boxed=False oob=False preconfig=False
415    feature feature1
416        if {'all': ['TEST_IF_COND_1', 'TEST_IF_COND_2']}
417event TEST_EVENT_FEATURES0 FeatureStruct1
418    boxed=False
419event TEST_EVENT_FEATURES1 None
420    boxed=False
421    feature deprecated
422event TEST_EVENT_FEATURES2 None
423    boxed=False
424    feature unstable
425module include/sub-module.json
426include sub-sub-module.json
427object SecondArrayRef
428    member s: StatusList optional=False
429module sub-sub-module.json
430array StatusList Status
431enum Status
432    member good
433    member bad
434    member ugly
435