@scriptc/compiler 0.4.0 → 0.4.2

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 (866) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +617 -83
  2. package/dist/backend/cycle-analysis.d.ts +2 -1
  3. package/dist/backend/cycle-analysis.js +4 -4
  4. package/dist/backend/cycle-analysis.js.map +1 -1
  5. package/dist/backend/cycle-mutability.d.ts +2 -1
  6. package/dist/backend/cycle-mutability.js +2 -2
  7. package/dist/backend/cycle-mutability.js.map +1 -1
  8. package/dist/backend/executable-features.js +10 -0
  9. package/dist/backend/executable-features.js.map +1 -1
  10. package/dist/backend/immutability.d.ts +2 -1
  11. package/dist/backend/immutability.js +2 -2
  12. package/dist/backend/immutability.js.map +1 -1
  13. package/dist/backend/library-pack.js +7 -0
  14. package/dist/backend/library-pack.js.map +1 -1
  15. package/dist/backend/link-plan-core.d.ts +2 -0
  16. package/dist/backend/link-plan-core.js +2 -0
  17. package/dist/backend/link-plan-core.js.map +1 -1
  18. package/dist/backend/link-plan.d.ts +1 -0
  19. package/dist/backend/link-plan.js +1 -0
  20. package/dist/backend/link-plan.js.map +1 -1
  21. package/dist/backend/llvm/alloc.d.ts +7 -3
  22. package/dist/backend/llvm/alloc.js +7 -4
  23. package/dist/backend/llvm/alloc.js.map +1 -1
  24. package/dist/backend/llvm/array-search.js +4 -1
  25. package/dist/backend/llvm/array-search.js.map +1 -1
  26. package/dist/backend/llvm/bytes-loop-versions.d.ts +23 -2
  27. package/dist/backend/llvm/bytes-loop-versions.js +115 -19
  28. package/dist/backend/llvm/bytes-loop-versions.js.map +1 -1
  29. package/dist/backend/llvm/bytes-loop-versions.test.js +131 -0
  30. package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -1
  31. package/dist/backend/llvm/classes.d.ts +99 -2
  32. package/dist/backend/llvm/classes.js +436 -57
  33. package/dist/backend/llvm/classes.js.map +1 -1
  34. package/dist/backend/llvm/classes.test.js +235 -16
  35. package/dist/backend/llvm/classes.test.js.map +1 -1
  36. package/dist/backend/llvm/common.d.ts +21 -5
  37. package/dist/backend/llvm/common.js +50 -5
  38. package/dist/backend/llvm/common.js.map +1 -1
  39. package/dist/backend/llvm/constant-callbacks.js +8 -4
  40. package/dist/backend/llvm/constant-callbacks.js.map +1 -1
  41. package/dist/backend/llvm/constant-callbacks.test.js +4 -4
  42. package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
  43. package/dist/backend/llvm/counted-loops.d.ts +4 -1
  44. package/dist/backend/llvm/counted-loops.js +62 -23
  45. package/dist/backend/llvm/counted-loops.js.map +1 -1
  46. package/dist/backend/llvm/dense-array-access.d.ts +3 -1
  47. package/dist/backend/llvm/dense-array-access.js +61 -38
  48. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  49. package/dist/backend/llvm/dense-array-access.test.js +4 -0
  50. package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
  51. package/dist/backend/llvm/dense-array-loops.d.ts +19 -16
  52. package/dist/backend/llvm/dense-array-loops.js +49 -13
  53. package/dist/backend/llvm/dense-array-loops.js.map +1 -1
  54. package/dist/backend/llvm/dense-array-loops.test.js +50 -14
  55. package/dist/backend/llvm/dense-array-loops.test.js.map +1 -1
  56. package/dist/backend/llvm/dyn.d.ts +34 -1
  57. package/dist/backend/llvm/dyn.js +393 -14
  58. package/dist/backend/llvm/dyn.js.map +1 -1
  59. package/dist/backend/llvm/emit-function.js +27 -8
  60. package/dist/backend/llvm/emit-function.js.map +1 -1
  61. package/dist/backend/llvm/emit-module.js +67 -39
  62. package/dist/backend/llvm/emit-module.js.map +1 -1
  63. package/dist/backend/llvm/emit-statements.d.ts +3 -25
  64. package/dist/backend/llvm/emit-statements.js +414 -37
  65. package/dist/backend/llvm/emit-statements.js.map +1 -1
  66. package/dist/backend/llvm/emitter.d.ts +159 -22
  67. package/dist/backend/llvm/emitter.js +573 -89
  68. package/dist/backend/llvm/emitter.js.map +1 -1
  69. package/dist/backend/llvm/expr-async.js +19 -0
  70. package/dist/backend/llvm/expr-async.js.map +1 -1
  71. package/dist/backend/llvm/expr-bytes.d.ts +5 -2
  72. package/dist/backend/llvm/expr-bytes.js +110 -40
  73. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  74. package/dist/backend/llvm/expr-calls.d.ts +1 -1
  75. package/dist/backend/llvm/expr-calls.js +51 -26
  76. package/dist/backend/llvm/expr-calls.js.map +1 -1
  77. package/dist/backend/llvm/expr-containers.js +27 -14
  78. package/dist/backend/llvm/expr-containers.js.map +1 -1
  79. package/dist/backend/llvm/expr-control.js +2 -3
  80. package/dist/backend/llvm/expr-control.js.map +1 -1
  81. package/dist/backend/llvm/expr-dynamic.js +95 -5
  82. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  83. package/dist/backend/llvm/expr-primitives.js +29 -11
  84. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  85. package/dist/backend/llvm/expr-primitives.test.js +55 -0
  86. package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
  87. package/dist/backend/llvm/expr-stream-bridges.js +48 -20
  88. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  89. package/dist/backend/llvm/expr-stream-callbacks.js +131 -35
  90. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  91. package/dist/backend/llvm/integer-clones.js +3 -3
  92. package/dist/backend/llvm/integer-clones.js.map +1 -1
  93. package/dist/backend/llvm/js-ic.d.ts +18 -0
  94. package/dist/backend/llvm/js-ic.js +712 -0
  95. package/dist/backend/llvm/js-ic.js.map +1 -0
  96. package/dist/backend/llvm/jsval.js +139 -11
  97. package/dist/backend/llvm/jsval.js.map +1 -1
  98. package/dist/backend/llvm/lib-dispatch.js +10 -0
  99. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  100. package/dist/backend/llvm/lib-filesystem.js +61 -0
  101. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  102. package/dist/backend/llvm/lib-http2.d.ts +4 -0
  103. package/dist/backend/llvm/lib-http2.js +20 -17
  104. package/dist/backend/llvm/lib-http2.js.map +1 -1
  105. package/dist/backend/llvm/lib-process.js +69 -17
  106. package/dist/backend/llvm/lib-process.js.map +1 -1
  107. package/dist/backend/llvm/lib-shared.js +75 -1
  108. package/dist/backend/llvm/lib-shared.js.map +1 -1
  109. package/dist/backend/llvm/lib-stream.js +65 -28
  110. package/dist/backend/llvm/lib-stream.js.map +1 -1
  111. package/dist/backend/llvm/lib-tls.js +23 -0
  112. package/dist/backend/llvm/lib-tls.js.map +1 -1
  113. package/dist/backend/llvm/local-array-reads.js +91 -61
  114. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  115. package/dist/backend/llvm/local-array-reads.test.js +14 -0
  116. package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
  117. package/dist/backend/llvm/map-number-lookup.d.ts +20 -4
  118. package/dist/backend/llvm/map-number-lookup.js +43 -7
  119. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  120. package/dist/backend/llvm/narrow-guards.js +64 -0
  121. package/dist/backend/llvm/narrow-guards.js.map +1 -1
  122. package/dist/backend/llvm/publish.d.ts +11 -1
  123. package/dist/backend/llvm/publish.js +80 -22
  124. package/dist/backend/llvm/publish.js.map +1 -1
  125. package/dist/backend/llvm/publish.test.js +3 -0
  126. package/dist/backend/llvm/publish.test.js.map +1 -1
  127. package/dist/backend/llvm/receivers.js +1 -1
  128. package/dist/backend/llvm/receivers.js.map +1 -1
  129. package/dist/backend/llvm/reference-writes.js +2 -0
  130. package/dist/backend/llvm/reference-writes.js.map +1 -1
  131. package/dist/backend/llvm/regex-matchers.js +161 -14
  132. package/dist/backend/llvm/regex-matchers.js.map +1 -1
  133. package/dist/backend/llvm/regex-matchers.test.js +18 -0
  134. package/dist/backend/llvm/regex-matchers.test.js.map +1 -1
  135. package/dist/backend/llvm/regions.js +2 -2
  136. package/dist/backend/llvm/regions.js.map +1 -1
  137. package/dist/backend/llvm/regions.test.js +7 -1
  138. package/dist/backend/llvm/regions.test.js.map +1 -1
  139. package/dist/backend/llvm/shapes.d.ts +17 -9
  140. package/dist/backend/llvm/shapes.js +21 -17
  141. package/dist/backend/llvm/shapes.js.map +1 -1
  142. package/dist/backend/llvm/speculative-integers.d.ts +20 -1
  143. package/dist/backend/llvm/speculative-integers.js +94 -6
  144. package/dist/backend/llvm/speculative-integers.js.map +1 -1
  145. package/dist/backend/llvm/speculative-integers.test.js +55 -1
  146. package/dist/backend/llvm/speculative-integers.test.js.map +1 -1
  147. package/dist/backend/llvm/string-lifetimes.test.js +2 -1
  148. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  149. package/dist/backend/llvm/string-reads.d.ts +4 -1
  150. package/dist/backend/llvm/string-reads.js +88 -4
  151. package/dist/backend/llvm/string-reads.js.map +1 -1
  152. package/dist/backend/llvm/thread-slots.test.js +5 -4
  153. package/dist/backend/llvm/thread-slots.test.js.map +1 -1
  154. package/dist/backend/llvm/wasm-modules.d.ts +6 -5
  155. package/dist/backend/llvm/wasm-modules.js +32 -9
  156. package/dist/backend/llvm/wasm-modules.js.map +1 -1
  157. package/dist/backend/mangle.d.ts +8 -0
  158. package/dist/backend/mangle.js +12 -0
  159. package/dist/backend/mangle.js.map +1 -1
  160. package/dist/backend/native/contracts.d.ts +40 -2
  161. package/dist/backend/native/executable.js +40 -7
  162. package/dist/backend/native/executable.js.map +1 -1
  163. package/dist/backend/native/library.js +3 -1
  164. package/dist/backend/native/library.js.map +1 -1
  165. package/dist/backend/native-codegen.d.ts +17 -6
  166. package/dist/backend/native-codegen.js +55 -9
  167. package/dist/backend/native-codegen.js.map +1 -1
  168. package/dist/backend/native-codegen.test.js +18 -14
  169. package/dist/backend/native-codegen.test.js.map +1 -1
  170. package/dist/backend/native-link-info-core.d.ts +30 -2
  171. package/dist/backend/native-link-info-core.js.map +1 -1
  172. package/dist/backend/native-profile.d.ts +32 -0
  173. package/dist/backend/native-profile.js +39 -0
  174. package/dist/backend/native-profile.js.map +1 -0
  175. package/dist/backend/native-profile.test.d.ts +1 -0
  176. package/dist/backend/native-profile.test.js +58 -0
  177. package/dist/backend/native-profile.test.js.map +1 -0
  178. package/dist/backend/native-tools.d.ts +14 -0
  179. package/dist/backend/native-tools.js +13 -0
  180. package/dist/backend/native-tools.js.map +1 -1
  181. package/dist/backend/optimization.d.ts +2 -2
  182. package/dist/backend/runtime-abi.d.ts +2 -2
  183. package/dist/backend/runtime-abi.js +2 -2
  184. package/dist/backend/runtime-pack-core.d.ts +4 -0
  185. package/dist/backend/runtime-pack-core.js +4 -0
  186. package/dist/backend/runtime-pack-core.js.map +1 -1
  187. package/dist/backend/runtime-pack-targets.test.js +7 -1
  188. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  189. package/dist/backend/runtime-pack.d.ts +0 -21
  190. package/dist/backend/runtime-pack.js +0 -29
  191. package/dist/backend/runtime-pack.js.map +1 -1
  192. package/dist/backend/runtime-pack.test.js +12 -69
  193. package/dist/backend/runtime-pack.test.js.map +1 -1
  194. package/dist/backend/target-diagnostics.js +38 -1
  195. package/dist/backend/target-diagnostics.js.map +1 -1
  196. package/dist/backend/warm-cache.js +6 -0
  197. package/dist/backend/warm-cache.js.map +1 -1
  198. package/dist/cli/command.js +89 -7
  199. package/dist/cli/command.js.map +1 -1
  200. package/dist/cli/host.d.ts +3 -0
  201. package/dist/cli/output-options.d.ts +2 -0
  202. package/dist/cli/output-options.js +9 -0
  203. package/dist/cli/output-options.js.map +1 -1
  204. package/dist/cli/usage.d.ts +15 -1
  205. package/dist/cli/usage.js +30 -2
  206. package/dist/cli/usage.js.map +1 -1
  207. package/dist/compile-types.d.ts +9 -0
  208. package/dist/contracts/check.js +2 -3
  209. package/dist/contracts/check.js.map +1 -1
  210. package/dist/coverage/report.d.ts +7 -2
  211. package/dist/coverage/report.js +18 -0
  212. package/dist/coverage/report.js.map +1 -1
  213. package/dist/coverage/verdict-cache.d.ts +1 -0
  214. package/dist/coverage/verdict-cache.js +4 -0
  215. package/dist/coverage/verdict-cache.js.map +1 -1
  216. package/dist/coverage/verdict-semantic.js +4 -0
  217. package/dist/coverage/verdict-semantic.js.map +1 -1
  218. package/dist/diagnostics/diagnostic.js.map +1 -1
  219. package/dist/diagnostics/dynamic-tier.d.ts +40 -0
  220. package/dist/diagnostics/dynamic-tier.js +57 -0
  221. package/dist/diagnostics/dynamic-tier.js.map +1 -0
  222. package/dist/diagnostics/envelope.d.ts +2 -1
  223. package/dist/diagnostics/envelope.js +5 -2
  224. package/dist/diagnostics/envelope.js.map +1 -1
  225. package/dist/executable/executable-cache.d.ts +32 -0
  226. package/dist/executable/executable-cache.js +65 -7
  227. package/dist/executable/executable-cache.js.map +1 -1
  228. package/dist/executable/executable-cache.test.js +50 -3
  229. package/dist/executable/executable-cache.test.js.map +1 -1
  230. package/dist/executable/prepare.js +3 -1
  231. package/dist/executable/prepare.js.map +1 -1
  232. package/dist/frontend/analysis.js +1 -0
  233. package/dist/frontend/analysis.js.map +1 -1
  234. package/dist/frontend/arguments-usage.d.ts +8 -0
  235. package/dist/frontend/arguments-usage.js +98 -0
  236. package/dist/frontend/arguments-usage.js.map +1 -1
  237. package/dist/frontend/arguments-usage.test.d.ts +1 -0
  238. package/dist/frontend/arguments-usage.test.js +32 -0
  239. package/dist/frontend/arguments-usage.test.js.map +1 -0
  240. package/dist/frontend/builtin-package-aliases.d.ts +24 -0
  241. package/dist/frontend/builtin-package-aliases.js +133 -0
  242. package/dist/frontend/builtin-package-aliases.js.map +1 -0
  243. package/dist/frontend/builtin-package-aliases.test.d.ts +1 -0
  244. package/dist/frontend/builtin-package-aliases.test.js +48 -0
  245. package/dist/frontend/builtin-package-aliases.test.js.map +1 -0
  246. package/dist/frontend/dispose-hook.d.ts +2 -0
  247. package/dist/frontend/dispose-hook.js +14 -0
  248. package/dist/frontend/dispose-hook.js.map +1 -0
  249. package/dist/frontend/dts-paths.d.ts +4 -0
  250. package/dist/frontend/dts-paths.js +9 -1
  251. package/dist/frontend/dts-paths.js.map +1 -1
  252. package/dist/frontend/jsx-entities.d.ts +4 -0
  253. package/dist/frontend/jsx-entities.js +259 -0
  254. package/dist/frontend/jsx-entities.js.map +1 -0
  255. package/dist/frontend/jsx-source.d.ts +71 -0
  256. package/dist/frontend/jsx-source.js +781 -0
  257. package/dist/frontend/jsx-source.js.map +1 -0
  258. package/dist/frontend/jsx-source.test.d.ts +1 -0
  259. package/dist/frontend/jsx-source.test.js +200 -0
  260. package/dist/frontend/jsx-source.test.js.map +1 -0
  261. package/dist/frontend/literal-values.test.js +8 -9
  262. package/dist/frontend/literal-values.test.js.map +1 -1
  263. package/dist/frontend/lowering/array-indexed-mutation.js +2 -1
  264. package/dist/frontend/lowering/array-indexed-mutation.js.map +1 -1
  265. package/dist/frontend/lowering/array-values.js +3 -2
  266. package/dist/frontend/lowering/array-values.js.map +1 -1
  267. package/dist/frontend/lowering/binding-analysis.d.ts +1 -1
  268. package/dist/frontend/lowering/binding-analysis.js +2 -2
  269. package/dist/frontend/lowering/binding-analysis.js.map +1 -1
  270. package/dist/frontend/lowering/builtins/arguments.d.ts +3 -0
  271. package/dist/frontend/lowering/builtins/arguments.js +30 -15
  272. package/dist/frontend/lowering/builtins/arguments.js.map +1 -1
  273. package/dist/frontend/lowering/builtins/atomics.js +10 -6
  274. package/dist/frontend/lowering/builtins/atomics.js.map +1 -1
  275. package/dist/frontend/lowering/builtins/builtin-class-dyn.d.ts +8 -0
  276. package/dist/frontend/lowering/builtins/builtin-class-dyn.js +50 -1
  277. package/dist/frontend/lowering/builtins/builtin-class-dyn.js.map +1 -1
  278. package/dist/frontend/lowering/builtins/callable-aliases.js +3 -2
  279. package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -1
  280. package/dist/frontend/lowering/builtins/child-process-async.js +2 -1
  281. package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -1
  282. package/dist/frontend/lowering/builtins/child-process-sync.js +2 -1
  283. package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -1
  284. package/dist/frontend/lowering/builtins/crypto.d.ts +7 -2
  285. package/dist/frontend/lowering/builtins/crypto.js +63 -4
  286. package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
  287. package/dist/frontend/lowering/builtins/date-classes.d.ts +46 -0
  288. package/dist/frontend/lowering/builtins/date-classes.js +477 -0
  289. package/dist/frontend/lowering/builtins/date-classes.js.map +1 -0
  290. package/dist/frontend/lowering/builtins/dates.d.ts +11 -1
  291. package/dist/frontend/lowering/builtins/dates.js +55 -26
  292. package/dist/frontend/lowering/builtins/dates.js.map +1 -1
  293. package/dist/frontend/lowering/builtins/dh.d.ts +15 -0
  294. package/dist/frontend/lowering/builtins/dh.js +151 -0
  295. package/dist/frontend/lowering/builtins/dh.js.map +1 -0
  296. package/dist/frontend/lowering/builtins/disposable-stack.js +2 -1
  297. package/dist/frontend/lowering/builtins/disposable-stack.js.map +1 -1
  298. package/dist/frontend/lowering/builtins/ecdh.d.ts +21 -0
  299. package/dist/frontend/lowering/builtins/ecdh.js +208 -0
  300. package/dist/frontend/lowering/builtins/ecdh.js.map +1 -0
  301. package/dist/frontend/lowering/builtins/errors.d.ts +15 -0
  302. package/dist/frontend/lowering/builtins/errors.js +110 -0
  303. package/dist/frontend/lowering/builtins/errors.js.map +1 -1
  304. package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +1 -1
  305. package/dist/frontend/lowering/builtins/filesystem-calls.js +23 -17
  306. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  307. package/dist/frontend/lowering/builtins/filesystem.js +6 -4
  308. package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
  309. package/dist/frontend/lowering/builtins/fs-paths.d.ts +15 -0
  310. package/dist/frontend/lowering/builtins/fs-paths.js +209 -0
  311. package/dist/frontend/lowering/builtins/fs-paths.js.map +1 -0
  312. package/dist/frontend/lowering/builtins/hash-stream.d.ts +16 -4
  313. package/dist/frontend/lowering/builtins/hash-stream.js +86 -23
  314. package/dist/frontend/lowering/builtins/hash-stream.js.map +1 -1
  315. package/dist/frontend/lowering/builtins/json.js +54 -1
  316. package/dist/frontend/lowering/builtins/json.js.map +1 -1
  317. package/dist/frontend/lowering/builtins/key-object.d.ts +2 -1
  318. package/dist/frontend/lowering/builtins/key-object.js +20 -7
  319. package/dist/frontend/lowering/builtins/key-object.js.map +1 -1
  320. package/dist/frontend/lowering/builtins/module-calls.js +11 -4
  321. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  322. package/dist/frontend/lowering/builtins/numbers.js +9 -5
  323. package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
  324. package/dist/frontend/lowering/builtins/operating-system.js +4 -3
  325. package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
  326. package/dist/frontend/lowering/builtins/performance.js +3 -2
  327. package/dist/frontend/lowering/builtins/performance.js.map +1 -1
  328. package/dist/frontend/lowering/builtins/process.d.ts +9 -0
  329. package/dist/frontend/lowering/builtins/process.js +47 -2
  330. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  331. package/dist/frontend/lowering/builtins/promises.js +3 -2
  332. package/dist/frontend/lowering/builtins/promises.js.map +1 -1
  333. package/dist/frontend/lowering/builtins/promisify-callback.d.ts +3 -0
  334. package/dist/frontend/lowering/builtins/promisify-callback.js +23 -4
  335. package/dist/frontend/lowering/builtins/promisify-callback.js.map +1 -1
  336. package/dist/frontend/lowering/builtins/readline.d.ts +2 -1
  337. package/dist/frontend/lowering/builtins/readline.js +23 -6
  338. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  339. package/dist/frontend/lowering/builtins/reflection.js +26 -0
  340. package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
  341. package/dist/frontend/lowering/builtins/strings.js +13 -5
  342. package/dist/frontend/lowering/builtins/strings.js.map +1 -1
  343. package/dist/frontend/lowering/builtins/text-codecs.js +2 -1
  344. package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
  345. package/dist/frontend/lowering/builtins/timers.js +6 -2
  346. package/dist/frontend/lowering/builtins/timers.js.map +1 -1
  347. package/dist/frontend/lowering/builtins/typed-array-members.d.ts +7 -0
  348. package/dist/frontend/lowering/builtins/typed-array-members.js +160 -0
  349. package/dist/frontend/lowering/builtins/typed-array-members.js.map +1 -0
  350. package/dist/frontend/lowering/builtins/url.js +4 -3
  351. package/dist/frontend/lowering/builtins/url.js.map +1 -1
  352. package/dist/frontend/lowering/builtins/v8.js +2 -1
  353. package/dist/frontend/lowering/builtins/v8.js.map +1 -1
  354. package/dist/frontend/lowering/builtins/webcrypto.js +39 -20
  355. package/dist/frontend/lowering/builtins/webcrypto.js.map +1 -1
  356. package/dist/frontend/lowering/call-arguments.js +2 -1
  357. package/dist/frontend/lowering/call-arguments.js.map +1 -1
  358. package/dist/frontend/lowering/call-signatures.d.ts +4 -0
  359. package/dist/frontend/lowering/call-signatures.js +137 -13
  360. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  361. package/dist/frontend/lowering/caught-value-dispatch.d.ts +18 -1
  362. package/dist/frontend/lowering/caught-value-dispatch.js +201 -32
  363. package/dist/frontend/lowering/caught-value-dispatch.js.map +1 -1
  364. package/dist/frontend/lowering/cjs-exports-object.js +34 -1
  365. package/dist/frontend/lowering/cjs-exports-object.js.map +1 -1
  366. package/dist/frontend/lowering/class-assertions.js +3 -2
  367. package/dist/frontend/lowering/class-assertions.js.map +1 -1
  368. package/dist/frontend/lowering/class-construction.d.ts +2 -1
  369. package/dist/frontend/lowering/class-construction.js +8 -13
  370. package/dist/frontend/lowering/class-construction.js.map +1 -1
  371. package/dist/frontend/lowering/class-descriptors.js +1 -1
  372. package/dist/frontend/lowering/class-descriptors.js.map +1 -1
  373. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +34 -0
  374. package/dist/frontend/lowering/class-dynamic-dispatch.js +577 -152
  375. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  376. package/dist/frontend/lowering/class-dynamic-dispatch.test.js +77 -0
  377. package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
  378. package/dist/frontend/lowering/class-method-mutations.js +3 -0
  379. package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
  380. package/dist/frontend/lowering/class-method-values.js +1 -1
  381. package/dist/frontend/lowering/class-method-values.js.map +1 -1
  382. package/dist/frontend/lowering/class-protocols.d.ts +17 -0
  383. package/dist/frontend/lowering/class-protocols.js +117 -7
  384. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  385. package/dist/frontend/lowering/class-prototypes.d.ts +5 -0
  386. package/dist/frontend/lowering/class-prototypes.js +42 -4
  387. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  388. package/dist/frontend/lowering/class-to-primitive.d.ts +2 -2
  389. package/dist/frontend/lowering/class-to-primitive.js +31 -8
  390. package/dist/frontend/lowering/class-to-primitive.js.map +1 -1
  391. package/dist/frontend/lowering/class-unions.js +2 -1
  392. package/dist/frontend/lowering/class-unions.js.map +1 -1
  393. package/dist/frontend/lowering/coercions/fresh-spread.d.ts +13 -0
  394. package/dist/frontend/lowering/coercions/fresh-spread.js +95 -0
  395. package/dist/frontend/lowering/coercions/fresh-spread.js.map +1 -0
  396. package/dist/frontend/lowering/coercions/function-adapters.js +105 -75
  397. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
  398. package/dist/frontend/lowering/coercions/structural.js +8 -7
  399. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  400. package/dist/frontend/lowering/coercions/unions.js +8 -7
  401. package/dist/frontend/lowering/coercions/unions.js.map +1 -1
  402. package/dist/frontend/lowering/collection-ingestion.js +2 -1
  403. package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
  404. package/dist/frontend/lowering/containers/array-callbacks.d.ts +15 -0
  405. package/dist/frontend/lowering/containers/array-callbacks.js +36 -32
  406. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  407. package/dist/frontend/lowering/containers/array-concat.js +2 -1
  408. package/dist/frontend/lowering/containers/array-concat.js.map +1 -1
  409. package/dist/frontend/lowering/containers/array-construction.js +32 -4
  410. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  411. package/dist/frontend/lowering/containers/array-methods.js +11 -5
  412. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  413. package/dist/frontend/lowering/containers/array-pipelines.js +2 -1
  414. package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -1
  415. package/dist/frontend/lowering/containers/bytes.d.ts +10 -1
  416. package/dist/frontend/lowering/containers/bytes.js +601 -24
  417. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  418. package/dist/frontend/lowering/containers/callback-arguments.js +52 -2
  419. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
  420. package/dist/frontend/lowering/containers/collection-grouping.js +3 -2
  421. package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -1
  422. package/dist/frontend/lowering/containers/collection-methods.js +80 -10
  423. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  424. package/dist/frontend/lowering/containers/indexed-objects.js +8 -7
  425. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  426. package/dist/frontend/lowering/containers/iterator-helpers.d.ts +32 -1
  427. package/dist/frontend/lowering/containers/iterator-helpers.js +6 -5
  428. package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -1
  429. package/dist/frontend/lowering/containers/string-and-regexp.js +85 -22
  430. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  431. package/dist/frontend/lowering/containers/string-replacement.js +2 -1
  432. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
  433. package/dist/frontend/lowering/cycle-initialization.d.ts +26 -10
  434. package/dist/frontend/lowering/cycle-initialization.js +177 -39
  435. package/dist/frontend/lowering/cycle-initialization.js.map +1 -1
  436. package/dist/frontend/lowering/deferred-module-initializers.d.ts +18 -1
  437. package/dist/frontend/lowering/deferred-module-initializers.js +226 -115
  438. package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
  439. package/dist/frontend/lowering/deferred-module-initializers.test.js +28 -0
  440. package/dist/frontend/lowering/deferred-module-initializers.test.js.map +1 -1
  441. package/dist/frontend/lowering/dispatch-sites.d.ts +59 -0
  442. package/dist/frontend/lowering/dispatch-sites.js +204 -0
  443. package/dist/frontend/lowering/dispatch-sites.js.map +1 -0
  444. package/dist/frontend/lowering/dispatch-sites.test.d.ts +1 -0
  445. package/dist/frontend/lowering/dispatch-sites.test.js +59 -0
  446. package/dist/frontend/lowering/dispatch-sites.test.js.map +1 -0
  447. package/dist/frontend/lowering/dyn-streams.d.ts +3 -0
  448. package/dist/frontend/lowering/dyn-streams.js +1 -1
  449. package/dist/frontend/lowering/dyn-streams.js.map +1 -1
  450. package/dist/frontend/lowering/dynamic-tier.d.ts +25 -0
  451. package/dist/frontend/lowering/dynamic-tier.js +327 -0
  452. package/dist/frontend/lowering/dynamic-tier.js.map +1 -0
  453. package/dist/frontend/lowering/error-methods.js +4 -0
  454. package/dist/frontend/lowering/error-methods.js.map +1 -1
  455. package/dist/frontend/lowering/expressions/array-literals.js +48 -13
  456. package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
  457. package/dist/frontend/lowering/expressions/binary.js +124 -8
  458. package/dist/frontend/lowering/expressions/binary.js.map +1 -1
  459. package/dist/frontend/lowering/expressions/element-access.js +30 -7
  460. package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
  461. package/dist/frontend/lowering/expressions/identifiers.js +46 -7
  462. package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
  463. package/dist/frontend/lowering/expressions/keyed-field-targets.d.ts +14 -2
  464. package/dist/frontend/lowering/expressions/keyed-field-targets.js +91 -10
  465. package/dist/frontend/lowering/expressions/keyed-field-targets.js.map +1 -1
  466. package/dist/frontend/lowering/expressions/narrowing.js +52 -7
  467. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
  468. package/dist/frontend/lowering/expressions/object-literals.d.ts +0 -3
  469. package/dist/frontend/lowering/expressions/object-literals.js +75 -7
  470. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  471. package/dist/frontend/lowering/expressions/optional-chains.d.ts +1 -1
  472. package/dist/frontend/lowering/expressions/optional-chains.js +17 -8
  473. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  474. package/dist/frontend/lowering/expressions/property-access.d.ts +5 -4
  475. package/dist/frontend/lowering/expressions/property-access.js +351 -16
  476. package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
  477. package/dist/frontend/lowering/expressions/relational.js +112 -9
  478. package/dist/frontend/lowering/expressions/relational.js.map +1 -1
  479. package/dist/frontend/lowering/expressions/typeof.js +13 -0
  480. package/dist/frontend/lowering/expressions/typeof.js.map +1 -1
  481. package/dist/frontend/lowering/expressions/updates.js +64 -10
  482. package/dist/frontend/lowering/expressions/updates.js.map +1 -1
  483. package/dist/frontend/lowering/generator-delegation.d.ts +8 -0
  484. package/dist/frontend/lowering/generator-delegation.js +191 -1
  485. package/dist/frontend/lowering/generator-delegation.js.map +1 -1
  486. package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +6 -1
  487. package/dist/frontend/lowering/generator-dynamic-dispatch.js +20 -30
  488. package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
  489. package/dist/frontend/lowering/generic-functions.d.ts +46 -1
  490. package/dist/frontend/lowering/generic-functions.js +660 -73
  491. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  492. package/dist/frontend/lowering/handle-properties.d.ts +24 -0
  493. package/dist/frontend/lowering/handle-properties.js +281 -0
  494. package/dist/frontend/lowering/handle-properties.js.map +1 -0
  495. package/dist/frontend/lowering/intern-tables.js +2 -1
  496. package/dist/frontend/lowering/intern-tables.js.map +1 -1
  497. package/dist/frontend/lowering/iterable-spelling.d.ts +7 -0
  498. package/dist/frontend/lowering/iterable-spelling.js +38 -0
  499. package/dist/frontend/lowering/iterable-spelling.js.map +1 -0
  500. package/dist/frontend/lowering/iterator-adapters.js +9 -8
  501. package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
  502. package/dist/frontend/lowering/js-dynamic-objects.js +3 -2
  503. package/dist/frontend/lowering/js-dynamic-objects.js.map +1 -1
  504. package/dist/frontend/lowering/json-require.js +2 -1
  505. package/dist/frontend/lowering/json-require.js.map +1 -1
  506. package/dist/frontend/lowering/key-order-witness.d.ts +7 -2
  507. package/dist/frontend/lowering/key-order-witness.js +21 -4
  508. package/dist/frontend/lowering/key-order-witness.js.map +1 -1
  509. package/dist/frontend/lowering/key-order-witness.test.js +38 -2
  510. package/dist/frontend/lowering/key-order-witness.test.js.map +1 -1
  511. package/dist/frontend/lowering/lifetime-regions.js +2 -1
  512. package/dist/frontend/lowering/lifetime-regions.js.map +1 -1
  513. package/dist/frontend/lowering/lower-array-sort.d.ts +33 -15
  514. package/dist/frontend/lowering/lower-array-sort.js +117 -21
  515. package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
  516. package/dist/frontend/lowering/lower-array-sort.test.js +93 -14
  517. package/dist/frontend/lowering/lower-array-sort.test.js.map +1 -1
  518. package/dist/frontend/lowering/lower-assert.js +6 -5
  519. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  520. package/dist/frontend/lowering/lower-async-iteration.js +3 -1
  521. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  522. package/dist/frontend/lowering/lower-builtin-values.js +1 -0
  523. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  524. package/dist/frontend/lowering/lower-calls.d.ts +4 -0
  525. package/dist/frontend/lowering/lower-calls.js +504 -97
  526. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  527. package/dist/frontend/lowering/lower-classes.d.ts +22 -0
  528. package/dist/frontend/lowering/lower-classes.js +339 -32
  529. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  530. package/dist/frontend/lowering/lower-dgram.js +65 -15
  531. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  532. package/dist/frontend/lowering/lower-event-emitter.d.ts +14 -0
  533. package/dist/frontend/lowering/lower-event-emitter.js +267 -20
  534. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  535. package/dist/frontend/lowering/lower-exprs.d.ts +19 -2
  536. package/dist/frontend/lowering/lower-exprs.js +148 -12
  537. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  538. package/dist/frontend/lowering/lower-functions.js +308 -72
  539. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  540. package/dist/frontend/lowering/lower-generators.js +10 -4
  541. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  542. package/dist/frontend/lowering/lower-inspect.js +578 -16
  543. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  544. package/dist/frontend/lowering/lower-mixins.js +2 -1
  545. package/dist/frontend/lowering/lower-mixins.js.map +1 -1
  546. package/dist/frontend/lowering/lower-mock.js +2 -1
  547. package/dist/frontend/lowering/lower-mock.js.map +1 -1
  548. package/dist/frontend/lowering/lower-modules.d.ts +11 -3
  549. package/dist/frontend/lowering/lower-modules.js +227 -72
  550. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  551. package/dist/frontend/lowering/lower-modules.test.js +2 -2
  552. package/dist/frontend/lowering/lower-modules.test.js.map +1 -1
  553. package/dist/frontend/lowering/lower-namespaces.d.ts +2 -1
  554. package/dist/frontend/lowering/lower-namespaces.js +24 -3
  555. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  556. package/dist/frontend/lowering/lower-server.d.ts +10 -0
  557. package/dist/frontend/lowering/lower-server.js +263 -60
  558. package/dist/frontend/lowering/lower-server.js.map +1 -1
  559. package/dist/frontend/lowering/lower-stdlib.js +39 -18
  560. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  561. package/dist/frontend/lowering/lower-stmts.d.ts +7 -10
  562. package/dist/frontend/lowering/lower-stmts.js +584 -69
  563. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  564. package/dist/frontend/lowering/lower-stmts.test.js +1 -1
  565. package/dist/frontend/lowering/lower-stmts.test.js.map +1 -1
  566. package/dist/frontend/lowering/lower-stream.js +575 -165
  567. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  568. package/dist/frontend/lowering/lower-timers.js +21 -4
  569. package/dist/frontend/lowering/lower-timers.js.map +1 -1
  570. package/dist/frontend/lowering/lowerer.d.ts +151 -30
  571. package/dist/frontend/lowering/lowerer.js +725 -84
  572. package/dist/frontend/lowering/lowerer.js.map +1 -1
  573. package/dist/frontend/lowering/lowerer.test.js +21 -9
  574. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  575. package/dist/frontend/lowering/narrowing-stability.js +5 -0
  576. package/dist/frontend/lowering/narrowing-stability.js.map +1 -1
  577. package/dist/frontend/lowering/native-ffi.js +1 -1
  578. package/dist/frontend/lowering/native-ffi.js.map +1 -1
  579. package/dist/frontend/lowering/object-enumeration-receiver.js +2 -1
  580. package/dist/frontend/lowering/object-enumeration-receiver.js.map +1 -1
  581. package/dist/frontend/lowering/pairs-snapshot.js +2 -1
  582. package/dist/frontend/lowering/pairs-snapshot.js.map +1 -1
  583. package/dist/frontend/lowering/private-brands.d.ts +9 -0
  584. package/dist/frontend/lowering/private-brands.js +66 -15
  585. package/dist/frontend/lowering/private-brands.js.map +1 -1
  586. package/dist/frontend/lowering/promise-executor-adapter.js +2 -1
  587. package/dist/frontend/lowering/promise-executor-adapter.js.map +1 -1
  588. package/dist/frontend/lowering/rebindable-functions.d.ts +8 -0
  589. package/dist/frontend/lowering/rebindable-functions.js +54 -0
  590. package/dist/frontend/lowering/rebindable-functions.js.map +1 -0
  591. package/dist/frontend/lowering/require-initialization.js +2 -1
  592. package/dist/frontend/lowering/require-initialization.js.map +1 -1
  593. package/dist/frontend/lowering/runtime-optional-elements.d.ts +5 -0
  594. package/dist/frontend/lowering/runtime-optional-elements.js +17 -1
  595. package/dist/frontend/lowering/runtime-optional-elements.js.map +1 -1
  596. package/dist/frontend/lowering/runtime-optional-records.d.ts +2 -0
  597. package/dist/frontend/lowering/runtime-optional-records.js +18 -5
  598. package/dist/frontend/lowering/runtime-optional-records.js.map +1 -1
  599. package/dist/frontend/lowering/site-dependencies.d.ts +35 -0
  600. package/dist/frontend/lowering/site-dependencies.js +84 -0
  601. package/dist/frontend/lowering/site-dependencies.js.map +1 -0
  602. package/dist/frontend/lowering/site-dependencies.test.d.ts +1 -0
  603. package/dist/frontend/lowering/site-dependencies.test.js +53 -0
  604. package/dist/frontend/lowering/site-dependencies.test.js.map +1 -0
  605. package/dist/frontend/lowering/stable-names.d.ts +11 -0
  606. package/dist/frontend/lowering/stable-names.js +35 -0
  607. package/dist/frontend/lowering/stable-names.js.map +1 -0
  608. package/dist/frontend/lowering/static-typeof.d.ts +26 -0
  609. package/dist/frontend/lowering/static-typeof.js +172 -0
  610. package/dist/frontend/lowering/static-typeof.js.map +1 -0
  611. package/dist/frontend/lowering/strict-equality.js +2 -1
  612. package/dist/frontend/lowering/strict-equality.js.map +1 -1
  613. package/dist/frontend/lowering/string-index-bounds.js +3 -2
  614. package/dist/frontend/lowering/string-index-bounds.js.map +1 -1
  615. package/dist/frontend/lowering/structural-positions.d.ts +32 -0
  616. package/dist/frontend/lowering/structural-positions.js +108 -0
  617. package/dist/frontend/lowering/structural-positions.js.map +1 -0
  618. package/dist/frontend/lowering/surfaces.js +72 -30
  619. package/dist/frontend/lowering/surfaces.js.map +1 -1
  620. package/dist/frontend/lowering/thenables.d.ts +16 -0
  621. package/dist/frontend/lowering/thenables.js +124 -0
  622. package/dist/frontend/lowering/thenables.js.map +1 -0
  623. package/dist/frontend/lowering/var-hoisting.js +37 -3
  624. package/dist/frontend/lowering/var-hoisting.js.map +1 -1
  625. package/dist/frontend/npm-static-builtin-aliases.d.ts +8 -0
  626. package/dist/frontend/npm-static-builtin-aliases.js +65 -0
  627. package/dist/frontend/npm-static-builtin-aliases.js.map +1 -0
  628. package/dist/frontend/npm-static-bundled-chunks.d.ts +8 -1
  629. package/dist/frontend/npm-static-bundled-chunks.js +173 -2
  630. package/dist/frontend/npm-static-bundled-chunks.js.map +1 -1
  631. package/dist/frontend/npm-static-bundled-chunks.test.js +112 -0
  632. package/dist/frontend/npm-static-bundled-chunks.test.js.map +1 -1
  633. package/dist/frontend/npm-static-bundled-esm.js +224 -4
  634. package/dist/frontend/npm-static-bundled-esm.js.map +1 -1
  635. package/dist/frontend/npm-static-bundled-esm.test.js +129 -0
  636. package/dist/frontend/npm-static-bundled-esm.test.js.map +1 -1
  637. package/dist/frontend/npm-static-enum-iife.d.ts +6 -0
  638. package/dist/frontend/npm-static-enum-iife.js +280 -0
  639. package/dist/frontend/npm-static-enum-iife.js.map +1 -0
  640. package/dist/frontend/npm-static-enum-iife.test.d.ts +1 -0
  641. package/dist/frontend/npm-static-enum-iife.test.js +116 -0
  642. package/dist/frontend/npm-static-enum-iife.test.js.map +1 -0
  643. package/dist/frontend/npm-static-tsc-helpers.d.ts +5 -0
  644. package/dist/frontend/npm-static-tsc-helpers.js +106 -0
  645. package/dist/frontend/npm-static-tsc-helpers.js.map +1 -0
  646. package/dist/frontend/npm-static-tsc-helpers.test.d.ts +1 -0
  647. package/dist/frontend/npm-static-tsc-helpers.test.js +58 -0
  648. package/dist/frontend/npm-static-tsc-helpers.test.js.map +1 -0
  649. package/dist/frontend/npm-static-type-exports-host.d.ts +8 -0
  650. package/dist/frontend/npm-static-type-exports-host.js +214 -0
  651. package/dist/frontend/npm-static-type-exports-host.js.map +1 -0
  652. package/dist/frontend/npm-static-type-exports-host.test.d.ts +1 -0
  653. package/dist/frontend/npm-static-type-exports-host.test.js +53 -0
  654. package/dist/frontend/npm-static-type-exports-host.test.js.map +1 -0
  655. package/dist/frontend/npm-static-type-exports.d.ts +52 -0
  656. package/dist/frontend/npm-static-type-exports.js +261 -0
  657. package/dist/frontend/npm-static-type-exports.js.map +1 -0
  658. package/dist/frontend/npm-static-type-exports.test.d.ts +1 -0
  659. package/dist/frontend/npm-static-type-exports.test.js +103 -0
  660. package/dist/frontend/npm-static-type-exports.test.js.map +1 -0
  661. package/dist/frontend/npm-static-umd.d.ts +6 -0
  662. package/dist/frontend/npm-static-umd.js +203 -0
  663. package/dist/frontend/npm-static-umd.js.map +1 -0
  664. package/dist/frontend/npm-static-umd.test.d.ts +1 -0
  665. package/dist/frontend/npm-static-umd.test.js +105 -0
  666. package/dist/frontend/npm-static-umd.test.js.map +1 -0
  667. package/dist/frontend/npm-static.d.ts +16 -0
  668. package/dist/frontend/npm-static.js +93 -3
  669. package/dist/frontend/npm-static.js.map +1 -1
  670. package/dist/frontend/npm.js +13 -0
  671. package/dist/frontend/npm.js.map +1 -1
  672. package/dist/frontend/package-shims.d.ts +47 -0
  673. package/dist/frontend/package-shims.js +300 -0
  674. package/dist/frontend/package-shims.js.map +1 -0
  675. package/dist/frontend/pipeline.js +67 -1
  676. package/dist/frontend/pipeline.js.map +1 -1
  677. package/dist/frontend/program.d.ts +21 -0
  678. package/dist/frontend/program.js +174 -14
  679. package/dist/frontend/program.js.map +1 -1
  680. package/dist/frontend/program.test.js +1 -1
  681. package/dist/frontend/program.test.js.map +1 -1
  682. package/dist/frontend/resolve.js +13 -0
  683. package/dist/frontend/resolve.js.map +1 -1
  684. package/dist/frontend/services.d.ts +12 -0
  685. package/dist/frontend/services.js +37 -0
  686. package/dist/frontend/services.js.map +1 -1
  687. package/dist/frontend/ts7/ast-node.d.ts +21 -7
  688. package/dist/frontend/ts7/ast-node.js +131 -29
  689. package/dist/frontend/ts7/ast-node.js.map +1 -1
  690. package/dist/frontend/ts7/ast-node.test.js +60 -0
  691. package/dist/frontend/ts7/ast-node.test.js.map +1 -1
  692. package/dist/frontend/ts7/ast-wire.d.ts +27 -2
  693. package/dist/frontend/ts7/ast-wire.js +124 -21
  694. package/dist/frontend/ts7/ast-wire.js.map +1 -1
  695. package/dist/frontend/ts7/ast.d.ts +23 -2
  696. package/dist/frontend/ts7/ast.js +143 -2
  697. package/dist/frontend/ts7/ast.js.map +1 -1
  698. package/dist/frontend/ts7/checker.d.ts +13 -1
  699. package/dist/frontend/ts7/checker.js +75 -1
  700. package/dist/frontend/ts7/checker.js.map +1 -1
  701. package/dist/frontend/ts7/checker.test.js +9 -6
  702. package/dist/frontend/ts7/checker.test.js.map +1 -1
  703. package/dist/frontend/ts7/enums.d.ts +3 -3
  704. package/dist/frontend/ts7/enums.generated.d.ts +10 -0
  705. package/dist/frontend/ts7/enums.generated.js +21 -0
  706. package/dist/frontend/ts7/enums.generated.js.map +1 -1
  707. package/dist/frontend/ts7/enums.js +19 -0
  708. package/dist/frontend/ts7/enums.js.map +1 -1
  709. package/dist/frontend/ts7/program-host.d.ts +6 -5
  710. package/dist/frontend/ts7/program-host.js +12 -2
  711. package/dist/frontend/ts7/program-host.js.map +1 -1
  712. package/dist/frontend/ts7/semantic-checker.d.ts +10 -0
  713. package/dist/frontend/ts7/semantic-checker.js +25 -20
  714. package/dist/frontend/ts7/semantic-checker.js.map +1 -1
  715. package/dist/frontend/ts7/semantic-json.d.ts +13 -0
  716. package/dist/frontend/ts7/semantic-json.js +146 -0
  717. package/dist/frontend/ts7/semantic-json.js.map +1 -1
  718. package/dist/frontend/ts7/semantic-json.test.js +57 -1
  719. package/dist/frontend/ts7/semantic-json.test.js.map +1 -1
  720. package/dist/frontend/ts7/semantic-model.d.ts +18 -0
  721. package/dist/frontend/ts7/semantic-model.js +90 -16
  722. package/dist/frontend/ts7/semantic-model.js.map +1 -1
  723. package/dist/frontend/ts7/semantic-model.test.js +3 -2
  724. package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
  725. package/dist/frontend/ts7/session.d.ts +19 -4
  726. package/dist/frontend/ts7/session.js +1 -1
  727. package/dist/frontend/ts7/session.js.map +1 -1
  728. package/dist/frontend/tsc-codes.d.ts +1 -1
  729. package/dist/frontend/tsc-codes.js +7 -0
  730. package/dist/frontend/tsc-codes.js.map +1 -1
  731. package/dist/frontend/type-mapper.d.ts +38 -6
  732. package/dist/frontend/type-mapper.js +466 -47
  733. package/dist/frontend/type-mapper.js.map +1 -1
  734. package/dist/frontend/type-mapper.test.js +1 -1
  735. package/dist/frontend/type-mapper.test.js.map +1 -1
  736. package/dist/frontend-process-args.d.ts +4 -0
  737. package/dist/frontend-process-args.js +52 -0
  738. package/dist/frontend-process-args.js.map +1 -0
  739. package/dist/frontend-process-args.test.d.ts +1 -0
  740. package/dist/frontend-process-args.test.js +47 -0
  741. package/dist/frontend-process-args.test.js.map +1 -0
  742. package/dist/frontend-process.d.ts +1 -0
  743. package/dist/frontend-process.js +23 -0
  744. package/dist/frontend-process.js.map +1 -0
  745. package/dist/heap-collection.d.ts +16 -0
  746. package/dist/heap-collection.js +42 -0
  747. package/dist/heap-collection.js.map +1 -0
  748. package/dist/heap-collection.test.d.ts +1 -0
  749. package/dist/heap-collection.test.js +59 -0
  750. package/dist/heap-collection.test.js.map +1 -0
  751. package/dist/heap-pressure.d.ts +2 -0
  752. package/dist/heap-pressure.js +12 -0
  753. package/dist/heap-pressure.js.map +1 -0
  754. package/dist/index.d.ts +8 -0
  755. package/dist/index.js +453 -85
  756. package/dist/index.js.map +1 -1
  757. package/dist/ir/array-length-stability.d.ts +3 -2
  758. package/dist/ir/array-length-stability.js +22 -2
  759. package/dist/ir/array-length-stability.js.map +1 -1
  760. package/dist/ir/array-length-stability.test.js +47 -1
  761. package/dist/ir/array-length-stability.test.js.map +1 -1
  762. package/dist/ir/builtin-effects.js +41 -0
  763. package/dist/ir/builtin-effects.js.map +1 -1
  764. package/dist/ir/builtin-signatures.d.ts +5 -1
  765. package/dist/ir/builtin-signatures.js +187 -16
  766. package/dist/ir/builtin-signatures.js.map +1 -1
  767. package/dist/ir/final-fields.d.ts +2 -1
  768. package/dist/ir/final-fields.js +2 -2
  769. package/dist/ir/final-fields.js.map +1 -1
  770. package/dist/ir/function-references.test.js +2 -0
  771. package/dist/ir/function-references.test.js.map +1 -1
  772. package/dist/ir/int32-slots.d.ts +13 -5
  773. package/dist/ir/int32-slots.js +112 -115
  774. package/dist/ir/int32-slots.js.map +1 -1
  775. package/dist/ir/int32-slots.test.js +3 -1
  776. package/dist/ir/int32-slots.test.js.map +1 -1
  777. package/dist/ir/integer-loop-facts.d.ts +14 -4
  778. package/dist/ir/integer-loop-facts.js +172 -32
  779. package/dist/ir/integer-loop-facts.js.map +1 -1
  780. package/dist/ir/integer-loops.d.ts +49 -0
  781. package/dist/ir/integer-loops.js +193 -39
  782. package/dist/ir/integer-loops.js.map +1 -1
  783. package/dist/ir/integer-loops.test.js +201 -1
  784. package/dist/ir/integer-loops.test.js.map +1 -1
  785. package/dist/ir/integer-ranges.d.ts +10 -1
  786. package/dist/ir/integer-ranges.js +122 -25
  787. package/dist/ir/integer-ranges.js.map +1 -1
  788. package/dist/ir/integer-ranges.test.js +255 -1
  789. package/dist/ir/integer-ranges.test.js.map +1 -1
  790. package/dist/ir/ir.d.ts +17 -2
  791. package/dist/ir/ir.js +11 -1
  792. package/dist/ir/ir.js.map +1 -1
  793. package/dist/ir/js-ic.d.ts +52 -0
  794. package/dist/ir/js-ic.js +199 -0
  795. package/dist/ir/js-ic.js.map +1 -0
  796. package/dist/ir/js-ic.test.d.ts +1 -0
  797. package/dist/ir/js-ic.test.js +148 -0
  798. package/dist/ir/js-ic.test.js.map +1 -0
  799. package/dist/ir/jsval.js +38 -4
  800. package/dist/ir/jsval.js.map +1 -1
  801. package/dist/ir/runtime-features.d.ts +64 -5
  802. package/dist/ir/runtime-features.js +358 -101
  803. package/dist/ir/runtime-features.js.map +1 -1
  804. package/dist/ir/tiers.js +1 -0
  805. package/dist/ir/tiers.js.map +1 -1
  806. package/dist/ir/traverse.d.ts +2 -0
  807. package/dist/ir/traverse.js +124 -70
  808. package/dist/ir/traverse.js.map +1 -1
  809. package/dist/ir/validate.js +77 -24
  810. package/dist/ir/validate.js.map +1 -1
  811. package/dist/ir/validate.test.js +15 -2
  812. package/dist/ir/validate.test.js.map +1 -1
  813. package/dist/library/ir-policy.js +11 -0
  814. package/dist/library/ir-policy.js.map +1 -1
  815. package/dist/library/library-cache.d.ts +2 -0
  816. package/dist/library/library-cache.js.map +1 -1
  817. package/dist/library/prepare.js +2 -0
  818. package/dist/library/prepare.js.map +1 -1
  819. package/dist/native/cli.js +22 -0
  820. package/dist/native/cli.js.map +1 -1
  821. package/dist/native/compiler.js +33 -4
  822. package/dist/native/compiler.js.map +1 -1
  823. package/dist/native/executable-cache.js +3 -0
  824. package/dist/native/executable-cache.js.map +1 -1
  825. package/dist/native/prepare.js +8 -1
  826. package/dist/native/prepare.js.map +1 -1
  827. package/dist/native/sanitizer.test.js +10 -0
  828. package/dist/native/sanitizer.test.js.map +1 -1
  829. package/dist/startup-cache.d.ts +1 -0
  830. package/dist/startup-cache.js +1 -0
  831. package/dist/startup-cache.js.map +1 -1
  832. package/dist/text-parts.d.ts +7 -0
  833. package/dist/text-parts.js +44 -0
  834. package/dist/text-parts.js.map +1 -1
  835. package/dist/text-parts.test.d.ts +1 -0
  836. package/dist/text-parts.test.js +46 -0
  837. package/dist/text-parts.test.js.map +1 -0
  838. package/dist/timing.d.ts +9 -2
  839. package/dist/timing.js +7 -4
  840. package/dist/timing.js.map +1 -1
  841. package/dist/wasm/translate.d.ts +4 -0
  842. package/dist/wasm/translate.js +2 -2
  843. package/dist/wasm/translate.js.map +1 -1
  844. package/package.json +22 -21
  845. package/shims/fs-extra/core/api.ts +1192 -0
  846. package/shims/fs-extra/index.ts +9 -0
  847. package/shims/undici/core/agent.ts +163 -0
  848. package/shims/undici/core/api.ts +93 -0
  849. package/shims/undici/core/client.ts +1304 -0
  850. package/shims/undici/core/connector.ts +157 -0
  851. package/shims/undici/core/diagnostics-types.ts +68 -0
  852. package/shims/undici/core/diagnostics.ts +16 -0
  853. package/shims/undici/core/dispatcher.ts +574 -0
  854. package/shims/undici/core/errors-v5.ts +22 -0
  855. package/shims/undici/core/errors-v7.ts +25 -0
  856. package/shims/undici/core/errors.ts +255 -0
  857. package/shims/undici/core/fetch.ts +635 -0
  858. package/shims/undici/core/pool.ts +280 -0
  859. package/shims/undici/core/readable.ts +268 -0
  860. package/shims/undici/core/request.ts +313 -0
  861. package/shims/undici/core/timers.ts +80 -0
  862. package/shims/undici/core/types.ts +167 -0
  863. package/shims/undici/core/util.ts +67 -0
  864. package/shims/undici/v5.ts +119 -0
  865. package/shims/undici/v7.ts +119 -0
  866. package/surface-manifest.json +20 -52
@@ -1,3 +1,4 @@
1
+ import { keyedHelperName } from "./stable-names.js";
1
2
  import { dynUndefinedExpr, numLit, varRef } from "../../ir/build.js";
2
3
  import * as ts from "../ts7/adapter.js";
3
4
  import { isJsSourceFile } from "../program.js";
@@ -35,7 +36,7 @@ export function adaptZeroArgTimerCallback(lowerer, cb, node, loc) {
35
36
  const toT = { kind: "func", params: [], ret: VOID };
36
37
  const key = `timer.dropret:${typeKey(fromT)}`;
37
38
  const existing = lowerer.arrHofHelpers.get(key);
38
- const name = existing ?? `%timer.dropret.${lowerer.arrHofHelpers.size}`;
39
+ const name = existing ?? keyedHelperName(lowerer, "%timer.dropret", key);
39
40
  if (!existing) {
40
41
  lowerer.arrHofHelpers.set(key, name);
41
42
  lowerer.liftedFns.push(...buildFunctionAdapter(name, fromT, toT, [], [], [
@@ -75,7 +76,7 @@ export function adaptZeroArgTimerCallback(lowerer, cb, node, loc) {
75
76
  const toT = { kind: "func", params: [], ret: VOID };
76
77
  const key = `timer.droparg:${typeKey(fromT)}`;
77
78
  const existing = lowerer.arrHofHelpers.get(key);
78
- const name = existing ?? `%timer.droparg.${lowerer.arrHofHelpers.size}`;
79
+ const name = existing ?? keyedHelperName(lowerer, "%timer.droparg", key);
79
80
  if (!existing) {
80
81
  lowerer.arrHofHelpers.set(key, name);
81
82
  lowerer.liftedFns.push(...buildFunctionAdapter(name, fromT, toT, [], [], [
@@ -130,7 +131,7 @@ function makeTimerArgsThunk(lowerer, cbNode, argNodes, what, loc) {
130
131
  const toT = { kind: "func", params: [], ret: VOID };
131
132
  const key = `timer.argsthunk:${n}`;
132
133
  const existing = lowerer.arrHofHelpers.get(key);
133
- const name = existing ?? `%timer.argsthunk.${lowerer.arrHofHelpers.size}`;
134
+ const name = existing ?? keyedHelperName(lowerer, "%timer.argsthunk", key);
134
135
  if (!existing) {
135
136
  lowerer.arrHofHelpers.set(key, name);
136
137
  const impl = `${name}.impl`;
@@ -290,9 +291,21 @@ function lowerTimerCall(lowerer, expr, member, loc) {
290
291
  : adaptZeroArgTimerCallback(lowerer, lowerer.lowerExpr(expr.arguments.nodes[0]), expr.arguments.nodes[0], loc);
291
292
  // An omitted delay is NaN, Node's undefined: the loop clamps it to
292
293
  // 1ms, and mock.timers queues it to run at the next tick.
293
- const ms = expr.arguments.nodes.length >= 2
294
+ let ms = expr.arguments.nodes.length >= 2
294
295
  ? lowerer.lowerExpr(expr.arguments.nodes[1])
295
296
  : { kind: "numLit", value: NaN, type: F64, loc };
297
+ // A delay that may be a boolean (execa's `forceKillAfterTimeout = true`
298
+ // default flowing on to setTimeout): Node converts it with ToNumber
299
+ // (`after *= 1`).
300
+ if (ms.type.kind === "bool" || hasBoolArm(lowerer, ms.type)) {
301
+ ms = {
302
+ kind: "libCall",
303
+ fn: "dyn.numberConstructor",
304
+ args: [lowerer.coerceToExpected(ms, DYN)],
305
+ type: F64,
306
+ loc,
307
+ };
308
+ }
296
309
  if (member === "setInterval") {
297
310
  return { kind: "libCall", fn: "timers.setInterval", args: [cb, ms], type: F64, loc };
298
311
  }
@@ -381,4 +394,8 @@ function lowerTimerCall(lowerer, expr, member, loc) {
381
394
  }
382
395
  return null;
383
396
  }
397
+ function hasBoolArm(lowerer, type) {
398
+ return (type.kind === "union" &&
399
+ (lowerer.unions.get(type.unionId)?.arms.some((arm) => arm.kind === "bool") ?? false));
400
+ }
384
401
  //# sourceMappingURL=lower-timers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lower-timers.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lower-timers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lower-timers.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lower-timers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { StructuralPositions } from "./structural-positions.js";
1
2
  import type { ConstructorReturnPlan } from "./constructor-returns.js";
2
3
  import { type CycleInitFlag } from "./cycle-initialization.js";
3
4
  import { type JsonRequireModule } from "./json-require.js";
@@ -27,7 +28,7 @@ import { type UnionLiteral } from "../union-discriminants.js";
27
28
  import type { ScrDiagnostic } from "../../diagnostics/diagnostic.js";
28
29
  import { UNSUPPORTED } from "../../diagnostics/diagnostic.js";
29
30
  import type { IrClassDef, IrExpr, IrFfiImport, IrFunction, IrGlobal, IrLocal, IrModule, IrParam, IrRecordShape, IrStmt, IrType, IrUnionDef, SrcLoc } from "../../ir/ir.js";
30
- import { type StartupCrash } from "../program.js";
31
+ import { type StartupCrash, type CycleEdge } from "../program.js";
31
32
  import { ShapeRegistry, type TypeMapperCtx, UnionRegistry } from "../type-mapper.js";
32
33
  import { type CompoundOp, type StdlibFnEntry, type BuiltinModuleFn } from "./surfaces.js";
33
34
  import { type BuiltinClassRef } from "./builtins/class-values.js";
@@ -135,6 +136,9 @@ export interface LowerResult {
135
136
  /** Compile-time-detectable behavior differences from Node (SC6xxx
136
137
  * divergence warnings) in the program's own modules. Never failures. */
137
138
  divergences?: ScrDiagnostic[];
139
+ /** Performance warnings (SC61xx): the likely-hot functions the source
140
+ * leaves untyped (lowering/dynamic-tier.ts). Never failures. */
141
+ performance?: ScrDiagnostic[];
138
142
  /** Functions lowering placed in the dynamic tier (ir/tiers.ts), present
139
143
  * when there are any. */
140
144
  dynamicFunctions?: DynamicFunction[];
@@ -167,6 +171,8 @@ export interface LowerOptions {
167
171
  startupCrash?: StartupCrash | null;
168
172
  /** LoadResult.inlineRequireCycleCalls. */
169
173
  inlineRequireCycleCalls?: ReadonlySet<ts.Node> | undefined;
174
+ /** LoadResult.moduleEdges. */
175
+ moduleEdges?: ReadonlyMap<ts.SourceFile, readonly CycleEdge[]> | undefined;
170
176
  /** LIBRARY mode's reachability roots: the profile-mapped exports of the
171
177
  * entry module. Executable builds root at the entry's top level alone
172
178
  * (an unreferenced export dead-strips); a library's exports are called from
@@ -280,23 +286,6 @@ export interface LowererMode {
280
286
  tierMode?: TierMode;
281
287
  workerTargets?: readonly ts.SourceFile[];
282
288
  }
283
- /** Build lowering runs as a reachability worklist over the ts.Program:
284
- *
285
- * 1. REACHABLE EMIT — a worklist computes the set of reachable bodies.
286
- * Seeds are
287
- * the per-file init bodies (module top-level statements always run, in
288
- * import order); lowering a body yields IR whose call/closure/new/
289
- * virtualCall nodes are the edges that enqueue further bodies. The pass
290
- * retains that IR. Once the graph closes, those functions are assembled in
291
- * deterministic declaration order beside the already-lowered init,
292
- * generic-instance, and lifted bodies. Checker-backed IR construction
293
- * therefore happens once instead of once for discovery and again for
294
- * emission.
295
- *
296
- * `coverage: true` adds a second pass — the REMAINDER — that lowers only
297
- * the bodies reachable emit did NOT mark (plus deferred collection
298
- * diagnostics nothing flushed), reported separately: whole-program analysis without
299
- * letting unreached code fail builds. */
300
289
  export declare function lowerToIr(program: ts.Program, entry: ts.SourceFile, moduleOrder: ts.SourceFile[], options?: LowerOptions): LowerResult;
301
290
  /** The native namespace type produced by a literal static import() of a
302
291
  * compiled program module or supported Node builtin. This syntax-level
@@ -372,6 +361,9 @@ export declare class Lowerer {
372
361
  * pinned values resolve through genericFnOf exactly like top-level
373
362
  * generic function declarations (bindingGenericFnInfoOf). */
374
363
  readonly bindingGenericFns: Map<import("../ts7/ast-node.js").AstNode, GenericFnInfo>;
364
+ /** Identifiers by spelling, per file, for the generic bindings' use
365
+ * ordering (runsAfterDeclaration). */
366
+ readonly bindingIdentifiers: Map<ts.SourceFile, Map<string, ts.Identifier[]>>;
375
367
  /** Per-symbol result of the never-reassigned file scan
376
368
  * (bindingNeverReassigned — object-literal generic-method receivers). */
377
369
  readonly neverReassignedCache: Map<ts.Symbol, boolean>;
@@ -379,6 +371,9 @@ export declare class Lowerer {
379
371
  * NaN, which lower to plain doubles (see nan-coded-reads.ts). Settled by
380
372
  * analyzeRuntimeOptionalArrayReads before any body lowers. */
381
373
  nanCodedReads: NanCodedReads | null;
374
+ /** Whether any implementation source spells `versions`
375
+ * (programMentionsVersions in builtins/process.ts). */
376
+ mentionsProcessVersions: boolean | undefined;
382
377
  private stringIndexBoundsCache;
383
378
  /** Proofs that a string element read names an existing code unit. The
384
379
  * indexed-read analysis and expression lowering share one instance, so a
@@ -387,6 +382,9 @@ export declare class Lowerer {
387
382
  /** Syntactic writes indexed once per JS scope. Symbol and RHS type
388
383
  * checks remain contextual to each binding probe. */
389
384
  readonly jsBindingWritesByOwner: Map<import("../ts7/ast-node.js").AstNode, Map<string, ts.BinaryExpression[]>>;
385
+ /** JavaScript function declarations their own module reassigns
386
+ * (rebindable-functions.ts). */
387
+ readonly rebindableFunctions: Set<ts.FunctionDeclaration>;
390
388
  /** TRAP bindings: declarations whose initializer provably throws before
391
389
  * producing a value (its chain roots at an ambient-undefined name —
392
390
  * ambientUndefVarRootOf). Module init unwinds at the declaration, so no
@@ -440,6 +438,14 @@ export declare class Lowerer {
440
438
  * lowers, so immediate support decisions see the same shape metadata too. */
441
439
  private restoreGenericInstanceOrder;
442
440
  private restoreGenericClassInstanceOrder;
441
+ /** The classes in table order. Generic instances are added as bodies
442
+ * demand them, so they keep the slots they hold and fill them in the
443
+ * order of their settled demand ranks. */
444
+ classesInTableOrder(): ClassInfo[];
445
+ /** The globals in table order. A class's prototype data globals are
446
+ * added when a body first reads that prototype, so they keep the slots
447
+ * they hold and fill them in id order. */
448
+ private globalsInTableOrder;
443
449
  private settleGenericDemandPriorities;
444
450
  /** Non-null while an instance body lowers: type-parameter symbol →
445
451
  * concrete IR type, consulted inside mapType's recursion. */
@@ -470,6 +476,15 @@ export declare class Lowerer {
470
476
  /** Instance types (by checker type id) of the local classes generic
471
477
  * factory calls return, and the per-instance class each names. */
472
478
  readonly localClassInstanceTypes: Map<number, string>;
479
+ /** A generic factory's instantiated result type → the class value of the
480
+ * local class it returns (TypeMapperCtx.localClassValue). */
481
+ readonly localClassValueTypes: Map<number, IrType>;
482
+ /** While a generic factory instance lowers: its declared result type → the
483
+ * class value of the local class it returns. */
484
+ instanceResultClass: {
485
+ declared: number;
486
+ value: IrType;
487
+ } | null;
473
488
  /** The ts-level twin of typeParamBindings, non-null while a CALL-keyed
474
489
  * instance body lowers: type-parameter symbol → the bound CHECKER type,
475
490
  * consulted where the mapped IrType has already widened away information
@@ -492,6 +507,12 @@ export declare class Lowerer {
492
507
  * setEncoding call whose receiver is a socket or an untyped value.
493
508
  * Computed once on first use (null until then). */
494
509
  socketEncodingReachable: boolean | null;
510
+ /** Whether some program source can define a thenable
511
+ * (programMayDefineThenables). Null until first asked. */
512
+ thenablesMayBeDefined: boolean | null;
513
+ /** Lambdas lowered with checked-dynamic parameters (lambdaSignature):
514
+ * callbacks whose arguments are wider than their contextual overload. */
515
+ readonly dynParamLambdas: Set<import("../ts7/ast-node.js").AstNode>;
495
516
  /** Whether some server in this program may listen on a Unix socket: a
496
517
  * listen call whose first argument is a string. Computed once on first
497
518
  * use (null until then); address() answers the path only when true. */
@@ -552,6 +573,14 @@ export declare class Lowerer {
552
573
  /** Inline program-module require calls whose %init the enclosing member
553
574
  * read or member call is already sequencing (cjs-inline-require.ts). */
554
575
  readonly inlineRequireInitDone: Set<ts.CallExpression>;
576
+ /** Whether lowered code writes properties onto children, and what the
577
+ * program's JavaScript adds to them (handle-properties.ts). */
578
+ writesOntoChildren: boolean;
579
+ childAdditions: {
580
+ written: ReadonlySet<string>;
581
+ everyName: boolean;
582
+ any: boolean;
583
+ } | null;
555
584
  /** Bindings whose unchecked string arithmetic can produce either a number
556
585
  * (NaN for an absent read) or a string. Preserve that result union at bare
557
586
  * reads instead of applying the checker-bare string narrowing adapter. */
@@ -690,6 +719,19 @@ export declare class Lowerer {
690
719
  /** True while re-lowering a base function's 2nd+ instance: the same source
691
720
  * statements were already counted for the first instance. */
692
721
  suppressStats: boolean;
722
+ /** Callback literals passed straight to an error-first zlib or crypto
723
+ * function: only that function's callback adapter calls them
724
+ * (lowerUndefinedResultBody). */
725
+ readonly errorFirstLiterals: Set<import("../ts7/ast-node.js").AstNode>;
726
+ /** Parameters read as `any` in the error-path copy of an error-first
727
+ * callback. */
728
+ readonly anySymbols: Set<ts.Symbol>;
729
+ /** Error parameters of an error-first callback with a known value in
730
+ * the copy being lowered: true while it holds an Error, false while it
731
+ * holds null (staticCondition folds conditions on them). */
732
+ readonly knownErrors: Map<ts.Symbol, boolean>;
733
+ /** The number of error-path callback copies being lowered. */
734
+ errorPathCopies: number;
693
735
  /** Comparisons interned by operand representations and equality semantics. */
694
736
  readonly equalityHelpers: Map<string, string>;
695
737
  /** Synthetic array-HOF loop functions (map/filter/forEach desugar),
@@ -740,6 +782,8 @@ export declare class Lowerer {
740
782
  /** Generated value helpers, keyed by operation and type. Callers own
741
783
  * their key prefixes; this includes more than structural conversions. */
742
784
  readonly valueHelpers: Map<string, string>;
785
+ /** Each name keyedHelperName made, with a second hash of its key. */
786
+ readonly keyedNameKeys: Map<string, number>;
743
787
  /** structuralNarrowing's assignable classes, keyed by static and
744
788
  * narrowed class name. */
745
789
  readonly structuralClassPeers: Map<string, readonly string[]>;
@@ -878,13 +922,16 @@ export declare class Lowerer {
878
922
  doneLocalId: string;
879
923
  ctx: FnCtx;
880
924
  }>;
881
- chainCounter: number;
882
925
  /** Keyed by program-wide qualified class name (what IR object types carry). */
883
926
  readonly classes: Map<string, ClassInfo>;
884
927
  readonly classBySymbol: Map<ts.Symbol, ClassInfo>;
885
928
  /** Named method slots observed before class collection need a callable
886
929
  * ABI and shared prototype descriptors instead of call-site specialization. */
887
930
  readonly prototypeMethodAccesses: Map<string, import("../ts7/ast-node.js").AstNode>;
931
+ /** Whether the program reads `Error.prototype`, the checked-dynamic
932
+ * object an ES5 constructor function can inherit from: only then can a
933
+ * value that is not an Error instance be `instanceof Error`. */
934
+ errorPrototypeValues: boolean;
888
935
  /** Well-known symbol methods (`sym:iterator`) the program may replace
889
936
  * through a symbol-keyed write: an instance or prototype property, or a
890
937
  * reflection call. */
@@ -957,13 +1004,22 @@ export declare class Lowerer {
957
1004
  /** Inline Promise.then parameters whose contextual type is a builtin
958
1005
  * module namespace anonymous object. The settled native token is the
959
1006
  * ABI truth even when the checker type has no stable module symbol. */
960
- /** Receivers of a stream call on a Hash or Hmac (lowerHashStreamCall):
961
- * for the duration of that call, the receiver lowers to the Transform of
962
- * the value held in the named local. */
963
- readonly hashStreamReceivers: Map<ts.ExpressionBase, {
1007
+ /** Receivers of a stream call on a Hash, Hmac, Cipheriv or Decipheriv
1008
+ * (lowerHashStreamCall): for the duration of that call, the receiver
1009
+ * lowers to the Transform of the value held in the named local. */
1010
+ readonly valueStreamReceivers: Map<ts.ExpressionBase, {
964
1011
  localId: string;
965
1012
  type: IrType;
966
1013
  }>;
1014
+ /** fs call arguments evaluated ahead of a URL path's conversion
1015
+ * (builtins/fs-paths.ts): each lowers to the hidden local that holds its
1016
+ * value, which is null until the path's lowering has saved it. */
1017
+ readonly stagedArguments: Map<ts.ExpressionBase, {
1018
+ localId: string;
1019
+ type: IrType;
1020
+ } | null>;
1021
+ /** The staged arguments that follow each such URL path, in order. */
1022
+ readonly stagedAfterPath: Map<ts.ExpressionBase, ts.ExpressionBase[]>;
967
1023
  readonly moduleNsParamOverrides: Map<ts.ParameterDeclaration, {
968
1024
  kind: "moduleNs";
969
1025
  moduleId: string;
@@ -1084,6 +1140,10 @@ export declare class Lowerer {
1084
1140
  deferredModuleInitializers: DeferredModuleInitializers | null;
1085
1141
  fnStack: FnCtx[];
1086
1142
  readonly liftedFns: IrFunction[];
1143
+ /** The first lifted function of each name (liftedFnNamed), for the
1144
+ * liftedFns indexed so far. liftedFns only grows. */
1145
+ private readonly liftedFnsByName;
1146
+ private liftedFnsIndexed;
1087
1147
  /** Runtime-provided classes used as values (defineClassValueConstruct),
1088
1148
  * by IR class name. */
1089
1149
  readonly runtimeClassValues: Map<string, ClassInfo>;
@@ -1091,7 +1151,27 @@ export declare class Lowerer {
1091
1151
  * dispatch revision needs no weak-key identity or process-global state. */
1092
1152
  errorMethodDispatchRevision: string | null;
1093
1153
  errorPropertyDispatchRevision: string | null;
1094
- lambdaCounter: number;
1154
+ /** Structural source positions (structural-positions.ts) for names that
1155
+ * stay the same when unrelated code moves. */
1156
+ /** Files are named by their path relative to the entry's directory, so
1157
+ * names do not depend on where the program sits, and default library
1158
+ * files by their base name: two checkers install them in different
1159
+ * directories. */
1160
+ readonly positions: StructuralPositions;
1161
+ /** The outermost node whose token span is exactly `loc`, or null. */
1162
+ nodeAtLoc(loc: SrcLoc): ts.Node | null;
1163
+ /** The lowering unit whose name scopes the closures it lifts. */
1164
+ private closureRoot;
1165
+ private readonly closureNameCounts;
1166
+ /** Runs `fn` with the closures it lifts named under `root`. */
1167
+ withClosureRoot<T>(root: string, fn: () => T): T;
1168
+ /** The name of a closure (or wrapper) lifted for the source at `loc`:
1169
+ * `<prefix>.<hash>` of the current lowering unit, the location and
1170
+ * `suffix`, then `suffix`. A unit that lifts several functions for the same
1171
+ * location and suffix numbers them in the order it lifts them, so a
1172
+ * closure's name depends only on its unit, not on which units lowered
1173
+ * before it. */
1174
+ closureName(loc: SrcLoc, suffix?: string, prefix?: string): string;
1095
1175
  readonly preparedClassFactories: Map<ts.ArrowFunction | ts.FunctionExpression, IrExpr>;
1096
1176
  readonly preparingClassFactories: Set<ts.ArrowFunction | ts.FunctionExpression>;
1097
1177
  /** Statement lists currently mid-lowering, innermost last: the forward-
@@ -1146,6 +1226,10 @@ export declare class Lowerer {
1146
1226
  * can contain any retained descendant, but importing its declaration
1147
1227
  * alone does not make every descendant constructible. */
1148
1228
  private constructedClasses;
1229
+ /** Classes added to some ClassInfo's subclasses (lower-classes.ts). With
1230
+ * the class and constructed-class counts, it tells caches over the class
1231
+ * graph when the graph changed. */
1232
+ subclassLinks: number;
1149
1233
  /** Set while a subclass constructor's super() call notes its base
1150
1234
  * constructor edge: that edge does not instantiate the base exactly. */
1151
1235
  private superConstructorEdge;
@@ -1154,6 +1238,27 @@ export declare class Lowerer {
1154
1238
  private returnAwaitedPromise;
1155
1239
  private readonly virtualEdges;
1156
1240
  classCanBeConstructed(info: ClassInfo): boolean;
1241
+ /** How many classes classCanBeConstructed admits by name, or -1 while
1242
+ * it admits every class. The count only grows. */
1243
+ constructedClassCount(): number;
1244
+ /** Helpers that every site asking for them shares (shareHelper). */
1245
+ private readonly sharedHelpers;
1246
+ private readonly sharedHelperNames;
1247
+ /** Marks a helper, or the lifted helpers of a name, as shared by every
1248
+ * site that asks for it. A shared helper is built for whichever site asks
1249
+ * first, so once lowering finishes its locations are replaced by one that
1250
+ * names no site. */
1251
+ shareHelper(helper: IrFunction | string): void;
1252
+ /** Gives each shared helper (those marked by shareHelper, and those
1253
+ * interned by key in the helper tables) one location for all its nodes:
1254
+ * the earliest site in `functions` that uses it, by file and position, so
1255
+ * reports such as --explain-dynamic point at a use whatever order bodies
1256
+ * lowered in. A helper used only by other shared helpers takes their
1257
+ * location; one with no use takes the entry file's start. */
1258
+ private settleSharedHelperLocations;
1259
+ /** The first lifted function named `name`, the one
1260
+ * `liftedFns.find((fn) => fn.name === name)` returns. */
1261
+ liftedFnNamed(name: string | undefined): IrFunction | undefined;
1157
1262
  /** Coverage remainder mode: the reachability gate inverts (see wantBody)
1158
1263
  * and no module is built. */
1159
1264
  readonly remainder: boolean;
@@ -1266,13 +1371,15 @@ export declare class Lowerer {
1266
1371
  /** Declared class fields may store a DYN value only when its static type
1267
1372
  * is `unknown` or `object` (also with `null` or `undefined`, or an array
1268
1373
  * of those), names checked protocol identity, is an owned runtime
1269
- * handle (a Worker or MessagePort, or a fetch Headers/Request/Response),
1270
- * or is a WeakMap/WeakSet (native weak collections live in
1271
- * checked-dynamic storage, as locals of those types do); `any` fields
1272
- * stay refused. */
1374
+ * handle (a Worker or MessagePort, a fetch Headers/Request/Response, or
1375
+ * a node:crypto ECDH, DiffieHellman or DiffieHellmanGroup), or is a
1376
+ * WeakMap/WeakSet (native weak collections live in checked-dynamic
1377
+ * storage, as locals of those types do); `any` fields stay refused. */
1273
1378
  classFieldStoresDyn(type: ts.Type): boolean;
1274
1379
  /** A stdlib WeakMap or WeakSet, alone or with `null`/`undefined`. */
1275
1380
  private weakCollectionType;
1381
+ /** A type `handle` accepts, alone or with `null`/`undefined`. */
1382
+ private stdlibHandleType;
1276
1383
  /** `unknown`, `object`, an array of those, or a union of those with
1277
1384
  * `null` and `undefined`: types whose values use checked-dynamic storage
1278
1385
  * as they do in JavaScript class fields. */
@@ -1557,6 +1664,10 @@ export declare class Lowerer {
1557
1664
  fenceStaticHeadersIteration(node: ts.Node): void;
1558
1665
  fenceFetchObjectAssignment(target: ts.ObjectLiteralExpression, source: ts.Expression): void;
1559
1666
  fenceStaticReadableStreamMember(access: ts.PropertyAccessExpression | ts.ElementAccessExpression, use: "read" | "call"): IrExpr | null;
1667
+ /** Whether `node` reads an anySymbols parameter, or a member, element or
1668
+ * call result of one: the error-path copy of a callback reads those as
1669
+ * `any`. */
1670
+ private readsAnySymbol;
1560
1671
  typeOf(node: ts.Node): ts.Type;
1561
1672
  /** mapType with this Lowerer's registries and (while a generic instance
1562
1673
  * body lowers) type-parameter bindings threaded through. A supplied mapper
@@ -1635,8 +1746,9 @@ export declare class Lowerer {
1635
1746
  /** The ts-level twin of typeParamResolver: the bound CHECKER type of a
1636
1747
  * type parameter in the current instantiation (typeParamTsBindings), for
1637
1748
  * the resolutions where mapType's widening already dropped what the body
1638
- * needs (indexed accesses over literal-bound keys). Inert outside
1639
- * call-keyed generic instantiation. */
1749
+ * needs (indexed accesses over literal-bound keys, conditional types
1750
+ * over literal arguments). Inert outside generic function and class
1751
+ * instantiation. */
1640
1752
  readonly typeParamTsResolver: (t: ts.Type) => ts.Type | null;
1641
1753
  irTypeOf(node: ts.Node): IrType;
1642
1754
  /** Exact-shape enforcement (SC2002). Records are monomorphic structs, so
@@ -1945,6 +2057,7 @@ export declare class Lowerer {
1945
2057
  family: ClassInfo;
1946
2058
  name: string;
1947
2059
  bindings: Map<ts.Symbol, IrType>;
2060
+ tsBindings: Map<ts.Symbol, ts.Type>;
1948
2061
  typeArgsText: string;
1949
2062
  ordinal: number;
1950
2063
  }, mixin?: {
@@ -2191,6 +2304,9 @@ export declare class Lowerer {
2191
2304
  requireTruthyUnion(unionId: string, node: ts.Expression): void;
2192
2305
  eqComparableUnion(unionId: string): boolean;
2193
2306
  lowerExpr(expr: ts.Expression): IrExpr;
2307
+ /** The saved value of a staged fs argument (stagedArguments, keyed
2308
+ * without type-only wrappers), or null for every other expression. */
2309
+ private stagedArgument;
2194
2310
  lowerIntrinsicProperty(expr: ts.PropertyAccessExpression): IrExpr | null;
2195
2311
  /** True for the STANDARD LIBRARY's source files: the shipped ambient
2196
2312
  * .d.ts files (core + overrides + fallback), a lib.*.d.ts bundled with the typescript
@@ -2235,6 +2351,11 @@ export declare class Lowerer {
2235
2351
  caughtToString(node: ts.Expression): IrExpr | null;
2236
2352
  lowerInstanceOf(expr: ts.BinaryExpression, loc: SrcLoc): IrExpr;
2237
2353
  private withRuntimeOptionalClassValue;
2354
+ /** withExpressionOverride for several nodes at once. */
2355
+ withExpressionOverrides<T>(overrides: readonly {
2356
+ node: ts.Expression;
2357
+ value: IrExpr;
2358
+ }[], lower: () => T): T;
2238
2359
  withExpressionOverride<T>(node: ts.Expression, value: IrExpr, lower: () => T): T;
2239
2360
  lowerCall(expr: ts.CallExpression): IrExpr;
2240
2361
  isTopLevelFnSymbol(ident: ts.Identifier): boolean;