]>
Commit | Line | Data |
---|---|---|
e2bbc4ea | 1 | module ./builtin |
8a84767c | 2 | object q_empty |
1e381b65 | 3 | enum QType |
8a84767c | 4 | prefix QTYPE |
1e381b65 MAL |
5 | member none |
6 | member qnull | |
7 | member qnum | |
8 | member qstring | |
9 | member qdict | |
10 | member qlist | |
11 | member qbool | |
cf40a0a5 | 12 | module qapi-schema-test.json |
8a84767c MA |
13 | object TestStruct |
14 | member integer: int optional=False | |
15 | member boolean: bool optional=False | |
156402e5 | 16 | member string: str optional=False |
156402e5 MA |
17 | object 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 | |
1e381b65 | 22 | enum MyEnum |
8a84767c MA |
23 | object Empty1 |
24 | object Empty2 | |
25 | base Empty1 | |
0ced9531 MA |
26 | object q_obj_Union-base |
27 | member type: EnumOne optional=False | |
28 | object 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 | |
05ebf841 | 35 | command user-def-cmd0 Empty2 -> Empty2 |
758f272b | 36 | gen=True success_response=True boxed=False oob=False preconfig=False |
1e381b65 | 37 | enum QEnumTwo |
156402e5 | 38 | prefix QENUM_TWO |
1e381b65 MAL |
39 | member value1 |
40 | member value2 | |
8a84767c MA |
41 | object UserDefOne |
42 | base UserDefZero | |
43 | member string: str optional=False | |
44 | member enum1: EnumOne optional=True | |
1e381b65 MAL |
45 | enum EnumOne |
46 | member value1 | |
47 | member value2 | |
48 | member value3 | |
49 | member value4 | |
8a84767c | 50 | object UserDefZero |
748053c9 | 51 | member integer: int optional=False |
8a84767c MA |
52 | object UserDefTwoDictDict |
53 | member userdef: UserDefOne optional=False | |
748053c9 | 54 | member string: str optional=False |
8a84767c MA |
55 | object UserDefTwoDict |
56 | member string1: str optional=False | |
57 | member dict2: UserDefTwoDictDict optional=False | |
58 | member dict3: UserDefTwoDictDict optional=True | |
59 | object UserDefTwo | |
60 | member string0: str optional=False | |
61 | member dict1: UserDefTwoDict optional=False | |
967c8851 MAL |
62 | object UserDefThree |
63 | member string0: str optional=False | |
ca0ac758 MA |
64 | array UserDefOneList UserDefOne |
65 | array UserDefTwoList UserDefTwo | |
66 | array TestStructList TestStruct | |
8a84767c MA |
67 | object ForceArrays |
68 | member unused1: UserDefOneList optional=False | |
69 | member unused2: UserDefTwoList optional=False | |
70 | member unused3: TestStructList optional=False | |
156402e5 MA |
71 | object UserDefA |
72 | member boolean: bool optional=False | |
d220fbcd | 73 | member a_b: int optional=True |
156402e5 MA |
74 | object UserDefB |
75 | member intb: int optional=False | |
d220fbcd | 76 | member a-b: bool optional=True |
156402e5 MA |
77 | object UserDefFlatUnion |
78 | base UserDefUnionBase | |
79 | tag enum1 | |
80 | case value1: UserDefA | |
81 | case value2: UserDefB | |
82 | case value3: UserDefB | |
800877bb | 83 | case value4: q_empty |
8a84767c MA |
84 | object UserDefUnionBase |
85 | base UserDefZero | |
86 | member string: str optional=False | |
87 | member enum1: EnumOne optional=False | |
88 | object q_obj_UserDefFlatUnion2-base | |
89 | member integer: int optional=True | |
90 | member string: str optional=False | |
91 | member enum1: QEnumTwo optional=False | |
156402e5 | 92 | object UserDefFlatUnion2 |
ac4338f8 | 93 | base q_obj_UserDefFlatUnion2-base |
156402e5 MA |
94 | tag enum1 |
95 | case value1: UserDefC | |
96 | case value2: UserDefB | |
8a84767c MA |
97 | object WrapAlternate |
98 | member alt: UserDefAlternate optional=False | |
99 | alternate UserDefAlternate | |
100 | tag type | |
101 | case udfu: UserDefFlatUnion | |
102 | case e: EnumOne | |
103 | case i: int | |
104 | case n: null | |
105 | object UserDefC | |
106 | member string1: str optional=False | |
107 | member string2: str optional=False | |
108 | alternate AltEnumBool | |
109 | tag type | |
110 | case e: EnumOne | |
111 | case b: bool | |
112 | alternate AltEnumNum | |
113 | tag type | |
114 | case e: EnumOne | |
115 | case n: number | |
116 | alternate AltNumEnum | |
117 | tag type | |
118 | case n: number | |
119 | case e: EnumOne | |
120 | alternate AltEnumInt | |
121 | tag type | |
122 | case e: EnumOne | |
123 | case i: int | |
124 | alternate AltStrObj | |
125 | tag type | |
126 | case s: str | |
127 | case o: TestStruct | |
128 | object q_obj_intList-wrapper | |
129 | member data: intList optional=False | |
130 | object q_obj_int8List-wrapper | |
131 | member data: int8List optional=False | |
132 | object q_obj_int16List-wrapper | |
133 | member data: int16List optional=False | |
134 | object q_obj_int32List-wrapper | |
135 | member data: int32List optional=False | |
136 | object q_obj_int64List-wrapper | |
137 | member data: int64List optional=False | |
138 | object q_obj_uint8List-wrapper | |
139 | member data: uint8List optional=False | |
140 | object q_obj_uint16List-wrapper | |
141 | member data: uint16List optional=False | |
142 | object q_obj_uint32List-wrapper | |
143 | member data: uint32List optional=False | |
144 | object q_obj_uint64List-wrapper | |
145 | member data: uint64List optional=False | |
146 | object q_obj_numberList-wrapper | |
147 | member data: numberList optional=False | |
148 | object q_obj_boolList-wrapper | |
149 | member data: boolList optional=False | |
150 | object q_obj_strList-wrapper | |
151 | member data: strList optional=False | |
152 | object q_obj_sizeList-wrapper | |
153 | member data: sizeList optional=False | |
154 | object q_obj_anyList-wrapper | |
155 | member data: anyList optional=False | |
5e12eb98 MA |
156 | object q_obj_StatusList-wrapper |
157 | member data: StatusList optional=False | |
b359f4b2 | 158 | enum UserDefListUnionKind |
1e381b65 MAL |
159 | member integer |
160 | member s8 | |
161 | member s16 | |
162 | member s32 | |
163 | member s64 | |
164 | member u8 | |
165 | member u16 | |
166 | member u32 | |
167 | member u64 | |
168 | member number | |
169 | member boolean | |
170 | member string | |
171 | member sizes | |
172 | member any | |
5e12eb98 | 173 | member user |
b359f4b2 MA |
174 | object UserDefListUnion |
175 | member type: UserDefListUnionKind optional=False | |
da9cb193 | 176 | tag type |
7599697c EB |
177 | case integer: q_obj_intList-wrapper |
178 | case s8: q_obj_int8List-wrapper | |
179 | case s16: q_obj_int16List-wrapper | |
180 | case s32: q_obj_int32List-wrapper | |
181 | case s64: q_obj_int64List-wrapper | |
182 | case u8: q_obj_uint8List-wrapper | |
183 | case u16: q_obj_uint16List-wrapper | |
184 | case u32: q_obj_uint32List-wrapper | |
185 | case u64: q_obj_uint64List-wrapper | |
186 | case number: q_obj_numberList-wrapper | |
187 | case boolean: q_obj_boolList-wrapper | |
188 | case string: q_obj_strList-wrapper | |
189 | case sizes: q_obj_sizeList-wrapper | |
190 | case any: q_obj_anyList-wrapper | |
5e12eb98 | 191 | case user: q_obj_StatusList-wrapper |
709395f8 | 192 | include include/sub-module.json |
05ebf841 | 193 | command user-def-cmd None -> None |
758f272b | 194 | gen=True success_response=True boxed=False oob=False preconfig=False |
05ebf841 | 195 | object q_obj_user-def-cmd1-arg |
8a84767c | 196 | member ud1a: UserDefOne optional=False |
05ebf841 | 197 | command user-def-cmd1 q_obj_user-def-cmd1-arg -> None |
758f272b | 198 | gen=True success_response=True boxed=False oob=False preconfig=False |
05ebf841 | 199 | object q_obj_user-def-cmd2-arg |
8a84767c MA |
200 | member ud1a: UserDefOne optional=False |
201 | member ud1b: UserDefOne optional=True | |
05ebf841 | 202 | command user-def-cmd2 q_obj_user-def-cmd2-arg -> UserDefTwo |
758f272b | 203 | gen=True success_response=True boxed=False oob=False preconfig=False |
ae6bf766 | 204 | command cmd-success-response None -> None |
758f272b | 205 | gen=True success_response=False boxed=False oob=False preconfig=False |
04f22362 KW |
206 | command coroutine-cmd None -> None |
207 | gen=True success_response=True boxed=False oob=False preconfig=False coroutine=True | |
8a84767c MA |
208 | object q_obj_guest-get-time-arg |
209 | member a: int optional=False | |
210 | member b: int optional=True | |
211 | command guest-get-time q_obj_guest-get-time-arg -> int | |
758f272b | 212 | gen=True success_response=True boxed=False oob=False preconfig=False |
8a84767c MA |
213 | object q_obj_guest-sync-arg |
214 | member arg: any optional=False | |
215 | command guest-sync q_obj_guest-sync-arg -> any | |
758f272b | 216 | gen=True success_response=True boxed=False oob=False preconfig=False |
8a84767c | 217 | command boxed-struct UserDefZero -> None |
758f272b | 218 | gen=True success_response=True boxed=True oob=False preconfig=False |
b359f4b2 | 219 | command boxed-union UserDefListUnion -> None |
758f272b | 220 | gen=True success_response=True boxed=True oob=False preconfig=False |
675b214b | 221 | command boxed-empty Empty1 -> None |
758f272b | 222 | gen=True success_response=True boxed=True oob=False preconfig=False |
7b13f2c2 | 223 | command test-flags-command None -> None |
758f272b | 224 | gen=True success_response=True boxed=False oob=True preconfig=True |
156402e5 MA |
225 | object UserDefOptions |
226 | member i64: intList optional=True | |
227 | member u64: uint64List optional=True | |
228 | member u16: uint16List optional=True | |
229 | member i64x: int optional=True | |
230 | member u64x: uint64 optional=True | |
8a84767c MA |
231 | object EventStructOne |
232 | member struct1: UserDefOne optional=False | |
156402e5 | 233 | member string: str optional=False |
8a84767c MA |
234 | member enum2: EnumOne optional=True |
235 | event EVENT_A None | |
758f272b | 236 | boxed=False |
8a84767c | 237 | event EVENT_B None |
758f272b | 238 | boxed=False |
8a84767c MA |
239 | object q_obj_EVENT_C-arg |
240 | member a: int optional=True | |
241 | member b: UserDefOne optional=True | |
242 | member c: str optional=False | |
243 | event EVENT_C q_obj_EVENT_C-arg | |
758f272b | 244 | boxed=False |
8a84767c MA |
245 | object q_obj_EVENT_D-arg |
246 | member a: EventStructOne optional=False | |
247 | member b: str optional=False | |
248 | member c: str optional=True | |
249 | member enum3: EnumOne optional=True | |
250 | event EVENT_D q_obj_EVENT_D-arg | |
758f272b | 251 | boxed=False |
8a84767c | 252 | event EVENT_E UserDefZero |
758f272b | 253 | boxed=True |
b22e8658 | 254 | event EVENT_F UserDefFlatUnion |
758f272b | 255 | boxed=True |
675b214b | 256 | event EVENT_G Empty1 |
758f272b | 257 | boxed=True |
1e381b65 MAL |
258 | enum __org.qemu_x-Enum |
259 | member __org.qemu_x-value | |
156402e5 MA |
260 | object __org.qemu_x-Base |
261 | member __org.qemu_x-member1: __org.qemu_x-Enum optional=False | |
156402e5 MA |
262 | object __org.qemu_x-Struct |
263 | base __org.qemu_x-Base | |
264 | member __org.qemu_x-member2: str optional=False | |
c43567c1 | 265 | member wchar-t: int optional=True |
8a84767c MA |
266 | object q_obj_str-wrapper |
267 | member data: str optional=False | |
1e381b65 MAL |
268 | enum __org.qemu_x-Union1Kind |
269 | member __org.qemu_x-branch | |
156402e5 | 270 | object __org.qemu_x-Union1 |
da34a9bd | 271 | member type: __org.qemu_x-Union1Kind optional=False |
da9cb193 | 272 | tag type |
7599697c | 273 | case __org.qemu_x-branch: q_obj_str-wrapper |
f0325536 MA |
274 | alternate __org.qemu_x-Alt1 |
275 | tag type | |
276 | case __org.qemu_x-branch: str | |
ca0ac758 | 277 | array __org.qemu_x-Union1List __org.qemu_x-Union1 |
8a84767c MA |
278 | object __org.qemu_x-Struct2 |
279 | member array: __org.qemu_x-Union1List optional=False | |
156402e5 MA |
280 | object __org.qemu_x-Union2 |
281 | base __org.qemu_x-Base | |
282 | tag __org.qemu_x-member1 | |
283 | case __org.qemu_x-value: __org.qemu_x-Struct2 | |
8a84767c MA |
284 | alternate __org.qemu_x-Alt |
285 | tag type | |
f0325536 | 286 | case __org.qemu_x-branch: __org.qemu_x-Base |
8a84767c | 287 | event __ORG.QEMU_X-EVENT __org.qemu_x-Struct |
758f272b | 288 | boxed=False |
ca0ac758 MA |
289 | array __org.qemu_x-EnumList __org.qemu_x-Enum |
290 | array __org.qemu_x-StructList __org.qemu_x-Struct | |
7599697c EB |
291 | object q_obj___org.qemu_x-command-arg |
292 | member a: __org.qemu_x-EnumList optional=False | |
293 | member b: __org.qemu_x-StructList optional=False | |
294 | member c: __org.qemu_x-Union2 optional=False | |
295 | member d: __org.qemu_x-Alt optional=False | |
8a84767c | 296 | command __org.qemu_x-command q_obj___org.qemu_x-command-arg -> __org.qemu_x-Union1 |
758f272b | 297 | gen=True success_response=True boxed=False oob=False preconfig=False |
967c8851 MAL |
298 | object TestIfStruct |
299 | member foo: int optional=False | |
ccadd6bc | 300 | member bar: int optional=False |
8a9f1e1d MAL |
301 | if TEST_IF_STRUCT_BAR |
302 | if TEST_IF_STRUCT | |
1e381b65 MAL |
303 | enum TestIfEnum |
304 | member foo | |
305 | member bar | |
8a9f1e1d MAL |
306 | if TEST_IF_ENUM_BAR |
307 | if TEST_IF_ENUM | |
967c8851 MAL |
308 | object q_obj_TestStruct-wrapper |
309 | member data: TestStruct optional=False | |
1e381b65 MAL |
310 | enum TestIfUnionKind |
311 | member foo | |
d83b4764 | 312 | member bar |
8a9f1e1d MAL |
313 | if TEST_IF_UNION_BAR |
314 | if OrderedDict([('all', ['TEST_IF_UNION', 'TEST_IF_STRUCT'])]) | |
967c8851 MAL |
315 | object TestIfUnion |
316 | member type: TestIfUnionKind optional=False | |
317 | tag type | |
318 | case foo: q_obj_TestStruct-wrapper | |
d83b4764 | 319 | case bar: q_obj_str-wrapper |
8a9f1e1d MAL |
320 | if TEST_IF_UNION_BAR |
321 | if OrderedDict([('all', ['TEST_IF_UNION', 'TEST_IF_STRUCT'])]) | |
05ebf841 | 322 | object q_obj_test-if-union-cmd-arg |
5aceeac0 | 323 | member union-cmd-arg: TestIfUnion optional=False |
cdcc04fa | 324 | if OrderedDict([('all', ['TEST_IF_UNION', 'TEST_IF_STRUCT'])]) |
05ebf841 | 325 | command test-if-union-cmd q_obj_test-if-union-cmd-arg -> None |
758f272b | 326 | gen=True success_response=True boxed=False oob=False preconfig=False |
cdcc04fa | 327 | if OrderedDict([('all', ['TEST_IF_UNION', 'TEST_IF_STRUCT'])]) |
967c8851 MAL |
328 | alternate TestIfAlternate |
329 | tag type | |
330 | case foo: int | |
331 | case bar: TestStruct | |
8a9f1e1d MAL |
332 | if TEST_IF_ALT_BAR |
333 | if OrderedDict([('all', ['TEST_IF_ALT', 'TEST_IF_STRUCT'])]) | |
05ebf841 | 334 | object q_obj_test-if-alternate-cmd-arg |
5aceeac0 | 335 | member alt-cmd-arg: TestIfAlternate optional=False |
cdcc04fa | 336 | if OrderedDict([('all', ['TEST_IF_ALT', 'TEST_IF_STRUCT'])]) |
05ebf841 | 337 | command test-if-alternate-cmd q_obj_test-if-alternate-cmd-arg -> None |
758f272b | 338 | gen=True success_response=True boxed=False oob=False preconfig=False |
cdcc04fa | 339 | if OrderedDict([('all', ['TEST_IF_ALT', 'TEST_IF_STRUCT'])]) |
05ebf841 | 340 | object q_obj_test-if-cmd-arg |
967c8851 | 341 | member foo: TestIfStruct optional=False |
6cc32b0e | 342 | member bar: TestIfEnum optional=False |
8a9f1e1d MAL |
343 | if TEST_IF_CMD_BAR |
344 | if OrderedDict([('all', ['TEST_IF_CMD', 'TEST_IF_STRUCT'])]) | |
05ebf841 | 345 | command test-if-cmd q_obj_test-if-cmd-arg -> UserDefThree |
758f272b | 346 | gen=True success_response=True boxed=False oob=False preconfig=False |
8a9f1e1d | 347 | if OrderedDict([('all', ['TEST_IF_CMD', 'TEST_IF_STRUCT'])]) |
05ebf841 | 348 | command test-cmd-return-def-three None -> UserDefThree |
758f272b | 349 | gen=True success_response=True boxed=False oob=False preconfig=False |
0f20628b | 350 | array TestIfEnumList TestIfEnum |
8a9f1e1d | 351 | if TEST_IF_ENUM |
d4f4cae8 | 352 | object q_obj_TEST_IF_EVENT-arg |
967c8851 | 353 | member foo: TestIfStruct optional=False |
0f20628b | 354 | member bar: TestIfEnumList optional=False |
8a9f1e1d MAL |
355 | if TEST_IF_EVT_BAR |
356 | if OrderedDict([('all', ['TEST_IF_EVT', 'TEST_IF_STRUCT'])]) | |
d4f4cae8 | 357 | event TEST_IF_EVENT q_obj_TEST_IF_EVENT-arg |
758f272b | 358 | boxed=False |
8a9f1e1d | 359 | if OrderedDict([('all', ['TEST_IF_EVT', 'TEST_IF_STRUCT'])]) |
dd044023 MA |
360 | event TEST_IF_EVENT2 None |
361 | boxed=False | |
362 | if OrderedDict([('not', OrderedDict([('any', [OrderedDict([('not', 'TEST_IF_EVT')]), OrderedDict([('not', 'TEST_IF_STRUCT')])])]))]) | |
8aa3a33e KW |
363 | object FeatureStruct0 |
364 | member foo: int optional=False | |
365 | object FeatureStruct1 | |
366 | member foo: int optional=False | |
f965e8fe | 367 | feature deprecated |
8aa3a33e KW |
368 | feature feature1 |
369 | object FeatureStruct2 | |
370 | member foo: int optional=False | |
371 | feature feature1 | |
372 | object FeatureStruct3 | |
373 | member foo: int optional=False | |
374 | feature feature1 | |
375 | feature feature2 | |
376 | object FeatureStruct4 | |
377 | member namespace-test: int optional=False | |
378 | feature namespace-test | |
379 | feature int | |
380 | feature name | |
381 | feature if | |
382 | object CondFeatureStruct1 | |
383 | member foo: int optional=False | |
384 | feature feature1 | |
8a9f1e1d | 385 | if TEST_IF_FEATURE_1 |
8aa3a33e KW |
386 | object CondFeatureStruct2 |
387 | member foo: int optional=False | |
388 | feature feature1 | |
8a9f1e1d | 389 | if TEST_IF_FEATURE_1 |
8aa3a33e | 390 | feature feature2 |
8a9f1e1d | 391 | if TEST_IF_FEATURE_2 |
8aa3a33e KW |
392 | object CondFeatureStruct3 |
393 | member foo: int optional=False | |
394 | feature feature1 | |
8a9f1e1d | 395 | if OrderedDict([('all', ['TEST_IF_COND_1', 'TEST_IF_COND_2'])]) |
3ad64edf MAL |
396 | object CondFeatureStruct4 |
397 | member foo: int optional=False | |
398 | feature feature1 | |
8a9f1e1d | 399 | if OrderedDict([('any', ['TEST_IF_COND_1', 'TEST_IF_COND_2'])]) |
013b4efc MA |
400 | enum FeatureEnum1 |
401 | member eins | |
402 | member zwei | |
403 | member drei | |
404 | feature feature1 | |
405 | object q_obj_FeatureUnion1-base | |
406 | member tag: FeatureEnum1 optional=False | |
407 | object FeatureUnion1 | |
408 | base q_obj_FeatureUnion1-base | |
409 | tag tag | |
410 | case eins: FeatureStruct1 | |
411 | case zwei: q_empty | |
412 | case drei: q_empty | |
413 | feature feature1 | |
414 | alternate FeatureAlternate1 | |
415 | tag type | |
416 | case eins: FeatureStruct1 | |
417 | feature feature1 | |
418 | object q_obj_test-features0-arg | |
91fa93e5 MA |
419 | member fs0: FeatureStruct0 optional=True |
420 | member fs1: FeatureStruct1 optional=True | |
421 | member fs2: FeatureStruct2 optional=True | |
422 | member fs3: FeatureStruct3 optional=True | |
423 | member fs4: FeatureStruct4 optional=True | |
424 | member cfs1: CondFeatureStruct1 optional=True | |
425 | member cfs2: CondFeatureStruct2 optional=True | |
426 | member cfs3: CondFeatureStruct3 optional=True | |
3ad64edf | 427 | member cfs4: CondFeatureStruct4 optional=True |
91fa93e5 | 428 | command test-features0 q_obj_test-features0-arg -> FeatureStruct1 |
2e2e0df2 PK |
429 | gen=True success_response=True boxed=False oob=False preconfig=False |
430 | command test-command-features1 None -> None | |
431 | gen=True success_response=True boxed=False oob=False preconfig=False | |
f965e8fe | 432 | feature deprecated |
2e2e0df2 PK |
433 | command test-command-features3 None -> None |
434 | gen=True success_response=True boxed=False oob=False preconfig=False | |
435 | feature feature1 | |
436 | feature feature2 | |
437 | command test-command-cond-features1 None -> None | |
438 | gen=True success_response=True boxed=False oob=False preconfig=False | |
439 | feature feature1 | |
8a9f1e1d | 440 | if TEST_IF_FEATURE_1 |
2e2e0df2 PK |
441 | command test-command-cond-features2 None -> None |
442 | gen=True success_response=True boxed=False oob=False preconfig=False | |
443 | feature feature1 | |
8a9f1e1d | 444 | if TEST_IF_FEATURE_1 |
2e2e0df2 | 445 | feature feature2 |
8a9f1e1d | 446 | if TEST_IF_FEATURE_2 |
2e2e0df2 PK |
447 | command test-command-cond-features3 None -> None |
448 | gen=True success_response=True boxed=False oob=False preconfig=False | |
449 | feature feature1 | |
8a9f1e1d | 450 | if OrderedDict([('all', ['TEST_IF_COND_1', 'TEST_IF_COND_2'])]) |
d4f4cae8 | 451 | event TEST_EVENT_FEATURES0 FeatureStruct1 |
a291a38f | 452 | boxed=False |
d4f4cae8 | 453 | event TEST_EVENT_FEATURES1 None |
013b4efc | 454 | boxed=False |
f965e8fe | 455 | feature deprecated |
3e7fb581 MA |
456 | module include/sub-module.json |
457 | include sub-sub-module.json | |
458 | object SecondArrayRef | |
459 | member s: StatusList optional=False | |
460 | module sub-sub-module.json | |
461 | array StatusList Status | |
462 | enum Status | |
463 | member good | |
464 | member bad | |
465 | member ugly |