@tsonic/emitter 0.0.62 → 0.0.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/adapter-generator.d.ts +5 -15
  3. package/dist/adapter-generator.d.ts.map +1 -1
  4. package/dist/adapter-generator.js +60 -53
  5. package/dist/adapter-generator.js.map +1 -1
  6. package/dist/contracts/backend-adapter.d.ts +36 -0
  7. package/dist/contracts/backend-adapter.d.ts.map +1 -0
  8. package/dist/contracts/backend-adapter.js +9 -0
  9. package/dist/contracts/backend-adapter.js.map +1 -0
  10. package/dist/contracts/emitter-contract.d.ts +54 -0
  11. package/dist/contracts/emitter-contract.d.ts.map +1 -0
  12. package/dist/contracts/emitter-contract.js +8 -0
  13. package/dist/contracts/emitter-contract.js.map +1 -0
  14. package/dist/contracts/import-classifier.d.ts +36 -0
  15. package/dist/contracts/import-classifier.d.ts.map +1 -0
  16. package/dist/contracts/import-classifier.js +9 -0
  17. package/dist/contracts/import-classifier.js.map +1 -0
  18. package/dist/core/{attributes.d.ts → format/attributes.d.ts} +9 -14
  19. package/dist/core/format/attributes.d.ts.map +1 -0
  20. package/dist/core/format/attributes.js +190 -0
  21. package/dist/core/format/attributes.js.map +1 -0
  22. package/dist/core/format/attributes.test.d.ts.map +1 -0
  23. package/dist/core/{attributes.test.js → format/attributes.test.js} +70 -32
  24. package/dist/core/format/attributes.test.js.map +1 -0
  25. package/dist/core/format/backend-ast/index.d.ts +7 -0
  26. package/dist/core/format/backend-ast/index.d.ts.map +1 -0
  27. package/dist/core/format/backend-ast/index.js +6 -0
  28. package/dist/core/format/backend-ast/index.js.map +1 -0
  29. package/dist/core/format/backend-ast/printer.d.ts +33 -0
  30. package/dist/core/format/backend-ast/printer.d.ts.map +1 -0
  31. package/dist/core/format/backend-ast/printer.js +1151 -0
  32. package/dist/core/format/backend-ast/printer.js.map +1 -0
  33. package/dist/core/format/backend-ast/types.d.ts +504 -0
  34. package/dist/core/format/backend-ast/types.d.ts.map +1 -0
  35. package/dist/core/format/backend-ast/types.js +13 -0
  36. package/dist/core/format/backend-ast/types.js.map +1 -0
  37. package/dist/core/format/backend-ast/utils.d.ts +26 -0
  38. package/dist/core/format/backend-ast/utils.d.ts.map +1 -0
  39. package/dist/core/format/backend-ast/utils.js +65 -0
  40. package/dist/core/format/backend-ast/utils.js.map +1 -0
  41. package/dist/core/{exports.d.ts → format/exports.d.ts} +2 -2
  42. package/dist/core/format/exports.d.ts.map +1 -0
  43. package/dist/core/format/exports.js +22 -0
  44. package/dist/core/format/exports.js.map +1 -0
  45. package/dist/core/format/index.d.ts +9 -0
  46. package/dist/core/format/index.d.ts.map +1 -0
  47. package/dist/core/format/index.js +9 -0
  48. package/dist/core/format/index.js.map +1 -0
  49. package/dist/core/{local-names.d.ts → format/local-names.d.ts} +1 -1
  50. package/dist/core/format/local-names.d.ts.map +1 -0
  51. package/dist/core/{local-names.js → format/local-names.js} +1 -1
  52. package/dist/core/format/local-names.js.map +1 -0
  53. package/dist/core/format/module-emitter/assembly.d.ts +27 -0
  54. package/dist/core/format/module-emitter/assembly.d.ts.map +1 -0
  55. package/dist/core/format/module-emitter/assembly.js +44 -0
  56. package/dist/core/format/module-emitter/assembly.js.map +1 -0
  57. package/dist/core/{module-emitter → format/module-emitter}/header.d.ts +1 -1
  58. package/dist/core/format/module-emitter/header.d.ts.map +1 -0
  59. package/dist/core/{module-emitter → format/module-emitter}/header.js +1 -1
  60. package/dist/core/format/module-emitter/header.js.map +1 -0
  61. package/dist/core/format/module-emitter/index.d.ts.map +1 -0
  62. package/dist/core/format/module-emitter/index.js.map +1 -0
  63. package/dist/core/format/module-emitter/namespace.d.ts +21 -0
  64. package/dist/core/format/module-emitter/namespace.d.ts.map +1 -0
  65. package/dist/core/format/module-emitter/namespace.js +58 -0
  66. package/dist/core/format/module-emitter/namespace.js.map +1 -0
  67. package/dist/core/{module-emitter → format/module-emitter}/orchestrator.d.ts +1 -1
  68. package/dist/core/format/module-emitter/orchestrator.d.ts.map +1 -0
  69. package/dist/core/{module-emitter → format/module-emitter}/orchestrator.js +19 -19
  70. package/dist/core/format/module-emitter/orchestrator.js.map +1 -0
  71. package/dist/core/format/module-emitter/separation.d.ts.map +1 -0
  72. package/dist/core/format/module-emitter/separation.js.map +1 -0
  73. package/dist/core/{module-emitter → format/module-emitter}/static-container.d.ts +8 -3
  74. package/dist/core/format/module-emitter/static-container.d.ts.map +1 -0
  75. package/dist/core/format/module-emitter/static-container.js +202 -0
  76. package/dist/core/format/module-emitter/static-container.js.map +1 -0
  77. package/dist/core/format/module-emitter.d.ts.map +1 -0
  78. package/dist/core/format/module-emitter.js.map +1 -0
  79. package/dist/core/{options.d.ts → format/options.d.ts} +1 -1
  80. package/dist/core/format/options.d.ts.map +1 -0
  81. package/dist/core/format/options.js.map +1 -0
  82. package/dist/core/index.d.ts +2 -7
  83. package/dist/core/index.d.ts.map +1 -1
  84. package/dist/core/index.js +2 -7
  85. package/dist/core/index.js.map +1 -1
  86. package/dist/core/semantic/boolean-context.d.ts +44 -0
  87. package/dist/core/semantic/boolean-context.d.ts.map +1 -0
  88. package/dist/core/semantic/boolean-context.js +717 -0
  89. package/dist/core/semantic/boolean-context.js.map +1 -0
  90. package/dist/core/semantic/boolean-context.test.d.ts.map +1 -0
  91. package/dist/core/{boolean-context.test.js → semantic/boolean-context.test.js} +86 -109
  92. package/dist/core/semantic/boolean-context.test.js.map +1 -0
  93. package/dist/core/{imports.d.ts → semantic/imports.d.ts} +1 -5
  94. package/dist/core/semantic/imports.d.ts.map +1 -0
  95. package/dist/core/{imports.js → semantic/imports.js} +56 -74
  96. package/dist/core/semantic/imports.js.map +1 -0
  97. package/dist/core/semantic/imports.test.d.ts.map +1 -0
  98. package/dist/core/semantic/imports.test.js +229 -0
  99. package/dist/core/semantic/imports.test.js.map +1 -0
  100. package/dist/core/semantic/index.d.ts +15 -0
  101. package/dist/core/semantic/index.d.ts.map +1 -0
  102. package/dist/core/semantic/index.js +15 -0
  103. package/dist/core/semantic/index.js.map +1 -0
  104. package/dist/core/{local-types.d.ts → semantic/local-types.d.ts} +1 -1
  105. package/dist/core/semantic/local-types.d.ts.map +1 -0
  106. package/dist/core/semantic/local-types.js.map +1 -0
  107. package/dist/core/{module-map.d.ts → semantic/module-map.d.ts} +1 -1
  108. package/dist/core/semantic/module-map.d.ts.map +1 -0
  109. package/dist/core/semantic/module-map.js.map +1 -0
  110. package/dist/core/semantic/module-map.test.d.ts.map +1 -0
  111. package/dist/core/semantic/module-map.test.js.map +1 -0
  112. package/dist/core/semantic/naming-collisions.d.ts.map +1 -0
  113. package/dist/core/{naming-collisions.js → semantic/naming-collisions.js} +1 -1
  114. package/dist/core/semantic/naming-collisions.js.map +1 -0
  115. package/dist/core/{type-alias-index.d.ts → semantic/type-alias-index.d.ts} +1 -1
  116. package/dist/core/semantic/type-alias-index.d.ts.map +1 -0
  117. package/dist/core/semantic/type-alias-index.js.map +1 -0
  118. package/dist/core/semantic/type-compatibility.d.ts.map +1 -0
  119. package/dist/core/semantic/type-compatibility.js.map +1 -0
  120. package/dist/core/{type-member-index.d.ts → semantic/type-member-index.d.ts} +1 -1
  121. package/dist/core/semantic/type-member-index.d.ts.map +1 -0
  122. package/dist/core/semantic/type-member-index.js.map +1 -0
  123. package/dist/core/semantic/type-params.d.ts.map +1 -0
  124. package/dist/core/semantic/type-params.js.map +1 -0
  125. package/dist/core/{type-resolution.d.ts → semantic/type-resolution.d.ts} +3 -6
  126. package/dist/core/semantic/type-resolution.d.ts.map +1 -0
  127. package/dist/core/{type-resolution.js → semantic/type-resolution.js} +15 -25
  128. package/dist/core/semantic/type-resolution.js.map +1 -0
  129. package/dist/core/semantic/type-resolution.test.d.ts.map +1 -0
  130. package/dist/core/{type-resolution.test.js → semantic/type-resolution.test.js} +11 -19
  131. package/dist/core/semantic/type-resolution.test.js.map +1 -0
  132. package/dist/core/semantic/unsafe.d.ts.map +1 -0
  133. package/dist/core/semantic/unsafe.js.map +1 -0
  134. package/dist/emitter-types/core.d.ts +6 -12
  135. package/dist/emitter-types/core.d.ts.map +1 -1
  136. package/dist/emitter-types/index.d.ts +1 -1
  137. package/dist/emitter-types/index.d.ts.map +1 -1
  138. package/dist/emitter-types/index.js.map +1 -1
  139. package/dist/emitter.d.ts +1 -1
  140. package/dist/emitter.d.ts.map +1 -1
  141. package/dist/emitter.js +9 -8
  142. package/dist/emitter.js.map +1 -1
  143. package/dist/expression-emitter.d.ts +10 -5
  144. package/dist/expression-emitter.d.ts.map +1 -1
  145. package/dist/expression-emitter.js +333 -117
  146. package/dist/expression-emitter.js.map +1 -1
  147. package/dist/expressions/access.d.ts +4 -3
  148. package/dist/expressions/access.d.ts.map +1 -1
  149. package/dist/expressions/access.js +252 -102
  150. package/dist/expressions/access.js.map +1 -1
  151. package/dist/expressions/calls/call-analysis.d.ts +86 -0
  152. package/dist/expressions/calls/call-analysis.d.ts.map +1 -0
  153. package/dist/expressions/calls/call-analysis.js +284 -0
  154. package/dist/expressions/calls/call-analysis.js.map +1 -0
  155. package/dist/expressions/calls/call-emitter.d.ts +13 -0
  156. package/dist/expressions/calls/call-emitter.d.ts.map +1 -0
  157. package/dist/expressions/calls/call-emitter.js +1048 -0
  158. package/dist/expressions/calls/call-emitter.js.map +1 -0
  159. package/dist/expressions/calls/new-emitter.d.ts +13 -0
  160. package/dist/expressions/calls/new-emitter.d.ts.map +1 -0
  161. package/dist/expressions/calls/new-emitter.js +641 -0
  162. package/dist/expressions/calls/new-emitter.js.map +1 -0
  163. package/dist/expressions/calls.d.ts +2 -14
  164. package/dist/expressions/calls.d.ts.map +1 -1
  165. package/dist/expressions/calls.js +2 -909
  166. package/dist/expressions/calls.js.map +1 -1
  167. package/dist/expressions/collections.d.ts +6 -16
  168. package/dist/expressions/collections.d.ts.map +1 -1
  169. package/dist/expressions/collections.js +318 -217
  170. package/dist/expressions/collections.js.map +1 -1
  171. package/dist/expressions/functions.d.ts +6 -5
  172. package/dist/expressions/functions.d.ts.map +1 -1
  173. package/dist/expressions/functions.js +57 -62
  174. package/dist/expressions/functions.js.map +1 -1
  175. package/dist/expressions/identifiers.d.ts +11 -6
  176. package/dist/expressions/identifiers.d.ts.map +1 -1
  177. package/dist/expressions/identifiers.js +76 -25
  178. package/dist/expressions/identifiers.js.map +1 -1
  179. package/dist/expressions/index.d.ts +1 -1
  180. package/dist/expressions/index.d.ts.map +1 -1
  181. package/dist/expressions/index.js +1 -1
  182. package/dist/expressions/index.js.map +1 -1
  183. package/dist/expressions/index.test.js +605 -0
  184. package/dist/expressions/index.test.js.map +1 -1
  185. package/dist/expressions/literals.d.ts +4 -3
  186. package/dist/expressions/literals.d.ts.map +1 -1
  187. package/dist/expressions/literals.js +25 -17
  188. package/dist/expressions/literals.js.map +1 -1
  189. package/dist/expressions/literals.test.js +18 -18
  190. package/dist/expressions/literals.test.js.map +1 -1
  191. package/dist/expressions/operators/assignment-emitter.d.ts +16 -0
  192. package/dist/expressions/operators/assignment-emitter.d.ts.map +1 -0
  193. package/dist/expressions/operators/assignment-emitter.js +118 -0
  194. package/dist/expressions/operators/assignment-emitter.js.map +1 -0
  195. package/dist/expressions/operators/binary-emitter.d.ts +33 -0
  196. package/dist/expressions/operators/binary-emitter.d.ts.map +1 -0
  197. package/dist/expressions/operators/binary-emitter.js +398 -0
  198. package/dist/expressions/operators/binary-emitter.js.map +1 -0
  199. package/dist/expressions/operators/conditional-emitter.d.ts +17 -0
  200. package/dist/expressions/operators/conditional-emitter.d.ts.map +1 -0
  201. package/dist/expressions/operators/conditional-emitter.js +306 -0
  202. package/dist/expressions/operators/conditional-emitter.js.map +1 -0
  203. package/dist/expressions/operators/helpers.d.ts +37 -0
  204. package/dist/expressions/operators/helpers.d.ts.map +1 -0
  205. package/dist/expressions/operators/helpers.js +136 -0
  206. package/dist/expressions/operators/helpers.js.map +1 -0
  207. package/dist/expressions/operators/logical-emitter.d.ts +23 -0
  208. package/dist/expressions/operators/logical-emitter.d.ts.map +1 -0
  209. package/dist/expressions/operators/logical-emitter.js +73 -0
  210. package/dist/expressions/operators/logical-emitter.js.map +1 -0
  211. package/dist/expressions/operators/unary-emitter.d.ts +30 -0
  212. package/dist/expressions/operators/unary-emitter.d.ts.map +1 -0
  213. package/dist/expressions/operators/unary-emitter.js +244 -0
  214. package/dist/expressions/operators/unary-emitter.js.map +1 -0
  215. package/dist/expressions/operators.d.ts +5 -81
  216. package/dist/expressions/operators.d.ts.map +1 -1
  217. package/dist/expressions/operators.js +5 -949
  218. package/dist/expressions/operators.js.map +1 -1
  219. package/dist/expressions/other.d.ts +15 -11
  220. package/dist/expressions/other.d.ts.map +1 -1
  221. package/dist/expressions/other.js +51 -36
  222. package/dist/expressions/other.js.map +1 -1
  223. package/dist/expressions/precedence.test.js +1 -1
  224. package/dist/expressions/precedence.test.js.map +1 -1
  225. package/dist/generator-exchange.d.ts +10 -3
  226. package/dist/generator-exchange.d.ts.map +1 -1
  227. package/dist/generator-exchange.js +57 -54
  228. package/dist/generator-exchange.js.map +1 -1
  229. package/dist/generator-wrapper.d.ts +17 -65
  230. package/dist/generator-wrapper.d.ts.map +1 -1
  231. package/dist/generator-wrapper.js +396 -220
  232. package/dist/generator-wrapper.js.map +1 -1
  233. package/dist/generator-wrapper.test.js +22 -14
  234. package/dist/generator-wrapper.test.js.map +1 -1
  235. package/dist/integration.test.js +169 -1
  236. package/dist/integration.test.js.map +1 -1
  237. package/dist/patterns.d.ts +18 -88
  238. package/dist/patterns.d.ts.map +1 -1
  239. package/dist/patterns.js +540 -304
  240. package/dist/patterns.js.map +1 -1
  241. package/dist/patterns.test.js +5 -4
  242. package/dist/patterns.test.js.map +1 -1
  243. package/dist/specialization/generation.d.ts +7 -3
  244. package/dist/specialization/generation.d.ts.map +1 -1
  245. package/dist/specialization/generation.js +31 -15
  246. package/dist/specialization/generation.js.map +1 -1
  247. package/dist/specialization/type-aliases.test.js +47 -2
  248. package/dist/specialization/type-aliases.test.js.map +1 -1
  249. package/dist/statement-emitter.d.ts +15 -4
  250. package/dist/statement-emitter.d.ts.map +1 -1
  251. package/dist/statement-emitter.js +54 -47
  252. package/dist/statement-emitter.js.map +1 -1
  253. package/dist/statements/blocks.d.ts +24 -16
  254. package/dist/statements/blocks.d.ts.map +1 -1
  255. package/dist/statements/blocks.js +242 -65
  256. package/dist/statements/blocks.js.map +1 -1
  257. package/dist/statements/classes/index.d.ts +1 -1
  258. package/dist/statements/classes/index.d.ts.map +1 -1
  259. package/dist/statements/classes/index.js +1 -1
  260. package/dist/statements/classes/index.js.map +1 -1
  261. package/dist/statements/classes/inline-types.d.ts +4 -3
  262. package/dist/statements/classes/inline-types.d.ts.map +1 -1
  263. package/dist/statements/classes/inline-types.js +21 -21
  264. package/dist/statements/classes/inline-types.js.map +1 -1
  265. package/dist/statements/classes/members/constructors.d.ts +4 -3
  266. package/dist/statements/classes/members/constructors.d.ts.map +1 -1
  267. package/dist/statements/classes/members/constructors.js +57 -58
  268. package/dist/statements/classes/members/constructors.js.map +1 -1
  269. package/dist/statements/classes/members/methods.d.ts +4 -3
  270. package/dist/statements/classes/members/methods.d.ts.map +1 -1
  271. package/dist/statements/classes/members/methods.js +106 -101
  272. package/dist/statements/classes/members/methods.js.map +1 -1
  273. package/dist/statements/classes/members/orchestrator.d.ts +4 -3
  274. package/dist/statements/classes/members/orchestrator.d.ts.map +1 -1
  275. package/dist/statements/classes/members/orchestrator.js +2 -2
  276. package/dist/statements/classes/members/orchestrator.js.map +1 -1
  277. package/dist/statements/classes/members/properties.d.ts +4 -3
  278. package/dist/statements/classes/members/properties.d.ts.map +1 -1
  279. package/dist/statements/classes/members/properties.js +105 -88
  280. package/dist/statements/classes/members/properties.js.map +1 -1
  281. package/dist/statements/classes/members/shadowing.test.js +7 -2
  282. package/dist/statements/classes/members/shadowing.test.js.map +1 -1
  283. package/dist/statements/classes/members/static-readonly-properties.test.js +4 -1
  284. package/dist/statements/classes/members/static-readonly-properties.test.js.map +1 -1
  285. package/dist/statements/classes/parameters.d.ts +8 -10
  286. package/dist/statements/classes/parameters.d.ts.map +1 -1
  287. package/dist/statements/classes/parameters.js +30 -26
  288. package/dist/statements/classes/parameters.js.map +1 -1
  289. package/dist/statements/classes/properties.d.ts +4 -3
  290. package/dist/statements/classes/properties.d.ts.map +1 -1
  291. package/dist/statements/classes/properties.js +76 -50
  292. package/dist/statements/classes/properties.js.map +1 -1
  293. package/dist/statements/classes.d.ts +1 -1
  294. package/dist/statements/classes.d.ts.map +1 -1
  295. package/dist/statements/classes.js +1 -1
  296. package/dist/statements/classes.js.map +1 -1
  297. package/dist/statements/control/conditionals/guard-analysis.d.ts +169 -0
  298. package/dist/statements/control/conditionals/guard-analysis.d.ts.map +1 -0
  299. package/dist/statements/control/conditionals/guard-analysis.js +591 -0
  300. package/dist/statements/control/conditionals/guard-analysis.js.map +1 -0
  301. package/dist/statements/control/conditionals/if-emitter.d.ts +14 -0
  302. package/dist/statements/control/conditionals/if-emitter.d.ts.map +1 -0
  303. package/dist/statements/control/conditionals/if-emitter.js +725 -0
  304. package/dist/statements/control/conditionals/if-emitter.js.map +1 -0
  305. package/dist/statements/control/conditionals/switch-emitter.d.ts +13 -0
  306. package/dist/statements/control/conditionals/switch-emitter.d.ts.map +1 -0
  307. package/dist/statements/control/conditionals/switch-emitter.js +60 -0
  308. package/dist/statements/control/conditionals/switch-emitter.js.map +1 -0
  309. package/dist/statements/control/conditionals.d.ts +3 -15
  310. package/dist/statements/control/conditionals.d.ts.map +1 -1
  311. package/dist/statements/control/conditionals.js +3 -1152
  312. package/dist/statements/control/conditionals.js.map +1 -1
  313. package/dist/statements/control/exceptions.d.ts +8 -6
  314. package/dist/statements/control/exceptions.d.ts.map +1 -1
  315. package/dist/statements/control/exceptions.js +35 -23
  316. package/dist/statements/control/exceptions.js.map +1 -1
  317. package/dist/statements/control/index.d.ts +3 -3
  318. package/dist/statements/control/index.d.ts.map +1 -1
  319. package/dist/statements/control/index.js +3 -3
  320. package/dist/statements/control/index.js.map +1 -1
  321. package/dist/statements/control/loops.d.ts +14 -12
  322. package/dist/statements/control/loops.d.ts.map +1 -1
  323. package/dist/statements/control/loops.js +147 -82
  324. package/dist/statements/control/loops.js.map +1 -1
  325. package/dist/statements/control.d.ts +1 -1
  326. package/dist/statements/control.d.ts.map +1 -1
  327. package/dist/statements/control.js +1 -1
  328. package/dist/statements/control.js.map +1 -1
  329. package/dist/statements/declarations/classes.d.ts +7 -3
  330. package/dist/statements/declarations/classes.d.ts.map +1 -1
  331. package/dist/statements/declarations/classes.js +107 -83
  332. package/dist/statements/declarations/classes.js.map +1 -1
  333. package/dist/statements/declarations/enums.d.ts +4 -3
  334. package/dist/statements/declarations/enums.d.ts.map +1 -1
  335. package/dist/statements/declarations/enums.js +16 -15
  336. package/dist/statements/declarations/enums.js.map +1 -1
  337. package/dist/statements/declarations/functions.d.ts +18 -2
  338. package/dist/statements/declarations/functions.d.ts.map +1 -1
  339. package/dist/statements/declarations/functions.js +633 -162
  340. package/dist/statements/declarations/functions.js.map +1 -1
  341. package/dist/statements/declarations/index.d.ts +2 -2
  342. package/dist/statements/declarations/index.d.ts.map +1 -1
  343. package/dist/statements/declarations/index.js +2 -2
  344. package/dist/statements/declarations/index.js.map +1 -1
  345. package/dist/statements/declarations/interfaces.d.ts +7 -3
  346. package/dist/statements/declarations/interfaces.d.ts.map +1 -1
  347. package/dist/statements/declarations/interfaces.js +138 -105
  348. package/dist/statements/declarations/interfaces.js.map +1 -1
  349. package/dist/statements/declarations/type-aliases.d.ts +7 -3
  350. package/dist/statements/declarations/type-aliases.d.ts.map +1 -1
  351. package/dist/statements/declarations/type-aliases.js +122 -82
  352. package/dist/statements/declarations/type-aliases.js.map +1 -1
  353. package/dist/statements/declarations/variables.d.ts +12 -2
  354. package/dist/statements/declarations/variables.d.ts.map +1 -1
  355. package/dist/statements/declarations/variables.js +541 -428
  356. package/dist/statements/declarations/variables.js.map +1 -1
  357. package/dist/statements/declarations.d.ts +1 -1
  358. package/dist/statements/declarations.d.ts.map +1 -1
  359. package/dist/statements/declarations.js +1 -1
  360. package/dist/statements/declarations.js.map +1 -1
  361. package/dist/statements/index.d.ts +3 -3
  362. package/dist/statements/index.d.ts.map +1 -1
  363. package/dist/statements/index.js +5 -5
  364. package/dist/statements/index.js.map +1 -1
  365. package/dist/statements/index.test.js +307 -0
  366. package/dist/statements/index.test.js.map +1 -1
  367. package/dist/type-emitter.d.ts +1 -1
  368. package/dist/type-emitter.d.ts.map +1 -1
  369. package/dist/type-emitter.js +1 -1
  370. package/dist/type-emitter.js.map +1 -1
  371. package/dist/types/arrays.d.ts +3 -2
  372. package/dist/types/arrays.d.ts.map +1 -1
  373. package/dist/types/arrays.js +7 -5
  374. package/dist/types/arrays.js.map +1 -1
  375. package/dist/types/dictionaries.d.ts +6 -3
  376. package/dist/types/dictionaries.d.ts.map +1 -1
  377. package/dist/types/dictionaries.js +22 -10
  378. package/dist/types/dictionaries.js.map +1 -1
  379. package/dist/types/emitter.d.ts +8 -2
  380. package/dist/types/emitter.d.ts.map +1 -1
  381. package/dist/types/emitter.js +20 -6
  382. package/dist/types/emitter.js.map +1 -1
  383. package/dist/types/functions.d.ts +3 -2
  384. package/dist/types/functions.d.ts.map +1 -1
  385. package/dist/types/functions.js +36 -13
  386. package/dist/types/functions.js.map +1 -1
  387. package/dist/types/index.d.ts +2 -2
  388. package/dist/types/index.d.ts.map +1 -1
  389. package/dist/types/index.js +2 -2
  390. package/dist/types/index.js.map +1 -1
  391. package/dist/types/index.test.js +137 -0
  392. package/dist/types/index.test.js.map +1 -1
  393. package/dist/types/intersections.d.ts +3 -2
  394. package/dist/types/intersections.d.ts.map +1 -1
  395. package/dist/types/intersections.js +2 -2
  396. package/dist/types/intersections.js.map +1 -1
  397. package/dist/types/literals.d.ts +9 -2
  398. package/dist/types/literals.d.ts.map +1 -1
  399. package/dist/types/literals.js +11 -5
  400. package/dist/types/literals.js.map +1 -1
  401. package/dist/types/objects.d.ts +3 -2
  402. package/dist/types/objects.d.ts.map +1 -1
  403. package/dist/types/objects.js +1 -1
  404. package/dist/types/objects.js.map +1 -1
  405. package/dist/types/parameters.d.ts +6 -5
  406. package/dist/types/parameters.d.ts.map +1 -1
  407. package/dist/types/parameters.js +88 -29
  408. package/dist/types/parameters.js.map +1 -1
  409. package/dist/types/parameters.test.js +9 -4
  410. package/dist/types/parameters.test.js.map +1 -1
  411. package/dist/types/primitives.d.ts +5 -4
  412. package/dist/types/primitives.d.ts.map +1 -1
  413. package/dist/types/primitives.js +14 -13
  414. package/dist/types/primitives.js.map +1 -1
  415. package/dist/types/references.d.ts +3 -2
  416. package/dist/types/references.d.ts.map +1 -1
  417. package/dist/types/references.js +135 -111
  418. package/dist/types/references.js.map +1 -1
  419. package/dist/types/tuples.d.ts +3 -2
  420. package/dist/types/tuples.d.ts.map +1 -1
  421. package/dist/types/tuples.js +25 -11
  422. package/dist/types/tuples.js.map +1 -1
  423. package/dist/types/unions.d.ts +3 -2
  424. package/dist/types/unions.d.ts.map +1 -1
  425. package/dist/types/unions.js +36 -21
  426. package/dist/types/unions.js.map +1 -1
  427. package/dist/types.d.ts +1 -1
  428. package/dist/types.d.ts.map +1 -1
  429. package/dist/types.js.map +1 -1
  430. package/package.json +2 -2
  431. package/dist/core/attributes.d.ts.map +0 -1
  432. package/dist/core/attributes.js +0 -141
  433. package/dist/core/attributes.js.map +0 -1
  434. package/dist/core/attributes.test.d.ts.map +0 -1
  435. package/dist/core/attributes.test.js.map +0 -1
  436. package/dist/core/boolean-context.d.ts +0 -42
  437. package/dist/core/boolean-context.d.ts.map +0 -1
  438. package/dist/core/boolean-context.js +0 -442
  439. package/dist/core/boolean-context.js.map +0 -1
  440. package/dist/core/boolean-context.test.d.ts.map +0 -1
  441. package/dist/core/boolean-context.test.js.map +0 -1
  442. package/dist/core/exports.d.ts.map +0 -1
  443. package/dist/core/exports.js +0 -28
  444. package/dist/core/exports.js.map +0 -1
  445. package/dist/core/imports.d.ts.map +0 -1
  446. package/dist/core/imports.js.map +0 -1
  447. package/dist/core/imports.test.d.ts.map +0 -1
  448. package/dist/core/imports.test.js +0 -79
  449. package/dist/core/imports.test.js.map +0 -1
  450. package/dist/core/local-names.d.ts.map +0 -1
  451. package/dist/core/local-names.js.map +0 -1
  452. package/dist/core/local-types.d.ts.map +0 -1
  453. package/dist/core/local-types.js.map +0 -1
  454. package/dist/core/module-emitter/assembly.d.ts +0 -24
  455. package/dist/core/module-emitter/assembly.d.ts.map +0 -1
  456. package/dist/core/module-emitter/assembly.js +0 -69
  457. package/dist/core/module-emitter/assembly.js.map +0 -1
  458. package/dist/core/module-emitter/header.d.ts.map +0 -1
  459. package/dist/core/module-emitter/header.js.map +0 -1
  460. package/dist/core/module-emitter/index.d.ts.map +0 -1
  461. package/dist/core/module-emitter/index.js.map +0 -1
  462. package/dist/core/module-emitter/namespace.d.ts +0 -14
  463. package/dist/core/module-emitter/namespace.d.ts.map +0 -1
  464. package/dist/core/module-emitter/namespace.js +0 -26
  465. package/dist/core/module-emitter/namespace.js.map +0 -1
  466. package/dist/core/module-emitter/orchestrator.d.ts.map +0 -1
  467. package/dist/core/module-emitter/orchestrator.js.map +0 -1
  468. package/dist/core/module-emitter/separation.d.ts.map +0 -1
  469. package/dist/core/module-emitter/separation.js.map +0 -1
  470. package/dist/core/module-emitter/static-container.d.ts.map +0 -1
  471. package/dist/core/module-emitter/static-container.js +0 -139
  472. package/dist/core/module-emitter/static-container.js.map +0 -1
  473. package/dist/core/module-emitter.d.ts.map +0 -1
  474. package/dist/core/module-emitter.js.map +0 -1
  475. package/dist/core/module-map.d.ts.map +0 -1
  476. package/dist/core/module-map.js.map +0 -1
  477. package/dist/core/module-map.test.d.ts.map +0 -1
  478. package/dist/core/module-map.test.js.map +0 -1
  479. package/dist/core/naming-collisions.d.ts.map +0 -1
  480. package/dist/core/naming-collisions.js.map +0 -1
  481. package/dist/core/options.d.ts.map +0 -1
  482. package/dist/core/options.js.map +0 -1
  483. package/dist/core/type-alias-index.d.ts.map +0 -1
  484. package/dist/core/type-alias-index.js.map +0 -1
  485. package/dist/core/type-compatibility.d.ts.map +0 -1
  486. package/dist/core/type-compatibility.js.map +0 -1
  487. package/dist/core/type-member-index.d.ts.map +0 -1
  488. package/dist/core/type-member-index.js.map +0 -1
  489. package/dist/core/type-params.d.ts.map +0 -1
  490. package/dist/core/type-params.js.map +0 -1
  491. package/dist/core/type-resolution.d.ts.map +0 -1
  492. package/dist/core/type-resolution.js.map +0 -1
  493. package/dist/core/type-resolution.test.d.ts.map +0 -1
  494. package/dist/core/type-resolution.test.js.map +0 -1
  495. package/dist/core/unsafe.d.ts.map +0 -1
  496. package/dist/core/unsafe.js.map +0 -1
  497. /package/dist/core/{attributes.test.d.ts → format/attributes.test.d.ts} +0 -0
  498. /package/dist/core/{module-emitter → format/module-emitter}/index.d.ts +0 -0
  499. /package/dist/core/{module-emitter → format/module-emitter}/index.js +0 -0
  500. /package/dist/core/{module-emitter → format/module-emitter}/separation.d.ts +0 -0
  501. /package/dist/core/{module-emitter → format/module-emitter}/separation.js +0 -0
  502. /package/dist/core/{module-emitter.d.ts → format/module-emitter.d.ts} +0 -0
  503. /package/dist/core/{module-emitter.js → format/module-emitter.js} +0 -0
  504. /package/dist/core/{options.js → format/options.js} +0 -0
  505. /package/dist/core/{boolean-context.test.d.ts → semantic/boolean-context.test.d.ts} +0 -0
  506. /package/dist/core/{imports.test.d.ts → semantic/imports.test.d.ts} +0 -0
  507. /package/dist/core/{local-types.js → semantic/local-types.js} +0 -0
  508. /package/dist/core/{module-map.js → semantic/module-map.js} +0 -0
  509. /package/dist/core/{module-map.test.d.ts → semantic/module-map.test.d.ts} +0 -0
  510. /package/dist/core/{module-map.test.js → semantic/module-map.test.js} +0 -0
  511. /package/dist/core/{naming-collisions.d.ts → semantic/naming-collisions.d.ts} +0 -0
  512. /package/dist/core/{type-alias-index.js → semantic/type-alias-index.js} +0 -0
  513. /package/dist/core/{type-compatibility.d.ts → semantic/type-compatibility.d.ts} +0 -0
  514. /package/dist/core/{type-compatibility.js → semantic/type-compatibility.js} +0 -0
  515. /package/dist/core/{type-member-index.js → semantic/type-member-index.js} +0 -0
  516. /package/dist/core/{type-params.d.ts → semantic/type-params.d.ts} +0 -0
  517. /package/dist/core/{type-params.js → semantic/type-params.js} +0 -0
  518. /package/dist/core/{type-resolution.test.d.ts → semantic/type-resolution.test.d.ts} +0 -0
  519. /package/dist/core/{unsafe.d.ts → semantic/unsafe.d.ts} +0 -0
  520. /package/dist/core/{unsafe.js → semantic/unsafe.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"generator-wrapper.js","sourceRoot":"","sources":["../src/generator-wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator-wrapper.js","sourceRoot":"","sources":["../src/generator-wrapper.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { describe, it } from "mocha";
12
12
  import { expect } from "chai";
13
13
  import { extractGeneratorTypeArgs, needsBidirectionalSupport, generateWrapperClass, } from "./generator-wrapper.js";
14
14
  import { createContext } from "./types.js";
15
+ import { printType, printTypeDeclaration, } from "./core/format/backend-ast/printer.js";
15
16
  /**
16
17
  * Helper to create a generator function declaration
17
18
  */
@@ -39,17 +40,21 @@ describe("Generator Wrapper", () => {
39
40
  const returnType = createGeneratorType({ kind: "primitiveType", name: "number" }, { kind: "voidType" }, { kind: "primitiveType", name: "undefined" });
40
41
  const context = createContext({ rootNamespace: "Test" });
41
42
  const result = extractGeneratorTypeArgs(returnType, context);
42
- expect(result.yieldType).to.equal("double");
43
- expect(result.returnType).to.equal("void");
43
+ expect(printType(result.yieldType)).to.equal("double");
44
+ expect(result.returnType).to.equal(undefined);
44
45
  expect(result.hasNextType).to.be.false;
45
46
  });
46
47
  it("should extract all types from Generator<string, number, boolean>", () => {
47
48
  const returnType = createGeneratorType({ kind: "primitiveType", name: "string" }, { kind: "primitiveType", name: "number" }, { kind: "primitiveType", name: "boolean" });
48
49
  const context = createContext({ rootNamespace: "Test" });
49
50
  const result = extractGeneratorTypeArgs(returnType, context);
50
- expect(result.yieldType).to.equal("string");
51
- expect(result.returnType).to.equal("double");
52
- expect(result.nextType).to.equal("bool");
51
+ expect(printType(result.yieldType)).to.equal("string");
52
+ expect(result.returnType).to.not.equal(undefined);
53
+ if (!result.returnType) {
54
+ throw new Error("Expected returnType for Generator<TYield, TReturn, TNext>");
55
+ }
56
+ expect(printType(result.returnType)).to.equal("double");
57
+ expect(printType(result.nextType)).to.equal("bool");
53
58
  expect(result.hasNextType).to.be.true;
54
59
  });
55
60
  it("should handle Generator with only yield type", () => {
@@ -60,23 +65,23 @@ describe("Generator Wrapper", () => {
60
65
  };
61
66
  const context = createContext({ rootNamespace: "Test" });
62
67
  const result = extractGeneratorTypeArgs(returnType, context);
63
- expect(result.yieldType).to.equal("double");
64
- expect(result.returnType).to.equal("void");
68
+ expect(printType(result.yieldType)).to.equal("double");
69
+ expect(result.returnType).to.equal(undefined);
65
70
  expect(result.hasNextType).to.be.false;
66
71
  });
67
72
  it("should handle non-Generator return type", () => {
68
73
  const returnType = { kind: "primitiveType", name: "number" };
69
74
  const context = createContext({ rootNamespace: "Test" });
70
75
  const result = extractGeneratorTypeArgs(returnType, context);
71
- expect(result.yieldType).to.equal("object");
72
- expect(result.returnType).to.equal("void");
76
+ expect(printType(result.yieldType)).to.equal("object");
77
+ expect(result.returnType).to.equal(undefined);
73
78
  expect(result.hasNextType).to.be.false;
74
79
  });
75
80
  it("should handle undefined return type", () => {
76
81
  const context = createContext({ rootNamespace: "Test" });
77
82
  const result = extractGeneratorTypeArgs(undefined, context);
78
- expect(result.yieldType).to.equal("object");
79
- expect(result.returnType).to.equal("void");
83
+ expect(printType(result.yieldType)).to.equal("object");
84
+ expect(result.returnType).to.equal(undefined);
80
85
  expect(result.hasNextType).to.be.false;
81
86
  });
82
87
  });
@@ -116,7 +121,8 @@ describe("Generator Wrapper", () => {
116
121
  it("should generate wrapper class for sync generator", () => {
117
122
  const func = createGeneratorFunc("counter", createGeneratorType({ kind: "primitiveType", name: "number" }, { kind: "voidType" }, { kind: "primitiveType", name: "number" }));
118
123
  const context = createContext({ rootNamespace: "Test" });
119
- const [code] = generateWrapperClass(func, context);
124
+ const [wrapperAst] = generateWrapperClass(func, context);
125
+ const code = printTypeDeclaration(wrapperAst, "");
120
126
  // Class declaration
121
127
  expect(code).to.include("public sealed class counter_Generator");
122
128
  // Private fields
@@ -153,7 +159,8 @@ describe("Generator Wrapper", () => {
153
159
  ],
154
160
  }, { isAsync: true });
155
161
  const context = createContext({ rootNamespace: "Test" });
156
- const [code] = generateWrapperClass(func, context);
162
+ const [wrapperAst] = generateWrapperClass(func, context);
163
+ const code = printTypeDeclaration(wrapperAst, "");
157
164
  // Async class
158
165
  expect(code).to.include("public sealed class asyncCounter_Generator");
159
166
  // Async enumerator
@@ -170,7 +177,8 @@ describe("Generator Wrapper", () => {
170
177
  it("should use correct type for non-number yield type", () => {
171
178
  const func = createGeneratorFunc("stringGen", createGeneratorType({ kind: "primitiveType", name: "string" }, { kind: "voidType" }, { kind: "primitiveType", name: "string" }));
172
179
  const context = createContext({ rootNamespace: "Test" });
173
- const [code] = generateWrapperClass(func, context);
180
+ const [wrapperAst] = generateWrapperClass(func, context);
181
+ const code = printTypeDeclaration(wrapperAst, "");
174
182
  expect(code).to.include("global::Tsonic.Runtime.IteratorResult<string>");
175
183
  expect(code).to.include("string? value = default");
176
184
  });
@@ -1 +1 @@
1
- {"version":3,"file":"generator-wrapper.test.js","sourceRoot":"","sources":["../src/generator-wrapper.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator-wrapper.test.js","sourceRoot":"","sources":["../src/generator-wrapper.test.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,16 @@ const compileToCSharp = (source, fileName = "/test/test.ts") => {
58
58
  return emitModule(irResult.value);
59
59
  };
60
60
  describe("End-to-End Integration", () => {
61
+ describe("Arrow Field Delegates", () => {
62
+ it("should emit Action for static void arrow fields (never Func<void>)", () => {
63
+ const source = `
64
+ export const noop: () => void = () => {};
65
+ `;
66
+ const csharp = compileToCSharp(source);
67
+ expect(csharp).to.match(/public\s+static\s+readonly\s+global::System\.Action\s+noop\s*=/);
68
+ expect(csharp).not.to.match(/global::System\.Func\s*<\s*void\s*>/);
69
+ });
70
+ });
61
71
  describe("Generic Functions", () => {
62
72
  it("should compile generic identity function to C#", () => {
63
73
  const source = `
@@ -88,6 +98,22 @@ describe("End-to-End Integration", () => {
88
98
  // Should have function
89
99
  expect(csharp).to.match(/public\s+static\s+double\s+getId<T>/);
90
100
  });
101
+ it("should not emit invalid C# constraints for primitive-like TS constraints", () => {
102
+ const source = `
103
+ export interface User {
104
+ name: string;
105
+ age: number;
106
+ }
107
+
108
+ export type UserKey = keyof User;
109
+ export type UserValue<K extends UserKey> = User[K];
110
+ export type RoutePath<T extends string> = \`/api/\${T}\`;
111
+ `;
112
+ const csharp = compileToCSharp(source);
113
+ expect(csharp).to.not.match(/where\s+\w+\s*:\s*string/);
114
+ expect(csharp).to.not.include("where K : string");
115
+ expect(csharp).to.not.include("where T : string");
116
+ });
91
117
  });
92
118
  describe("Interfaces and Type Aliases", () => {
93
119
  it("should compile interface to C# class", () => {
@@ -107,6 +133,7 @@ describe("End-to-End Integration", () => {
107
133
  expect(csharp).to.match(/public\s+required\s+string\s+name\s*\{\s*get;\s*set;/);
108
134
  // Optional property should be nullable
109
135
  expect(csharp).to.match(/public\s+string\?\s+email\s*\{\s*get;\s*set;/);
136
+ expect(csharp).to.match(/\[global::System\.Diagnostics\.CodeAnalysis\.SetsRequiredMembersAttribute\]\s*public\s+User\s*\(\s*\)/);
110
137
  });
111
138
  it("should compile structural type alias to sealed class", () => {
112
139
  const source = `
@@ -120,6 +147,7 @@ describe("End-to-End Integration", () => {
120
147
  expect(csharp).to.match(/public\s+sealed\s+class\s+Point__Alias/);
121
148
  expect(csharp).to.match(/public\s+required\s+double\s+x\s*\{\s*get;\s*set;/);
122
149
  expect(csharp).to.match(/public\s+required\s+double\s+y\s*\{\s*get;\s*set;/);
150
+ expect(csharp).to.match(/\[global::System\.Diagnostics\.CodeAnalysis\.SetsRequiredMembersAttribute\]\s*public\s+Point__Alias\s*\(\s*\)/);
123
151
  });
124
152
  it("should compile generic interface", () => {
125
153
  const source = `
@@ -133,6 +161,7 @@ describe("End-to-End Integration", () => {
133
161
  expect(csharp).to.match(/public\s+class\s+Result\s*<T>/);
134
162
  expect(csharp).to.match(/public\s+required\s+bool\s+ok/);
135
163
  expect(csharp).to.match(/public\s+required\s+T\s+value/);
164
+ expect(csharp).to.match(/\[global::System\.Diagnostics\.CodeAnalysis\.SetsRequiredMembersAttribute\]\s*public\s+Result\s*\(\s*\)/);
136
165
  });
137
166
  });
138
167
  describe("Generic Classes", () => {
@@ -311,7 +340,9 @@ describe("End-to-End Integration", () => {
311
340
  const csharp = compileToCSharp(source);
312
341
  // Should have all type definitions
313
342
  expect(csharp).to.include("class User");
314
- expect(csharp).to.include("// type UserId = double"); // number double in C#
343
+ // Non-structural aliases are erased; usage sites should still resolve correctly.
344
+ expect(csharp).to.not.include("// type UserId = double");
345
+ expect(csharp).to.match(/findById\s*\(\s*double\s+id\s*\)/i);
315
346
  // Should have the repository class
316
347
  expect(csharp).to.include("class UserRepository");
317
348
  // Should have the generic function with native array return type
@@ -320,6 +351,143 @@ describe("End-to-End Integration", () => {
320
351
  expect(csharp).to.include("namespace Test");
321
352
  expect(csharp).to.include("public static class test");
322
353
  });
354
+ it("is deterministic across sequential compiles (no cross-program alias cache bleed)", () => {
355
+ const seedSource = `
356
+ export type UserId = string;
357
+ export function seed(id: UserId): UserId {
358
+ return id;
359
+ }
360
+ `;
361
+ const targetSource = `
362
+ export interface User {
363
+ id: number;
364
+ }
365
+
366
+ export type UserId = number;
367
+
368
+ export class UserRepository {
369
+ findById(id: UserId): User | undefined {
370
+ return undefined;
371
+ }
372
+ }
373
+ `;
374
+ compileToCSharp(seedSource);
375
+ const csharp = compileToCSharp(targetSource);
376
+ expect(csharp).to.match(/findById\s*\(\s*double\s+id\s*\)/i);
377
+ });
378
+ it("does not leak structural alias property types across compiles", () => {
379
+ const seedSource = `
380
+ export type Payload = {
381
+ value: string;
382
+ };
383
+ `;
384
+ const targetSource = `
385
+ export type Payload = {
386
+ value: number;
387
+ };
388
+
389
+ export function read(input: Payload): number {
390
+ return input.value;
391
+ }
392
+ `;
393
+ compileToCSharp(seedSource);
394
+ const csharp = compileToCSharp(targetSource);
395
+ expect(csharp).to.match(/class\s+Payload__Alias[\s\S]*required\s+double\s+value\s*\{/i);
396
+ expect(csharp).to.match(/read\s*\(\s*Payload__Alias\s+input\s*\)/i);
397
+ expect(csharp).not.to.match(/class\s+Payload__Alias[\s\S]*required\s+string\s+value\s*\{/i);
398
+ });
399
+ it("keeps compile outputs independent when same alias name is reused", () => {
400
+ const sourceA = `
401
+ export type UserId = string;
402
+ export interface User {
403
+ id: UserId;
404
+ }
405
+ `;
406
+ const sourceB = `
407
+ export type UserId = number;
408
+ export interface User {
409
+ id: UserId;
410
+ }
411
+ `;
412
+ const csharpA = compileToCSharp(sourceA);
413
+ const csharpB = compileToCSharp(sourceB);
414
+ const csharpAAgain = compileToCSharp(sourceA);
415
+ expect(csharpA).to.match(/required\s+string\s+id\s*\{/i);
416
+ expect(csharpB).to.match(/required\s+double\s+id\s*\{/i);
417
+ expect(csharpAAgain).to.match(/required\s+string\s+id\s*\{/i);
418
+ expect(csharpAAgain).not.to.match(/required\s+double\s+id\s*\{/i);
419
+ });
420
+ });
421
+ describe("Promise Chains", () => {
422
+ it("lowers Promise.then to Task.Run async wrapper", () => {
423
+ const source = `
424
+ declare class Promise<T> {
425
+ then<U>(onFulfilled: (value: T) => U | PromiseLike<U>): Promise<U>;
426
+ catch<U>(onRejected: (reason: unknown) => U | PromiseLike<U>): Promise<T | U>;
427
+ finally(onFinally: () => void): Promise<T>;
428
+ static resolve<T>(value: T): Promise<T>;
429
+ }
430
+ interface PromiseLike<T> {}
431
+
432
+ export async function load(): Promise<number> {
433
+ return 1;
434
+ }
435
+
436
+ export async function run(): Promise<number> {
437
+ const p = load();
438
+ return p.then((x) => x + 1);
439
+ }
440
+ `;
441
+ const csharp = compileToCSharp(source);
442
+ expect(csharp).to.include("Task.Run<double>(async");
443
+ expect(csharp).to.include("await p");
444
+ });
445
+ it("lowers Promise.catch to Task.Run with try/catch", () => {
446
+ const source = `
447
+ declare class Promise<T> {
448
+ then<U>(onFulfilled: (value: T) => U | PromiseLike<U>): Promise<U>;
449
+ catch<U>(onRejected: (reason: unknown) => U | PromiseLike<U>): Promise<T | U>;
450
+ finally(onFinally: () => void): Promise<T>;
451
+ static resolve<T>(value: T): Promise<T>;
452
+ }
453
+ interface PromiseLike<T> {}
454
+
455
+ export async function load(): Promise<number> {
456
+ return 1;
457
+ }
458
+
459
+ export async function run(): Promise<number> {
460
+ const p = load();
461
+ return p.catch((_e) => 0);
462
+ }
463
+ `;
464
+ const csharp = compileToCSharp(source);
465
+ expect(csharp).to.include("Task.Run");
466
+ expect(csharp).to.include("catch (global::System.Exception __tsonic_promise_ex)");
467
+ });
468
+ it("lowers Promise.finally to Task.Run with finally", () => {
469
+ const source = `
470
+ declare class Promise<T> {
471
+ then<U>(onFulfilled: (value: T) => U | PromiseLike<U>): Promise<U>;
472
+ catch<U>(onRejected: (reason: unknown) => U | PromiseLike<U>): Promise<T | U>;
473
+ finally(onFinally: () => void): Promise<T>;
474
+ static resolve<T>(value: T): Promise<T>;
475
+ }
476
+ interface PromiseLike<T> {}
477
+
478
+ export async function load(): Promise<number> {
479
+ return 1;
480
+ }
481
+
482
+ export async function run(): Promise<number> {
483
+ const p = load();
484
+ return p.finally(() => {});
485
+ }
486
+ `;
487
+ const csharp = compileToCSharp(source);
488
+ expect(csharp).to.include("Task.Run<double>(async");
489
+ expect(csharp).to.include("finally");
490
+ });
323
491
  });
324
492
  });
325
493
  //# sourceMappingURL=integration.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../src/integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../src/integration.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,yBAAyB,EACzB,aAAa,EACb,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;GAEG;AACH,MAAM,eAAe,GAAG,CACtB,MAAc,EACd,QAAQ,GAAG,eAAe,EAClB,EAAE;IACV,6EAA6E;IAE7E,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,QAAQ,EACR,MAAM,EACN,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,EACJ,EAAE,CAAC,UAAU,CAAC,EAAE,CACjB,CAAC;IAEF,MAAM,eAAe,GAAuB;QAC1C,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM;QAC9B,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ;QAC9B,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,IAAI;KACnB,CAAC;IAEF,MAAM,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC;IACjD,IAAI,CAAC,aAAa,GAAG,CACnB,IAAY,EACZ,wBAAsE,EACtE,OAAmC,EACnC,yBAAmC,EACnC,EAAE;QACF,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,qBAAqB,CAAC,IAAI,CAC/B,IAAI,EACJ,IAAI,EACJ,wBAAwB,EACxB,OAAO,EACP,yBAAyB,CAC1B,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;IAE3C,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE,SAAS;QAClB,OAAO;QACP,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC;QAC/B,OAAO,EAAE;YACP,WAAW,EAAE,OAAO;YACpB,UAAU,EAAE,OAAO;YACnB,aAAa,EAAE,MAAM;SACtB;QACD,WAAW,EAAE,CAAC,UAAU,CAAC;QACzB,sBAAsB,EAAE,EAAE;QAC1B,QAAQ,EAAE,IAAI,sBAAsB,EAAE;QACtC,QAAQ,EAAE,IAAI,eAAe,EAAE;QAC/B,WAAW,EAAE,yBAAyB,CAAC,OAAO,CAAC;KAChD,CAAC;IAEF,sDAAsD;IACtD,MAAM,OAAO,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;IAC/D,MAAM,GAAG,GAAG,oBAAoB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAEzD,WAAW;IACX,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAExE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,UAAU;IACV,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;YAC5E,MAAM,MAAM,GAAG;;OAEd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,gEAAgE,CACjE,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,MAAM,GAAG;;;;OAId,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,yCAAyC;YACzC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAChE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,MAAM,GAAG;;;;;;OAMd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,kCAAkC;YAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAErE,sCAAsC;YACtC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAE7C,uBAAuB;YACvB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;YAClF,MAAM,MAAM,GAAG;;;;;;;;;OASd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG;;;;;;OAMd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,uCAAuC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAEhD,0DAA0D;YAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,oDAAoD,CACrD,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;YAEF,uCAAuC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACxE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,uGAAuG,CACxG,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,MAAM,GAAG;;;;;OAKd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,+CAA+C;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,mDAAmD,CACpD,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,mDAAmD,CACpD,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,+GAA+G,CAChH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,MAAM,GAAG;;;;;OAKd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,4BAA4B;YAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,yGAAyG,CAC1G,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,MAAM,GAAG;;;;;;;;;;;;OAYd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,4BAA4B;YAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAE5D,8BAA8B;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,mDAAmD,CACpD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;OAyBd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,wFAAwF;YACxF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAEjE,kEAAkE;YAClE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;YAEtD,qCAAqC;YACrC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,MAAM,GAAG;;;;;;;;;;;;OAYd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,iFAAiF;YACjF,8EAA8E;YAC9E,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;OAed,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,0CAA0C;YAC1C,qFAAqF;YACrF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,MAAM,GAAG;;;;;;;;;;;OAWd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,kEAAkE;YAClE,+EAA+E;YAC/E,gFAAgF;YAChF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,yDAAyD,CAC1D,CAAC;YACF,kDAAkD;YAClD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0Cd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,mCAAmC;YACnC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACxC,iFAAiF;YACjF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAE7D,mCAAmC;YACnC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAElD,iEAAiE;YACjE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAE1E,yCAAyC;YACzC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;YAC1F,MAAM,UAAU,GAAG;;;;;OAKlB,CAAC;YAEF,MAAM,YAAY,GAAG;;;;;;;;;;;;OAYpB,CAAC;YAEF,eAAe,CAAC,UAAU,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACvE,MAAM,UAAU,GAAG;;;;OAIlB,CAAC;YAEF,MAAM,YAAY,GAAG;;;;;;;;OAQpB,CAAC;YAEF,eAAe,CAAC,UAAU,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,8DAA8D,CAC/D,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACpE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CACzB,8DAA8D,CAC/D,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YAC1E,MAAM,OAAO,GAAG;;;;;OAKf,CAAC;YAEF,MAAM,OAAO,GAAG;;;;;OAKf,CAAC;YAEF,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YAE9C,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACzD,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9D,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;OAiBd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;OAiBd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CACvB,sDAAsD,CACvD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;OAiBd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,98 +1,28 @@
1
1
  /**
2
- * Pattern Lowering Module
2
+ * Pattern lowering (AST-only).
3
3
  *
4
- * Transforms destructuring patterns into sequences of C# variable declarations.
5
- * This module is used by variable declarations, for-of loops, and function parameters.
6
- *
7
- * Example transformations:
8
- *
9
- * Array pattern:
10
- * const [a, b, c] = arr;
11
- * =>
12
- * var __t0 = arr;
13
- * var a = __t0[0];
14
- * var b = __t0[1];
15
- * var c = __t0[2];
16
- *
17
- * Array pattern with rest:
18
- * const [first, ...rest] = arr;
19
- * =>
20
- * var __t0 = arr;
21
- * var first = __t0[0];
22
- * var rest = Tsonic.Runtime.ArrayHelpers.Slice(__t0, 1);
23
- *
24
- * Object pattern:
25
- * const { name, age } = person;
26
- * =>
27
- * var __t0 = person;
28
- * var name = __t0.name;
29
- * var age = __t0.age;
30
- *
31
- * Object pattern with rest:
32
- * const { name, ...rest } = person;
33
- * =>
34
- * var __t0 = person;
35
- * var name = __t0.name;
36
- * var rest = new __Rest_xxxx { age = __t0.age, email = __t0.email };
4
+ * Handles destructuring for:
5
+ * - local declarations
6
+ * - static/module-level field declarations
7
+ * - assignment expressions
37
8
  */
38
9
  import { IrPattern, IrType } from "@tsonic/frontend";
39
10
  import { EmitterContext } from "./emitter-types/index.js";
40
- /**
41
- * Result of pattern lowering - a list of C# statements
42
- */
43
- export type LoweringResult = {
44
- /** Variable declarations generated from the pattern */
45
- readonly statements: readonly string[];
46
- /** The context after lowering (with any new locals registered) */
11
+ import type { CSharpExpressionAst, CSharpMemberAst, CSharpStatementAst } from "./core/format/backend-ast/types.js";
12
+ export type LoweringResultAst = {
13
+ readonly statements: readonly CSharpStatementAst[];
47
14
  readonly context: EmitterContext;
48
15
  };
49
- /**
50
- * Lower a pattern to a sequence of C# statements
51
- *
52
- * @param pattern - The pattern to lower (identifier, array, or object)
53
- * @param inputExpr - The C# expression being destructured
54
- * @param type - The type of the input expression (for type annotations)
55
- * @param indent - Indentation prefix for generated code
56
- * @param ctx - The current emitter context
57
- * @returns The generated statements and updated context
58
- */
59
- export declare const lowerPattern: (pattern: IrPattern, inputExpr: string, type: IrType | undefined, indent: string, ctx: EmitterContext) => LoweringResult;
60
- /**
61
- * Lower a pattern for a for-of loop variable
62
- * Similar to lowerPattern but handles the iteration context
63
- */
64
- export declare const lowerForOfPattern: (pattern: IrPattern, iteratorVar: string, elementType: IrType | undefined, indent: string, ctx: EmitterContext) => LoweringResult;
65
- /**
66
- * Lower a parameter pattern for function definitions
67
- * Generates statements to go at the beginning of the function body
68
- */
69
- export declare const lowerParameterPattern: (pattern: IrPattern, paramName: string, paramType: IrType | undefined, indent: string, ctx: EmitterContext) => LoweringResult;
70
- /**
71
- * Result of assignment pattern lowering - an expression and context
72
- *
73
- * Assignment destructuring is an expression (returns the RHS value),
74
- * so we return an expression string instead of statements.
75
- */
76
- export type AssignmentLoweringResult = {
77
- /** The C# expression that performs the assignment and returns the value */
78
- readonly expression: string;
79
- /** The context after lowering */
16
+ export declare const lowerPatternAst: (pattern: IrPattern, inputExpr: CSharpExpressionAst, type: IrType | undefined, ctx: EmitterContext) => LoweringResultAst;
17
+ export type StaticPatternLoweringResultAst = {
18
+ readonly members: readonly CSharpMemberAst[];
80
19
  readonly context: EmitterContext;
81
20
  };
82
- /**
83
- * Lower an assignment pattern to a C# expression
84
- *
85
- * In JavaScript, destructuring assignment is an expression that returns the RHS:
86
- * const result = ([a, b] = arr); // result === arr
87
- *
88
- * We emit this as a parenthesized sequence expression:
89
- * ((__t = rhs), (a = __t[0]), (b = __t[1]), __t)
90
- *
91
- * @param pattern - The pattern being assigned to
92
- * @param rhsExpr - The C# expression for the right-hand side
93
- * @param type - The type of the RHS expression
94
- * @param ctx - The current emitter context
95
- * @returns The expression and updated context
96
- */
97
- export declare const lowerAssignmentPattern: (pattern: IrPattern, rhsExpr: string, type: IrType | undefined, ctx: EmitterContext) => AssignmentLoweringResult;
21
+ export declare const lowerPatternToStaticMembersAst: (pattern: IrPattern, inputExpr: CSharpExpressionAst, type: IrType | undefined, ctx: EmitterContext) => StaticPatternLoweringResultAst;
22
+ type AssignmentPatternLoweringResultAst = {
23
+ readonly expression: CSharpExpressionAst;
24
+ readonly context: EmitterContext;
25
+ };
26
+ export declare const lowerAssignmentPatternAst: (pattern: IrPattern, rhsExpr: CSharpExpressionAst, rhsType: IrType | undefined, ctx: EmitterContext) => AssignmentPatternLoweringResultAst;
27
+ export {};
98
28
  //# sourceMappingURL=patterns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EACL,SAAS,EAGT,MAAM,EAEP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAS1D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AAkUF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GACvB,SAAS,SAAS,EAClB,WAAW,MAAM,EACjB,MAAM,MAAM,GAAG,SAAS,EACxB,QAAQ,MAAM,EACd,KAAK,cAAc,KAClB,cA6BF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,SAAS,EAClB,aAAa,MAAM,EACnB,aAAa,MAAM,GAAG,SAAS,EAC/B,QAAQ,MAAM,EACd,KAAK,cAAc,KAClB,cASF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,SAAS,EAClB,WAAW,MAAM,EACjB,WAAW,MAAM,GAAG,SAAS,EAC7B,QAAQ,MAAM,EACd,KAAK,cAAc,KAClB,cAQF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,SAAS,EAClB,SAAS,MAAM,EACf,MAAM,MAAM,GAAG,SAAS,EACxB,KAAK,cAAc,KAClB,wBAuFF,CAAC"}
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAIL,SAAS,EACT,MAAM,EACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAS1D,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAEnB,MAAM,oCAAoC,CAAC;AA6F5C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AA6NF,eAAO,MAAM,eAAe,GAC1B,SAAS,SAAS,EAClB,WAAW,mBAAmB,EAC9B,MAAM,MAAM,GAAG,SAAS,EACxB,KAAK,cAAc,KAClB,iBAYF,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AA0OF,eAAO,MAAM,8BAA8B,GACzC,SAAS,SAAS,EAClB,WAAW,mBAAmB,EAC9B,MAAM,MAAM,GAAG,SAAS,EACxB,KAAK,cAAc,KAClB,8BAkBF,CAAC;AAEF,KAAK,kCAAkC,GAAG;IACxC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AAuNF,eAAO,MAAM,yBAAyB,GACpC,SAAS,SAAS,EAClB,SAAS,mBAAmB,EAC5B,SAAS,MAAM,GAAG,SAAS,EAC3B,KAAK,cAAc,KAClB,kCAgFF,CAAC"}