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