@scriptc/compiler 0.4.6 → 0.4.7

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 (652) hide show
  1. package/ambient/node-fallback/events.d.ts +6 -1
  2. package/ambient/node-fallback/fs-promises.d.ts +1 -1
  3. package/ambient/node-fallback/fs.d.ts +54 -10
  4. package/ambient/node-fallback/http.d.ts +3 -1
  5. package/ambient/node-fallback/net.d.ts +19 -0
  6. package/ambient/node-fallback/querystring.d.ts +3 -3
  7. package/ambient/scriptc-node-fallback.d.ts +58 -13
  8. package/dist/backend/executable-features.js +13 -0
  9. package/dist/backend/executable-features.js.map +1 -1
  10. package/dist/backend/immutability.d.ts +12 -1
  11. package/dist/backend/immutability.js +50 -4
  12. package/dist/backend/immutability.js.map +1 -1
  13. package/dist/backend/immutability.test.js +95 -1
  14. package/dist/backend/immutability.test.js.map +1 -1
  15. package/dist/backend/library-pack.js +2 -0
  16. package/dist/backend/library-pack.js.map +1 -1
  17. package/dist/backend/linker.d.ts +11 -0
  18. package/dist/backend/linker.js +31 -3
  19. package/dist/backend/linker.js.map +1 -1
  20. package/dist/backend/lld.d.ts +7 -2
  21. package/dist/backend/lld.js +5 -3
  22. package/dist/backend/lld.js.map +1 -1
  23. package/dist/backend/lld.test.js +10 -4
  24. package/dist/backend/lld.test.js.map +1 -1
  25. package/dist/backend/llvm/constant-callbacks.test.js +50 -1
  26. package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
  27. package/dist/backend/llvm/cpu-dispatch.js +6 -5
  28. package/dist/backend/llvm/cpu-dispatch.js.map +1 -1
  29. package/dist/backend/llvm/dyn.d.ts +53 -1
  30. package/dist/backend/llvm/dyn.js +221 -9
  31. package/dist/backend/llvm/dyn.js.map +1 -1
  32. package/dist/backend/llvm/emit-function.js +1 -1
  33. package/dist/backend/llvm/emit-function.js.map +1 -1
  34. package/dist/backend/llvm/emit-module.js +148 -50
  35. package/dist/backend/llvm/emit-module.js.map +1 -1
  36. package/dist/backend/llvm/emit-statements.js +39 -19
  37. package/dist/backend/llvm/emit-statements.js.map +1 -1
  38. package/dist/backend/llvm/emitter.d.ts +29 -2
  39. package/dist/backend/llvm/emitter.js +86 -7
  40. package/dist/backend/llvm/emitter.js.map +1 -1
  41. package/dist/backend/llvm/expr-calls.d.ts +4 -1
  42. package/dist/backend/llvm/expr-calls.js +20 -4
  43. package/dist/backend/llvm/expr-calls.js.map +1 -1
  44. package/dist/backend/llvm/expr-dynamic.js +209 -16
  45. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  46. package/dist/backend/llvm/expr-primitives.js +94 -11
  47. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  48. package/dist/backend/llvm/expr-stream-bridges.d.ts +8 -0
  49. package/dist/backend/llvm/expr-stream-bridges.js +42 -2
  50. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  51. package/dist/backend/llvm/expr-stream-callbacks.d.ts +16 -0
  52. package/dist/backend/llvm/expr-stream-callbacks.js +206 -20
  53. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  54. package/dist/backend/llvm/integer-values.d.ts +2 -0
  55. package/dist/backend/llvm/integer-values.js +6 -0
  56. package/dist/backend/llvm/integer-values.js.map +1 -1
  57. package/dist/backend/llvm/js-ic.d.ts +38 -0
  58. package/dist/backend/llvm/js-ic.js +295 -1
  59. package/dist/backend/llvm/js-ic.js.map +1 -1
  60. package/dist/backend/llvm/lib-dispatch.js +20 -0
  61. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  62. package/dist/backend/llvm/lib-filesystem.js +116 -11
  63. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  64. package/dist/backend/llvm/lib-process.js +136 -24
  65. package/dist/backend/llvm/lib-process.js.map +1 -1
  66. package/dist/backend/llvm/lib-shared.js +70 -0
  67. package/dist/backend/llvm/lib-shared.js.map +1 -1
  68. package/dist/backend/llvm/lib-stream.js +67 -0
  69. package/dist/backend/llvm/lib-stream.js.map +1 -1
  70. package/dist/backend/llvm/loop-entry-versions.d.ts +2 -2
  71. package/dist/backend/llvm/loop-entry-versions.js +43 -21
  72. package/dist/backend/llvm/loop-entry-versions.js.map +1 -1
  73. package/dist/backend/llvm/loop-state.d.ts +7 -1
  74. package/dist/backend/llvm/loop-state.js +20 -2
  75. package/dist/backend/llvm/loop-state.js.map +1 -1
  76. package/dist/backend/llvm/map-number-lookup.d.ts +3 -1
  77. package/dist/backend/llvm/map-number-lookup.js +7 -3
  78. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  79. package/dist/backend/llvm/map-number-lookup.test.js +52 -11
  80. package/dist/backend/llvm/map-number-lookup.test.js.map +1 -1
  81. package/dist/backend/llvm/receiver-brackets.test.d.ts +1 -0
  82. package/dist/backend/llvm/receiver-brackets.test.js +68 -0
  83. package/dist/backend/llvm/receiver-brackets.test.js.map +1 -0
  84. package/dist/backend/llvm/record-views.d.ts +22 -2
  85. package/dist/backend/llvm/record-views.js +139 -10
  86. package/dist/backend/llvm/record-views.js.map +1 -1
  87. package/dist/backend/llvm/record-views.test.js +76 -0
  88. package/dist/backend/llvm/record-views.test.js.map +1 -1
  89. package/dist/backend/llvm/reference-writes.js +1 -0
  90. package/dist/backend/llvm/reference-writes.js.map +1 -1
  91. package/dist/backend/llvm/shapes.d.ts +3 -0
  92. package/dist/backend/llvm/shapes.js +18 -3
  93. package/dist/backend/llvm/shapes.js.map +1 -1
  94. package/dist/backend/llvm/shapes.test.js +4 -0
  95. package/dist/backend/llvm/shapes.test.js.map +1 -1
  96. package/dist/backend/llvm/speculative-integers.d.ts +10 -1
  97. package/dist/backend/llvm/speculative-integers.js +59 -8
  98. package/dist/backend/llvm/speculative-integers.js.map +1 -1
  99. package/dist/backend/llvm/unwind-abi.d.ts +3 -3
  100. package/dist/backend/llvm/unwind-abi.js +8 -3
  101. package/dist/backend/llvm/unwind-abi.js.map +1 -1
  102. package/dist/backend/llvm/walkers.js +1 -1
  103. package/dist/backend/llvm/walkers.js.map +1 -1
  104. package/dist/backend/native/contracts.d.ts +54 -0
  105. package/dist/backend/native/executable.js +87 -5
  106. package/dist/backend/native/executable.js.map +1 -1
  107. package/dist/backend/native/library.js +1 -1
  108. package/dist/backend/native/library.js.map +1 -1
  109. package/dist/backend/native/runtime-inputs.js +5 -1
  110. package/dist/backend/native/runtime-inputs.js.map +1 -1
  111. package/dist/backend/native/vendor.d.ts +1 -1
  112. package/dist/backend/native/vendor.js +1 -1
  113. package/dist/backend/native/vendor.js.map +1 -1
  114. package/dist/backend/native-codegen.js +3 -0
  115. package/dist/backend/native-codegen.js.map +1 -1
  116. package/dist/backend/native-link-info-core.d.ts +43 -0
  117. package/dist/backend/native-link-info-core.js.map +1 -1
  118. package/dist/backend/native-link-info.js +1 -0
  119. package/dist/backend/native-link-info.js.map +1 -1
  120. package/dist/backend/native-profile.d.ts +4 -1
  121. package/dist/backend/native-profile.js +12 -1
  122. package/dist/backend/native-profile.js.map +1 -1
  123. package/dist/backend/native-profile.test.js +10 -0
  124. package/dist/backend/native-profile.test.js.map +1 -1
  125. package/dist/backend/publication.d.ts +4 -1
  126. package/dist/backend/publication.js +4 -2
  127. package/dist/backend/publication.js.map +1 -1
  128. package/dist/backend/runtime-abi.d.ts +2 -2
  129. package/dist/backend/runtime-abi.js +2 -2
  130. package/dist/backend/runtime-pack-core.d.ts +31 -7
  131. package/dist/backend/runtime-pack-core.js +21 -1
  132. package/dist/backend/runtime-pack-core.js.map +1 -1
  133. package/dist/backend/runtime-pack-native.d.ts +18 -1
  134. package/dist/backend/runtime-pack-native.js +138 -29
  135. package/dist/backend/runtime-pack-native.js.map +1 -1
  136. package/dist/backend/runtime-pack-native.test.js +166 -4
  137. package/dist/backend/runtime-pack-native.test.js.map +1 -1
  138. package/dist/backend/runtime-pack-targets.test.js +3 -1
  139. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  140. package/dist/backend/runtime-pack.d.ts +7 -0
  141. package/dist/backend/runtime-pack.js +25 -3
  142. package/dist/backend/runtime-pack.js.map +1 -1
  143. package/dist/backend/runtime-pack.test.js +3 -11
  144. package/dist/backend/runtime-pack.test.js.map +1 -1
  145. package/dist/backend/vendor-archives.d.ts +4 -1
  146. package/dist/backend/vendor-archives.js +264 -3
  147. package/dist/backend/vendor-archives.js.map +1 -1
  148. package/dist/backend/vendor-inputs.d.ts +36 -0
  149. package/dist/backend/vendor-inputs.js +42 -0
  150. package/dist/backend/vendor-inputs.js.map +1 -1
  151. package/dist/backend/vendor-inputs.test.js +28 -1
  152. package/dist/backend/vendor-inputs.test.js.map +1 -1
  153. package/dist/backend/warm-cache.js +2 -0
  154. package/dist/backend/warm-cache.js.map +1 -1
  155. package/dist/compat/fetch-profile.d.ts +7 -1
  156. package/dist/compat/fetch-profile.js +23 -10
  157. package/dist/compat/fetch-profile.js.map +1 -1
  158. package/dist/compile-types.d.ts +7 -0
  159. package/dist/contracts/check.d.ts +3 -0
  160. package/dist/contracts/check.js +18 -5
  161. package/dist/contracts/check.js.map +1 -1
  162. package/dist/coverage/surface-manifest.js +1 -1
  163. package/dist/coverage/surface-manifest.js.map +1 -1
  164. package/dist/diagnostics/codes.d.ts +6 -0
  165. package/dist/diagnostics/codes.js +6 -0
  166. package/dist/diagnostics/codes.js.map +1 -1
  167. package/dist/diagnostics/diagnostic.d.ts +50 -0
  168. package/dist/diagnostics/diagnostic.js +142 -3
  169. package/dist/diagnostics/diagnostic.js.map +1 -1
  170. package/dist/diagnostics/dynamic-tier.js +3 -1
  171. package/dist/diagnostics/dynamic-tier.js.map +1 -1
  172. package/dist/executable/executable-cache.d.ts +29 -0
  173. package/dist/executable/executable-cache.js +18 -0
  174. package/dist/executable/executable-cache.js.map +1 -1
  175. package/dist/executable/executable-cache.test.js +5 -1
  176. package/dist/executable/executable-cache.test.js.map +1 -1
  177. package/dist/executable/prepare.d.ts +13 -3
  178. package/dist/executable/prepare.js +271 -18
  179. package/dist/executable/prepare.js.map +1 -1
  180. package/dist/frontend/early-errors.d.ts +14 -0
  181. package/dist/frontend/early-errors.js +305 -0
  182. package/dist/frontend/early-errors.js.map +1 -0
  183. package/dist/frontend/early-errors.test.d.ts +1 -0
  184. package/dist/frontend/early-errors.test.js +42 -0
  185. package/dist/frontend/early-errors.test.js.map +1 -0
  186. package/dist/frontend/inferred-js-diagnostics.test.js +23 -0
  187. package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -1
  188. package/dist/frontend/input-tracker.d.ts +47 -0
  189. package/dist/frontend/input-tracker.js +173 -36
  190. package/dist/frontend/input-tracker.js.map +1 -1
  191. package/dist/frontend/input-tracker.test.js +86 -2
  192. package/dist/frontend/input-tracker.test.js.map +1 -1
  193. package/dist/frontend/js-inference.d.ts +2 -0
  194. package/dist/frontend/js-inference.js +18 -0
  195. package/dist/frontend/js-inference.js.map +1 -0
  196. package/dist/frontend/lowering/binding-analysis.d.ts +2 -1
  197. package/dist/frontend/lowering/binding-analysis.js +65 -1
  198. package/dist/frontend/lowering/binding-analysis.js.map +1 -1
  199. package/dist/frontend/lowering/builtin-calls.js +9 -0
  200. package/dist/frontend/lowering/builtin-calls.js.map +1 -1
  201. package/dist/frontend/lowering/builtin-namespaces.d.ts +1 -1
  202. package/dist/frontend/lowering/builtin-namespaces.js +19 -2
  203. package/dist/frontend/lowering/builtin-namespaces.js.map +1 -1
  204. package/dist/frontend/lowering/builtins/child-process-methods.d.ts +7 -0
  205. package/dist/frontend/lowering/builtins/child-process-methods.js +50 -10
  206. package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
  207. package/dist/frontend/lowering/builtins/child-process.js +5 -1
  208. package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
  209. package/dist/frontend/lowering/builtins/dates.d.ts +1 -1
  210. package/dist/frontend/lowering/builtins/dates.js +23 -1
  211. package/dist/frontend/lowering/builtins/dates.js.map +1 -1
  212. package/dist/frontend/lowering/builtins/environment.d.ts +55 -0
  213. package/dist/frontend/lowering/builtins/environment.js +213 -2
  214. package/dist/frontend/lowering/builtins/environment.js.map +1 -1
  215. package/dist/frontend/lowering/builtins/filesystem-calls.js +47 -16
  216. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  217. package/dist/frontend/lowering/builtins/filesystem.d.ts +25 -7
  218. package/dist/frontend/lowering/builtins/filesystem.js +185 -16
  219. package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
  220. package/dist/frontend/lowering/builtins/module-calls.js +39 -2
  221. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  222. package/dist/frontend/lowering/builtins/module-resolution.d.ts +8 -0
  223. package/dist/frontend/lowering/builtins/module-resolution.js +31 -5
  224. package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
  225. package/dist/frontend/lowering/builtins/operating-system.d.ts +3 -2
  226. package/dist/frontend/lowering/builtins/operating-system.js +5 -4
  227. package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
  228. package/dist/frontend/lowering/builtins/process.d.ts +17 -1
  229. package/dist/frontend/lowering/builtins/process.js +285 -19
  230. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  231. package/dist/frontend/lowering/builtins/querystring.d.ts +8 -0
  232. package/dist/frontend/lowering/builtins/querystring.js +202 -18
  233. package/dist/frontend/lowering/builtins/querystring.js.map +1 -1
  234. package/dist/frontend/lowering/builtins/readline.js +21 -3
  235. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  236. package/dist/frontend/lowering/builtins/reflection.js +60 -1
  237. package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
  238. package/dist/frontend/lowering/builtins/text-codecs.js +208 -59
  239. package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
  240. package/dist/frontend/lowering/builtins/url.js +20 -1
  241. package/dist/frontend/lowering/builtins/url.js.map +1 -1
  242. package/dist/frontend/lowering/builtins/v8.d.ts +5 -5
  243. package/dist/frontend/lowering/builtins/v8.js +7 -5
  244. package/dist/frontend/lowering/builtins/v8.js.map +1 -1
  245. package/dist/frontend/lowering/builtins/web-streams-dyn.d.ts +17 -2
  246. package/dist/frontend/lowering/builtins/web-streams-dyn.js +97 -9
  247. package/dist/frontend/lowering/builtins/web-streams-dyn.js.map +1 -1
  248. package/dist/frontend/lowering/call-signatures.js +77 -0
  249. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  250. package/dist/frontend/lowering/cjs-exports-object.d.ts +3 -0
  251. package/dist/frontend/lowering/cjs-exports-object.js +1 -1
  252. package/dist/frontend/lowering/cjs-exports-object.js.map +1 -1
  253. package/dist/frontend/lowering/cjs-inline-require.js +5 -0
  254. package/dist/frontend/lowering/cjs-inline-require.js.map +1 -1
  255. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +5 -0
  256. package/dist/frontend/lowering/class-dynamic-dispatch.js +114 -0
  257. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  258. package/dist/frontend/lowering/class-protocols.js +59 -10
  259. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  260. package/dist/frontend/lowering/class-runtime-statics.js +15 -0
  261. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
  262. package/dist/frontend/lowering/class-views.d.ts +13 -0
  263. package/dist/frontend/lowering/class-views.js +51 -0
  264. package/dist/frontend/lowering/class-views.js.map +1 -0
  265. package/dist/frontend/lowering/coercions/function-adapters.d.ts +15 -1
  266. package/dist/frontend/lowering/coercions/function-adapters.js +54 -10
  267. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
  268. package/dist/frontend/lowering/coercions/state.d.ts +7 -0
  269. package/dist/frontend/lowering/coercions/state.js +7 -0
  270. package/dist/frontend/lowering/coercions/state.js.map +1 -1
  271. package/dist/frontend/lowering/coercions/structural-plans.js +60 -3
  272. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
  273. package/dist/frontend/lowering/coercions/structural.js +29 -1
  274. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  275. package/dist/frontend/lowering/containers/array-callbacks.d.ts +8 -1
  276. package/dist/frontend/lowering/containers/array-callbacks.js +132 -28
  277. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  278. package/dist/frontend/lowering/containers/array-construction.js +16 -5
  279. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  280. package/dist/frontend/lowering/containers/array-methods.js +16 -0
  281. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  282. package/dist/frontend/lowering/containers/bytes.js +4 -0
  283. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  284. package/dist/frontend/lowering/containers/callback-arguments.d.ts +11 -0
  285. package/dist/frontend/lowering/containers/callback-arguments.js +53 -0
  286. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
  287. package/dist/frontend/lowering/containers/filter-predicates.d.ts +10 -0
  288. package/dist/frontend/lowering/containers/filter-predicates.js +69 -3
  289. package/dist/frontend/lowering/containers/filter-predicates.js.map +1 -1
  290. package/dist/frontend/lowering/containers/indexed-objects.js +46 -2
  291. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  292. package/dist/frontend/lowering/expressions/array-literals.d.ts +14 -0
  293. package/dist/frontend/lowering/expressions/array-literals.js +26 -10
  294. package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
  295. package/dist/frontend/lowering/expressions/binary.js +104 -12
  296. package/dist/frontend/lowering/expressions/binary.js.map +1 -1
  297. package/dist/frontend/lowering/expressions/element-access.js +121 -4
  298. package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
  299. package/dist/frontend/lowering/expressions/identifiers.js +143 -3
  300. package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
  301. package/dist/frontend/lowering/expressions/keyed-field-targets.d.ts +11 -1
  302. package/dist/frontend/lowering/expressions/keyed-field-targets.js +22 -1
  303. package/dist/frontend/lowering/expressions/keyed-field-targets.js.map +1 -1
  304. package/dist/frontend/lowering/expressions/narrowing.js +25 -1
  305. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
  306. package/dist/frontend/lowering/expressions/object-literals.d.ts +5 -1
  307. package/dist/frontend/lowering/expressions/object-literals.js +778 -229
  308. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  309. package/dist/frontend/lowering/expressions/optional-chains.js +66 -20
  310. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  311. package/dist/frontend/lowering/expressions/property-access.d.ts +31 -0
  312. package/dist/frontend/lowering/expressions/property-access.js +796 -12
  313. package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
  314. package/dist/frontend/lowering/expressions/relational.js +29 -1
  315. package/dist/frontend/lowering/expressions/relational.js.map +1 -1
  316. package/dist/frontend/lowering/expressions/typeof.js +17 -0
  317. package/dist/frontend/lowering/expressions/typeof.js.map +1 -1
  318. package/dist/frontend/lowering/expressions/updates.js +132 -17
  319. package/dist/frontend/lowering/expressions/updates.js.map +1 -1
  320. package/dist/frontend/lowering/frozen-records.d.ts +6 -0
  321. package/dist/frontend/lowering/frozen-records.js +10 -4
  322. package/dist/frontend/lowering/frozen-records.js.map +1 -1
  323. package/dist/frontend/lowering/frozen-records.test.d.ts +1 -0
  324. package/dist/frontend/lowering/frozen-records.test.js +44 -0
  325. package/dist/frontend/lowering/frozen-records.test.js.map +1 -0
  326. package/dist/frontend/lowering/function-names.d.ts +9 -0
  327. package/dist/frontend/lowering/function-names.js +95 -0
  328. package/dist/frontend/lowering/function-names.js.map +1 -0
  329. package/dist/frontend/lowering/function-returns.js +5 -3
  330. package/dist/frontend/lowering/function-returns.js.map +1 -1
  331. package/dist/frontend/lowering/generic-functions.d.ts +49 -0
  332. package/dist/frontend/lowering/generic-functions.js +365 -7
  333. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  334. package/dist/frontend/lowering/global-values.d.ts +9 -0
  335. package/dist/frontend/lowering/global-values.js +44 -0
  336. package/dist/frontend/lowering/global-values.js.map +1 -1
  337. package/dist/frontend/lowering/handle-properties.js +34 -1
  338. package/dist/frontend/lowering/handle-properties.js.map +1 -1
  339. package/dist/frontend/lowering/key-order-witness.d.ts +54 -0
  340. package/dist/frontend/lowering/key-order-witness.js +546 -5
  341. package/dist/frontend/lowering/key-order-witness.js.map +1 -1
  342. package/dist/frontend/lowering/lib-boundary.js +14 -0
  343. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  344. package/dist/frontend/lowering/lower-assert.js +110 -1
  345. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  346. package/dist/frontend/lowering/lower-builtin-values.d.ts +36 -6
  347. package/dist/frontend/lowering/lower-builtin-values.js +332 -58
  348. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  349. package/dist/frontend/lowering/lower-calls.d.ts +22 -1
  350. package/dist/frontend/lowering/lower-calls.js +427 -48
  351. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  352. package/dist/frontend/lowering/lower-calls.test.d.ts +1 -0
  353. package/dist/frontend/lowering/lower-calls.test.js +78 -0
  354. package/dist/frontend/lowering/lower-calls.test.js.map +1 -0
  355. package/dist/frontend/lowering/lower-classes.d.ts +16 -5
  356. package/dist/frontend/lowering/lower-classes.js +168 -51
  357. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  358. package/dist/frontend/lowering/lower-event-emitter.d.ts +9 -0
  359. package/dist/frontend/lowering/lower-event-emitter.js +383 -41
  360. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  361. package/dist/frontend/lowering/lower-exprs.d.ts +14 -0
  362. package/dist/frontend/lowering/lower-exprs.js +25 -0
  363. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  364. package/dist/frontend/lowering/lower-functions.js +2 -0
  365. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  366. package/dist/frontend/lowering/lower-inspect.js +80 -33
  367. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  368. package/dist/frontend/lowering/lower-modules.js +87 -25
  369. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  370. package/dist/frontend/lowering/lower-node-island.d.ts +35 -4
  371. package/dist/frontend/lowering/lower-node-island.js +456 -61
  372. package/dist/frontend/lowering/lower-node-island.js.map +1 -1
  373. package/dist/frontend/lowering/lower-server.js +160 -9
  374. package/dist/frontend/lowering/lower-server.js.map +1 -1
  375. package/dist/frontend/lowering/lower-shared-modules.js +13 -1
  376. package/dist/frontend/lowering/lower-shared-modules.js.map +1 -1
  377. package/dist/frontend/lowering/lower-stdlib.d.ts +3 -2
  378. package/dist/frontend/lowering/lower-stdlib.js +32 -18
  379. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  380. package/dist/frontend/lowering/lower-stmts.d.ts +21 -4
  381. package/dist/frontend/lowering/lower-stmts.js +580 -103
  382. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  383. package/dist/frontend/lowering/lower-stream.js +126 -8
  384. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  385. package/dist/frontend/lowering/lower-timers.js +133 -21
  386. package/dist/frontend/lowering/lower-timers.js.map +1 -1
  387. package/dist/frontend/lowering/lowerer.d.ts +139 -3
  388. package/dist/frontend/lowering/lowerer.js +579 -43
  389. package/dist/frontend/lowering/lowerer.js.map +1 -1
  390. package/dist/frontend/lowering/lowerer.test.js +1 -1
  391. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  392. package/dist/frontend/lowering/module-namespace-elements.js +15 -0
  393. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
  394. package/dist/frontend/lowering/new-target.js +2 -2
  395. package/dist/frontend/lowering/nullish-empty-pattern.d.ts +17 -0
  396. package/dist/frontend/lowering/nullish-empty-pattern.js +118 -0
  397. package/dist/frontend/lowering/nullish-empty-pattern.js.map +1 -0
  398. package/dist/frontend/lowering/partial-assertions.d.ts +39 -0
  399. package/dist/frontend/lowering/partial-assertions.js +195 -0
  400. package/dist/frontend/lowering/partial-assertions.js.map +1 -0
  401. package/dist/frontend/lowering/primitive-wrappers.d.ts +34 -0
  402. package/dist/frontend/lowering/primitive-wrappers.js +220 -0
  403. package/dist/frontend/lowering/primitive-wrappers.js.map +1 -0
  404. package/dist/frontend/lowering/private-statics.d.ts +46 -0
  405. package/dist/frontend/lowering/private-statics.js +322 -0
  406. package/dist/frontend/lowering/private-statics.js.map +1 -0
  407. package/dist/frontend/lowering/record-sources.d.ts +12 -1
  408. package/dist/frontend/lowering/record-sources.js +60 -0
  409. package/dist/frontend/lowering/record-sources.js.map +1 -1
  410. package/dist/frontend/lowering/strict-equality.d.ts +4 -0
  411. package/dist/frontend/lowering/strict-equality.js +14 -0
  412. package/dist/frontend/lowering/strict-equality.js.map +1 -1
  413. package/dist/frontend/lowering/surfaces.d.ts +27 -0
  414. package/dist/frontend/lowering/surfaces.js +135 -62
  415. package/dist/frontend/lowering/surfaces.js.map +1 -1
  416. package/dist/frontend/lowering/unit-journal.d.ts +128 -17
  417. package/dist/frontend/lowering/unit-journal.js +310 -53
  418. package/dist/frontend/lowering/unit-journal.js.map +1 -1
  419. package/dist/frontend/lowering/unit-journal.test.js +91 -3
  420. package/dist/frontend/lowering/unit-journal.test.js.map +1 -1
  421. package/dist/frontend/lowering/unit-reuse.d.ts +92 -0
  422. package/dist/frontend/lowering/unit-reuse.js +1008 -0
  423. package/dist/frontend/lowering/unit-reuse.js.map +1 -0
  424. package/dist/frontend/lowering/width-lift.d.ts +12 -0
  425. package/dist/frontend/npm-file-import.test.d.ts +1 -0
  426. package/dist/frontend/npm-file-import.test.js +76 -0
  427. package/dist/frontend/npm-file-import.test.js.map +1 -0
  428. package/dist/frontend/npm-static.js +17 -2
  429. package/dist/frontend/npm-static.js.map +1 -1
  430. package/dist/frontend/npm.d.ts +9 -0
  431. package/dist/frontend/npm.js +82 -0
  432. package/dist/frontend/npm.js.map +1 -1
  433. package/dist/frontend/pipeline-native.js +2 -1
  434. package/dist/frontend/pipeline-native.js.map +1 -1
  435. package/dist/frontend/pipeline.d.ts +4 -0
  436. package/dist/frontend/pipeline.js +68 -7
  437. package/dist/frontend/pipeline.js.map +1 -1
  438. package/dist/frontend/program-node.d.ts +3 -0
  439. package/dist/frontend/program-node.js +13 -6
  440. package/dist/frontend/program-node.js.map +1 -1
  441. package/dist/frontend/program.d.ts +9 -0
  442. package/dist/frontend/program.js +159 -7
  443. package/dist/frontend/program.js.map +1 -1
  444. package/dist/frontend/provenance-core.js +4 -0
  445. package/dist/frontend/provenance-core.js.map +1 -1
  446. package/dist/frontend/services.d.ts +14 -0
  447. package/dist/frontend/services.js +52 -2
  448. package/dist/frontend/services.js.map +1 -1
  449. package/dist/frontend/services.test.js +61 -1
  450. package/dist/frontend/services.test.js.map +1 -1
  451. package/dist/frontend/shape-inference/analyze.d.ts +5 -0
  452. package/dist/frontend/shape-inference/analyze.js +104 -4
  453. package/dist/frontend/shape-inference/analyze.js.map +1 -1
  454. package/dist/frontend/shape-inference/domain.js +0 -1
  455. package/dist/frontend/shape-inference/domain.js.map +1 -1
  456. package/dist/frontend/shape-inference/index.js +5 -1
  457. package/dist/frontend/shape-inference/index.js.map +1 -1
  458. package/dist/frontend/shape-inference/memo.d.ts +2 -1
  459. package/dist/frontend/shape-inference/memo.js +6 -2
  460. package/dist/frontend/shape-inference/memo.js.map +1 -1
  461. package/dist/frontend/shape-inference/overlay.d.ts +1 -1
  462. package/dist/frontend/shape-inference/overlay.js +116 -2
  463. package/dist/frontend/shape-inference/overlay.js.map +1 -1
  464. package/dist/frontend/shape-inference/static-objects.js +11 -6
  465. package/dist/frontend/shape-inference/static-objects.js.map +1 -1
  466. package/dist/frontend/source-phase-imports.test.d.ts +1 -0
  467. package/dist/frontend/source-phase-imports.test.js +37 -0
  468. package/dist/frontend/source-phase-imports.test.js.map +1 -0
  469. package/dist/frontend/ts7/ast-node.d.ts +6 -1
  470. package/dist/frontend/ts7/ast-node.js +12 -0
  471. package/dist/frontend/ts7/ast-node.js.map +1 -1
  472. package/dist/frontend/ts7/ast-wire-protocols.test.js +11 -3
  473. package/dist/frontend/ts7/ast-wire-protocols.test.js.map +1 -1
  474. package/dist/frontend/ts7/ast-wire.js +3 -5
  475. package/dist/frontend/ts7/ast-wire.js.map +1 -1
  476. package/dist/frontend/ts7/checker-backend.d.ts +13 -0
  477. package/dist/frontend/ts7/checker-backend.js +84 -2
  478. package/dist/frontend/ts7/checker-backend.js.map +1 -1
  479. package/dist/frontend/ts7/checker-backend.test.js +126 -2
  480. package/dist/frontend/ts7/checker-backend.test.js.map +1 -1
  481. package/dist/frontend/ts7/program-host.d.ts +22 -1
  482. package/dist/frontend/ts7/program-host.js +49 -4
  483. package/dist/frontend/ts7/program-host.js.map +1 -1
  484. package/dist/frontend/ts7/program-host.test.js +83 -0
  485. package/dist/frontend/ts7/program-host.test.js.map +1 -1
  486. package/dist/frontend/ts7/rpc-process.d.ts +16 -1
  487. package/dist/frontend/ts7/rpc-process.js +170 -92
  488. package/dist/frontend/ts7/rpc-process.js.map +1 -1
  489. package/dist/frontend/ts7/rpc-process.test.js +49 -21
  490. package/dist/frontend/ts7/rpc-process.test.js.map +1 -1
  491. package/dist/frontend/tsc-codes.js +70 -0
  492. package/dist/frontend/tsc-codes.js.map +1 -1
  493. package/dist/frontend/type-mapper.d.ts +7 -2
  494. package/dist/frontend/type-mapper.js +148 -1
  495. package/dist/frontend/type-mapper.js.map +1 -1
  496. package/dist/index.d.ts +1 -1
  497. package/dist/index.js +152 -8
  498. package/dist/index.js.map +1 -1
  499. package/dist/ir/api.d.ts +1 -1
  500. package/dist/ir/api.js +1 -1
  501. package/dist/ir/api.js.map +1 -1
  502. package/dist/ir/build.d.ts +3 -2
  503. package/dist/ir/build.js +4 -2
  504. package/dist/ir/build.js.map +1 -1
  505. package/dist/ir/builtin-effects.js +53 -0
  506. package/dist/ir/builtin-effects.js.map +1 -1
  507. package/dist/ir/builtin-signatures.d.ts +1 -1
  508. package/dist/ir/builtin-signatures.js +211 -10
  509. package/dist/ir/builtin-signatures.js.map +1 -1
  510. package/dist/ir/codec.d.ts +82 -0
  511. package/dist/ir/codec.generated.d.ts +13 -0
  512. package/dist/ir/codec.generated.js +5274 -0
  513. package/dist/ir/codec.generated.js.map +1 -0
  514. package/dist/ir/codec.js +325 -0
  515. package/dist/ir/codec.js.map +1 -0
  516. package/dist/ir/codec.test.d.ts +1 -0
  517. package/dist/ir/codec.test.js +225 -0
  518. package/dist/ir/codec.test.js.map +1 -0
  519. package/dist/ir/fields.generated.d.ts +20 -10
  520. package/dist/ir/fields.generated.js +1031 -11
  521. package/dist/ir/fields.generated.js.map +1 -1
  522. package/dist/ir/fields.test.js +46 -2
  523. package/dist/ir/fields.test.js.map +1 -1
  524. package/dist/ir/function-references.d.ts +5 -4
  525. package/dist/ir/function-references.js +8 -4
  526. package/dist/ir/function-references.js.map +1 -1
  527. package/dist/ir/function-references.test.js +7 -0
  528. package/dist/ir/function-references.test.js.map +1 -1
  529. package/dist/ir/inline-array-sources.js +4 -1
  530. package/dist/ir/inline-array-sources.js.map +1 -1
  531. package/dist/ir/inline-array-views.d.ts +13 -0
  532. package/dist/ir/inline-array-views.js +944 -0
  533. package/dist/ir/inline-array-views.js.map +1 -0
  534. package/dist/ir/inline-arrays.d.ts +7 -0
  535. package/dist/ir/inline-arrays.js +190 -55
  536. package/dist/ir/inline-arrays.js.map +1 -1
  537. package/dist/ir/inline-arrays.test.js +140 -2
  538. package/dist/ir/inline-arrays.test.js.map +1 -1
  539. package/dist/ir/integer-ranges.js +16 -6
  540. package/dist/ir/integer-ranges.js.map +1 -1
  541. package/dist/ir/ir.d.ts +75 -44
  542. package/dist/ir/ir.js.map +1 -1
  543. package/dist/ir/js-ic.d.ts +10 -9
  544. package/dist/ir/js-ic.js +28 -20
  545. package/dist/ir/js-ic.js.map +1 -1
  546. package/dist/ir/js-ic.test.js +10 -2
  547. package/dist/ir/js-ic.test.js.map +1 -1
  548. package/dist/ir/jsval.js +374 -63
  549. package/dist/ir/jsval.js.map +1 -1
  550. package/dist/ir/jsval.test.js +96 -2
  551. package/dist/ir/jsval.test.js.map +1 -1
  552. package/dist/ir/loop-entry-ranges.js +112 -9
  553. package/dist/ir/loop-entry-ranges.js.map +1 -1
  554. package/dist/ir/loop-entry-ranges.test.js +40 -0
  555. package/dist/ir/loop-entry-ranges.test.js.map +1 -1
  556. package/dist/ir/parameter-versions.d.ts +2 -1
  557. package/dist/ir/parameter-versions.js +3 -1
  558. package/dist/ir/parameter-versions.js.map +1 -1
  559. package/dist/ir/receiver-readers.js +58 -2
  560. package/dist/ir/receiver-readers.js.map +1 -1
  561. package/dist/ir/runtime-features.d.ts +60 -1
  562. package/dist/ir/runtime-features.js +277 -2
  563. package/dist/ir/runtime-features.js.map +1 -1
  564. package/dist/ir/runtime-features.test.js +165 -1
  565. package/dist/ir/runtime-features.test.js.map +1 -1
  566. package/dist/ir/saturating-loop-jams.d.ts +8 -1
  567. package/dist/ir/saturating-loop-jams.js +46 -7
  568. package/dist/ir/saturating-loop-jams.js.map +1 -1
  569. package/dist/ir/saturating-loop-jams.test.js +39 -1
  570. package/dist/ir/saturating-loop-jams.test.js.map +1 -1
  571. package/dist/ir/self-captures.js +8 -1
  572. package/dist/ir/self-captures.js.map +1 -1
  573. package/dist/ir/self-captures.test.js +15 -0
  574. package/dist/ir/self-captures.test.js.map +1 -1
  575. package/dist/ir/serialize.d.ts +3 -2
  576. package/dist/ir/serialize.js +6 -2
  577. package/dist/ir/serialize.js.map +1 -1
  578. package/dist/ir/validate.js +82 -4
  579. package/dist/ir/validate.js.map +1 -1
  580. package/dist/ir/validate.test.js +46 -0
  581. package/dist/ir/validate.test.js.map +1 -1
  582. package/dist/library/ir-policy.js +3 -0
  583. package/dist/library/ir-policy.js.map +1 -1
  584. package/dist/native/cache.js +2 -0
  585. package/dist/native/cache.js.map +1 -1
  586. package/dist/native/cli.js +2 -0
  587. package/dist/native/cli.js.map +1 -1
  588. package/dist/native/compiler.js +8 -2
  589. package/dist/native/compiler.js.map +1 -1
  590. package/dist/native/prepare.js +32 -3
  591. package/dist/native/prepare.js.map +1 -1
  592. package/dist/native/sanitizer.js +53 -3
  593. package/dist/native/sanitizer.js.map +1 -1
  594. package/dist/native/sanitizer.test.js +88 -2
  595. package/dist/native/sanitizer.test.js.map +1 -1
  596. package/dist/native/toolchain.js +9 -2
  597. package/dist/native/toolchain.js.map +1 -1
  598. package/dist/node-islands/boundary.d.ts +25 -1
  599. package/dist/node-islands/boundary.js +28 -2
  600. package/dist/node-islands/boundary.js.map +1 -1
  601. package/dist/node-islands/detect.d.ts +18 -1
  602. package/dist/node-islands/detect.js +365 -40
  603. package/dist/node-islands/detect.js.map +1 -1
  604. package/dist/node-islands/detect.test.js +151 -4
  605. package/dist/node-islands/detect.test.js.map +1 -1
  606. package/dist/node-islands/effect-gate.js +30 -20
  607. package/dist/node-islands/effect-gate.js.map +1 -1
  608. package/dist/node-islands/effect-gate.test.js +4 -1
  609. package/dist/node-islands/effect-gate.test.js.map +1 -1
  610. package/dist/node-islands/libnode.d.ts +1 -1
  611. package/dist/node-islands/libnode.js +1 -1
  612. package/dist/node-islands/libnode.js.map +1 -1
  613. package/dist/node-islands/modules.d.ts +28 -0
  614. package/dist/node-islands/modules.js +156 -0
  615. package/dist/node-islands/modules.js.map +1 -1
  616. package/dist/node-islands/modules.test.js +105 -1
  617. package/dist/node-islands/modules.test.js.map +1 -1
  618. package/dist/node-islands/policy.js +2 -3
  619. package/dist/node-islands/policy.js.map +1 -1
  620. package/dist/node-islands/probe-recorder.d.ts +1 -0
  621. package/dist/node-islands/probe-recorder.js +596 -0
  622. package/dist/node-islands/probe-recorder.js.map +1 -0
  623. package/dist/node-islands/probe-recorder.test.d.ts +1 -0
  624. package/dist/node-islands/probe-recorder.test.js +80 -0
  625. package/dist/node-islands/probe-recorder.test.js.map +1 -0
  626. package/dist/node-islands/report.test.js +2 -0
  627. package/dist/node-islands/report.test.js.map +1 -1
  628. package/dist/node-islands/rules.js +4 -0
  629. package/dist/node-islands/rules.js.map +1 -1
  630. package/dist/node-islands/scan.d.ts +7 -1
  631. package/dist/node-islands/scan.js +51 -2
  632. package/dist/node-islands/scan.js.map +1 -1
  633. package/dist/node-islands/snapshot.d.ts +38 -1
  634. package/dist/node-islands/snapshot.js +165 -161
  635. package/dist/node-islands/snapshot.js.map +1 -1
  636. package/dist/node-islands/snapshot.test.js +63 -2
  637. package/dist/node-islands/snapshot.test.js.map +1 -1
  638. package/dist/node-islands/summary.js +8 -0
  639. package/dist/node-islands/summary.js.map +1 -1
  640. package/dist/node-islands/type-strip.d.ts +11 -0
  641. package/dist/node-islands/type-strip.js +157 -0
  642. package/dist/node-islands/type-strip.js.map +1 -0
  643. package/dist/node-islands/type-strip.test.d.ts +1 -0
  644. package/dist/node-islands/type-strip.test.js +31 -0
  645. package/dist/node-islands/type-strip.test.js.map +1 -0
  646. package/dist/project-config.d.ts +4 -0
  647. package/dist/project-config.js +19 -0
  648. package/dist/project-config.js.map +1 -1
  649. package/dist/project-config.test.js +10 -0
  650. package/dist/project-config.test.js.map +1 -1
  651. package/package.json +20 -20
  652. package/surface-manifest.json +43 -11
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../../src/frontend/lowering/builtins/url.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../../src/frontend/lowering/builtins/url.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,10 @@ import * as ts from "../../ts7/adapter.js";
2
2
  import { type Lowerer } from "../lowerer.js";
3
3
  import { type IrExpr, type SrcLoc } from "../../../ir/ir.js";
4
4
  /** `v8.getHeapStatistics()`: one memoryUsage sample (the runtime heap's
5
- * total and used bytes), with the machine's memory as the heap limit (the
6
- * runtime heap has no fixed ceiling) and the available size the limit
7
- * minus used bytes. V8-only figures (executable code space, malloced
8
- * memory, global handles, external memory, zapping) read 0, and one
9
- * native context exists. The record is the call site's interned HeapInfo
5
+ * total and used bytes, and external memory, memoryUsage's `external`),
6
+ * with the machine's memory as the heap limit (the runtime heap has no
7
+ * fixed ceiling) and the available size the limit minus used bytes.
8
+ * V8-only figures (executable code space, malloced memory, global handles,
9
+ * zapping) read 0, and one native context exists. The record is the call site's interned HeapInfo
10
10
  * shape, built by a shared helper per shape. */
11
11
  export declare function lowerV8HeapStatisticsCall(lowerer: Lowerer, call: ts.CallExpression, loc: SrcLoc): IrExpr;
@@ -28,11 +28,11 @@ const HEAP_STATISTICS_FIELDS = [
28
28
  "external_memory",
29
29
  ];
30
30
  /** `v8.getHeapStatistics()`: one memoryUsage sample (the runtime heap's
31
- * total and used bytes), with the machine's memory as the heap limit (the
32
- * runtime heap has no fixed ceiling) and the available size the limit
33
- * minus used bytes. V8-only figures (executable code space, malloced
34
- * memory, global handles, external memory, zapping) read 0, and one
35
- * native context exists. The record is the call site's interned HeapInfo
31
+ * total and used bytes, and external memory, memoryUsage's `external`),
32
+ * with the machine's memory as the heap limit (the runtime heap has no
33
+ * fixed ceiling) and the available size the limit minus used bytes.
34
+ * V8-only figures (executable code space, malloced memory, global handles,
35
+ * zapping) read 0, and one native context exists. The record is the call site's interned HeapInfo
36
36
  * shape, built by a shared helper per shape. */
37
37
  export function lowerV8HeapStatisticsCall(lowerer, call, loc) {
38
38
  if (call.arguments.nodes.length !== 0) {
@@ -66,6 +66,8 @@ export function lowerV8HeapStatisticsCall(lowerer, call, loc) {
66
66
  return sample(1);
67
67
  case "used_heap_size":
68
68
  return sample(2);
69
+ case "external_memory":
70
+ return sample(3);
69
71
  case "heap_size_limit":
70
72
  return limit();
71
73
  case "total_available_size":
@@ -1 +1 @@
1
- {"version":3,"file":"v8.js","sourceRoot":"","sources":["../../../../src/frontend/lowering/builtins/v8.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v8.js","sourceRoot":"","sources":["../../../../src/frontend/lowering/builtins/v8.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,23 @@ export declare function webStreamClassKindOf(lowerer: Lowerer, node: ts.Expressi
12
12
  * (global-values.ts), so a program without web streams does not link
13
13
  * them for its other computed global reads. */
14
14
  export declare function programNamesWebStreamClass(lowerer: Lowerer): boolean;
15
+ /** Whether a TypeScript source of the program uses a web stream operation
16
+ * the native streams lack: a ReadableStream tee(), pipeTo() or
17
+ * pipeThrough() call, a WritableStream constructor, or a TransformStream
18
+ * constructor with arguments (a transformer or queuing strategies). Such a
19
+ * program builds its ReadableStream, WritableStream and TransformStream
20
+ * values with the web stream classes, as JavaScript does; a program that
21
+ * uses only getReader(), cancel() and the identity transform keeps the
22
+ * native streams. */
23
+ export declare function programUsesTypedWebStreams(lowerer: Lowerer): boolean;
15
24
  export declare function webStreamClassValue(kind: number, loc: SrcLoc): IrExpr;
16
25
  /** A JavaScript read of one of the classes as a value; null otherwise. */
17
26
  export declare function lowerWebStreamClassRead(lowerer: Lowerer, node: ts.Expression): IrExpr | null;
18
- /** `new X(...args)` on one of the classes in JavaScript. */
27
+ /** `new X(...args)` on one of the classes in JavaScript, and on
28
+ * ReadableStream, WritableStream and TransformStream in a TypeScript
29
+ * program that uses the web stream classes (programUsesTypedWebStreams).
30
+ * A TypeScript source's object literal argument (a source, sink,
31
+ * transformer or strategy) becomes a plain object with its methods. */
19
32
  export declare function lowerWebStreamNew(lowerer: Lowerer, expr: ts.NewExpression): IrExpr | null;
20
33
  /** `X.from(…)` and other calls of a class's static members in JavaScript:
21
34
  * a member call on the constructor value. */
@@ -35,7 +48,9 @@ export declare function typeInvolvesWebStream(lowerer: Lowerer, type: ts.Type, d
35
48
  * an await of either, or a value whose type involves one. */
36
49
  export declare function isWebStreamValueInJavaScript(lowerer: Lowerer, node: ts.Expression): boolean;
37
50
  /** Links the web stream classes into a program whose JavaScript uses a
38
- * ReadableStream member the fetch unit's own stream lacks: a fetch body's
51
+ * ReadableStream member the fetch unit's own stream lacks, or whose
52
+ * TypeScript uses the web stream classes (programUsesTypedWebStreams): a
53
+ * fetch body's or a native stream's
39
54
  * handle stands for a web ReadableStream once such a member is used
40
55
  * (scr_fetch.c, sf_stream_web_view). %main installs the classes first. A
41
56
  * program that names one of the classes links them already. */
@@ -1,4 +1,4 @@
1
- import { staticFetchMembers } from "../../../compat/fetch-profile.js";
1
+ import { READABLE_STREAM_WEB_VIEW_CALLS, staticFetchMembers, } from "../../../compat/fetch-profile.js";
2
2
  import { numLit } from "../../../ir/build.js";
3
3
  import { everyStmt } from "../../../ir/traverse.js";
4
4
  import { BOOL, DYN, STRING, VOID, } from "../../../ir/ir.js";
@@ -8,6 +8,7 @@ import { constituentTypes } from "../../ts7/checker.js";
8
8
  import { ENTRY_NAME } from "../lowerer.js";
9
9
  import { stdlibGlobalNameOf } from "../surfaces.js";
10
10
  import { streamWebImportOf } from "./module-bindings.js";
11
+ import { lowerDynObjectLiteral } from "../expressions/object-literals.js";
11
12
  /* The web stream classes in JavaScript sources: the globals and the
12
13
  * node:stream/web exports, which are the same constructors. Each reference
13
14
  * is the class's constructor value (scr_webstreams.c, webstream.class), so
@@ -81,6 +82,59 @@ export function programNamesWebStreamClass(lowerer) {
81
82
  lowerer.namesWebStreamClass = found;
82
83
  return found;
83
84
  }
85
+ /** The classes a TypeScript source constructs through the web stream
86
+ * classes once it uses an operation the native streams lack. */
87
+ const TYPED_CLASSES = new Set([
88
+ "ReadableStream",
89
+ "WritableStream",
90
+ "TransformStream",
91
+ ]);
92
+ const WEB_VIEW_CALLS = new Set(READABLE_STREAM_WEB_VIEW_CALLS);
93
+ /** Whether a TypeScript source of the program uses a web stream operation
94
+ * the native streams lack: a ReadableStream tee(), pipeTo() or
95
+ * pipeThrough() call, a WritableStream constructor, or a TransformStream
96
+ * constructor with arguments (a transformer or queuing strategies). Such a
97
+ * program builds its ReadableStream, WritableStream and TransformStream
98
+ * values with the web stream classes, as JavaScript does; a program that
99
+ * uses only getReader(), cancel() and the identity transform keeps the
100
+ * native streams. */
101
+ export function programUsesTypedWebStreams(lowerer) {
102
+ if (lowerer.typedWebStreams !== undefined)
103
+ return lowerer.typedWebStreams;
104
+ let found = false;
105
+ for (const file of lowerer.program.getSourceFiles()) {
106
+ if (file.isDeclarationFile || isJsSourceFile(file))
107
+ continue;
108
+ ts.walkPreorder(file, (node) => {
109
+ const member = staticMemberName(node);
110
+ if (member !== null && WEB_VIEW_CALLS.has(member) && isReadableStreamMember(lowerer, node))
111
+ found = true;
112
+ else if (ts.isNewExpression(node)) {
113
+ const name = stdlibGlobalNameOf(lowerer, unparenthesized(node.expression));
114
+ if (name === "WritableStream" ||
115
+ (name === "TransformStream" && (node.arguments?.nodes.length ?? 0) > 0))
116
+ found = true;
117
+ }
118
+ return found ? "stop" : undefined;
119
+ });
120
+ if (found)
121
+ break;
122
+ }
123
+ lowerer.typedWebStreams = found;
124
+ return found;
125
+ }
126
+ /** The class a TypeScript `new` expression constructs through the web
127
+ * stream classes (programUsesTypedWebStreams), as its index in
128
+ * WEB_STREAM_CLASSES; null otherwise. */
129
+ function typedWebStreamClassKindOf(lowerer, node) {
130
+ const expr = unparenthesized(node);
131
+ if (!ts.isIdentifier(expr) || isJsSourceFile(ts.getSourceFileOfNode(expr)))
132
+ return null;
133
+ const name = streamWebImportOf(lowerer, expr) ?? stdlibGlobalNameOf(lowerer, expr);
134
+ if (name === null || !TYPED_CLASSES.has(name) || !programUsesTypedWebStreams(lowerer))
135
+ return null;
136
+ return CLASS_NAMES.indexOf(name);
137
+ }
84
138
  export function webStreamClassValue(kind, loc) {
85
139
  return { kind: "libCall", fn: "webstream.class", args: [numLit(kind, loc)], type: DYN, loc };
86
140
  }
@@ -89,15 +143,25 @@ export function lowerWebStreamClassRead(lowerer, node) {
89
143
  const kind = webStreamClassKindOf(lowerer, node);
90
144
  return kind === null ? null : webStreamClassValue(kind, locOf(node));
91
145
  }
92
- /** `new X(...args)` on one of the classes in JavaScript. */
146
+ /** `new X(...args)` on one of the classes in JavaScript, and on
147
+ * ReadableStream, WritableStream and TransformStream in a TypeScript
148
+ * program that uses the web stream classes (programUsesTypedWebStreams).
149
+ * A TypeScript source's object literal argument (a source, sink,
150
+ * transformer or strategy) becomes a plain object with its methods. */
93
151
  export function lowerWebStreamNew(lowerer, expr) {
94
- const kind = webStreamClassKindOf(lowerer, expr.expression);
152
+ const typed = webStreamClassKindOf(lowerer, expr.expression) === null;
153
+ const kind = typed
154
+ ? typedWebStreamClassKindOf(lowerer, expr.expression)
155
+ : webStreamClassKindOf(lowerer, expr.expression);
95
156
  if (kind === null)
96
157
  return null;
97
158
  const nodes = expr.arguments?.nodes ?? [];
98
159
  if (nodes.some(ts.isSpreadElement))
99
160
  return null;
100
161
  const loc = locOf(expr);
162
+ const argument = (arg) => typed && ts.isObjectLiteralExpression(arg)
163
+ ? lowerDynObjectLiteral(lowerer, arg)
164
+ : lowerer.lowerExprExpecting(arg, DYN);
101
165
  return {
102
166
  kind: "libCall",
103
167
  fn: "dyn.construct",
@@ -105,7 +169,7 @@ export function lowerWebStreamNew(lowerer, expr) {
105
169
  webStreamClassValue(kind, loc),
106
170
  {
107
171
  kind: "dynArrLit",
108
- elems: nodes.map((arg) => lowerer.lowerExprExpecting(arg, DYN)),
172
+ elems: nodes.map(argument),
109
173
  type: DYN,
110
174
  loc,
111
175
  },
@@ -226,10 +290,29 @@ function isReadableStreamType(lowerer, type) {
226
290
  ts.symbolName(symbol) === "ReadableStream" &&
227
291
  lowerer.isStdlibSymbol(symbol));
228
292
  }
229
- /** Whether a member access resolves to a member of the stdlib
230
- * ReadableStream interface. */
293
+ /** The member a property access names, or an element access with a string
294
+ * literal key (`body.tee` and `body["tee"]`); null for any other node. */
295
+ function staticMemberName(node) {
296
+ if (ts.isPropertyAccessExpression(node))
297
+ return node.name.text;
298
+ if (ts.isElementAccessExpression(node)) {
299
+ const key = node.argumentExpression;
300
+ if (ts.isStringLiteral(key) || ts.isNoSubstitutionTemplateLiteral(key))
301
+ return key.text;
302
+ }
303
+ return null;
304
+ }
305
+ /** Whether a member access (staticMemberName) resolves to a member of the
306
+ * stdlib ReadableStream interface. */
231
307
  function isReadableStreamMember(lowerer, access) {
232
- const member = lowerer.checker.getSymbolAtLocation(access.name);
308
+ const key = ts.isPropertyAccessExpression(access)
309
+ ? access.name
310
+ : ts.isElementAccessExpression(access)
311
+ ? access.argumentExpression
312
+ : null;
313
+ if (key === null)
314
+ return false;
315
+ const member = lowerer.checker.getSymbolAtLocation(key);
233
316
  if (member === undefined || !lowerer.isStdlibSymbol(member))
234
317
  return false;
235
318
  let owner = member.declarations[0]?.parent;
@@ -269,6 +352,8 @@ function programLinksFetch(functions) {
269
352
  * count in a program that links the fetch unit, since the value can be a
270
353
  * fetch body. */
271
354
  function programUsesWebStreamOnlyMembers(lowerer, functions) {
355
+ if (programUsesTypedWebStreams(lowerer))
356
+ return true;
272
357
  const members = staticFetchMembers().readableStreamUnsupported;
273
358
  const iterates = members.has("[Symbol.asyncIterator]");
274
359
  let untyped = false;
@@ -278,7 +363,8 @@ function programUsesWebStreamOnlyMembers(lowerer, functions) {
278
363
  let found = false;
279
364
  ts.walkPreorder(file, (node) => {
280
365
  let receiver = null;
281
- if (ts.isPropertyAccessExpression(node) && members.has(node.name.text)) {
366
+ const member = staticMemberName(node);
367
+ if (member !== null && members.has(member)) {
282
368
  if (isReadableStreamMember(lowerer, node))
283
369
  found = true;
284
370
  else
@@ -301,7 +387,9 @@ function programUsesWebStreamOnlyMembers(lowerer, functions) {
301
387
  return untyped && programLinksFetch(functions);
302
388
  }
303
389
  /** Links the web stream classes into a program whose JavaScript uses a
304
- * ReadableStream member the fetch unit's own stream lacks: a fetch body's
390
+ * ReadableStream member the fetch unit's own stream lacks, or whose
391
+ * TypeScript uses the web stream classes (programUsesTypedWebStreams): a
392
+ * fetch body's or a native stream's
305
393
  * handle stands for a web ReadableStream once such a member is used
306
394
  * (scr_fetch.c, sf_stream_web_view). %main installs the classes first. A
307
395
  * program that names one of the classes links them already. */
@@ -1 +1 @@
1
- {"version":3,"file":"web-streams-dyn.js","sourceRoot":"","sources":["../../../../src/frontend/lowering/builtins/web-streams-dyn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EACL,IAAI,EACJ,GAAG,EACH,MAAM,EACN,IAAI,GAIL,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAgB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;yCAKyC;AAEzC,kDAAkD;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,gBAAgB;IAChB,6BAA6B;IAC7B,iCAAiC;IACjC,sBAAsB;IACtB,2BAA2B;IAC3B,gBAAgB;IAChB,6BAA6B;IAC7B,iCAAiC;IACjC,iBAAiB;IACjB,kCAAkC;IAClC,mBAAmB;IACnB,mBAAmB;CACX,CAAC;AAEX,MAAM,WAAW,GAAsB,kBAAkB,CAAC;AAE1D,SAAS,eAAe,CAAC,IAAmB;IAC1C,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC;QAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAC3E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;kEAEkE;AAClE,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,IAAmB;IACxE,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAChF,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,MAAM,MAAM,GAAG,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1F,MAAM,IAAI,GACR,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAClC,CAAC;AAED;;;+CAG+C;AAC/C,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,IAAI,OAAO,CAAC,mBAAmB,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,mBAAmB,CAAC;IAClF,MAAM,KAAK,GAAwB,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC/D,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9D,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;YAC7B,IACE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;gBACrB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpB,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,EAC5C,CAAC;gBACD,KAAK,GAAG,IAAI,CAAC;gBACb,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,IAAI,KAAK;YAAE,MAAM;IACnB,CAAC;IACD,OAAO,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACpC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,GAAW;IAC3D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC/F,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,IAAmB;IAC3E,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,iBAAiB,CAAC,OAAgB,EAAE,IAAsB;IACxE,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5D,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC;IAC1C,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO;QACL,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE;YACJ,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC;YAC9B;gBACE,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC/D,IAAI,EAAE,GAAG;gBACT,GAAG;aACJ;YACD,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;SACjE;QACD,IAAI,EAAE,GAAG;QACT,GAAG;KACJ,CAAC;AACJ,CAAC;AAED;6CAC6C;AAC7C,MAAM,UAAU,wBAAwB,CAAC,OAAgB,EAAE,IAAuB;IAChF,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;IAC/B,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,gBAAgB;QAC5F,OAAO,IAAI,CAAC;IACd,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IACnC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;QACxB,UAAU,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,EAAE,GAAG;QACT,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,wBAAwB,CACtC,OAAgB,EAChB,IAAyB;IAEzB,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO;QACL,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACrE,IAAI,EAAE,IAAI;QACV,GAAG;KACJ,CAAC;AACJ,CAAC;AAED;6BAC6B;AAC7B,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC;IACzD,GAAG,kBAAkB;IACrB,0BAA0B;IAC1B,+BAA+B;IAC/B,8BAA8B;IAC9B,kBAAkB;IAClB,gBAAgB;IAChB,aAAa;IACb,iBAAiB;IACjB,qBAAqB;CACtB,CAAC,CAAC;AAEH;oEACoE;AACpE,MAAM,UAAU,6BAA6B,CAC3C,OAAgB,EAChB,MAAmC;IAEnC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,KAAK,GAAwB,WAAW,EAAE,MAAM,CAAC;IACrD,OACE,KAAK,KAAK,SAAS;QACnB,CAAC,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC;QACjC,CAAC,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC;QAEjC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,OAAO,KAAK,KAAK,SAAS,IAAI,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED;;;uDAGuD;AACvD,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,IAAa,EAAE,KAAK,GAAG,CAAC;IAC9E,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;QACzC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1F,KAAK,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;QAC/D,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS;QACnC,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACnF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAwB,CAAC,CAAC;YACxE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QAClF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;6DAE6D;AAC7D,MAAM,UAAU,4BAA4B,CAAC,OAAgB,EAAE,IAAmB;IAChF,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,IAAI,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAAE,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxE,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAAE,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvE,IAAI,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,6BAA6B,CAAC,OAAO,EAAE,IAAI,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,OAAO,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,+EAA+E;AAC/E,SAAS,oBAAoB,CAAC,OAAgB,EAAE,IAAa;IAC3D,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;QACzC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,OAAO,CACL,MAAM,KAAK,SAAS;QACpB,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,gBAAgB;QAC1C,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAC/B,CAAC;AACJ,CAAC;AAED;+BAC+B;AAC/B,SAAS,sBAAsB,CAAC,OAAgB,EAAE,MAAmC;IACnF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1E,IAAI,KAAK,GAAwB,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAChE,OAAO,KAAK,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC;QAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IACtF,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC;AACrE,CAAC;AAED,2EAA2E;AAC3E,SAAS,aAAa,CAAC,IAAa;IAClC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAED;yEACyE;AACzE,SAAS,iBAAiB,CAAC,SAAuB;IAChD,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,CAAC,CAAS,EAAW,EAAE;YAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,KAAK,GAAG,IAAI,CAAC;YACpE,OAAO,CAAC,KAAK,CAAC;QAChB,CAAC;QACD,IAAI,EAAE,GAAY,EAAE,CAAC,CAAC,KAAK;KAC5B,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI;YAAE,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,KAAK;YAAE,OAAO,IAAI,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;iBAMiB;AACjB,SAAS,+BAA+B,CAAC,OAAgB,EAAE,SAAuB;IAChF,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC,yBAAyB,CAAC;IAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACvD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9D,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;YAC7B,IAAI,QAAQ,GAAmB,IAAI,CAAC;YACpC,IAAI,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvE,IAAI,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC;oBAAE,KAAK,GAAG,IAAI,CAAC;;oBACnD,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClD,CAAC;iBAAM,IAAI,QAAQ,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACrF,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3C,IAAI,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC;oBAAE,KAAK,GAAG,IAAI,CAAC;YAC5D,CAAC;YACD,IAAI,KAAK;gBAAE,OAAO,MAAM,CAAC;YACzB,IAAI,QAAQ,KAAK,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC;gBAAE,OAAO,GAAG,IAAI,CAAC;YACjE,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,IAAI,KAAK;YAAE,OAAO,IAAI,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC;AAED;;;;+DAI+D;AAC/D,MAAM,UAAU,0BAA0B,CAAC,OAAgB,EAAE,SAAuB;IAClF,IAAI,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,OAAO,EAAE,SAAS,CAAC;QAC7F,OAAO;IACT,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAChB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;QAC7E,GAAG;KACJ,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"web-streams-dyn.js","sourceRoot":"","sources":["../../../../src/frontend/lowering/builtins/web-streams-dyn.ts"],"names":[],"mappings":"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"}
@@ -480,6 +480,42 @@ export function checkDefaultParamBodyType(lowerer, param, bodyType) {
480
480
  lowerer.unsupported("SC1090", param, `parameter default values on '${lowerer.fmt(bodyType)}'-typed parameters`);
481
481
  }
482
482
  }
483
+ /** Whether a lambda's OWN signature maps to its completed ABI position for
484
+ * position — the contract its reads carry (mapType spells `x?: T` as the
485
+ * `T | undefined` slot). Two positions can escape the mapped-TYPE
486
+ * comparison in requireExactArityValue: a parameter the checker spells
487
+ * `any` holds the checked-dynamic value that mapType leaves unmapped when
488
+ * its spelling is context-free, and a *contextually* typed lambda's own
489
+ * signature need not be the slot's (a comparator with a surplus optional
490
+ * parameter under a two-parameter slot). */
491
+ function lambdaSpellsCompletedAbi(lowerer, lambda, funcType) {
492
+ if (funcType.kind !== "func" || funcType.rest === true)
493
+ return false;
494
+ const sigs = lowerer.checker.getCallSignatures(lowerer.typeOf(lambda));
495
+ if (sigs.length !== 1)
496
+ return false;
497
+ const sig = sigs[0];
498
+ const params = sig.getParameters();
499
+ if (params.length !== funcType.params.length)
500
+ return false;
501
+ for (let i = 0; i < params.length; i++) {
502
+ const pTs = lowerer.checker.getTypeOfSymbol(params[i]);
503
+ const slot = funcType.params[i];
504
+ if ((pTs.flags & ts.TypeFlags.Any) !== 0) {
505
+ if (slot.kind !== "dyn")
506
+ return false;
507
+ continue;
508
+ }
509
+ const mappedParam = lowerer.mapTypeOf(pTs);
510
+ if (!mappedParam || !typeEquals(mappedParam, slot))
511
+ return false;
512
+ }
513
+ const retTs = lowerer.checker.getReturnTypeOfSignature(sig);
514
+ if ((retTs.flags & ts.TypeFlags.Any) !== 0)
515
+ return funcType.ret.kind === "dyn";
516
+ const mappedRet = lowerer.mapTypeOf(retTs);
517
+ return mappedRet !== null && typeEquals(mappedRet, funcType.ret);
518
+ }
483
519
  /** DECISION (docs/ir.md): function VALUES carry one completed native ABI.
484
520
  * Optional/default parameters appear as literal `T | undefined` slots;
485
521
  * typed rest parameters appear as one trailing typed-array slot plus the
@@ -514,6 +550,18 @@ export function requireExactArityValue(lowerer, blame, contextual, shapes, funcT
514
550
  : null;
515
551
  if (mapped && typeEquals(mapped, funcType))
516
552
  return;
553
+ // A lambda whose OWN signature already spells the completed ABI is a
554
+ // value: every read of it types it that way, and its slot converts it
555
+ // (the surplus-parameter and undefined-arm adapters). The mapped-type
556
+ // comparison above misses two such lambdas — one whose `any` parameter
557
+ // mapType leaves unmapped (`(a: any, b: any, loose?: boolean) => number`
558
+ // beside a two-parameter slot), and one whose signature is wider than
559
+ // the contextual slot it is written under.
560
+ if (contextual !== null &&
561
+ (ts.isArrowFunction(contextual) || ts.isFunctionExpression(contextual)) &&
562
+ lambdaSpellsCompletedAbi(lowerer, contextual, funcType)) {
563
+ return;
564
+ }
517
565
  // An 'any' slot (`C.prototype.m = function (a, b) {…}` through an
518
566
  // untyped receiver), or a slot whose type maps to a checked-dynamic
519
567
  // value (a member of a literal lowered with a generic function's type
@@ -832,6 +880,9 @@ export function lambdaSignature(lowerer, node) {
832
880
  type: DYN,
833
881
  mode: "required",
834
882
  }));
883
+ // `arguments` holds the call's own tuple: a console line passes one
884
+ // or two arguments whatever the replacement declares.
885
+ appendArgumentsParameter(lowerer, node, shapes, "arguments");
835
886
  return { shapes, funcType: funcTypeFromParamShapes(shapes, DYN) };
836
887
  }
837
888
  }
@@ -909,6 +960,15 @@ export function lambdaSignature(lowerer, node) {
909
960
  // is the one the adoption block below takes for mappable inferred
910
961
  // returns, so this only changes programs that do not compile today.
911
962
  //
963
+ // A lambda RETURNED from the function being lowered flows into that
964
+ // function's result type, which OBSERVES its value — the checker's void
965
+ // contextual type at such a site comes from an outer assignment target
966
+ // that would discard the enclosing function's own result. So the void
967
+ // adoption below must not fire there: `{ on: (h) => () => seen.push("y") }`
968
+ // against a `(h) => void` field types the inner arrow `() => number`
969
+ // (its own type) while its contextual type is the discarded `() => void`,
970
+ // and the outer arrow's result is the `() => number` that must return it.
971
+ const returnedValue = returnedIntoValueSlot(lowerer, node);
912
972
  // The contextual signature is looked up at most once per lambda: both
913
973
  // this decision and the adoption block below need it, and the checker
914
974
  // call is not free in a compile this hot.
@@ -925,6 +985,7 @@ export function lambdaSignature(lowerer, node) {
925
985
  let ret = ts.isArrowFunction(node) && !ts.isBlock(node.body) && isStreamUndefCallExpr(lowerer, node.body)
926
986
  ? VOID
927
987
  : (ts.isArrowFunction(node) || ts.isFunctionExpression(node)) &&
988
+ !returnedValue &&
928
989
  voidContextualSlot(lowerer, node, contextualSigs)
929
990
  ? VOID
930
991
  : lowerer.declaredReturnType(node, node);
@@ -1036,6 +1097,7 @@ export function lambdaSignature(lowerer, node) {
1036
1097
  const inferredLiteral = literalSlot !== undefined && (literalType === null || literalType.kind === "dyn");
1037
1098
  if (!literalMethod &&
1038
1099
  !isAsyncLike &&
1100
+ !returnedValue &&
1039
1101
  !node.type &&
1040
1102
  !inferredLiteral &&
1041
1103
  ret.kind !== "void" &&
@@ -1090,6 +1152,21 @@ function voidContextualSlot(lowerer, node, contextualSigs) {
1090
1152
  return (sigs.length === 1 &&
1091
1153
  (lowerer.checker.getReturnTypeOfSignature(sigs[0]).flags & ts.TypeFlags.Void) !== 0);
1092
1154
  }
1155
+ /** Whether `node` is the expression of a `return` in the function being
1156
+ * lowered, and that function's result is a function type promising a
1157
+ * value (`() => number`, not `() => void`). Such a lambda's value reaches
1158
+ * the caller of the enclosing function, so its own return type is kept
1159
+ * even when the checker's contextual type for it is `void` (see the ABI
1160
+ * decision in lambdaSignature). */
1161
+ function returnedIntoValueSlot(lowerer, node) {
1162
+ let parent = node.parent;
1163
+ while (parent !== undefined && ts.isParenthesizedExpression(parent))
1164
+ parent = parent.parent;
1165
+ if (parent === undefined || !ts.isReturnStatement(parent) || !parent.expression)
1166
+ return false;
1167
+ const result = lowerer.ctx.returnType;
1168
+ return result.kind === "func" && result.ret.kind !== "void";
1169
+ }
1093
1170
  /** The type of the property an object-literal method fills on the
1094
1171
  * literal's contextual type; undefined when the literal has no contextual
1095
1172
  * type or the method has a computed name. */