@scriptc/compiler 0.2.10 → 0.3.1

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 (584) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +7 -38
  2. package/ambient/scriptc-overrides.d.ts +1 -25
  3. package/ambient/scriptc.d.ts +1 -9
  4. package/dist/backend/cycle-analysis.test.js +1 -1
  5. package/dist/backend/cycle-mutability.d.ts +1 -1
  6. package/dist/backend/cycle-mutability.js +1 -18
  7. package/dist/backend/cycle-mutability.js.map +1 -1
  8. package/dist/backend/executable-features.d.ts +1 -1
  9. package/dist/backend/executable-features.js +3 -8
  10. package/dist/backend/executable-features.js.map +1 -1
  11. package/dist/backend/immutability.d.ts +1 -1
  12. package/dist/backend/immutability.js +1 -1
  13. package/dist/backend/immutability.test.js +1 -1
  14. package/dist/backend/library-pack.js +0 -2
  15. package/dist/backend/library-pack.js.map +1 -1
  16. package/dist/backend/linker.js +1 -1
  17. package/dist/backend/linker.js.map +1 -1
  18. package/dist/backend/llvm/bigint-wrap.d.ts +4 -0
  19. package/dist/backend/llvm/bigint-wrap.js +590 -0
  20. package/dist/backend/llvm/bigint-wrap.js.map +1 -0
  21. package/dist/backend/llvm/blocks.d.ts +2 -0
  22. package/dist/backend/llvm/blocks.js +4 -0
  23. package/dist/backend/llvm/blocks.js.map +1 -1
  24. package/dist/backend/llvm/call-lifetimes.js +15 -4
  25. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  26. package/dist/backend/llvm/call-lifetimes.test.js +14 -3
  27. package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
  28. package/dist/backend/llvm/checked-narrows.test.js +2 -2
  29. package/dist/backend/llvm/checked-narrows.test.js.map +1 -1
  30. package/dist/backend/llvm/classes.js +60 -21
  31. package/dist/backend/llvm/classes.js.map +1 -1
  32. package/dist/backend/llvm/classes.test.js +11 -11
  33. package/dist/backend/llvm/classes.test.js.map +1 -1
  34. package/dist/backend/llvm/common.d.ts +7 -5
  35. package/dist/backend/llvm/common.js +7 -5
  36. package/dist/backend/llvm/common.js.map +1 -1
  37. package/dist/backend/llvm/constant-callbacks.d.ts +1 -1
  38. package/dist/backend/llvm/constant-callbacks.js +13 -31
  39. package/dist/backend/llvm/constant-callbacks.js.map +1 -1
  40. package/dist/backend/llvm/constant-callbacks.test.js +1 -1
  41. package/dist/backend/llvm/dense-array-access.js +133 -45
  42. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  43. package/dist/backend/llvm/dense-array-access.test.js +54 -2
  44. package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
  45. package/dist/backend/llvm/dyn.d.ts +2 -1
  46. package/dist/backend/llvm/dyn.js +4 -73
  47. package/dist/backend/llvm/dyn.js.map +1 -1
  48. package/dist/backend/llvm/emitter.d.ts +123 -23
  49. package/dist/backend/llvm/emitter.js +729 -258
  50. package/dist/backend/llvm/emitter.js.map +1 -1
  51. package/dist/backend/llvm/emitter.test.js +17 -10
  52. package/dist/backend/llvm/emitter.test.js.map +1 -1
  53. package/dist/backend/llvm/expr-async.js +120 -43
  54. package/dist/backend/llvm/expr-async.js.map +1 -1
  55. package/dist/backend/llvm/expr-async.test.js +2 -2
  56. package/dist/backend/llvm/expr-async.test.js.map +1 -1
  57. package/dist/backend/llvm/expr-bytes.js +51 -36
  58. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  59. package/dist/backend/llvm/expr-callbacks.js +72 -3
  60. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  61. package/dist/backend/llvm/expr-calls.d.ts +1 -1
  62. package/dist/backend/llvm/expr-calls.js +159 -30
  63. package/dist/backend/llvm/expr-calls.js.map +1 -1
  64. package/dist/backend/llvm/expr-calls.test.js +132 -0
  65. package/dist/backend/llvm/expr-calls.test.js.map +1 -0
  66. package/dist/backend/llvm/expr-containers.js +25 -8
  67. package/dist/backend/llvm/expr-containers.js.map +1 -1
  68. package/dist/backend/llvm/expr-context.d.ts +2 -0
  69. package/dist/backend/llvm/expr-control.js +4 -107
  70. package/dist/backend/llvm/expr-control.js.map +1 -1
  71. package/dist/backend/llvm/expr-dispatch.d.ts +1 -2
  72. package/dist/backend/llvm/expr-dispatch.js +3 -41
  73. package/dist/backend/llvm/expr-dispatch.js.map +1 -1
  74. package/dist/backend/llvm/expr-dynamic.d.ts +1 -1
  75. package/dist/backend/llvm/expr-dynamic.js +39 -31
  76. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  77. package/dist/backend/llvm/expr-primitives.d.ts +7 -0
  78. package/dist/backend/llvm/expr-primitives.js +80 -22
  79. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  80. package/dist/backend/llvm/expr-primitives.test.js +97 -7
  81. package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
  82. package/dist/backend/llvm/expr-records.d.ts +9 -0
  83. package/dist/backend/llvm/expr-records.js +134 -16
  84. package/dist/backend/llvm/expr-records.js.map +1 -1
  85. package/dist/backend/llvm/expr-stream-bridges.d.ts +1 -1
  86. package/dist/backend/llvm/expr-stream-bridges.js +80 -1
  87. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  88. package/dist/backend/llvm/expr-stream-bridges.test.js +51 -2
  89. package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -1
  90. package/dist/backend/llvm/int32-abi.d.ts +31 -0
  91. package/dist/backend/llvm/int32-abi.js +62 -0
  92. package/dist/backend/llvm/int32-abi.js.map +1 -0
  93. package/dist/backend/llvm/int32-abi.test.js +107 -0
  94. package/dist/backend/llvm/int32-abi.test.js.map +1 -0
  95. package/dist/backend/llvm/int32-locals.d.ts +30 -0
  96. package/dist/backend/llvm/int32-locals.js +95 -0
  97. package/dist/backend/llvm/int32-locals.js.map +1 -0
  98. package/dist/backend/llvm/integer-values.d.ts +4 -0
  99. package/dist/backend/llvm/integer-values.js +30 -1
  100. package/dist/backend/llvm/integer-values.js.map +1 -1
  101. package/dist/backend/llvm/integer-views.d.ts +8 -1
  102. package/dist/backend/llvm/integer-views.js +47 -2
  103. package/dist/backend/llvm/integer-views.js.map +1 -1
  104. package/dist/backend/llvm/lazy-captures.d.ts +16 -0
  105. package/dist/backend/llvm/lazy-captures.js +88 -2
  106. package/dist/backend/llvm/lazy-captures.js.map +1 -1
  107. package/dist/backend/llvm/lazy-captures.test.js +48 -0
  108. package/dist/backend/llvm/lazy-captures.test.js.map +1 -1
  109. package/dist/backend/llvm/lib-dispatch.js +14 -1
  110. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  111. package/dist/backend/llvm/lib-filesystem.js +3 -13
  112. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  113. package/dist/backend/llvm/lib-shared.js +7 -8
  114. package/dist/backend/llvm/lib-shared.js.map +1 -1
  115. package/dist/backend/llvm/local-array-reads.js +21 -2
  116. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  117. package/dist/backend/llvm/local-array-reads.test.js +4 -3
  118. package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
  119. package/dist/backend/llvm/local-union-storage.test.js +3 -3
  120. package/dist/backend/llvm/local-union-storage.test.js.map +1 -1
  121. package/dist/backend/llvm/map-number-lookup.d.ts +7 -0
  122. package/dist/backend/llvm/map-number-lookup.js +16 -2
  123. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  124. package/dist/backend/llvm/map-read-lifetimes.js +7 -1
  125. package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
  126. package/dist/backend/llvm/map-read-lifetimes.test.js +25 -8
  127. package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
  128. package/dist/backend/llvm/reference-effects.js +2 -0
  129. package/dist/backend/llvm/reference-effects.js.map +1 -1
  130. package/dist/backend/llvm/reference-writes.d.ts +3 -0
  131. package/dist/backend/llvm/reference-writes.js +10 -2
  132. package/dist/backend/llvm/reference-writes.js.map +1 -1
  133. package/dist/backend/llvm/regex-matchers.d.ts +39 -0
  134. package/dist/backend/llvm/regex-matchers.js +1649 -0
  135. package/dist/backend/llvm/regex-matchers.js.map +1 -0
  136. package/dist/backend/llvm/regex-matchers.test.js +96 -0
  137. package/dist/backend/llvm/regex-matchers.test.js.map +1 -0
  138. package/dist/backend/llvm/shapes.d.ts +36 -1
  139. package/dist/backend/llvm/shapes.js +128 -16
  140. package/dist/backend/llvm/shapes.js.map +1 -1
  141. package/dist/backend/llvm/shapes.test.js +3 -3
  142. package/dist/backend/llvm/stack-unions.test.js +2 -2
  143. package/dist/backend/llvm/stack-unions.test.js.map +1 -1
  144. package/dist/backend/llvm/string-construction.test.js +3 -3
  145. package/dist/backend/llvm/string-construction.test.js.map +1 -1
  146. package/dist/backend/llvm/string-lifetimes.test.js +6 -6
  147. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  148. package/dist/backend/llvm/string-literal-equality.d.ts +22 -0
  149. package/dist/backend/llvm/string-literal-equality.js +78 -0
  150. package/dist/backend/llvm/string-literal-equality.js.map +1 -0
  151. package/dist/backend/llvm/switch-dispatch.js +59 -13
  152. package/dist/backend/llvm/switch-dispatch.js.map +1 -1
  153. package/dist/backend/llvm/switch-dispatch.test.js +72 -7
  154. package/dist/backend/llvm/switch-dispatch.test.js.map +1 -1
  155. package/dist/backend/llvm/union-retype.test.d.ts +1 -0
  156. package/dist/backend/llvm/union-retype.test.js +229 -0
  157. package/dist/backend/llvm/union-retype.test.js.map +1 -0
  158. package/dist/backend/llvm/wrapping-sums.d.ts +17 -0
  159. package/dist/backend/llvm/wrapping-sums.js +113 -0
  160. package/dist/backend/llvm/wrapping-sums.js.map +1 -0
  161. package/dist/backend/loop-polls.js +1 -0
  162. package/dist/backend/loop-polls.js.map +1 -1
  163. package/dist/backend/mangle.d.ts +9 -0
  164. package/dist/backend/mangle.js +15 -0
  165. package/dist/backend/mangle.js.map +1 -1
  166. package/dist/backend/may-throw.js +6 -12
  167. package/dist/backend/may-throw.js.map +1 -1
  168. package/dist/backend/may-throw.test.js +1 -1
  169. package/dist/backend/native/artifact-stamps.js +0 -2
  170. package/dist/backend/native/artifact-stamps.js.map +1 -1
  171. package/dist/backend/native/cache-warm.d.ts +1 -1
  172. package/dist/backend/native/cache-warm.js +2 -3
  173. package/dist/backend/native/cache-warm.js.map +1 -1
  174. package/dist/backend/native/compiler-fingerprint.d.ts +1 -1
  175. package/dist/backend/native/compiler-fingerprint.js +4 -7
  176. package/dist/backend/native/compiler-fingerprint.js.map +1 -1
  177. package/dist/backend/native/contracts.d.ts +3 -28
  178. package/dist/backend/native/driver.js +1 -3
  179. package/dist/backend/native/driver.js.map +1 -1
  180. package/dist/backend/native/executable.d.ts +0 -15
  181. package/dist/backend/native/executable.js +17 -172
  182. package/dist/backend/native/executable.js.map +1 -1
  183. package/dist/backend/native/tool-identity.js +0 -1
  184. package/dist/backend/native/tool-identity.js.map +1 -1
  185. package/dist/backend/native/vendor.d.ts +1 -1
  186. package/dist/backend/native/vendor.js +1 -1
  187. package/dist/backend/native/vendor.js.map +1 -1
  188. package/dist/backend/native-link-info-core.d.ts +0 -2
  189. package/dist/backend/native-link-info-core.js.map +1 -1
  190. package/dist/backend/native-toolchain.test.js +23 -33
  191. package/dist/backend/native-toolchain.test.js.map +1 -1
  192. package/dist/backend/publication.test.js +1 -1
  193. package/dist/backend/runtime-abi.d.ts +2 -2
  194. package/dist/backend/runtime-abi.js +2 -2
  195. package/dist/backend/runtime-pack-core.d.ts +1 -2
  196. package/dist/backend/runtime-pack-core.js +5 -14
  197. package/dist/backend/runtime-pack-core.js.map +1 -1
  198. package/dist/backend/runtime-pack-targets.test.js +3 -8
  199. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  200. package/dist/backend/runtime-pack.test.js +22 -19
  201. package/dist/backend/runtime-pack.test.js.map +1 -1
  202. package/dist/backend/target-diagnostics.d.ts +0 -5
  203. package/dist/backend/target-diagnostics.js +1 -11
  204. package/dist/backend/target-diagnostics.js.map +1 -1
  205. package/dist/backend/target-diagnostics.test.js +1 -1
  206. package/dist/backend/vendor-archives.d.ts +1 -7
  207. package/dist/backend/vendor-archives.js +9 -189
  208. package/dist/backend/vendor-archives.js.map +1 -1
  209. package/dist/backend/vendor-inputs.d.ts +0 -1
  210. package/dist/backend/vendor-inputs.js +0 -1
  211. package/dist/backend/vendor-inputs.js.map +1 -1
  212. package/dist/backend/warm-cache.js +3 -5
  213. package/dist/backend/warm-cache.js.map +1 -1
  214. package/dist/cli/command.js +4 -8
  215. package/dist/cli/command.js.map +1 -1
  216. package/dist/cli/host.d.ts +1 -1
  217. package/dist/cli/usage.d.ts +1 -5
  218. package/dist/cli/usage.js +4 -9
  219. package/dist/cli/usage.js.map +1 -1
  220. package/dist/compat/fetch-profile.d.ts +2 -2
  221. package/dist/compat/fetch-profile.js +16 -25
  222. package/dist/compat/fetch-profile.js.map +1 -1
  223. package/dist/compile-types.d.ts +2 -17
  224. package/dist/contracts/check.js +6 -6
  225. package/dist/contracts/check.js.map +1 -1
  226. package/dist/coverage/report.d.ts +5 -22
  227. package/dist/coverage/report.js +12 -76
  228. package/dist/coverage/report.js.map +1 -1
  229. package/dist/coverage/surface-manifest.d.ts +3 -3
  230. package/dist/coverage/surface-manifest.js +22 -27
  231. package/dist/coverage/surface-manifest.js.map +1 -1
  232. package/dist/coverage/verdict-cache.d.ts +1 -3
  233. package/dist/coverage/verdict-cache.js +2 -7
  234. package/dist/coverage/verdict-cache.js.map +1 -1
  235. package/dist/diagnostics/diagnostic.d.ts +11 -60
  236. package/dist/diagnostics/diagnostic.js +39 -118
  237. package/dist/diagnostics/diagnostic.js.map +1 -1
  238. package/dist/diagnostics/envelope.d.ts +3 -4
  239. package/dist/diagnostics/envelope.js +0 -9
  240. package/dist/diagnostics/envelope.js.map +1 -1
  241. package/dist/diagnostics/envelope.test.js +1 -1
  242. package/dist/diagnostics/envelope.test.js.map +1 -1
  243. package/dist/executable/executable-cache.d.ts +0 -3
  244. package/dist/executable/executable-cache.js +2 -4
  245. package/dist/executable/executable-cache.js.map +1 -1
  246. package/dist/executable/executable-cache.test.js +0 -4
  247. package/dist/executable/executable-cache.test.js.map +1 -1
  248. package/dist/executable/prepare.js +5 -2
  249. package/dist/executable/prepare.js.map +1 -1
  250. package/dist/frontend/analysis.js +10 -10
  251. package/dist/frontend/analysis.js.map +1 -1
  252. package/dist/frontend/cjs-syntax.js +0 -88
  253. package/dist/frontend/cjs-syntax.js.map +1 -1
  254. package/dist/frontend/dts-paths.d.ts +1 -1
  255. package/dist/frontend/dts-paths.js +1 -1
  256. package/dist/frontend/lowering/abstract-equality.js +1 -4
  257. package/dist/frontend/lowering/abstract-equality.js.map +1 -1
  258. package/dist/frontend/lowering/array-values.d.ts +14 -0
  259. package/dist/frontend/lowering/array-values.js +33 -11
  260. package/dist/frontend/lowering/array-values.js.map +1 -1
  261. package/dist/frontend/lowering/builtins/arguments.js +0 -13
  262. package/dist/frontend/lowering/builtins/arguments.js.map +1 -1
  263. package/dist/frontend/lowering/builtins/crypto.d.ts +0 -4
  264. package/dist/frontend/lowering/builtins/crypto.js +0 -4
  265. package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
  266. package/dist/frontend/lowering/builtins/json.js +1 -39
  267. package/dist/frontend/lowering/builtins/json.js.map +1 -1
  268. package/dist/frontend/lowering/builtins/module-resolution.d.ts +0 -15
  269. package/dist/frontend/lowering/builtins/module-resolution.js +5 -44
  270. package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
  271. package/dist/frontend/lowering/builtins/numbers.d.ts +0 -6
  272. package/dist/frontend/lowering/builtins/numbers.js +6 -57
  273. package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
  274. package/dist/frontend/lowering/builtins/promises.js +4 -67
  275. package/dist/frontend/lowering/builtins/promises.js.map +1 -1
  276. package/dist/frontend/lowering/builtins/workers.js +1 -1
  277. package/dist/frontend/lowering/builtins/workers.js.map +1 -1
  278. package/dist/frontend/lowering/call-arguments.d.ts +1 -37
  279. package/dist/frontend/lowering/call-arguments.js +11 -94
  280. package/dist/frontend/lowering/call-arguments.js.map +1 -1
  281. package/dist/frontend/lowering/call-signatures.d.ts +1 -6
  282. package/dist/frontend/lowering/call-signatures.js +16 -68
  283. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  284. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +19 -4
  285. package/dist/frontend/lowering/class-dynamic-dispatch.js +168 -98
  286. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  287. package/dist/frontend/lowering/class-dynamic-dispatch.test.js +44 -4
  288. package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
  289. package/dist/frontend/lowering/class-method-mutations.js +0 -2
  290. package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
  291. package/dist/frontend/lowering/class-protocols.js +1 -1
  292. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  293. package/dist/frontend/lowering/coercions/function-adapters.js +5 -35
  294. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
  295. package/dist/frontend/lowering/coercions/state.d.ts +0 -1
  296. package/dist/frontend/lowering/coercions/state.js +0 -1
  297. package/dist/frontend/lowering/coercions/state.js.map +1 -1
  298. package/dist/frontend/lowering/coercions/structural-plans.js +2 -4
  299. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
  300. package/dist/frontend/lowering/coercions/structural.js +2 -12
  301. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  302. package/dist/frontend/lowering/coercions/unions.js +0 -1
  303. package/dist/frontend/lowering/coercions/unions.js.map +1 -1
  304. package/dist/frontend/lowering/containers/array-callbacks.js +49 -28
  305. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  306. package/dist/frontend/lowering/containers/array-construction.js +2 -3
  307. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  308. package/dist/frontend/lowering/containers/array-methods.js +10 -54
  309. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  310. package/dist/frontend/lowering/containers/array-pipelines.d.ts +54 -0
  311. package/dist/frontend/lowering/containers/array-pipelines.js +1827 -0
  312. package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -0
  313. package/dist/frontend/lowering/containers/bytes.js +0 -1
  314. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  315. package/dist/frontend/lowering/containers/callback-arguments.js +2 -10
  316. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
  317. package/dist/frontend/lowering/containers/collection-methods.js +1 -6
  318. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  319. package/dist/frontend/lowering/containers/exec-result-uses.d.ts +10 -0
  320. package/dist/frontend/lowering/containers/exec-result-uses.js +88 -0
  321. package/dist/frontend/lowering/containers/exec-result-uses.js.map +1 -0
  322. package/dist/frontend/lowering/containers/indexed-objects.js +0 -2
  323. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  324. package/dist/frontend/lowering/containers/string-and-regexp.d.ts +0 -6
  325. package/dist/frontend/lowering/containers/string-and-regexp.js +17 -17
  326. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  327. package/dist/frontend/lowering/containers/string-replacement.d.ts +2 -1
  328. package/dist/frontend/lowering/containers/string-replacement.js +32 -136
  329. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
  330. package/dist/frontend/lowering/devirtualize.d.ts +33 -0
  331. package/dist/frontend/lowering/devirtualize.js +199 -0
  332. package/dist/frontend/lowering/devirtualize.js.map +1 -0
  333. package/dist/frontend/lowering/expressions/evaluation-safety.js +0 -3
  334. package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
  335. package/dist/frontend/lowering/expressions/native-proxy.js +1 -1
  336. package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
  337. package/dist/frontend/lowering/expressions/nullish-assignment.js +55 -8
  338. package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
  339. package/dist/frontend/lowering/expressions/object-literals.d.ts +0 -8
  340. package/dist/frontend/lowering/expressions/object-literals.js +8 -35
  341. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  342. package/dist/frontend/lowering/expressions/optional-chains.d.ts +0 -4
  343. package/dist/frontend/lowering/expressions/optional-chains.js +3 -66
  344. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  345. package/dist/frontend/lowering/function-context.js +0 -1
  346. package/dist/frontend/lowering/function-context.js.map +1 -1
  347. package/dist/frontend/lowering/generic-functions.js +0 -1
  348. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  349. package/dist/frontend/lowering/identifier-uses.d.ts +7 -0
  350. package/dist/frontend/lowering/identifier-uses.js +23 -0
  351. package/dist/frontend/lowering/identifier-uses.js.map +1 -0
  352. package/dist/frontend/lowering/iterator-adapters.js +51 -3
  353. package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
  354. package/dist/frontend/lowering/lib-boundary.js +10 -77
  355. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  356. package/dist/frontend/lowering/lower-array-sort.js +14 -10
  357. package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
  358. package/dist/frontend/lowering/lower-array-sort.test.js +2 -2
  359. package/dist/frontend/lowering/lower-array-sort.test.js.map +1 -1
  360. package/dist/frontend/lowering/lower-assert.js +2 -3
  361. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  362. package/dist/frontend/lowering/lower-async-iteration.js +1 -1
  363. package/dist/frontend/lowering/lower-calls.d.ts +2 -27
  364. package/dist/frontend/lowering/lower-calls.js +111 -493
  365. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  366. package/dist/frontend/lowering/lower-classes.js +12 -60
  367. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  368. package/dist/frontend/lowering/lower-comptime.js +2 -3
  369. package/dist/frontend/lowering/lower-comptime.js.map +1 -1
  370. package/dist/frontend/lowering/lower-console.d.ts +14 -0
  371. package/dist/frontend/lowering/lower-console.js +195 -0
  372. package/dist/frontend/lowering/lower-console.js.map +1 -0
  373. package/dist/frontend/lowering/lower-enums.js +5 -8
  374. package/dist/frontend/lowering/lower-enums.js.map +1 -1
  375. package/dist/frontend/lowering/lower-event-emitter.js +3 -4
  376. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  377. package/dist/frontend/lowering/lower-expando.js +3 -5
  378. package/dist/frontend/lowering/lower-expando.js.map +1 -1
  379. package/dist/frontend/lowering/lower-exprs.d.ts +0 -8
  380. package/dist/frontend/lowering/lower-exprs.js +180 -905
  381. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  382. package/dist/frontend/lowering/lower-functions.js +9 -8
  383. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  384. package/dist/frontend/lowering/lower-generators.d.ts +10 -0
  385. package/dist/frontend/lowering/lower-generators.js +108 -41
  386. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  387. package/dist/frontend/lowering/lower-inspect.js +1 -50
  388. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  389. package/dist/frontend/lowering/lower-modules.d.ts +0 -43
  390. package/dist/frontend/lowering/lower-modules.js +29 -329
  391. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  392. package/dist/frontend/lowering/lower-modules.test.js +5 -5
  393. package/dist/frontend/lowering/lower-modules.test.js.map +1 -1
  394. package/dist/frontend/lowering/lower-server.js +0 -30
  395. package/dist/frontend/lowering/lower-server.js.map +1 -1
  396. package/dist/frontend/lowering/lower-stdlib.d.ts +98 -0
  397. package/dist/frontend/lowering/{lower-island.js → lower-stdlib.js} +97 -1160
  398. package/dist/frontend/lowering/lower-stdlib.js.map +1 -0
  399. package/dist/frontend/lowering/lower-stmts.d.ts +0 -16
  400. package/dist/frontend/lowering/lower-stmts.js +58 -1016
  401. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  402. package/dist/frontend/lowering/lower-stmts.test.js +1 -1
  403. package/dist/frontend/lowering/lower-stmts.test.js.map +1 -1
  404. package/dist/frontend/lowering/lower-stream.js +14 -13
  405. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  406. package/dist/frontend/lowering/lowerer.d.ts +42 -155
  407. package/dist/frontend/lowering/lowerer.js +192 -816
  408. package/dist/frontend/lowering/lowerer.js.map +1 -1
  409. package/dist/frontend/lowering/lowerer.test.js +4 -51
  410. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  411. package/dist/frontend/lowering/nan-coded-reads.d.ts +16 -0
  412. package/dist/frontend/lowering/nan-coded-reads.js +108 -1
  413. package/dist/frontend/lowering/nan-coded-reads.js.map +1 -1
  414. package/dist/frontend/lowering/narrowing-stability.js +1 -1
  415. package/dist/frontend/lowering/narrowing-stability.js.map +1 -1
  416. package/dist/frontend/lowering/optional-arguments.js +0 -2
  417. package/dist/frontend/lowering/optional-arguments.js.map +1 -1
  418. package/dist/frontend/lowering/runtime-optional-bounds.d.ts +4 -0
  419. package/dist/frontend/lowering/runtime-optional-bounds.js +2 -0
  420. package/dist/frontend/lowering/runtime-optional-bounds.js.map +1 -1
  421. package/dist/frontend/lowering/runtime-optional-bounds.test.js +27 -0
  422. package/dist/frontend/lowering/runtime-optional-bounds.test.js.map +1 -1
  423. package/dist/frontend/lowering/sanitize-class-types.test.js +2 -2
  424. package/dist/frontend/lowering/split-consumers.js +2 -18
  425. package/dist/frontend/lowering/split-consumers.js.map +1 -1
  426. package/dist/frontend/lowering/strict-equality.js +1 -1
  427. package/dist/frontend/lowering/strict-equality.js.map +1 -1
  428. package/dist/frontend/lowering/surfaces.d.ts +6 -45
  429. package/dist/frontend/lowering/surfaces.js +8 -73
  430. package/dist/frontend/lowering/surfaces.js.map +1 -1
  431. package/dist/frontend/lowering/union-retag.d.ts +6 -1
  432. package/dist/frontend/lowering/union-retag.js +64 -1
  433. package/dist/frontend/lowering/union-retag.js.map +1 -1
  434. package/dist/frontend/lowering/union-retag.test.js +46 -0
  435. package/dist/frontend/lowering/union-retag.test.js.map +1 -1
  436. package/dist/frontend/module-syntax.d.ts +0 -3
  437. package/dist/frontend/module-syntax.js.map +1 -1
  438. package/dist/frontend/npm-node.d.ts +0 -7
  439. package/dist/frontend/npm-node.js +0 -7
  440. package/dist/frontend/npm-node.js.map +1 -1
  441. package/dist/frontend/npm-static-rewrite-syntax.d.ts +1 -1
  442. package/dist/frontend/npm-static-rewrite-syntax.js +6 -82
  443. package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
  444. package/dist/frontend/npm-static.d.ts +1 -1
  445. package/dist/frontend/npm-static.js +6 -71
  446. package/dist/frontend/npm-static.js.map +1 -1
  447. package/dist/frontend/npm.d.ts +3 -319
  448. package/dist/frontend/npm.js +6 -1007
  449. package/dist/frontend/npm.js.map +1 -1
  450. package/dist/frontend/npm.test.js +2 -197
  451. package/dist/frontend/npm.test.js.map +1 -1
  452. package/dist/frontend/pipeline-native.js +1 -2
  453. package/dist/frontend/pipeline-native.js.map +1 -1
  454. package/dist/frontend/pipeline.d.ts +3 -11
  455. package/dist/frontend/pipeline.js +37 -56
  456. package/dist/frontend/pipeline.js.map +1 -1
  457. package/dist/frontend/pipeline.test.js +12 -6
  458. package/dist/frontend/pipeline.test.js.map +1 -1
  459. package/dist/frontend/program.d.ts +0 -34
  460. package/dist/frontend/program.js +12 -97
  461. package/dist/frontend/program.js.map +1 -1
  462. package/dist/frontend/provenance-core.d.ts +0 -4
  463. package/dist/frontend/provenance-core.js +4 -37
  464. package/dist/frontend/provenance-core.js.map +1 -1
  465. package/dist/frontend/provenance-registry.d.ts +0 -4
  466. package/dist/frontend/provenance-registry.js +0 -20
  467. package/dist/frontend/provenance-registry.js.map +1 -1
  468. package/dist/frontend/resolve.d.ts +0 -12
  469. package/dist/frontend/resolve.js +0 -34
  470. package/dist/frontend/resolve.js.map +1 -1
  471. package/dist/frontend/runtime-resolve.js +2 -2
  472. package/dist/frontend/runtime-resolve.js.map +1 -1
  473. package/dist/frontend/services-node.js +2 -3
  474. package/dist/frontend/services-node.js.map +1 -1
  475. package/dist/frontend/services.d.ts +1 -8
  476. package/dist/frontend/services.js +2 -22
  477. package/dist/frontend/services.js.map +1 -1
  478. package/dist/frontend/services.test.js +0 -38
  479. package/dist/frontend/services.test.js.map +1 -1
  480. package/dist/frontend/tsc-codes.js +0 -11
  481. package/dist/frontend/tsc-codes.js.map +1 -1
  482. package/dist/frontend/type-mapper.d.ts +2 -27
  483. package/dist/frontend/type-mapper.js +58 -156
  484. package/dist/frontend/type-mapper.js.map +1 -1
  485. package/dist/index.d.ts +1 -1
  486. package/dist/index.js +7 -10
  487. package/dist/index.js.map +1 -1
  488. package/dist/ir/api.d.ts +1 -1
  489. package/dist/ir/api.js +1 -1
  490. package/dist/ir/api.js.map +1 -1
  491. package/dist/ir/builtin-effects.js +2 -5
  492. package/dist/ir/builtin-effects.js.map +1 -1
  493. package/dist/ir/builtin-signatures.d.ts +1 -1
  494. package/dist/ir/builtin-signatures.js +13 -56
  495. package/dist/ir/builtin-signatures.js.map +1 -1
  496. package/dist/ir/constant-globals.test.js +1 -1
  497. package/dist/ir/constant-tables.test.js +1 -1
  498. package/dist/ir/final-fields.test.js +1 -1
  499. package/dist/ir/function-references.d.ts +12 -0
  500. package/dist/ir/function-references.js +29 -0
  501. package/dist/ir/function-references.js.map +1 -0
  502. package/dist/ir/function-references.test.d.ts +1 -0
  503. package/dist/ir/function-references.test.js +276 -0
  504. package/dist/ir/function-references.test.js.map +1 -0
  505. package/dist/ir/initializer-bindings.test.js +1 -1
  506. package/dist/ir/int32-slots.d.ts +10 -7
  507. package/dist/ir/int32-slots.js +219 -68
  508. package/dist/ir/int32-slots.js.map +1 -1
  509. package/dist/ir/int32-slots.test.js +39 -2
  510. package/dist/ir/int32-slots.test.js.map +1 -1
  511. package/dist/ir/integer-ranges.d.ts +4 -4
  512. package/dist/ir/integer-ranges.js +89 -64
  513. package/dist/ir/integer-ranges.js.map +1 -1
  514. package/dist/ir/integer-ranges.test.js +71 -9
  515. package/dist/ir/integer-ranges.test.js.map +1 -1
  516. package/dist/ir/intrinsic-signatures.js +1 -0
  517. package/dist/ir/intrinsic-signatures.js.map +1 -1
  518. package/dist/ir/ir.d.ts +64 -290
  519. package/dist/ir/ir.js +11 -259
  520. package/dist/ir/ir.js.map +1 -1
  521. package/dist/ir/ir.test.js +2 -7
  522. package/dist/ir/ir.test.js.map +1 -1
  523. package/dist/ir/runtime-features.d.ts +3 -30
  524. package/dist/ir/runtime-features.js +8 -43
  525. package/dist/ir/runtime-features.js.map +1 -1
  526. package/dist/ir/scalar-records.test.js +1 -1
  527. package/dist/ir/serialize.d.ts +1 -1
  528. package/dist/ir/serialize.js +3 -3
  529. package/dist/ir/serialize.js.map +1 -1
  530. package/dist/ir/traverse.js +4 -21
  531. package/dist/ir/traverse.js.map +1 -1
  532. package/dist/ir/unshare.test.js +1 -1
  533. package/dist/ir/validate.js +66 -213
  534. package/dist/ir/validate.js.map +1 -1
  535. package/dist/ir/validate.test.js +31 -13
  536. package/dist/ir/validate.test.js.map +1 -1
  537. package/dist/library/fence-eval.test.js +1 -1
  538. package/dist/library/int-infer.test.js +4 -4
  539. package/dist/library/library-cache.test.js +5 -5
  540. package/dist/library/prepare.js +5 -20
  541. package/dist/library/prepare.js.map +1 -1
  542. package/dist/native/cli.js +0 -2
  543. package/dist/native/cli.js.map +1 -1
  544. package/dist/native/compiler.test.js +2 -4
  545. package/dist/native/compiler.test.js.map +1 -1
  546. package/dist/native/prepare.js +2 -4
  547. package/dist/native/prepare.js.map +1 -1
  548. package/dist/native/sanitizer.js +2 -16
  549. package/dist/native/sanitizer.js.map +1 -1
  550. package/dist/native/sanitizer.test.js +0 -3
  551. package/dist/native/sanitizer.test.js.map +1 -1
  552. package/dist/startup-cache.js +0 -2
  553. package/dist/startup-cache.js.map +1 -1
  554. package/package.json +20 -20
  555. package/surface-manifest.json +80 -104
  556. package/dist/backend/llvm/expr-island.d.ts +0 -15
  557. package/dist/backend/llvm/expr-island.js +0 -709
  558. package/dist/backend/llvm/expr-island.js.map +0 -1
  559. package/dist/frontend/lowering/coercions/island.d.ts +0 -37
  560. package/dist/frontend/lowering/coercions/island.js +0 -350
  561. package/dist/frontend/lowering/coercions/island.js.map +0 -1
  562. package/dist/frontend/lowering/lower-island.d.ts +0 -229
  563. package/dist/frontend/lowering/lower-island.js.map +0 -1
  564. package/dist/frontend/lowering/lower-island.test.js +0 -56
  565. package/dist/frontend/lowering/lower-island.test.js.map +0 -1
  566. package/dist/frontend/npm-fetch-analysis.d.ts +0 -17
  567. package/dist/frontend/npm-fetch-analysis.js +0 -109
  568. package/dist/frontend/npm-fetch-analysis.js.map +0 -1
  569. package/dist/frontend/npm-fetch-analysis.test.js +0 -130
  570. package/dist/frontend/npm-fetch-analysis.test.js.map +0 -1
  571. package/dist/frontend/npm-fetch-node.d.ts +0 -2
  572. package/dist/frontend/npm-fetch-node.js +0 -12
  573. package/dist/frontend/npm-fetch-node.js.map +0 -1
  574. package/dist/frontend/npm-fetch-syntax.d.ts +0 -6
  575. package/dist/frontend/npm-fetch-syntax.js +0 -202
  576. package/dist/frontend/npm-fetch-syntax.js.map +0 -1
  577. package/dist/native/runtime-typescript.d.ts +0 -4
  578. package/dist/native/runtime-typescript.js +0 -74
  579. package/dist/native/runtime-typescript.js.map +0 -1
  580. package/dist/native/runtime-typescript.test.js +0 -41
  581. package/dist/native/runtime-typescript.test.js.map +0 -1
  582. /package/dist/{frontend/lowering/lower-island.test.d.ts → backend/llvm/expr-calls.test.d.ts} +0 -0
  583. /package/dist/{frontend/npm-fetch-analysis.test.d.ts → backend/llvm/int32-abi.test.d.ts} +0 -0
  584. /package/dist/{native/runtime-typescript.test.d.ts → backend/llvm/regex-matchers.test.d.ts} +0 -0
@@ -8,9 +8,9 @@ import { probeNodeRequireRefusal } from "../../npm.js";
8
8
  import { isNpmStaticPackage } from "../../npm-static.js";
9
9
  import { trackedReadFile } from "../../input-tracker.js";
10
10
  import { requireResolvePathsRuntime, resolveImportMetaRuntime, resolveRequireRuntime, } from "../../runtime-resolve.js";
11
- import { invalidJsonModuleDiag, nativeAddonDiag, requiresDynamicImportDiag, } from "../../../diagnostics/diagnostic.js";
11
+ import { invalidJsonModuleDiag, nativeAddonDiag, unsupportedPackageImportDiag, } from "../../../diagnostics/diagnostic.js";
12
12
  import { NODE_BUILTIN_MODULES_V24 } from "../surfaces.js";
13
- import { BOOL, DYN, JSVAL, NULL_T, STRING, UNDEFINED_T, arrayOf, } from "../../../ir/ir.js";
13
+ import { BOOL, DYN, NULL_T, STRING, UNDEFINED_T, arrayOf, } from "../../../ir/ir.js";
14
14
  import { lowerFfiMemoryModule } from "../native-ffi.js";
15
15
  import { createRequireSpecOf, createRequireProgramModuleOf, createRequireCalleeFileOf, } from "./module-bindings.js";
16
16
  import { stripTypeCasts } from "./arguments.js";
@@ -40,9 +40,7 @@ export function lowerNodeModuleCall(lowerer, expr, bi, loc) {
40
40
  const argumentNode = expr.arguments[0];
41
41
  const argument = lowerer.lowerExpr(argumentNode);
42
42
  if (argument.type.kind !== "string") {
43
- if (argument.type.kind === "dyn" ||
44
- argument.type.kind === "jsval" ||
45
- argument.type.kind === "union") {
43
+ if (argument.type.kind === "dyn" || argument.type.kind === "union") {
46
44
  lowerer.noLowering("module.isBuiltin with a runtime-polymorphic argument", argumentNode, "narrow the module name to a string first; statically non-string values return false");
47
45
  }
48
46
  return {
@@ -86,21 +84,6 @@ export function lowerNodeModuleCall(lowerer, expr, bi, loc) {
86
84
  loc,
87
85
  };
88
86
  }
89
- /** `require("spec")` through a createRequire binding — the erasure per
90
- * target. Builtins are reached here only OUTSIDE the const-namespace-
91
- * binding shape (that declaration erases; member uses resolve through
92
- * the namespace tables) and fence toward it. A relative .json document
93
- * bakes: the file's text validates as JSON at compile time and the
94
- * call lowers to json.parse over the baked literal — JSON.parse's
95
- * checked-dynamic `unknown` stance, and exactly Node's value (require
96
- * of JSON IS JSON.parse of the file; the per-call re-parse forgoes
97
- * Node's module-cache identity, unobservable without mutation). A bare
98
- * specifier NOTHING installed resolves compiles to Node's catchable
99
- * MODULE_NOT_FOUND throw (the optional-dependency try/require
100
- * pattern); an installed package loads through the island's
101
- * require-condition entry under --dynamic (collectCreateRequires
102
- * embedded it) and reports the requires-dynamic diagnostic in a static
103
- * build. Null when the callee is not a createRequire require. */
104
87
  export function lowerCreateRequireCall(lowerer, call, loc) {
105
88
  const cr = createRequireSpecOf(lowerer, call);
106
89
  if (cr === null)
@@ -172,32 +155,10 @@ export function lowerCreateRequireCall(lowerer, call, loc) {
172
155
  // pending check's unwind).
173
156
  return nodeThrowExpr(0, "MODULE_NOT_FOUND", refusal.message, DYN, loc);
174
157
  }
175
- if (!lowerer.dynamic) {
176
- lowerer.pushDiag(requiresDynamicImportDiag(pkgName, loc));
158
+ {
159
+ lowerer.pushDiag(unsupportedPackageImportDiag(pkgName, loc));
177
160
  throw new PoisonError();
178
161
  }
179
- const res = lowerer.createRequireImports.get(`${cr.baseFile.fileName}\u0000${spec}`);
180
- if (res === undefined) {
181
- // Collection never saw the site (a shape this walk and that walk
182
- // disagree on) — fence rather than mis-embed.
183
- lowerer.noLowering(`createRequire's require of '${spec}'`, call, undefined);
184
- }
185
- if (res === "")
186
- throw new PoisonError(); // reported at collection
187
- // A CJS facade's default IS module.exports (Node's require answer);
188
- // an ESM-resolved entry answers its namespace (Node's require(esm)).
189
- const exportName = res.format === "esm" ? "*" : "default";
190
- return {
191
- kind: "libCall",
192
- fn: "island.import",
193
- args: [
194
- { kind: "strLit", value: res.entryKey, type: STRING, loc },
195
- { kind: "strLit", value: exportName, type: STRING, loc },
196
- { kind: "strLit", value: spec, type: STRING, loc },
197
- ],
198
- type: JSVAL,
199
- loc,
200
- };
201
162
  }
202
163
  function staticString(node) {
203
164
  if (node === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"module-resolution.js","sourceRoot":"","sources":["../../../../src/frontend/lowering/builtins/module-resolution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-resolution.js","sourceRoot":"","sources":["../../../../src/frontend/lowering/builtins/module-resolution.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,6 @@
1
1
  import * as ts from "../../ts7/adapter.js";
2
2
  import { type Lowerer } from "../lowerer.js";
3
3
  import { type IrExpr } from "../../../ir/ir.js";
4
- /** Method calls on THE `Number` global: the predicate statics lower to
5
- * plain C over f64 arguments; `Number.parseFloat`/`Number.parseInt` ARE
6
- * the global parsers (the spec aliases them), so they get the same
7
- * island lowering — engine execution under --dynamic, per-site SC2012
8
- * without it (parseInt takes an explicit radix, like the global). Null
9
- * for non-Number receivers. */
10
4
  export declare function lowerNumberStaticCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
11
5
  /** Property READS on THE `Number` global: the finite constants bake as
12
6
  * number literals. NaN/POSITIVE_INFINITY/NEGATIVE_INFINITY and method
@@ -2,7 +2,7 @@ import * as ts from "../../ts7/adapter.js";
2
2
  import { own } from "../lowerer.js";
3
3
  import { lowerCheckedPredicateValue } from "../lower-builtin-values.js";
4
4
  import { locOf } from "../../program.js";
5
- import { BOOL, F64, JSVAL } from "../../../ir/ir.js";
5
+ import { BOOL, F64 } from "../../../ir/ir.js";
6
6
  import { lowerBuiltinValuePreservingUndefined, lowerOptionalNumberPredicate } from "./arguments.js";
7
7
  import { tryLowerExpression } from "../expressions/try-lower-expression.js";
8
8
  import { lowerStaticNumberGlobal } from "../lower-calls.js";
@@ -39,12 +39,6 @@ const NUMBER_CONSTANTS = {
39
39
  POSITIVE_INFINITY: Infinity,
40
40
  NEGATIVE_INFINITY: -Infinity,
41
41
  };
42
- /** Method calls on THE `Number` global: the predicate statics lower to
43
- * plain C over f64 arguments; `Number.parseFloat`/`Number.parseInt` ARE
44
- * the global parsers (the spec aliases them), so they get the same
45
- * island lowering — engine execution under --dynamic, per-site SC2012
46
- * without it (parseInt takes an explicit radix, like the global). Null
47
- * for non-Number receivers. */
48
42
  export function lowerNumberStaticCall(lowerer, call, access) {
49
43
  if (call.questionDotToken)
50
44
  return null;
@@ -59,31 +53,6 @@ export function lowerNumberStaticCall(lowerer, call, access) {
59
53
  }
60
54
  const argNode = call.arguments[0];
61
55
  const arg = lowerBuiltinValuePreservingUndefined(lowerer, argNode);
62
- // An ISLAND ('any'-typed) argument evaluates the predicate in the
63
- // engine — the statics never coerce, so the engine's answer over the
64
- // real value is JS-exact where a static fence would refuse the
65
- // editorconfig `(value) => Number.isSafeInteger(value)` shape; the
66
- // boolean exits validated like every island boolean.
67
- if (arg.type.kind === "jsval") {
68
- lowerer.requireDynamicApi(`'Number.${member}'`, call);
69
- const numberGlobal = {
70
- kind: "jsOp",
71
- op: "globalGet",
72
- name: "Number",
73
- args: [],
74
- type: JSVAL,
75
- loc,
76
- };
77
- const raw = {
78
- kind: "jsOp",
79
- op: "callMethod",
80
- name: member,
81
- args: [numberGlobal, arg],
82
- type: JSVAL,
83
- loc,
84
- };
85
- return { kind: "jsExit", value: raw, type: BOOL, loc };
86
- }
87
56
  const optional = lowerOptionalNumberPredicate(lowerer, arg, fn, loc);
88
57
  if (optional)
89
58
  return optional;
@@ -99,37 +68,17 @@ export function lowerNumberStaticCall(lowerer, call, access) {
99
68
  }
100
69
  // Number.parseFloat/Number.parseInt ARE the global parsers: over a
101
70
  // string argument they lower to the same static parse (parseInt with
102
- // its explicit radix); only the coercing argument shapes need the
103
- // engine.
71
+ // its explicit radix); only the coercing argument shapes are refused.
104
72
  const probed = tryLowerExpression(lowerer, call.arguments[0]);
105
73
  if (probed !== null && isStringLike(lowerer, probed.type)) {
106
74
  const parsed = lowerStaticNumberGlobal(lowerer, member, call, call.arguments, loc);
107
75
  if (parsed !== null)
108
76
  return parsed;
109
77
  }
110
- const argText = lowerer.dynamic
111
- ? ""
112
- : probed !== null
113
- ? lowerer.fmt(probed.type)
114
- : lowerer.checker.typeToString(lowerer.checker.getTypeAtLocation(call.arguments[0]));
115
- lowerer.requireDynamicApi(`'Number.${member}' with a '${argText}' argument (only a string argument compiles statically)`, call, "convert the argument explicitly first (for example String(x), or narrow the union), or build with --dynamic to run the coercing call in the embedded engine (adds ~620KB to the binary)");
116
- const callee = {
117
- kind: "jsOp",
118
- op: "globalGet",
119
- name: member,
120
- args: [],
121
- type: JSVAL,
122
- loc,
123
- };
124
- const args = call.arguments.map((a) => lowerer.jsvalIn(lowerer.lowerExpr(a), a));
125
- const result = {
126
- kind: "jsOp",
127
- op: "callFn",
128
- args: [callee, ...args],
129
- type: JSVAL,
130
- loc,
131
- };
132
- return { kind: "jsExit", value: result, type: F64, loc };
78
+ const argText = probed !== null
79
+ ? lowerer.fmt(probed.type)
80
+ : lowerer.checker.typeToString(lowerer.checker.getTypeAtLocation(call.arguments[0]));
81
+ lowerer.refuseUnsupportedApi(`'Number.${member}' with a '${argText}' argument`, call, "only a string argument compiles statically: convert the argument explicitly first (for example String(x), or narrow the union)");
133
82
  }
134
83
  return null; // other Number statics land on the member fence
135
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"numbers.js","sourceRoot":"","sources":["../../../../src/frontend/lowering/builtins/numbers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"numbers.js","sourceRoot":"","sources":["../../../../src/frontend/lowering/builtins/numbers.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { checkedPromiseAll } from "../checked-promise-all.js";
2
2
  import * as ts from "../../ts7/adapter.js";
3
- import { PoisonError } from "../lowerer.js";
3
+ import {} from "../lowerer.js";
4
4
  import { isJsSourceFile, locOf } from "../../program.js";
5
- import { DYN, JSVAL, VOID, arrayOf, isUnitType, typeEquals, typeKey, } from "../../../ir/ir.js";
5
+ import { DYN, VOID, arrayOf, isUnitType, typeEquals, typeKey, } from "../../../ir/ir.js";
6
6
  /** `Promise.race([...])` on THE Promise global: the entries lower
7
7
  * individually (the array never materializes — promise-element arrays
8
8
  * have no representation) into a promise.race intrinsic; the result
@@ -98,43 +98,7 @@ export function lowerPromiseStaticCall(lowerer, call, access) {
98
98
  };
99
99
  return { kind: "intrinsic", name: "promise.all", args: [entriesArr], type: resultT, loc };
100
100
  }
101
- // MIXED entries where some entry is already an ISLAND value (the
102
- // withPlugins shape: Promise.all([loadBuiltinPlugins(),
103
- // loadPlugins(plugins)]) with an 'any'-typed loader): the
104
- // ENGINE's own Promise.all runs — island entries pass through,
105
- // STATIC promises cross as real engine thenables (the reverse
106
- // bridge, payload-domain gated), plain values marshal per the
107
- // boundary — and the combined result stays an island value
108
- // (awaiting it rides the island→static promise bridge; element
109
- // reads are the routed keyed ops). All-static tuples keep the
110
- // typed fence hint below. --dynamic only by construction: jsval
111
- // entries exist only there.
112
- if (lowerer.dynamic && elems.some((e) => e.type.kind === "jsval" || e.type.kind === "dyn")) {
113
- const diagsBefore = lowerer.diags.length;
114
- try {
115
- const marshaled = argNode.elements.map((el, i) => lowerer.jsvalIn(elems[i], el));
116
- return {
117
- kind: "jsOp",
118
- op: "callMethod",
119
- name: "all",
120
- args: [
121
- { kind: "jsOp", op: "globalGet", name: "Promise", args: [], type: JSVAL, loc },
122
- { kind: "jsOp", op: "arrLit", args: marshaled, type: JSVAL, loc },
123
- ],
124
- type: JSVAL,
125
- loc,
126
- };
127
- }
128
- catch (err) {
129
- // An entry outside every crossing domain: drop the boundary
130
- // diagnostics and let the shape fence below name the fix.
131
- if (!(err instanceof PoisonError))
132
- throw err;
133
- lowerer.diags.splice(diagsBefore);
134
- }
135
- }
136
- if (!lowerer.dynamic &&
137
- isJsSourceFile(call.getSourceFile()) &&
101
+ if (isJsSourceFile(call.getSourceFile()) &&
138
102
  elems.every((entry) => lowerer.dynConvertible(entry.type))) {
139
103
  return checkedPromiseAll(lowerer, {
140
104
  kind: "arrayLit",
@@ -146,38 +110,11 @@ export function lowerPromiseStaticCall(lowerer, call, access) {
146
110
  lowerer.noLowering("Promise.all over this argument shape", argNode, "the entries must share ONE promise type — Promise.all([p, q]) lowers when p and q are the same Promise<T>");
147
111
  }
148
112
  const entries = lowerer.lowerExpr(argNode);
149
- if (!lowerer.dynamic && isJsSourceFile(call.getSourceFile()) && entries.type.kind === "dyn")
113
+ if (isJsSourceFile(call.getSourceFile()) && entries.type.kind === "dyn")
150
114
  return checkedPromiseAll(lowerer, entries, loc);
151
- // A NON-literal island argument (`Promise.all(plugins.map((p) =>
152
115
  // loadPlugin(p)))` — the loadPlugins shape, where the checker
153
116
  // spells `any[]`): the ENGINE's own Promise.all runs over the
154
117
  // marshaled array (an 'any' value passes through; an `any[]` value
155
- // lifts per element by reference), the result staying an island
156
- // value the static side awaits through the island→static bridge.
157
- if (entries.type.kind === "jsval" ||
158
- (lowerer.dynamic && entries.type.kind === "dyn") ||
159
- (entries.type.kind === "array" && entries.type.elem.kind === "jsval")) {
160
- const diagsBefore = lowerer.diags.length;
161
- try {
162
- const arg = lowerer.jsvalIn(entries, argNode);
163
- return {
164
- kind: "jsOp",
165
- op: "callMethod",
166
- name: "all",
167
- args: [
168
- { kind: "jsOp", op: "globalGet", name: "Promise", args: [], type: JSVAL, loc },
169
- arg,
170
- ],
171
- type: JSVAL,
172
- loc,
173
- };
174
- }
175
- catch (err) {
176
- if (!(err instanceof PoisonError))
177
- throw err;
178
- lowerer.diags.splice(diagsBefore);
179
- }
180
- }
181
118
  if (entries.type.kind !== "array" || entries.type.elem.kind !== "promise") {
182
119
  // The heterogeneous-literal case: the checker's tuple overload
183
120
  // types the literal as a TUPLE of promises (a tuple-flagged record
@@ -1 +1 @@
1
- {"version":3,"file":"promises.js","sourceRoot":"","sources":["../../../../src/frontend/lowering/builtins/promises.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promises.js","sourceRoot":"","sources":["../../../../src/frontend/lowering/builtins/promises.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ export function lowerWorkerNew(lowerer, expression) {
36
36
  if (root === undefined) {
37
37
  lowerer.noLowering("this Worker entry point", filename, "the worker entry must resolve to a statically compiled source file");
38
38
  }
39
- if (lowerer.dynamic || lowerer.targetPlatform === "wasi") {
39
+ if (lowerer.targetPlatform === "wasi") {
40
40
  lowerer.noLowering("Worker execution in this target", expression, "use a native static executable");
41
41
  }
42
42
  if (lowerer.ffiImports.some((entry) => entry.params.some((parameter) => isFfiCallbackParam(parameter) && parameter.callback.invoke === "foreign"))) {
@@ -1 +1 @@
1
- {"version":3,"file":"workers.js","sourceRoot":"","sources":["../../../../src/frontend/lowering/builtins/workers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workers.js","sourceRoot":"","sources":["../../../../src/frontend/lowering/builtins/workers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EACL,IAAI,EACJ,GAAG,EACH,GAAG,EACH,MAAM,EACN,WAAW,EACX,kBAAkB,GAGnB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,GAAW;IAC7D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,cAAc;YACjB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACnF,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC9E,KAAK,YAAY;YACf,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC1E,KAAK,YAAY;YACf,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAChF,KAAK,kBAAkB;YACrB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAC5D;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,UAA4B;IAC3E,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IACpE,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC;IACxC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;QACxE,OAAO,CAAC,UAAU,CAChB,8BAA8B,EAC9B,UAAU,EACV,oCAAoC,CACrC,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,IAAI,GACR,IAAI,KAAK,IAAI;QACX,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,UAAU,CAChB,yBAAyB,EACzB,QAAQ,EACR,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;QACtC,OAAO,CAAC,UAAU,CAChB,iCAAiC,EACjC,UAAU,EACV,gCAAgC,CACjC,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAChC,KAAK,CAAC,MAAM,CAAC,IAAI,CACf,CAAC,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CACxF,CACF,EACD,CAAC;QACD,OAAO,CAAC,UAAU,CAChB,8CAA8C,EAC9C,UAAU,EACV,+EAA+E,CAChF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAW,IAAI,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QAC1C,CAAC,CAAC;YACE,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;YACrE,IAAI,EAAE,GAAG;YACT,GAAG;SACJ,CAAC;IACN,OAAO;QACL,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE;YACJ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;YAC/C,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;YACnD,OAAO;SACR;QACD,IAAI,EAAE,GAAG;QACT,GAAG;KACJ,CAAC;AACJ,CAAC"}
@@ -2,14 +2,6 @@ import * as ts from "../ts7/adapter.js";
2
2
  import type { Lowerer } from "./lowerer.js";
3
3
  import { type IrExpr, type IrType, type SrcLoc } from "../../ir/ir.js";
4
4
  import { type ParamShape } from "./call-signatures.js";
5
- /** CALL-SITE COMPLETION — the frontend half of the one-signature contract
6
- * (docs/ir.md): typed calls lower to the callee's full ABI parameter
7
- * list, so backends and the validator stay count-exact. Dynamic and island
8
- * calls retain their runtime arity handling. Omitted trailing args for omittable
9
- * params become the interned undefined arm (which is also what an
10
- * explicitly-passed `undefined` wraps to — both trigger a default, JS-
11
- * exact); a rest param packs the surplus args (possibly zero) into one
12
- * array literal, evaluated in source order at the call site. */
13
5
  export declare function completeArgs(lowerer: Lowerer, argNodes: readonly ts.Expression[], shapes: readonly ParamShape[], loc: SrcLoc, blame: ts.Node,
14
6
  /** Pre-lowered values virtually PREPENDED to the argument list — the
15
7
  * tagged-template strings object, which has no ts.Expression to lower
@@ -25,11 +17,6 @@ export declare function wrappedUndefined(lowerer: Lowerer, type: IrType, loc: Sr
25
17
  /** The synthesized argument for an omitted omittable param: the interned
26
18
  * undefined arm of the param's `T | undefined` ABI union, or the checked-dynamic tree
27
19
  * undefined for a checked-dynamic param (`bar?: any`). */
28
- /** The "absent argument" value for a param SLOT type, or null when the
29
- * slot cannot hold one: the interned undefined arm for undefined-armed
30
- * unions, the dyn undefined for checked-dynamic slots, the engine's own
31
- * undefined for island slots. Shared by every call-completion loop
32
- * (direct calls and calls through func-typed values). */
33
20
  export declare function omittedArgFor(lowerer: Lowerer, type: IrType, loc: SrcLoc): IrExpr | null;
34
21
  /** Complete an indirect static call against its func value ABI. Ordinary
35
22
  * fixed-width values retain the historical optional-suffix completion.
@@ -40,33 +27,10 @@ export declare function completeFuncValueArgs(lowerer: Lowerer, call: ts.CallExp
40
27
  kind: "func";
41
28
  }, loc: SrcLoc): IrExpr[];
42
29
  export declare function undefinedArgFor(lowerer: Lowerer, type: IrType, loc: SrcLoc, blame: ts.Node): IrExpr;
43
- /** The RUNTIME-ARITY spread call — `f(...args)`, the rest-forwarding idiom
44
- * (`const f = (...args) => from(...args)`): a spread whose length is a
45
- * runtime fact has no home in the compile-time completion, so the call
46
- * rides a dynamic boundary instead. Two lanes, picked by the spread
47
- * source's tier:
48
- *
49
- * - CHECKED-DYNAMIC (dyn spread sources — a JS rest binding, a dyn
50
- * value): box the callee (dynFrom; a dyn callee is already boxed),
51
- * convert every argument into dyn, and emit the spread-marked dynCall
52
- * — the emitters build one fresh dyn argument array (spreads flatten
53
- * left-to-right, non-iterables throw V8's TypeError) and apply through
54
- * it; the boxed thunk delivers JS arity exactly. Result dyn, checked
55
- * per use like every any-origin value.
56
- * - ISLAND (a jsval spread source — the --dynamic rest binding is the
57
- * engine's own arguments array): marshal the callee in and emit jsOp
58
- * callSpread — the prelude helper's REAL `f(...pre, ...s)`, so
59
- * iterator protocols and the not-iterable TypeError are the engine's
60
- * own. One trailing spread after the fixed arguments is the modeled
61
- * shape (exactly the forwarding idiom).
62
- *
63
- * Answers null when neither lane fits (typed .ts spreads keep
64
- * completeArgs' rest packing and its fences). JS sources only — the
65
- * same guard as the over-arity dynCall precedent. */
66
30
  export declare function lowerSpreadArgsCall(lowerer: Lowerer, expr: ts.CallExpression, callee: IrExpr, loc: SrcLoc): IrExpr | null;
67
31
  /** True when a spread argument lands where the compile-time completion
68
32
  * cannot take it — a FIXED parameter position, or a dynamic rest slot
69
- * (dynRest/islandRest, whose packs are built per-argument): the shapes
33
+ * (dynRest, whose packs are built per-argument): the shapes
70
34
  * the runtime-arity lane (lowerSpreadArgsCall) serves. Typed `rest`
71
35
  * slots keep completeArgs' same-element spread packing. */
72
36
  export declare function spreadNeedsRuntimeArity(lowerer: Lowerer, shapes: readonly ParamShape[], argNodes: readonly ts.Expression[]): boolean;