qapi-schema-test.out 13 KB

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