@scriptc/compiler 0.1.6 → 0.2.0

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 (1060) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +73 -25
  2. package/ambient/scriptc-overrides.d.ts +10 -6
  3. package/ambient/scriptc.d.ts +28 -5
  4. package/dist/backend/build-cache.d.ts +1 -3
  5. package/dist/backend/build-cache.js +3 -22
  6. package/dist/backend/build-cache.js.map +1 -1
  7. package/dist/backend/cache-root.d.ts +3 -0
  8. package/dist/backend/cache-root.js +23 -0
  9. package/dist/backend/cache-root.js.map +1 -0
  10. package/dist/backend/cycle-analysis.d.ts +15 -0
  11. package/dist/backend/cycle-analysis.js +107 -0
  12. package/dist/backend/cycle-analysis.js.map +1 -0
  13. package/dist/backend/cycle-analysis.test.js +124 -0
  14. package/dist/backend/cycle-analysis.test.js.map +1 -0
  15. package/dist/backend/debug-symbols.d.ts +8 -0
  16. package/dist/backend/debug-symbols.js +52 -0
  17. package/dist/backend/debug-symbols.js.map +1 -0
  18. package/dist/backend/executable-features.d.ts +4 -0
  19. package/dist/backend/executable-features.js +42 -0
  20. package/dist/backend/executable-features.js.map +1 -0
  21. package/dist/backend/external-c.d.ts +5 -27
  22. package/dist/backend/external-c.js +5 -40
  23. package/dist/backend/external-c.js.map +1 -1
  24. package/dist/backend/ffi-callbacks.d.ts +2 -3
  25. package/dist/backend/ffi-callbacks.js +2 -3
  26. package/dist/backend/ffi-callbacks.js.map +1 -1
  27. package/dist/backend/library-identity-markers.d.ts +4 -9
  28. package/dist/backend/library-identity-markers.js +11 -49
  29. package/dist/backend/library-identity-markers.js.map +1 -1
  30. package/dist/backend/library-pack.d.ts +5 -0
  31. package/dist/backend/library-pack.js +123 -0
  32. package/dist/backend/library-pack.js.map +1 -0
  33. package/dist/backend/link-plan-core.d.ts +20 -0
  34. package/dist/backend/link-plan-core.js +18 -0
  35. package/dist/backend/link-plan-core.js.map +1 -0
  36. package/dist/backend/link-plan.d.ts +2 -1
  37. package/dist/backend/link-plan.js +18 -17
  38. package/dist/backend/link-plan.js.map +1 -1
  39. package/dist/backend/link-trace.d.ts +2 -0
  40. package/dist/backend/link-trace.js +24 -0
  41. package/dist/backend/link-trace.js.map +1 -0
  42. package/dist/backend/linker.js +9 -1
  43. package/dist/backend/linker.js.map +1 -1
  44. package/dist/backend/literals.d.ts +9 -0
  45. package/dist/backend/literals.js +35 -0
  46. package/dist/backend/literals.js.map +1 -0
  47. package/dist/backend/literals.test.d.ts +1 -0
  48. package/dist/backend/literals.test.js +53 -0
  49. package/dist/backend/literals.test.js.map +1 -0
  50. package/dist/backend/llvm/blocks.d.ts +4 -0
  51. package/dist/backend/llvm/blocks.js +25 -4
  52. package/dist/backend/llvm/blocks.js.map +1 -1
  53. package/dist/backend/llvm/blocks.test.d.ts +1 -0
  54. package/dist/backend/llvm/blocks.test.js +91 -0
  55. package/dist/backend/llvm/blocks.test.js.map +1 -0
  56. package/dist/backend/llvm/classes.d.ts +14 -8
  57. package/dist/backend/llvm/classes.js +70 -28
  58. package/dist/backend/llvm/classes.js.map +1 -1
  59. package/dist/backend/llvm/common.d.ts +5 -1
  60. package/dist/backend/llvm/common.js +45 -4
  61. package/dist/backend/llvm/common.js.map +1 -1
  62. package/dist/backend/llvm/debug-info.d.ts +32 -0
  63. package/dist/backend/llvm/debug-info.js +198 -0
  64. package/dist/backend/llvm/debug-info.js.map +1 -0
  65. package/dist/backend/llvm/debug-info.test.d.ts +1 -0
  66. package/dist/backend/llvm/debug-info.test.js +110 -0
  67. package/dist/backend/llvm/debug-info.test.js.map +1 -0
  68. package/dist/backend/llvm/dyn.d.ts +16 -2
  69. package/dist/backend/llvm/dyn.js +498 -175
  70. package/dist/backend/llvm/dyn.js.map +1 -1
  71. package/dist/backend/llvm/emitter.d.ts +598 -1
  72. package/dist/backend/llvm/emitter.js +739 -409
  73. package/dist/backend/llvm/emitter.js.map +1 -1
  74. package/dist/backend/llvm/emitter.test.d.ts +1 -0
  75. package/dist/backend/llvm/emitter.test.js +179 -0
  76. package/dist/backend/llvm/emitter.test.js.map +1 -0
  77. package/dist/backend/llvm/expr-async.js +23 -14
  78. package/dist/backend/llvm/expr-async.js.map +1 -1
  79. package/dist/backend/llvm/expr-bytes.d.ts +1 -1
  80. package/dist/backend/llvm/expr-bytes.js +32 -14
  81. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  82. package/dist/backend/llvm/expr-callbacks.d.ts +1 -1
  83. package/dist/backend/llvm/expr-callbacks.js +25 -22
  84. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  85. package/dist/backend/llvm/expr-calls.js +136 -35
  86. package/dist/backend/llvm/expr-calls.js.map +1 -1
  87. package/dist/backend/llvm/expr-containers.d.ts +1 -1
  88. package/dist/backend/llvm/expr-containers.js +43 -14
  89. package/dist/backend/llvm/expr-containers.js.map +1 -1
  90. package/dist/backend/llvm/expr-context.d.ts +5 -260
  91. package/dist/backend/llvm/expr-control.js +9 -5
  92. package/dist/backend/llvm/expr-control.js.map +1 -1
  93. package/dist/backend/llvm/expr-dispatch.d.ts +1 -1
  94. package/dist/backend/llvm/expr-dispatch.js +2 -0
  95. package/dist/backend/llvm/expr-dispatch.js.map +1 -1
  96. package/dist/backend/llvm/expr-dynamic.js +72 -74
  97. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  98. package/dist/backend/llvm/expr-island.d.ts +1 -1
  99. package/dist/backend/llvm/expr-island.js +11 -7
  100. package/dist/backend/llvm/expr-island.js.map +1 -1
  101. package/dist/backend/llvm/expr-primitives.d.ts +1 -1
  102. package/dist/backend/llvm/expr-primitives.js +51 -30
  103. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  104. package/dist/backend/llvm/expr-primitives.test.js +1 -1
  105. package/dist/backend/llvm/expr-records.d.ts +5 -1
  106. package/dist/backend/llvm/expr-records.js +43 -4
  107. package/dist/backend/llvm/expr-records.js.map +1 -1
  108. package/dist/backend/llvm/expr-stream-bridges.d.ts +4 -4
  109. package/dist/backend/llvm/expr-stream-bridges.js +102 -121
  110. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  111. package/dist/backend/llvm/expr-stream-bridges.test.d.ts +1 -0
  112. package/dist/backend/llvm/expr-stream-bridges.test.js +55 -0
  113. package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -0
  114. package/dist/backend/llvm/expr-stream-callbacks.d.ts +1 -1
  115. package/dist/backend/llvm/expr-stream-callbacks.js +12 -12
  116. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  117. package/dist/backend/llvm/layouts.d.ts +19 -0
  118. package/dist/backend/llvm/layouts.js +12 -0
  119. package/dist/backend/llvm/layouts.js.map +1 -0
  120. package/dist/backend/llvm/lib-abi.d.ts +19 -0
  121. package/dist/backend/llvm/lib-abi.js +82 -0
  122. package/dist/backend/llvm/lib-abi.js.map +1 -0
  123. package/dist/backend/llvm/lib-connect.d.ts +2 -0
  124. package/dist/backend/llvm/lib-connect.js +51 -0
  125. package/dist/backend/llvm/lib-connect.js.map +1 -0
  126. package/dist/backend/llvm/lib-datagram.d.ts +2 -0
  127. package/dist/backend/llvm/lib-datagram.js +135 -0
  128. package/dist/backend/llvm/lib-datagram.js.map +1 -0
  129. package/dist/backend/llvm/lib-dispatch.js +50 -6
  130. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  131. package/dist/backend/llvm/lib-filesystem.js +59 -18
  132. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  133. package/dist/backend/llvm/lib-http2.d.ts +2 -0
  134. package/dist/backend/llvm/lib-http2.js +215 -0
  135. package/dist/backend/llvm/lib-http2.js.map +1 -0
  136. package/dist/backend/llvm/lib-lookup.d.ts +2 -0
  137. package/dist/backend/llvm/lib-lookup.js +39 -0
  138. package/dist/backend/llvm/lib-lookup.js.map +1 -0
  139. package/dist/backend/llvm/lib-network.js +25 -2
  140. package/dist/backend/llvm/lib-network.js.map +1 -1
  141. package/dist/backend/llvm/lib-process.js +21 -16
  142. package/dist/backend/llvm/lib-process.js.map +1 -1
  143. package/dist/backend/llvm/lib-shared.js +125 -1
  144. package/dist/backend/llvm/lib-shared.js.map +1 -1
  145. package/dist/backend/llvm/lib-stream.js +3 -2
  146. package/dist/backend/llvm/lib-stream.js.map +1 -1
  147. package/dist/backend/llvm/lib-test.d.ts +2 -0
  148. package/dist/backend/llvm/lib-test.js +34 -0
  149. package/dist/backend/llvm/lib-test.js.map +1 -0
  150. package/dist/backend/llvm/lib-tls.d.ts +2 -0
  151. package/dist/backend/llvm/lib-tls.js +82 -0
  152. package/dist/backend/llvm/lib-tls.js.map +1 -0
  153. package/dist/backend/llvm/shapes.d.ts +10 -9
  154. package/dist/backend/llvm/shapes.js +35 -130
  155. package/dist/backend/llvm/shapes.js.map +1 -1
  156. package/dist/backend/llvm/split.js +4 -1
  157. package/dist/backend/llvm/split.js.map +1 -1
  158. package/dist/backend/llvm/split.test.js +26 -1
  159. package/dist/backend/llvm/split.test.js.map +1 -1
  160. package/dist/backend/llvm/unsupported.d.ts +1 -0
  161. package/dist/backend/llvm/unsupported.js +1 -2
  162. package/dist/backend/llvm/unsupported.js.map +1 -1
  163. package/dist/backend/llvm/walkers.js +1 -7
  164. package/dist/backend/llvm/walkers.js.map +1 -1
  165. package/dist/backend/mangle.d.ts +2 -2
  166. package/dist/backend/mangle.js +16 -5
  167. package/dist/backend/mangle.js.map +1 -1
  168. package/dist/backend/{c/may-throw.d.ts → may-throw.d.ts} +1 -1
  169. package/dist/backend/{c/may-throw.js → may-throw.js} +51 -46
  170. package/dist/backend/may-throw.js.map +1 -0
  171. package/dist/backend/may-throw.test.d.ts +1 -0
  172. package/dist/backend/may-throw.test.js +58 -0
  173. package/dist/backend/may-throw.test.js.map +1 -0
  174. package/dist/backend/native-codegen-core.d.ts +22 -0
  175. package/dist/backend/native-codegen-core.js +44 -0
  176. package/dist/backend/native-codegen-core.js.map +1 -0
  177. package/dist/backend/native-codegen.d.ts +3 -19
  178. package/dist/backend/native-codegen.js +5 -44
  179. package/dist/backend/native-codegen.js.map +1 -1
  180. package/dist/backend/native-codegen.test.js +2 -2
  181. package/dist/backend/native-codegen.test.js.map +1 -1
  182. package/dist/backend/native-link-info-core.d.ts +94 -0
  183. package/dist/backend/native-link-info-core.js +62 -0
  184. package/dist/backend/native-link-info-core.js.map +1 -0
  185. package/dist/backend/native-link-info.d.ts +3 -88
  186. package/dist/backend/native-link-info.js +12 -243
  187. package/dist/backend/native-link-info.js.map +1 -1
  188. package/dist/backend/native-link-info.test.js +41 -146
  189. package/dist/backend/native-link-info.test.js.map +1 -1
  190. package/dist/backend/native-toolchain.d.ts +10 -25
  191. package/dist/backend/native-toolchain.js +89 -219
  192. package/dist/backend/native-toolchain.js.map +1 -1
  193. package/dist/backend/native-toolchain.test.js +15 -5
  194. package/dist/backend/native-toolchain.test.js.map +1 -1
  195. package/dist/backend/native-tools.d.ts +24 -0
  196. package/dist/backend/native-tools.js +33 -0
  197. package/dist/backend/native-tools.js.map +1 -0
  198. package/dist/backend/object-localize.js +19 -8
  199. package/dist/backend/object-localize.js.map +1 -1
  200. package/dist/backend/object-localize.test.js +22 -0
  201. package/dist/backend/object-localize.test.js.map +1 -1
  202. package/dist/backend/runtime-abi.d.ts +2 -2
  203. package/dist/backend/runtime-abi.js +2 -2
  204. package/dist/backend/runtime-pack-core.d.ts +101 -0
  205. package/dist/backend/runtime-pack-core.js +172 -0
  206. package/dist/backend/runtime-pack-core.js.map +1 -0
  207. package/dist/backend/runtime-pack-native.d.ts +21 -0
  208. package/dist/backend/runtime-pack-native.js +70 -0
  209. package/dist/backend/runtime-pack-native.js.map +1 -0
  210. package/dist/backend/runtime-pack-targets.test.js +1 -1
  211. package/dist/backend/runtime-pack.d.ts +3 -83
  212. package/dist/backend/runtime-pack.js +8 -151
  213. package/dist/backend/runtime-pack.js.map +1 -1
  214. package/dist/backend/runtime-pack.test.js +24 -1
  215. package/dist/backend/runtime-pack.test.js.map +1 -1
  216. package/dist/backend/source-locations.d.ts +12 -0
  217. package/dist/backend/source-locations.js +32 -0
  218. package/dist/backend/source-locations.js.map +1 -0
  219. package/dist/backend/source-locations.test.d.ts +1 -0
  220. package/dist/backend/source-locations.test.js +16 -0
  221. package/dist/backend/source-locations.test.js.map +1 -0
  222. package/dist/backend/target-diagnostics.d.ts +22 -0
  223. package/dist/backend/target-diagnostics.js +108 -0
  224. package/dist/backend/target-diagnostics.js.map +1 -0
  225. package/dist/backend/target-platform.d.ts +15 -0
  226. package/dist/backend/target-platform.js +72 -0
  227. package/dist/backend/target-platform.js.map +1 -0
  228. package/dist/backend/targets.d.ts +13 -4
  229. package/dist/backend/targets.js +95 -30
  230. package/dist/backend/targets.js.map +1 -1
  231. package/dist/backend/targets.test.js +65 -4
  232. package/dist/backend/targets.test.js.map +1 -1
  233. package/dist/backend/toolchain-environment.d.ts +6 -0
  234. package/dist/backend/toolchain-environment.js +99 -0
  235. package/dist/backend/toolchain-environment.js.map +1 -0
  236. package/dist/backend/vendor-archives.d.ts +1 -9
  237. package/dist/backend/vendor-archives.js +2 -9
  238. package/dist/backend/vendor-archives.js.map +1 -1
  239. package/dist/backend/vendor-inputs.d.ts +9 -0
  240. package/dist/backend/vendor-inputs.js +10 -0
  241. package/dist/backend/vendor-inputs.js.map +1 -0
  242. package/dist/backend/warm-cache.d.ts +3 -0
  243. package/dist/backend/warm-cache.js +41 -0
  244. package/dist/backend/warm-cache.js.map +1 -0
  245. package/dist/cli/command.d.ts +3 -0
  246. package/dist/cli/command.js +328 -0
  247. package/dist/cli/command.js.map +1 -0
  248. package/dist/cli/host.d.ts +24 -0
  249. package/dist/cli/host.js +2 -0
  250. package/dist/cli/host.js.map +1 -0
  251. package/dist/cli/output-options.d.ts +26 -0
  252. package/dist/cli/output-options.js +60 -0
  253. package/dist/cli/output-options.js.map +1 -0
  254. package/dist/cli/paths.d.ts +12 -0
  255. package/dist/cli/paths.js +42 -0
  256. package/dist/cli/paths.js.map +1 -0
  257. package/dist/cli/usage.d.ts +74 -0
  258. package/dist/cli/usage.js +86 -0
  259. package/dist/cli/usage.js.map +1 -0
  260. package/dist/cli/wasi-paths.d.ts +8 -0
  261. package/dist/cli/wasi-paths.js +41 -0
  262. package/dist/cli/wasi-paths.js.map +1 -0
  263. package/dist/cli/wasi-runner.d.ts +2 -0
  264. package/dist/cli/wasi-runner.js +28 -0
  265. package/dist/cli/wasi-runner.js.map +1 -0
  266. package/dist/compat/fetch-profile.js +3 -3
  267. package/dist/compat/fetch-profile.js.map +1 -1
  268. package/dist/compile-types.d.ts +162 -0
  269. package/dist/compile-types.js +2 -0
  270. package/dist/compile-types.js.map +1 -0
  271. package/dist/coverage/report.js +11 -5
  272. package/dist/coverage/report.js.map +1 -1
  273. package/dist/coverage/surface-manifest.js +5 -2
  274. package/dist/coverage/surface-manifest.js.map +1 -1
  275. package/dist/diagnostics/diagnostic.d.ts +4 -0
  276. package/dist/diagnostics/diagnostic.js +15 -3
  277. package/dist/diagnostics/diagnostic.js.map +1 -1
  278. package/dist/executable/executable-cache.d.ts +3 -4
  279. package/dist/executable/executable-cache.js +33 -10
  280. package/dist/executable/executable-cache.js.map +1 -1
  281. package/dist/executable/executable-cache.test.js +38 -16
  282. package/dist/executable/executable-cache.test.js.map +1 -1
  283. package/dist/executable/prepare.d.ts +14 -0
  284. package/dist/executable/prepare.js +66 -0
  285. package/dist/executable/prepare.js.map +1 -0
  286. package/dist/ffi/ffi-manifest.d.ts +11 -4
  287. package/dist/ffi/ffi-manifest.js +170 -58
  288. package/dist/ffi/ffi-manifest.js.map +1 -1
  289. package/dist/ffi/ffi-manifest.test.d.ts +1 -0
  290. package/dist/ffi/ffi-manifest.test.js +111 -0
  291. package/dist/ffi/ffi-manifest.test.js.map +1 -0
  292. package/dist/format-integer.d.ts +3 -0
  293. package/dist/format-integer.js +14 -0
  294. package/dist/format-integer.js.map +1 -0
  295. package/dist/frontend/analysis.d.ts +5 -0
  296. package/dist/frontend/analysis.js +88 -0
  297. package/dist/frontend/analysis.js.map +1 -0
  298. package/dist/frontend/arguments-usage.d.ts +4 -0
  299. package/dist/frontend/arguments-usage.js +40 -0
  300. package/dist/frontend/arguments-usage.js.map +1 -0
  301. package/dist/frontend/binding-source.d.ts +4 -0
  302. package/dist/frontend/binding-source.js +18 -0
  303. package/dist/frontend/binding-source.js.map +1 -0
  304. package/dist/frontend/builtin-modules.d.ts +1 -1
  305. package/dist/frontend/builtin-modules.js +1 -1
  306. package/dist/frontend/builtin-modules.js.map +1 -1
  307. package/dist/frontend/cjs-lexer.d.ts +4 -25
  308. package/dist/frontend/cjs-lexer.js +6 -806
  309. package/dist/frontend/cjs-lexer.js.map +1 -1
  310. package/dist/frontend/cjs-resolve.d.ts +5 -0
  311. package/dist/frontend/cjs-resolve.js +429 -0
  312. package/dist/frontend/cjs-resolve.js.map +1 -0
  313. package/dist/frontend/cjs-syntax.d.ts +26 -0
  314. package/dist/frontend/cjs-syntax.js +806 -0
  315. package/dist/frontend/cjs-syntax.js.map +1 -0
  316. package/dist/frontend/comptime-node.d.ts +4 -0
  317. package/dist/frontend/comptime-node.js +16 -0
  318. package/dist/frontend/comptime-node.js.map +1 -0
  319. package/dist/frontend/comptime-node.test.d.ts +1 -0
  320. package/dist/frontend/comptime-node.test.js +37 -0
  321. package/dist/frontend/comptime-node.test.js.map +1 -0
  322. package/dist/frontend/dts-paths.d.ts +3 -4
  323. package/dist/frontend/dts-paths.js +15 -8
  324. package/dist/frontend/dts-paths.js.map +1 -1
  325. package/dist/frontend/fork-target.js +2 -2
  326. package/dist/frontend/fork-target.js.map +1 -1
  327. package/dist/frontend/helper-tokens.d.ts +1 -0
  328. package/dist/frontend/helper-tokens.js +147 -0
  329. package/dist/frontend/helper-tokens.js.map +1 -0
  330. package/dist/frontend/helper-tokens.test.d.ts +1 -0
  331. package/dist/frontend/helper-tokens.test.js +35 -0
  332. package/dist/frontend/helper-tokens.test.js.map +1 -0
  333. package/dist/frontend/inferred-js-diagnostics.d.ts +5 -0
  334. package/dist/frontend/inferred-js-diagnostics.js +69 -0
  335. package/dist/frontend/inferred-js-diagnostics.js.map +1 -0
  336. package/dist/frontend/inferred-js-diagnostics.test.d.ts +1 -0
  337. package/dist/frontend/inferred-js-diagnostics.test.js +58 -0
  338. package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -0
  339. package/dist/frontend/input-tracker.d.ts +5 -2
  340. package/dist/frontend/input-tracker.js +24 -3
  341. package/dist/frontend/input-tracker.js.map +1 -1
  342. package/dist/frontend/input-tracker.test.js +23 -0
  343. package/dist/frontend/input-tracker.test.js.map +1 -1
  344. package/dist/frontend/lib-contract.js +32 -24
  345. package/dist/frontend/lib-contract.js.map +1 -1
  346. package/dist/frontend/literal-values.d.ts +4 -0
  347. package/dist/frontend/literal-values.js +21 -0
  348. package/dist/frontend/literal-values.js.map +1 -0
  349. package/dist/frontend/literal-values.test.d.ts +1 -0
  350. package/dist/frontend/literal-values.test.js +91 -0
  351. package/dist/frontend/literal-values.test.js.map +1 -0
  352. package/dist/frontend/lowering/abstract-equality.d.ts +1 -1
  353. package/dist/frontend/lowering/abstract-equality.js +3 -0
  354. package/dist/frontend/lowering/abstract-equality.js.map +1 -1
  355. package/dist/frontend/lowering/array-indexed-mutation.js +11 -6
  356. package/dist/frontend/lowering/array-indexed-mutation.js.map +1 -1
  357. package/dist/frontend/lowering/array-values.d.ts +4 -1
  358. package/dist/frontend/lowering/array-values.js +43 -1
  359. package/dist/frontend/lowering/array-values.js.map +1 -1
  360. package/dist/frontend/lowering/callback-arg.js +1 -0
  361. package/dist/frontend/lowering/callback-arg.js.map +1 -1
  362. package/dist/frontend/lowering/class-callbacks.d.ts +12 -0
  363. package/dist/frontend/lowering/class-callbacks.js +63 -0
  364. package/dist/frontend/lowering/class-callbacks.js.map +1 -0
  365. package/dist/frontend/lowering/class-descriptors.d.ts +9 -0
  366. package/dist/frontend/lowering/class-descriptors.js +73 -0
  367. package/dist/frontend/lowering/class-descriptors.js.map +1 -0
  368. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +41 -0
  369. package/dist/frontend/lowering/class-dynamic-dispatch.js +803 -0
  370. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -0
  371. package/dist/frontend/lowering/class-dynamic-dispatch.test.d.ts +1 -0
  372. package/dist/frontend/lowering/class-dynamic-dispatch.test.js +92 -0
  373. package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -0
  374. package/dist/frontend/lowering/class-instance-constructor.d.ts +7 -0
  375. package/dist/frontend/lowering/class-instance-constructor.js +64 -0
  376. package/dist/frontend/lowering/class-instance-constructor.js.map +1 -0
  377. package/dist/frontend/lowering/class-method-values.d.ts +10 -0
  378. package/dist/frontend/lowering/class-method-values.js +170 -0
  379. package/dist/frontend/lowering/class-method-values.js.map +1 -0
  380. package/dist/frontend/lowering/class-prototypes.d.ts +16 -0
  381. package/dist/frontend/lowering/class-prototypes.js +134 -0
  382. package/dist/frontend/lowering/class-prototypes.js.map +1 -0
  383. package/dist/frontend/lowering/class-static-data.d.ts +6 -0
  384. package/dist/frontend/lowering/class-static-data.js +56 -0
  385. package/dist/frontend/lowering/class-static-data.js.map +1 -0
  386. package/dist/frontend/lowering/containers/buffer-numeric-methods.d.ts +4 -0
  387. package/dist/frontend/lowering/containers/buffer-numeric-methods.js +26 -0
  388. package/dist/frontend/lowering/containers/buffer-numeric-methods.js.map +1 -0
  389. package/dist/frontend/lowering/containers/bytes.d.ts +11 -7
  390. package/dist/frontend/lowering/containers/bytes.js +164 -155
  391. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  392. package/dist/frontend/lowering/containers/string-and-regexp.d.ts +2 -2
  393. package/dist/frontend/lowering/containers/string-and-regexp.js +39 -16
  394. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  395. package/dist/frontend/lowering/containers/string-replacement.d.ts +7 -0
  396. package/dist/frontend/lowering/containers/string-replacement.js +217 -0
  397. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -0
  398. package/dist/frontend/lowering/error-methods.d.ts +11 -0
  399. package/dist/frontend/lowering/error-methods.js +78 -0
  400. package/dist/frontend/lowering/error-methods.js.map +1 -0
  401. package/dist/frontend/lowering/expressions/global-symbols.d.ts +6 -0
  402. package/dist/frontend/lowering/expressions/global-symbols.js +11 -0
  403. package/dist/frontend/lowering/expressions/global-symbols.js.map +1 -0
  404. package/dist/frontend/lowering/expressions/native-proxy.d.ts +7 -0
  405. package/dist/frontend/lowering/expressions/native-proxy.js +49 -0
  406. package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -0
  407. package/dist/frontend/lowering/expressions/nullish-assignment.d.ts +6 -0
  408. package/dist/frontend/lowering/expressions/nullish-assignment.js +124 -0
  409. package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -0
  410. package/dist/frontend/lowering/expressions/object-literals.d.ts +8 -8
  411. package/dist/frontend/lowering/expressions/object-literals.js +485 -185
  412. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  413. package/dist/frontend/lowering/expressions/optional-chains.d.ts +5 -6
  414. package/dist/frontend/lowering/expressions/optional-chains.js +27 -14
  415. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  416. package/dist/frontend/lowering/expressions/try-lower-expression.js +1 -0
  417. package/dist/frontend/lowering/expressions/try-lower-expression.js.map +1 -1
  418. package/dist/frontend/lowering/expressions/union-field-write.d.ts +8 -0
  419. package/dist/frontend/lowering/expressions/union-field-write.js +71 -0
  420. package/dist/frontend/lowering/expressions/union-field-write.js.map +1 -0
  421. package/dist/frontend/lowering/function-context.d.ts +93 -0
  422. package/dist/frontend/lowering/function-context.js +103 -0
  423. package/dist/frontend/lowering/function-context.js.map +1 -0
  424. package/dist/frontend/lowering/generator-delegation.d.ts +7 -0
  425. package/dist/frontend/lowering/generator-delegation.js +85 -0
  426. package/dist/frontend/lowering/generator-delegation.js.map +1 -0
  427. package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +10 -0
  428. package/dist/frontend/lowering/generator-dynamic-dispatch.js +105 -0
  429. package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -0
  430. package/dist/frontend/lowering/lib-boundary.d.ts +2 -1
  431. package/dist/frontend/lowering/lib-boundary.js +59 -20
  432. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  433. package/dist/frontend/lowering/lib-boundary.test.d.ts +1 -0
  434. package/dist/frontend/lowering/lib-boundary.test.js +45 -0
  435. package/dist/frontend/lowering/lib-boundary.test.js.map +1 -0
  436. package/dist/frontend/lowering/lower-array-sort.d.ts +1 -1
  437. package/dist/frontend/lowering/lower-assert.d.ts +1 -1
  438. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  439. package/dist/frontend/lowering/lower-async-iteration.d.ts +1 -1
  440. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  441. package/dist/frontend/lowering/lower-builtin-values.d.ts +12 -0
  442. package/dist/frontend/lowering/lower-builtin-values.js +139 -0
  443. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -0
  444. package/dist/frontend/lowering/lower-builtins.d.ts +27 -41
  445. package/dist/frontend/lowering/lower-builtins.js +553 -346
  446. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  447. package/dist/frontend/lowering/lower-calls.d.ts +22 -26
  448. package/dist/frontend/lowering/lower-calls.js +1373 -380
  449. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  450. package/dist/frontend/lowering/lower-classes.d.ts +83 -45
  451. package/dist/frontend/lowering/lower-classes.js +952 -339
  452. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  453. package/dist/frontend/lowering/lower-comptime.d.ts +1 -1
  454. package/dist/frontend/lowering/lower-comptime.js +23 -32
  455. package/dist/frontend/lowering/lower-comptime.js.map +1 -1
  456. package/dist/frontend/lowering/lower-containers.d.ts +27 -32
  457. package/dist/frontend/lowering/lower-containers.js +796 -151
  458. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  459. package/dist/frontend/lowering/lower-dgram.d.ts +1 -1
  460. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  461. package/dist/frontend/lowering/lower-enums.d.ts +1 -1
  462. package/dist/frontend/lowering/lower-enums.js.map +1 -1
  463. package/dist/frontend/lowering/lower-event-emitter.d.ts +30 -1
  464. package/dist/frontend/lowering/lower-event-emitter.js +58 -26
  465. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  466. package/dist/frontend/lowering/lower-expando.d.ts +7 -1
  467. package/dist/frontend/lowering/lower-expando.js +14 -6
  468. package/dist/frontend/lowering/lower-expando.js.map +1 -1
  469. package/dist/frontend/lowering/lower-exprs.d.ts +35 -11
  470. package/dist/frontend/lowering/lower-exprs.js +1785 -790
  471. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  472. package/dist/frontend/lowering/lower-generators.d.ts +2 -5
  473. package/dist/frontend/lowering/lower-generators.js +77 -46
  474. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  475. package/dist/frontend/lowering/lower-global-value.d.ts +7 -0
  476. package/dist/frontend/lowering/lower-global-value.js +17 -0
  477. package/dist/frontend/lowering/lower-global-value.js.map +1 -0
  478. package/dist/frontend/lowering/lower-inspect.d.ts +1 -1
  479. package/dist/frontend/lowering/lower-inspect.js +17 -8
  480. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  481. package/dist/frontend/lowering/lower-island.d.ts +5 -8
  482. package/dist/frontend/lowering/lower-island.js +34 -23
  483. package/dist/frontend/lowering/lower-island.js.map +1 -1
  484. package/dist/frontend/lowering/lower-mixins.d.ts +2 -2
  485. package/dist/frontend/lowering/lower-mixins.js +5 -3
  486. package/dist/frontend/lowering/lower-mixins.js.map +1 -1
  487. package/dist/frontend/lowering/lower-modules.d.ts +1 -1
  488. package/dist/frontend/lowering/lower-modules.js +252 -38
  489. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  490. package/dist/frontend/lowering/lower-namespaces.d.ts +1 -1
  491. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  492. package/dist/frontend/lowering/lower-node-module.d.ts +1 -1
  493. package/dist/frontend/lowering/lower-node-module.js +13 -10
  494. package/dist/frontend/lowering/lower-node-module.js.map +1 -1
  495. package/dist/frontend/lowering/lower-server.d.ts +1 -1
  496. package/dist/frontend/lowering/lower-server.js +6 -10
  497. package/dist/frontend/lowering/lower-server.js.map +1 -1
  498. package/dist/frontend/lowering/lower-stmts.d.ts +10 -14
  499. package/dist/frontend/lowering/lower-stmts.js +731 -532
  500. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  501. package/dist/frontend/lowering/lower-stream.d.ts +1 -1
  502. package/dist/frontend/lowering/lower-stream.js +19 -10
  503. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  504. package/dist/frontend/lowering/lower-test.d.ts +1 -1
  505. package/dist/frontend/lowering/lower-test.js.map +1 -1
  506. package/dist/frontend/lowering/lower-url.d.ts +6 -0
  507. package/dist/frontend/lowering/lower-url.js +77 -0
  508. package/dist/frontend/lowering/lower-url.js.map +1 -0
  509. package/dist/frontend/lowering/lowerer.d.ts +113 -189
  510. package/dist/frontend/lowering/lowerer.js +1033 -663
  511. package/dist/frontend/lowering/lowerer.js.map +1 -1
  512. package/dist/frontend/lowering/lowerer.test.d.ts +1 -0
  513. package/dist/frontend/lowering/lowerer.test.js +26 -0
  514. package/dist/frontend/lowering/lowerer.test.js.map +1 -0
  515. package/dist/frontend/lowering/native-ffi.d.ts +5 -0
  516. package/dist/frontend/lowering/native-ffi.js +40 -0
  517. package/dist/frontend/lowering/native-ffi.js.map +1 -0
  518. package/dist/frontend/lowering/object-enumeration-receiver.d.ts +7 -0
  519. package/dist/frontend/lowering/object-enumeration-receiver.js +33 -0
  520. package/dist/frontend/lowering/object-enumeration-receiver.js.map +1 -0
  521. package/dist/frontend/lowering/object-factory-new.d.ts +8 -0
  522. package/dist/frontend/lowering/object-factory-new.js +68 -0
  523. package/dist/frontend/lowering/object-factory-new.js.map +1 -0
  524. package/dist/frontend/lowering/optional-arguments.js +6 -1
  525. package/dist/frontend/lowering/optional-arguments.js.map +1 -1
  526. package/dist/frontend/lowering/pairs-snapshot.js +2 -1
  527. package/dist/frontend/lowering/pairs-snapshot.js.map +1 -1
  528. package/dist/frontend/lowering/runtime-optional-locals.d.ts +14 -0
  529. package/dist/frontend/lowering/runtime-optional-locals.js +41 -0
  530. package/dist/frontend/lowering/runtime-optional-locals.js.map +1 -0
  531. package/dist/frontend/lowering/runtime-optional-locals.test.d.ts +1 -0
  532. package/dist/frontend/lowering/runtime-optional-locals.test.js +85 -0
  533. package/dist/frontend/lowering/runtime-optional-locals.test.js.map +1 -0
  534. package/dist/frontend/lowering/sanitize-class-types.d.ts +8 -0
  535. package/dist/frontend/lowering/sanitize-class-types.js +79 -0
  536. package/dist/frontend/lowering/sanitize-class-types.js.map +1 -0
  537. package/dist/frontend/lowering/sanitize-class-types.test.d.ts +1 -0
  538. package/dist/frontend/lowering/sanitize-class-types.test.js +60 -0
  539. package/dist/frontend/lowering/sanitize-class-types.test.js.map +1 -0
  540. package/dist/frontend/lowering/static-this.d.ts +5 -1
  541. package/dist/frontend/lowering/static-this.js +28 -2
  542. package/dist/frontend/lowering/static-this.js.map +1 -1
  543. package/dist/frontend/lowering/string-index.d.ts +7 -0
  544. package/dist/frontend/lowering/string-index.js +39 -0
  545. package/dist/frontend/lowering/string-index.js.map +1 -0
  546. package/dist/frontend/lowering/surfaces.d.ts +9 -4
  547. package/dist/frontend/lowering/surfaces.js +98 -35
  548. package/dist/frontend/lowering/surfaces.js.map +1 -1
  549. package/dist/frontend/lowering/symbol-fields.d.ts +22 -0
  550. package/dist/frontend/lowering/symbol-fields.js +183 -0
  551. package/dist/frontend/lowering/symbol-fields.js.map +1 -0
  552. package/dist/frontend/lowering/symbol-methods.d.ts +7 -0
  553. package/dist/frontend/lowering/symbol-methods.js +30 -0
  554. package/dist/frontend/lowering/symbol-methods.js.map +1 -0
  555. package/dist/frontend/lowering/text-decoder-encoding.d.ts +10 -0
  556. package/dist/frontend/lowering/text-decoder-encoding.js +77 -0
  557. package/dist/frontend/lowering/text-decoder-encoding.js.map +1 -0
  558. package/dist/frontend/lowering/text-decoder-encoding.test.d.ts +1 -0
  559. package/dist/frontend/lowering/text-decoder-encoding.test.js +38 -0
  560. package/dist/frontend/lowering/text-decoder-encoding.test.js.map +1 -0
  561. package/dist/frontend/lowering/union-narrow.d.ts +9 -0
  562. package/dist/frontend/lowering/union-narrow.js +59 -0
  563. package/dist/frontend/lowering/union-narrow.js.map +1 -0
  564. package/dist/frontend/lowering/union-narrow.test.d.ts +1 -0
  565. package/dist/frontend/lowering/union-narrow.test.js +72 -0
  566. package/dist/frontend/lowering/union-narrow.test.js.map +1 -0
  567. package/dist/frontend/lowering/union-retag.d.ts +43 -0
  568. package/dist/frontend/lowering/union-retag.js +259 -0
  569. package/dist/frontend/lowering/union-retag.js.map +1 -0
  570. package/dist/frontend/lowering/union-retag.test.d.ts +1 -0
  571. package/dist/frontend/lowering/union-retag.test.js +405 -0
  572. package/dist/frontend/lowering/union-retag.test.js.map +1 -0
  573. package/dist/frontend/lowering/unregistered-class-types.d.ts +14 -0
  574. package/dist/frontend/lowering/unregistered-class-types.js +94 -0
  575. package/dist/frontend/lowering/unregistered-class-types.js.map +1 -0
  576. package/dist/frontend/lowering/unregistered-class-types.test.d.ts +1 -0
  577. package/dist/frontend/lowering/unregistered-class-types.test.js +65 -0
  578. package/dist/frontend/lowering/unregistered-class-types.test.js.map +1 -0
  579. package/dist/frontend/lowering/width-lift.d.ts +40 -0
  580. package/dist/frontend/lowering/width-lift.js +2 -0
  581. package/dist/frontend/lowering/width-lift.js.map +1 -0
  582. package/dist/frontend/module-syntax.d.ts +58 -0
  583. package/dist/frontend/module-syntax.js +123 -0
  584. package/dist/frontend/module-syntax.js.map +1 -0
  585. package/dist/frontend/module-syntax.test.d.ts +1 -0
  586. package/dist/frontend/module-syntax.test.js +78 -0
  587. package/dist/frontend/module-syntax.test.js.map +1 -0
  588. package/dist/frontend/npm-fetch-analysis.d.ts +17 -0
  589. package/dist/frontend/npm-fetch-analysis.js +100 -0
  590. package/dist/frontend/npm-fetch-analysis.js.map +1 -0
  591. package/dist/frontend/npm-fetch-analysis.test.d.ts +1 -0
  592. package/dist/frontend/npm-fetch-analysis.test.js +107 -0
  593. package/dist/frontend/npm-fetch-analysis.test.js.map +1 -0
  594. package/dist/frontend/npm-fetch-node.d.ts +2 -0
  595. package/dist/frontend/npm-fetch-node.js +12 -0
  596. package/dist/frontend/npm-fetch-node.js.map +1 -0
  597. package/dist/frontend/npm-fetch-syntax.d.ts +6 -0
  598. package/dist/frontend/npm-fetch-syntax.js +207 -0
  599. package/dist/frontend/npm-fetch-syntax.js.map +1 -0
  600. package/dist/frontend/npm-node.d.ts +10 -0
  601. package/dist/frontend/npm-node.js +14 -0
  602. package/dist/frontend/npm-node.js.map +1 -0
  603. package/dist/frontend/npm-static-bundled-cjs.d.ts +8 -0
  604. package/dist/frontend/npm-static-bundled-cjs.js +236 -0
  605. package/dist/frontend/npm-static-bundled-cjs.js.map +1 -0
  606. package/dist/frontend/npm-static-bundled-cjs.test.d.ts +1 -0
  607. package/dist/frontend/npm-static-bundled-cjs.test.js +69 -0
  608. package/dist/frontend/npm-static-bundled-cjs.test.js.map +1 -0
  609. package/dist/frontend/npm-static-declaration-syntax.d.ts +57 -0
  610. package/dist/frontend/npm-static-declaration-syntax.js +944 -0
  611. package/dist/frontend/npm-static-declaration-syntax.js.map +1 -0
  612. package/dist/frontend/npm-static-declarations.d.ts +11 -39
  613. package/dist/frontend/npm-static-declarations.js +22 -561
  614. package/dist/frontend/npm-static-declarations.js.map +1 -1
  615. package/dist/frontend/npm-static-declarations.test.js +245 -6
  616. package/dist/frontend/npm-static-declarations.test.js.map +1 -1
  617. package/dist/frontend/npm-static-prune.d.ts +1 -1
  618. package/dist/frontend/npm-static-prune.js +5 -4
  619. package/dist/frontend/npm-static-prune.js.map +1 -1
  620. package/dist/frontend/npm-static-prune.test.js +1 -1
  621. package/dist/frontend/npm-static-prune.test.js.map +1 -1
  622. package/dist/frontend/npm-static-rewrite-host.d.ts +4 -0
  623. package/dist/frontend/npm-static-rewrite-host.js +179 -0
  624. package/dist/frontend/npm-static-rewrite-host.js.map +1 -0
  625. package/dist/frontend/npm-static-rewrite-syntax.d.ts +16 -0
  626. package/dist/frontend/npm-static-rewrite-syntax.js +905 -0
  627. package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -0
  628. package/dist/frontend/npm-static-rewrite.d.ts +0 -5
  629. package/dist/frontend/npm-static-rewrite.js +2 -1079
  630. package/dist/frontend/npm-static-rewrite.js.map +1 -1
  631. package/dist/frontend/npm-static-subtyping.d.ts +5 -0
  632. package/dist/frontend/npm-static-subtyping.js +55 -0
  633. package/dist/frontend/npm-static-subtyping.js.map +1 -0
  634. package/dist/frontend/npm-static-subtyping.test.d.ts +1 -0
  635. package/dist/frontend/npm-static-subtyping.test.js +58 -0
  636. package/dist/frontend/npm-static-subtyping.test.js.map +1 -0
  637. package/dist/frontend/npm-static.d.ts +7 -15
  638. package/dist/frontend/npm-static.js +19 -28
  639. package/dist/frontend/npm-static.js.map +1 -1
  640. package/dist/frontend/npm.d.ts +8 -69
  641. package/dist/frontend/npm.js +21 -361
  642. package/dist/frontend/npm.js.map +1 -1
  643. package/dist/frontend/npm.test.js +2 -2
  644. package/dist/frontend/npm.test.js.map +1 -1
  645. package/dist/frontend/pipeline-native.d.ts +6 -0
  646. package/dist/frontend/pipeline-native.js +32 -0
  647. package/dist/frontend/pipeline-native.js.map +1 -0
  648. package/dist/frontend/pipeline.d.ts +54 -0
  649. package/dist/frontend/pipeline.js +382 -0
  650. package/dist/frontend/pipeline.js.map +1 -0
  651. package/dist/frontend/pipeline.test.d.ts +1 -0
  652. package/dist/frontend/pipeline.test.js +77 -0
  653. package/dist/frontend/pipeline.test.js.map +1 -0
  654. package/dist/frontend/program-analysis.d.ts +10 -0
  655. package/dist/frontend/program-analysis.js +14 -0
  656. package/dist/frontend/program-analysis.js.map +1 -0
  657. package/dist/frontend/program-node.d.ts +9 -0
  658. package/dist/frontend/program-node.js +48 -0
  659. package/dist/frontend/program-node.js.map +1 -0
  660. package/dist/frontend/program.d.ts +43 -19
  661. package/dist/frontend/program.js +556 -197
  662. package/dist/frontend/program.js.map +1 -1
  663. package/dist/frontend/program.test.d.ts +1 -0
  664. package/dist/frontend/program.test.js +202 -0
  665. package/dist/frontend/program.test.js.map +1 -0
  666. package/dist/frontend/provenance-core.d.ts +9 -0
  667. package/dist/frontend/provenance-core.js +435 -0
  668. package/dist/frontend/provenance-core.js.map +1 -0
  669. package/dist/frontend/provenance.d.ts +0 -4
  670. package/dist/frontend/provenance.js +4 -459
  671. package/dist/frontend/provenance.js.map +1 -1
  672. package/dist/frontend/resolve.d.ts +3 -1
  673. package/dist/frontend/resolve.js +6 -3
  674. package/dist/frontend/resolve.js.map +1 -1
  675. package/dist/frontend/runtime-resolve.d.ts +4 -3
  676. package/dist/frontend/runtime-resolve.js +22 -18
  677. package/dist/frontend/runtime-resolve.js.map +1 -1
  678. package/dist/frontend/runtime-resolve.test.js +53 -0
  679. package/dist/frontend/runtime-resolve.test.js.map +1 -1
  680. package/dist/frontend/services-node.d.ts +5 -0
  681. package/dist/frontend/services-node.js +19 -0
  682. package/dist/frontend/services-node.js.map +1 -0
  683. package/dist/frontend/services-node.test.d.ts +1 -0
  684. package/dist/frontend/services-node.test.js +70 -0
  685. package/dist/frontend/services-node.test.js.map +1 -0
  686. package/dist/frontend/services.d.ts +44 -0
  687. package/dist/frontend/services.js +90 -0
  688. package/dist/frontend/services.js.map +1 -0
  689. package/dist/frontend/services.test.d.ts +1 -0
  690. package/dist/frontend/services.test.js +174 -0
  691. package/dist/frontend/services.test.js.map +1 -0
  692. package/dist/frontend/ts7/adapter.d.ts +3 -3
  693. package/dist/frontend/ts7/adapter.js +14 -31
  694. package/dist/frontend/ts7/adapter.js.map +1 -1
  695. package/dist/frontend/ts7/api.d.ts +16 -0
  696. package/dist/frontend/ts7/api.js +24 -0
  697. package/dist/frontend/ts7/api.js.map +1 -0
  698. package/dist/frontend/ts7/ast-bytes.d.ts +31 -0
  699. package/dist/frontend/ts7/ast-bytes.js +137 -0
  700. package/dist/frontend/ts7/ast-bytes.js.map +1 -0
  701. package/dist/frontend/ts7/ast-bytes.test.d.ts +1 -0
  702. package/dist/frontend/ts7/ast-bytes.test.js +73 -0
  703. package/dist/frontend/ts7/ast-bytes.test.js.map +1 -0
  704. package/dist/frontend/ts7/ast-guards.generated.d.ts +353 -0
  705. package/dist/frontend/ts7/ast-guards.generated.js +1951 -0
  706. package/dist/frontend/ts7/ast-guards.generated.js.map +1 -0
  707. package/dist/frontend/ts7/ast-guards.test.d.ts +1 -0
  708. package/dist/frontend/ts7/ast-guards.test.js +43 -0
  709. package/dist/frontend/ts7/ast-guards.test.js.map +1 -0
  710. package/dist/frontend/ts7/ast-node.d.ts +194 -0
  711. package/dist/frontend/ts7/ast-node.js +448 -0
  712. package/dist/frontend/ts7/ast-node.js.map +1 -0
  713. package/dist/frontend/ts7/ast-node.test.d.ts +1 -0
  714. package/dist/frontend/ts7/ast-node.test.js +266 -0
  715. package/dist/frontend/ts7/ast-node.test.js.map +1 -0
  716. package/dist/frontend/ts7/ast-schema.generated.d.ts +503 -0
  717. package/dist/frontend/ts7/ast-schema.generated.js +1446 -0
  718. package/dist/frontend/ts7/ast-schema.generated.js.map +1 -0
  719. package/dist/frontend/ts7/ast-text.d.ts +6 -0
  720. package/dist/frontend/ts7/ast-text.js +124 -0
  721. package/dist/frontend/ts7/ast-text.js.map +1 -0
  722. package/dist/frontend/ts7/ast-text.test.d.ts +1 -0
  723. package/dist/frontend/ts7/ast-text.test.js +38 -0
  724. package/dist/frontend/ts7/ast-text.test.js.map +1 -0
  725. package/dist/frontend/ts7/ast-tokens.generated.d.ts +2 -0
  726. package/dist/frontend/ts7/ast-tokens.generated.js +155 -0
  727. package/dist/frontend/ts7/ast-tokens.generated.js.map +1 -0
  728. package/dist/frontend/ts7/ast-types.d.ts +42 -0
  729. package/dist/frontend/ts7/ast-types.generated.d.ts +1615 -0
  730. package/dist/frontend/ts7/ast-types.generated.js +5 -0
  731. package/dist/frontend/ts7/ast-types.generated.js.map +1 -0
  732. package/dist/frontend/ts7/ast-types.js +3 -0
  733. package/dist/frontend/ts7/ast-types.js.map +1 -0
  734. package/dist/frontend/ts7/ast-wire.d.ts +58 -0
  735. package/dist/frontend/ts7/ast-wire.js +267 -0
  736. package/dist/frontend/ts7/ast-wire.js.map +1 -0
  737. package/dist/frontend/ts7/ast-wire.test.d.ts +1 -0
  738. package/dist/frontend/ts7/ast-wire.test.js +151 -0
  739. package/dist/frontend/ts7/ast-wire.test.js.map +1 -0
  740. package/dist/frontend/ts7/ast.d.ts +14 -14
  741. package/dist/frontend/ts7/ast.js +21 -15
  742. package/dist/frontend/ts7/ast.js.map +1 -1
  743. package/dist/frontend/ts7/census-check.js +1 -0
  744. package/dist/frontend/ts7/census-check.js.map +1 -1
  745. package/dist/frontend/ts7/checker-cache.d.ts +48 -0
  746. package/dist/frontend/ts7/checker-cache.js +92 -0
  747. package/dist/frontend/ts7/checker-cache.js.map +1 -0
  748. package/dist/frontend/ts7/checker.d.ts +19 -46
  749. package/dist/frontend/ts7/checker.js +231 -161
  750. package/dist/frontend/ts7/checker.js.map +1 -1
  751. package/dist/frontend/ts7/checker.test.d.ts +1 -0
  752. package/dist/frontend/ts7/checker.test.js +335 -0
  753. package/dist/frontend/ts7/checker.test.js.map +1 -0
  754. package/dist/frontend/ts7/enums.d.ts +4 -27
  755. package/dist/frontend/ts7/enums.generated.d.ts +878 -0
  756. package/dist/frontend/ts7/enums.generated.js +1313 -0
  757. package/dist/frontend/ts7/enums.generated.js.map +1 -0
  758. package/dist/frontend/ts7/enums.js +4 -45
  759. package/dist/frontend/ts7/enums.js.map +1 -1
  760. package/dist/frontend/ts7/enums.test.d.ts +1 -0
  761. package/dist/frontend/ts7/enums.test.js +48 -0
  762. package/dist/frontend/ts7/enums.test.js.map +1 -0
  763. package/dist/frontend/ts7/native-api.d.ts +10 -0
  764. package/dist/frontend/ts7/native-api.js +10 -0
  765. package/dist/frontend/ts7/native-api.js.map +1 -0
  766. package/dist/frontend/ts7/native-host.d.ts +2 -0
  767. package/dist/frontend/ts7/native-host.js +11 -0
  768. package/dist/frontend/ts7/native-host.js.map +1 -0
  769. package/dist/frontend/ts7/native-process.d.ts +14 -0
  770. package/dist/frontend/ts7/native-process.js +62 -0
  771. package/dist/frontend/ts7/native-process.js.map +1 -0
  772. package/dist/frontend/ts7/program-adapter.d.ts +10 -98
  773. package/dist/frontend/ts7/program-adapter.js +16 -310
  774. package/dist/frontend/ts7/program-adapter.js.map +1 -1
  775. package/dist/frontend/ts7/program-host.d.ts +115 -0
  776. package/dist/frontend/ts7/program-host.js +347 -0
  777. package/dist/frontend/ts7/program-host.js.map +1 -0
  778. package/dist/frontend/ts7/program-host.test.d.ts +1 -0
  779. package/dist/frontend/ts7/program-host.test.js +207 -0
  780. package/dist/frontend/ts7/program-host.test.js.map +1 -0
  781. package/dist/frontend/ts7/rpc-api.d.ts +12 -0
  782. package/dist/frontend/ts7/rpc-api.js +23 -0
  783. package/dist/frontend/ts7/rpc-api.js.map +1 -0
  784. package/dist/frontend/ts7/rpc-client.d.ts +27 -0
  785. package/dist/frontend/ts7/rpc-client.js +102 -0
  786. package/dist/frontend/ts7/rpc-client.js.map +1 -0
  787. package/dist/frontend/ts7/rpc-client.test.d.ts +1 -0
  788. package/dist/frontend/ts7/rpc-client.test.js +133 -0
  789. package/dist/frontend/ts7/rpc-client.test.js.map +1 -0
  790. package/dist/frontend/ts7/rpc-filesystem.d.ts +16 -0
  791. package/dist/frontend/ts7/rpc-filesystem.js +42 -0
  792. package/dist/frontend/ts7/rpc-filesystem.js.map +1 -0
  793. package/dist/frontend/ts7/rpc-filesystem.test.d.ts +1 -0
  794. package/dist/frontend/ts7/rpc-filesystem.test.js +89 -0
  795. package/dist/frontend/ts7/rpc-filesystem.test.js.map +1 -0
  796. package/dist/frontend/ts7/rpc-process.d.ts +2 -0
  797. package/dist/frontend/ts7/rpc-process.js +148 -0
  798. package/dist/frontend/ts7/rpc-process.js.map +1 -0
  799. package/dist/frontend/ts7/rpc-process.test.d.ts +1 -0
  800. package/dist/frontend/ts7/rpc-process.test.js +29 -0
  801. package/dist/frontend/ts7/rpc-process.test.js.map +1 -0
  802. package/dist/frontend/ts7/rpc-wire.d.ts +46 -0
  803. package/dist/frontend/ts7/rpc-wire.js +195 -0
  804. package/dist/frontend/ts7/rpc-wire.js.map +1 -0
  805. package/dist/frontend/ts7/rpc-wire.test.d.ts +1 -0
  806. package/dist/frontend/ts7/rpc-wire.test.js +168 -0
  807. package/dist/frontend/ts7/rpc-wire.test.js.map +1 -0
  808. package/dist/frontend/ts7/semantic-checker.d.ts +137 -0
  809. package/dist/frontend/ts7/semantic-checker.js +221 -0
  810. package/dist/frontend/ts7/semantic-checker.js.map +1 -0
  811. package/dist/frontend/ts7/semantic-checker.test.d.ts +1 -0
  812. package/dist/frontend/ts7/semantic-checker.test.js +119 -0
  813. package/dist/frontend/ts7/semantic-checker.test.js.map +1 -0
  814. package/dist/frontend/ts7/semantic-json.d.ts +5 -0
  815. package/dist/frontend/ts7/semantic-json.js +52 -0
  816. package/dist/frontend/ts7/semantic-json.js.map +1 -0
  817. package/dist/frontend/ts7/semantic-json.test.d.ts +1 -0
  818. package/dist/frontend/ts7/semantic-json.test.js +42 -0
  819. package/dist/frontend/ts7/semantic-json.test.js.map +1 -0
  820. package/dist/frontend/ts7/semantic-model.d.ts +222 -0
  821. package/dist/frontend/ts7/semantic-model.js +423 -0
  822. package/dist/frontend/ts7/semantic-model.js.map +1 -0
  823. package/dist/frontend/ts7/semantic-model.test.d.ts +1 -0
  824. package/dist/frontend/ts7/semantic-model.test.js +322 -0
  825. package/dist/frontend/ts7/semantic-model.test.js.map +1 -0
  826. package/dist/frontend/ts7/semantic-schema.generated.d.ts +283 -0
  827. package/dist/frontend/ts7/semantic-schema.generated.js +222 -0
  828. package/dist/frontend/ts7/semantic-schema.generated.js.map +1 -0
  829. package/dist/frontend/ts7/semantic-types.d.ts +5 -0
  830. package/dist/frontend/ts7/semantic-types.js +2 -0
  831. package/dist/frontend/ts7/semantic-types.js.map +1 -0
  832. package/dist/frontend/ts7/session-cache.d.ts +17 -0
  833. package/dist/frontend/ts7/session-cache.js +97 -0
  834. package/dist/frontend/ts7/session-cache.js.map +1 -0
  835. package/dist/frontend/ts7/session-cache.test.d.ts +1 -0
  836. package/dist/frontend/ts7/session-cache.test.js +87 -0
  837. package/dist/frontend/ts7/session-cache.test.js.map +1 -0
  838. package/dist/frontend/ts7/session-path.d.ts +18 -0
  839. package/dist/frontend/ts7/session-path.js +203 -0
  840. package/dist/frontend/ts7/session-path.js.map +1 -0
  841. package/dist/frontend/ts7/session-path.test.d.ts +1 -0
  842. package/dist/frontend/ts7/session-path.test.js +34 -0
  843. package/dist/frontend/ts7/session-path.test.js.map +1 -0
  844. package/dist/frontend/ts7/session-schema.generated.d.ts +167 -0
  845. package/dist/frontend/ts7/session-schema.generated.js +5 -0
  846. package/dist/frontend/ts7/session-schema.generated.js.map +1 -0
  847. package/dist/frontend/ts7/session-timing.d.ts +50 -0
  848. package/dist/frontend/ts7/session-timing.js +61 -0
  849. package/dist/frontend/ts7/session-timing.js.map +1 -0
  850. package/dist/frontend/ts7/session-timing.test.d.ts +1 -0
  851. package/dist/frontend/ts7/session-timing.test.js +52 -0
  852. package/dist/frontend/ts7/session-timing.test.js.map +1 -0
  853. package/dist/frontend/ts7/session.d.ts +105 -0
  854. package/dist/frontend/ts7/session.js +233 -0
  855. package/dist/frontend/ts7/session.js.map +1 -0
  856. package/dist/frontend/ts7/session.test.d.ts +1 -0
  857. package/dist/frontend/ts7/session.test.js +215 -0
  858. package/dist/frontend/ts7/session.test.js.map +1 -0
  859. package/dist/frontend/ts7/source-parser-node.d.ts +6 -0
  860. package/dist/frontend/ts7/source-parser-node.js +15 -0
  861. package/dist/frontend/ts7/source-parser-node.js.map +1 -0
  862. package/dist/frontend/ts7/source-parser.d.ts +25 -0
  863. package/dist/frontend/ts7/source-parser.js +96 -0
  864. package/dist/frontend/ts7/source-parser.js.map +1 -0
  865. package/dist/frontend/ts7/source-parser.test.d.ts +1 -0
  866. package/dist/frontend/ts7/source-parser.test.js +151 -0
  867. package/dist/frontend/ts7/source-parser.test.js.map +1 -0
  868. package/dist/frontend/ts7/syntax.d.ts +3 -0
  869. package/dist/frontend/ts7/syntax.js +4 -0
  870. package/dist/frontend/ts7/syntax.js.map +1 -0
  871. package/dist/frontend/tsc-codes.js +3 -0
  872. package/dist/frontend/tsc-codes.js.map +1 -1
  873. package/dist/frontend/type-mapper.d.ts +29 -19
  874. package/dist/frontend/type-mapper.js +713 -306
  875. package/dist/frontend/type-mapper.js.map +1 -1
  876. package/dist/frontend/type-mapper.test.d.ts +1 -0
  877. package/dist/frontend/type-mapper.test.js +207 -0
  878. package/dist/frontend/type-mapper.test.js.map +1 -0
  879. package/dist/frontend/union-discriminants.d.ts +16 -0
  880. package/dist/frontend/union-discriminants.js +98 -0
  881. package/dist/frontend/union-discriminants.js.map +1 -0
  882. package/dist/frontend/union-discriminants.test.d.ts +1 -0
  883. package/dist/frontend/union-discriminants.test.js +182 -0
  884. package/dist/frontend/union-discriminants.test.js.map +1 -0
  885. package/dist/index.d.ts +7 -197
  886. package/dist/index.js +369 -1567
  887. package/dist/index.js.map +1 -1
  888. package/dist/ir/analysis.d.ts +16 -4
  889. package/dist/ir/analysis.js +25 -6
  890. package/dist/ir/analysis.js.map +1 -1
  891. package/dist/ir/analysis.test.js +15 -2
  892. package/dist/ir/analysis.test.js.map +1 -1
  893. package/dist/ir/constant-tables.js +67 -49
  894. package/dist/ir/constant-tables.js.map +1 -1
  895. package/dist/ir/constant-tables.test.js +1 -1
  896. package/dist/ir/control-flow.d.ts +6 -0
  897. package/dist/ir/control-flow.js +142 -0
  898. package/dist/ir/control-flow.js.map +1 -0
  899. package/dist/ir/control-flow.test.d.ts +1 -0
  900. package/dist/ir/control-flow.test.js +113 -0
  901. package/dist/ir/control-flow.test.js.map +1 -0
  902. package/dist/ir/integer-loops.js +7 -18
  903. package/dist/ir/integer-loops.js.map +1 -1
  904. package/dist/ir/integer-ranges.js +53 -27
  905. package/dist/ir/integer-ranges.js.map +1 -1
  906. package/dist/ir/ir.d.ts +309 -164
  907. package/dist/ir/ir.js +588 -879
  908. package/dist/ir/ir.js.map +1 -1
  909. package/dist/ir/ir.test.js +127 -1
  910. package/dist/ir/ir.test.js.map +1 -1
  911. package/dist/ir/scalar-records.js +165 -134
  912. package/dist/ir/scalar-records.js.map +1 -1
  913. package/dist/ir/scalar-records.test.js +1 -1
  914. package/dist/ir/serialize.d.ts +4 -2
  915. package/dist/ir/serialize.js +19 -12
  916. package/dist/ir/serialize.js.map +1 -1
  917. package/dist/ir/serialize.test.d.ts +1 -0
  918. package/dist/ir/serialize.test.js +53 -0
  919. package/dist/ir/serialize.test.js.map +1 -0
  920. package/dist/ir/traverse.d.ts +41 -0
  921. package/dist/ir/traverse.js +660 -0
  922. package/dist/ir/traverse.js.map +1 -0
  923. package/dist/ir/traverse.test.d.ts +1 -0
  924. package/dist/ir/traverse.test.js +242 -0
  925. package/dist/ir/traverse.test.js.map +1 -0
  926. package/dist/ir/validate.js +1956 -1496
  927. package/dist/ir/validate.js.map +1 -1
  928. package/dist/ir/validate.test.js +476 -2
  929. package/dist/ir/validate.test.js.map +1 -1
  930. package/dist/library/cache-primitives.d.ts +2 -3
  931. package/dist/library/cache-primitives.js +4 -6
  932. package/dist/library/cache-primitives.js.map +1 -1
  933. package/dist/library/compiler-self-identity.d.ts +1 -1
  934. package/dist/library/compiler-self-identity.js +31 -15
  935. package/dist/library/compiler-self-identity.js.map +1 -1
  936. package/dist/library/compiler-self-identity.test.d.ts +1 -0
  937. package/dist/library/compiler-self-identity.test.js +93 -0
  938. package/dist/library/compiler-self-identity.test.js.map +1 -0
  939. package/dist/library/fence-eval.js +2 -2
  940. package/dist/library/fence-eval.js.map +1 -1
  941. package/dist/library/int-infer.js +7 -6
  942. package/dist/library/int-infer.js.map +1 -1
  943. package/dist/library/int-infer.test.js +4 -4
  944. package/dist/library/library-cache.d.ts +3 -2
  945. package/dist/library/library-cache.js +5 -17
  946. package/dist/library/library-cache.js.map +1 -1
  947. package/dist/library/library-cache.test.js +54 -41
  948. package/dist/library/library-cache.test.js.map +1 -1
  949. package/dist/library/library-profile.d.ts +3 -1
  950. package/dist/library/library-profile.js +15 -6
  951. package/dist/library/library-profile.js.map +1 -1
  952. package/dist/library/prepare.d.ts +15 -0
  953. package/dist/library/prepare.js +584 -0
  954. package/dist/library/prepare.js.map +1 -0
  955. package/dist/library/semantic-source.d.ts +1 -1
  956. package/dist/library/semantic-source.js +8 -6
  957. package/dist/library/semantic-source.js.map +1 -1
  958. package/dist/library/sidecar-validate.js +4 -4
  959. package/dist/library/sidecar-validate.js.map +1 -1
  960. package/dist/library/sidecar.d.ts +2 -0
  961. package/dist/library/sidecar.js +10 -3
  962. package/dist/library/sidecar.js.map +1 -1
  963. package/dist/native/cache.d.ts +11 -0
  964. package/dist/native/cache.js +113 -0
  965. package/dist/native/cache.js.map +1 -0
  966. package/dist/native/cache.test.d.ts +1 -0
  967. package/dist/native/cache.test.js +66 -0
  968. package/dist/native/cache.test.js.map +1 -0
  969. package/dist/native/cli.d.ts +1 -0
  970. package/dist/native/cli.js +112 -0
  971. package/dist/native/cli.js.map +1 -0
  972. package/dist/native/compiler.d.ts +15 -0
  973. package/dist/native/compiler.js +336 -0
  974. package/dist/native/compiler.js.map +1 -0
  975. package/dist/native/compiler.test.d.ts +1 -0
  976. package/dist/native/compiler.test.js +174 -0
  977. package/dist/native/compiler.test.js.map +1 -0
  978. package/dist/native/comptime.d.ts +5 -0
  979. package/dist/native/comptime.js +73 -0
  980. package/dist/native/comptime.js.map +1 -0
  981. package/dist/native/comptime.test.d.ts +1 -0
  982. package/dist/native/comptime.test.js +65 -0
  983. package/dist/native/comptime.test.js.map +1 -0
  984. package/dist/native/executable-cache.d.ts +26 -0
  985. package/dist/native/executable-cache.js +228 -0
  986. package/dist/native/executable-cache.js.map +1 -0
  987. package/dist/native/executable-cache.test.d.ts +1 -0
  988. package/dist/native/executable-cache.test.js +151 -0
  989. package/dist/native/executable-cache.test.js.map +1 -0
  990. package/dist/native/file-identity.d.ts +4 -0
  991. package/dist/native/file-identity.js +14 -0
  992. package/dist/native/file-identity.js.map +1 -0
  993. package/dist/native/file-identity.test.d.ts +1 -0
  994. package/dist/native/file-identity.test.js +43 -0
  995. package/dist/native/file-identity.test.js.map +1 -0
  996. package/dist/native/library.d.ts +22 -0
  997. package/dist/native/library.js +83 -0
  998. package/dist/native/library.js.map +1 -0
  999. package/dist/native/prepare.d.ts +21 -0
  1000. package/dist/native/prepare.js +174 -0
  1001. package/dist/native/prepare.js.map +1 -0
  1002. package/dist/native/prepare.test.d.ts +1 -0
  1003. package/dist/native/prepare.test.js +70 -0
  1004. package/dist/native/prepare.test.js.map +1 -0
  1005. package/dist/native/sanitizer.d.ts +11 -0
  1006. package/dist/native/sanitizer.js +135 -0
  1007. package/dist/native/sanitizer.js.map +1 -0
  1008. package/dist/native/sanitizer.test.d.ts +1 -0
  1009. package/dist/native/sanitizer.test.js +58 -0
  1010. package/dist/native/sanitizer.test.js.map +1 -0
  1011. package/dist/native/task.d.ts +4 -0
  1012. package/dist/native/task.js +16 -0
  1013. package/dist/native/task.js.map +1 -0
  1014. package/dist/native/task.test.d.ts +1 -0
  1015. package/dist/native/task.test.js +17 -0
  1016. package/dist/native/task.test.js.map +1 -0
  1017. package/dist/native/toolchain.d.ts +45 -0
  1018. package/dist/native/toolchain.js +74 -0
  1019. package/dist/native/toolchain.js.map +1 -0
  1020. package/dist/native/toolchain.test.d.ts +1 -0
  1021. package/dist/native/toolchain.test.js +33 -0
  1022. package/dist/native/toolchain.test.js.map +1 -0
  1023. package/dist/startup-cache.d.ts +1 -1
  1024. package/dist/startup-cache.js +2 -5
  1025. package/dist/startup-cache.js.map +1 -1
  1026. package/dist/timing.d.ts +4 -0
  1027. package/dist/timing.js +19 -0
  1028. package/dist/timing.js.map +1 -0
  1029. package/dist/wasi-paths.js +10 -7
  1030. package/dist/wasi-paths.js.map +1 -1
  1031. package/package.json +28 -19
  1032. package/surface-manifest.json +171 -18
  1033. package/dist/backend/c/async.d.ts +0 -171
  1034. package/dist/backend/c/async.js +0 -1317
  1035. package/dist/backend/c/async.js.map +0 -1
  1036. package/dist/backend/c/c-emitter.d.ts +0 -531
  1037. package/dist/backend/c/c-emitter.js +0 -1917
  1038. package/dist/backend/c/c-emitter.js.map +0 -1
  1039. package/dist/backend/c/exprs.d.ts +0 -15
  1040. package/dist/backend/c/exprs.js +0 -8803
  1041. package/dist/backend/c/exprs.js.map +0 -1
  1042. package/dist/backend/c/island.d.ts +0 -45
  1043. package/dist/backend/c/island.js +0 -281
  1044. package/dist/backend/c/island.js.map +0 -1
  1045. package/dist/backend/c/may-throw.js.map +0 -1
  1046. package/dist/backend/c/shapes.d.ts +0 -142
  1047. package/dist/backend/c/shapes.js +0 -603
  1048. package/dist/backend/c/shapes.js.map +0 -1
  1049. package/dist/backend/c/stmts.d.ts +0 -76
  1050. package/dist/backend/c/stmts.js +0 -1084
  1051. package/dist/backend/c/stmts.js.map +0 -1
  1052. package/dist/backend/c/types.d.ts +0 -71
  1053. package/dist/backend/c/types.js +0 -459
  1054. package/dist/backend/c/types.js.map +0 -1
  1055. package/dist/backend/c/types.test.js +0 -32
  1056. package/dist/backend/c/types.test.js.map +0 -1
  1057. package/dist/backend/c/walkers.d.ts +0 -134
  1058. package/dist/backend/c/walkers.js +0 -1773
  1059. package/dist/backend/c/walkers.js.map +0 -1
  1060. /package/dist/backend/{c/types.test.d.ts → cycle-analysis.test.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lower-url.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lower-url.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
+ import { RuntimeOptionalLocals } from "./runtime-optional-locals.js";
2
+ import type { WidthLift } from "./width-lift.js";
3
+ export type { WidthLift } from "./width-lift.js";
4
+ import { type FnCtx } from "./function-context.js";
5
+ export { newFnCtx, type FnCtx } from "./function-context.js";
6
+ import type { FrontendServices } from "../services.js";
7
+ import type { ClassSymbolKey } from "./symbol-fields.js";
8
+ import type { HttpClientFnBinding } from "./lower-server.js";
1
9
  import * as ts from "../ts7/adapter.js";
2
10
  import type { ScrDiagnostic } from "../../diagnostics/diagnostic.js";
3
11
  import { UNSUPPORTED } from "../../diagnostics/diagnostic.js";
@@ -5,52 +13,17 @@ import type { IrClassDef, IrExpr, IrFfiImport, IrFunction, IrGlobal, IrLocal, Ir
5
13
  import { type DynamicImportResolution, type NpmBuiltinUse, type NpmLazyTrap } from "../npm.js";
6
14
  import { type StartupCrash } from "../program.js";
7
15
  import { ShapeRegistry, type TypeMapperCtx, UnionRegistry } from "../type-mapper.js";
8
- import { CompoundOp, IslandFnEntry, BuiltinModuleFn } from "./surfaces.js";
9
- import { FileParts } from "./lower-modules.js";
10
- import { ClassInfo, ClassIteratorInfo, GenericClassInfo, findStaticOn } from "./lower-classes.js";
11
- import { MixinFnShape } from "./lower-mixins.js";
12
- import { ParamShape, FnSig, GenericFnInfo, GenericInstance } from "./lower-calls.js";
13
- import { type EmitSpecCtx, type EmitSpecRequest } from "./lower-event-emitter.js";
14
- import { FieldTarget } from "./lower-exprs.js";
15
- import type { ExpandoMember } from "./lower-expando.js";
16
+ import { type CompoundOp, type IslandFnEntry, type BuiltinModuleFn } from "./surfaces.js";
17
+ import { type FileParts } from "./lower-modules.js";
18
+ import { type ClassInfo, type ClassIteratorInfo, type GenericClassInfo, findStaticOn } from "./lower-classes.js";
19
+ import { type MixinFnShape } from "./lower-mixins.js";
20
+ import { type ParamShape, type FnSig, type GenericFnInfo, type GenericInstance } from "./lower-calls.js";
21
+ import { type ComputedEventPattern, type EmitSpecCtx, type EmitSpecRequest, type EventSig } from "./lower-event-emitter.js";
22
+ import { type FieldTarget } from "./lower-exprs.js";
23
+ import type { ExpandoMembers } from "./lower-expando.js";
16
24
  /** Entry function name. '%' cannot appear in a TS identifier, so a user
17
25
  * function can never collide with it (mangling is injective per prefix). */
18
26
  export declare const ENTRY_NAME = "%main";
19
- /** One step of the copy-reshape width relation (widthLiftPlan): how a
20
- * source-typed value enters a destination slot. Pure data — the plan half;
21
- * applyWidthLift is the build half. */
22
- export type WidthLift = {
23
- how: "copy";
24
- } | {
25
- how: "wrap";
26
- tag: number;
27
- } | {
28
- how: "retag";
29
- } | {
30
- how: "liftWrap";
31
- tag: number;
32
- arm: IrType;
33
- } | {
34
- how: "width";
35
- } | {
36
- how: "arr";
37
- } | {
38
- how: "tupleArr";
39
- } | {
40
- how: "emptyArr";
41
- } | {
42
- how: "objWidth";
43
- } | {
44
- how: "clsWidth";
45
- } | {
46
- how: "narrow";
47
- } | {
48
- how: "dynIn";
49
- } | {
50
- how: "upcast";
51
- } | {
52
- how: "funcAdapt";
53
- };
54
27
  export declare class PoisonError extends Error {
55
28
  }
56
29
  /** A function-shaped value that exists only in the compiler's static
@@ -77,64 +50,6 @@ export type StaticCallableProjection = {
77
50
  * NAMES user code can spell now that the real lib declares them; treating
78
51
  * an inherited function as a table entry would mis-lower or ICE. */
79
52
  export declare function own<T>(table: Record<string, T | undefined>, key: string): T | undefined;
80
- /** Per-function lowering context. A stack of these models nested functions:
81
- * identifier resolution walks outward, and a hit in an enclosing context
82
- * turns into a capture (boxing the binding at its origin and threading it
83
- * through every function in between). */
84
- export interface FnCtx {
85
- locals: IrLocal[];
86
- scopes: Map<ts.Symbol, IrLocal>[];
87
- localCounters: Map<string, number>;
88
- /** Lifted functions only: capture entries (also present in `locals`,
89
- * boxed), in closure caps[] order. undefined ⇔ plain declared function. */
90
- captures: IrParam[] | null;
91
- /** Parent-function localIds feeding each capture, parallel to captures. */
92
- captureSources: string[];
93
- captureBySymbol: Map<ts.Symbol, IrLocal>;
94
- /** Named function expressions/declarations: the function's own name
95
- * symbol. Self-references become `selfRef` (NOT a capture — a box holding
96
- * its own closure would be an RC cycle and leak). */
97
- selfSymbol: ts.Symbol | null;
98
- selfType: IrType | null;
99
- /** Await is legal here (async function body). */
100
- isAsync?: boolean;
101
- /** Yield is legal here (generator function body): the yield/next value
102
- * channels the yield lowering types itself against. */
103
- generator?: {
104
- yieldT: IrType;
105
- nextT: IrType;
106
- resultType: IrType & {
107
- kind: "record";
108
- };
109
- } | null;
110
- /** VARIADIC `arguments` form (rest-marked func type with no declared
111
- * rest param): the synthetic trailing dyn-array param `arguments`
112
- * reads resolve to. */
113
- argumentsLocal?: IrLocal | null;
114
- /** Declared return type — lets `return` detect record-shape mismatches
115
- * (SC2002) before the validator would ICE on them. */
116
- returnType: IrType;
117
- /** Implicit-any instance RETURN INFERENCE (resolveInferredReturn):
118
- * present ⇔ `return` statements lower their values BARE (no coercion)
119
- * and record themselves here; the post-pass unifies the types and wraps
120
- * each return onto the settled one. `returnType` holds the DYN pin. */
121
- inferReturn?: {
122
- entries: {
123
- stmt: IrStmt;
124
- node: ts.Expression | null;
125
- }[];
126
- } | null;
127
- /** Enclosing jump targets, innermost last. `labels` carries the source
128
- * statement's JS label names so labeled break/continue resolve. Finally
129
- * regions do not appear here: the backends route every abrupt completion
130
- * through the cleanup regions it crosses. Per function, so a nested
131
- * function's jumps never bind to enclosing constructs. */
132
- ctl: {
133
- kind: "loop" | "switch" | "block";
134
- labels?: string[];
135
- }[];
136
- }
137
- export declare function newFnCtx(lifted: boolean, selfSymbol: ts.Symbol | null, selfType: IrType | null, returnType: IrType): FnCtx;
138
53
  export interface LowerStats {
139
54
  /** Statements the lowerer attempted (nested statements count individually;
140
55
  * statements inside a poisoned construct were never reached and don't). */
@@ -148,14 +63,12 @@ export interface LowerStats {
148
63
  /** Functions whose signature couldn't be analyzed (bodies not counted). */
149
64
  functionsSkipped: number;
150
65
  }
151
- /** True when a lowered statement's OWN expressions contain island
152
- * constructs — a generic JSON walk (like moduleUsesRegex): `kind`
153
- * discriminants live only on IR objects, so user string values can never
154
- * false-positive. Nested statements are skipped (counted separately). */
155
66
  /** Every identifier a binding name binds: the identifier itself, or all
156
67
  * identifiers of a (possibly nested) destructuring pattern in source
157
68
  * order. */
158
69
  export declare function boundIdentifiersOf(name: ts.BindingName): ts.Identifier[];
70
+ /** Inspect executable children directly, without boxing the statement tree
71
+ * into checked-dynamic storage just to calculate coverage. */
159
72
  export declare function stmtUsesIsland(stmts: IrStmt | IrStmt[]): boolean;
160
73
  export interface LowerResult {
161
74
  /** Present iff diagnostics is empty. */
@@ -190,6 +103,8 @@ export interface LowerResult {
190
103
  npmLazyTraps?: NpmLazyTrap[];
191
104
  }
192
105
  export interface LowerOptions {
106
+ /** Parser/checker services owned by the load; required for npm graph analysis. */
107
+ frontendServices?: FrontendServices | undefined;
193
108
  /** --dynamic: the island engine is linked, so island constructs
194
109
  * (__island_eval) may lower. Off by default — without it they produce a
195
110
  * requires-dynamic diagnostic instead. */
@@ -269,6 +184,7 @@ interface RuntimeFenceClosureTarget extends Omit<RuntimeFenceFunctionTarget, "ki
269
184
  }
270
185
  /** The Lowerer's pass configuration (see lowerToIr). */
271
186
  export interface LowererMode {
187
+ frontendServices?: FrontendServices | undefined;
272
188
  /** Names of bodies a prior reachability pass reached; null lowers everything. */
273
189
  reachable?: ReadonlySet<string> | null;
274
190
  /** Coverage remainder: lower ONLY bodies outside `reachable`, skip the
@@ -421,6 +337,7 @@ export declare class Lowerer {
421
337
  readonly entry: ts.SourceFile;
422
338
  readonly moduleOrder: ts.SourceFile[];
423
339
  readonly dynamic: boolean;
340
+ readonly frontendServices: FrontendServices | undefined;
424
341
  readonly checker: ts.TypeChecker;
425
342
  readonly diags: ScrDiagnostic[];
426
343
  readonly fnSigsBySymbol: Map<ts.Symbol, FnSig>;
@@ -432,14 +349,14 @@ export declare class Lowerer {
432
349
  /** Object-literal GENERIC methods (`{ m<T>(x: T) {...} }`), interned by
433
350
  * their function-like node — instances ride the same monomorphization
434
351
  * queue (objLitGenericFnInfoOf). */
435
- readonly objLitGenericFns: Map<ts.Node, GenericFnInfo>;
352
+ readonly objLitGenericFns: Map<import("../ts7/ast-node.js").AstNode, GenericFnInfo>;
436
353
  /** Generic arrow/function-expression INITIALIZERS of never-reassigned
437
354
  * bindings (`const f = <T>(x: T) => x`), interned by the function-like
438
355
  * node — registered in genericFnsBySymbol under the binding's symbol
439
356
  * (and a named function expression's own inner name), so calls and
440
357
  * pinned values resolve through genericFnOf exactly like top-level
441
358
  * generic function declarations (bindingGenericFnInfoOf). */
442
- readonly bindingGenericFns: Map<ts.Node, GenericFnInfo>;
359
+ readonly bindingGenericFns: Map<import("../ts7/ast-node.js").AstNode, GenericFnInfo>;
443
360
  /** Per-symbol result of the never-reassigned file scan
444
361
  * (bindingNeverReassigned — object-literal generic-method receivers). */
445
362
  readonly neverReassignedCache: Map<ts.Symbol, boolean>;
@@ -469,7 +386,7 @@ export declare class Lowerer {
469
386
  /** IMPLICIT-ANY function-value bindings (npm-static JS — `const knownBy
470
387
  * = (cmd) => ...`), by their VariableDeclaration: the registered info,
471
388
  * or null for probed non-qualifiers (implicitLocalFnNodeOf). */
472
- readonly implicitLocalFns: Map<ts.Node, GenericFnInfo | null>;
389
+ readonly implicitLocalFns: Map<import("../ts7/ast-node.js").AstNode, GenericFnInfo | null>;
473
390
  /** Monomorphization worklist: instances queued by call sites, drained in
474
391
  * run() (processing an instance body can queue more). */
475
392
  readonly instantiationQueue: {
@@ -499,6 +416,10 @@ export declare class Lowerer {
499
416
  /** Non-null while an instance body lowers: type-parameter symbol →
500
417
  * concrete IR type, consulted inside mapType's recursion. */
501
418
  typeParamBindings: Map<ts.Symbol, IrType> | null;
419
+ localClassInstantiations: {
420
+ owner: ts.FunctionLikeDeclaration;
421
+ name: string;
422
+ }[];
502
423
  /** The ts-level twin of typeParamBindings, non-null while a CALL-keyed
503
424
  * instance body lowers: type-parameter symbol → the bound CHECKER type,
504
425
  * consulted where the mapped IrType has already widened away information
@@ -523,10 +444,23 @@ export declare class Lowerer {
523
444
  * aliases, so this carries the var/let form the checker cannot.
524
445
  * Scoped strictly by narrowingAliases (lowerIf / lowerCondition). */
525
446
  readonly aliasNarrowTypes: Map<ts.Symbol, ts.Type>;
447
+ /** These caches belong to this lowering pass. The program already owns
448
+ * their symbol/node keys; no module-level cache should retain a pass. */
449
+ readonly classSymbolKeys: Map<ts.Symbol, ClassSymbolKey | null>;
450
+ readonly registeredClassSymbols: Map<string, ts.Symbol>;
451
+ readonly httpClientFnBindings: Map<ts.Symbol, HttpClientFnBinding>;
452
+ streamPropMutatedSyms: Set<ts.Symbol> | null;
453
+ requestInitPropMutatedSyms: Set<ts.Symbol> | null;
454
+ emitterEventTable: Map<string, EventSig> | null;
455
+ emitterComputedPatterns: ComputedEventPattern[];
526
456
  /** Locals widened beyond the checker's type because an inferred indexed
527
457
  * read can be absent at runtime. Bare reads preserve that union until a
528
458
  * surrounding JavaScript guard/default consumes it. */
529
- readonly runtimeOptionalLocals: Set<IrLocal>;
459
+ readonly runtimeOptionalLocals: RuntimeOptionalLocals;
460
+ /** An effectful switch test can change the original binding after the
461
+ * discriminant was captured. A case match narrows the captured value,
462
+ * not that mutable binding; preserve its tagged representation on reads. */
463
+ readonly unstableSwitchBindings: Set<ts.Symbol>;
530
464
  /** All storage slots widened for runtime absence, including slots whose
531
465
  * current control-flow branch has temporarily narrowed the value. */
532
466
  readonly runtimeOptionalStorageLocals: Set<IrLocal>;
@@ -545,18 +479,21 @@ export declare class Lowerer {
545
479
  readonly runtimeOptionalBindingTypes: Map<ts.Symbol, IrType>;
546
480
  /** Concise callback/lambda returns promoted by the HOF callback prepass;
547
481
  * arrows have no declaration symbol to key in fnSigsBySymbol. */
548
- readonly runtimeOptionalFunctionReturns: WeakMap<ts.Node, IrType>;
482
+ readonly runtimeOptionalFunctionReturns: Map<import("../ts7/ast-node.js").AstNode, IrType>;
483
+ /** Intrinsic callback slots can supply a destination for fresh return
484
+ * literals, such as a reduce accumulator with recursive union fields. */
485
+ readonly contextualFunctionReturns: Map<import("../ts7/ast-node.js").AstNode, IrType>;
549
486
  /** Arithmetic over an unchecked string read can answer either NaN or a
550
487
  * string. Bindings and returns use this marker to retain that result union
551
488
  * through checker-bare string annotations. */
552
- readonly runtimeOptionalArithmeticTypes: WeakMap<ts.Node, IrType>;
489
+ readonly runtimeOptionalArithmeticTypes: Map<import("../ts7/ast-node.js").AstNode, IrType>;
553
490
  /** Record fields promoted to an undefined-armed union by an indexed-read
554
491
  * value. The key is the concrete emitted shape and field name. */
555
492
  readonly runtimeOptionalFields: Set<string>;
556
493
  /** Callback pattern parameters carry an optional source without making
557
494
  * every name destructured from a present source optional. */
558
- readonly runtimeOptionalPatternTypes: WeakMap<ts.Node, IrType>;
559
- readonly runtimeOptionalReduceTypes: WeakMap<ts.CallExpression, IrType>;
495
+ readonly runtimeOptionalPatternTypes: Map<import("../ts7/ast-node.js").AstNode, IrType>;
496
+ readonly runtimeOptionalReduceTypes: Map<ts.CallExpression, IrType>;
560
497
  /** Capture entries and their origin share one mutable box. Normalize each
561
498
  * entry to the origin so writes and flow proofs stay synchronized. */
562
499
  readonly runtimeOptionalRoots: Map<IrLocal, IrLocal>;
@@ -669,7 +606,7 @@ export declare class Lowerer {
669
606
  /** CJS export-table ACCESSORS (`module.exports = { get path() {...} }`),
670
607
  * lifted lazily as module-level functions and interned per accessor
671
608
  * declaration: member reads call the getter (lower-exprs). */
672
- readonly cjsAccessorFns: Map<ts.Node, {
609
+ readonly cjsAccessorFns: Map<import("../ts7/ast-node.js").AstNode, {
673
610
  fnName: string;
674
611
  type: IrType & {
675
612
  kind: "func";
@@ -712,9 +649,9 @@ export declare class Lowerer {
712
649
  * of re-lowering, its checker type reads non-nullish (typeOf), and the
713
650
  * node carrying the ?. token is marked handled so the receiver-typed
714
651
  * lowerings stop declining it (chainBlocked). */
715
- readonly chainRecvByNode: Map<ts.Node, IrExpr>;
716
- readonly chainNarrowedType: Map<ts.Node, ts.Type>;
717
- readonly chainHandled: Set<ts.Node>;
652
+ readonly chainRecvByNode: Map<import("../ts7/ast-node.js").AstNode, IrExpr>;
653
+ readonly chainNarrowedType: Map<import("../ts7/ast-node.js").AstNode, ts.Type>;
654
+ readonly chainHandled: Set<import("../ts7/ast-node.js").AstNode>;
718
655
  /** for-of-over-matchAll bindings whose `.index` reads the companion-index
719
656
  * array: binding SYMBOL → the hidden number[] of match start indices plus
720
657
  * the hidden cursor holding THIS iteration's position (registered while
@@ -752,6 +689,12 @@ export declare class Lowerer {
752
689
  /** Keyed by program-wide qualified class name (what IR object types carry). */
753
690
  readonly classes: Map<string, ClassInfo>;
754
691
  readonly classBySymbol: Map<ts.Symbol, ClassInfo>;
692
+ /** Inferred JS methods participating in an override chain keep a vtable
693
+ * ABI instead of call-site specialization. Filled before class collection. */
694
+ readonly virtualJsMethods: Set<ts.MethodDeclaration>;
695
+ /** Largest fixed argument list below a JS method, discovered before any
696
+ * base vtable signature is collected. Unused checked slots carry undefined. */
697
+ readonly virtualJsMethodArity: Map<ts.MethodDeclaration, number>;
755
698
  /** The class whose members are lowering — `super` binds lexically to it
756
699
  * (arrows inside methods lower within this window, so they see it too). */
757
700
  currentClass: ClassInfo | null;
@@ -760,12 +703,12 @@ export declare class Lowerer {
760
703
  * or callable const): per function symbol, each written member's module
761
704
  * global — string keys for spelled/folded names, ts.Symbols for
762
705
  * unique-symbol keys (lower-expando.ts). */
763
- readonly expandoMembers: Map<ts.Symbol, Map<string | ts.Symbol, ExpandoMember>>;
706
+ readonly expandoMembers: Map<ts.Symbol, ExpandoMembers>;
764
707
  /** CJS export globals ALSO key by their declaration NODE: the checker
765
708
  * hands importers a distinct (late-bound) symbol for `module.exports`
766
709
  * property exports — different object, same declaration — so globalOf
767
710
  * falls back through the shared node (collectGlobals registers both). */
768
- readonly globalsByDeclNode: Map<ts.Node, IrGlobal>;
711
+ readonly globalsByDeclNode: Map<import("../ts7/ast-node.js").AstNode, IrGlobal>;
769
712
  readonly globalsList: IrGlobal[];
770
713
  /** npm-import init statements (--dynamic), keyed by file AND import
771
714
  * declaration: the island.import assignments/side-effect loads for that
@@ -807,6 +750,7 @@ export declare class Lowerer {
807
750
  * engine handle (a dynamic import's namespace object) — paramShape's
808
751
  * early-out. */
809
752
  readonly jsvalParamOverrides: Set<ts.ParameterDeclaration>;
753
+ readonly checkedCallbackParams: Set<ts.ParameterDeclaration>;
810
754
  /** Inline Promise.then parameters whose contextual type is a builtin
811
755
  * module namespace anonymous object. The settled native token is the
812
756
  * ABI truth even when the checker type has no stable module symbol. */
@@ -827,7 +771,7 @@ export declare class Lowerer {
827
771
  * non-instantiated one (its only value members are import= aliases,
828
772
  * still resolved statically). Ambient blocks never register — their
829
773
  * members keep the ReferenceError/fence paths (lower-namespaces.ts). */
830
- readonly nsBlocks: Map<ts.Node, "flattened" | "typeOnly">;
774
+ readonly nsBlocks: Map<import("../ts7/ast-node.js").AstNode, "flattened" | "typeOnly">;
831
775
  /** File → its %init function name, filled by prepareModuleInits before
832
776
  * any body lowers: import headers and inline require statements call
833
777
  * dependency inits by these names. */
@@ -894,6 +838,9 @@ export declare class Lowerer {
894
838
  onEdge: ((name: string) => void) | null;
895
839
  fnStack: FnCtx[];
896
840
  readonly liftedFns: IrFunction[];
841
+ /** One Error-method helper belongs to this lowering session. Its cached
842
+ * dispatch revision needs no weak-key identity or process-global state. */
843
+ errorMethodDispatchRevision: string | null;
897
844
  lambdaCounter: number;
898
845
  /** Statement lists currently mid-lowering, innermost last: the forward-
899
846
  * capture machinery needs to know which later statements of an OPEN list
@@ -907,20 +854,6 @@ export declare class Lowerer {
907
854
  frame: Map<ts.Symbol, IrLocal>;
908
855
  out: IrStmt[];
909
856
  }[];
910
- /** Forward-captured consts pre-declared as TDZ boxes, keyed by symbol:
911
- * lowerVarDecl consumes the entry when the source declaration arrives and
912
- * emits the initializing `assign` instead of a fresh declaration. */
913
- readonly tdzPredeclared: Map<ts.Symbol, IrLocal>;
914
- /** Nested function DECLARATIONS lowered eagerly by the forward-hoisting
915
- * machinery (predeclareForwardFnDecl — a reference above the declaration
916
- * in the same function, JS's function hoisting): the statement loop skips
917
- * the source statement when it arrives. */
918
- readonly hoistedFnDecls: Set<ts.FunctionDeclaration>;
919
- /** `var` bindings hoisted to their function root (hoistVarBinding), keyed
920
- * by the checker's merged symbol — every same-name `var` in one function
921
- * is one symbol, so one slot. Module-scope vars live in globalsBySymbol
922
- * instead. */
923
- readonly hoistedVars: Map<ts.Symbol, IrLocal>;
924
857
  /** Per-file `var` module globals whose type carries an undefined arm:
925
858
  * lowerFileInit assigns them the interned undefined right after the
926
859
  * run-once guard — JS hoists module vars to `undefined` at entry, so a
@@ -1148,15 +1081,6 @@ export declare class Lowerer {
1148
1081
  /** Final retention, pruning, and module assembly shared by ordinary emit
1149
1082
  * and the retained reachability worklist. */
1150
1083
  finishModule(functions: IrFunction[]): LowerResult;
1151
- /** The unregistered-class type sweep (run()'s last step before the
1152
- * module assembles): every `{kind:"object"}` TYPE naming a class with
1153
- * no registered ClassInfo is rewritten IN PLACE to the f64 dummy.
1154
- * classval types are exempt (they emit the class-independent
1155
- * `ScrClassObj *` — inert-but-valid storage, the validator's own
1156
- * stance), and only type objects rewrite — node-level classNames
1157
- * (`new`, upcasts) cannot reach here (their lowerings fence without a
1158
- * registered class), so the validator still backstops those. */
1159
- sanitizeUnregisteredClassTypes(roots: unknown[]): void;
1160
1084
  /** True when `t` (recursively) names a class instance type with no
1161
1085
  * registered ClassInfo — the shape of a JS class whose collection fenced.
1162
1086
  * Used by run()'s global pruning; shapes/unions recurse with a seen-set
@@ -1247,8 +1171,9 @@ export declare class Lowerer {
1247
1171
  fenceStaticReadableStreamMember(access: ts.PropertyAccessExpression | ts.ElementAccessExpression, use: "read" | "call"): IrExpr | null;
1248
1172
  typeOf(node: ts.Node): ts.Type;
1249
1173
  /** mapType with this Lowerer's registries and (while a generic instance
1250
- * body lowers) type-parameter bindings threaded through. */
1251
- mapTypeOf(t: ts.Type): IrType | null;
1174
+ * body lowers) type-parameter bindings threaded through. A supplied mapper
1175
+ * retains interface-view substitutions while sharing ABI normalization. */
1176
+ mapTypeOf(t: ts.Type, mapper?: (type: ts.Type) => IrType | null): IrType | null;
1252
1177
  /** The one position where a contextual UNION must not be adopted over the
1253
1178
  * expression's own: the LEFT operand of `&&`, `||`, or `??`. Adopting a
1254
1179
  * contextual union is normally safe because tsc proved the value
@@ -1381,9 +1306,11 @@ export declare class Lowerer {
1381
1306
  * before any helper exists. The cases, in order:
1382
1307
  * copy — exact same type (typeEquals), the field/element moves as is
1383
1308
  * retag — union into union, every arm mapped (unionRetagMappable —
1384
- * identity arms, trap-less; record/array arms may width-lift
1385
- * into exactly one destination arm)
1309
+ * identity arms and compatible payload conversions; a shared
1310
+ * discriminant may select different record destinations)
1386
1311
  * wrap — a non-unit arm value into a union that contains it
1312
+ * discriminantWrap — identical recursive layouts distinguished by
1313
+ * their literal field value rather than their storage id
1387
1314
  * liftWrap — a record/array value into a union with NO identical arm
1388
1315
  * but exactly ONE arm it width-lifts into (the findRoute
1389
1316
  * rule applied at every level; several candidates are
@@ -1409,6 +1336,13 @@ export declare class Lowerer {
1409
1336
  * lift needs (planned first, so the interns cannot fail — a failure here
1410
1337
  * is a lowerer bug, not a user diagnostic). */
1411
1338
  applyWidthLift(lift: WidthLift, value: IrExpr, dst: IrType, loc: SrcLoc): IrExpr;
1339
+ /** Dispatch a structural copy from its runtime union tag. Each record
1340
+ * payload has its own field offsets and optional-field completions;
1341
+ * interpreting all arms as the destination layout would corrupt memory.
1342
+ * Intern before descending so recursive record unions can reuse it. */
1343
+ unionRecordWidthHelper(fromId: string, target: IrType & {
1344
+ kind: "record";
1345
+ }, loc: SrcLoc): string;
1412
1346
  /** Interned `%rec.width.<n>(r)` — builds the target shape from a source
1413
1347
  * record by copying fields: every target field must exist on the source
1414
1348
  * with the EXACT same type, or with a type that LIFTS under
@@ -1612,28 +1546,9 @@ export declare class Lowerer {
1612
1546
  }, toT: IrType & {
1613
1547
  kind: "func";
1614
1548
  }, loc: SrcLoc): string | null;
1615
- /** Interned `%union.retag.<n>(u)` — the runtime re-tag for a value of
1616
- * union `fromId` flowing into a slot of union `toId`: a switch on the
1617
- * source tag re-wraps the payload under its tag in the destination
1618
- * (unionNarrow + unionWrap — the payload pointer moves, no copy, so
1619
- * ref-arm identity is preserved across the re-tag). Arms map by
1620
- * canonical type (typeEquals): every non-unit source arm must exist in
1621
- * the destination, or the pair isn't mappable (null — the caller keeps
1622
- * the SC2003 fence). A stranded UNIT arm (undefined/null with no
1623
- * destination arm) is different: it means tsc's picture at the site was
1624
- * NARROWER than the IR type — control-flow narrowing to a sub-union, or
1625
- * a non-null assertion, both of which erase at lowering — so the arm is
1626
- * exactly the possibility the checker proved (or the source asserted)
1627
- * away. It compiles to a runtime trap case throwing a catchable
1628
- * TypeError-shaped string, the lying-cast stance (SEMANTICS.md): sound
1629
- * narrowing never reaches it, a lying `!` throws instead of smuggling
1630
- * an unrepresentable unit into the destination. */
1631
- /** True when unionRetagHelper can bridge the pair — every non-unit
1632
- * source arm exists (typeEquals) in the destination, or width-lifts
1633
- * into exactly one destination arm (widthLiftPlan — record and array
1634
- * arms compose the re-tag with the per-arm reshape). Pure: callers that
1635
- * must validate a WHOLE plan before interning anything (recordWidthHelper)
1636
- * probe with this so a failed later field never orphans a helper. */
1549
+ /** Validate the complete union conversion before interning helpers.
1550
+ * Recursive width plans close through the same in-progress pair guard;
1551
+ * no optimistic result is memoized after that planning stack unwinds. */
1637
1552
  unionRetagMappable(fromId: string, toId: string): boolean;
1638
1553
  /** A checker-NARROWED union flowing into a different union: `typeof r
1639
1554
  * === "string" || Buffer.isBuffer(r)` proves the record arm of r away,
@@ -1670,6 +1585,9 @@ export declare class Lowerer {
1670
1585
  strandedCoercionTrap(expr: IrExpr, expected: IrType & {
1671
1586
  kind: "union";
1672
1587
  }, loc: SrcLoc): IrExpr | null;
1588
+ recordUnionWrapHelper(source: IrType & {
1589
+ kind: "record";
1590
+ }, toId: string, loc: SrcLoc): string | null;
1673
1591
  unionRetagHelper(fromId: string, toId: string, loc: SrcLoc, trappable?: ReadonlySet<number>): string | null;
1674
1592
  /** Interned `%union.narrow.<n>(u)` — the CHECKED single-arm extraction
1675
1593
  * behind `x!` on union values: the asserted arm's payload comes out
@@ -1753,13 +1671,16 @@ export declare class Lowerer {
1753
1671
  * `var` read before its unit-initialized statement holds undefined —
1754
1672
  * also a unit — so the mixed case reports both names. */
1755
1673
  provenUnitAnyOf(node: ts.Node, value: IrExpr): string | null;
1756
- /** Lowers an expression that flows into a slot of a known expected type,
1757
- * then applies the coercion path (coerceInto). An EMPTY array literal
1758
- * takes the slot's array type directly — the caller-supplied `expected`
1759
- * lowerArrayLiteral documents, for the positions where tsc's contextual
1760
- * API answers nothing (binding-element defaults: `{ json = [] }`) and
1761
- * the literal's own never[] would build the f64 representation. */
1674
+ /** A key conversion may rebox or upcast a reference, but must never copy
1675
+ * its referent. Apply the ordinary checked narrowing to absent arms from
1676
+ * runtime-optional reads; only present reference arms participate here. */
1677
+ lowerCollectionKey(node: ts.Expression, expected: IrType): IrExpr;
1678
+ /** Lower for a known destination, then apply ordinary value coercion.
1679
+ * Fresh arrays and records use the destination layout directly. */
1762
1680
  lowerExprExpecting(node: ts.Expression, expected: IrType | undefined): IrExpr;
1681
+ /** An unannotated empty collection has no existing elements or aliases
1682
+ * that constrain its layout. An explicit type argument still wins. */
1683
+ emptyCollectionFor(node: ts.Expression, expected: IrType): IrExpr | null;
1763
1684
  /** A value flowing into an index-signature VALUE slot (an overflow
1764
1685
  * literal entry, a dynamic-keyed record write). dyn slots (`unknown`
1765
1686
  * signatures — ModelPricing's) take a dyn conversion: dyn values pass
@@ -1876,8 +1797,8 @@ export declare class Lowerer {
1876
1797
  context: string;
1877
1798
  ordinal: number;
1878
1799
  }): void;
1879
- lowerClassExpressionInfo(expr: ts.ClassExpression): ClassInfo;
1880
- lowerClassExpression(expr: ts.ClassExpression): IrExpr;
1800
+ lowerClassExpressionInfo(expr: ts.ClassLikeDeclaration): ClassInfo;
1801
+ lowerClassExpression(expr: ts.ClassLikeDeclaration): IrExpr;
1881
1802
  findMethodOn(info: ClassInfo | null, name: string): {
1882
1803
  declarer: ClassInfo;
1883
1804
  sig: {
@@ -1885,6 +1806,7 @@ export declare class Lowerer {
1885
1806
  ret: IrType;
1886
1807
  abstract?: true;
1887
1808
  async?: true;
1809
+ gen?: NonNullable<IrFunction["generator"]>;
1888
1810
  };
1889
1811
  } | null;
1890
1812
  isSubclassOf(sub: string, sup: string): boolean;
@@ -1900,10 +1822,10 @@ export declare class Lowerer {
1900
1822
  * members ride fp.classDecls; expressions register only when their
1901
1823
  * containing statement lowers). */
1902
1824
  readonly exprClasses: ClassInfo[];
1903
- readonly exprClassInfoByNode: Map<ts.ClassExpression, ClassInfo>;
1825
+ readonly exprClassInfoByName: Map<string, ClassInfo>;
1904
1826
  /** Class expressions whose collection is IN FLIGHT — the reentrancy
1905
1827
  * guard for heritage-demanded collection (lowerClassExpressionInfo). */
1906
- readonly collectingExprClasses: Set<ts.ClassExpression>;
1828
+ readonly collectingExprClasses: Set<ts.ClassLikeDeclaration>;
1907
1829
  /** Static-init statements of class expressions inside the statement
1908
1830
  * currently lowering — lowerFileInit drains the buffer immediately
1909
1831
  * BEFORE that statement (JS's order for the supported whole-initializer
@@ -1916,7 +1838,7 @@ export declare class Lowerer {
1916
1838
  /** Mixin functions (`(Base: T) => class extends Base {…}`) by their
1917
1839
  * function-like node: recognized shape, or null for checked
1918
1840
  * non-qualifiers (lower-mixins.ts). */
1919
- readonly mixinFnShapes: Map<ts.Node, MixinFnShape | null>;
1841
+ readonly mixinFnShapes: Map<import("../ts7/ast-node.js").AstNode, MixinFnShape | null>;
1920
1842
  /** Mixin instantiations by CALL SITE (one class per once-evaluated call
1921
1843
  * — the class-expression identity rule); null marks a poisoned
1922
1844
  * instantiation so re-demands fence instead of half-collecting. */
@@ -1955,7 +1877,7 @@ export declare class Lowerer {
1955
1877
  * onExprClassCollected should instantiations ever need eager
1956
1878
  * registration. */
1957
1879
  onLateClassCollected: ((info: ClassInfo) => void) | null;
1958
- genericClassInstanceType(decl: ts.ClassLikeDeclaration, ref: ts.Type): IrType | null;
1880
+ genericClassInstanceType(decl: ts.ClassLikeDeclaration, ref: ts.Type, mapArgument?: (type: ts.Type) => IrType | null): IrType | null;
1959
1881
  findStaticOn(info: ClassInfo | null, name: string): ReturnType<typeof findStaticOn>;
1960
1882
  staticShadowBelow(info: ClassInfo, name: string): boolean;
1961
1883
  ctorAbiEquals(sub: ClassInfo, sup: ClassInfo): boolean;
@@ -1974,8 +1896,8 @@ export declare class Lowerer {
1974
1896
  fieldInitStmts(info: ClassInfo, thisLocal: IrLocal): IrStmt[];
1975
1897
  lowerDerivedCtorBody(info: ClassInfo, thisLocal: IrLocal, forward?: IrExpr[]): IrStmt[];
1976
1898
  superCallStmt(info: ClassInfo, thisLocal: IrLocal, args: IrExpr[], loc: SrcLoc): IrStmt;
1977
- /** Declares the `this` param local, registered under the THIS_BINDING
1978
- * sentinel so lexical-this capture in arrows uses the normal machinery. */
1899
+ /** Declares the this parameter in the function's dedicated binding slot.
1900
+ * Arrow captures use the same boxing and threading as named bindings. */
1979
1901
  declareThis(type: IrType): IrLocal;
1980
1902
  lowerFunction(decl: ts.FunctionDeclaration): IrFunction | null;
1981
1903
  collectGlobals(sf: ts.SourceFile, topStmts: ts.Statement[]): void;
@@ -2008,7 +1930,7 @@ export declare class Lowerer {
2008
1930
  };
2009
1931
  /** The binding for `symbol` inside context `ctx` — a scoped local or an
2010
1932
  * already-threaded capture entry. */
2011
- bindingIn(ctx: FnCtx, symbol: ts.Symbol): IrLocal | null;
1933
+ bindingIn(ctx: FnCtx, symbol: ts.Symbol | undefined): IrLocal | null;
2012
1934
  /** Resolves an identifier to a local of the CURRENT function, creating
2013
1935
  * capture entries (and boxing the origin binding) when the name lives in
2014
1936
  * an enclosing function. Self-references of a named lambda are NOT
@@ -2026,7 +1948,7 @@ export declare class Lowerer {
2026
1948
  * the REAL lowering path still resolves (and diagnoses) the reference
2027
1949
  * itself. */
2028
1950
  peekLocal(ident: ts.Identifier): IrLocal | null;
2029
- resolveKey(symbol: ts.Symbol, blame?: ts.Node): IrLocal | null;
1951
+ resolveKey(symbol: ts.Symbol | undefined, blame?: ts.Node): IrLocal | null;
2030
1952
  isSelfReference(ident: ts.Identifier): boolean;
2031
1953
  lowerStmts(stmts: readonly ts.Statement[]): IrStmt[];
2032
1954
  noteBlockedBindings(stmt: ts.Statement): void;
@@ -2100,7 +2022,9 @@ export declare class Lowerer {
2100
2022
  }) | (IrType & {
2101
2023
  kind: "record";
2102
2024
  })): IrExpr;
2103
- lowerObjectLiteral(expr: ts.ObjectLiteralExpression): IrExpr;
2025
+ lowerObjectLiteral(expr: ts.ObjectLiteralExpression, expected?: IrType & {
2026
+ kind: "record";
2027
+ }): IrExpr;
2104
2028
  lowerShorthandValue(prop: ts.ShorthandPropertyAssignment): IrExpr;
2105
2029
  rejectThisInObjectMethod(node: ts.Node): void;
2106
2030
  lowerElementAccess(expr: ts.ElementAccessExpression): IrExpr;
@@ -2117,7 +2041,7 @@ export declare class Lowerer {
2117
2041
  caughtToString(node: ts.Expression): IrExpr | null;
2118
2042
  lowerInstanceOf(expr: ts.BinaryExpression, loc: SrcLoc): IrExpr;
2119
2043
  private withRuntimeOptionalClassValue;
2120
- private withExpressionOverride;
2044
+ withExpressionOverride<T>(node: ts.Expression, value: IrExpr, lower: () => T): T;
2121
2045
  lowerCall(expr: ts.CallExpression): IrExpr;
2122
2046
  isTopLevelFnSymbol(ident: ts.Identifier): boolean;
2123
2047
  lowerNestedFunctionDecl(stmt: ts.FunctionDeclaration): IrStmt;
@@ -2164,7 +2088,7 @@ export declare class Lowerer {
2164
2088
  fieldGetExpr(target: FieldTarget, loc: SrcLoc, blame: ts.Node): IrExpr;
2165
2089
  fieldSetStmt(target: FieldTarget, value: IrExpr, loc: SrcLoc, blame: ts.Node): IrStmt;
2166
2090
  lowerFieldCompound(access: ts.PropertyAccessExpression | ts.ElementAccessExpression, op: CompoundOp, rhsNode: ts.Expression | null, loc: SrcLoc): IrStmt;
2167
- errorMessageArg(args: readonly ts.Expression[], loc: SrcLoc, blame: ts.Node): IrExpr;
2091
+ errorConstructorArgs(args: readonly ts.Expression[], loc: SrcLoc, blame: ts.Node): IrExpr[];
2168
2092
  inheritsBuiltinErrorCtor(info: ClassInfo): boolean;
2169
2093
  inheritsBuiltinEmitterCtor(info: ClassInfo): boolean;
2170
2094
  lowerNew(expr: ts.NewExpression): IrExpr;
@@ -2225,6 +2149,7 @@ export declare class Lowerer {
2225
2149
  module: string;
2226
2150
  member: string;
2227
2151
  }, loc: SrcLoc): IrExpr | null;
2152
+ lowerNativeCallableValue(fn: BuiltinModuleFn, display: string, loc: SrcLoc): IrExpr | null;
2228
2153
  isBuiltinCallableValue(expr: IrExpr): boolean;
2229
2154
  lowerBuiltinModuleCall(expr: ts.CallExpression, bi: {
2230
2155
  module: string;
@@ -2332,4 +2257,3 @@ export declare class Lowerer {
2332
2257
  islandGlobalFnOf(ident: ts.Identifier): IslandFnEntry | null;
2333
2258
  lowerIslandMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
2334
2259
  }
2335
- export {};