1module None
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
26command user_def_cmd0 Empty2 -> Empty2
27   gen=True success_response=True boxed=False oob=False preconfig=False
28enum QEnumTwo
29    prefix QENUM_TWO
30    member value1
31    member value2
32object UserDefOne
33    base UserDefZero
34    member string: str optional=False
35    member enum1: EnumOne optional=True
36enum EnumOne
37    member value1
38    member value2
39    member value3
40    member value4
41object UserDefZero
42    member integer: int optional=False
43object UserDefTwoDictDict
44    member userdef: UserDefOne optional=False
45    member string: str optional=False
46object UserDefTwoDict
47    member string1: str optional=False
48    member dict2: UserDefTwoDictDict optional=False
49    member dict3: UserDefTwoDictDict optional=True
50object UserDefTwo
51    member string0: str optional=False
52    member dict1: UserDefTwoDict optional=False
53object UserDefThree
54    member string0: str optional=False
55array UserDefOneList UserDefOne
56array UserDefTwoList UserDefTwo
57array TestStructList TestStruct
58object ForceArrays
59    member unused1: UserDefOneList optional=False
60    member unused2: UserDefTwoList optional=False
61    member unused3: TestStructList optional=False
62object UserDefA
63    member boolean: bool optional=False
64    member a_b: int optional=True
65object UserDefB
66    member intb: int optional=False
67    member a-b: bool optional=True
68object UserDefFlatUnion
69    base UserDefUnionBase
70    tag enum1
71    case value1: UserDefA
72    case value2: UserDefB
73    case value3: UserDefB
74    case value4: q_empty
75object UserDefUnionBase
76    base UserDefZero
77    member string: str optional=False
78    member enum1: EnumOne optional=False
79object q_obj_UserDefFlatUnion2-base
80    member integer: int optional=True
81    member string: str optional=False
82    member enum1: QEnumTwo optional=False
83object UserDefFlatUnion2
84    base q_obj_UserDefFlatUnion2-base
85    tag enum1
86    case value1: UserDefC
87    case value2: UserDefB
88object WrapAlternate
89    member alt: UserDefAlternate optional=False
90alternate UserDefAlternate
91    tag type
92    case udfu: UserDefFlatUnion
93    case e: EnumOne
94    case i: int
95    case n: null
96object UserDefC
97    member string1: str optional=False
98    member string2: str optional=False
99alternate AltEnumBool
100    tag type
101    case e: EnumOne
102    case b: bool
103alternate AltEnumNum
104    tag type
105    case e: EnumOne
106    case n: number
107alternate AltNumEnum
108    tag type
109    case n: number
110    case e: EnumOne
111alternate AltEnumInt
112    tag type
113    case e: EnumOne
114    case i: int
115alternate AltStrObj
116    tag type
117    case s: str
118    case o: TestStruct
119object q_obj_intList-wrapper
120    member data: intList optional=False
121object q_obj_int8List-wrapper
122    member data: int8List optional=False
123object q_obj_int16List-wrapper
124    member data: int16List optional=False
125object q_obj_int32List-wrapper
126    member data: int32List optional=False
127object q_obj_int64List-wrapper
128    member data: int64List optional=False
129object q_obj_uint8List-wrapper
130    member data: uint8List optional=False
131object q_obj_uint16List-wrapper
132    member data: uint16List optional=False
133object q_obj_uint32List-wrapper
134    member data: uint32List optional=False
135object q_obj_uint64List-wrapper
136    member data: uint64List optional=False
137object q_obj_numberList-wrapper
138    member data: numberList optional=False
139object q_obj_boolList-wrapper
140    member data: boolList optional=False
141object q_obj_strList-wrapper
142    member data: strList optional=False
143object q_obj_sizeList-wrapper
144    member data: sizeList optional=False
145object q_obj_anyList-wrapper
146    member data: anyList optional=False
147enum UserDefNativeListUnionKind
148    member integer
149    member s8
150    member s16
151    member s32
152    member s64
153    member u8
154    member u16
155    member u32
156    member u64
157    member number
158    member boolean
159    member string
160    member sizes
161    member any
162object UserDefNativeListUnion
163    member type: UserDefNativeListUnionKind optional=False
164    tag type
165    case integer: q_obj_intList-wrapper
166    case s8: q_obj_int8List-wrapper
167    case s16: q_obj_int16List-wrapper
168    case s32: q_obj_int32List-wrapper
169    case s64: q_obj_int64List-wrapper
170    case u8: q_obj_uint8List-wrapper
171    case u16: q_obj_uint16List-wrapper
172    case u32: q_obj_uint32List-wrapper
173    case u64: q_obj_uint64List-wrapper
174    case number: q_obj_numberList-wrapper
175    case boolean: q_obj_boolList-wrapper
176    case string: q_obj_strList-wrapper
177    case sizes: q_obj_sizeList-wrapper
178    case any: q_obj_anyList-wrapper
179include include/sub-module.json
180module include/sub-module.json
181include sub-sub-module.json
182module sub-sub-module.json
183enum Status
184    member good
185    member bad
186    member ugly
187module qapi-schema-test.json
188command user_def_cmd None -> None
189   gen=True success_response=True boxed=False oob=False preconfig=False
190object q_obj_user_def_cmd1-arg
191    member ud1a: UserDefOne optional=False
192command user_def_cmd1 q_obj_user_def_cmd1-arg -> None
193   gen=True success_response=True boxed=False oob=False preconfig=False
194object q_obj_user_def_cmd2-arg
195    member ud1a: UserDefOne optional=False
196    member ud1b: UserDefOne optional=True
197command user_def_cmd2 q_obj_user_def_cmd2-arg -> UserDefTwo
198   gen=True success_response=True boxed=False oob=False preconfig=False
199command cmd-success-response None -> None
200   gen=True success_response=False boxed=False oob=False preconfig=False
201object q_obj_guest-get-time-arg
202    member a: int optional=False
203    member b: int optional=True
204command guest-get-time q_obj_guest-get-time-arg -> int
205   gen=True success_response=True boxed=False oob=False preconfig=False
206object q_obj_guest-sync-arg
207    member arg: any optional=False
208command guest-sync q_obj_guest-sync-arg -> any
209   gen=True success_response=True boxed=False oob=False preconfig=False
210command boxed-struct UserDefZero -> None
211   gen=True success_response=True boxed=True oob=False preconfig=False
212command boxed-union UserDefNativeListUnion -> None
213   gen=True success_response=True boxed=True oob=False preconfig=False
214command test-flags-command None -> None
215   gen=True success_response=True boxed=False oob=True preconfig=True
216object UserDefOptions
217    member i64: intList optional=True
218    member u64: uint64List optional=True
219    member u16: uint16List optional=True
220    member i64x: int optional=True
221    member u64x: uint64 optional=True
222object EventStructOne
223    member struct1: UserDefOne optional=False
224    member string: str optional=False
225    member enum2: EnumOne optional=True
226event EVENT_A None
227   boxed=False
228event EVENT_B None
229   boxed=False
230object q_obj_EVENT_C-arg
231    member a: int optional=True
232    member b: UserDefOne optional=True
233    member c: str optional=False
234event EVENT_C q_obj_EVENT_C-arg
235   boxed=False
236object q_obj_EVENT_D-arg
237    member a: EventStructOne optional=False
238    member b: str optional=False
239    member c: str optional=True
240    member enum3: EnumOne optional=True
241event EVENT_D q_obj_EVENT_D-arg
242   boxed=False
243event EVENT_E UserDefZero
244   boxed=True
245event EVENT_F UserDefAlternate
246   boxed=True
247enum __org.qemu_x-Enum
248    member __org.qemu_x-value
249object __org.qemu_x-Base
250    member __org.qemu_x-member1: __org.qemu_x-Enum optional=False
251object __org.qemu_x-Struct
252    base __org.qemu_x-Base
253    member __org.qemu_x-member2: str optional=False
254    member wchar-t: int optional=True
255object q_obj_str-wrapper
256    member data: str optional=False
257enum __org.qemu_x-Union1Kind
258    member __org.qemu_x-branch
259object __org.qemu_x-Union1
260    member type: __org.qemu_x-Union1Kind optional=False
261    tag type
262    case __org.qemu_x-branch: q_obj_str-wrapper
263array __org.qemu_x-Union1List __org.qemu_x-Union1
264object __org.qemu_x-Struct2
265    member array: __org.qemu_x-Union1List optional=False
266object __org.qemu_x-Union2
267    base __org.qemu_x-Base
268    tag __org.qemu_x-member1
269    case __org.qemu_x-value: __org.qemu_x-Struct2
270alternate __org.qemu_x-Alt
271    tag type
272    case __org.qemu_x-branch: str
273    case b: __org.qemu_x-Base
274event __ORG.QEMU_X-EVENT __org.qemu_x-Struct
275   boxed=False
276array __org.qemu_x-EnumList __org.qemu_x-Enum
277array __org.qemu_x-StructList __org.qemu_x-Struct
278object q_obj___org.qemu_x-command-arg
279    member a: __org.qemu_x-EnumList optional=False
280    member b: __org.qemu_x-StructList optional=False
281    member c: __org.qemu_x-Union2 optional=False
282    member d: __org.qemu_x-Alt optional=False
283command __org.qemu_x-command q_obj___org.qemu_x-command-arg -> __org.qemu_x-Union1
284   gen=True success_response=True boxed=False oob=False preconfig=False
285object TestIfStruct
286    member foo: int optional=False
287    member bar: int optional=False
288        if ['defined(TEST_IF_STRUCT_BAR)']
289    if ['defined(TEST_IF_STRUCT)']
290enum TestIfEnum
291    member foo
292    member bar
293        if ['defined(TEST_IF_ENUM_BAR)']
294    if ['defined(TEST_IF_ENUM)']
295object q_obj_TestStruct-wrapper
296    member data: TestStruct optional=False
297enum TestIfUnionKind
298    member foo
299    member union_bar
300        if ['defined(TEST_IF_UNION_BAR)']
301    if ['defined(TEST_IF_UNION) && defined(TEST_IF_STRUCT)']
302object TestIfUnion
303    member type: TestIfUnionKind optional=False
304    tag type
305    case foo: q_obj_TestStruct-wrapper
306    case union_bar: q_obj_str-wrapper
307        if ['defined(TEST_IF_UNION_BAR)']
308    if ['defined(TEST_IF_UNION) && defined(TEST_IF_STRUCT)']
309object q_obj_TestIfUnionCmd-arg
310    member union_cmd_arg: TestIfUnion optional=False
311    if ['defined(TEST_IF_UNION)']
312command TestIfUnionCmd q_obj_TestIfUnionCmd-arg -> None
313   gen=True success_response=True boxed=False oob=False preconfig=False
314    if ['defined(TEST_IF_UNION)']
315alternate TestIfAlternate
316    tag type
317    case foo: int
318    case bar: TestStruct
319        if ['defined(TEST_IF_ALT_BAR)']
320    if ['defined(TEST_IF_ALT) && defined(TEST_IF_STRUCT)']
321object q_obj_TestIfAlternateCmd-arg
322    member alt_cmd_arg: TestIfAlternate optional=False
323    if ['defined(TEST_IF_ALT)']
324command TestIfAlternateCmd q_obj_TestIfAlternateCmd-arg -> None
325   gen=True success_response=True boxed=False oob=False preconfig=False
326    if ['defined(TEST_IF_ALT)']
327object q_obj_TestIfCmd-arg
328    member foo: TestIfStruct optional=False
329    member bar: TestIfEnum optional=False
330        if ['defined(TEST_IF_CMD_BAR)']
331    if ['defined(TEST_IF_CMD)', 'defined(TEST_IF_STRUCT)']
332command TestIfCmd q_obj_TestIfCmd-arg -> UserDefThree
333   gen=True success_response=True boxed=False oob=False preconfig=False
334    if ['defined(TEST_IF_CMD)', 'defined(TEST_IF_STRUCT)']
335command TestCmdReturnDefThree None -> UserDefThree
336   gen=True success_response=True boxed=False oob=False preconfig=False
337array TestIfEnumList TestIfEnum
338    if ['defined(TEST_IF_ENUM)']
339object q_obj_TestIfEvent-arg
340    member foo: TestIfStruct optional=False
341    member bar: TestIfEnumList optional=False
342        if ['defined(TEST_IF_EVT_BAR)']
343    if ['defined(TEST_IF_EVT) && defined(TEST_IF_STRUCT)']
344event TestIfEvent q_obj_TestIfEvent-arg
345   boxed=False
346    if ['defined(TEST_IF_EVT) && defined(TEST_IF_STRUCT)']
347