@scriptc/compiler 0.0.35 → 0.0.36

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 (418) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +7 -6
  2. package/dist/backend/build-cache.d.ts +44 -0
  3. package/dist/backend/build-cache.js +241 -0
  4. package/dist/backend/build-cache.js.map +1 -0
  5. package/dist/backend/{emission/emit-async.d.ts → c/async.d.ts} +21 -30
  6. package/dist/backend/{emission/emit-async.js → c/async.js} +270 -286
  7. package/dist/backend/c/async.js.map +1 -0
  8. package/dist/backend/{emission/emitter.d.ts → c/c-emitter.d.ts} +6 -23
  9. package/dist/backend/{emission/emitter.js → c/c-emitter.js} +53 -107
  10. package/dist/backend/c/c-emitter.js.map +1 -0
  11. package/dist/backend/c/exprs.d.ts +8 -0
  12. package/dist/backend/c/exprs.js +7913 -0
  13. package/dist/backend/c/exprs.js.map +1 -0
  14. package/dist/backend/{emission/emit-island.d.ts → c/island.d.ts} +5 -5
  15. package/dist/backend/{emission/emit-island.js → c/island.js} +24 -22
  16. package/dist/backend/c/island.js.map +1 -0
  17. package/dist/backend/{emission → c}/may-throw.d.ts +1 -1
  18. package/dist/backend/{emission → c}/may-throw.js +1 -1
  19. package/dist/backend/c/may-throw.js.map +1 -0
  20. package/dist/backend/{emission/emit-shapes.d.ts → c/shapes.d.ts} +19 -19
  21. package/dist/backend/{emission/emit-shapes.js → c/shapes.js} +78 -87
  22. package/dist/backend/c/shapes.js.map +1 -0
  23. package/dist/backend/{emission/emit-stmts.d.ts → c/stmts.d.ts} +12 -12
  24. package/dist/backend/{emission/emit-stmts.js → c/stmts.js} +377 -343
  25. package/dist/backend/c/stmts.js.map +1 -0
  26. package/dist/backend/{emission/emit-types.d.ts → c/types.d.ts} +1 -1
  27. package/dist/backend/{emission/emit-types.js → c/types.js} +42 -286
  28. package/dist/backend/c/types.js.map +1 -0
  29. package/dist/backend/c/types.test.js +25 -0
  30. package/dist/backend/c/types.test.js.map +1 -0
  31. package/dist/backend/{emission/emit-walkers.d.ts → c/walkers.d.ts} +19 -41
  32. package/dist/backend/{emission/emit-walkers.js → c/walkers.js} +238 -298
  33. package/dist/backend/c/walkers.js.map +1 -0
  34. package/dist/backend/ffi-callbacks.d.ts +1 -1
  35. package/dist/backend/ffi-callbacks.js +4 -3
  36. package/dist/backend/ffi-callbacks.js.map +1 -1
  37. package/dist/backend/{library-identity.d.ts → library-identity-markers.d.ts} +0 -4
  38. package/dist/backend/{library-identity.js → library-identity-markers.js} +10 -9
  39. package/dist/backend/library-identity-markers.js.map +1 -0
  40. package/dist/backend/llvm/blocks.d.ts +4 -0
  41. package/dist/backend/llvm/blocks.js +29 -0
  42. package/dist/backend/llvm/blocks.js.map +1 -1
  43. package/dist/backend/llvm/classes.d.ts +2 -19
  44. package/dist/backend/llvm/classes.js +20 -52
  45. package/dist/backend/llvm/classes.js.map +1 -1
  46. package/dist/backend/llvm/common.d.ts +4 -0
  47. package/dist/backend/llvm/common.js +27 -0
  48. package/dist/backend/llvm/common.js.map +1 -0
  49. package/dist/backend/llvm/dyn.d.ts +3 -8
  50. package/dist/backend/llvm/dyn.js +152 -224
  51. package/dist/backend/llvm/dyn.js.map +1 -1
  52. package/dist/backend/llvm/emitter.d.ts +4 -1
  53. package/dist/backend/llvm/emitter.js +514 -9981
  54. package/dist/backend/llvm/emitter.js.map +1 -1
  55. package/dist/backend/llvm/expr-async.d.ts +4 -0
  56. package/dist/backend/llvm/expr-async.js +726 -0
  57. package/dist/backend/llvm/expr-async.js.map +1 -0
  58. package/dist/backend/llvm/expr-bytes.d.ts +13 -0
  59. package/dist/backend/llvm/expr-bytes.js +456 -0
  60. package/dist/backend/llvm/expr-bytes.js.map +1 -0
  61. package/dist/backend/llvm/expr-callbacks.d.ts +22 -0
  62. package/dist/backend/llvm/expr-callbacks.js +520 -0
  63. package/dist/backend/llvm/expr-callbacks.js.map +1 -0
  64. package/dist/backend/llvm/expr-calls.d.ts +2 -0
  65. package/dist/backend/llvm/expr-calls.js +618 -0
  66. package/dist/backend/llvm/expr-calls.js.map +1 -0
  67. package/dist/backend/llvm/expr-containers.d.ts +25 -0
  68. package/dist/backend/llvm/expr-containers.js +623 -0
  69. package/dist/backend/llvm/expr-containers.js.map +1 -0
  70. package/dist/backend/llvm/expr-context.d.ts +255 -0
  71. package/dist/backend/llvm/expr-context.js +2 -0
  72. package/dist/backend/llvm/expr-context.js.map +1 -0
  73. package/dist/backend/llvm/expr-control.d.ts +2 -0
  74. package/dist/backend/llvm/expr-control.js +473 -0
  75. package/dist/backend/llvm/expr-control.js.map +1 -0
  76. package/dist/backend/llvm/expr-dispatch.d.ts +4 -0
  77. package/dist/backend/llvm/expr-dispatch.js +151 -0
  78. package/dist/backend/llvm/expr-dispatch.js.map +1 -0
  79. package/dist/backend/llvm/expr-dynamic.d.ts +2 -0
  80. package/dist/backend/llvm/expr-dynamic.js +810 -0
  81. package/dist/backend/llvm/expr-dynamic.js.map +1 -0
  82. package/dist/backend/llvm/expr-island.d.ts +15 -0
  83. package/dist/backend/llvm/expr-island.js +690 -0
  84. package/dist/backend/llvm/expr-island.js.map +1 -0
  85. package/dist/backend/llvm/expr-primitives.d.ts +6 -0
  86. package/dist/backend/llvm/expr-primitives.js +622 -0
  87. package/dist/backend/llvm/expr-primitives.js.map +1 -0
  88. package/dist/backend/llvm/expr-records.d.ts +9 -0
  89. package/dist/backend/llvm/expr-records.js +299 -0
  90. package/dist/backend/llvm/expr-records.js.map +1 -0
  91. package/dist/backend/llvm/expr-stream-bridges.d.ts +13 -0
  92. package/dist/backend/llvm/expr-stream-bridges.js +396 -0
  93. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -0
  94. package/dist/backend/llvm/expr-stream-callbacks.d.ts +12 -0
  95. package/dist/backend/llvm/expr-stream-callbacks.js +360 -0
  96. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -0
  97. package/dist/backend/llvm/lib-dispatch.d.ts +5 -0
  98. package/dist/backend/llvm/lib-dispatch.js +267 -0
  99. package/dist/backend/llvm/lib-dispatch.js.map +1 -0
  100. package/dist/backend/llvm/lib-filesystem.d.ts +6 -0
  101. package/dist/backend/llvm/lib-filesystem.js +594 -0
  102. package/dist/backend/llvm/lib-filesystem.js.map +1 -0
  103. package/dist/backend/llvm/lib-network.d.ts +2 -0
  104. package/dist/backend/llvm/lib-network.js +429 -0
  105. package/dist/backend/llvm/lib-network.js.map +1 -0
  106. package/dist/backend/llvm/lib-process.d.ts +5 -0
  107. package/dist/backend/llvm/lib-process.js +585 -0
  108. package/dist/backend/llvm/lib-process.js.map +1 -0
  109. package/dist/backend/llvm/lib-shared.d.ts +6 -0
  110. package/dist/backend/llvm/lib-shared.js +687 -0
  111. package/dist/backend/llvm/lib-shared.js.map +1 -0
  112. package/dist/backend/llvm/lib-stream.d.ts +2 -0
  113. package/dist/backend/llvm/lib-stream.js +470 -0
  114. package/dist/backend/llvm/lib-stream.js.map +1 -0
  115. package/dist/backend/llvm/shapes.d.ts +12 -2
  116. package/dist/backend/llvm/shapes.js +66 -307
  117. package/dist/backend/llvm/shapes.js.map +1 -1
  118. package/dist/backend/llvm/shapes.test.js +52 -0
  119. package/dist/backend/llvm/shapes.test.js.map +1 -0
  120. package/dist/backend/llvm/unsupported.d.ts +1 -1
  121. package/dist/backend/llvm/walkers.d.ts +2 -3
  122. package/dist/backend/llvm/walkers.js +164 -218
  123. package/dist/backend/llvm/walkers.js.map +1 -1
  124. package/dist/backend/native-codegen.d.ts +38 -0
  125. package/dist/backend/native-codegen.js +261 -0
  126. package/dist/backend/native-codegen.js.map +1 -0
  127. package/dist/backend/native-codegen.test.js +188 -0
  128. package/dist/backend/native-codegen.test.js.map +1 -0
  129. package/dist/backend/native-link-info.d.ts +96 -0
  130. package/dist/backend/native-link-info.js +219 -0
  131. package/dist/backend/native-link-info.js.map +1 -0
  132. package/dist/backend/native-link-info.test.d.ts +1 -0
  133. package/dist/backend/native-link-info.test.js +134 -0
  134. package/dist/backend/native-link-info.test.js.map +1 -0
  135. package/dist/backend/{cc.d.ts → native-toolchain.d.ts} +54 -34
  136. package/dist/backend/{cc.js → native-toolchain.js} +231 -810
  137. package/dist/backend/native-toolchain.js.map +1 -0
  138. package/dist/backend/native-toolchain.test.d.ts +1 -0
  139. package/dist/backend/{cc-cache.test.js → native-toolchain.test.js} +214 -6
  140. package/dist/backend/native-toolchain.test.js.map +1 -0
  141. package/dist/backend/object-localize.js +1 -1
  142. package/dist/backend/runtime-abi.d.ts +10 -0
  143. package/dist/backend/runtime-abi.js +11 -0
  144. package/dist/backend/runtime-abi.js.map +1 -0
  145. package/dist/backend/runtime-pack.d.ts +137 -0
  146. package/dist/backend/runtime-pack.js +400 -0
  147. package/dist/backend/runtime-pack.js.map +1 -0
  148. package/dist/backend/runtime-pack.test.d.ts +1 -0
  149. package/dist/backend/runtime-pack.test.js +438 -0
  150. package/dist/backend/runtime-pack.test.js.map +1 -0
  151. package/dist/backend/targets.d.ts +30 -0
  152. package/dist/backend/targets.js +46 -0
  153. package/dist/backend/targets.js.map +1 -0
  154. package/dist/backend/targets.test.d.ts +1 -0
  155. package/dist/backend/targets.test.js +19 -0
  156. package/dist/backend/targets.test.js.map +1 -0
  157. package/dist/backend/vendor-archives.d.ts +41 -0
  158. package/dist/backend/vendor-archives.js +462 -0
  159. package/dist/backend/vendor-archives.js.map +1 -0
  160. package/dist/compat/fetch-profile.d.ts +0 -1
  161. package/dist/compat/fetch-profile.js +0 -1
  162. package/dist/compat/fetch-profile.js.map +1 -1
  163. package/dist/coverage/report.js +3 -3
  164. package/dist/coverage/report.js.map +1 -1
  165. package/dist/coverage/surface-manifest.js +25 -32
  166. package/dist/coverage/surface-manifest.js.map +1 -1
  167. package/dist/diagnostics/diagnostic.d.ts +11 -12
  168. package/dist/diagnostics/diagnostic.js +19 -17
  169. package/dist/diagnostics/diagnostic.js.map +1 -1
  170. package/dist/diagnostics/render.d.ts +1 -1
  171. package/dist/diagnostics/render.js +1 -1
  172. package/dist/diagnostics/render.js.map +1 -1
  173. package/dist/errors.d.ts +5 -0
  174. package/dist/errors.js +9 -0
  175. package/dist/errors.js.map +1 -0
  176. package/dist/executable/{early-cache.d.ts → executable-cache.d.ts} +2 -2
  177. package/dist/executable/{early-cache.js → executable-cache.js} +36 -98
  178. package/dist/executable/executable-cache.js.map +1 -0
  179. package/dist/executable/executable-cache.test.d.ts +1 -0
  180. package/dist/executable/{early-cache.test.js → executable-cache.test.js} +3 -3
  181. package/dist/executable/executable-cache.test.js.map +1 -0
  182. package/dist/ffi/{profile.js → ffi-manifest.js} +1 -1
  183. package/dist/ffi/ffi-manifest.js.map +1 -0
  184. package/dist/frontend/builtin-modules.d.ts +21 -0
  185. package/dist/frontend/builtin-modules.js +82 -0
  186. package/dist/frontend/builtin-modules.js.map +1 -0
  187. package/dist/frontend/cjs-lexer.d.ts +7 -0
  188. package/dist/frontend/cjs-lexer.js +15 -17
  189. package/dist/frontend/cjs-lexer.js.map +1 -1
  190. package/dist/frontend/dts-paths.d.ts +26 -0
  191. package/dist/frontend/dts-paths.js +41 -0
  192. package/dist/frontend/dts-paths.js.map +1 -0
  193. package/dist/frontend/input-tracker.d.ts +0 -2
  194. package/dist/frontend/input-tracker.js +1 -4
  195. package/dist/frontend/input-tracker.js.map +1 -1
  196. package/dist/frontend/lib-contract.d.ts +1 -5
  197. package/dist/frontend/lib-contract.js +1 -1
  198. package/dist/frontend/lib-contract.js.map +1 -1
  199. package/dist/frontend/lib-exports.d.ts +1 -1
  200. package/dist/frontend/lowering/call-position.d.ts +4 -0
  201. package/dist/frontend/lowering/call-position.js +7 -0
  202. package/dist/frontend/lowering/call-position.js.map +1 -0
  203. package/dist/frontend/lowering/callback-arg.d.ts +20 -0
  204. package/dist/frontend/lowering/callback-arg.js +44 -0
  205. package/dist/frontend/lowering/callback-arg.js.map +1 -0
  206. package/dist/frontend/lowering/lib-boundary.d.ts +1 -1
  207. package/dist/frontend/lowering/lib-boundary.js +34 -34
  208. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  209. package/dist/frontend/lowering/lower-assert.d.ts +3 -3
  210. package/dist/frontend/lowering/lower-assert.js +214 -241
  211. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  212. package/dist/frontend/lowering/lower-builtins.d.ts +74 -146
  213. package/dist/frontend/lowering/lower-builtins.js +1124 -1232
  214. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  215. package/dist/frontend/lowering/lower-calls.d.ts +56 -188
  216. package/dist/frontend/lowering/lower-calls.js +1397 -1492
  217. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  218. package/dist/frontend/lowering/lower-classes.d.ts +62 -125
  219. package/dist/frontend/lowering/lower-classes.js +832 -866
  220. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  221. package/dist/frontend/lowering/lower-comptime.d.ts +5 -12
  222. package/dist/frontend/lowering/lower-comptime.js +32 -31
  223. package/dist/frontend/lowering/lower-comptime.js.map +1 -1
  224. package/dist/frontend/lowering/lower-containers.d.ts +35 -135
  225. package/dist/frontend/lowering/lower-containers.js +1384 -1700
  226. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  227. package/dist/frontend/lowering/lower-dgram.d.ts +3 -7
  228. package/dist/frontend/lowering/lower-dgram.js +97 -111
  229. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  230. package/dist/frontend/lowering/lower-enums.d.ts +4 -4
  231. package/dist/frontend/lowering/lower-enums.js +30 -30
  232. package/dist/frontend/lowering/lower-enums.js.map +1 -1
  233. package/dist/frontend/lowering/{lower-emitter.d.ts → lower-event-emitter.d.ts} +7 -18
  234. package/dist/frontend/lowering/{lower-emitter.js → lower-event-emitter.js} +172 -174
  235. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -0
  236. package/dist/frontend/lowering/lower-expando.d.ts +5 -5
  237. package/dist/frontend/lowering/lower-expando.js +40 -40
  238. package/dist/frontend/lowering/lower-expando.js.map +1 -1
  239. package/dist/frontend/lowering/lower-exprs.d.ts +56 -264
  240. package/dist/frontend/lowering/lower-exprs.js +1624 -1696
  241. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  242. package/dist/frontend/lowering/lower-generators.d.ts +6 -6
  243. package/dist/frontend/lowering/lower-generators.js +73 -72
  244. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  245. package/dist/frontend/lowering/lower-inspect.d.ts +5 -17
  246. package/dist/frontend/lowering/lower-inspect.js +236 -238
  247. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  248. package/dist/frontend/lowering/lower-island.d.ts +34 -45
  249. package/dist/frontend/lowering/lower-island.js +437 -508
  250. package/dist/frontend/lowering/lower-island.js.map +1 -1
  251. package/dist/frontend/lowering/lower-mixins.d.ts +7 -10
  252. package/dist/frontend/lowering/lower-mixins.js +85 -85
  253. package/dist/frontend/lowering/lower-mixins.js.map +1 -1
  254. package/dist/frontend/lowering/lower-modules.d.ts +12 -18
  255. package/dist/frontend/lowering/lower-modules.js +284 -283
  256. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  257. package/dist/frontend/lowering/lower-namespaces.d.ts +23 -49
  258. package/dist/frontend/lowering/lower-namespaces.js +123 -115
  259. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  260. package/dist/frontend/lowering/lower-server.d.ts +18 -25
  261. package/dist/frontend/lowering/lower-server.js +899 -899
  262. package/dist/frontend/lowering/lower-server.js.map +1 -1
  263. package/dist/frontend/lowering/lower-stmts.d.ts +30 -149
  264. package/dist/frontend/lowering/lower-stmts.js +1175 -1228
  265. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  266. package/dist/frontend/lowering/lower-stream.d.ts +12 -12
  267. package/dist/frontend/lowering/lower-stream.js +300 -301
  268. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  269. package/dist/frontend/lowering/lower-test.d.ts +5 -5
  270. package/dist/frontend/lowering/lower-test.js +82 -82
  271. package/dist/frontend/lowering/lower-test.js.map +1 -1
  272. package/dist/frontend/lowering/lowerer.d.ts +60 -20
  273. package/dist/frontend/lowering/lowerer.js +191 -117
  274. package/dist/frontend/lowering/lowerer.js.map +1 -1
  275. package/dist/frontend/lowering/pairs-snapshot.d.ts +11 -0
  276. package/dist/frontend/lowering/pairs-snapshot.js +85 -0
  277. package/dist/frontend/lowering/pairs-snapshot.js.map +1 -0
  278. package/dist/frontend/lowering/static-this.d.ts +6 -0
  279. package/dist/frontend/lowering/static-this.js +24 -0
  280. package/dist/frontend/lowering/static-this.js.map +1 -0
  281. package/dist/frontend/lowering/surfaces.d.ts +14 -33
  282. package/dist/frontend/lowering/surfaces.js +63 -63
  283. package/dist/frontend/lowering/surfaces.js.map +1 -1
  284. package/dist/frontend/npm-static-rewrite.js +6 -28
  285. package/dist/frontend/npm-static-rewrite.js.map +1 -1
  286. package/dist/frontend/npm-static.d.ts +0 -10
  287. package/dist/frontend/npm-static.js +4 -7
  288. package/dist/frontend/npm-static.js.map +1 -1
  289. package/dist/frontend/npm.d.ts +0 -24
  290. package/dist/frontend/npm.js +11 -85
  291. package/dist/frontend/npm.js.map +1 -1
  292. package/dist/frontend/program.d.ts +3 -1
  293. package/dist/frontend/program.js +9 -4
  294. package/dist/frontend/program.js.map +1 -1
  295. package/dist/frontend/provenance-registry.d.ts +0 -2
  296. package/dist/frontend/provenance-registry.js +0 -10
  297. package/dist/frontend/provenance-registry.js.map +1 -1
  298. package/dist/frontend/provenance.js +4 -7
  299. package/dist/frontend/provenance.js.map +1 -1
  300. package/dist/frontend/resolve.d.ts +7 -2
  301. package/dist/frontend/resolve.js +12 -17
  302. package/dist/frontend/resolve.js.map +1 -1
  303. package/dist/frontend/resolve.test.d.ts +1 -0
  304. package/dist/frontend/resolve.test.js +29 -0
  305. package/dist/frontend/resolve.test.js.map +1 -0
  306. package/dist/frontend/ts7/adapter.d.ts +2 -2
  307. package/dist/frontend/ts7/adapter.js +1 -1
  308. package/dist/frontend/ts7/adapter.js.map +1 -1
  309. package/dist/frontend/ts7/checker.js +2 -36
  310. package/dist/frontend/ts7/checker.js.map +1 -1
  311. package/dist/frontend/ts7/enums.js +2 -1
  312. package/dist/frontend/ts7/enums.js.map +1 -1
  313. package/dist/frontend/ts7/{program.js → program-adapter.js} +7 -6
  314. package/dist/frontend/ts7/program-adapter.js.map +1 -0
  315. package/dist/frontend/ts7/world-check.d.ts +1 -3
  316. package/dist/frontend/ts7/world-check.js +3 -1
  317. package/dist/frontend/ts7/world-check.js.map +1 -1
  318. package/dist/frontend/tsc-codes.d.ts +8 -0
  319. package/dist/frontend/tsc-codes.js +109 -0
  320. package/dist/frontend/tsc-codes.js.map +1 -0
  321. package/dist/frontend/{types.d.ts → type-mapper.d.ts} +2 -25
  322. package/dist/frontend/{types.js → type-mapper.js} +12 -11
  323. package/dist/frontend/type-mapper.js.map +1 -0
  324. package/dist/frontend/workspace-registry.d.ts +26 -0
  325. package/dist/frontend/workspace-registry.js +71 -0
  326. package/dist/frontend/workspace-registry.js.map +1 -0
  327. package/dist/index.d.ts +112 -30
  328. package/dist/index.js +512 -126
  329. package/dist/index.js.map +1 -1
  330. package/dist/ir/analysis.d.ts +37 -0
  331. package/dist/ir/analysis.js +118 -0
  332. package/dist/ir/analysis.js.map +1 -0
  333. package/dist/ir/analysis.test.d.ts +1 -0
  334. package/dist/ir/analysis.test.js +21 -0
  335. package/dist/ir/analysis.test.js.map +1 -0
  336. package/dist/ir/build.d.ts +9 -0
  337. package/dist/ir/build.js +33 -0
  338. package/dist/ir/build.js.map +1 -0
  339. package/dist/ir/integer-loops.d.ts +1 -1
  340. package/dist/ir/{nodes.d.ts → ir.d.ts} +54 -26
  341. package/dist/ir/{nodes.js → ir.js} +145 -141
  342. package/dist/ir/ir.js.map +1 -0
  343. package/dist/ir/ir.test.d.ts +1 -0
  344. package/dist/ir/ir.test.js +17 -0
  345. package/dist/ir/ir.test.js.map +1 -0
  346. package/dist/ir/serialize.d.ts +1 -1
  347. package/dist/ir/serialize.js +2 -1
  348. package/dist/ir/serialize.js.map +1 -1
  349. package/dist/ir/validate.d.ts +1 -1
  350. package/dist/ir/validate.js +10 -5
  351. package/dist/ir/validate.js.map +1 -1
  352. package/dist/library/cache-primitives.d.ts +24 -0
  353. package/dist/library/cache-primitives.js +83 -0
  354. package/dist/library/cache-primitives.js.map +1 -0
  355. package/dist/library/cache-reset.test.d.ts +1 -0
  356. package/dist/library/cache-reset.test.js +47 -0
  357. package/dist/library/cache-reset.test.js.map +1 -0
  358. package/dist/library/{implementation-identity.js → compiler-self-identity.js} +1 -1
  359. package/dist/library/compiler-self-identity.js.map +1 -0
  360. package/dist/library/fence-eval.d.ts +3 -1
  361. package/dist/library/fence-eval.js +5 -1
  362. package/dist/library/fence-eval.js.map +1 -1
  363. package/dist/library/int-infer.d.ts +1 -36
  364. package/dist/library/int-infer.js +17 -17
  365. package/dist/library/int-infer.js.map +1 -1
  366. package/dist/library/{early-cache.d.ts → library-cache.d.ts} +1 -1
  367. package/dist/library/{early-cache.js → library-cache.js} +34 -89
  368. package/dist/library/library-cache.js.map +1 -0
  369. package/dist/library/library-cache.test.d.ts +1 -0
  370. package/dist/library/{early-cache.test.js → library-cache.test.js} +2 -2
  371. package/dist/library/library-cache.test.js.map +1 -0
  372. package/dist/library/{profile.d.ts → library-profile.d.ts} +4 -7
  373. package/dist/library/{profile.js → library-profile.js} +18 -11
  374. package/dist/library/library-profile.js.map +1 -0
  375. package/dist/library/semantic-source.js +2 -1
  376. package/dist/library/semantic-source.js.map +1 -1
  377. package/dist/library/sidecar.d.ts +5 -2
  378. package/dist/library/sidecar.js +11 -5
  379. package/dist/library/sidecar.js.map +1 -1
  380. package/dist/startup-cache.d.ts +3 -3
  381. package/dist/startup-cache.js +2 -2
  382. package/dist/startup-cache.js.map +1 -1
  383. package/package.json +6 -2
  384. package/surface-manifest.json +1 -1
  385. package/dist/backend/cc-cache.test.js.map +0 -1
  386. package/dist/backend/cc.js.map +0 -1
  387. package/dist/backend/emission/emit-async.js.map +0 -1
  388. package/dist/backend/emission/emit-exprs.d.ts +0 -13
  389. package/dist/backend/emission/emit-exprs.js +0 -7407
  390. package/dist/backend/emission/emit-exprs.js.map +0 -1
  391. package/dist/backend/emission/emit-island.js.map +0 -1
  392. package/dist/backend/emission/emit-shapes.js.map +0 -1
  393. package/dist/backend/emission/emit-stmts.js.map +0 -1
  394. package/dist/backend/emission/emit-types.js.map +0 -1
  395. package/dist/backend/emission/emit-walkers.js.map +0 -1
  396. package/dist/backend/emission/emitter.js.map +0 -1
  397. package/dist/backend/emission/may-throw.js.map +0 -1
  398. package/dist/backend/library-identity.js.map +0 -1
  399. package/dist/executable/early-cache.js.map +0 -1
  400. package/dist/executable/early-cache.test.js.map +0 -1
  401. package/dist/ffi/profile.js.map +0 -1
  402. package/dist/frontend/lowering/lower-emitter.js.map +0 -1
  403. package/dist/frontend/shared.d.ts +0 -82
  404. package/dist/frontend/shared.js +0 -308
  405. package/dist/frontend/shared.js.map +0 -1
  406. package/dist/frontend/ts7/program.js.map +0 -1
  407. package/dist/frontend/types.js.map +0 -1
  408. package/dist/ir/nodes.js.map +0 -1
  409. package/dist/library/early-cache.js.map +0 -1
  410. package/dist/library/early-cache.test.js.map +0 -1
  411. package/dist/library/implementation-identity.js.map +0 -1
  412. package/dist/library/profile.js.map +0 -1
  413. /package/dist/backend/{cc-cache.test.d.ts → c/types.test.d.ts} +0 -0
  414. /package/dist/{executable/early-cache.test.d.ts → backend/llvm/shapes.test.d.ts} +0 -0
  415. /package/dist/{library/early-cache.test.d.ts → backend/native-codegen.test.d.ts} +0 -0
  416. /package/dist/ffi/{profile.d.ts → ffi-manifest.d.ts} +0 -0
  417. /package/dist/frontend/ts7/{program.d.ts → program-adapter.d.ts} +0 -0
  418. /package/dist/library/{implementation-identity.d.ts → compiler-self-identity.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/ir/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAyC,MAAM,EAAe,MAAM,SAAS,CAAC;AAEhG,MAAM,UAAU,MAAM,CAAC,OAAe,EAAE,IAAY,EAAE,GAAW;IAC/D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,GAAW;IAC/C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,GAAW;IAC/C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAc,EAAE,GAAW;IACjD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACrD,CAAC;AAED;;uEAEuE;AACvE,MAAM,UAAU,UAAU,CACxB,GAAW,EACX,KAAa,EACb,IAAiC;IAEjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO;QACL,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE;QACpE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;QAC1E,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;YACnF,GAAG;SACJ;QACD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;QACjB,GAAG;KACJ,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { IrExpr, IrLocal, IrStmt } from "./nodes.js";
1
+ import type { IrExpr, IrLocal, IrStmt } from "./ir.js";
2
2
  /** A canonical byte loop whose induction variable is mathematically an
3
3
  * unsigned integer for every body entry. Backends may keep this binding in
4
4
  * integer storage while the loop runs, converting to f64 at ordinary JS
@@ -382,6 +382,26 @@ export type IrType = {
382
382
  } | {
383
383
  kind: "void";
384
384
  };
385
+ interface IrKindSet<K extends IrType["kind"]> extends ReadonlySet<IrType["kind"]> {
386
+ has(kind: IrType["kind"]): kind is K;
387
+ }
388
+ /** The opaque runtime handle kinds. procStream is the one scalar handle;
389
+ * every other handle has pointer representation. */
390
+ declare const HANDLE_KIND_LIST: readonly ["stats", "fileHandle", "spawnRes", "child", "netServer", "netSocket", "http2Session", "http2Stream", "dgramSocket", "testCtx", "httpReq", "httpRes", "httpClientReq", "secureCtx", "fsWatcher", "childStream", "procStream"];
391
+ export type HandleKind = typeof HANDLE_KIND_LIST[number];
392
+ export declare const HANDLE_KINDS: IrKindSet<"fileHandle" | "stats" | "spawnRes" | "child" | "netServer" | "netSocket" | "http2Session" | "http2Stream" | "dgramSocket" | "testCtx" | "httpReq" | "httpRes" | "httpClientReq" | "childStream" | "procStream" | "fsWatcher" | "secureCtx">;
393
+ /** The IR kinds represented as pointers in both native backends. */
394
+ declare const POINTER_KIND_LIST: readonly ["string", "array", "map", "set", "regex", "bytes", "url", "searchParams", "symbol", "stats", "fileHandle", "spawnRes", "child", "netServer", "netSocket", "http2Session", "http2Stream", "dgramSocket", "testCtx", "httpReq", "httpRes", "httpClientReq", "secureCtx", "fsWatcher", "childStream", "func", "object", "classval", "record", "union", "dyn", "jsval", "caught", "promise", "generator"];
395
+ export type PointerKind = typeof POINTER_KIND_LIST[number];
396
+ export declare const POINTER_KINDS: IrKindSet<"string" | "symbol" | "object" | "map" | "bytes" | "regex" | "fileHandle" | "searchParams" | "array" | "set" | "url" | "stats" | "spawnRes" | "child" | "netServer" | "netSocket" | "http2Session" | "http2Stream" | "dgramSocket" | "testCtx" | "httpReq" | "httpRes" | "httpClientReq" | "childStream" | "fsWatcher" | "secureCtx" | "func" | "jsval" | "classval" | "record" | "union" | "dyn" | "caught" | "promise" | "generator">;
397
+ /** Runtime RC symbol stem for each IR type kind. An empty stem means the
398
+ * kind is scalar/unit or uses an emitted per-shape helper (object/record).
399
+ * Keeping this exhaustive makes a new runtime handle kind a compile error
400
+ * until its one retain/release family is named here. */
401
+ export declare const RUNTIME_RC_STEMS: Record<IrType["kind"], string>;
402
+ /** The runtime-provided RC family for a type, or null when the backend must
403
+ * use an emitted class/record helper (or the type is not refcounted). */
404
+ export declare function runtimeRcStem(t: IrType): string | null;
385
405
  /** The ref kinds whose values are JS OBJECTS for truthiness: always true
386
406
  * ([] and {} included) — toBool accepts them (the operand still evaluates;
387
407
  * the test is constant), and per-union truthiness helpers answer their
@@ -1858,9 +1878,16 @@ export type IrLibFn =
1858
1878
  * (portless's listenOnProxyInterface): args [server, port, host,
1859
1879
  * ipv6Only]. host is an IP literal string ("" = the host-less
1860
1880
  * dual-stack any default); ipv6Only sets IPV6_V6ONLY before the bind.
1861
- * Failures are the async 'error', message in Node's listen shape with
1862
- * the requested host. Never throws. */
1863
- | "net.listenOpts" | "net.listenOptsCb" | "net.serverPort"
1881
+ * These are the old-shaped calls, retained for omitted reusePort so
1882
+ * serialized IR remains compatible. Failures are the async 'error',
1883
+ * message in Node's listen shape with the requested host. Never throws. */
1884
+ | "net.listenOpts" | "net.listenOptsCb"
1885
+ /** Additive ABI for listen({ ..., reusePort }) — args
1886
+ * [server, port, host, ipv6Only, reusePort], with the callback following
1887
+ * those values in the callback form. The final BOOL is the requested
1888
+ * kernel connection-distribution option; old spellings remain
1889
+ * four/five-argument calls so serialized IR stays compatible. */
1890
+ | "net.listenOptsReusePort" | "net.listenOptsReusePortCb" | "net.serverPort"
1864
1891
  /** server.address() as the full AddressInfo record (the dgram.address
1865
1892
  * materialization pattern: the emitter builds the record from the three
1866
1893
  * runtime reads; the frontend pinned the shape). Never throws — before
@@ -2348,7 +2375,7 @@ export type IrLibFn =
2348
2375
  * promise, rejecting on failure like the other fsp members). The sync
2349
2376
  * pair THROWS catchably on failure exactly like the utf8 forms. */
2350
2377
  | "fs.readFileSyncBytes" | "fs.writeFileSyncBytes" | "fsp.readFileBytes"
2351
- /** node:zlib (scr_zlib.c — cc.ts compiles/links it ONLY when these
2378
+ /** node:zlib (scr_zlib.c — native-toolchain.ts compiles/links it ONLY when these
2352
2379
  * appear on the IR, the regex/libcurl gating precedent): deflateSync/
2353
2380
  * inflateSync over u8 bytes with Node's default options. deflate never
2354
2381
  * throws (OOM aborts); inflate of corrupt input THROWS Node's error
@@ -2933,7 +2960,7 @@ export type IrLibFn =
2933
2960
  | "tp.setTimeout" | "tp.setImmediate"
2934
2961
  /** node:diagnostics_channel (scr_dc.c, linked when any dc.* appears —
2935
2962
  * the zlib gating precedent): a process-global name→channel registry;
2936
- * channel values are f64 handles (types.ts maps Channel to F64, the
2963
+ * channel values are f64 handles (type-mapper.ts maps Channel to F64, the
2937
2964
  * readline.Interface pattern). Subscribers are dyn function values —
2938
2965
  * identity-compared by unsubscribe, called (message, name) by publish
2939
2966
  * over a SNAPSHOT of the list (a subscriber unsubscribing itself
@@ -2944,7 +2971,7 @@ export type IrLibFn =
2944
2971
  * ERR_INVALID_ARG_TYPE TypeError for non-function subscribers. */
2945
2972
  | "dc.channel" | "dc.subscribe" | "dc.unsubscribe" | "dc.hasSubscribers" | "dc.publish" | "dc.chanSubscribe" | "dc.chanUnsubscribe" | "dc.chanHasSubscribers" | "dc.chanName"
2946
2973
  /** TracingChannel (dc.tracingChannel): a registry entry of the five
2947
- * event channels, an f64 handle like Channel (types.ts). tcSubscribe/
2974
+ * event channels, an f64 handle like Channel (type-mapper.ts). tcSubscribe/
2948
2975
  * tcUnsubscribe walk a dyn handlers object's five event keys (truthy
2949
2976
  * non-function slots throw the per-channel ERR_INVALID_ARG_TYPE);
2950
2977
  * tcTraceSync/tcTraceCallback/tcTracePromise run Node's publish choreography in C over
@@ -4898,7 +4925,7 @@ export declare function canExitIslandToType(t: IrType, getRecord: (shapeId: stri
4898
4925
  /** True when the module contains any regex construct — a regexLit /
4899
4926
  * regexIntrinsic node or a regex-typed slot anywhere. This is the link
4900
4927
  * switch that pulls scr_regex.c + the vendored libregexp into the binary
4901
- * (cc.ts); regex-free programs keep the historical command line. A generic
4928
+ * (native-toolchain.ts); regex-free programs keep the historical command line. A generic
4902
4929
  * JSON walk: `kind` discriminants live only on IR objects, so user string
4903
4930
  * VALUES can never false-positive. */
4904
4931
  export declare function moduleUsesRegex(mod: IrModule): boolean;
@@ -4916,7 +4943,7 @@ export declare function moduleUsesLegacyTextDecoder(mod: IrModule): boolean;
4916
4943
  export declare function moduleUsesFileHandle(mod: IrModule): boolean;
4917
4944
  /** True when user code lowers static fetch or the embedded npm graph
4918
4945
  * reaches the engine's global fetch — the link switch that pulls scr_fetch.c +
4919
- * its socket/tls/zlib dependencies into the binary (cc.ts) and has the
4946
+ * its socket/tls/zlib dependencies into the binary (native-toolchain.ts) and has the
4920
4947
  * emitted main call scr_fetch_install. The npm graph records the embedded
4921
4948
  * source fact with a parser + binder, so comments, strings, property names,
4922
4949
  * and local `fetch` bindings do not change the link or target capability.
@@ -4924,12 +4951,12 @@ export declare function moduleUsesFileHandle(mod: IrModule): boolean;
4924
4951
  export declare function moduleUsesFetch(mod: IrModule): boolean;
4925
4952
  /** True when the module uses the process-events surface — the link switch
4926
4953
  * that pulls scr_events.c into the binary and has the emitted main call
4927
- * scr_events_install (cc.ts + emitter; the scr_regex/scr_fetch/scr_zlib
4954
+ * scr_events_install (native-toolchain.ts + emitter; the scr_regex/scr_fetch/scr_zlib
4928
4955
  * gating precedent). Event-free programs pay zero bytes and keep their
4929
4956
  * exact link line. Same generic-walk shape as moduleUsesRegex. */
4930
4957
  export declare function moduleUsesProcessEvents(mod: IrModule): boolean;
4931
4958
  /** True when the module uses the node:events EventEmitter surface — the
4932
- * link switch that pulls scr_events_emitter.c into the binary (cc.ts; the
4959
+ * link switch that pulls scr_events_emitter.c into the binary (native-toolchain.ts; the
4933
4960
  * scr_events.c gating precedent, but pure data structure: no install, no
4934
4961
  * loop hooks). Two signals: the `%EventEmitter` class def rides the
4935
4962
  * module (any emitter-typed value or `extends EventEmitter` subclass
@@ -4951,12 +4978,12 @@ export declare function moduleUsesStream(mod: IrModule): boolean;
4951
4978
  * the first; the emitted main installs it before any island entry). */
4952
4979
  export declare function moduleEmbedsBuiltin(mod: IrModule, builtin: string): boolean;
4953
4980
  /** Embedded module texts at least this long are DEFLATE-compressed into
4954
- * the emitted C (emit-island.ts; each stays plain when deflate does not
4981
+ * the emitted C (island.ts; each stays plain when deflate does not
4955
4982
  * shrink it) and inflated lazily by the island's module loader at first
4956
4983
  * load. Below it the zlib round trip cannot pay for itself. */
4957
4984
  export declare const NPM_COMPRESS_MIN = 1024;
4958
4985
  /** True when the emitted npm tables will carry compressed module text —
4959
- * the SAME candidate test emit-island.ts compresses by, so index.ts's
4986
+ * the SAME candidate test island.ts compresses by, so index.ts's
4960
4987
  * zlib link switch and emitter.ts's inflater installation stay in
4961
4988
  * lockstep with the emission (a candidate whose deflate happens not to
4962
4989
  * shrink stays plain; the installed inflater is then just unused). */
@@ -4964,17 +4991,17 @@ export declare function moduleEmbedsCompressedNpm(mod: IrModule): boolean;
4964
4991
  /** True when the module contains any zlib libCall (the static lowering)
4965
4992
  * OR the embedded npm graph imports node:zlib (the island shim) — the
4966
4993
  * link switch that pulls scr_zlib.c + the system libz into the binary
4967
- * (cc.ts); zlib-free programs keep their exact link line. Same
4994
+ * (native-toolchain.ts); zlib-free programs keep their exact link line. Same
4968
4995
  * generic-walk shape as moduleUsesRegex: `kind`/`fn` discriminants live
4969
4996
  * only on IR objects. */
4970
4997
  export declare function moduleUsesZlib(mod: IrModule): boolean;
4971
4998
  /** True when the module contains any dc.* libCall — the link switch that
4972
4999
  * pulls scr_dc.c (the diagnostics_channel registry and pub/sub) into the
4973
- * binary (cc.ts). Channel-free binaries keep their exact size class.
5000
+ * binary (native-toolchain.ts). Channel-free binaries keep their exact size class.
4974
5001
  * Same walk shape as moduleUsesZlib. */
4975
5002
  export declare function moduleUsesDc(mod: IrModule): boolean;
4976
5003
  /** True when the module contains any assert libCall — the link switch
4977
- * that pulls scr_assert.c into the binary (cc.ts). scr_regex.c calls the
5004
+ * that pulls scr_assert.c into the binary (native-toolchain.ts). scr_regex.c calls the
4978
5005
  * assert throw/inspect helpers (assert.match lives there), so the regex
4979
5006
  * switch also pulls scr_assert.c; assert-free, regex-free binaries keep
4980
5007
  * the historical command line and size. Same walk shape as
@@ -4983,31 +5010,31 @@ export declare function moduleUsesAssert(mod: IrModule): boolean;
4983
5010
  /** True when the module contains any dynInvoke node or dyn.defineProps
4984
5011
  * libCall — the link switch that pulls scr_dyn_invoke.c (the prototype-
4985
5012
  * method dispatch on dyn receivers, plus scr_dyn_display and
4986
- * scr_dyn_define_props) into the binary (cc.ts; the assert gating
5013
+ * scr_dyn_define_props) into the binary (native-toolchain.ts; the assert gating
4987
5014
  * precedent — dispatch-free binaries keep their exact size class). Same
4988
5015
  * walk shape as moduleUsesZlib. */
4989
5016
  export declare function moduleUsesDynInvoke(mod: IrModule): boolean;
4990
5017
  /** True when the module contains any insp libCall — the link switch that
4991
- * pulls scr_inspect.c into the binary (cc.ts; the assert gating
5018
+ * pulls scr_inspect.c into the binary (native-toolchain.ts; the assert gating
4992
5019
  * precedent — inspect-free binaries keep the historical command line and
4993
5020
  * size class). Same walk shape as moduleUsesZlib. */
4994
5021
  /** True when the module needs scr_async_dyn.c — the checked-dynamic
4995
5022
  * async surfaces (dyn-promise then/catch/finally reactions, await of a
4996
5023
  * dyn value, `new Promise(setImmediate)`, AsyncLocalStorage, the
4997
5024
  * unhandledRejection/warning process events). Also pulled by the
4998
- * dynInvoke and dc gates (their TUs call into this one) — cc.ts. Same
5025
+ * dynInvoke and dc gates (their TUs call into this one) — native-toolchain.ts. Same
4999
5026
  * walk shape as moduleUsesZlib. */
5000
5027
  export declare function moduleUsesDynAsync(mod: IrModule): boolean;
5001
5028
  export declare function moduleUsesInspect(mod: IrModule): boolean;
5002
5029
  /** True when the module contains any net libCall — the link switch that
5003
5030
  * pulls scr_net.c into the binary and has the emitted main call
5004
- * scr_net_install (cc.ts + emitter; the scr_events gating precedent).
5031
+ * scr_net_install (native-toolchain.ts + emitter; the scr_events gating precedent).
5005
5032
  * Net-free programs pay zero bytes and keep their exact link line. Same
5006
5033
  * generic-walk shape as moduleUsesZlib. */
5007
5034
  export declare function moduleUsesNet(mod: IrModule): boolean;
5008
5035
  /** True when the module contains any sym.* libCall or a symbol-kind type
5009
5036
  * anywhere in the IR — the link switch that pulls scr_symbol.c into the
5010
- * binary (cc.ts; the scr_net gating precedent — no install call, the
5037
+ * binary (native-toolchain.ts; the scr_net gating precedent — no install call, the
5011
5038
  * Symbol.for registry initializes lazily). The TYPE check matters like
5012
5039
  * net's: a symbol-typed local whose initializer compiled to a runtime
5013
5040
  * fence still emits release calls that need the unit linked. Symbol-free
@@ -5036,25 +5063,25 @@ export declare function moduleUsesQs(mod: IrModule): boolean;
5036
5063
  export declare function moduleUsesParseArgs(mod: IrModule): boolean;
5037
5064
  /** True when the module contains any fs.watch/watcher.* libCall — the
5038
5065
  * link switch that pulls scr_watch.c into the binary and has the emitted
5039
- * main call scr_watch_install (cc.ts + emitter; the scr_net gating
5066
+ * main call scr_watch_install (native-toolchain.ts + emitter; the scr_net gating
5040
5067
  * precedent). Watch-free programs pay zero bytes and keep their exact
5041
5068
  * link line. Same generic-walk shape as moduleUsesZlib. */
5042
5069
  export declare function moduleUsesFsWatch(mod: IrModule): boolean;
5043
5070
  /** True when the module contains any test.* libCall or a testCtx handle
5044
5071
  * type — the link switch that pulls scr_test.c into the binary and has
5045
5072
  * the emitted main return scr_test_exit_code() after the loop drains
5046
- * (cc.ts + emitter; the moduleUsesDgram shape). Test-free programs pay
5073
+ * (native-toolchain.ts + emitter; the moduleUsesDgram shape). Test-free programs pay
5047
5074
  * zero bytes and keep their exact link line. */
5048
5075
  export declare function moduleUsesNodeTest(mod: IrModule): boolean;
5049
5076
  /** True when the module contains any dgram.* or dns.* libCall — the
5050
5077
  * link switch that pulls scr_dgram.c into the binary and has the emitted
5051
- * main call scr_dgram_install (cc.ts + emitter; the scr_net gating
5078
+ * main call scr_dgram_install (native-toolchain.ts + emitter; the scr_net gating
5052
5079
  * precedent — dns.lookup lives in the same unit, so either prefix
5053
5080
  * answers). Dgram-free programs pay zero bytes and keep their exact link
5054
5081
  * line. Same generic-walk shape as moduleUsesZlib. */
5055
5082
  export declare function moduleUsesDgram(mod: IrModule): boolean;
5056
5083
  /** True when the module contains any http.* libCall — the link switch
5057
- * that pulls scr_http.c into the binary (cc.ts; moduleUsesNet already
5084
+ * that pulls scr_http.c into the binary (native-toolchain.ts; moduleUsesNet already
5058
5085
  * answers true for these, so scr_net.c comes along). */
5059
5086
  export declare function moduleUsesHttpServer(mod: IrModule): boolean;
5060
5087
  /** True when the module uses the REAL h2 surface (scr_http2.c): any core
@@ -5063,7 +5090,7 @@ export declare function moduleUsesHttpServer(mod: IrModule): boolean;
5063
5090
  export declare function moduleUsesHttp2(mod: IrModule): boolean;
5064
5091
  /** True when the module contains any tls.* or https.* libCall — the link
5065
5092
  * switch that pulls scr_tls.c and the vendored mbedTLS archive into the
5066
- * binary (cc.ts; moduleUsesNet and moduleUsesHttpServer already answer
5093
+ * binary (native-toolchain.ts; moduleUsesNet and moduleUsesHttpServer already answer
5067
5094
  * true for these, so scr_net.c and scr_http.c come along). TLS-free
5068
5095
  * programs keep their exact link line and never build mbedTLS. */
5069
5096
  export declare function moduleUsesTls(mod: IrModule): boolean;
@@ -5071,7 +5098,7 @@ export declare function moduleUsesTls(mod: IrModule): boolean;
5071
5098
  * for scr_tls_ca.c, the CA-store introspection unit (getCACertificates /
5072
5099
  * rootCertificates / setDefaultCACertificates). Deliberately SEPARATE
5073
5100
  * from moduleUsesTls: the unit is plain PEM-block bookkeeping, so a
5074
- * program that only inspects the CA store never pulls mbedTLS. cc.ts
5101
+ * program that only inspects the CA store never pulls mbedTLS. native-toolchain.ts
5075
5102
  * also compiles the unit whenever TLS itself links — scr_tls.c consults
5076
5103
  * the unit's default-set override for its trust anchors. */
5077
5104
  export declare function moduleUsesTlsCa(mod: IrModule): boolean;
@@ -5110,3 +5137,4 @@ export declare function moduleLibNondeterministicSurface(mod: IrModule): string
5110
5137
  * seed on `dynCheck` and `awaitExpr` nodes, which throw on validation
5111
5138
  * failure / promise rejection). */
5112
5139
  export declare const MAY_THROW_LIB_FNS: ReadonlySet<IrLibFn>;
5140
+ export {};