@scriptc/compiler 0.2.4 → 0.2.5

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 (1104) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +915 -215
  2. package/ambient/scriptc-overrides.d.ts +5 -1
  3. package/ambient/scriptc.d.ts +22 -2
  4. package/dist/backend/build-cache.d.ts +4 -0
  5. package/dist/backend/build-cache.js +16 -2
  6. package/dist/backend/build-cache.js.map +1 -1
  7. package/dist/backend/cycle-analysis.js +17 -5
  8. package/dist/backend/cycle-analysis.js.map +1 -1
  9. package/dist/backend/cycle-analysis.test.js +50 -11
  10. package/dist/backend/cycle-analysis.test.js.map +1 -1
  11. package/dist/backend/debug-symbols.js.map +1 -1
  12. package/dist/backend/executable-features.js +2 -1
  13. package/dist/backend/executable-features.js.map +1 -1
  14. package/dist/backend/external-c.d.ts +13 -6
  15. package/dist/backend/external-c.js +15 -3
  16. package/dist/backend/external-c.js.map +1 -1
  17. package/dist/backend/ffi-callbacks.js +6 -9
  18. package/dist/backend/ffi-callbacks.js.map +1 -1
  19. package/dist/backend/library-identity-markers.js.map +1 -1
  20. package/dist/backend/library-pack.d.ts +1 -1
  21. package/dist/backend/library-pack.js +81 -24
  22. package/dist/backend/library-pack.js.map +1 -1
  23. package/dist/backend/link-plan-core.js +9 -2
  24. package/dist/backend/link-plan-core.js.map +1 -1
  25. package/dist/backend/link-plan.d.ts +1 -1
  26. package/dist/backend/link-plan.js +4 -5
  27. package/dist/backend/link-plan.js.map +1 -1
  28. package/dist/backend/linker.d.ts +1 -1
  29. package/dist/backend/linker.js +42 -23
  30. package/dist/backend/linker.js.map +1 -1
  31. package/dist/backend/literals.js +5 -4
  32. package/dist/backend/literals.js.map +1 -1
  33. package/dist/backend/literals.test.js +30 -5
  34. package/dist/backend/literals.test.js.map +1 -1
  35. package/dist/backend/llvm/blocks.test.js +5 -2
  36. package/dist/backend/llvm/blocks.test.js.map +1 -1
  37. package/dist/backend/llvm/borrowed-inputs.js.map +1 -1
  38. package/dist/backend/llvm/borrowed-receivers.js +43 -19
  39. package/dist/backend/llvm/borrowed-receivers.js.map +1 -1
  40. package/dist/backend/llvm/byte-numbers.js +6 -1
  41. package/dist/backend/llvm/byte-numbers.js.map +1 -1
  42. package/dist/backend/llvm/bytes-bounds.js +73 -22
  43. package/dist/backend/llvm/bytes-bounds.js.map +1 -1
  44. package/dist/backend/llvm/call-lifetimes.d.ts +3 -0
  45. package/dist/backend/llvm/call-lifetimes.js +60 -17
  46. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  47. package/dist/backend/llvm/call-lifetimes.test.js +159 -28
  48. package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
  49. package/dist/backend/llvm/checked-value-lifetimes.d.ts +4 -0
  50. package/dist/backend/llvm/checked-value-lifetimes.js +14 -4
  51. package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -1
  52. package/dist/backend/llvm/classes.js +16 -12
  53. package/dist/backend/llvm/classes.js.map +1 -1
  54. package/dist/backend/llvm/common.js +4 -1
  55. package/dist/backend/llvm/common.js.map +1 -1
  56. package/dist/backend/llvm/counted-loops.js +10 -3
  57. package/dist/backend/llvm/counted-loops.js.map +1 -1
  58. package/dist/backend/llvm/debug-info.js +33 -13
  59. package/dist/backend/llvm/debug-info.js.map +1 -1
  60. package/dist/backend/llvm/debug-info.test.js +28 -6
  61. package/dist/backend/llvm/debug-info.test.js.map +1 -1
  62. package/dist/backend/llvm/dyn.js +68 -22
  63. package/dist/backend/llvm/dyn.js.map +1 -1
  64. package/dist/backend/llvm/emitter.d.ts +9 -3
  65. package/dist/backend/llvm/emitter.js +238 -105
  66. package/dist/backend/llvm/emitter.js.map +1 -1
  67. package/dist/backend/llvm/emitter.test.js +233 -42
  68. package/dist/backend/llvm/emitter.test.js.map +1 -1
  69. package/dist/backend/llvm/expr-async.js +25 -6
  70. package/dist/backend/llvm/expr-async.js.map +1 -1
  71. package/dist/backend/llvm/expr-bytes.js +13 -4
  72. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  73. package/dist/backend/llvm/expr-callbacks.js +10 -4
  74. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  75. package/dist/backend/llvm/expr-calls.js +20 -9
  76. package/dist/backend/llvm/expr-calls.js.map +1 -1
  77. package/dist/backend/llvm/expr-containers.d.ts +2 -0
  78. package/dist/backend/llvm/expr-containers.js +92 -33
  79. package/dist/backend/llvm/expr-containers.js.map +1 -1
  80. package/dist/backend/llvm/expr-control.js +1 -3
  81. package/dist/backend/llvm/expr-control.js.map +1 -1
  82. package/dist/backend/llvm/expr-dispatch.js +3 -1
  83. package/dist/backend/llvm/expr-dispatch.js.map +1 -1
  84. package/dist/backend/llvm/expr-dynamic.js +19 -4
  85. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  86. package/dist/backend/llvm/expr-island.js +26 -6
  87. package/dist/backend/llvm/expr-island.js.map +1 -1
  88. package/dist/backend/llvm/expr-primitives.js +88 -19
  89. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  90. package/dist/backend/llvm/expr-primitives.test.js +43 -1
  91. package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
  92. package/dist/backend/llvm/expr-records.js +10 -9
  93. package/dist/backend/llvm/expr-records.js.map +1 -1
  94. package/dist/backend/llvm/expr-stream-bridges.js +44 -26
  95. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  96. package/dist/backend/llvm/expr-stream-bridges.test.js +51 -14
  97. package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -1
  98. package/dist/backend/llvm/expr-stream-callbacks.js +34 -14
  99. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  100. package/dist/backend/llvm/integer-values.js +15 -4
  101. package/dist/backend/llvm/integer-values.js.map +1 -1
  102. package/dist/backend/llvm/integer-views.js +23 -7
  103. package/dist/backend/llvm/integer-views.js.map +1 -1
  104. package/dist/backend/llvm/integer-views.test.js +42 -7
  105. package/dist/backend/llvm/integer-views.test.js.map +1 -1
  106. package/dist/backend/llvm/lib-abi.js +13 -4
  107. package/dist/backend/llvm/lib-abi.js.map +1 -1
  108. package/dist/backend/llvm/lib-connect.js +7 -1
  109. package/dist/backend/llvm/lib-connect.js.map +1 -1
  110. package/dist/backend/llvm/lib-datagram.js +35 -10
  111. package/dist/backend/llvm/lib-datagram.js.map +1 -1
  112. package/dist/backend/llvm/lib-dispatch.js +35 -16
  113. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  114. package/dist/backend/llvm/lib-filesystem.js +33 -18
  115. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  116. package/dist/backend/llvm/lib-http2.js +60 -15
  117. package/dist/backend/llvm/lib-http2.js.map +1 -1
  118. package/dist/backend/llvm/lib-lookup.js +12 -5
  119. package/dist/backend/llvm/lib-lookup.js.map +1 -1
  120. package/dist/backend/llvm/lib-network.js +97 -31
  121. package/dist/backend/llvm/lib-network.js.map +1 -1
  122. package/dist/backend/llvm/lib-process.js +57 -14
  123. package/dist/backend/llvm/lib-process.js.map +1 -1
  124. package/dist/backend/llvm/lib-shared.js +107 -31
  125. package/dist/backend/llvm/lib-shared.js.map +1 -1
  126. package/dist/backend/llvm/lib-stream.js +33 -14
  127. package/dist/backend/llvm/lib-stream.js.map +1 -1
  128. package/dist/backend/llvm/lib-test.js +21 -7
  129. package/dist/backend/llvm/lib-test.js.map +1 -1
  130. package/dist/backend/llvm/lib-tls.js +69 -20
  131. package/dist/backend/llvm/lib-tls.js.map +1 -1
  132. package/dist/backend/llvm/local-array-reads.d.ts +1 -0
  133. package/dist/backend/llvm/local-array-reads.js +96 -30
  134. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  135. package/dist/backend/llvm/local-array-reads.test.js +368 -60
  136. package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
  137. package/dist/backend/llvm/local-union-storage.d.ts +25 -0
  138. package/dist/backend/llvm/local-union-storage.js +109 -0
  139. package/dist/backend/llvm/local-union-storage.js.map +1 -0
  140. package/dist/backend/llvm/local-union-storage.test.d.ts +1 -0
  141. package/dist/backend/llvm/local-union-storage.test.js +210 -0
  142. package/dist/backend/llvm/local-union-storage.test.js.map +1 -0
  143. package/dist/backend/llvm/map-read-lifetimes.d.ts +6 -2
  144. package/dist/backend/llvm/map-read-lifetimes.js +44 -14
  145. package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
  146. package/dist/backend/llvm/map-read-lifetimes.test.js +89 -17
  147. package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
  148. package/dist/backend/llvm/reference-effects.d.ts +3 -2
  149. package/dist/backend/llvm/reference-effects.js +67 -36
  150. package/dist/backend/llvm/reference-effects.js.map +1 -1
  151. package/dist/backend/llvm/reference-effects.test.js +92 -9
  152. package/dist/backend/llvm/reference-effects.test.js.map +1 -1
  153. package/dist/backend/llvm/shapes.js +60 -17
  154. package/dist/backend/llvm/shapes.js.map +1 -1
  155. package/dist/backend/llvm/shapes.test.js +3 -1
  156. package/dist/backend/llvm/shapes.test.js.map +1 -1
  157. package/dist/backend/llvm/split.js +4 -4
  158. package/dist/backend/llvm/split.js.map +1 -1
  159. package/dist/backend/llvm/split.test.js +14 -6
  160. package/dist/backend/llvm/split.test.js.map +1 -1
  161. package/dist/backend/llvm/stack-unions.js +14 -5
  162. package/dist/backend/llvm/stack-unions.js.map +1 -1
  163. package/dist/backend/llvm/stack-unions.test.js +151 -32
  164. package/dist/backend/llvm/stack-unions.test.js.map +1 -1
  165. package/dist/backend/llvm/string-construction.js.map +1 -1
  166. package/dist/backend/llvm/string-construction.test.js +32 -7
  167. package/dist/backend/llvm/string-construction.test.js.map +1 -1
  168. package/dist/backend/llvm/string-lifetimes.js +14 -8
  169. package/dist/backend/llvm/string-lifetimes.js.map +1 -1
  170. package/dist/backend/llvm/string-lifetimes.test.js +112 -26
  171. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  172. package/dist/backend/llvm/switch-dispatch.d.ts +9 -0
  173. package/dist/backend/llvm/switch-dispatch.js +114 -0
  174. package/dist/backend/llvm/switch-dispatch.js.map +1 -0
  175. package/dist/backend/llvm/switch-dispatch.test.d.ts +1 -0
  176. package/dist/backend/llvm/switch-dispatch.test.js +83 -0
  177. package/dist/backend/llvm/switch-dispatch.test.js.map +1 -0
  178. package/dist/backend/llvm/unsupported.js.map +1 -1
  179. package/dist/backend/llvm/walkers.js +6 -3
  180. package/dist/backend/llvm/walkers.js.map +1 -1
  181. package/dist/backend/mangle.js +9 -3
  182. package/dist/backend/mangle.js.map +1 -1
  183. package/dist/backend/may-throw.js +18 -8
  184. package/dist/backend/may-throw.js.map +1 -1
  185. package/dist/backend/may-throw.test.js +118 -22
  186. package/dist/backend/may-throw.test.js.map +1 -1
  187. package/dist/backend/native/artifact-stamps.d.ts +39 -0
  188. package/dist/backend/native/artifact-stamps.js +371 -0
  189. package/dist/backend/native/artifact-stamps.js.map +1 -0
  190. package/dist/backend/native/cache-warm.d.ts +24 -0
  191. package/dist/backend/native/cache-warm.js +80 -0
  192. package/dist/backend/native/cache-warm.js.map +1 -0
  193. package/dist/backend/native/compiler-fingerprint.d.ts +19 -0
  194. package/dist/backend/native/compiler-fingerprint.js +357 -0
  195. package/dist/backend/native/compiler-fingerprint.js.map +1 -0
  196. package/dist/backend/native/contracts.d.ts +314 -0
  197. package/dist/backend/native/contracts.js +2 -0
  198. package/dist/backend/native/contracts.js.map +1 -0
  199. package/dist/backend/native/dependency-files.d.ts +5 -0
  200. package/dist/backend/native/dependency-files.js +83 -0
  201. package/dist/backend/native/dependency-files.js.map +1 -0
  202. package/dist/backend/native/driver.d.ts +50 -0
  203. package/dist/backend/native/driver.js +294 -0
  204. package/dist/backend/native/driver.js.map +1 -0
  205. package/dist/backend/native/executable.d.ts +18 -0
  206. package/dist/backend/native/executable.js +1267 -0
  207. package/dist/backend/native/executable.js.map +1 -0
  208. package/dist/backend/native/library.d.ts +2 -0
  209. package/dist/backend/native/library.js +614 -0
  210. package/dist/backend/native/library.js.map +1 -0
  211. package/dist/backend/native/linker-fingerprint.d.ts +8 -0
  212. package/dist/backend/native/linker-fingerprint.js +174 -0
  213. package/dist/backend/native/linker-fingerprint.js.map +1 -0
  214. package/dist/backend/native/object-merge.d.ts +2 -0
  215. package/dist/backend/native/object-merge.js +154 -0
  216. package/dist/backend/native/object-merge.js.map +1 -0
  217. package/dist/backend/native/process.d.ts +17 -0
  218. package/dist/backend/native/process.js +42 -0
  219. package/dist/backend/native/process.js.map +1 -0
  220. package/dist/backend/native/program-shards.d.ts +21 -0
  221. package/dist/backend/native/program-shards.js +99 -0
  222. package/dist/backend/native/program-shards.js.map +1 -0
  223. package/dist/backend/native/runtime-inputs.d.ts +12 -0
  224. package/dist/backend/native/runtime-inputs.js +163 -0
  225. package/dist/backend/native/runtime-inputs.js.map +1 -0
  226. package/dist/backend/native/runtime-inputs.test.d.ts +1 -0
  227. package/dist/backend/native/runtime-inputs.test.js +64 -0
  228. package/dist/backend/native/runtime-inputs.test.js.map +1 -0
  229. package/dist/backend/native/runtime-objects.d.ts +16 -0
  230. package/dist/backend/native/runtime-objects.js +122 -0
  231. package/dist/backend/native/runtime-objects.js.map +1 -0
  232. package/dist/backend/native/session.d.ts +12 -0
  233. package/dist/backend/native/session.js +31 -0
  234. package/dist/backend/native/session.js.map +1 -0
  235. package/dist/backend/native/tool-identity.d.ts +37 -0
  236. package/dist/backend/native/tool-identity.js +310 -0
  237. package/dist/backend/native/tool-identity.js.map +1 -0
  238. package/dist/backend/native/trace-paths.d.ts +12 -0
  239. package/dist/backend/native/trace-paths.js +73 -0
  240. package/dist/backend/native/trace-paths.js.map +1 -0
  241. package/dist/backend/native/vendor.d.ts +1 -0
  242. package/dist/backend/native/vendor.js +12 -0
  243. package/dist/backend/native/vendor.js.map +1 -0
  244. package/dist/backend/native-codegen-core.js +2 -1
  245. package/dist/backend/native-codegen-core.js.map +1 -1
  246. package/dist/backend/native-codegen.d.ts +1 -1
  247. package/dist/backend/native-codegen.js +24 -13
  248. package/dist/backend/native-codegen.js.map +1 -1
  249. package/dist/backend/native-codegen.test.js +12 -9
  250. package/dist/backend/native-codegen.test.js.map +1 -1
  251. package/dist/backend/native-link-info-core.js +9 -5
  252. package/dist/backend/native-link-info-core.js.map +1 -1
  253. package/dist/backend/native-link-info.js +14 -5
  254. package/dist/backend/native-link-info.js.map +1 -1
  255. package/dist/backend/native-link-info.test.js +58 -13
  256. package/dist/backend/native-link-info.test.js.map +1 -1
  257. package/dist/backend/native-toolchain.d.ts +17 -450
  258. package/dist/backend/native-toolchain.js +17 -3971
  259. package/dist/backend/native-toolchain.js.map +1 -1
  260. package/dist/backend/native-toolchain.test.js +103 -72
  261. package/dist/backend/native-toolchain.test.js.map +1 -1
  262. package/dist/backend/native-tools.js +27 -8
  263. package/dist/backend/native-tools.js.map +1 -1
  264. package/dist/backend/object-localize.js +17 -14
  265. package/dist/backend/object-localize.js.map +1 -1
  266. package/dist/backend/object-localize.test.js +59 -12
  267. package/dist/backend/object-localize.test.js.map +1 -1
  268. package/dist/backend/runtime-pack-core.js +96 -49
  269. package/dist/backend/runtime-pack-core.js.map +1 -1
  270. package/dist/backend/runtime-pack-native.js +5 -3
  271. package/dist/backend/runtime-pack-native.js.map +1 -1
  272. package/dist/backend/runtime-pack-targets.test.js +87 -15
  273. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  274. package/dist/backend/runtime-pack.d.ts +1 -1
  275. package/dist/backend/runtime-pack.js +11 -12
  276. package/dist/backend/runtime-pack.js.map +1 -1
  277. package/dist/backend/runtime-pack.test.js +40 -24
  278. package/dist/backend/runtime-pack.test.js.map +1 -1
  279. package/dist/backend/source-locations.js.map +1 -1
  280. package/dist/backend/source-locations.test.js +7 -2
  281. package/dist/backend/source-locations.test.js.map +1 -1
  282. package/dist/backend/target-diagnostics.js +44 -14
  283. package/dist/backend/target-diagnostics.js.map +1 -1
  284. package/dist/backend/target-diagnostics.test.js +93 -20
  285. package/dist/backend/target-diagnostics.test.js.map +1 -1
  286. package/dist/backend/targets.js +230 -86
  287. package/dist/backend/targets.js.map +1 -1
  288. package/dist/backend/targets.test.js +32 -18
  289. package/dist/backend/targets.test.js.map +1 -1
  290. package/dist/backend/toolchain-environment.js +5 -1
  291. package/dist/backend/toolchain-environment.js.map +1 -1
  292. package/dist/backend/vendor-archives.d.ts +2 -2
  293. package/dist/backend/vendor-archives.js +84 -35
  294. package/dist/backend/vendor-archives.js.map +1 -1
  295. package/dist/backend/vendor-inputs.js +13 -1
  296. package/dist/backend/vendor-inputs.js.map +1 -1
  297. package/dist/backend/warm-cache.d.ts +1 -1
  298. package/dist/backend/warm-cache.js +33 -9
  299. package/dist/backend/warm-cache.js.map +1 -1
  300. package/dist/cli/command.js +39 -9
  301. package/dist/cli/command.js.map +1 -1
  302. package/dist/cli/output-options.js +14 -4
  303. package/dist/cli/output-options.js.map +1 -1
  304. package/dist/cli/paths.js.map +1 -1
  305. package/dist/cli/wasi-runner.js.map +1 -1
  306. package/dist/compat/fetch-profile.js +36 -35
  307. package/dist/compat/fetch-profile.js.map +1 -1
  308. package/dist/coverage/report.js +16 -17
  309. package/dist/coverage/report.js.map +1 -1
  310. package/dist/coverage/surface-manifest.js +112 -26
  311. package/dist/coverage/surface-manifest.js.map +1 -1
  312. package/dist/diagnostics/diagnostic.js +55 -16
  313. package/dist/diagnostics/diagnostic.js.map +1 -1
  314. package/dist/executable/executable-cache.d.ts +1 -1
  315. package/dist/executable/executable-cache.js +78 -48
  316. package/dist/executable/executable-cache.js.map +1 -1
  317. package/dist/executable/executable-cache.test.js +75 -26
  318. package/dist/executable/executable-cache.test.js.map +1 -1
  319. package/dist/executable/prepare.js +2 -2
  320. package/dist/executable/prepare.js.map +1 -1
  321. package/dist/ffi/ffi-manifest.js +78 -20
  322. package/dist/ffi/ffi-manifest.js.map +1 -1
  323. package/dist/ffi/ffi-manifest.test.js +96 -16
  324. package/dist/ffi/ffi-manifest.test.js.map +1 -1
  325. package/dist/format-integer.js.map +1 -1
  326. package/dist/frontend/analysis.js +12 -2
  327. package/dist/frontend/analysis.js.map +1 -1
  328. package/dist/frontend/arguments-usage.js.map +1 -1
  329. package/dist/frontend/binding-source.js +9 -3
  330. package/dist/frontend/binding-source.js.map +1 -1
  331. package/dist/frontend/builtin-modules.js +46 -2
  332. package/dist/frontend/builtin-modules.js.map +1 -1
  333. package/dist/frontend/cjs-resolve.js +40 -17
  334. package/dist/frontend/cjs-resolve.js.map +1 -1
  335. package/dist/frontend/cjs-syntax.js +31 -10
  336. package/dist/frontend/cjs-syntax.js.map +1 -1
  337. package/dist/frontend/comptime-node.test.js +10 -11
  338. package/dist/frontend/comptime-node.test.js.map +1 -1
  339. package/dist/frontend/dts-paths.js +7 -3
  340. package/dist/frontend/dts-paths.js.map +1 -1
  341. package/dist/frontend/fork-target.js +17 -12
  342. package/dist/frontend/fork-target.js.map +1 -1
  343. package/dist/frontend/function-completion.js +11 -6
  344. package/dist/frontend/function-completion.js.map +1 -1
  345. package/dist/frontend/helper-tokens.js +53 -6
  346. package/dist/frontend/helper-tokens.js.map +1 -1
  347. package/dist/frontend/helper-tokens.test.js +18 -2
  348. package/dist/frontend/helper-tokens.test.js.map +1 -1
  349. package/dist/frontend/inferred-js-diagnostics.js +32 -12
  350. package/dist/frontend/inferred-js-diagnostics.js.map +1 -1
  351. package/dist/frontend/inferred-js-diagnostics.test.js +11 -15
  352. package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -1
  353. package/dist/frontend/input-tracker.js +11 -11
  354. package/dist/frontend/input-tracker.js.map +1 -1
  355. package/dist/frontend/input-tracker.test.js +4 -1
  356. package/dist/frontend/input-tracker.test.js.map +1 -1
  357. package/dist/frontend/lib-contract.js +38 -9
  358. package/dist/frontend/lib-contract.js.map +1 -1
  359. package/dist/frontend/literal-values.js.map +1 -1
  360. package/dist/frontend/literal-values.test.js +28 -8
  361. package/dist/frontend/literal-values.test.js.map +1 -1
  362. package/dist/frontend/lowering/abstract-equality.js +53 -10
  363. package/dist/frontend/lowering/abstract-equality.js.map +1 -1
  364. package/dist/frontend/lowering/array-indexed-mutation.d.ts +1 -1
  365. package/dist/frontend/lowering/array-indexed-mutation.js +108 -106
  366. package/dist/frontend/lowering/array-indexed-mutation.js.map +1 -1
  367. package/dist/frontend/lowering/array-values.js +37 -14
  368. package/dist/frontend/lowering/array-values.js.map +1 -1
  369. package/dist/frontend/lowering/binding-analysis.d.ts +50 -0
  370. package/dist/frontend/lowering/binding-analysis.js +376 -0
  371. package/dist/frontend/lowering/binding-analysis.js.map +1 -0
  372. package/dist/frontend/lowering/builtin-calls.d.ts +9 -0
  373. package/dist/frontend/lowering/builtin-calls.js +60 -0
  374. package/dist/frontend/lowering/builtin-calls.js.map +1 -0
  375. package/dist/frontend/lowering/builtins/arguments.d.ts +43 -0
  376. package/dist/frontend/lowering/builtins/arguments.js +247 -0
  377. package/dist/frontend/lowering/builtins/arguments.js.map +1 -0
  378. package/dist/frontend/lowering/builtins/async-context.d.ts +52 -0
  379. package/dist/frontend/lowering/builtins/async-context.js +436 -0
  380. package/dist/frontend/lowering/builtins/async-context.js.map +1 -0
  381. package/dist/frontend/lowering/builtins/atomics.d.ts +15 -0
  382. package/dist/frontend/lowering/builtins/atomics.js +46 -0
  383. package/dist/frontend/lowering/builtins/atomics.js.map +1 -0
  384. package/dist/frontend/lowering/builtins/callable-aliases.d.ts +13 -0
  385. package/dist/frontend/lowering/builtins/callable-aliases.js +87 -0
  386. package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -0
  387. package/dist/frontend/lowering/builtins/child-process-async.d.ts +18 -0
  388. package/dist/frontend/lowering/builtins/child-process-async.js +245 -0
  389. package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -0
  390. package/dist/frontend/lowering/builtins/child-process-methods.d.ts +21 -0
  391. package/dist/frontend/lowering/builtins/child-process-methods.js +362 -0
  392. package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -0
  393. package/dist/frontend/lowering/builtins/child-process-sync.d.ts +4 -0
  394. package/dist/frontend/lowering/builtins/child-process-sync.js +639 -0
  395. package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -0
  396. package/dist/frontend/lowering/builtins/child-process.d.ts +55 -0
  397. package/dist/frontend/lowering/builtins/child-process.js +669 -0
  398. package/dist/frontend/lowering/builtins/child-process.js.map +1 -0
  399. package/dist/frontend/lowering/builtins/compression.d.ts +7 -0
  400. package/dist/frontend/lowering/builtins/compression.js +115 -0
  401. package/dist/frontend/lowering/builtins/compression.js.map +1 -0
  402. package/dist/frontend/lowering/builtins/console.d.ts +10 -0
  403. package/dist/frontend/lowering/builtins/console.js +38 -0
  404. package/dist/frontend/lowering/builtins/console.js.map +1 -0
  405. package/dist/frontend/lowering/builtins/constants.d.ts +24 -0
  406. package/dist/frontend/lowering/builtins/constants.js +141 -0
  407. package/dist/frontend/lowering/builtins/constants.js.map +1 -0
  408. package/dist/frontend/lowering/builtins/crypto.d.ts +22 -0
  409. package/dist/frontend/lowering/builtins/crypto.js +517 -0
  410. package/dist/frontend/lowering/builtins/crypto.js.map +1 -0
  411. package/dist/frontend/lowering/builtins/dates.d.ts +7 -0
  412. package/dist/frontend/lowering/builtins/dates.js +101 -0
  413. package/dist/frontend/lowering/builtins/dates.js.map +1 -0
  414. package/dist/frontend/lowering/builtins/environment.d.ts +34 -0
  415. package/dist/frontend/lowering/builtins/environment.js +95 -0
  416. package/dist/frontend/lowering/builtins/environment.js.map +1 -0
  417. package/dist/frontend/lowering/builtins/errors.d.ts +14 -0
  418. package/dist/frontend/lowering/builtins/errors.js +83 -0
  419. package/dist/frontend/lowering/builtins/errors.js.map +1 -0
  420. package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +32 -0
  421. package/dist/frontend/lowering/builtins/filesystem-calls.js +678 -0
  422. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -0
  423. package/dist/frontend/lowering/builtins/filesystem.d.ts +108 -0
  424. package/dist/frontend/lowering/builtins/filesystem.js +1061 -0
  425. package/dist/frontend/lowering/builtins/filesystem.js.map +1 -0
  426. package/dist/frontend/lowering/builtins/ipc.d.ts +8 -0
  427. package/dist/frontend/lowering/builtins/ipc.js +76 -0
  428. package/dist/frontend/lowering/builtins/ipc.js.map +1 -0
  429. package/dist/frontend/lowering/builtins/json.d.ts +12 -0
  430. package/dist/frontend/lowering/builtins/json.js +387 -0
  431. package/dist/frontend/lowering/builtins/json.js.map +1 -0
  432. package/dist/frontend/lowering/builtins/module-bindings.d.ts +85 -0
  433. package/dist/frontend/lowering/builtins/module-bindings.js +346 -0
  434. package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -0
  435. package/dist/frontend/lowering/builtins/module-calls.d.ts +8 -0
  436. package/dist/frontend/lowering/builtins/module-calls.js +303 -0
  437. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -0
  438. package/dist/frontend/lowering/builtins/module-resolution.d.ts +38 -0
  439. package/dist/frontend/lowering/builtins/module-resolution.js +344 -0
  440. package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -0
  441. package/dist/frontend/lowering/builtins/numbers.d.ts +15 -0
  442. package/dist/frontend/lowering/builtins/numbers.js +124 -0
  443. package/dist/frontend/lowering/builtins/numbers.js.map +1 -0
  444. package/dist/frontend/lowering/builtins/operating-system.d.ts +13 -0
  445. package/dist/frontend/lowering/builtins/operating-system.js +148 -0
  446. package/dist/frontend/lowering/builtins/operating-system.js.map +1 -0
  447. package/dist/frontend/lowering/builtins/performance.d.ts +13 -0
  448. package/dist/frontend/lowering/builtins/performance.js +100 -0
  449. package/dist/frontend/lowering/builtins/performance.js.map +1 -0
  450. package/dist/frontend/lowering/builtins/process.d.ts +50 -0
  451. package/dist/frontend/lowering/builtins/process.js +1138 -0
  452. package/dist/frontend/lowering/builtins/process.js.map +1 -0
  453. package/dist/frontend/lowering/builtins/promises.d.ts +14 -0
  454. package/dist/frontend/lowering/builtins/promises.js +356 -0
  455. package/dist/frontend/lowering/builtins/promises.js.map +1 -0
  456. package/dist/frontend/lowering/builtins/properties.d.ts +11 -0
  457. package/dist/frontend/lowering/builtins/properties.js +186 -0
  458. package/dist/frontend/lowering/builtins/properties.js.map +1 -0
  459. package/dist/frontend/lowering/builtins/querystring.d.ts +19 -0
  460. package/dist/frontend/lowering/builtins/querystring.js +150 -0
  461. package/dist/frontend/lowering/builtins/querystring.js.map +1 -0
  462. package/dist/frontend/lowering/builtins/readline.d.ts +13 -0
  463. package/dist/frontend/lowering/builtins/readline.js +138 -0
  464. package/dist/frontend/lowering/builtins/readline.js.map +1 -0
  465. package/dist/frontend/lowering/builtins/receiver-types.d.ts +5 -0
  466. package/dist/frontend/lowering/builtins/receiver-types.js +15 -0
  467. package/dist/frontend/lowering/builtins/receiver-types.js.map +1 -0
  468. package/dist/frontend/lowering/builtins/reflection.d.ts +13 -0
  469. package/dist/frontend/lowering/builtins/reflection.js +95 -0
  470. package/dist/frontend/lowering/builtins/reflection.js.map +1 -0
  471. package/dist/frontend/lowering/builtins/strings.d.ts +14 -0
  472. package/dist/frontend/lowering/builtins/strings.js +121 -0
  473. package/dist/frontend/lowering/builtins/strings.js.map +1 -0
  474. package/dist/frontend/lowering/builtins/text-codecs.d.ts +29 -0
  475. package/dist/frontend/lowering/builtins/text-codecs.js +590 -0
  476. package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -0
  477. package/dist/frontend/lowering/builtins/timers.d.ts +22 -0
  478. package/dist/frontend/lowering/builtins/timers.js +180 -0
  479. package/dist/frontend/lowering/builtins/timers.js.map +1 -0
  480. package/dist/frontend/lowering/builtins/url.d.ts +37 -0
  481. package/dist/frontend/lowering/builtins/url.js +596 -0
  482. package/dist/frontend/lowering/builtins/url.js.map +1 -0
  483. package/dist/frontend/lowering/builtins/util-types.d.ts +7 -0
  484. package/dist/frontend/lowering/builtins/util-types.js +31 -0
  485. package/dist/frontend/lowering/builtins/util-types.js.map +1 -0
  486. package/dist/frontend/lowering/call-arguments.d.ts +72 -0
  487. package/dist/frontend/lowering/call-arguments.js +618 -0
  488. package/dist/frontend/lowering/call-arguments.js.map +1 -0
  489. package/dist/frontend/lowering/call-signatures.d.ts +115 -0
  490. package/dist/frontend/lowering/call-signatures.js +719 -0
  491. package/dist/frontend/lowering/call-signatures.js.map +1 -0
  492. package/dist/frontend/lowering/callback-arg.js.map +1 -1
  493. package/dist/frontend/lowering/checked-iterable-spread.js +53 -10
  494. package/dist/frontend/lowering/checked-iterable-spread.js.map +1 -1
  495. package/dist/frontend/lowering/checked-promise-all.js +41 -9
  496. package/dist/frontend/lowering/checked-promise-all.js.map +1 -1
  497. package/dist/frontend/lowering/class-callbacks.d.ts +1 -1
  498. package/dist/frontend/lowering/class-callbacks.js +130 -27
  499. package/dist/frontend/lowering/class-callbacks.js.map +1 -1
  500. package/dist/frontend/lowering/class-construction.d.ts +1 -1
  501. package/dist/frontend/lowering/class-construction.js +247 -50
  502. package/dist/frontend/lowering/class-construction.js.map +1 -1
  503. package/dist/frontend/lowering/class-descriptors.js +109 -29
  504. package/dist/frontend/lowering/class-descriptors.js.map +1 -1
  505. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +6 -1
  506. package/dist/frontend/lowering/class-dynamic-dispatch.js +2471 -465
  507. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  508. package/dist/frontend/lowering/class-dynamic-dispatch.test.js +284 -44
  509. package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
  510. package/dist/frontend/lowering/class-instance-constructor.js +17 -5
  511. package/dist/frontend/lowering/class-instance-constructor.js.map +1 -1
  512. package/dist/frontend/lowering/class-method-values.js +199 -51
  513. package/dist/frontend/lowering/class-method-values.js.map +1 -1
  514. package/dist/frontend/lowering/class-prototypes.js +345 -86
  515. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  516. package/dist/frontend/lowering/class-runtime-statics.d.ts +1 -1
  517. package/dist/frontend/lowering/class-runtime-statics.js +80 -17
  518. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
  519. package/dist/frontend/lowering/class-static-data.js +76 -16
  520. package/dist/frontend/lowering/class-static-data.js.map +1 -1
  521. package/dist/frontend/lowering/coercions/builders.d.ts +13 -0
  522. package/dist/frontend/lowering/coercions/builders.js +77 -0
  523. package/dist/frontend/lowering/coercions/builders.js.map +1 -0
  524. package/dist/frontend/lowering/coercions/function-adapters.d.ts +58 -0
  525. package/dist/frontend/lowering/coercions/function-adapters.js +430 -0
  526. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -0
  527. package/dist/frontend/lowering/coercions/island.d.ts +37 -0
  528. package/dist/frontend/lowering/coercions/island.js +350 -0
  529. package/dist/frontend/lowering/coercions/island.js.map +1 -0
  530. package/dist/frontend/lowering/coercions/state.d.ts +14 -0
  531. package/dist/frontend/lowering/coercions/state.js +16 -0
  532. package/dist/frontend/lowering/coercions/state.js.map +1 -0
  533. package/dist/frontend/lowering/coercions/structural-plans.d.ts +40 -0
  534. package/dist/frontend/lowering/coercions/structural-plans.js +447 -0
  535. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -0
  536. package/dist/frontend/lowering/coercions/structural.d.ts +63 -0
  537. package/dist/frontend/lowering/coercions/structural.js +616 -0
  538. package/dist/frontend/lowering/coercions/structural.js.map +1 -0
  539. package/dist/frontend/lowering/coercions/unions.d.ts +65 -0
  540. package/dist/frontend/lowering/coercions/unions.js +318 -0
  541. package/dist/frontend/lowering/coercions/unions.js.map +1 -0
  542. package/dist/frontend/lowering/collection-ingestion.js +355 -72
  543. package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
  544. package/dist/frontend/lowering/containers/array-callbacks.d.ts +92 -0
  545. package/dist/frontend/lowering/containers/array-callbacks.js +1646 -0
  546. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -0
  547. package/dist/frontend/lowering/containers/array-construction.d.ts +42 -0
  548. package/dist/frontend/lowering/containers/array-construction.js +1044 -0
  549. package/dist/frontend/lowering/containers/array-construction.js.map +1 -0
  550. package/dist/frontend/lowering/containers/array-iteration.d.ts +16 -0
  551. package/dist/frontend/lowering/containers/array-iteration.js +95 -0
  552. package/dist/frontend/lowering/containers/array-iteration.js.map +1 -0
  553. package/dist/frontend/lowering/containers/array-methods.d.ts +27 -0
  554. package/dist/frontend/lowering/containers/array-methods.js +1854 -0
  555. package/dist/frontend/lowering/containers/array-methods.js.map +1 -0
  556. package/dist/frontend/lowering/containers/bytes.d.ts +17 -17
  557. package/dist/frontend/lowering/containers/bytes.js +419 -105
  558. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  559. package/dist/frontend/lowering/containers/callback-arguments.d.ts +26 -0
  560. package/dist/frontend/lowering/containers/callback-arguments.js +179 -0
  561. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -0
  562. package/dist/frontend/lowering/containers/collection-grouping.d.ts +19 -0
  563. package/dist/frontend/lowering/containers/collection-grouping.js +297 -0
  564. package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -0
  565. package/dist/frontend/lowering/containers/collection-methods.d.ts +57 -0
  566. package/dist/frontend/lowering/containers/collection-methods.js +1314 -0
  567. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -0
  568. package/dist/frontend/lowering/containers/dynamic-receivers.d.ts +18 -0
  569. package/dist/frontend/lowering/containers/dynamic-receivers.js +114 -0
  570. package/dist/frontend/lowering/containers/dynamic-receivers.js.map +1 -0
  571. package/dist/frontend/lowering/containers/for-of.d.ts +60 -0
  572. package/dist/frontend/lowering/containers/for-of.js +643 -0
  573. package/dist/frontend/lowering/containers/for-of.js.map +1 -0
  574. package/dist/frontend/lowering/containers/indexed-objects.d.ts +132 -0
  575. package/dist/frontend/lowering/containers/indexed-objects.js +1743 -0
  576. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -0
  577. package/dist/frontend/lowering/containers/iterator-helpers.d.ts +20 -0
  578. package/dist/frontend/lowering/containers/iterator-helpers.js +809 -0
  579. package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -0
  580. package/dist/frontend/lowering/containers/string-and-regexp.js +580 -158
  581. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  582. package/dist/frontend/lowering/containers/string-replacement.js +213 -63
  583. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
  584. package/dist/frontend/lowering/crypto-tables.js +263 -64
  585. package/dist/frontend/lowering/crypto-tables.js.map +1 -1
  586. package/dist/frontend/lowering/deferred-module-initializers.js +172 -68
  587. package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
  588. package/dist/frontend/lowering/deferred-module-initializers.test.js +41 -8
  589. package/dist/frontend/lowering/deferred-module-initializers.test.js.map +1 -1
  590. package/dist/frontend/lowering/error-methods.js +339 -65
  591. package/dist/frontend/lowering/error-methods.js.map +1 -1
  592. package/dist/frontend/lowering/expressions/evaluation-safety.js +3 -2
  593. package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
  594. package/dist/frontend/lowering/expressions/global-symbols.js +2 -1
  595. package/dist/frontend/lowering/expressions/global-symbols.js.map +1 -1
  596. package/dist/frontend/lowering/expressions/native-proxy.js +11 -5
  597. package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
  598. package/dist/frontend/lowering/expressions/nullish-assignment.js +67 -13
  599. package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
  600. package/dist/frontend/lowering/expressions/object-literals.js +589 -162
  601. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  602. package/dist/frontend/lowering/expressions/optional-chains.d.ts +1 -1
  603. package/dist/frontend/lowering/expressions/optional-chains.js +68 -17
  604. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  605. package/dist/frontend/lowering/expressions/union-field-write.js +45 -18
  606. package/dist/frontend/lowering/expressions/union-field-write.js.map +1 -1
  607. package/dist/frontend/lowering/function-context.js +5 -1
  608. package/dist/frontend/lowering/function-context.js.map +1 -1
  609. package/dist/frontend/lowering/function-returns.d.ts +67 -0
  610. package/dist/frontend/lowering/function-returns.js +392 -0
  611. package/dist/frontend/lowering/function-returns.js.map +1 -0
  612. package/dist/frontend/lowering/generator-delegation.d.ts +1 -1
  613. package/dist/frontend/lowering/generator-delegation.js +171 -39
  614. package/dist/frontend/lowering/generator-delegation.js.map +1 -1
  615. package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +1 -1
  616. package/dist/frontend/lowering/generator-dynamic-dispatch.js +176 -36
  617. package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
  618. package/dist/frontend/lowering/generic-functions.d.ts +274 -0
  619. package/dist/frontend/lowering/generic-functions.js +1727 -0
  620. package/dist/frontend/lowering/generic-functions.js.map +1 -0
  621. package/dist/frontend/lowering/import-meta.d.ts +1 -1
  622. package/dist/frontend/lowering/import-meta.js +37 -14
  623. package/dist/frontend/lowering/import-meta.js.map +1 -1
  624. package/dist/frontend/lowering/indexed-comparison.js +6 -2
  625. package/dist/frontend/lowering/indexed-comparison.js.map +1 -1
  626. package/dist/frontend/lowering/iterator-consumption.d.ts +9 -0
  627. package/dist/frontend/lowering/iterator-consumption.js +91 -0
  628. package/dist/frontend/lowering/iterator-consumption.js.map +1 -0
  629. package/dist/frontend/lowering/lib-boundary.js +40 -17
  630. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  631. package/dist/frontend/lowering/lib-boundary.test.js +49 -11
  632. package/dist/frontend/lowering/lib-boundary.test.js.map +1 -1
  633. package/dist/frontend/lowering/lower-array-sort.d.ts +0 -19
  634. package/dist/frontend/lowering/lower-array-sort.js +331 -566
  635. package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
  636. package/dist/frontend/lowering/lower-assert.js +248 -43
  637. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  638. package/dist/frontend/lowering/lower-async-iteration.js +71 -16
  639. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  640. package/dist/frontend/lowering/lower-builtin-values.js +420 -71
  641. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  642. package/dist/frontend/lowering/lower-calls.d.ts +39 -558
  643. package/dist/frontend/lowering/lower-calls.js +2593 -5667
  644. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  645. package/dist/frontend/lowering/lower-classes.d.ts +243 -242
  646. package/dist/frontend/lowering/lower-classes.js +1701 -724
  647. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  648. package/dist/frontend/lowering/lower-comptime.d.ts +35 -35
  649. package/dist/frontend/lowering/lower-comptime.js +39 -37
  650. package/dist/frontend/lowering/lower-comptime.js.map +1 -1
  651. package/dist/frontend/lowering/lower-dgram.js +59 -31
  652. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  653. package/dist/frontend/lowering/lower-enums.js +5 -2
  654. package/dist/frontend/lowering/lower-enums.js.map +1 -1
  655. package/dist/frontend/lowering/lower-event-emitter.js +322 -85
  656. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  657. package/dist/frontend/lowering/lower-expando.js +19 -7
  658. package/dist/frontend/lowering/lower-expando.js.map +1 -1
  659. package/dist/frontend/lowering/lower-exprs.d.ts +194 -194
  660. package/dist/frontend/lowering/lower-exprs.js +3446 -1154
  661. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  662. package/dist/frontend/lowering/lower-functions.d.ts +23 -0
  663. package/dist/frontend/lowering/lower-functions.js +449 -0
  664. package/dist/frontend/lowering/lower-functions.js.map +1 -0
  665. package/dist/frontend/lowering/lower-generators.js +121 -32
  666. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  667. package/dist/frontend/lowering/lower-global-value.js +15 -4
  668. package/dist/frontend/lowering/lower-global-value.js.map +1 -1
  669. package/dist/frontend/lowering/lower-inspect.js +479 -89
  670. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  671. package/dist/frontend/lowering/lower-island.d.ts +79 -79
  672. package/dist/frontend/lowering/lower-island.js +365 -273
  673. package/dist/frontend/lowering/lower-island.js.map +1 -1
  674. package/dist/frontend/lowering/lower-island.test.js +7 -2
  675. package/dist/frontend/lowering/lower-island.test.js.map +1 -1
  676. package/dist/frontend/lowering/lower-mixins.js +17 -8
  677. package/dist/frontend/lowering/lower-mixins.js.map +1 -1
  678. package/dist/frontend/lowering/lower-modules.d.ts +94 -94
  679. package/dist/frontend/lowering/lower-modules.js +612 -321
  680. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  681. package/dist/frontend/lowering/lower-modules.test.js +91 -20
  682. package/dist/frontend/lowering/lower-modules.test.js.map +1 -1
  683. package/dist/frontend/lowering/lower-namespaces.js +25 -8
  684. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  685. package/dist/frontend/lowering/lower-node-module.js +115 -34
  686. package/dist/frontend/lowering/lower-node-module.js.map +1 -1
  687. package/dist/frontend/lowering/lower-server.js +1210 -290
  688. package/dist/frontend/lowering/lower-server.js.map +1 -1
  689. package/dist/frontend/lowering/lower-stmts.d.ts +148 -148
  690. package/dist/frontend/lowering/lower-stmts.js +2312 -984
  691. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  692. package/dist/frontend/lowering/lower-stmts.test.js +13 -5
  693. package/dist/frontend/lowering/lower-stmts.test.js.map +1 -1
  694. package/dist/frontend/lowering/lower-stream.js +362 -90
  695. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  696. package/dist/frontend/lowering/lower-system-errors.js +30 -8
  697. package/dist/frontend/lowering/lower-system-errors.js.map +1 -1
  698. package/dist/frontend/lowering/lower-test.js +40 -13
  699. package/dist/frontend/lowering/lower-test.js.map +1 -1
  700. package/dist/frontend/lowering/lower-timers.d.ts +31 -0
  701. package/dist/frontend/lowering/lower-timers.js +336 -0
  702. package/dist/frontend/lowering/lower-timers.js.map +1 -0
  703. package/dist/frontend/lowering/lower-url.d.ts +1 -1
  704. package/dist/frontend/lowering/lower-url.js +46 -13
  705. package/dist/frontend/lowering/lower-url.js.map +1 -1
  706. package/dist/frontend/lowering/lowerer.d.ts +21 -351
  707. package/dist/frontend/lowering/lowerer.js +1024 -2704
  708. package/dist/frontend/lowering/lowerer.js.map +1 -1
  709. package/dist/frontend/lowering/lowerer.test.js +85 -17
  710. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  711. package/dist/frontend/lowering/module-namespace-elements.js +43 -8
  712. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
  713. package/dist/frontend/lowering/native-ffi.d.ts +21 -1
  714. package/dist/frontend/lowering/native-ffi.js +487 -18
  715. package/dist/frontend/lowering/native-ffi.js.map +1 -1
  716. package/dist/frontend/lowering/object-enumeration-receiver.js +55 -10
  717. package/dist/frontend/lowering/object-enumeration-receiver.js.map +1 -1
  718. package/dist/frontend/lowering/object-factory-new.d.ts +1 -1
  719. package/dist/frontend/lowering/object-factory-new.js +36 -11
  720. package/dist/frontend/lowering/object-factory-new.js.map +1 -1
  721. package/dist/frontend/lowering/optional-arguments.js +49 -20
  722. package/dist/frontend/lowering/optional-arguments.js.map +1 -1
  723. package/dist/frontend/lowering/pairs-snapshot.js +66 -14
  724. package/dist/frontend/lowering/pairs-snapshot.js.map +1 -1
  725. package/dist/frontend/lowering/runtime-optional-locals.js +3 -1
  726. package/dist/frontend/lowering/runtime-optional-locals.js.map +1 -1
  727. package/dist/frontend/lowering/runtime-optional-locals.test.js.map +1 -1
  728. package/dist/frontend/lowering/sanitize-class-types.js +4 -1
  729. package/dist/frontend/lowering/sanitize-class-types.js.map +1 -1
  730. package/dist/frontend/lowering/sanitize-class-types.test.js +86 -18
  731. package/dist/frontend/lowering/sanitize-class-types.test.js.map +1 -1
  732. package/dist/frontend/lowering/static-this.js +13 -6
  733. package/dist/frontend/lowering/static-this.js.map +1 -1
  734. package/dist/frontend/lowering/string-index.js +32 -10
  735. package/dist/frontend/lowering/string-index.js.map +1 -1
  736. package/dist/frontend/lowering/surfaces.d.ts +42 -42
  737. package/dist/frontend/lowering/surfaces.js +1094 -249
  738. package/dist/frontend/lowering/surfaces.js.map +1 -1
  739. package/dist/frontend/lowering/symbol-fields.js +40 -15
  740. package/dist/frontend/lowering/symbol-fields.js.map +1 -1
  741. package/dist/frontend/lowering/symbol-methods.js.map +1 -1
  742. package/dist/frontend/lowering/text-decoder-encoding.js +236 -24
  743. package/dist/frontend/lowering/text-decoder-encoding.js.map +1 -1
  744. package/dist/frontend/lowering/text-decoder-encoding.test.js +84 -12
  745. package/dist/frontend/lowering/text-decoder-encoding.test.js.map +1 -1
  746. package/dist/frontend/lowering/union-narrow.js +59 -16
  747. package/dist/frontend/lowering/union-narrow.js.map +1 -1
  748. package/dist/frontend/lowering/union-narrow.test.js +24 -7
  749. package/dist/frontend/lowering/union-narrow.test.js.map +1 -1
  750. package/dist/frontend/lowering/union-retag.js +155 -40
  751. package/dist/frontend/lowering/union-retag.js.map +1 -1
  752. package/dist/frontend/lowering/union-retag.test.js +131 -33
  753. package/dist/frontend/lowering/union-retag.test.js.map +1 -1
  754. package/dist/frontend/lowering/unregistered-class-types.js.map +1 -1
  755. package/dist/frontend/lowering/unregistered-class-types.test.js +34 -8
  756. package/dist/frontend/lowering/unregistered-class-types.test.js.map +1 -1
  757. package/dist/frontend/module-syntax.js +21 -8
  758. package/dist/frontend/module-syntax.js.map +1 -1
  759. package/dist/frontend/module-syntax.test.js +37 -13
  760. package/dist/frontend/module-syntax.test.js.map +1 -1
  761. package/dist/frontend/npm-fetch-analysis.js +13 -4
  762. package/dist/frontend/npm-fetch-analysis.js.map +1 -1
  763. package/dist/frontend/npm-fetch-analysis.test.js +33 -10
  764. package/dist/frontend/npm-fetch-analysis.test.js.map +1 -1
  765. package/dist/frontend/npm-fetch-node.js.map +1 -1
  766. package/dist/frontend/npm-fetch-syntax.js +4 -9
  767. package/dist/frontend/npm-fetch-syntax.js.map +1 -1
  768. package/dist/frontend/npm-node.js +3 -1
  769. package/dist/frontend/npm-node.js.map +1 -1
  770. package/dist/frontend/npm-static-bundled-cjs.js +88 -29
  771. package/dist/frontend/npm-static-bundled-cjs.js.map +1 -1
  772. package/dist/frontend/npm-static-bundled-cjs.test.js +29 -10
  773. package/dist/frontend/npm-static-bundled-cjs.test.js.map +1 -1
  774. package/dist/frontend/npm-static-declaration-syntax.js +148 -56
  775. package/dist/frontend/npm-static-declaration-syntax.js.map +1 -1
  776. package/dist/frontend/npm-static-declarations.d.ts +1 -1
  777. package/dist/frontend/npm-static-declarations.js.map +1 -1
  778. package/dist/frontend/npm-static-declarations.test.js +33 -7
  779. package/dist/frontend/npm-static-declarations.test.js.map +1 -1
  780. package/dist/frontend/npm-static-prune.js +26 -12
  781. package/dist/frontend/npm-static-prune.js.map +1 -1
  782. package/dist/frontend/npm-static-prune.test.js +17 -3
  783. package/dist/frontend/npm-static-prune.test.js.map +1 -1
  784. package/dist/frontend/npm-static-rewrite-host.js +2 -3
  785. package/dist/frontend/npm-static-rewrite-host.js.map +1 -1
  786. package/dist/frontend/npm-static-rewrite-syntax.js +64 -21
  787. package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
  788. package/dist/frontend/npm-static-rewrite.js.map +1 -1
  789. package/dist/frontend/npm-static-subtyping.js +9 -4
  790. package/dist/frontend/npm-static-subtyping.js.map +1 -1
  791. package/dist/frontend/npm-static-subtyping.test.js +30 -6
  792. package/dist/frontend/npm-static-subtyping.test.js.map +1 -1
  793. package/dist/frontend/npm-static.js +15 -4
  794. package/dist/frontend/npm-static.js.map +1 -1
  795. package/dist/frontend/npm.js +122 -36
  796. package/dist/frontend/npm.js.map +1 -1
  797. package/dist/frontend/npm.test.js +30 -10
  798. package/dist/frontend/npm.test.js.map +1 -1
  799. package/dist/frontend/pipeline-native.js.map +1 -1
  800. package/dist/frontend/pipeline.js +25 -8
  801. package/dist/frontend/pipeline.js.map +1 -1
  802. package/dist/frontend/pipeline.test.js +21 -7
  803. package/dist/frontend/pipeline.test.js.map +1 -1
  804. package/dist/frontend/program-node.js +5 -3
  805. package/dist/frontend/program-node.js.map +1 -1
  806. package/dist/frontend/program.d.ts +2 -2
  807. package/dist/frontend/program.js +234 -101
  808. package/dist/frontend/program.js.map +1 -1
  809. package/dist/frontend/program.test.js +27 -27
  810. package/dist/frontend/program.test.js.map +1 -1
  811. package/dist/frontend/provenance-core.js +8 -4
  812. package/dist/frontend/provenance-core.js.map +1 -1
  813. package/dist/frontend/provenance-registry.js +1 -4
  814. package/dist/frontend/provenance-registry.js.map +1 -1
  815. package/dist/frontend/resolve.js +32 -20
  816. package/dist/frontend/resolve.js.map +1 -1
  817. package/dist/frontend/resolve.test.js +1 -1
  818. package/dist/frontend/resolve.test.js.map +1 -1
  819. package/dist/frontend/runtime-resolve.js +13 -4
  820. package/dist/frontend/runtime-resolve.js.map +1 -1
  821. package/dist/frontend/runtime-resolve.test.js +25 -9
  822. package/dist/frontend/runtime-resolve.test.js.map +1 -1
  823. package/dist/frontend/services-node.js +6 -2
  824. package/dist/frontend/services-node.js.map +1 -1
  825. package/dist/frontend/services-node.test.js +18 -6
  826. package/dist/frontend/services-node.test.js.map +1 -1
  827. package/dist/frontend/services.js +8 -4
  828. package/dist/frontend/services.js.map +1 -1
  829. package/dist/frontend/services.test.js +6 -2
  830. package/dist/frontend/services.test.js.map +1 -1
  831. package/dist/frontend/ts7/api.js +12 -4
  832. package/dist/frontend/ts7/api.js.map +1 -1
  833. package/dist/frontend/ts7/ast-bytes.js +10 -3
  834. package/dist/frontend/ts7/ast-bytes.js.map +1 -1
  835. package/dist/frontend/ts7/ast-bytes.test.js +23 -4
  836. package/dist/frontend/ts7/ast-bytes.test.js.map +1 -1
  837. package/dist/frontend/ts7/ast-guards.test.js +14 -5
  838. package/dist/frontend/ts7/ast-guards.test.js.map +1 -1
  839. package/dist/frontend/ts7/ast-node.d.ts +6 -1
  840. package/dist/frontend/ts7/ast-node.js +484 -164
  841. package/dist/frontend/ts7/ast-node.js.map +1 -1
  842. package/dist/frontend/ts7/ast-node.test.js +109 -36
  843. package/dist/frontend/ts7/ast-node.test.js.map +1 -1
  844. package/dist/frontend/ts7/ast-text.js +13 -3
  845. package/dist/frontend/ts7/ast-text.js.map +1 -1
  846. package/dist/frontend/ts7/ast-text.test.js.map +1 -1
  847. package/dist/frontend/ts7/ast-types.js.map +1 -1
  848. package/dist/frontend/ts7/ast-wire.d.ts +1 -1
  849. package/dist/frontend/ts7/ast-wire.js +55 -20
  850. package/dist/frontend/ts7/ast-wire.js.map +1 -1
  851. package/dist/frontend/ts7/ast-wire.test.js +53 -8
  852. package/dist/frontend/ts7/ast-wire.test.js.map +1 -1
  853. package/dist/frontend/ts7/ast.js +47 -28
  854. package/dist/frontend/ts7/ast.js.map +1 -1
  855. package/dist/frontend/ts7/census-check.js +1 -1
  856. package/dist/frontend/ts7/census-check.js.map +1 -1
  857. package/dist/frontend/ts7/checker-cache.js.map +1 -1
  858. package/dist/frontend/ts7/checker.js +5 -3
  859. package/dist/frontend/ts7/checker.js.map +1 -1
  860. package/dist/frontend/ts7/checker.test.js +54 -17
  861. package/dist/frontend/ts7/checker.test.js.map +1 -1
  862. package/dist/frontend/ts7/enums.test.js +9 -4
  863. package/dist/frontend/ts7/enums.test.js.map +1 -1
  864. package/dist/frontend/ts7/native-api.js.map +1 -1
  865. package/dist/frontend/ts7/native-host.js.map +1 -1
  866. package/dist/frontend/ts7/native-process.js +9 -3
  867. package/dist/frontend/ts7/native-process.js.map +1 -1
  868. package/dist/frontend/ts7/program-adapter.js +1 -1
  869. package/dist/frontend/ts7/program-adapter.js.map +1 -1
  870. package/dist/frontend/ts7/program-host.js +7 -4
  871. package/dist/frontend/ts7/program-host.js.map +1 -1
  872. package/dist/frontend/ts7/program-host.test.js +43 -11
  873. package/dist/frontend/ts7/program-host.test.js.map +1 -1
  874. package/dist/frontend/ts7/rpc-api.js +3 -1
  875. package/dist/frontend/ts7/rpc-api.js.map +1 -1
  876. package/dist/frontend/ts7/rpc-client.js +15 -5
  877. package/dist/frontend/ts7/rpc-client.js.map +1 -1
  878. package/dist/frontend/ts7/rpc-client.test.js +26 -8
  879. package/dist/frontend/ts7/rpc-client.test.js.map +1 -1
  880. package/dist/frontend/ts7/rpc-filesystem.js.map +1 -1
  881. package/dist/frontend/ts7/rpc-filesystem.test.js +43 -10
  882. package/dist/frontend/ts7/rpc-filesystem.test.js.map +1 -1
  883. package/dist/frontend/ts7/rpc-process.js +16 -6
  884. package/dist/frontend/ts7/rpc-process.js.map +1 -1
  885. package/dist/frontend/ts7/rpc-process.test.js.map +1 -1
  886. package/dist/frontend/ts7/rpc-wire.d.ts +1 -0
  887. package/dist/frontend/ts7/rpc-wire.js +41 -14
  888. package/dist/frontend/ts7/rpc-wire.js.map +1 -1
  889. package/dist/frontend/ts7/rpc-wire.test.js +36 -6
  890. package/dist/frontend/ts7/rpc-wire.test.js.map +1 -1
  891. package/dist/frontend/ts7/semantic-checker.js +209 -68
  892. package/dist/frontend/ts7/semantic-checker.js.map +1 -1
  893. package/dist/frontend/ts7/semantic-checker.test.js +29 -14
  894. package/dist/frontend/ts7/semantic-checker.test.js.map +1 -1
  895. package/dist/frontend/ts7/semantic-json.js +7 -1
  896. package/dist/frontend/ts7/semantic-json.js.map +1 -1
  897. package/dist/frontend/ts7/semantic-json.test.js +17 -3
  898. package/dist/frontend/ts7/semantic-json.test.js.map +1 -1
  899. package/dist/frontend/ts7/semantic-model.js +147 -51
  900. package/dist/frontend/ts7/semantic-model.js.map +1 -1
  901. package/dist/frontend/ts7/semantic-model.test.js +72 -19
  902. package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
  903. package/dist/frontend/ts7/semantic-types.d.ts +2 -2
  904. package/dist/frontend/ts7/session-cache.js +10 -3
  905. package/dist/frontend/ts7/session-cache.js.map +1 -1
  906. package/dist/frontend/ts7/session-cache.test.js +13 -4
  907. package/dist/frontend/ts7/session-cache.test.js.map +1 -1
  908. package/dist/frontend/ts7/session-path.js +25 -10
  909. package/dist/frontend/ts7/session-path.js.map +1 -1
  910. package/dist/frontend/ts7/session-path.test.js +47 -4
  911. package/dist/frontend/ts7/session-path.test.js.map +1 -1
  912. package/dist/frontend/ts7/session-timing.js +22 -3
  913. package/dist/frontend/ts7/session-timing.js.map +1 -1
  914. package/dist/frontend/ts7/session-timing.test.js +12 -3
  915. package/dist/frontend/ts7/session-timing.test.js.map +1 -1
  916. package/dist/frontend/ts7/session.d.ts +1 -0
  917. package/dist/frontend/ts7/session.js +109 -35
  918. package/dist/frontend/ts7/session.js.map +1 -1
  919. package/dist/frontend/ts7/session.test.js +69 -15
  920. package/dist/frontend/ts7/session.test.js.map +1 -1
  921. package/dist/frontend/ts7/source-parser.js +17 -6
  922. package/dist/frontend/ts7/source-parser.js.map +1 -1
  923. package/dist/frontend/ts7/source-parser.test.js +32 -9
  924. package/dist/frontend/ts7/source-parser.test.js.map +1 -1
  925. package/dist/frontend/tsc-codes.js +56 -11
  926. package/dist/frontend/tsc-codes.js.map +1 -1
  927. package/dist/frontend/tsc-codes.test.d.ts +1 -0
  928. package/dist/frontend/tsc-codes.test.js +16 -0
  929. package/dist/frontend/tsc-codes.test.js.map +1 -0
  930. package/dist/frontend/type-mapper.js +545 -204
  931. package/dist/frontend/type-mapper.js.map +1 -1
  932. package/dist/frontend/type-mapper.test.js +108 -33
  933. package/dist/frontend/type-mapper.test.js.map +1 -1
  934. package/dist/frontend/union-discriminants.js +8 -2
  935. package/dist/frontend/union-discriminants.js.map +1 -1
  936. package/dist/frontend/union-discriminants.test.js +77 -20
  937. package/dist/frontend/union-discriminants.test.js.map +1 -1
  938. package/dist/index.d.ts +9 -8
  939. package/dist/index.js +150 -81
  940. package/dist/index.js.map +1 -1
  941. package/dist/ir/analysis.js +95 -38
  942. package/dist/ir/analysis.js.map +1 -1
  943. package/dist/ir/analysis.test.js +91 -15
  944. package/dist/ir/analysis.test.js.map +1 -1
  945. package/dist/ir/api.d.ts +4 -0
  946. package/dist/ir/api.js +6 -0
  947. package/dist/ir/api.js.map +1 -0
  948. package/dist/ir/build.d.ts +7 -0
  949. package/dist/ir/build.js +27 -1
  950. package/dist/ir/build.js.map +1 -1
  951. package/dist/ir/builtin-effects.d.ts +9 -0
  952. package/dist/ir/builtin-effects.js +631 -0
  953. package/dist/ir/builtin-effects.js.map +1 -0
  954. package/dist/ir/builtin-signatures.d.ts +15 -0
  955. package/dist/ir/builtin-signatures.js +3396 -0
  956. package/dist/ir/builtin-signatures.js.map +1 -0
  957. package/dist/ir/byte-numbers.js +67 -16
  958. package/dist/ir/byte-numbers.js.map +1 -1
  959. package/dist/ir/byte-numbers.test.js +17 -4
  960. package/dist/ir/byte-numbers.test.js.map +1 -1
  961. package/dist/ir/constant-tables.js +13 -5
  962. package/dist/ir/constant-tables.js.map +1 -1
  963. package/dist/ir/constant-tables.test.js +47 -7
  964. package/dist/ir/constant-tables.test.js.map +1 -1
  965. package/dist/ir/control-flow.js +2 -1
  966. package/dist/ir/control-flow.js.map +1 -1
  967. package/dist/ir/control-flow.test.js +35 -11
  968. package/dist/ir/control-flow.test.js.map +1 -1
  969. package/dist/ir/initializer-bindings.d.ts +9 -0
  970. package/dist/ir/initializer-bindings.js +115 -0
  971. package/dist/ir/initializer-bindings.js.map +1 -0
  972. package/dist/ir/initializer-bindings.test.d.ts +1 -0
  973. package/dist/ir/initializer-bindings.test.js +118 -0
  974. package/dist/ir/initializer-bindings.test.js.map +1 -0
  975. package/dist/ir/integer-loop-facts.d.ts +12 -0
  976. package/dist/ir/integer-loop-facts.js +137 -0
  977. package/dist/ir/integer-loop-facts.js.map +1 -0
  978. package/dist/ir/integer-loops.js +85 -30
  979. package/dist/ir/integer-loops.js.map +1 -1
  980. package/dist/ir/integer-loops.test.js +76 -13
  981. package/dist/ir/integer-loops.test.js.map +1 -1
  982. package/dist/ir/integer-ranges.js +93 -21
  983. package/dist/ir/integer-ranges.js.map +1 -1
  984. package/dist/ir/integer-ranges.test.js +199 -21
  985. package/dist/ir/integer-ranges.test.js.map +1 -1
  986. package/dist/ir/intrinsic-signatures.d.ts +20 -0
  987. package/dist/ir/intrinsic-signatures.js +57 -0
  988. package/dist/ir/intrinsic-signatures.js.map +1 -0
  989. package/dist/ir/ir.d.ts +6 -2150
  990. package/dist/ir/ir.js +160 -1396
  991. package/dist/ir/ir.js.map +1 -1
  992. package/dist/ir/ir.test.js +98 -77
  993. package/dist/ir/ir.test.js.map +1 -1
  994. package/dist/ir/runtime-features.d.ts +221 -0
  995. package/dist/ir/runtime-features.js +551 -0
  996. package/dist/ir/runtime-features.js.map +1 -0
  997. package/dist/ir/runtime-features.test.d.ts +1 -0
  998. package/dist/ir/runtime-features.test.js +98 -0
  999. package/dist/ir/runtime-features.test.js.map +1 -0
  1000. package/dist/ir/scalar-records.js +130 -40
  1001. package/dist/ir/scalar-records.js.map +1 -1
  1002. package/dist/ir/scalar-records.test.js +146 -27
  1003. package/dist/ir/scalar-records.test.js.map +1 -1
  1004. package/dist/ir/serialize.js +4 -2
  1005. package/dist/ir/serialize.js.map +1 -1
  1006. package/dist/ir/serialize.test.js +44 -9
  1007. package/dist/ir/serialize.test.js.map +1 -1
  1008. package/dist/ir/traverse.js +156 -43
  1009. package/dist/ir/traverse.js.map +1 -1
  1010. package/dist/ir/traverse.test.js +99 -24
  1011. package/dist/ir/traverse.test.js.map +1 -1
  1012. package/dist/ir/validate.d.ts +1 -31
  1013. package/dist/ir/validate.js +782 -1889
  1014. package/dist/ir/validate.js.map +1 -1
  1015. package/dist/ir/validate.test.js +610 -114
  1016. package/dist/ir/validate.test.js.map +1 -1
  1017. package/dist/library/cache-primitives.js +9 -10
  1018. package/dist/library/cache-primitives.js.map +1 -1
  1019. package/dist/library/cache-reset.test.js +2 -1
  1020. package/dist/library/cache-reset.test.js.map +1 -1
  1021. package/dist/library/compiler-self-identity.js +11 -5
  1022. package/dist/library/compiler-self-identity.js.map +1 -1
  1023. package/dist/library/compiler-self-identity.test.js +10 -3
  1024. package/dist/library/compiler-self-identity.test.js.map +1 -1
  1025. package/dist/library/fence-eval.js +24 -7
  1026. package/dist/library/fence-eval.js.map +1 -1
  1027. package/dist/library/fence-eval.test.js +31 -7
  1028. package/dist/library/fence-eval.test.js.map +1 -1
  1029. package/dist/library/int-infer.js +199 -59
  1030. package/dist/library/int-infer.js.map +1 -1
  1031. package/dist/library/int-infer.test.js +133 -57
  1032. package/dist/library/int-infer.test.js.map +1 -1
  1033. package/dist/library/ir-policy.d.ts +27 -0
  1034. package/dist/library/ir-policy.js +232 -0
  1035. package/dist/library/ir-policy.js.map +1 -0
  1036. package/dist/library/library-cache.js +40 -17
  1037. package/dist/library/library-cache.js.map +1 -1
  1038. package/dist/library/library-cache.test.js +24 -13
  1039. package/dist/library/library-cache.test.js.map +1 -1
  1040. package/dist/library/library-profile.js +68 -13
  1041. package/dist/library/library-profile.js.map +1 -1
  1042. package/dist/library/prepare.js +48 -20
  1043. package/dist/library/prepare.js.map +1 -1
  1044. package/dist/library/semantic-source.js +16 -14
  1045. package/dist/library/semantic-source.js.map +1 -1
  1046. package/dist/library/semantic-source.test.js +9 -14
  1047. package/dist/library/semantic-source.test.js.map +1 -1
  1048. package/dist/library/sidecar-validate.js +53 -12
  1049. package/dist/library/sidecar-validate.js.map +1 -1
  1050. package/dist/library/sidecar.js +85 -24
  1051. package/dist/library/sidecar.js.map +1 -1
  1052. package/dist/library/trap-teaching.js +11 -2
  1053. package/dist/library/trap-teaching.js.map +1 -1
  1054. package/dist/native/cache.js +10 -4
  1055. package/dist/native/cache.js.map +1 -1
  1056. package/dist/native/cli.js +34 -9
  1057. package/dist/native/cli.js.map +1 -1
  1058. package/dist/native/compiler.js +167 -43
  1059. package/dist/native/compiler.js.map +1 -1
  1060. package/dist/native/compiler.test.js +129 -32
  1061. package/dist/native/compiler.test.js.map +1 -1
  1062. package/dist/native/comptime.js +23 -7
  1063. package/dist/native/comptime.js.map +1 -1
  1064. package/dist/native/comptime.test.js +26 -6
  1065. package/dist/native/comptime.test.js.map +1 -1
  1066. package/dist/native/executable-cache.js +77 -27
  1067. package/dist/native/executable-cache.js.map +1 -1
  1068. package/dist/native/executable-cache.test.js +41 -6
  1069. package/dist/native/executable-cache.test.js.map +1 -1
  1070. package/dist/native/file-identity.js +9 -2
  1071. package/dist/native/file-identity.js.map +1 -1
  1072. package/dist/native/file-identity.test.js.map +1 -1
  1073. package/dist/native/library.js +50 -12
  1074. package/dist/native/library.js.map +1 -1
  1075. package/dist/native/prepare.js +119 -34
  1076. package/dist/native/prepare.js.map +1 -1
  1077. package/dist/native/prepare.test.js +22 -6
  1078. package/dist/native/prepare.test.js.map +1 -1
  1079. package/dist/native/runtime-typescript.js +24 -11
  1080. package/dist/native/runtime-typescript.js.map +1 -1
  1081. package/dist/native/runtime-typescript.test.js.map +1 -1
  1082. package/dist/native/sanitizer.js +71 -18
  1083. package/dist/native/sanitizer.js.map +1 -1
  1084. package/dist/native/sanitizer.test.js +77 -20
  1085. package/dist/native/sanitizer.test.js.map +1 -1
  1086. package/dist/native/task.js.map +1 -1
  1087. package/dist/native/task.test.js +7 -2
  1088. package/dist/native/task.test.js.map +1 -1
  1089. package/dist/native/toolchain.js +68 -26
  1090. package/dist/native/toolchain.js.map +1 -1
  1091. package/dist/native/toolchain.test.js +59 -20
  1092. package/dist/native/toolchain.test.js.map +1 -1
  1093. package/dist/startup-cache.d.ts +1 -1
  1094. package/dist/startup-cache.js +1 -1
  1095. package/dist/startup-cache.js.map +1 -1
  1096. package/dist/timing.js.map +1 -1
  1097. package/package.json +20 -20
  1098. package/surface-manifest.json +1 -1
  1099. package/dist/frontend/lowering/lower-builtins.d.ts +0 -601
  1100. package/dist/frontend/lowering/lower-builtins.js +0 -8986
  1101. package/dist/frontend/lowering/lower-builtins.js.map +0 -1
  1102. package/dist/frontend/lowering/lower-containers.d.ts +0 -382
  1103. package/dist/frontend/lowering/lower-containers.js +0 -7344
  1104. package/dist/frontend/lowering/lower-containers.js.map +0 -1
@@ -1,25 +1,28 @@
1
+ import type { FieldLift } from "./coercions/structural-plans.js";
2
+ import { CoercionState } from "./coercions/state.js";
1
3
  import { RuntimeOptionalLocals } from "./runtime-optional-locals.js";
2
4
  import type { WidthLift } from "./width-lift.js";
3
- export type { WidthLift } from "./width-lift.js";
4
5
  import { type FnCtx } from "./function-context.js";
5
- export { newFnCtx, type FnCtx } from "./function-context.js";
6
6
  import type { FrontendServices } from "../services.js";
7
7
  import { DeferredModuleInitializers } from "./deferred-module-initializers.js";
8
8
  import type { ClassSymbolKey } from "./symbol-fields.js";
9
9
  import type { HttpClientFnBinding } from "./lower-server.js";
10
+ export type { WidthLift } from "./width-lift.js";
11
+ export { newFnCtx, type FnCtx } from "./function-context.js";
10
12
  import * as ts from "../ts7/adapter.js";
11
13
  import { type UnionLiteral } from "../union-discriminants.js";
12
14
  import type { ScrDiagnostic } from "../../diagnostics/diagnostic.js";
13
15
  import { UNSUPPORTED } from "../../diagnostics/diagnostic.js";
14
16
  import type { IrClassDef, IrExpr, IrFfiImport, IrFunction, IrGlobal, IrLocal, IrModule, IrParam, IrRecordShape, IrStmt, IrType, IrUnionDef, SrcLoc } from "../../ir/ir.js";
15
- import { type DynamicImportResolution, type NpmBuiltinUse, type NpmLazyTrap } from "../npm.js";
17
+ import type { DynamicImportResolution, NpmBuiltinUse, NpmLazyTrap } from "../npm.js";
16
18
  import { type StartupCrash } from "../program.js";
17
19
  import { ShapeRegistry, type TypeMapperCtx, UnionRegistry } from "../type-mapper.js";
18
20
  import { type CompoundOp, type IslandFnEntry, type BuiltinModuleFn } from "./surfaces.js";
19
21
  import { type FileParts } from "./lower-modules.js";
20
22
  import { type ClassInfo, type ClassIteratorInfo, type GenericClassInfo, findStaticOn } from "./lower-classes.js";
21
23
  import { type MixinFnShape } from "./lower-mixins.js";
22
- import { type ParamShape, type FnSig, type GenericFnInfo, type GenericInstance } from "./lower-calls.js";
24
+ import { type ParamShape, type FnSig } from "./call-signatures.js";
25
+ import { type GenericFnInfo, type GenericInstance } from "./generic-functions.js";
23
26
  import { type ComputedEventPattern, type EmitSpecCtx, type EmitSpecRequest, type EventSig } from "./lower-event-emitter.js";
24
27
  import { type FieldTarget } from "./lower-exprs.js";
25
28
  import type { ExpandoMembers } from "./lower-expando.js";
@@ -278,21 +281,6 @@ export declare function uncheckedOverloadHandleCall(lowerer: Lowerer, expr: ts.E
278
281
  * `never` at the ROOT stays out (`for (const v of [])`'s loop var — the
279
282
  * dead read the f64 mapping is FOR). */
280
283
  export declare function neverTaintedJsType(lowerer: Lowerer, node: ts.Node, t: ts.Type): boolean;
281
- /** The dyn undefined value — what an uninitialized checked-dynamic
282
- * binding holds (JS: declared bindings read `undefined` before any
283
- * assignment). A NULL dyn slot is a trap, never a value, so every dyn
284
- * binding that is READABLE before its first assignment must start here:
285
- * `let x;` declarations, hoisted `var`s (function and module scope,
286
- * forward captures included), and the implicit-return completion
287
- * (lower-calls' own copy of this pattern predates the helper). */
288
- export declare function dynUndefinedExpr(loc: SrcLoc): IrExpr;
289
- /** An always-throwing Node-parity error expression (the error.nodeThrow
290
- * libCall — the lowered form of arms Node rejects unconditionally:
291
- * ERR_INVALID_THIS receivers, ERR_MISSING_ARGS arity ladders, the
292
- * symbol-to-string TypeError). kind 0 Error / 1 TypeError / 2 RangeError;
293
- * an empty code means no code slot. `type` is the replaced expression's
294
- * own (never materialized — the global.undefRead pattern). */
295
- export declare function nodeThrowExpr(kind: 0 | 1 | 2 | 5, code: string, message: string, type: IrType, loc: SrcLoc): IrExpr;
296
284
  /** The post-validation fence STRING a validation-ladder Chk libCall
297
285
  * throws after its Node-order checks pass: the same SC2020 text the
298
286
  * per-statement runtime fence would have thrown (message + "[code at
@@ -429,8 +417,8 @@ export declare class Lowerer {
429
417
  * the body needs — indexed accesses (`T[K]` needs K's literal key) and
430
418
  * keyed record reads (`o[k]` where k's type is a literal-bound K). */
431
419
  typeParamTsBindings: Map<ts.Symbol, ts.Type> | null;
432
- /** Non-null while an IMPLICIT-ANY instance body lowers (npm-static JS —
433
- * lower-calls' implicit-monomorphization section): bound param symbol →
420
+ /** Non-null while an IMPLICIT-ANY instance body lowers (npm-static JS;
421
+ * see generic-functions.ts): bound param symbol →
434
422
  * the call site's checker type, consulted by typeOf for identifier
435
423
  * references the checker still types `any`. The implicit twin of
436
424
  * typeParamBindings — the checker has no `T` to substitute, so the
@@ -569,31 +557,17 @@ export declare class Lowerer {
569
557
  readonly emitSpecDone: Set<string>;
570
558
  readonly emitSpecQueue: EmitSpecRequest[];
571
559
  emitSpecCtx: EmitSpecCtx | null;
572
- /** Width-coercion helpers (%rec.width.N / %arr.width.N), interned per
573
- * (from, to) shape pair — see widthCoerce. */
574
- readonly widthHelpers: Map<string, string>;
575
- /** (fromShape, toShape) pairs whose width plan is being computed — the
576
- * cycle guard for RECURSIVE shapes (a self-referential record narrowing
577
- * into a self-referential subset). Re-entering an in-progress pair
578
- * answers "assume coercible" (the greatest fixed point: every OTHER
579
- * constraint of the cycle is still checked by the outer call, and the
580
- * built helper terminates because recordWidthHelper interns its name
581
- * before building the body, so the recursive reference resolves to the
582
- * helper itself). */
583
- private readonly widthPlanning;
560
+ readonly coercions: CoercionState;
561
+ /** Generated value helpers, keyed by operation and type. Callers own
562
+ * their key prefixes; this includes more than structural conversions. */
563
+ readonly valueHelpers: Map<string, string>;
584
564
  /** Interned node:assert helpers (deep-equality comparisons keyed by
585
565
  * typeKey, throws wrappers keyed by callback type + expected class) —
586
- * the widthHelpers pattern with its own namespace. */
566
+ * the valueHelpers pattern with its own namespace. */
587
567
  readonly assertHelpers: Map<string, string>;
588
568
  /** util.inspect's per-type traversal helpers (%util.insp.N), interned
589
569
  * by typeKey — the assertHelpers pattern with its own namespace. */
590
570
  readonly inspectHelpers: Map<string, string>;
591
- /** Union re-tag helpers (%union.retag.N), interned per (from, to)
592
- * unionId pair — see unionRetagHelper. */
593
- readonly retagHelpers: Map<string, string>;
594
- /** Copy-only routes depend on the two union contracts and discriminator
595
- * layouts, without recursive width assumptions or evolving class members. */
596
- private readonly copyRetagHelpers;
597
571
  private readonly unionLiteralOwners;
598
572
  private readonly strippedUndefinedArms;
599
573
  private readonly addedUndefinedArms;
@@ -626,18 +600,10 @@ export declare class Lowerer {
626
600
  kind: "func";
627
601
  };
628
602
  }>;
629
- readonly narrowHelpers: Map<string, string>;
630
- /** Exact members of narrowHelpers produced by narrowedArmHelper. This
631
- * lets property consumers recognize an earlier checked extraction by
632
- * provenance instead of relying on its generated-name prefix. */
633
- private readonly checkedNarrowHelpers;
634
603
  /** Interned `%iter.drain.<n>` helpers (classIteratorDrainCall): one per
635
604
  * receiver class — the eager drain of a class iterable's protocol into
636
605
  * a fresh element array, behind array/call spreads. */
637
606
  readonly iterDrainHelpers: Map<string, string>;
638
- /** Island-lift builder helpers (%jsin.rec.N / %jsin.arr.N /
639
- * %jsin.elems.N), interned per source type — see jsvalLiftExpr. */
640
- readonly jsinHelpers: Map<string, string>;
641
607
  /** Synthetic Map.forEach loop functions, interned per key/value type +
642
608
  * callback arity: key → fn name (see lowerMapForEachCall). */
643
609
  readonly mapHofHelpers: Map<string, string>;
@@ -1324,118 +1290,19 @@ export declare class Lowerer {
1324
1290
  * else (including a DIFFERENT union) is left for requireExactShape, which
1325
1291
  * rejects union mismatches with SC2003. */
1326
1292
  coerceToExpected(expr: IrExpr, expected: IrType): IrExpr;
1327
- /** Copy-based structural WIDTH coercion — a `Full` record flowing into a
1328
- * narrower `{ id }` slot, or `Full[]` into `{ id }[]` (the Pick-typed
1329
- * display-table pattern): TS's width subtyping is free on erased types,
1330
- * but monomorphic structs must RESHAPE, so the value is rebuilt with the
1331
- * subset of fields copied — per element, via an interned helper, for
1332
- * arrays. A deliberate divergence from JS's aliasing (SEMANTICS.md 35,
1333
- * next to the marshal-copy stance): mutations through the narrowed value
1334
- * don't reach the original and vice versa. Exactly two flows coerce —
1335
- * record→record and record-array→record-array, each target field copied
1336
- * from a same-named source field whose type matches exactly or LIFTS
1337
- * into the target field's union (see recordWidthHelper); anything
1338
- * deeper keeps the exactness fences. Null when the pair isn't
1339
- * width-coercible. */
1340
1293
  widthCoerce(expr: IrExpr, expected: IrType): IrExpr | null;
1341
- /** One step of the recursive width-lift relation: how a `src`-typed
1342
- * value enters a `dst`-typed slot under the copy-reshape family. The
1343
- * pure planning side — nothing interns here, so whole plans validate
1344
- * before any helper exists. The cases, in order:
1345
- * copy — exact same type (typeEquals), the field/element moves as is
1346
- * retag — union into union, every arm mapped (unionRetagMappable —
1347
- * identity arms and compatible payload conversions; a shared
1348
- * discriminant may select different record destinations)
1349
- * wrap — a non-unit arm value into a union that contains it
1350
- * discriminantWrap — identical recursive layouts distinguished by
1351
- * their literal field value rather than their storage id
1352
- * liftWrap — a record/array value into a union with NO identical arm
1353
- * but exactly ONE arm it width-lifts into (the findRoute
1354
- * rule applied at every level; several candidates are
1355
- * ambiguous and decline)
1356
- * width — record into a strict-subset record (recordWidthPlan,
1357
- * recursively — NESTED width)
1358
- * arr — array into array whose element pair lifts (per-element
1359
- * copy loop, arrayWidthHelper)
1360
- * dynIn — a typed value into an 'unknown' (dyn) slot — the same
1361
- * static→dyn deep copy coerceToExpected applies top-level
1362
- * upcast — a derived class instance into a base-typed slot (the
1363
- * prefix-layout pointer reinterpret, no copy)
1364
- * funcAdapt — a function into a slot whose signature differs only by
1365
- * CLEAN mechanical conversions (cleanFuncAdaptable); the
1366
- * stranded (trap-only) dispositions stay out of the plan
1367
- * Null when the pair isn't in the relation — callers keep their fences. */
1368
1294
  widthLiftPlan(src: IrType, dst: IrType): WidthLift | null;
1369
- /** True for the unit-only element types (`(null | undefined)[]`, the
1370
- * `readonly []` mapping): a union whose every arm is a unit. */
1371
1295
  unitOnlyElem(t: IrType): boolean;
1372
- /** The build side of widthLiftPlan: the IrExpr converting `value` into
1373
- * `dst` under a plan the caller validated. Interns whatever helpers the
1374
- * lift needs (planned first, so the interns cannot fail — a failure here
1375
- * is a lowerer bug, not a user diagnostic). */
1376
1296
  applyWidthLift(lift: WidthLift, value: IrExpr, dst: IrType, loc: SrcLoc): IrExpr;
1377
- /** Dispatch a structural copy from its runtime union tag. Each record
1378
- * payload has its own field offsets and optional-field completions;
1379
- * interpreting all arms as the destination layout would corrupt memory.
1380
- * Intern before descending so recursive record unions can reuse it. */
1381
1297
  unionRecordWidthHelper(fromId: string, target: IrType & {
1382
1298
  kind: "record";
1383
1299
  }, loc: SrcLoc): string;
1384
- /** Interned `%rec.width.<n>(r)` — builds the target shape from a source
1385
- * record by copying fields: every target field must exist on the source
1386
- * with the EXACT same type, or with a type that LIFTS under
1387
- * widthLiftPlan — an arm value wraps (`text: string` into
1388
- * `text?: string`), a whole union re-tags (unionRetagMappable), a field
1389
- * whose own record/array type needs narrowing reshapes RECURSIVELY
1390
- * (nested width — the copy stance applies per level), and a MISSING
1391
- * optional-flavored field completes to its undefined arm (the
1392
- * literal-completion rule). TUPLES width-coerce too, arity-exact (TS
1393
- * permits no other tuple width): per-position lifts, never completion.
1394
- * Index-signature SOURCES narrow here like any wider record — declared
1395
- * fields copy, the overflow drops with the width (missing target
1396
- * fields decline: the overflow could hold them). Index-signature
1397
- * TARGETS keep the overflow CAPTURE helper (widthCoerce's other arm).
1398
- * Null when the shapes don't relate that way. */
1399
- /** The pure planning half of recordWidthHelper — every target field's
1400
- * lift, or null when the pair isn't width-coercible. Callers that must
1401
- * validate a WHOLE plan before interning anything (the retag helper's
1402
- * per-arm width lifts) probe with this. */
1403
- recordWidthPlan(fromId: string, toId: string): Map<string, {
1404
- src: IrType;
1405
- lift: WidthLift;
1406
- } | {
1407
- absent: true;
1408
- utag: number;
1409
- } | {
1410
- absentDyn: true;
1411
- }> | null;
1412
- /** Post-hoc classifier for SC2002's record→record residue: WHY the
1413
- * width family (recordWidthPlan and the overflow capture — widthCoerce's
1414
- * two record arms) declined this pair — the FIRST blocking rule, named.
1415
- * Pure description on the failure path (the site already carries the
1416
- * rejection): mirrors the planners' gates, never changes what coerces,
1417
- * and answers null when no pointed story applies (the generic message
1418
- * stands). */
1300
+ recordWidthPlan(fromId: string, toId: string): Map<string, FieldLift> | null;
1419
1301
  describeRecordWidthBlocker(fromId: string, toId: string): string | null;
1420
1302
  recordWidthHelper(fromId: string, toId: string, loc: SrcLoc): string | null;
1421
- /** Interned `%arr.width.<n>(a)` — the per-element copy loop over
1422
- * widthLiftPlan's element lift: out = []; n = a.length; for (...)
1423
- * out.push(lift(a[i])); return out. Record elements reshape
1424
- * (recordWidthHelper), union elements wrap or re-tag (`number[]` into
1425
- * `(number | undefined)[]`), nested arrays recurse. Null when the
1426
- * element pair isn't width-liftable. */
1427
- /** Interned `%tup.arr.<n>(t)` — rebuilds a TUPLE as an ARRAY: positions
1428
- * read in order, each lifted into the element type under widthLiftPlan.
1429
- * Null unless the source shape really is a tuple whose every position
1430
- * lifts (records with named fields never relate to arrays). */
1431
1303
  tupleArrayWidthHelper(fromId: string, toT: IrType & {
1432
1304
  kind: "array";
1433
1305
  }, loc: SrcLoc): string | null;
1434
- /** Interned `%arr.empty.<n>(a)` — the EMPTY-array lift's build side: a
1435
- * unit-only-element array reshapes into any data-element array by
1436
- * answering a FRESH empty array, after a runtime non-empty trap (a
1437
- * genuinely inhabited `(null | undefined)[]` cannot reshape — the
1438
- * catchable-TypeError stance every checked extraction takes). */
1439
1306
  emptyArrayLiftHelper(fromT: IrType & {
1440
1307
  kind: "array";
1441
1308
  }, toT: IrType & {
@@ -1446,39 +1313,8 @@ export declare class Lowerer {
1446
1313
  }, toT: IrType & {
1447
1314
  kind: "array";
1448
1315
  }, loc: SrcLoc): string | null;
1449
- /** The planning half of objRecordWidthHelper — how a CLASS INSTANCE
1450
- * projects into a record shape (tsc's structural view of classes makes
1451
- * `new Point(0,0)` flow into `{x: number; y: number}` slots). Every
1452
- * target field must be a plain instance FIELD on the class (inherited
1453
- * included) whose type lifts, or a missing optional-flavored field
1454
- * completing to its undefined arm — but never a field the class
1455
- * satisfies through a METHOD or accessor (bound method references have
1456
- * no lowering; the plan declines instead of projecting a lie). Builtin
1457
- * runtime layouts (the Error/EventEmitter/stream chains) decline: their
1458
- * fields aren't plain emitted storage. */
1459
- objToRecordPlan(className: string, toId: string): Map<string, {
1460
- src: IrType;
1461
- lift: WidthLift;
1462
- } | {
1463
- absent: true;
1464
- utag: number;
1465
- }> | null;
1466
- /** Interned `%obj.width.<n>(o)` — builds a record from a class
1467
- * instance's fields under objToRecordPlan: the width-copy stance
1468
- * (divergence 305 — a fresh record, mutations don't alias, extra class
1469
- * members drop). */
1316
+ objToRecordPlan(className: string, toId: string): Map<string, FieldLift> | null;
1470
1317
  objRecordWidthHelper(className: string, toId: string, loc: SrcLoc): string | null;
1471
- /** The planning half of recordClassWidthHelper — how a RECORD enters a
1472
- * class-instance slot. Construction IS the projection, so the class
1473
- * must be a pure parameter-property data class: its own trivial
1474
- * constructor (every parameter a parameter property, empty body), no
1475
- * other fields, no methods/accessors anywhere in the chain (a
1476
- * fabricated instance must carry no behavior the record lacks), no
1477
- * decoration, no base beyond a generic FAMILY ancestor (fieldless and
1478
- * methodless by construction). Each constructor parameter takes the
1479
- * same-named source field under widthLiftPlan, or — omittable params —
1480
- * the absent undefined arm. One entry per constructor parameter, in
1481
- * parameter order. */
1482
1318
  recordToClassPlan(fromId: string, className: string): ({
1483
1319
  field: string;
1484
1320
  src: IrType;
@@ -1486,84 +1322,24 @@ export declare class Lowerer {
1486
1322
  } | {
1487
1323
  absent: true;
1488
1324
  })[] | null;
1489
- /** Interned `%cls.width.<n>(r)` — `new C(r.p1, ..., r.pn)` under
1490
- * recordToClassPlan: the record's fields become the trivial
1491
- * constructor's arguments (divergence 305's copy stance — a fresh
1492
- * instance, mutations don't alias, and `instanceof C` answers true
1493
- * where Node's plain object answers false). */
1494
1325
  recordClassWidthHelper(fromId: string, className: string, loc: SrcLoc): string | null;
1495
- /** A CLASS VALUE's statics projected into a record shape (`var f:
1496
- * ShapeFactory = Shape`): the record literal capturing static FIELDS as
1497
- * copies of their globals and static METHODS as the zero-capture
1498
- * closures `const f = C.m` builds (params all required — value-form
1499
- * completion rules stay out of coercions). Inherited statics resolve
1500
- * like JS's class-object prototype walk. Divergence 305's copy stance:
1501
- * later writes to a writable static field don't flow into the record
1502
- * (Node aliases the one class object). Null when any target field has
1503
- * no projectable static. */
1504
1326
  classStaticsProjection(className: string, toId: string, loc: SrcLoc): IrExpr | null;
1505
- /** Interned `%fn.width.<n>(f)` — the function-RETURN width adapter: a
1506
- * zero-param `() => Wide[]` value flowing into a `() => Narrow[]` slot
1507
- * (the createProxyServer getRoutes shape) wraps in a fresh closure that
1508
- * calls the original and maps the result through the per-element record
1509
- * width copy (%arr.width). The adapter is a factory lifted function
1510
- * whose param the returned closure captures; each invocation of the
1511
- * adapted value builds a FRESH array of narrowed records (the width
1512
- * machinery's copy stance — callers see the values, not the identity).
1513
- * Null when the return shapes aren't width-coercible; bounded to
1514
- * zero-param signatures (the one observed site — widening needs a
1515
- * param-forwarding story nothing drives yet). */
1516
1327
  funcReturnWidthAdapter(fromT: IrType & {
1517
1328
  kind: "func";
1518
1329
  }, toT: IrType & {
1519
1330
  kind: "func";
1520
1331
  }, loc: SrcLoc): string | null;
1521
- /** Whether a `src`-typed VALUE converts into a `dst` slot through the
1522
- * coercions coerceToExpected applies mechanically — the PURE probe
1523
- * behind funcCoerceAdapter (nothing interns): exact types, arm wraps
1524
- * into unions, whole-union re-tags (unionRetagMappable), checked
1525
- * single-arm narrows, void into an undefined-armed union, and the dyn
1526
- * boundary in both directions (dynFrom / dynCheck's JSON-safe domain).
1527
- * Deliberately EXCLUDES the trap-only stranded conversions — an adapter
1528
- * that could only ever throw is a fence, not a bridge. */
1529
1332
  coercibleValue(src: IrType, dst: IrType): boolean;
1530
- /** True when a `src` function value enters a `dst` slot through
1531
- * funcCoerceAdapter with NO stranded (trap-only) piece: no rest packs,
1532
- * no surplus source params, every slot parameter converts into the
1533
- * wrapped function's own type, and the result converts back (a void
1534
- * slot drops it; a void result answers the exact JS undefined for
1535
- * dyn/jsval slots). The width family's func gate — widthLiftPlan
1536
- * bridges only signatures whose every call succeeds by construction. */
1537
1333
  cleanFuncAdaptable(src: IrType & {
1538
1334
  kind: "func";
1539
1335
  }, dst: IrType & {
1540
1336
  kind: "func";
1541
1337
  }): boolean;
1542
- /** Interned `%fn.adapt.<n>(f)` — the GENERAL function-value adapter: a
1543
- * `fromT` function value flowing into a `toT` slot whose pieces differ
1544
- * only by coercibleValue conversions. The slot's callers pass toT's
1545
- * parameters: the wrapper takes them, converts the first
1546
- * fromT.params.length into the wrapped function's own types (surplus
1547
- * slot parameters are DROPPED — JS's extra-argument rule), calls it,
1548
- * and converts the result back (a void slot drops the result; a void
1549
- * result wraps as the slot union's undefined arm). Rest signatures on
1550
- * either side decline (the pack shapes don't line up mechanically).
1551
- * Null when any piece is outside coercibleValue — the exactness fences
1552
- * stay. */
1553
1338
  funcCoerceAdapter(fromT: IrType & {
1554
1339
  kind: "func";
1555
1340
  }, toT: IrType & {
1556
1341
  kind: "func";
1557
1342
  }, loc: SrcLoc): string | null;
1558
- /** The spawnSync-runner VALUE adapter's plan — a function returning the
1559
- * opaque spawnRes flowing into a slot whose signature returns the
1560
- * STRUCTURAL result record tsc accepted (`defaultRunner` into a
1561
- * `CommandRunner` param: `{ status: number | null; stdout?: string;
1562
- * stderr?: string; error?: Error }`). Parameters must agree pairwise;
1563
- * each target field must be one of the spawnRes reads (status, stdout,
1564
- * stderr, error) at its exact lowered type — string fields optionally
1565
- * undefined-armed. Null when the pair isn't this shape. Pure: callers
1566
- * probe before interning. */
1567
1343
  spawnResFnAdapterPlan(fromT: IrType & {
1568
1344
  kind: "func";
1569
1345
  }, toT: IrType & {
@@ -1572,54 +1348,14 @@ export declare class Lowerer {
1572
1348
  field: string;
1573
1349
  build: (r: IrExpr, loc: SrcLoc) => IrExpr;
1574
1350
  }[] | null;
1575
- /** Interned `%fnval.spawnres.<n>(f)` — the runner-value adapter: a
1576
- * fresh closure of the TARGET signature forwarding its arguments to the
1577
- * captured function and converting the opaque spawnRes result into the
1578
- * target's structural record (one eager read per declared field —
1579
- * spawnResFnAdapterPlan's set). Divergence caveat: stdout/stderr read
1580
- * as the captured text ("" when nothing was captured, e.g. stdio
1581
- * "inherit") where Node stores null. */
1582
1351
  spawnResFnAdapter(fromT: IrType & {
1583
1352
  kind: "func";
1584
1353
  }, toT: IrType & {
1585
1354
  kind: "func";
1586
1355
  }, loc: SrcLoc): string | null;
1587
- /** Validate the complete union conversion before interning helpers.
1588
- * Recursive width plans close through the same in-progress pair guard;
1589
- * no optimistic result is memoized after that planning stack unwinds. */
1590
1356
  unionRetagMappable(fromId: string, toId: string): boolean;
1591
- /** A checker-NARROWED union flowing into a different union: `typeof r
1592
- * === "string" || Buffer.isBuffer(r)` proves the record arm of r away,
1593
- * then `{ data: r }` needs `Buffer | string | Rec` in a `Buffer | string`
1594
- * slot. Control-flow narrowing to a sub-union erases at lowering, so the
1595
- * IR value still carries the wide union — but the SITE's checker type
1596
- * names exactly the arms still possible, and every one of those must
1597
- * exist in both unions. The stranded arms compile to trap cases exactly
1598
- * like stranded units (divergence 38's trust-the-checker stance): sound
1599
- * narrowing never reaches them, a lying cast throws a catchable
1600
- * TypeError instead of smuggling an unrepresentable arm. Null when the
1601
- * site type isn't a genuine sub-union of the source (the SC2003 fence
1602
- * stays). */
1603
1357
  narrowedRetagHelper(node: ts.Node, fromId: string, toId: string, loc: SrcLoc): string | null;
1604
- /** The stranded-UNIT trap for PLAIN (non-union) slots: a null/undefined
1605
- * value flowing into a non-nullable typed slot the checker approved —
1606
- * `null!` and `null as any as T` casts, and the non-strict world's
1607
- * legal `let s: string = null`. The compiled representation has no null
1608
- * to carry, so the FLOW throws the catchable stranded TypeError
1609
- * (divergence 38's stance: Node lets the impossible value ride until it
1610
- * is used; the trap surfaces at the assignment instead). Unit sources
1611
- * only — they are pure, so the nullary helper evaluates nothing. */
1612
1358
  strandedUnitTrap(expr: IrExpr, expected: IrType, loc: SrcLoc): IrExpr | null;
1613
- /** The STRANDED-SOURCE trap: a checker-approved value flowing into a
1614
- * union that cannot represent it (armTag < 0, no class widening, no
1615
- * width lift). Only shapes that PROVE a lying assertion trap: unit
1616
- * sources (null/undefined literals smuggled through `null!` / `as any`
1617
- * casts), and record/array sources with ZERO same-family width-lift
1618
- * candidates among the arms — an AMBIGUOUS lift (several candidates)
1619
- * stays a compile fence, because honest code lands there. The interned
1620
- * helper evaluates the operand (JS evaluates it too) and throws the
1621
- * stranded-arm TypeError verbatim. Null when the shape doesn't prove
1622
- * the lie. */
1623
1359
  strandedCoercionTrap(expr: IrExpr, expected: IrType & {
1624
1360
  kind: "union";
1625
1361
  }, loc: SrcLoc): IrExpr | null;
@@ -1627,65 +1363,13 @@ export declare class Lowerer {
1627
1363
  kind: "record";
1628
1364
  }, toId: string, loc: SrcLoc): string | null;
1629
1365
  unionRetagHelper(fromId: string, toId: string, loc: SrcLoc, trappable?: ReadonlySet<number>): string | null;
1630
- /** Interned `%union.narrow.<n>(u)` — the CHECKED single-arm extraction
1631
- * behind `x!` on union values: the asserted arm's payload comes out
1632
- * (+1 for ref arms, like any unionNarrow), and every OTHER arm throws
1633
- * the catchable TypeError — divergence 38's lying-assertion stance (an
1634
- * unchecked unionNarrow would misread the payload where JS lets the
1635
- * impossible value flow on). Null when the target isn't a non-unit arm
1636
- * of the union — those uses keep their erasure/fences. */
1637
1366
  narrowedArmHelper(fromId: string, target: IrType, loc: SrcLoc): string | null;
1638
- /** The DEFERRED-INIT field read (`stream!: T` assigned past the
1639
- * constructor's top level — the slot is `T | undefined`): interned
1640
- * `%deferred.read.<n>(u)` extracting the declared type. SCALAR arms
1641
- * whose JS-undefined behavior a unit default reproduces read that
1642
- * default — bool false (conditions are exact: undefined and false are
1643
- * both falsy; only printing/strict-equality could tell) and f64 NaN
1644
- * (arithmetic and conditions exact) — while string and REF arms keep
1645
- * the checked-extraction TRAP: JS itself TypeErrors the first member
1646
- * use of such an undefined, so the catchable TypeError at the read is
1647
- * the same failure, named earlier (SEMANTICS.md). */
1648
1367
  deferredReadHelper(fromId: string, target: IrType, loc: SrcLoc): string | null;
1649
- /** True when a static value can become ONE island value: jsval itself,
1650
- * anything boundary-safe (the deep JSON marshal), a record whose fields
1651
- * all can (built as an island OBJECT literal, field by field), or an
1652
- * array of such (built as an island ARRAY, element by element). The
1653
- * lift beyond boundarySafe exists for jsval-BEARING composites —
1654
- * `{ role: string; content: any[] }[]` flowing into an `any[]` slot —
1655
- * which have no JSON serialization (a handle isn't JSON) but an honest
1656
- * per-field construction. Recursion terminates: recursive shapes are
1657
- * rejected at mapping time. */
1658
1368
  jsvalLiftable(t: IrType, visiting?: Set<string>): boolean;
1659
- /** A jsval-typed expression carrying `e`'s value into the island —
1660
- * jsvalLiftable's constructive side. Primitives and JSON-safe composites
1661
- * keep the jsMarshal deep copy; jsval-bearing records and arrays go
1662
- * through interned per-type builder helpers (%jsin.*), so the operand is
1663
- * always evaluated exactly once (as the helper's argument). */
1664
1369
  jsvalLiftExpr(e: IrExpr, loc: SrcLoc): IrExpr;
1665
- /** Interned `%jsin.union.<n>(u)` — the runtime tag switch marshaling a
1666
- * union value INTO the island: unit arms become the engine's own
1667
- * undefined/null (JS-exact — `{ instructions: undefined }` crossing in
1668
- * has the property present and undefined, exactly what the source
1669
- * spells), every other arm narrows and lifts as itself (strings by
1670
- * value, JSON-safe composites as deep copies, typed arrays as engine
1671
- * typed-array copies, URLs as engine URL instances). Caller must have
1672
- * checked jsvalLiftable. */
1673
1370
  unionToJsvalHelper(unionId: string, loc: SrcLoc): string;
1674
- /** Interned `%jsin.rec.<n>(r)` — builds an island OBJECT from a
1675
- * jsval-bearing record: marshaled key strings, each field lifted through
1676
- * jsvalLiftExpr (jsval fields pass as handles, JSON-safe fields deep-copy,
1677
- * nested composites recurse through their own helpers). Caller must have
1678
- * checked jsvalLiftable. */
1679
1371
  recordToJsvalHelper(shapeId: string, loc: SrcLoc): string;
1680
- /** Interned `%jsin.arr.<n>(a)` — builds ONE island ARRAY from a native
1681
- * array whose elements lift: out = []; for (...) out[i] = lift(a[i]);
1682
- * return out. The index marshals by value like any number. Caller must
1683
- * have checked jsvalLiftable of the element. */
1684
1372
  arrayToJsvalHelper(elem: IrType, loc: SrcLoc): string;
1685
- /** Interned `%jsin.elems.<n>(a)` — a NATIVE array of island handles from
1686
- * a native array whose elements lift: the `any[]`-slot coercion (each
1687
- * element becomes one island value; the array stays static). Null when
1688
- * the element doesn't lift. */
1689
1373
  arrayToJsvalArrayHelper(fromElem: IrType, loc: SrcLoc): string | null;
1690
1374
  jsvalIn(e: IrExpr, node: ts.Node): IrExpr;
1691
1375
  /** THE coercion path for values flowing into a typed slot: union arms
@@ -2101,16 +1785,10 @@ export declare class Lowerer {
2101
1785
  lowerMapForEachCall(call: ts.CallExpression, receiver: IrExpr, mapT: IrType & {
2102
1786
  kind: "map";
2103
1787
  }): IrExpr;
2104
- buildMapForEachFn(name: string, mapT: IrType & {
2105
- kind: "map";
2106
- }, arity: number, fnRet: IrType, loc: SrcLoc): IrFunction;
2107
1788
  lowerSetMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
2108
1789
  lowerSetForEachCall(call: ts.CallExpression, receiver: IrExpr, setT: IrType & {
2109
1790
  kind: "set";
2110
1791
  }): IrExpr;
2111
- buildSetForEachFn(name: string, setT: IrType & {
2112
- kind: "set";
2113
- }, arity: number, fnRet: IrType, loc: SrcLoc): IrFunction;
2114
1792
  lowerRegexLiteral(expr: ts.RegularExpressionLiteral): IrExpr;
2115
1793
  lowerRegexMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
2116
1794
  lowerStringMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
@@ -2211,12 +1889,10 @@ export declare class Lowerer {
2211
1889
  module: string;
2212
1890
  member: string;
2213
1891
  }, loc: SrcLoc): IrExpr | null;
2214
- lowerChildArgsArg(node: ts.Expression | undefined, loc: SrcLoc): IrExpr;
2215
1892
  lowerSpawnSyncCall(expr: ts.CallExpression, loc: SrcLoc): IrExpr;
2216
1893
  lowerSpawnCall(expr: ts.CallExpression, loc: SrcLoc): IrExpr;
2217
1894
  lowerExecFileCall(expr: ts.CallExpression, loc: SrcLoc): IrExpr;
2218
1895
  lowerExecSyncCall(expr: ts.CallExpression, shell: boolean, loc: SrcLoc): IrExpr;
2219
- recordToEnvPairs(node: ts.Expression): IrExpr;
2220
1896
  envToPairsHelper(shapeId: string, loc: SrcLoc): string | null;
2221
1897
  lowerJsonMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
2222
1898
  fencedBuiltinImportOf(ident: ts.Identifier): string | null;
@@ -2258,12 +1934,11 @@ export declare class Lowerer {
2258
1934
  lowerErrorCodeProperty(expr: ts.PropertyAccessExpression): IrExpr | null;
2259
1935
  lowerStringDecoderMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
2260
1936
  lowerReadlineMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
2261
- lowerDcChannelMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
2262
- lowerAlsMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
2263
- lowerDcChannelProperty(access: ts.PropertyAccessExpression): IrExpr | null;
2264
- lowerDcTracingChannelMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
2265
- lowerDcTracingChannelProperty(access: ts.PropertyAccessExpression): IrExpr | null;
2266
- strdecHelper(op: "write" | "end" | "endChunk" | "endString" | "writeString", shapeId: string, loc: SrcLoc): string;
1937
+ lowerDiagnosticsChannelMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
1938
+ lowerAsyncLocalStorageMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
1939
+ lowerDiagnosticsChannelProperty(access: ts.PropertyAccessExpression): IrExpr | null;
1940
+ lowerTracingChannelMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
1941
+ lowerTracingChannelProperty(access: ts.PropertyAccessExpression): IrExpr | null;
2267
1942
  lowerProcessProperty(expr: ts.PropertyAccessExpression): IrExpr | null;
2268
1943
  lowerFsConstantsProperty(expr: ts.PropertyAccessExpression): IrExpr | null;
2269
1944
  lowerBuiltinConstantsProperty(expr: ts.PropertyAccessExpression): IrExpr | null;
@@ -2282,11 +1957,6 @@ export declare class Lowerer {
2282
1957
  lowerTimeoutMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
2283
1958
  registerPromisifiedBuiltinDecl(nameNode: ts.Node, init: ts.Expression | undefined): boolean;
2284
1959
  lowerExecFileAsyncCall(expr: ts.CallExpression, loc: SrcLoc): IrExpr;
2285
- execFileAsyncHelper(loc: SrcLoc): {
2286
- name: string;
2287
- shapeId: string;
2288
- };
2289
- envSnapshotHelper(shapeId: string, loc: SrcLoc): string | null;
2290
1960
  lowerNumberStaticCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
2291
1961
  lowerDateCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
2292
1962
  lowerTextCodecCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;