@scriptc/compiler 0.4.8 → 0.4.9

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 (536) hide show
  1. package/ambient/node-fallback/buffer.d.ts +2 -0
  2. package/ambient/node-fallback/child_process.d.ts +9 -3
  3. package/ambient/node-fallback/dns-promises.d.ts +25 -0
  4. package/ambient/node-fallback/dns.d.ts +29 -0
  5. package/ambient/node-fallback/test.d.ts +7 -0
  6. package/ambient/scriptc-node-fallback.d.ts +145 -2
  7. package/ambient/scriptc-overrides.d.ts +22 -13
  8. package/dist/backend/build-cache.d.ts +1 -1
  9. package/dist/backend/build-cache.js +1 -1
  10. package/dist/backend/build-cache.js.map +1 -1
  11. package/dist/backend/cache-root.d.ts +7 -0
  12. package/dist/backend/cache-root.js +27 -0
  13. package/dist/backend/cache-root.js.map +1 -1
  14. package/dist/backend/executable-features.js +5 -1
  15. package/dist/backend/executable-features.js.map +1 -1
  16. package/dist/backend/link-plan.js +7 -1
  17. package/dist/backend/link-plan.js.map +1 -1
  18. package/dist/backend/llvm/bytes-loop-versions.d.ts +12 -1
  19. package/dist/backend/llvm/bytes-loop-versions.js +107 -30
  20. package/dist/backend/llvm/bytes-loop-versions.js.map +1 -1
  21. package/dist/backend/llvm/bytes-loop-versions.test.js +96 -0
  22. package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -1
  23. package/dist/backend/llvm/checked-value-lifetimes.js +1 -0
  24. package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -1
  25. package/dist/backend/llvm/classes.d.ts +16 -5
  26. package/dist/backend/llvm/classes.js +34 -6
  27. package/dist/backend/llvm/classes.js.map +1 -1
  28. package/dist/backend/llvm/classes.test.js +21 -2
  29. package/dist/backend/llvm/classes.test.js.map +1 -1
  30. package/dist/backend/llvm/common.d.ts +9 -0
  31. package/dist/backend/llvm/common.js +9 -0
  32. package/dist/backend/llvm/common.js.map +1 -1
  33. package/dist/backend/llvm/cpu-dispatch.d.ts +36 -2
  34. package/dist/backend/llvm/cpu-dispatch.js +96 -2
  35. package/dist/backend/llvm/cpu-dispatch.js.map +1 -1
  36. package/dist/backend/llvm/dense-array-access.d.ts +5 -2
  37. package/dist/backend/llvm/dense-array-access.js +16 -12
  38. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  39. package/dist/backend/llvm/dense-array-access.test.js +3 -1
  40. package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
  41. package/dist/backend/llvm/dyn.d.ts +24 -0
  42. package/dist/backend/llvm/dyn.js +117 -3
  43. package/dist/backend/llvm/dyn.js.map +1 -1
  44. package/dist/backend/llvm/emit-function.js +6 -0
  45. package/dist/backend/llvm/emit-function.js.map +1 -1
  46. package/dist/backend/llvm/emit-journal.d.ts +1 -0
  47. package/dist/backend/llvm/emit-journal.js.map +1 -1
  48. package/dist/backend/llvm/emit-module.js +48 -5
  49. package/dist/backend/llvm/emit-module.js.map +1 -1
  50. package/dist/backend/llvm/emit-module.test.js +41 -0
  51. package/dist/backend/llvm/emit-module.test.js.map +1 -1
  52. package/dist/backend/llvm/emit-statements.js +11 -0
  53. package/dist/backend/llvm/emit-statements.js.map +1 -1
  54. package/dist/backend/llvm/emitter.d.ts +87 -7
  55. package/dist/backend/llvm/emitter.js +136 -15
  56. package/dist/backend/llvm/emitter.js.map +1 -1
  57. package/dist/backend/llvm/expr-async.js +28 -6
  58. package/dist/backend/llvm/expr-async.js.map +1 -1
  59. package/dist/backend/llvm/expr-containers.js +19 -5
  60. package/dist/backend/llvm/expr-containers.js.map +1 -1
  61. package/dist/backend/llvm/expr-dynamic.js +29 -1
  62. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  63. package/dist/backend/llvm/expr-primitives.js +104 -6
  64. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  65. package/dist/backend/llvm/expr-records.js +15 -1
  66. package/dist/backend/llvm/expr-records.js.map +1 -1
  67. package/dist/backend/llvm/expr-stream-bridges.js +53 -5
  68. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  69. package/dist/backend/llvm/inline-arrays.js +1 -1
  70. package/dist/backend/llvm/inline-arrays.js.map +1 -1
  71. package/dist/backend/llvm/js-ic.js +126 -2
  72. package/dist/backend/llvm/js-ic.js.map +1 -1
  73. package/dist/backend/llvm/lanes.d.ts +38 -0
  74. package/dist/backend/llvm/lanes.js +778 -0
  75. package/dist/backend/llvm/lanes.js.map +1 -0
  76. package/dist/backend/llvm/lanes.test.d.ts +1 -0
  77. package/dist/backend/llvm/lanes.test.js +402 -0
  78. package/dist/backend/llvm/lanes.test.js.map +1 -0
  79. package/dist/backend/llvm/lib-dispatch.js +9 -4
  80. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  81. package/dist/backend/llvm/lib-network.js +20 -0
  82. package/dist/backend/llvm/lib-network.js.map +1 -1
  83. package/dist/backend/llvm/lib-shared.js +27 -0
  84. package/dist/backend/llvm/lib-shared.js.map +1 -1
  85. package/dist/backend/llvm/lib-test.js +11 -0
  86. package/dist/backend/llvm/lib-test.js.map +1 -1
  87. package/dist/backend/llvm/local-array-reads.js +2 -2
  88. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  89. package/dist/backend/llvm/map-number-lookup.js +8 -2
  90. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  91. package/dist/backend/llvm/nullable-unions.js +5 -2
  92. package/dist/backend/llvm/nullable-unions.js.map +1 -1
  93. package/dist/backend/llvm/publish.d.ts +3 -0
  94. package/dist/backend/llvm/publish.js +2 -2
  95. package/dist/backend/llvm/publish.js.map +1 -1
  96. package/dist/backend/llvm/reference-writes.js +1 -0
  97. package/dist/backend/llvm/reference-writes.js.map +1 -1
  98. package/dist/backend/llvm/region-groups.js +43 -4
  99. package/dist/backend/llvm/region-groups.js.map +1 -1
  100. package/dist/backend/llvm/region-groups.test.js +79 -0
  101. package/dist/backend/llvm/region-groups.test.js.map +1 -1
  102. package/dist/backend/llvm/runtime-registries.test.js +32 -1
  103. package/dist/backend/llvm/runtime-registries.test.js.map +1 -1
  104. package/dist/backend/llvm/shapes.js +10 -1
  105. package/dist/backend/llvm/shapes.js.map +1 -1
  106. package/dist/backend/llvm/string-reads.d.ts +1 -1
  107. package/dist/backend/llvm/string-reads.js +1 -1
  108. package/dist/backend/llvm/string-reads.js.map +1 -1
  109. package/dist/backend/llvm/unwind-abi.js +24 -2
  110. package/dist/backend/llvm/unwind-abi.js.map +1 -1
  111. package/dist/backend/llvm/unwind-abi.test.js +38 -0
  112. package/dist/backend/llvm/unwind-abi.test.js.map +1 -1
  113. package/dist/backend/llvm/walkers.d.ts +3 -0
  114. package/dist/backend/llvm/walkers.js +20 -2
  115. package/dist/backend/llvm/walkers.js.map +1 -1
  116. package/dist/backend/native/contracts.d.ts +15 -3
  117. package/dist/backend/native/executable.js +19 -5
  118. package/dist/backend/native/executable.js.map +1 -1
  119. package/dist/backend/native-codegen-core.d.ts +20 -0
  120. package/dist/backend/native-codegen-core.js +15 -0
  121. package/dist/backend/native-codegen-core.js.map +1 -1
  122. package/dist/backend/native-codegen.d.ts +5 -0
  123. package/dist/backend/native-codegen.js +62 -8
  124. package/dist/backend/native-codegen.js.map +1 -1
  125. package/dist/backend/native-codegen.test.js +48 -8
  126. package/dist/backend/native-codegen.test.js.map +1 -1
  127. package/dist/backend/native-link-info-core.d.ts +27 -3
  128. package/dist/backend/native-link-info-core.js.map +1 -1
  129. package/dist/backend/native-link-info.test.js +17 -1
  130. package/dist/backend/native-link-info.test.js.map +1 -1
  131. package/dist/backend/native-toolchain.d.ts +1 -1
  132. package/dist/backend/native-toolchain.js +1 -1
  133. package/dist/backend/native-toolchain.js.map +1 -1
  134. package/dist/backend/native-toolchain.test.js +14 -1
  135. package/dist/backend/native-toolchain.test.js.map +1 -1
  136. package/dist/backend/runtime-pack-core.d.ts +9 -3
  137. package/dist/backend/runtime-pack-core.js +6 -1
  138. package/dist/backend/runtime-pack-core.js.map +1 -1
  139. package/dist/backend/runtime-pack.test.js +32 -1
  140. package/dist/backend/runtime-pack.test.js.map +1 -1
  141. package/dist/backend/targets.d.ts +9 -1
  142. package/dist/backend/targets.js +11 -2
  143. package/dist/backend/targets.js.map +1 -1
  144. package/dist/backend/targets.test.js +6 -0
  145. package/dist/backend/targets.test.js.map +1 -1
  146. package/dist/cli/command.js +15 -1
  147. package/dist/cli/command.js.map +1 -1
  148. package/dist/cli/host.d.ts +6 -0
  149. package/dist/cli/mcp.d.ts +72 -0
  150. package/dist/cli/mcp.js +601 -0
  151. package/dist/cli/mcp.js.map +1 -0
  152. package/dist/cli/mcp.test.d.ts +1 -0
  153. package/dist/cli/mcp.test.js +380 -0
  154. package/dist/cli/mcp.test.js.map +1 -0
  155. package/dist/cli/output-options.d.ts +1 -0
  156. package/dist/cli/output-options.js +3 -0
  157. package/dist/cli/output-options.js.map +1 -1
  158. package/dist/cli/usage.d.ts +51 -1
  159. package/dist/cli/usage.js +709 -186
  160. package/dist/cli/usage.js.map +1 -1
  161. package/dist/compat/fetch-profile.js +9 -4
  162. package/dist/compat/fetch-profile.js.map +1 -1
  163. package/dist/compile-types.d.ts +17 -0
  164. package/dist/coverage/report.d.ts +5 -9
  165. package/dist/coverage/report.js.map +1 -1
  166. package/dist/executable/executable-cache.d.ts +17 -3
  167. package/dist/executable/executable-cache.js +17 -3
  168. package/dist/executable/executable-cache.js.map +1 -1
  169. package/dist/executable/prepare.js +87 -10
  170. package/dist/executable/prepare.js.map +1 -1
  171. package/dist/frontend/analysis.js +3 -2
  172. package/dist/frontend/analysis.js.map +1 -1
  173. package/dist/frontend/canon-map.js +13 -8
  174. package/dist/frontend/canon-map.js.map +1 -1
  175. package/dist/frontend/decl-projection.d.ts +18 -0
  176. package/dist/frontend/decl-projection.js +90 -22
  177. package/dist/frontend/decl-projection.js.map +1 -1
  178. package/dist/frontend/decl-projection.test.js +47 -1
  179. package/dist/frontend/decl-projection.test.js.map +1 -1
  180. package/dist/frontend/default-library.d.ts +10 -0
  181. package/dist/frontend/default-library.js +43 -0
  182. package/dist/frontend/default-library.js.map +1 -0
  183. package/dist/frontend/fork-target.js +54 -9
  184. package/dist/frontend/fork-target.js.map +1 -1
  185. package/dist/frontend/fork-target.test.js +82 -0
  186. package/dist/frontend/fork-target.test.js.map +1 -1
  187. package/dist/frontend/inferred-js-diagnostics.test.js +73 -0
  188. package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -1
  189. package/dist/frontend/lowering/abstract-equality.d.ts +2 -1
  190. package/dist/frontend/lowering/abstract-equality.js +7 -1
  191. package/dist/frontend/lowering/abstract-equality.js.map +1 -1
  192. package/dist/frontend/lowering/array-values.js +2 -2
  193. package/dist/frontend/lowering/array-values.js.map +1 -1
  194. package/dist/frontend/lowering/assertion-members.js +52 -2
  195. package/dist/frontend/lowering/assertion-members.js.map +1 -1
  196. package/dist/frontend/lowering/builtin-namespaces.d.ts +5 -0
  197. package/dist/frontend/lowering/builtin-namespaces.js +19 -12
  198. package/dist/frontend/lowering/builtin-namespaces.js.map +1 -1
  199. package/dist/frontend/lowering/builtins/callable-aliases.js +42 -6
  200. package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -1
  201. package/dist/frontend/lowering/builtins/child-process.d.ts +12 -11
  202. package/dist/frontend/lowering/builtins/child-process.js +235 -38
  203. package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
  204. package/dist/frontend/lowering/builtins/compression.d.ts +6 -1
  205. package/dist/frontend/lowering/builtins/compression.js +3 -3
  206. package/dist/frontend/lowering/builtins/compression.js.map +1 -1
  207. package/dist/frontend/lowering/builtins/constants.js +2 -2
  208. package/dist/frontend/lowering/builtins/constants.js.map +1 -1
  209. package/dist/frontend/lowering/builtins/crypto.d.ts +3 -1
  210. package/dist/frontend/lowering/builtins/crypto.js +9 -1
  211. package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
  212. package/dist/frontend/lowering/builtins/dates.js +26 -6
  213. package/dist/frontend/lowering/builtins/dates.js.map +1 -1
  214. package/dist/frontend/lowering/builtins/environment.d.ts +13 -1
  215. package/dist/frontend/lowering/builtins/environment.js +15 -4
  216. package/dist/frontend/lowering/builtins/environment.js.map +1 -1
  217. package/dist/frontend/lowering/builtins/module-bindings.d.ts +33 -0
  218. package/dist/frontend/lowering/builtins/module-bindings.js +213 -11
  219. package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -1
  220. package/dist/frontend/lowering/builtins/module-resolution.d.ts +9 -2
  221. package/dist/frontend/lowering/builtins/module-resolution.js +187 -19
  222. package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
  223. package/dist/frontend/lowering/builtins/performance.js +1 -1
  224. package/dist/frontend/lowering/builtins/performance.js.map +1 -1
  225. package/dist/frontend/lowering/builtins/process.js +40 -2
  226. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  227. package/dist/frontend/lowering/builtins/promises.js +33 -0
  228. package/dist/frontend/lowering/builtins/promises.js.map +1 -1
  229. package/dist/frontend/lowering/builtins/readline.d.ts +9 -5
  230. package/dist/frontend/lowering/builtins/readline.js +184 -75
  231. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  232. package/dist/frontend/lowering/builtins/url.d.ts +4 -0
  233. package/dist/frontend/lowering/builtins/url.js +6 -0
  234. package/dist/frontend/lowering/builtins/url.js.map +1 -1
  235. package/dist/frontend/lowering/call-arguments.js +15 -0
  236. package/dist/frontend/lowering/call-arguments.js.map +1 -1
  237. package/dist/frontend/lowering/callable-properties.d.ts +34 -0
  238. package/dist/frontend/lowering/callable-properties.js +210 -0
  239. package/dist/frontend/lowering/callable-properties.js.map +1 -0
  240. package/dist/frontend/lowering/cjs-inline-require.d.ts +16 -0
  241. package/dist/frontend/lowering/cjs-inline-require.js +105 -0
  242. package/dist/frontend/lowering/cjs-inline-require.js.map +1 -1
  243. package/dist/frontend/lowering/cjs-inline-require.test.d.ts +1 -0
  244. package/dist/frontend/lowering/cjs-inline-require.test.js +61 -0
  245. package/dist/frontend/lowering/cjs-inline-require.test.js.map +1 -0
  246. package/dist/frontend/lowering/class-dynamic-dispatch.js +82 -2
  247. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  248. package/dist/frontend/lowering/class-protocols.d.ts +57 -4
  249. package/dist/frontend/lowering/class-protocols.js +597 -30
  250. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  251. package/dist/frontend/lowering/class-unions.js +2 -2
  252. package/dist/frontend/lowering/class-unions.js.map +1 -1
  253. package/dist/frontend/lowering/coercions/function-adapters.d.ts +12 -0
  254. package/dist/frontend/lowering/coercions/function-adapters.js +62 -0
  255. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
  256. package/dist/frontend/lowering/coercions/structural-plans.js +56 -1
  257. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
  258. package/dist/frontend/lowering/coercions/structural.js +9 -4
  259. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  260. package/dist/frontend/lowering/collection-ingestion.d.ts +9 -0
  261. package/dist/frontend/lowering/collection-ingestion.js +115 -41
  262. package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
  263. package/dist/frontend/lowering/containers/array-callbacks.js +16 -0
  264. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  265. package/dist/frontend/lowering/containers/bytes.js +66 -10
  266. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  267. package/dist/frontend/lowering/containers/collection-methods.js +61 -5
  268. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  269. package/dist/frontend/lowering/containers/filter-predicates.js +11 -0
  270. package/dist/frontend/lowering/containers/filter-predicates.js.map +1 -1
  271. package/dist/frontend/lowering/containers/indexed-objects.d.ts +15 -0
  272. package/dist/frontend/lowering/containers/indexed-objects.js +213 -30
  273. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  274. package/dist/frontend/lowering/error-name-order.d.ts +16 -0
  275. package/dist/frontend/lowering/error-name-order.js +61 -0
  276. package/dist/frontend/lowering/error-name-order.js.map +1 -1
  277. package/dist/frontend/lowering/expressions/asserted-receiver.d.ts +17 -0
  278. package/dist/frontend/lowering/expressions/asserted-receiver.js +123 -1
  279. package/dist/frontend/lowering/expressions/asserted-receiver.js.map +1 -1
  280. package/dist/frontend/lowering/expressions/binary.js +147 -20
  281. package/dist/frontend/lowering/expressions/binary.js.map +1 -1
  282. package/dist/frontend/lowering/expressions/element-access.js +63 -14
  283. package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
  284. package/dist/frontend/lowering/expressions/erased-delete.d.ts +59 -0
  285. package/dist/frontend/lowering/expressions/erased-delete.js +247 -0
  286. package/dist/frontend/lowering/expressions/erased-delete.js.map +1 -0
  287. package/dist/frontend/lowering/expressions/hosted-narrowing.d.ts +10 -0
  288. package/dist/frontend/lowering/expressions/hosted-narrowing.js +48 -1
  289. package/dist/frontend/lowering/expressions/hosted-narrowing.js.map +1 -1
  290. package/dist/frontend/lowering/expressions/identifiers.js +20 -0
  291. package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
  292. package/dist/frontend/lowering/expressions/narrowing.d.ts +7 -2
  293. package/dist/frontend/lowering/expressions/narrowing.js +77 -45
  294. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
  295. package/dist/frontend/lowering/expressions/object-literals.js +62 -19
  296. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  297. package/dist/frontend/lowering/expressions/optional-chains.js +19 -0
  298. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  299. package/dist/frontend/lowering/expressions/property-access.d.ts +7 -7
  300. package/dist/frontend/lowering/expressions/property-access.js +247 -48
  301. package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
  302. package/dist/frontend/lowering/expressions/relational.d.ts +1 -0
  303. package/dist/frontend/lowering/expressions/relational.js +18 -8
  304. package/dist/frontend/lowering/expressions/relational.js.map +1 -1
  305. package/dist/frontend/lowering/expressions/union-fields.js +11 -5
  306. package/dist/frontend/lowering/expressions/union-fields.js.map +1 -1
  307. package/dist/frontend/lowering/expressions/updates.js +121 -11
  308. package/dist/frontend/lowering/expressions/updates.js.map +1 -1
  309. package/dist/frontend/lowering/function-context.d.ts +10 -0
  310. package/dist/frontend/lowering/function-context.js +36 -0
  311. package/dist/frontend/lowering/function-context.js.map +1 -1
  312. package/dist/frontend/lowering/function-returns.js +8 -8
  313. package/dist/frontend/lowering/function-returns.js.map +1 -1
  314. package/dist/frontend/lowering/handle-properties.d.ts +62 -3
  315. package/dist/frontend/lowering/handle-properties.js +674 -26
  316. package/dist/frontend/lowering/handle-properties.js.map +1 -1
  317. package/dist/frontend/lowering/handle-properties.test.js +95 -2
  318. package/dist/frontend/lowering/handle-properties.test.js.map +1 -1
  319. package/dist/frontend/lowering/lower-builtin-values.d.ts +12 -0
  320. package/dist/frontend/lowering/lower-builtin-values.js +44 -0
  321. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  322. package/dist/frontend/lowering/lower-calls.js +328 -136
  323. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  324. package/dist/frontend/lowering/lower-classes.js +82 -17
  325. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  326. package/dist/frontend/lowering/lower-event-emitter.js +113 -9
  327. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  328. package/dist/frontend/lowering/lower-expando.d.ts +13 -21
  329. package/dist/frontend/lowering/lower-expando.js +90 -126
  330. package/dist/frontend/lowering/lower-expando.js.map +1 -1
  331. package/dist/frontend/lowering/lower-exprs.js +2 -2
  332. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  333. package/dist/frontend/lowering/lower-functions.js +65 -0
  334. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  335. package/dist/frontend/lowering/lower-inspect.js +471 -0
  336. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  337. package/dist/frontend/lowering/lower-modules.js +36 -10
  338. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  339. package/dist/frontend/lowering/lower-node-island.js +28 -0
  340. package/dist/frontend/lowering/lower-node-island.js.map +1 -1
  341. package/dist/frontend/lowering/lower-server.d.ts +53 -7
  342. package/dist/frontend/lowering/lower-server.js +213 -42
  343. package/dist/frontend/lowering/lower-server.js.map +1 -1
  344. package/dist/frontend/lowering/lower-stdlib.js +50 -7
  345. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  346. package/dist/frontend/lowering/lower-stmts.d.ts +24 -0
  347. package/dist/frontend/lowering/lower-stmts.js +463 -220
  348. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  349. package/dist/frontend/lowering/lower-stream.js +2 -2
  350. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  351. package/dist/frontend/lowering/lower-test.js +71 -2
  352. package/dist/frontend/lowering/lower-test.js.map +1 -1
  353. package/dist/frontend/lowering/lowerer.d.ts +81 -10
  354. package/dist/frontend/lowering/lowerer.js +319 -72
  355. package/dist/frontend/lowering/lowerer.js.map +1 -1
  356. package/dist/frontend/lowering/new-target.js +10 -2
  357. package/dist/frontend/lowering/new-target.js.map +1 -1
  358. package/dist/frontend/lowering/nullish-empty-pattern.js +3 -3
  359. package/dist/frontend/lowering/nullish-empty-pattern.js.map +1 -1
  360. package/dist/frontend/lowering/partial-assertions.js +30 -5
  361. package/dist/frontend/lowering/partial-assertions.js.map +1 -1
  362. package/dist/frontend/lowering/primitive-throws.js +91 -1
  363. package/dist/frontend/lowering/primitive-throws.js.map +1 -1
  364. package/dist/frontend/lowering/primitive-wrappers.d.ts +9 -0
  365. package/dist/frontend/lowering/primitive-wrappers.js +2 -2
  366. package/dist/frontend/lowering/primitive-wrappers.js.map +1 -1
  367. package/dist/frontend/lowering/promise-executor-adapter.js +5 -2
  368. package/dist/frontend/lowering/promise-executor-adapter.js.map +1 -1
  369. package/dist/frontend/lowering/record-links.js +7 -2
  370. package/dist/frontend/lowering/record-links.js.map +1 -1
  371. package/dist/frontend/lowering/surfaces.d.ts +4 -0
  372. package/dist/frontend/lowering/surfaces.js +118 -2
  373. package/dist/frontend/lowering/surfaces.js.map +1 -1
  374. package/dist/frontend/lowering/surfaces.test.d.ts +1 -0
  375. package/dist/frontend/lowering/surfaces.test.js +31 -0
  376. package/dist/frontend/lowering/surfaces.test.js.map +1 -0
  377. package/dist/frontend/mock-shapes.js +3 -3
  378. package/dist/frontend/mock-shapes.js.map +1 -1
  379. package/dist/frontend/npm-static-ladder.d.ts +21 -0
  380. package/dist/frontend/npm-static-ladder.js +2 -0
  381. package/dist/frontend/npm-static-ladder.js.map +1 -0
  382. package/dist/frontend/npm-static-ladder.test.d.ts +1 -0
  383. package/dist/frontend/npm-static-ladder.test.js +138 -0
  384. package/dist/frontend/npm-static-ladder.test.js.map +1 -0
  385. package/dist/frontend/npm-static-status.d.ts +15 -0
  386. package/dist/frontend/npm-static-status.js +2 -0
  387. package/dist/frontend/npm-static-status.js.map +1 -0
  388. package/dist/frontend/package-shims.js +1 -1
  389. package/dist/frontend/package-shims.js.map +1 -1
  390. package/dist/frontend/pipeline.d.ts +1 -1
  391. package/dist/frontend/pipeline.js +222 -25
  392. package/dist/frontend/pipeline.js.map +1 -1
  393. package/dist/frontend/program-analysis.d.ts +4 -0
  394. package/dist/frontend/program-analysis.js +6 -0
  395. package/dist/frontend/program-analysis.js.map +1 -1
  396. package/dist/frontend/program.js +258 -32
  397. package/dist/frontend/program.js.map +1 -1
  398. package/dist/frontend/program.test.js +30 -0
  399. package/dist/frontend/program.test.js.map +1 -1
  400. package/dist/frontend/resolve.js +29 -5
  401. package/dist/frontend/resolve.js.map +1 -1
  402. package/dist/frontend/resolve.test.js +40 -0
  403. package/dist/frontend/resolve.test.js.map +1 -1
  404. package/dist/frontend/services.d.ts +8 -0
  405. package/dist/frontend/services.js +7 -0
  406. package/dist/frontend/services.js.map +1 -1
  407. package/dist/frontend/ts7/checker.d.ts +7 -0
  408. package/dist/frontend/ts7/checker.js +12 -0
  409. package/dist/frontend/ts7/checker.js.map +1 -1
  410. package/dist/frontend/ts7/checker.test.js +1 -0
  411. package/dist/frontend/ts7/checker.test.js.map +1 -1
  412. package/dist/frontend/ts7/program-host.d.ts +39 -2
  413. package/dist/frontend/ts7/program-host.js +62 -8
  414. package/dist/frontend/ts7/program-host.js.map +1 -1
  415. package/dist/frontend/ts7/program-host.test.js +33 -0
  416. package/dist/frontend/ts7/program-host.test.js.map +1 -1
  417. package/dist/frontend/ts7/session-cache.d.ts +5 -1
  418. package/dist/frontend/ts7/session-cache.js +7 -1
  419. package/dist/frontend/ts7/session-cache.js.map +1 -1
  420. package/dist/frontend/ts7/session-cache.test.js +37 -0
  421. package/dist/frontend/ts7/session-cache.test.js.map +1 -1
  422. package/dist/frontend/ts7/session.js +19 -1
  423. package/dist/frontend/ts7/session.js.map +1 -1
  424. package/dist/frontend/ts7/source-parser.d.ts +17 -2
  425. package/dist/frontend/ts7/source-parser.js +61 -2
  426. package/dist/frontend/ts7/source-parser.js.map +1 -1
  427. package/dist/frontend/ts7/source-parser.test.js +55 -2
  428. package/dist/frontend/ts7/source-parser.test.js.map +1 -1
  429. package/dist/frontend/tsc-codes.d.ts +3 -2
  430. package/dist/frontend/tsc-codes.js +129 -22
  431. package/dist/frontend/tsc-codes.js.map +1 -1
  432. package/dist/frontend/type-mapper.d.ts +5 -11
  433. package/dist/frontend/type-mapper.js +380 -70
  434. package/dist/frontend/type-mapper.js.map +1 -1
  435. package/dist/index.d.ts +1 -1
  436. package/dist/index.js +67 -7
  437. package/dist/index.js.map +1 -1
  438. package/dist/ir/builtin-effects.js +29 -0
  439. package/dist/ir/builtin-effects.js.map +1 -1
  440. package/dist/ir/builtin-signatures.d.ts +1 -1
  441. package/dist/ir/builtin-signatures.js +72 -6
  442. package/dist/ir/builtin-signatures.js.map +1 -1
  443. package/dist/ir/codec.generated.d.ts +1 -1
  444. package/dist/ir/codec.generated.js +321 -263
  445. package/dist/ir/codec.generated.js.map +1 -1
  446. package/dist/ir/constant-length-clones.d.ts +26 -0
  447. package/dist/ir/constant-length-clones.js +589 -0
  448. package/dist/ir/constant-length-clones.js.map +1 -0
  449. package/dist/ir/constant-length-clones.test.d.ts +1 -0
  450. package/dist/ir/constant-length-clones.test.js +292 -0
  451. package/dist/ir/constant-length-clones.test.js.map +1 -0
  452. package/dist/ir/constant-tables.d.ts +10 -5
  453. package/dist/ir/constant-tables.js +83 -17
  454. package/dist/ir/constant-tables.js.map +1 -1
  455. package/dist/ir/constant-tables.test.js +58 -1
  456. package/dist/ir/constant-tables.test.js.map +1 -1
  457. package/dist/ir/fields.generated.js +5 -2
  458. package/dist/ir/fields.generated.js.map +1 -1
  459. package/dist/ir/function-references.js +2 -0
  460. package/dist/ir/function-references.js.map +1 -1
  461. package/dist/ir/function-references.test.js +13 -0
  462. package/dist/ir/function-references.test.js.map +1 -1
  463. package/dist/ir/integer-loops.js +1 -0
  464. package/dist/ir/integer-loops.js.map +1 -1
  465. package/dist/ir/integer-loops.test.js +16 -0
  466. package/dist/ir/integer-loops.test.js.map +1 -1
  467. package/dist/ir/ir.d.ts +50 -6
  468. package/dist/ir/ir.js +44 -2
  469. package/dist/ir/ir.js.map +1 -1
  470. package/dist/ir/ir.test.js +83 -1
  471. package/dist/ir/ir.test.js.map +1 -1
  472. package/dist/ir/js-groups.js +5 -1
  473. package/dist/ir/js-groups.js.map +1 -1
  474. package/dist/ir/js-ic.d.ts +20 -0
  475. package/dist/ir/js-ic.js +81 -4
  476. package/dist/ir/js-ic.js.map +1 -1
  477. package/dist/ir/js-ic.test.js +8 -1
  478. package/dist/ir/js-ic.test.js.map +1 -1
  479. package/dist/ir/lane-plans.d.ts +86 -0
  480. package/dist/ir/lane-plans.js +589 -0
  481. package/dist/ir/lane-plans.js.map +1 -0
  482. package/dist/ir/lane-plans.test.d.ts +1 -0
  483. package/dist/ir/lane-plans.test.js +549 -0
  484. package/dist/ir/lane-plans.test.js.map +1 -0
  485. package/dist/ir/runtime-features.d.ts +68 -10
  486. package/dist/ir/runtime-features.js +285 -17
  487. package/dist/ir/runtime-features.js.map +1 -1
  488. package/dist/ir/runtime-features.test.js +190 -1
  489. package/dist/ir/runtime-features.test.js.map +1 -1
  490. package/dist/ir/validate.js +61 -24
  491. package/dist/ir/validate.js.map +1 -1
  492. package/dist/native/cache.d.ts +5 -0
  493. package/dist/native/cache.js +23 -1
  494. package/dist/native/cache.js.map +1 -1
  495. package/dist/native/cache.test.js +29 -1
  496. package/dist/native/cache.test.js.map +1 -1
  497. package/dist/native/cli.js +4 -2
  498. package/dist/native/cli.js.map +1 -1
  499. package/dist/native/compiler.d.ts +11 -3
  500. package/dist/native/compiler.js +102 -16
  501. package/dist/native/compiler.js.map +1 -1
  502. package/dist/native/compiler.test.js +244 -2
  503. package/dist/native/compiler.test.js.map +1 -1
  504. package/dist/native/prepare.d.ts +14 -1
  505. package/dist/native/prepare.js +79 -29
  506. package/dist/native/prepare.js.map +1 -1
  507. package/dist/native/sanitizer.test.js +3 -0
  508. package/dist/native/sanitizer.test.js.map +1 -1
  509. package/dist/native/unchanged.d.ts +80 -0
  510. package/dist/native/unchanged.js +301 -0
  511. package/dist/native/unchanged.js.map +1 -0
  512. package/dist/native/unchanged.test.d.ts +1 -0
  513. package/dist/native/unchanged.test.js +249 -0
  514. package/dist/native/unchanged.test.js.map +1 -0
  515. package/dist/node-islands/boundary.d.ts +16 -0
  516. package/dist/node-islands/boundary.js +70 -7
  517. package/dist/node-islands/boundary.js.map +1 -1
  518. package/dist/node-islands/boundary.test.js +59 -14
  519. package/dist/node-islands/boundary.test.js.map +1 -1
  520. package/dist/node-islands/detect.js +203 -47
  521. package/dist/node-islands/detect.js.map +1 -1
  522. package/dist/node-islands/detect.test.js +45 -0
  523. package/dist/node-islands/detect.test.js.map +1 -1
  524. package/dist/node-islands/growth.js +4 -16
  525. package/dist/node-islands/growth.js.map +1 -1
  526. package/dist/node-islands/modules.d.ts +3 -0
  527. package/dist/node-islands/modules.js +143 -12
  528. package/dist/node-islands/modules.js.map +1 -1
  529. package/dist/node-islands/modules.test.js +125 -0
  530. package/dist/node-islands/modules.test.js.map +1 -1
  531. package/dist/node-islands/report.d.ts +1 -1
  532. package/dist/node-islands/report.js +2 -1
  533. package/dist/node-islands/report.js.map +1 -1
  534. package/package.json +20 -20
  535. package/shims/undici/core/request.ts +7 -1
  536. package/surface-manifest.json +380 -2
@@ -17,14 +17,14 @@ afterEach(() => {
17
17
  rmSync(directory, { recursive: true, force: true });
18
18
  closeSourceParser();
19
19
  });
20
- function create() {
20
+ function create(budgets = {}) {
21
21
  const directory = mkdtempSync(join(process.platform === "win32" ? tmpdir() : "/tmp", "scriptc-source-parser-"));
22
22
  directories.push(directory);
23
23
  let filesystem;
24
24
  const parser = new Ts7SourceParser((options) => {
25
25
  filesystem = options.fs;
26
26
  return new Ts7Api(options);
27
- }, directory);
27
+ }, directory, budgets.sourceBudget, budgets.parsedSourceBudget);
28
28
  parsers.push(parser);
29
29
  return { parser, directory, fs: filesystem };
30
30
  }
@@ -47,6 +47,17 @@ test("each parse owns its text and nodes across same-path edits, deletion and cl
47
47
  expect(getTextOfNode(other.statements.nodes[0])).toBe("exports.third = 3;");
48
48
  expect(() => parser.parse("late.ts", "", "ts")).toThrow("closed");
49
49
  });
50
+ test("the parse cache evicts older versions until the retained source fits its budget", () => {
51
+ const { parser } = create({ parsedSourceBudget: 12 });
52
+ // Five two-code-unit versions of one path, then a longer one: the newest
53
+ // result puts the cache six code units over the budget, more than the
54
+ // oldest version holds, so the three oldest versions must go, not one.
55
+ const versions = ["aa", "bb", "cc", "dd", "ee"].map((text) => parser.parse("input.ts", text, "ts"));
56
+ const longer = parser.parse("input.ts", "var x=1;", "ts");
57
+ expect(parser.parse("input.ts", "dd", "ts")).toBe(versions[3]);
58
+ expect(parser.parse("input.ts", "cc", "ts")).not.toBe(versions[2]);
59
+ expect(parser.parse("input.ts", "var x=1;", "ts")).toBe(longer);
60
+ });
50
61
  test("the syntax filesystem hides project configuration, dependencies and libraries", () => {
51
62
  const { parser, directory, fs } = create();
52
63
  writeFileSync(join(directory, "tsconfig.json"), '{"extends":"./missing.json","compilerOptions":{"jsx":"react"}}');
@@ -192,4 +203,46 @@ test("a parser starts a new server once it has parsed its source budget, and ear
192
203
  expect(getTextOfNode(second.statements.nodes[0])).toBe("export const b = 2;");
193
204
  expect(getTextOfNode(third.statements.nodes[0])).toBe("export const b = 3;");
194
205
  });
206
+ test("a retained parse answers a repeated read without a new server", () => {
207
+ const directory = mkdtempSync(join(process.platform === "win32" ? tmpdir() : "/tmp", "scriptc-source-parser-"));
208
+ directories.push(directory);
209
+ const servers = [];
210
+ const parser = new Ts7SourceParser((options) => {
211
+ const api = new Ts7Api(options);
212
+ servers.push(api);
213
+ return api;
214
+ }, directory, 64);
215
+ parsers.push(parser);
216
+ // The package build re-reads the same sources: one npm-static rung per
217
+ // package, each rewriting the same file several ways.
218
+ const source = `export const a = ${"1 + ".repeat(20)}1;`;
219
+ const first = parser.parse("a.ts", source, "ts");
220
+ expect(servers).toHaveLength(1);
221
+ // This read crosses the server budget, as a large file does on its own.
222
+ parser.parse("b.ts", "export const b = 2;", "ts");
223
+ expect(servers).toHaveLength(2);
224
+ expect(parser.parse("a.ts", source, "ts")).toBe(first);
225
+ expect(servers).toHaveLength(2);
226
+ // A different text at the same path is a different parse.
227
+ expect(parser.parse("a.ts", "export const a = 2;", "ts")).not.toBe(first);
228
+ });
229
+ test("a source evicted from the retained budget is parsed again on its next read", () => {
230
+ const directory = mkdtempSync(join(process.platform === "win32" ? tmpdir() : "/tmp", "scriptc-source-parser-"));
231
+ directories.push(directory);
232
+ const servers = [];
233
+ const parser = new Ts7SourceParser((options) => {
234
+ const api = new Ts7Api(options);
235
+ servers.push(api);
236
+ return api;
237
+ }, directory, 25, 20);
238
+ parsers.push(parser);
239
+ // Both sources are 19 code units, so retaining the second evicts the first.
240
+ parser.parse("a.ts", "export const a = 1;", "ts");
241
+ parser.parse("b.ts", "export const b = 2;", "ts");
242
+ expect(servers).toHaveLength(1);
243
+ // a.ts is gone from the cache: its miss crosses the server budget and
244
+ // starts a new server, where a hit would have answered it.
245
+ expect(parser.parse("a.ts", "export const a = 1;", "ts").text).toBe("export const a = 1;");
246
+ expect(servers).toHaveLength(2);
247
+ });
195
248
  //# sourceMappingURL=source-parser.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-parser.test.js","sourceRoot":"","sources":["../../../src/frontend/ts7/source-parser.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-parser.test.js","sourceRoot":"","sources":["../../../src/frontend/ts7/source-parser.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,OAAO,GAAsB,EAAE,CAAC;AACtC,MAAM,WAAW,GAAa,EAAE,CAAC;AACjC,SAAS,CAAC,GAAG,EAAE;IACb,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACvD,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,iBAAiB,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AAEH,SAAS,MAAM,CAAC,OAAO,GAA2D,EAAE;IAClF,MAAM,SAAS,GAAG,WAAW,CAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,wBAAwB,CAAC,CACjF,CAAC;IACF,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,IAAI,UAA0B,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,eAAe,CAChC,CAAC,OAAO,EAAE,EAAE;QACV,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,EACD,SAAS,EACT,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,kBAAkB,CAC3B,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;AAC/C,CAAC;AAED,IAAI,CAAC,+EAA+E,EAAE,GAAG,EAAE;IACzF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAClF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC7E,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iFAAiF,EAAE,GAAG,EAAE;IAC3F,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;IACtD,yEAAyE;IACzE,sEAAsE;IACtE,uEAAuE;IACvE,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3D,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CACrC,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+EAA+E,EAAE,GAAG,EAAE;IACzF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC;IAC3C,aAAa,CACX,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAChC,gEAAgE,CACjE,CAAC;IACF,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,6EAA6E,CAAC;IAC7F,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACjE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACjE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxE,MAAM,CAAC,EAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IACnF,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5D,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,MAAM,WAAW,GAA4D;IAC3E,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;IAC5C,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,mCAAmC,EAAE;IAC3E;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,iFAAiF;KAC1F;IACD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,sCAAsC,EAAE;IAClF;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,uFAAuF;KAChG;IACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,mDAAmD,EAAE;IAC9F;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,sEAAsE;KAC/E;IACD,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,oCAAoC,EAAE;CACrF,CAAC;AAEF,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;IACjD,IAAI,CAAC,wDAAwD,IAAI,EAAE,EAAE,GAAG,EAAE;QACxE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,OAAO,GACX,IAAI,KAAK,IAAI;YACX,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACnB,CAAC,CAAC,IAAI,KAAK,IAAI;gBACb,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBACnB,CAAC,CAAC,IAAI,KAAK,KAAK;oBACd,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG;oBACpB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1F,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC9D,MAAM,CACJ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACxC,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC;YAClC,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC;SAC/B,CAAC,CAAC,CACJ,CAAC,OAAO,CACP,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACpC,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE;YAC3B,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE;SAC1B,CAAC,CAAC,CACJ,CAAC;QACF,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAC1D,MAAM,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAC/C,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,CAAC,4EAA4E,EAAE,GAAG,EAAE;IACtF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,2BAA2B,EAAE,IAAI,CAAC,CAAC;IAC7E,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,mBAAmB,CAAC;IACnC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oFAAoF,EAAE,GAAG,EAAE;IAC9F,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CACvB,UAAU,EACV,4GAA4G,EAC5G,IAAI,CACL,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;IAC9C,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC3E,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC5F,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,aAAa,CAAC,CAAC,IAAI,CACtD,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,YAAY,CAC3C,CAAC;IACF,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,aAAa,CAAC,CAAC,aAAa,EAAE,CAAC;IACpE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC9F,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;IACxC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;IACpE,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAAC;IAC3E,iBAAiB,EAAE,CAAC;IACpB,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAAC;IAC7E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACnD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACjE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG;;;;;;;;IAQb,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CACjC,YAAY,EACZ,MAAM,EACN,GAAG,CAAC,YAAY,CAAC,MAAM,EACvB,IAAI,EACJ,GAAG,CAAC,UAAU,CAAC,EAAE,CAClB,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC;IACvC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,MAAM,CACJ,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CACnE,CACF,CAAC,OAAO,CACP,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC9B,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CACrE,CACF,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oGAAoG,EAAE,GAAG,EAAE;IAC9G,MAAM,SAAS,GAAG,WAAW,CAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,wBAAwB,CAAC,CACjF,CAAC;IACF,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,eAAe,CAChC,CAAC,OAAO,EAAE,EAAE;QACV,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,GAAG,CAAC;IACb,CAAC,EACD,SAAS,EACT,EAAE,CACH,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,oBAAoB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpF,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAClG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC/E,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAChF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+DAA+D,EAAE,GAAG,EAAE;IACzE,MAAM,SAAS,GAAG,WAAW,CAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,wBAAwB,CAAC,CACjF,CAAC;IACF,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,eAAe,CAChC,CAAC,OAAO,EAAE,EAAE;QACV,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,GAAG,CAAC;IACb,CAAC,EACD,SAAS,EACT,EAAE,CACH,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,uEAAuE;IACvE,sDAAsD;IACtD,MAAM,MAAM,GAAG,oBAAoB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;IACzD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,wEAAwE;IACxE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,0DAA0D;IAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4EAA4E,EAAE,GAAG,EAAE;IACtF,MAAM,SAAS,GAAG,WAAW,CAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,wBAAwB,CAAC,CACjF,CAAC;IACF,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,eAAe,CAChC,CAAC,OAAO,EAAE,EAAE;QACV,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,GAAG,CAAC;IACb,CAAC,EACD,SAAS,EACT,EAAE,EACF,EAAE,CACH,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,4EAA4E;IAC5E,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,sEAAsE;IACtE,2DAA2D;IAC3D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC3F,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC"}
@@ -5,8 +5,9 @@ export type OpinionView = "checker" | "widen" | "throw" | "island";
5
5
  export interface Opinion {
6
6
  readonly view: OpinionView;
7
7
  /** The row admits only the constructs this guard accepts at the
8
- * diagnostic's node. */
9
- readonly site?: (node: ts.Node, diagnostic: ts.Diagnostic) => boolean;
8
+ * diagnostic's node. The program is the one the diagnostic came from, for
9
+ * a guard that asks the checker about the node's types. */
10
+ readonly site?: (node: ts.Node, diagnostic: ts.Diagnostic, program: ts.Program) => boolean;
10
11
  /** Keep the diagnostic in checked JavaScript: the project asked tsc for
11
12
  * this opinion. */
12
13
  readonly checkedJs?: "enforce";
@@ -65,11 +65,56 @@ const inCheckedJs = (row) => ({ ...row, checkedJs: "enforce" });
65
65
  * exercise, so the program keeps refusing until that lowering exists. */
66
66
  const notPrivateName = (node, d) => !ts.isPrivateIdentifier(node) && !ts.getSourceFileOfNode(node).text.startsWith("#", d.pos ?? -1);
67
67
  /** TS2362/2363/2365 fire on an operator whose other operand is bigint-ish;
68
- * plain JavaScript admits the `any` operand, and a primitive wrapper operand
69
- * (`new Number(1) * 2`) converts with ToPrimitive like any object. */
70
- const anyOrWrapperOperand = (_node, d) => {
68
+ * plain JavaScript admits the `any` operand, a primitive wrapper operand
69
+ * (`new Number(1) * 2`) converts with ToPrimitive like any object, and a
70
+ * BigInt operand (`5n % 2n`, `0n | 1`, `{} >> 1n`, `1n < 1`) names the
71
+ * operator's own BigInt form — or the TypeError a mixed, Symbol or `>>>`
72
+ * operand throws. Both operands undergo ToNumeric (or ToPrimitive for a
73
+ * comparison) first, which is the order the checked-dynamic arithmetic,
74
+ * bitwise and comparison lowering applies, so each shape is answerable —
75
+ * including an operand that answers through Symbol.toPrimitive, which the
76
+ * runtime applies ahead of valueOf/toString whichever way the key is
77
+ * spelled (`{[Symbol.toPrimitive]: () => 9n} % 5n` answers `4n`, as Node
78
+ * does).
79
+ *
80
+ * A compound assignment on a BigInt target is the exception. Node reads the
81
+ * target, applies the operator and stores whatever came back, so a partner
82
+ * that answers a string turns the binding into a string (`1n + {}` is
83
+ * "1[object Object]", so `x += {}` leaves a string in `x`), and any other
84
+ * partner reaches the mixed-type TypeError. The lowering's BigInt arms take
85
+ * two BigInts, so the assignment would either check a string result against
86
+ * BigInt storage or raise the compiler's own refusal at run time; tsc's
87
+ * refusal stays for every compound assignment on a BigInt target. */
88
+ const coercibleOperatorOperand = (node, d, program) => {
71
89
  const text = ts.flattenDiagnosticMessageText(d, "\n");
72
- return text.includes("'any'") || /'(Number|String|Boolean)'/.test(text);
90
+ const coercible = text.includes("'any'") ||
91
+ /'(Number|String|Boolean)'/.test(text) ||
92
+ /\bbigint\b/.test(text) ||
93
+ /\d+n\b/.test(text);
94
+ return coercible && !bigintCompoundTarget(node, program);
95
+ };
96
+ /** Whether `node` sits in a compound assignment (`+=`, `-=`, ...) whose
97
+ * target is a BigInt binding. */
98
+ const bigintCompoundTarget = (node, program) => {
99
+ let current = node;
100
+ while (current !== undefined && !ts.isBinaryExpression(current))
101
+ current = current.parent;
102
+ if (current === undefined)
103
+ return false;
104
+ const operator = current.operatorToken.kind;
105
+ if (operator <= ts.SyntaxKind.FirstAssignment || operator > ts.SyntaxKind.LastAssignment)
106
+ return false;
107
+ const checker = program.getTypeChecker();
108
+ return (checker.getTypeAtLocation(current.left).flags & ts.TypeFlags.BigIntLike) !== 0;
109
+ };
110
+ /** TS2469 names the operator. `'' + sym` and `sym += ''` perform ToString,
111
+ * which the lowering sends through the runtime conversion that throws Node's
112
+ * TypeError; `~sym` and `-sym` keep the triage's refusal because their
113
+ * lowered form would raise a different message. */
114
+ const symbolStringOperator = (_node, d) => {
115
+ const text = ts.flattenDiagnosticMessageText(d, "\n");
116
+ return ((text.includes("The '+' operator") || text.includes("The '+=' operator")) &&
117
+ text.includes("'symbol'"));
73
118
  };
74
119
  /** An index write on a String wrapper (`new String("ab")[5] = "q"`): Node
75
120
  * adds the property past the end and ignores writes to the read-only index
@@ -89,6 +134,26 @@ const deprecatedBufferCall = (_node, d) => {
89
134
  text.includes("'typeof WriteStream'") ||
90
135
  text.includes("'IteratorConstructor'"));
91
136
  };
137
+ /** TS17013 inside a method or accessor body (including an arrow nested in
138
+ * one): `new.target` is legal there and always undefined, because a method is
139
+ * not constructable. The path must enter the member through its body or a
140
+ * parameter, which run in the method's function scope; a computed member name
141
+ * is evaluated outside it. Global code and class field initializers keep the
142
+ * early SyntaxError the specification makes them. */
143
+ const newTargetInMethod = (node, _d) => {
144
+ let child = node;
145
+ for (let p = node.parent; p !== undefined; child = p, p = p.parent) {
146
+ if (ts.isArrowFunction(p))
147
+ continue;
148
+ if (ts.isMethodDeclaration(p) ||
149
+ ts.isGetAccessorDeclaration(p) ||
150
+ ts.isSetAccessorDeclaration(p))
151
+ return (p.body === child || p.parameters?.nodes.includes(child) === true);
152
+ if (ts.isFunctionLike(p) || ts.isSourceFile(p))
153
+ return false;
154
+ }
155
+ return false;
156
+ };
92
157
  /* ---- family reasons ---- */
93
158
  const IMPLICIT_ANY = "a JavaScript value with no annotation is whatever the caller passes: Node has no types to check, and the lowering maps the value dynamically";
94
159
  const NULLISH_DEMAND = "strict-null's demand is an inference, not a rule: Node reads whatever the value is, and the use site re-checks or throws as Node does";
@@ -664,15 +729,15 @@ const OPINION_ROWS = [
664
729
  // where one exists, keeps the typed operand).
665
730
  [
666
731
  2362,
667
- at(anyOrWrapperOperand, CHECKER("arithmetic on an 'any' or wrapper operand is plain JavaScript: the operator converts it with ToPrimitive", ["tests/corpus/js-primitive-wrappers.js", "tests/corpus/js-primitive-wrappers-zero-arg.js"])),
732
+ at(coercibleOperatorOperand, CHECKER("an 'any', wrapper or BigInt operand is plain JavaScript: the operator converts both with ToPrimitive/ToNumeric first", ["tests/corpus/js-primitive-wrappers.js", "tests/corpus/js-primitive-wrappers-zero-arg.js"])),
668
733
  ],
669
734
  [
670
735
  2363,
671
- at(anyOrWrapperOperand, CHECKER("arithmetic on an 'any' or wrapper operand is plain JavaScript: the operator converts it with ToPrimitive")),
736
+ at(coercibleOperatorOperand, CHECKER("an 'any', wrapper or BigInt operand is plain JavaScript: the operator converts both with ToPrimitive/ToNumeric first")),
672
737
  ],
673
738
  [
674
739
  2365,
675
- at(anyOrWrapperOperand, CHECKER("arithmetic on an 'any' or wrapper operand is plain JavaScript: the operator converts it with ToPrimitive", ["tests/corpus/js-primitive-wrappers.js", "tests/corpus/1614-js-fence-dodges.cjs"])),
740
+ at(coercibleOperatorOperand, CHECKER("an 'any', wrapper or BigInt operand is plain JavaScript: the operator converts both with ToPrimitive/ToNumeric first", ["tests/corpus/js-primitive-wrappers.js", "tests/corpus/1614-js-fence-dodges.cjs"])),
676
741
  ],
677
742
  // `new Iterator()` (TS2511): Iterator is the one abstract class the lib
678
743
  // exposes, and Node throws its TypeError at the construction, which the
@@ -688,6 +753,14 @@ const OPINION_ROWS = [
688
753
  2508,
689
754
  CHECKER("JavaScript writes no type arguments, and the heritage lowering checks the actual base class", ["tests/corpus/js-iterator-subclass.js"]),
690
755
  ],
756
+ // A symbol operand of `+` or `+=` (TS2469): the operator's ToString throws
757
+ // Node's TypeError, which the lowered conversion raises at the operator
758
+ // (binary.ts and updates.ts lower it to the runtime's string and number
759
+ // conversions). Every other operator keeps the triage's refusal.
760
+ [
761
+ 2469,
762
+ at(symbolStringOperator, THROW("Node throws its TypeError from the ToString the operator performs, and the lowered conversion raises it at the operator", ["tests/corpus/9005-symbol-string-concat.js"])),
763
+ ],
691
764
  // A write through a String wrapper's index (TS2542; every other readonly
692
765
  // index signature keeps the triage's refusal).
693
766
  [
@@ -703,6 +776,48 @@ const OPINION_ROWS = [
703
776
  "tests/corpus/8272-fs-stream-call-without-new.cjs",
704
777
  ])),
705
778
  ],
779
+ // ---- The checker's OPINIONS that need no lowering (TS2629 and friends) ----
780
+ // Each row below is a `checker` row: at the admitted site the checker's
781
+ // type is still a truthful bound on every runtime value, so the ordinary
782
+ // lowering already gives Node's answer. A JavaScript source only takes them;
783
+ // a checked project asked tsc for its opinion, so every row here is a
784
+ // `checkedJs: "enforce"` row (D3).
785
+ //
786
+ // 2408, a `return` in a set accessor: the value is discarded by [[Set]],
787
+ // exactly as a `return` in any other call is.
788
+ [
789
+ 2408,
790
+ inCheckedJs(CHECKER("a setter's `return` value is discarded by [[Set]], as Node discards every setter call's result", ["tests/corpus/8944-js-setter-return-values.js"])),
791
+ ],
792
+ // 17013, `new.target` in a method or accessor body: legal JavaScript, and
793
+ // always undefined because a method is not constructable (the lowering's
794
+ // method-body path answers undefined; every other site keeps the early
795
+ // SyntaxError Node raises).
796
+ [
797
+ 17013,
798
+ inCheckedJs(at(newTargetInMethod, CHECKER("`new.target` in a method body is undefined: a method is not constructable, so the meta-property never denotes a constructor there", ["tests/corpus/8945-js-new-target-methods.js"]))),
799
+ ],
800
+ // 4104, assigning a readonly array type to a mutable one: `readonly` is an
801
+ // annotation, and whether the write succeeds depends on the array's frozen
802
+ // state at run time.
803
+ [
804
+ 4104,
805
+ inCheckedJs(CHECKER("`readonly` is an annotation Node never sees: the assignment and the later write behave as the array's runtime state decides", ["tests/corpus/8949-js-readonly-write-targets.js"])),
806
+ ],
807
+ // 2839, a condition comparing two object references the checker proves
808
+ // distinct (`{} === {}`): the comparison lowering performs Node's
809
+ // reference test, which is the one the checker described.
810
+ [
811
+ 2839,
812
+ inCheckedJs(CHECKER("two distinct object references never pass a strict-equality test, and the comparison lowering performs that same reference test", ["tests/corpus/8951-js-reference-condition-comparisons.js"])),
813
+ ],
814
+ // 2845, a condition comparing a bigint with a non-finite number or a
815
+ // nullish value (`0n === Infinity`): strict equality compares the types
816
+ // first, and the comparison lowering applies that same test.
817
+ [
818
+ 2845,
819
+ inCheckedJs(CHECKER("a bigint never equals a non-finite number or a nullish value: the comparison lowering applies Node's type test", ["tests/corpus/8952-js-bigint-non-finite-comparisons.js"])),
820
+ ],
706
821
  ];
707
822
  /** Every JavaScript checker opinion, by TypeScript code. */
708
823
  export const JS_OPINIONS = new Map(OPINION_ROWS);
@@ -826,7 +941,6 @@ const TRIAGE_ROWS = [
826
941
  2407,
827
942
  REFUSE("'for...in' over a value the checker types 'never'", "the construct is legal JavaScript: admitting it needs a differential proof that the lowering is Node-exact — the checker's refusal stands until then"),
828
943
  ],
829
- [2408, KEEP(KEEP_GRAMMAR)],
830
944
  [
831
945
  2409,
832
946
  REWRITE("a constructor signature whose return type is not the instance type", "a JSDoc @constructor signature has to describe the instance it builds"),
@@ -852,9 +966,12 @@ const TRIAGE_ROWS = [
852
966
  2454,
853
967
  REFUSE("a 'var' read before its assignment", "the construct is legal JavaScript: admitting it needs a differential proof that the lowering is Node-exact — the checker's refusal stands until then"),
854
968
  ],
969
+ // The `+` and `+=` forms have left this decision: the JS_OPINIONS row above
970
+ // admits them where the lowering reproduces Node's TypeError. This row
971
+ // stays for the operators whose lowered form would throw another message.
855
972
  [
856
973
  2469,
857
- REWRITE("the '+' operator on a symbol operand", "Node throws a TypeError ('Cannot convert a Symbol value to a string') at the operator"),
974
+ REWRITE("another operator on a symbol operand (`~sym`, `-sym`)", "Node throws a TypeError ('Cannot convert a Symbol value to a number') at the operator, and the lowering would raise a differently worded one"),
858
975
  ],
859
976
  [2481, KEEP(KEEP_GRAMMAR)],
860
977
  [2487, KEEP(KEEP_GRAMMAR)],
@@ -957,14 +1074,6 @@ const TRIAGE_ROWS = [
957
1074
  REWRITE("assigning to a private method", "Node throws a TypeError at the assignment; private methods are not writable"),
958
1075
  ],
959
1076
  [2815, KEEP(KEEP_GRAMMAR)],
960
- [
961
- 2839,
962
- REFUSE("a comparison the checker proves constant (two object references)", "the construct is legal JavaScript: admitting it needs a differential proof that the lowering is Node-exact — the checker's refusal stands until then"),
963
- ],
964
- [
965
- 2845,
966
- REFUSE("a comparison the checker proves constant (a bigint against a non-finite number)", "the construct is legal JavaScript: admitting it needs a differential proof that the lowering is Node-exact — the checker's refusal stands until then"),
967
- ],
968
1077
  [
969
1078
  2850,
970
1079
  REWRITE("a 'using' initializer that is not disposable", "Node throws a TypeError when the declaration is initialized"),
@@ -978,10 +1087,6 @@ const TRIAGE_ROWS = [
978
1087
  2871,
979
1088
  REFUSE("an expression the checker proves always nullish", "the construct is legal JavaScript: admitting it needs a differential proof that the lowering is Node-exact — the checker's refusal stands until then"),
980
1089
  ],
981
- [
982
- 4104,
983
- REFUSE("assigning to a readonly array type", "readonly is an annotation: whether the write succeeds or throws depends on the array's frozen state at run time, which the lowering does not model"),
984
- ],
985
1090
  [5076, KEEP(KEEP_GRAMMAR)],
986
1091
  [
987
1092
  7036,
@@ -990,7 +1095,9 @@ const TRIAGE_ROWS = [
990
1095
  [17005, KEEP(KEEP_EARLY_ERROR)],
991
1096
  [17009, KEEP(KEEP_EARLY_ERROR)],
992
1097
  [17011, KEEP(KEEP_EARLY_ERROR)],
993
- [17013, KEEP(KEEP_EARLY_ERROR)],
1098
+ // 17013 has LEFT this table: `new.target` in a method or accessor body is a
1099
+ // JS_OPINIONS row above, and every other site keeps the diagnostic
1100
+ // unchanged, which is what KEEP did.
994
1101
  [18013, KEEP(KEEP_EARLY_ERROR)],
995
1102
  [18014, KEEP(KEEP_EARLY_ERROR)],
996
1103
  [18016, KEEP(KEEP_GRAMMAR)],
@@ -1 +1 @@
1
- {"version":3,"file":"tsc-codes.js","sourceRoot":"","sources":["../../src/frontend/tsc-codes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tsc-codes.js","sourceRoot":"","sources":["../../src/frontend/tsc-codes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type JournalTable } from "./lowering/unit-journal.js";
2
2
  import * as ts from "./ts7/adapter.js";
3
- import type { IrRecordShape, IrType, IrUnionDef, IrUnionDiscriminant } from "../ir/ir.js";
3
+ import type { IrRecordField, IrRecordShape, IrType, IrUnionDef, IrUnionDiscriminant } from "../ir/ir.js";
4
4
  import { typeKey } from "../ir/ir.js";
5
5
  export { typeKey };
6
6
  /** Empty JS object inference describes no fixed layout. Keep these values
@@ -115,10 +115,7 @@ export declare class ShapeRegistry {
115
115
  * registers the structural key (first writer wins — the key may already
116
116
  * belong to a structurally identical shape; the recursive id stays
117
117
  * authoritative for its own checker type either way). */
118
- finalizeRecursive(t: ts.Type, fields: {
119
- name: string;
120
- type: IrType;
121
- }[], indexValue?: IrType, declaredOrder?: string[]): string;
118
+ finalizeRecursive(t: ts.Type, fields: IrRecordField[], indexValue?: IrType, declaredOrder?: string[]): string;
122
119
  /** Interns a canonical (name-sorted) field list, returning its shapeId.
123
120
  * `tuple` shapes (fields "0".."n-1" from a tuple type) intern SEPARATELY
124
121
  * from structurally identical numeric-keyed object records: the flag is
@@ -127,10 +124,7 @@ export declare class ShapeRegistry {
127
124
  * value type (`indexValue`) is part of the identity too: the same
128
125
  * declared fields with and without an overflow portion — or with
129
126
  * differently-typed ones — are different structs. */
130
- intern(fields: {
131
- name: string;
132
- type: IrType;
133
- }[], tuple?: boolean, indexValue?: IrType, declaredOrder?: string[]): string;
127
+ intern(fields: IrRecordField[], tuple?: boolean, indexValue?: IrType, declaredOrder?: string[]): string;
134
128
  get(shapeId: string): IrRecordShape | undefined;
135
129
  /** Names extendShape added to a shape, which every key-order table the
136
130
  * shape adopts lists after its declared names. */
@@ -712,10 +706,10 @@ export declare function isAnyArrayType(t: ts.Type, checker: ts.TypeChecker): boo
712
706
  * falls through to the other fences). Stdlib container heads (Map, Set,
713
707
  * Promise, generators) ALWAYS answer — their shapes have lowerings, so a
714
708
  * later "no lowering" claim about them would be false. */
715
- export declare function describeComponentBlocker(widened: ts.Type, ctx: TypeMapperCtx): string | null;
709
+ export declare function describeComponentBlocker(widened: ts.Type, ctx: TypeMapperCtx, depth?: number, inherited?: Set<ts.Type>): string | null;
716
710
  /** The record-member arm of the component fence: a USER record shape
717
711
  * blocked by ONE member's type. Runs AFTER badType's stdlib/npm/index-
718
712
  * signature routing, so what reaches it is a plain data shape; a null
719
713
  * answer (no member pinpointed — provenance fences, accessor rules, shape
720
714
  * knots) keeps the residual SC2001 story. */
721
- export declare function describeRecordMemberBlocker(widened: ts.Type, ctx: TypeMapperCtx): string | null;
715
+ export declare function describeRecordMemberBlocker(widened: ts.Type, ctx: TypeMapperCtx, depth?: number, inherited?: Set<ts.Type>): string | null;