@scriptc/compiler 0.0.34 → 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 (424) 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/split.d.ts +43 -0
  121. package/dist/backend/llvm/split.js +227 -0
  122. package/dist/backend/llvm/split.js.map +1 -0
  123. package/dist/backend/llvm/split.test.d.ts +1 -0
  124. package/dist/backend/llvm/split.test.js +102 -0
  125. package/dist/backend/llvm/split.test.js.map +1 -0
  126. package/dist/backend/llvm/unsupported.d.ts +1 -1
  127. package/dist/backend/llvm/walkers.d.ts +2 -3
  128. package/dist/backend/llvm/walkers.js +164 -218
  129. package/dist/backend/llvm/walkers.js.map +1 -1
  130. package/dist/backend/native-codegen.d.ts +38 -0
  131. package/dist/backend/native-codegen.js +261 -0
  132. package/dist/backend/native-codegen.js.map +1 -0
  133. package/dist/backend/native-codegen.test.d.ts +1 -0
  134. package/dist/backend/native-codegen.test.js +188 -0
  135. package/dist/backend/native-codegen.test.js.map +1 -0
  136. package/dist/backend/native-link-info.d.ts +96 -0
  137. package/dist/backend/native-link-info.js +219 -0
  138. package/dist/backend/native-link-info.js.map +1 -0
  139. package/dist/backend/native-link-info.test.d.ts +1 -0
  140. package/dist/backend/native-link-info.test.js +134 -0
  141. package/dist/backend/native-link-info.test.js.map +1 -0
  142. package/dist/backend/{cc.d.ts → native-toolchain.d.ts} +139 -47
  143. package/dist/backend/{cc.js → native-toolchain.js} +1008 -910
  144. package/dist/backend/native-toolchain.js.map +1 -0
  145. package/dist/backend/native-toolchain.test.d.ts +1 -0
  146. package/dist/backend/{cc-cache.test.js → native-toolchain.test.js} +1297 -127
  147. package/dist/backend/native-toolchain.test.js.map +1 -0
  148. package/dist/backend/object-localize.js +1 -1
  149. package/dist/backend/object-localize.test.js +20 -0
  150. package/dist/backend/object-localize.test.js.map +1 -1
  151. package/dist/backend/runtime-abi.d.ts +10 -0
  152. package/dist/backend/runtime-abi.js +11 -0
  153. package/dist/backend/runtime-abi.js.map +1 -0
  154. package/dist/backend/runtime-pack.d.ts +137 -0
  155. package/dist/backend/runtime-pack.js +400 -0
  156. package/dist/backend/runtime-pack.js.map +1 -0
  157. package/dist/backend/runtime-pack.test.d.ts +1 -0
  158. package/dist/backend/runtime-pack.test.js +438 -0
  159. package/dist/backend/runtime-pack.test.js.map +1 -0
  160. package/dist/backend/targets.d.ts +30 -0
  161. package/dist/backend/targets.js +46 -0
  162. package/dist/backend/targets.js.map +1 -0
  163. package/dist/backend/targets.test.d.ts +1 -0
  164. package/dist/backend/targets.test.js +19 -0
  165. package/dist/backend/targets.test.js.map +1 -0
  166. package/dist/backend/vendor-archives.d.ts +41 -0
  167. package/dist/backend/vendor-archives.js +462 -0
  168. package/dist/backend/vendor-archives.js.map +1 -0
  169. package/dist/compat/fetch-profile.d.ts +0 -1
  170. package/dist/compat/fetch-profile.js +0 -1
  171. package/dist/compat/fetch-profile.js.map +1 -1
  172. package/dist/coverage/report.js +3 -3
  173. package/dist/coverage/report.js.map +1 -1
  174. package/dist/coverage/surface-manifest.js +25 -32
  175. package/dist/coverage/surface-manifest.js.map +1 -1
  176. package/dist/diagnostics/diagnostic.d.ts +11 -12
  177. package/dist/diagnostics/diagnostic.js +19 -17
  178. package/dist/diagnostics/diagnostic.js.map +1 -1
  179. package/dist/diagnostics/render.d.ts +1 -1
  180. package/dist/diagnostics/render.js +1 -1
  181. package/dist/diagnostics/render.js.map +1 -1
  182. package/dist/errors.d.ts +5 -0
  183. package/dist/errors.js +9 -0
  184. package/dist/errors.js.map +1 -0
  185. package/dist/executable/executable-cache.d.ts +86 -0
  186. package/dist/executable/executable-cache.js +398 -0
  187. package/dist/executable/executable-cache.js.map +1 -0
  188. package/dist/executable/executable-cache.test.d.ts +1 -0
  189. package/dist/executable/executable-cache.test.js +300 -0
  190. package/dist/executable/executable-cache.test.js.map +1 -0
  191. package/dist/ffi/{profile.d.ts → ffi-manifest.d.ts} +7 -2
  192. package/dist/ffi/{profile.js → ffi-manifest.js} +2 -1
  193. package/dist/ffi/ffi-manifest.js.map +1 -0
  194. package/dist/frontend/builtin-modules.d.ts +21 -0
  195. package/dist/frontend/builtin-modules.js +82 -0
  196. package/dist/frontend/builtin-modules.js.map +1 -0
  197. package/dist/frontend/cjs-lexer.d.ts +7 -0
  198. package/dist/frontend/cjs-lexer.js +15 -17
  199. package/dist/frontend/cjs-lexer.js.map +1 -1
  200. package/dist/frontend/dts-paths.d.ts +26 -0
  201. package/dist/frontend/dts-paths.js +41 -0
  202. package/dist/frontend/dts-paths.js.map +1 -0
  203. package/dist/frontend/input-tracker.d.ts +0 -2
  204. package/dist/frontend/input-tracker.js +1 -4
  205. package/dist/frontend/input-tracker.js.map +1 -1
  206. package/dist/frontend/lib-contract.d.ts +1 -5
  207. package/dist/frontend/lib-contract.js +1 -1
  208. package/dist/frontend/lib-contract.js.map +1 -1
  209. package/dist/frontend/lib-exports.d.ts +1 -1
  210. package/dist/frontend/lowering/call-position.d.ts +4 -0
  211. package/dist/frontend/lowering/call-position.js +7 -0
  212. package/dist/frontend/lowering/call-position.js.map +1 -0
  213. package/dist/frontend/lowering/callback-arg.d.ts +20 -0
  214. package/dist/frontend/lowering/callback-arg.js +44 -0
  215. package/dist/frontend/lowering/callback-arg.js.map +1 -0
  216. package/dist/frontend/lowering/lib-boundary.d.ts +1 -1
  217. package/dist/frontend/lowering/lib-boundary.js +34 -34
  218. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  219. package/dist/frontend/lowering/lower-assert.d.ts +3 -3
  220. package/dist/frontend/lowering/lower-assert.js +214 -241
  221. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  222. package/dist/frontend/lowering/lower-builtins.d.ts +74 -146
  223. package/dist/frontend/lowering/lower-builtins.js +1126 -1234
  224. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  225. package/dist/frontend/lowering/lower-calls.d.ts +56 -188
  226. package/dist/frontend/lowering/lower-calls.js +1409 -1494
  227. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  228. package/dist/frontend/lowering/lower-classes.d.ts +62 -125
  229. package/dist/frontend/lowering/lower-classes.js +832 -866
  230. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  231. package/dist/frontend/lowering/lower-comptime.d.ts +5 -12
  232. package/dist/frontend/lowering/lower-comptime.js +32 -31
  233. package/dist/frontend/lowering/lower-comptime.js.map +1 -1
  234. package/dist/frontend/lowering/lower-containers.d.ts +35 -135
  235. package/dist/frontend/lowering/lower-containers.js +1394 -1715
  236. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  237. package/dist/frontend/lowering/lower-dgram.d.ts +3 -7
  238. package/dist/frontend/lowering/lower-dgram.js +97 -111
  239. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  240. package/dist/frontend/lowering/lower-enums.d.ts +4 -4
  241. package/dist/frontend/lowering/lower-enums.js +30 -30
  242. package/dist/frontend/lowering/lower-enums.js.map +1 -1
  243. package/dist/frontend/lowering/{lower-emitter.d.ts → lower-event-emitter.d.ts} +7 -18
  244. package/dist/frontend/lowering/{lower-emitter.js → lower-event-emitter.js} +172 -174
  245. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -0
  246. package/dist/frontend/lowering/lower-expando.d.ts +5 -5
  247. package/dist/frontend/lowering/lower-expando.js +40 -40
  248. package/dist/frontend/lowering/lower-expando.js.map +1 -1
  249. package/dist/frontend/lowering/lower-exprs.d.ts +56 -264
  250. package/dist/frontend/lowering/lower-exprs.js +1644 -1704
  251. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  252. package/dist/frontend/lowering/lower-generators.d.ts +6 -6
  253. package/dist/frontend/lowering/lower-generators.js +73 -72
  254. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  255. package/dist/frontend/lowering/lower-inspect.d.ts +5 -17
  256. package/dist/frontend/lowering/lower-inspect.js +236 -238
  257. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  258. package/dist/frontend/lowering/lower-island.d.ts +34 -45
  259. package/dist/frontend/lowering/lower-island.js +440 -511
  260. package/dist/frontend/lowering/lower-island.js.map +1 -1
  261. package/dist/frontend/lowering/lower-mixins.d.ts +7 -10
  262. package/dist/frontend/lowering/lower-mixins.js +86 -86
  263. package/dist/frontend/lowering/lower-mixins.js.map +1 -1
  264. package/dist/frontend/lowering/lower-modules.d.ts +12 -18
  265. package/dist/frontend/lowering/lower-modules.js +284 -283
  266. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  267. package/dist/frontend/lowering/lower-namespaces.d.ts +23 -49
  268. package/dist/frontend/lowering/lower-namespaces.js +123 -115
  269. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  270. package/dist/frontend/lowering/lower-server.d.ts +18 -25
  271. package/dist/frontend/lowering/lower-server.js +899 -899
  272. package/dist/frontend/lowering/lower-server.js.map +1 -1
  273. package/dist/frontend/lowering/lower-stmts.d.ts +30 -149
  274. package/dist/frontend/lowering/lower-stmts.js +1176 -1229
  275. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  276. package/dist/frontend/lowering/lower-stream.d.ts +12 -12
  277. package/dist/frontend/lowering/lower-stream.js +300 -301
  278. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  279. package/dist/frontend/lowering/lower-test.d.ts +5 -5
  280. package/dist/frontend/lowering/lower-test.js +82 -82
  281. package/dist/frontend/lowering/lower-test.js.map +1 -1
  282. package/dist/frontend/lowering/lowerer.d.ts +66 -20
  283. package/dist/frontend/lowering/lowerer.js +421 -198
  284. package/dist/frontend/lowering/lowerer.js.map +1 -1
  285. package/dist/frontend/lowering/pairs-snapshot.d.ts +11 -0
  286. package/dist/frontend/lowering/pairs-snapshot.js +85 -0
  287. package/dist/frontend/lowering/pairs-snapshot.js.map +1 -0
  288. package/dist/frontend/lowering/static-this.d.ts +6 -0
  289. package/dist/frontend/lowering/static-this.js +24 -0
  290. package/dist/frontend/lowering/static-this.js.map +1 -0
  291. package/dist/frontend/lowering/surfaces.d.ts +14 -33
  292. package/dist/frontend/lowering/surfaces.js +64 -64
  293. package/dist/frontend/lowering/surfaces.js.map +1 -1
  294. package/dist/frontend/npm-static-rewrite.js +6 -28
  295. package/dist/frontend/npm-static-rewrite.js.map +1 -1
  296. package/dist/frontend/npm-static.d.ts +0 -10
  297. package/dist/frontend/npm-static.js +4 -7
  298. package/dist/frontend/npm-static.js.map +1 -1
  299. package/dist/frontend/npm.d.ts +0 -24
  300. package/dist/frontend/npm.js +11 -85
  301. package/dist/frontend/npm.js.map +1 -1
  302. package/dist/frontend/program.d.ts +3 -1
  303. package/dist/frontend/program.js +51 -17
  304. package/dist/frontend/program.js.map +1 -1
  305. package/dist/frontend/provenance-registry.d.ts +0 -2
  306. package/dist/frontend/provenance-registry.js +0 -10
  307. package/dist/frontend/provenance-registry.js.map +1 -1
  308. package/dist/frontend/provenance.js +4 -7
  309. package/dist/frontend/provenance.js.map +1 -1
  310. package/dist/frontend/resolve.d.ts +7 -2
  311. package/dist/frontend/resolve.js +12 -17
  312. package/dist/frontend/resolve.js.map +1 -1
  313. package/dist/frontend/resolve.test.d.ts +1 -0
  314. package/dist/frontend/resolve.test.js +29 -0
  315. package/dist/frontend/resolve.test.js.map +1 -0
  316. package/dist/frontend/ts7/adapter.d.ts +2 -2
  317. package/dist/frontend/ts7/adapter.js +1 -1
  318. package/dist/frontend/ts7/adapter.js.map +1 -1
  319. package/dist/frontend/ts7/checker.d.ts +40 -2
  320. package/dist/frontend/ts7/checker.js +182 -54
  321. package/dist/frontend/ts7/checker.js.map +1 -1
  322. package/dist/frontend/ts7/enums.js +2 -1
  323. package/dist/frontend/ts7/enums.js.map +1 -1
  324. package/dist/frontend/ts7/{program.js → program-adapter.js} +7 -6
  325. package/dist/frontend/ts7/program-adapter.js.map +1 -0
  326. package/dist/frontend/ts7/world-check.d.ts +1 -3
  327. package/dist/frontend/ts7/world-check.js +3 -1
  328. package/dist/frontend/ts7/world-check.js.map +1 -1
  329. package/dist/frontend/tsc-codes.d.ts +8 -0
  330. package/dist/frontend/tsc-codes.js +109 -0
  331. package/dist/frontend/tsc-codes.js.map +1 -0
  332. package/dist/frontend/{types.d.ts → type-mapper.d.ts} +2 -25
  333. package/dist/frontend/{types.js → type-mapper.js} +31 -52
  334. package/dist/frontend/type-mapper.js.map +1 -0
  335. package/dist/frontend/workspace-registry.d.ts +26 -0
  336. package/dist/frontend/workspace-registry.js +71 -0
  337. package/dist/frontend/workspace-registry.js.map +1 -0
  338. package/dist/index.d.ts +115 -30
  339. package/dist/index.js +650 -146
  340. package/dist/index.js.map +1 -1
  341. package/dist/ir/analysis.d.ts +37 -0
  342. package/dist/ir/analysis.js +118 -0
  343. package/dist/ir/analysis.js.map +1 -0
  344. package/dist/ir/analysis.test.d.ts +1 -0
  345. package/dist/ir/analysis.test.js +21 -0
  346. package/dist/ir/analysis.test.js.map +1 -0
  347. package/dist/ir/build.d.ts +9 -0
  348. package/dist/ir/build.js +33 -0
  349. package/dist/ir/build.js.map +1 -0
  350. package/dist/ir/integer-loops.d.ts +1 -1
  351. package/dist/ir/{nodes.d.ts → ir.d.ts} +60 -26
  352. package/dist/ir/{nodes.js → ir.js} +173 -141
  353. package/dist/ir/ir.js.map +1 -0
  354. package/dist/ir/ir.test.d.ts +1 -0
  355. package/dist/ir/ir.test.js +17 -0
  356. package/dist/ir/ir.test.js.map +1 -0
  357. package/dist/ir/serialize.d.ts +1 -1
  358. package/dist/ir/serialize.js +2 -1
  359. package/dist/ir/serialize.js.map +1 -1
  360. package/dist/ir/validate.d.ts +1 -1
  361. package/dist/ir/validate.js +16 -5
  362. package/dist/ir/validate.js.map +1 -1
  363. package/dist/library/cache-primitives.d.ts +24 -0
  364. package/dist/library/cache-primitives.js +83 -0
  365. package/dist/library/cache-primitives.js.map +1 -0
  366. package/dist/library/cache-reset.test.d.ts +1 -0
  367. package/dist/library/cache-reset.test.js +47 -0
  368. package/dist/library/cache-reset.test.js.map +1 -0
  369. package/dist/library/compiler-self-identity.d.ts +23 -0
  370. package/dist/library/compiler-self-identity.js +84 -0
  371. package/dist/library/compiler-self-identity.js.map +1 -0
  372. package/dist/library/fence-eval.d.ts +3 -1
  373. package/dist/library/fence-eval.js +5 -1
  374. package/dist/library/fence-eval.js.map +1 -1
  375. package/dist/library/int-infer.d.ts +1 -36
  376. package/dist/library/int-infer.js +17 -17
  377. package/dist/library/int-infer.js.map +1 -1
  378. package/dist/library/{early-cache.d.ts → library-cache.d.ts} +1 -1
  379. package/dist/library/{early-cache.js → library-cache.js} +37 -111
  380. package/dist/library/library-cache.js.map +1 -0
  381. package/dist/library/library-cache.test.d.ts +1 -0
  382. package/dist/library/{early-cache.test.js → library-cache.test.js} +2 -2
  383. package/dist/library/library-cache.test.js.map +1 -0
  384. package/dist/library/{profile.d.ts → library-profile.d.ts} +4 -7
  385. package/dist/library/{profile.js → library-profile.js} +18 -11
  386. package/dist/library/library-profile.js.map +1 -0
  387. package/dist/library/semantic-source.js +2 -1
  388. package/dist/library/semantic-source.js.map +1 -1
  389. package/dist/library/sidecar.d.ts +5 -2
  390. package/dist/library/sidecar.js +11 -5
  391. package/dist/library/sidecar.js.map +1 -1
  392. package/dist/startup-cache.d.ts +6 -0
  393. package/dist/startup-cache.js +6 -0
  394. package/dist/startup-cache.js.map +1 -0
  395. package/package.json +7 -2
  396. package/surface-manifest.json +1 -1
  397. package/dist/backend/cc-cache.test.js.map +0 -1
  398. package/dist/backend/cc.js.map +0 -1
  399. package/dist/backend/emission/emit-async.js.map +0 -1
  400. package/dist/backend/emission/emit-exprs.d.ts +0 -13
  401. package/dist/backend/emission/emit-exprs.js +0 -7407
  402. package/dist/backend/emission/emit-exprs.js.map +0 -1
  403. package/dist/backend/emission/emit-island.js.map +0 -1
  404. package/dist/backend/emission/emit-shapes.js.map +0 -1
  405. package/dist/backend/emission/emit-stmts.js.map +0 -1
  406. package/dist/backend/emission/emit-types.js.map +0 -1
  407. package/dist/backend/emission/emit-walkers.js.map +0 -1
  408. package/dist/backend/emission/emitter.js.map +0 -1
  409. package/dist/backend/emission/may-throw.js.map +0 -1
  410. package/dist/backend/library-identity.js.map +0 -1
  411. package/dist/ffi/profile.js.map +0 -1
  412. package/dist/frontend/lowering/lower-emitter.js.map +0 -1
  413. package/dist/frontend/shared.d.ts +0 -82
  414. package/dist/frontend/shared.js +0 -308
  415. package/dist/frontend/shared.js.map +0 -1
  416. package/dist/frontend/ts7/program.js.map +0 -1
  417. package/dist/frontend/types.js.map +0 -1
  418. package/dist/ir/nodes.js.map +0 -1
  419. package/dist/library/early-cache.js.map +0 -1
  420. package/dist/library/early-cache.test.js.map +0 -1
  421. package/dist/library/profile.js.map +0 -1
  422. /package/dist/backend/{cc-cache.test.d.ts → c/types.test.d.ts} +0 -0
  423. /package/dist/{library/early-cache.test.d.ts → backend/llvm/shapes.test.d.ts} +0 -0
  424. /package/dist/frontend/ts7/{program.d.ts → program-adapter.d.ts} +0 -0
@@ -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
@@ -424,6 +444,12 @@ export declare const NULL_T: IrType;
424
444
  * wrapping allocates no payload, narrowing to a unit arm produces no value
425
445
  * (the frontend never emits it), and releasing has nothing to release. */
426
446
  export declare function isUnitType(t: IrType): boolean;
447
+ /** Element kinds with a real ScrArr storage/RC representation in BOTH
448
+ * backends. Array-producing lowerings can learn their result element from
449
+ * a callback rather than through mapType's ordinary T[] gate, so they must
450
+ * share this predicate instead of reconstructing an array around an
451
+ * otherwise-valid standalone type (Map, Set, dyn, opaque handles, ...). */
452
+ export declare function isSupportedArrayElem(t: IrType): boolean;
427
453
  export declare function arrayOf(elem: IrType): IrType;
428
454
  export declare function bytesOf(elem: IrBytesElem): IrType;
429
455
  export declare function mapOf(key: IrType, value: IrType): IrType;
@@ -1852,9 +1878,16 @@ export type IrLibFn =
1852
1878
  * (portless's listenOnProxyInterface): args [server, port, host,
1853
1879
  * ipv6Only]. host is an IP literal string ("" = the host-less
1854
1880
  * dual-stack any default); ipv6Only sets IPV6_V6ONLY before the bind.
1855
- * Failures are the async 'error', message in Node's listen shape with
1856
- * the requested host. Never throws. */
1857
- | "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"
1858
1891
  /** server.address() as the full AddressInfo record (the dgram.address
1859
1892
  * materialization pattern: the emitter builds the record from the three
1860
1893
  * runtime reads; the frontend pinned the shape). Never throws — before
@@ -2342,7 +2375,7 @@ export type IrLibFn =
2342
2375
  * promise, rejecting on failure like the other fsp members). The sync
2343
2376
  * pair THROWS catchably on failure exactly like the utf8 forms. */
2344
2377
  | "fs.readFileSyncBytes" | "fs.writeFileSyncBytes" | "fsp.readFileBytes"
2345
- /** 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
2346
2379
  * appear on the IR, the regex/libcurl gating precedent): deflateSync/
2347
2380
  * inflateSync over u8 bytes with Node's default options. deflate never
2348
2381
  * throws (OOM aborts); inflate of corrupt input THROWS Node's error
@@ -2927,7 +2960,7 @@ export type IrLibFn =
2927
2960
  | "tp.setTimeout" | "tp.setImmediate"
2928
2961
  /** node:diagnostics_channel (scr_dc.c, linked when any dc.* appears —
2929
2962
  * the zlib gating precedent): a process-global name→channel registry;
2930
- * 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
2931
2964
  * readline.Interface pattern). Subscribers are dyn function values —
2932
2965
  * identity-compared by unsubscribe, called (message, name) by publish
2933
2966
  * over a SNAPSHOT of the list (a subscriber unsubscribing itself
@@ -2938,7 +2971,7 @@ export type IrLibFn =
2938
2971
  * ERR_INVALID_ARG_TYPE TypeError for non-function subscribers. */
2939
2972
  | "dc.channel" | "dc.subscribe" | "dc.unsubscribe" | "dc.hasSubscribers" | "dc.publish" | "dc.chanSubscribe" | "dc.chanUnsubscribe" | "dc.chanHasSubscribers" | "dc.chanName"
2940
2973
  /** TracingChannel (dc.tracingChannel): a registry entry of the five
2941
- * event channels, an f64 handle like Channel (types.ts). tcSubscribe/
2974
+ * event channels, an f64 handle like Channel (type-mapper.ts). tcSubscribe/
2942
2975
  * tcUnsubscribe walk a dyn handlers object's five event keys (truthy
2943
2976
  * non-function slots throw the per-channel ERR_INVALID_ARG_TYPE);
2944
2977
  * tcTraceSync/tcTraceCallback/tcTracePromise run Node's publish choreography in C over
@@ -4892,7 +4925,7 @@ export declare function canExitIslandToType(t: IrType, getRecord: (shapeId: stri
4892
4925
  /** True when the module contains any regex construct — a regexLit /
4893
4926
  * regexIntrinsic node or a regex-typed slot anywhere. This is the link
4894
4927
  * switch that pulls scr_regex.c + the vendored libregexp into the binary
4895
- * (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
4896
4929
  * JSON walk: `kind` discriminants live only on IR objects, so user string
4897
4930
  * VALUES can never false-positive. */
4898
4931
  export declare function moduleUsesRegex(mod: IrModule): boolean;
@@ -4910,7 +4943,7 @@ export declare function moduleUsesLegacyTextDecoder(mod: IrModule): boolean;
4910
4943
  export declare function moduleUsesFileHandle(mod: IrModule): boolean;
4911
4944
  /** True when user code lowers static fetch or the embedded npm graph
4912
4945
  * reaches the engine's global fetch — the link switch that pulls scr_fetch.c +
4913
- * 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
4914
4947
  * emitted main call scr_fetch_install. The npm graph records the embedded
4915
4948
  * source fact with a parser + binder, so comments, strings, property names,
4916
4949
  * and local `fetch` bindings do not change the link or target capability.
@@ -4918,12 +4951,12 @@ export declare function moduleUsesFileHandle(mod: IrModule): boolean;
4918
4951
  export declare function moduleUsesFetch(mod: IrModule): boolean;
4919
4952
  /** True when the module uses the process-events surface — the link switch
4920
4953
  * that pulls scr_events.c into the binary and has the emitted main call
4921
- * 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
4922
4955
  * gating precedent). Event-free programs pay zero bytes and keep their
4923
4956
  * exact link line. Same generic-walk shape as moduleUsesRegex. */
4924
4957
  export declare function moduleUsesProcessEvents(mod: IrModule): boolean;
4925
4958
  /** True when the module uses the node:events EventEmitter surface — the
4926
- * 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
4927
4960
  * scr_events.c gating precedent, but pure data structure: no install, no
4928
4961
  * loop hooks). Two signals: the `%EventEmitter` class def rides the
4929
4962
  * module (any emitter-typed value or `extends EventEmitter` subclass
@@ -4945,12 +4978,12 @@ export declare function moduleUsesStream(mod: IrModule): boolean;
4945
4978
  * the first; the emitted main installs it before any island entry). */
4946
4979
  export declare function moduleEmbedsBuiltin(mod: IrModule, builtin: string): boolean;
4947
4980
  /** Embedded module texts at least this long are DEFLATE-compressed into
4948
- * 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
4949
4982
  * shrink it) and inflated lazily by the island's module loader at first
4950
4983
  * load. Below it the zlib round trip cannot pay for itself. */
4951
4984
  export declare const NPM_COMPRESS_MIN = 1024;
4952
4985
  /** True when the emitted npm tables will carry compressed module text —
4953
- * 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
4954
4987
  * zlib link switch and emitter.ts's inflater installation stay in
4955
4988
  * lockstep with the emission (a candidate whose deflate happens not to
4956
4989
  * shrink stays plain; the installed inflater is then just unused). */
@@ -4958,17 +4991,17 @@ export declare function moduleEmbedsCompressedNpm(mod: IrModule): boolean;
4958
4991
  /** True when the module contains any zlib libCall (the static lowering)
4959
4992
  * OR the embedded npm graph imports node:zlib (the island shim) — the
4960
4993
  * link switch that pulls scr_zlib.c + the system libz into the binary
4961
- * (cc.ts); zlib-free programs keep their exact link line. Same
4994
+ * (native-toolchain.ts); zlib-free programs keep their exact link line. Same
4962
4995
  * generic-walk shape as moduleUsesRegex: `kind`/`fn` discriminants live
4963
4996
  * only on IR objects. */
4964
4997
  export declare function moduleUsesZlib(mod: IrModule): boolean;
4965
4998
  /** True when the module contains any dc.* libCall — the link switch that
4966
4999
  * pulls scr_dc.c (the diagnostics_channel registry and pub/sub) into the
4967
- * binary (cc.ts). Channel-free binaries keep their exact size class.
5000
+ * binary (native-toolchain.ts). Channel-free binaries keep their exact size class.
4968
5001
  * Same walk shape as moduleUsesZlib. */
4969
5002
  export declare function moduleUsesDc(mod: IrModule): boolean;
4970
5003
  /** True when the module contains any assert libCall — the link switch
4971
- * 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
4972
5005
  * assert throw/inspect helpers (assert.match lives there), so the regex
4973
5006
  * switch also pulls scr_assert.c; assert-free, regex-free binaries keep
4974
5007
  * the historical command line and size. Same walk shape as
@@ -4977,31 +5010,31 @@ export declare function moduleUsesAssert(mod: IrModule): boolean;
4977
5010
  /** True when the module contains any dynInvoke node or dyn.defineProps
4978
5011
  * libCall — the link switch that pulls scr_dyn_invoke.c (the prototype-
4979
5012
  * method dispatch on dyn receivers, plus scr_dyn_display and
4980
- * 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
4981
5014
  * precedent — dispatch-free binaries keep their exact size class). Same
4982
5015
  * walk shape as moduleUsesZlib. */
4983
5016
  export declare function moduleUsesDynInvoke(mod: IrModule): boolean;
4984
5017
  /** True when the module contains any insp libCall — the link switch that
4985
- * 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
4986
5019
  * precedent — inspect-free binaries keep the historical command line and
4987
5020
  * size class). Same walk shape as moduleUsesZlib. */
4988
5021
  /** True when the module needs scr_async_dyn.c — the checked-dynamic
4989
5022
  * async surfaces (dyn-promise then/catch/finally reactions, await of a
4990
5023
  * dyn value, `new Promise(setImmediate)`, AsyncLocalStorage, the
4991
5024
  * unhandledRejection/warning process events). Also pulled by the
4992
- * 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
4993
5026
  * walk shape as moduleUsesZlib. */
4994
5027
  export declare function moduleUsesDynAsync(mod: IrModule): boolean;
4995
5028
  export declare function moduleUsesInspect(mod: IrModule): boolean;
4996
5029
  /** True when the module contains any net libCall — the link switch that
4997
5030
  * pulls scr_net.c into the binary and has the emitted main call
4998
- * scr_net_install (cc.ts + emitter; the scr_events gating precedent).
5031
+ * scr_net_install (native-toolchain.ts + emitter; the scr_events gating precedent).
4999
5032
  * Net-free programs pay zero bytes and keep their exact link line. Same
5000
5033
  * generic-walk shape as moduleUsesZlib. */
5001
5034
  export declare function moduleUsesNet(mod: IrModule): boolean;
5002
5035
  /** True when the module contains any sym.* libCall or a symbol-kind type
5003
5036
  * anywhere in the IR — the link switch that pulls scr_symbol.c into the
5004
- * 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
5005
5038
  * Symbol.for registry initializes lazily). The TYPE check matters like
5006
5039
  * net's: a symbol-typed local whose initializer compiled to a runtime
5007
5040
  * fence still emits release calls that need the unit linked. Symbol-free
@@ -5030,25 +5063,25 @@ export declare function moduleUsesQs(mod: IrModule): boolean;
5030
5063
  export declare function moduleUsesParseArgs(mod: IrModule): boolean;
5031
5064
  /** True when the module contains any fs.watch/watcher.* libCall — the
5032
5065
  * link switch that pulls scr_watch.c into the binary and has the emitted
5033
- * 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
5034
5067
  * precedent). Watch-free programs pay zero bytes and keep their exact
5035
5068
  * link line. Same generic-walk shape as moduleUsesZlib. */
5036
5069
  export declare function moduleUsesFsWatch(mod: IrModule): boolean;
5037
5070
  /** True when the module contains any test.* libCall or a testCtx handle
5038
5071
  * type — the link switch that pulls scr_test.c into the binary and has
5039
5072
  * the emitted main return scr_test_exit_code() after the loop drains
5040
- * (cc.ts + emitter; the moduleUsesDgram shape). Test-free programs pay
5073
+ * (native-toolchain.ts + emitter; the moduleUsesDgram shape). Test-free programs pay
5041
5074
  * zero bytes and keep their exact link line. */
5042
5075
  export declare function moduleUsesNodeTest(mod: IrModule): boolean;
5043
5076
  /** True when the module contains any dgram.* or dns.* libCall — the
5044
5077
  * link switch that pulls scr_dgram.c into the binary and has the emitted
5045
- * 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
5046
5079
  * precedent — dns.lookup lives in the same unit, so either prefix
5047
5080
  * answers). Dgram-free programs pay zero bytes and keep their exact link
5048
5081
  * line. Same generic-walk shape as moduleUsesZlib. */
5049
5082
  export declare function moduleUsesDgram(mod: IrModule): boolean;
5050
5083
  /** True when the module contains any http.* libCall — the link switch
5051
- * 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
5052
5085
  * answers true for these, so scr_net.c comes along). */
5053
5086
  export declare function moduleUsesHttpServer(mod: IrModule): boolean;
5054
5087
  /** True when the module uses the REAL h2 surface (scr_http2.c): any core
@@ -5057,7 +5090,7 @@ export declare function moduleUsesHttpServer(mod: IrModule): boolean;
5057
5090
  export declare function moduleUsesHttp2(mod: IrModule): boolean;
5058
5091
  /** True when the module contains any tls.* or https.* libCall — the link
5059
5092
  * switch that pulls scr_tls.c and the vendored mbedTLS archive into the
5060
- * binary (cc.ts; moduleUsesNet and moduleUsesHttpServer already answer
5093
+ * binary (native-toolchain.ts; moduleUsesNet and moduleUsesHttpServer already answer
5061
5094
  * true for these, so scr_net.c and scr_http.c come along). TLS-free
5062
5095
  * programs keep their exact link line and never build mbedTLS. */
5063
5096
  export declare function moduleUsesTls(mod: IrModule): boolean;
@@ -5065,7 +5098,7 @@ export declare function moduleUsesTls(mod: IrModule): boolean;
5065
5098
  * for scr_tls_ca.c, the CA-store introspection unit (getCACertificates /
5066
5099
  * rootCertificates / setDefaultCACertificates). Deliberately SEPARATE
5067
5100
  * from moduleUsesTls: the unit is plain PEM-block bookkeeping, so a
5068
- * 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
5069
5102
  * also compiles the unit whenever TLS itself links — scr_tls.c consults
5070
5103
  * the unit's default-set override for its trust anchors. */
5071
5104
  export declare function moduleUsesTlsCa(mod: IrModule): boolean;
@@ -5104,3 +5137,4 @@ export declare function moduleLibNondeterministicSurface(mod: IrModule): string
5104
5137
  * seed on `dynCheck` and `awaitExpr` nodes, which throw on validation
5105
5138
  * failure / promise rejection). */
5106
5139
  export declare const MAY_THROW_LIB_FNS: ReadonlySet<IrLibFn>;
5140
+ export {};