@scriptc/compiler 0.1.1 → 0.1.3

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 (279) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +104 -31
  2. package/ambient/scriptc.d.ts +2 -1
  3. package/dist/backend/build-cache.js.map +1 -1
  4. package/dist/backend/c/async.d.ts +5 -0
  5. package/dist/backend/c/async.js +81 -2
  6. package/dist/backend/c/async.js.map +1 -1
  7. package/dist/backend/c/c-emitter.d.ts +25 -10
  8. package/dist/backend/c/c-emitter.js +74 -22
  9. package/dist/backend/c/c-emitter.js.map +1 -1
  10. package/dist/backend/c/exprs.d.ts +8 -1
  11. package/dist/backend/c/exprs.js +371 -18
  12. package/dist/backend/c/exprs.js.map +1 -1
  13. package/dist/backend/c/island.js.map +1 -1
  14. package/dist/backend/c/may-throw.js.map +1 -1
  15. package/dist/backend/c/shapes.js +15 -13
  16. package/dist/backend/c/shapes.js.map +1 -1
  17. package/dist/backend/c/stmts.d.ts +3 -5
  18. package/dist/backend/c/stmts.js +58 -17
  19. package/dist/backend/c/stmts.js.map +1 -1
  20. package/dist/backend/c/types.d.ts +4 -0
  21. package/dist/backend/c/types.js +18 -1
  22. package/dist/backend/c/types.js.map +1 -1
  23. package/dist/backend/c/types.test.js +8 -1
  24. package/dist/backend/c/types.test.js.map +1 -1
  25. package/dist/backend/c/walkers.js +63 -16
  26. package/dist/backend/c/walkers.js.map +1 -1
  27. package/dist/backend/external-c.js.map +1 -1
  28. package/dist/backend/json-literal.d.ts +7 -0
  29. package/dist/backend/json-literal.js +17 -0
  30. package/dist/backend/json-literal.js.map +1 -0
  31. package/dist/backend/json-literal.test.d.ts +1 -0
  32. package/dist/backend/json-literal.test.js +17 -0
  33. package/dist/backend/json-literal.test.js.map +1 -0
  34. package/dist/backend/link-plan.d.ts +1 -1
  35. package/dist/backend/link-plan.js +5 -1
  36. package/dist/backend/link-plan.js.map +1 -1
  37. package/dist/backend/linker.js.map +1 -1
  38. package/dist/backend/llvm/blocks.js.map +1 -1
  39. package/dist/backend/llvm/classes.js +8 -7
  40. package/dist/backend/llvm/classes.js.map +1 -1
  41. package/dist/backend/llvm/common.d.ts +4 -0
  42. package/dist/backend/llvm/common.js +6 -0
  43. package/dist/backend/llvm/common.js.map +1 -1
  44. package/dist/backend/llvm/common.test.d.ts +1 -0
  45. package/dist/backend/llvm/common.test.js +9 -0
  46. package/dist/backend/llvm/common.test.js.map +1 -0
  47. package/dist/backend/llvm/dyn.d.ts +4 -0
  48. package/dist/backend/llvm/dyn.js +80 -16
  49. package/dist/backend/llvm/dyn.js.map +1 -1
  50. package/dist/backend/llvm/emitter.js +132 -25
  51. package/dist/backend/llvm/emitter.js.map +1 -1
  52. package/dist/backend/llvm/expr-async.js +85 -3
  53. package/dist/backend/llvm/expr-async.js.map +1 -1
  54. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  55. package/dist/backend/llvm/expr-calls.js.map +1 -1
  56. package/dist/backend/llvm/expr-containers.js.map +1 -1
  57. package/dist/backend/llvm/expr-context.d.ts +5 -0
  58. package/dist/backend/llvm/expr-control.js.map +1 -1
  59. package/dist/backend/llvm/expr-dispatch.js.map +1 -1
  60. package/dist/backend/llvm/expr-dynamic.js +15 -3
  61. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  62. package/dist/backend/llvm/expr-island.js.map +1 -1
  63. package/dist/backend/llvm/expr-primitives.js +8 -0
  64. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  65. package/dist/backend/llvm/expr-records.js +3 -3
  66. package/dist/backend/llvm/expr-records.js.map +1 -1
  67. package/dist/backend/llvm/expr-stream-bridges.js +222 -10
  68. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  69. package/dist/backend/llvm/expr-stream-callbacks.d.ts +3 -0
  70. package/dist/backend/llvm/expr-stream-callbacks.js +53 -0
  71. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  72. package/dist/backend/llvm/lib-dispatch.js +24 -0
  73. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  74. package/dist/backend/llvm/lib-process.js +50 -5
  75. package/dist/backend/llvm/lib-process.js.map +1 -1
  76. package/dist/backend/llvm/lib-shared.js +64 -0
  77. package/dist/backend/llvm/lib-shared.js.map +1 -1
  78. package/dist/backend/llvm/lib-stream.js +6 -3
  79. package/dist/backend/llvm/lib-stream.js.map +1 -1
  80. package/dist/backend/llvm/shapes.js +10 -8
  81. package/dist/backend/llvm/shapes.js.map +1 -1
  82. package/dist/backend/llvm/split.js.map +1 -1
  83. package/dist/backend/llvm/unsupported.js.map +1 -1
  84. package/dist/backend/llvm/walkers.js +7 -5
  85. package/dist/backend/llvm/walkers.js.map +1 -1
  86. package/dist/backend/native-codegen.js.map +1 -1
  87. package/dist/backend/native-codegen.test.js +2 -0
  88. package/dist/backend/native-codegen.test.js.map +1 -1
  89. package/dist/backend/native-link-info.d.ts +2 -1
  90. package/dist/backend/native-link-info.js +4 -0
  91. package/dist/backend/native-link-info.js.map +1 -1
  92. package/dist/backend/native-link-info.test.js +24 -1
  93. package/dist/backend/native-link-info.test.js.map +1 -1
  94. package/dist/backend/native-toolchain.d.ts +8 -6
  95. package/dist/backend/native-toolchain.js +28 -13
  96. package/dist/backend/native-toolchain.js.map +1 -1
  97. package/dist/backend/native-toolchain.test.js +36 -1
  98. package/dist/backend/native-toolchain.test.js.map +1 -1
  99. package/dist/backend/runtime-pack-targets.test.js +1 -1
  100. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  101. package/dist/backend/runtime-pack.js.map +1 -1
  102. package/dist/backend/runtime-pack.test.js +1 -0
  103. package/dist/backend/runtime-pack.test.js.map +1 -1
  104. package/dist/backend/targets.d.ts +5 -0
  105. package/dist/backend/targets.js +9 -0
  106. package/dist/backend/targets.js.map +1 -1
  107. package/dist/backend/targets.test.js +6 -1
  108. package/dist/backend/targets.test.js.map +1 -1
  109. package/dist/backend/vendor-archives.js.map +1 -1
  110. package/dist/compat/fetch-profile.js +4 -2
  111. package/dist/compat/fetch-profile.js.map +1 -1
  112. package/dist/coverage/report.js.map +1 -1
  113. package/dist/coverage/surface-manifest.js +13 -0
  114. package/dist/coverage/surface-manifest.js.map +1 -1
  115. package/dist/diagnostics/diagnostic.d.ts +6 -5
  116. package/dist/diagnostics/diagnostic.js +10 -9
  117. package/dist/diagnostics/diagnostic.js.map +1 -1
  118. package/dist/diagnostics/render.js.map +1 -1
  119. package/dist/executable/executable-cache.d.ts +1 -0
  120. package/dist/executable/executable-cache.js +1 -0
  121. package/dist/executable/executable-cache.js.map +1 -1
  122. package/dist/executable/executable-cache.test.js +1 -0
  123. package/dist/executable/executable-cache.test.js.map +1 -1
  124. package/dist/ffi/ffi-manifest.js.map +1 -1
  125. package/dist/frontend/cjs-lexer.js.map +1 -1
  126. package/dist/frontend/dts-paths.js.map +1 -1
  127. package/dist/frontend/input-tracker.d.ts +10 -0
  128. package/dist/frontend/input-tracker.js +26 -3
  129. package/dist/frontend/input-tracker.js.map +1 -1
  130. package/dist/frontend/input-tracker.test.js +8 -1
  131. package/dist/frontend/input-tracker.test.js.map +1 -1
  132. package/dist/frontend/lib-contract.js.map +1 -1
  133. package/dist/frontend/lowering/array-values.d.ts +4 -0
  134. package/dist/frontend/lowering/array-values.js +18 -2
  135. package/dist/frontend/lowering/array-values.js.map +1 -1
  136. package/dist/frontend/lowering/callback-arg.js.map +1 -1
  137. package/dist/frontend/lowering/containers/bytes.d.ts +31 -0
  138. package/dist/frontend/lowering/containers/bytes.js +1105 -0
  139. package/dist/frontend/lowering/containers/bytes.js.map +1 -0
  140. package/dist/frontend/lowering/containers/string-and-regexp.d.ts +17 -0
  141. package/dist/frontend/lowering/containers/string-and-regexp.js +345 -0
  142. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -0
  143. package/dist/frontend/lowering/expressions/evaluation-safety.d.ts +13 -0
  144. package/dist/frontend/lowering/expressions/evaluation-safety.js +76 -0
  145. package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -0
  146. package/dist/frontend/lowering/expressions/object-literals.d.ts +44 -0
  147. package/dist/frontend/lowering/expressions/object-literals.js +1815 -0
  148. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -0
  149. package/dist/frontend/lowering/expressions/optional-chains.d.ts +31 -0
  150. package/dist/frontend/lowering/expressions/optional-chains.js +382 -0
  151. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -0
  152. package/dist/frontend/lowering/expressions/try-lower-expression.d.ts +7 -0
  153. package/dist/frontend/lowering/expressions/try-lower-expression.js +26 -0
  154. package/dist/frontend/lowering/expressions/try-lower-expression.js.map +1 -0
  155. package/dist/frontend/lowering/lib-boundary.js +7 -2
  156. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  157. package/dist/frontend/lowering/lower-assert.js +16 -10
  158. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  159. package/dist/frontend/lowering/lower-async-iteration.d.ts +7 -0
  160. package/dist/frontend/lowering/lower-async-iteration.js +657 -0
  161. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -0
  162. package/dist/frontend/lowering/lower-builtins.d.ts +40 -21
  163. package/dist/frontend/lowering/lower-builtins.js +611 -115
  164. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  165. package/dist/frontend/lowering/lower-calls.d.ts +21 -10
  166. package/dist/frontend/lowering/lower-calls.js +516 -75
  167. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  168. package/dist/frontend/lowering/lower-classes.d.ts +7 -13
  169. package/dist/frontend/lowering/lower-classes.js +128 -35
  170. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  171. package/dist/frontend/lowering/lower-comptime.js.map +1 -1
  172. package/dist/frontend/lowering/lower-containers.d.ts +1 -47
  173. package/dist/frontend/lowering/lower-containers.js +147 -1475
  174. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  175. package/dist/frontend/lowering/lower-event-emitter.js +51 -5
  176. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  177. package/dist/frontend/lowering/lower-exprs.d.ts +0 -78
  178. package/dist/frontend/lowering/lower-exprs.js +503 -2353
  179. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  180. package/dist/frontend/lowering/lower-generators.d.ts +18 -3
  181. package/dist/frontend/lowering/lower-generators.js +145 -9
  182. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  183. package/dist/frontend/lowering/lower-inspect.js +10 -3
  184. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  185. package/dist/frontend/lowering/lower-island.d.ts +6 -0
  186. package/dist/frontend/lowering/lower-island.js +37 -5
  187. package/dist/frontend/lowering/lower-island.js.map +1 -1
  188. package/dist/frontend/lowering/lower-modules.js +60 -15
  189. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  190. package/dist/frontend/lowering/lower-node-module.d.ts +18 -0
  191. package/dist/frontend/lowering/lower-node-module.js +302 -0
  192. package/dist/frontend/lowering/lower-node-module.js.map +1 -0
  193. package/dist/frontend/lowering/lower-server.js +1 -1
  194. package/dist/frontend/lowering/lower-server.js.map +1 -1
  195. package/dist/frontend/lowering/lower-stmts.d.ts +10 -28
  196. package/dist/frontend/lowering/lower-stmts.js +542 -259
  197. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  198. package/dist/frontend/lowering/lower-stream.js +4 -4
  199. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  200. package/dist/frontend/lowering/lowerer.d.ts +41 -38
  201. package/dist/frontend/lowering/lowerer.js +148 -62
  202. package/dist/frontend/lowering/lowerer.js.map +1 -1
  203. package/dist/frontend/lowering/optional-arguments.d.ts +9 -0
  204. package/dist/frontend/lowering/optional-arguments.js +57 -0
  205. package/dist/frontend/lowering/optional-arguments.js.map +1 -0
  206. package/dist/frontend/lowering/surfaces.d.ts +5 -3
  207. package/dist/frontend/lowering/surfaces.js +33 -13
  208. package/dist/frontend/lowering/surfaces.js.map +1 -1
  209. package/dist/frontend/npm-static-declarations.d.ts +35 -0
  210. package/dist/frontend/npm-static-declarations.js +519 -0
  211. package/dist/frontend/npm-static-declarations.js.map +1 -0
  212. package/dist/frontend/npm-static-declarations.test.d.ts +1 -0
  213. package/dist/frontend/npm-static-declarations.test.js +132 -0
  214. package/dist/frontend/npm-static-declarations.test.js.map +1 -0
  215. package/dist/frontend/npm-static.d.ts +2 -0
  216. package/dist/frontend/npm-static.js +26 -10
  217. package/dist/frontend/npm-static.js.map +1 -1
  218. package/dist/frontend/npm.d.ts +60 -0
  219. package/dist/frontend/npm.js +38 -4
  220. package/dist/frontend/npm.js.map +1 -1
  221. package/dist/frontend/npm.test.d.ts +1 -0
  222. package/dist/frontend/npm.test.js +50 -0
  223. package/dist/frontend/npm.test.js.map +1 -0
  224. package/dist/frontend/program.d.ts +3 -2
  225. package/dist/frontend/program.js +513 -70
  226. package/dist/frontend/program.js.map +1 -1
  227. package/dist/frontend/resolve.d.ts +26 -3
  228. package/dist/frontend/resolve.js +166 -29
  229. package/dist/frontend/resolve.js.map +1 -1
  230. package/dist/frontend/resolve.test.js +24 -1
  231. package/dist/frontend/resolve.test.js.map +1 -1
  232. package/dist/frontend/runtime-resolve.d.ts +22 -0
  233. package/dist/frontend/runtime-resolve.js +101 -0
  234. package/dist/frontend/runtime-resolve.js.map +1 -0
  235. package/dist/frontend/runtime-resolve.test.d.ts +1 -0
  236. package/dist/frontend/runtime-resolve.test.js +18 -0
  237. package/dist/frontend/runtime-resolve.test.js.map +1 -0
  238. package/dist/frontend/ts7/adapter.js +12 -13
  239. package/dist/frontend/ts7/adapter.js.map +1 -1
  240. package/dist/frontend/ts7/ast.js.map +1 -1
  241. package/dist/frontend/ts7/census-check.js +3 -3
  242. package/dist/frontend/ts7/census-check.js.map +1 -1
  243. package/dist/frontend/ts7/checker.d.ts +3 -0
  244. package/dist/frontend/ts7/checker.js +12 -3
  245. package/dist/frontend/ts7/checker.js.map +1 -1
  246. package/dist/frontend/ts7/enums.js.map +1 -1
  247. package/dist/frontend/ts7/program-adapter.js +42 -3
  248. package/dist/frontend/ts7/program-adapter.js.map +1 -1
  249. package/dist/frontend/type-mapper.js +171 -16
  250. package/dist/frontend/type-mapper.js.map +1 -1
  251. package/dist/index.js +11 -5
  252. package/dist/index.js.map +1 -1
  253. package/dist/ir/analysis.js +1 -0
  254. package/dist/ir/analysis.js.map +1 -1
  255. package/dist/ir/ir.d.ts +125 -52
  256. package/dist/ir/ir.js +136 -7
  257. package/dist/ir/ir.js.map +1 -1
  258. package/dist/ir/serialize.d.ts +1 -1
  259. package/dist/ir/serialize.js +1 -1
  260. package/dist/ir/validate.js +120 -63
  261. package/dist/ir/validate.js.map +1 -1
  262. package/dist/library/cache-primitives.js.map +1 -1
  263. package/dist/library/cache-reset.test.js.map +1 -1
  264. package/dist/library/compiler-self-identity.js.map +1 -1
  265. package/dist/library/int-infer.js.map +1 -1
  266. package/dist/library/int-infer.test.js +4 -4
  267. package/dist/library/int-infer.test.js.map +1 -1
  268. package/dist/library/library-cache.d.ts +1 -0
  269. package/dist/library/library-cache.js +1 -0
  270. package/dist/library/library-cache.js.map +1 -1
  271. package/dist/library/library-cache.test.js +18 -5
  272. package/dist/library/library-cache.test.js.map +1 -1
  273. package/dist/library/library-profile.js.map +1 -1
  274. package/dist/library/sidecar-validate.js.map +1 -1
  275. package/dist/library/sidecar.js.map +1 -1
  276. package/dist/startup-cache.js.map +1 -1
  277. package/dist/wasi-paths.js.map +1 -1
  278. package/package.json +18 -18
  279. package/surface-manifest.json +91 -20
package/dist/ir/ir.js CHANGED
@@ -14,8 +14,11 @@ const POINTER_HANDLE_KINDS = [
14
14
  "httpRes",
15
15
  "httpClientReq",
16
16
  "secureCtx",
17
+ "cryptoHash",
18
+ "cryptoHmac",
17
19
  "fsWatcher",
18
20
  "childStream",
21
+ "childWriter",
19
22
  ];
20
23
  function irKindSet(kinds) {
21
24
  return new Set(kinds);
@@ -30,6 +33,7 @@ export const HANDLE_KINDS = irKindSet(HANDLE_KIND_LIST);
30
33
  /** The IR kinds represented as pointers in both native backends. */
31
34
  const POINTER_KIND_LIST = [
32
35
  "string",
36
+ "bigint",
33
37
  "array",
34
38
  "map",
35
39
  "set",
@@ -57,6 +61,7 @@ export const POINTER_KINDS = irKindSet(POINTER_KIND_LIST);
57
61
  * until its one retain/release family is named here. */
58
62
  export const RUNTIME_RC_STEMS = {
59
63
  f64: "",
64
+ bigint: "scr_bigint",
60
65
  date: "",
61
66
  string: "scr_str",
62
67
  bool: "",
@@ -82,9 +87,12 @@ export const RUNTIME_RC_STEMS = {
82
87
  httpRes: "scr_http_res",
83
88
  httpClientReq: "scr_http_client",
84
89
  childStream: "scr_child_stream",
90
+ childWriter: "scr_child_writer",
85
91
  procStream: "",
86
92
  fsWatcher: "scr_watcher",
87
93
  secureCtx: "scr_secure_ctx",
94
+ cryptoHash: "scr_crypto_hash",
95
+ cryptoHmac: "scr_crypto_hash",
88
96
  func: "scr_closure",
89
97
  object: "",
90
98
  classval: "scr_classobj",
@@ -124,13 +132,14 @@ export const REF_TRUTHY_KINDS = new Set([
124
132
  "symbol",
125
133
  "date", "array", "map", "set", "regex", "url", "searchParams", "stats", "fileHandle", "spawnRes", "child",
126
134
  "netServer", "netSocket", "http2Session", "http2Stream", "dgramSocket", "testCtx", "httpReq", "httpRes", "httpClientReq",
127
- "secureCtx", "fsWatcher", "childStream", "procStream", "bytes", "func", "object", "record", "promise",
135
+ "secureCtx", "cryptoHash", "cryptoHmac", "fsWatcher", "childStream", "childWriter", "procStream", "bytes", "func", "object", "record", "promise",
128
136
  // A generator object is a JS object: always truthy.
129
137
  "generator",
130
138
  // A class object is a JS object (constructors are functions): always truthy.
131
139
  "classval",
132
140
  ]);
133
141
  export const F64 = { kind: "f64" };
142
+ export const BIGINT_T = { kind: "bigint" };
134
143
  export const DATE_T = { kind: "date" };
135
144
  export const BYTES_U8 = { kind: "bytes", elem: "u8" };
136
145
  export const STRING = { kind: "string" };
@@ -153,8 +162,11 @@ export const HTTPREQ_T = { kind: "httpReq" };
153
162
  export const HTTPRES_T = { kind: "httpRes" };
154
163
  export const HTTPCLIENTREQ_T = { kind: "httpClientReq" };
155
164
  export const SECURECTX_T = { kind: "secureCtx" };
165
+ export const CRYPTOHASH_T = { kind: "cryptoHash" };
166
+ export const CRYPTOHMAC_T = { kind: "cryptoHmac" };
156
167
  export const FSWATCHER_T = { kind: "fsWatcher" };
157
168
  export const CHILDSTREAM_T = { kind: "childStream" };
169
+ export const CHILDWRITER_T = { kind: "childWriter" };
158
170
  export const PROCSTREAM_T = { kind: "procStream" };
159
171
  export const VOID = { kind: "void" };
160
172
  export const DYN = { kind: "dyn" };
@@ -177,6 +189,7 @@ export function isUnitType(t) {
177
189
  export function isSupportedArrayElem(t) {
178
190
  switch (t.kind) {
179
191
  case "f64":
192
+ case "bigint":
180
193
  case "bool":
181
194
  case "string":
182
195
  case "array":
@@ -239,6 +252,7 @@ export function isSupportedSetElem(t) {
239
252
  export function isSupportedMapValue(t) {
240
253
  switch (t.kind) {
241
254
  case "f64":
255
+ case "bigint":
242
256
  case "string":
243
257
  case "bool":
244
258
  case "record":
@@ -329,6 +343,7 @@ export function typeKey(t) {
329
343
  return t.kind;
330
344
  switch (t.kind) {
331
345
  case "f64":
346
+ case "bigint":
332
347
  case "date":
333
348
  case "string":
334
349
  case "bool":
@@ -366,7 +381,7 @@ export function typeKey(t) {
366
381
  case "promise":
367
382
  return `promise<${typeKey(t.inner)}>`;
368
383
  case "generator":
369
- return `generator<${typeKey(t.yieldT)},${typeKey(t.retT)},${typeKey(t.nextT)}>`;
384
+ return `${t.async ? "async-generator" : "generator"}<${typeKey(t.yieldT)},${typeKey(t.retT)},${typeKey(t.nextT)}>`;
370
385
  default: {
371
386
  const _exhaustive = t;
372
387
  void _exhaustive;
@@ -406,6 +421,7 @@ export function typeEquals(a, b) {
406
421
  return b.kind === "promise" && typeEquals(a.inner, b.inner);
407
422
  if (a.kind === "generator") {
408
423
  return (b.kind === "generator" &&
424
+ (a.async === true) === (b.async === true) &&
409
425
  typeEquals(a.yieldT, b.yieldT) &&
410
426
  typeEquals(a.retT, b.retT) &&
411
427
  typeEquals(a.nextT, b.nextT));
@@ -745,6 +761,7 @@ function isJsonSafeAt(t, getRecord, getUnion, stringify, undefinedAllowed, visit
745
761
  // Symbols are DROPPED by Node's stringify (undefined at the top level,
746
762
  // omitted as object values) — silent divergence banned; rejected.
747
763
  case "symbol":
764
+ case "bigint":
748
765
  // Typed arrays stringify as index-keyed objects ({"0":1,...}) and
749
766
  // Buffers as {type:"Buffer",data:[...]} in Node — neither shape is
750
767
  // representable type-directedly; rejected like Maps.
@@ -916,6 +933,7 @@ export function canMarshalTypedFuncIntoIsland(t, getRecord, getUnion) {
916
933
  * entry carries the runtime tag spelling and the class display name
917
934
  * (dynCheck's "expected IncomingMessage ..." texts). */
918
935
  export const DYN_HANDLE_KINDS = new Map([
936
+ ["child", { tag: "SCR_DYNH_CHILD", cls: "ChildProcess" }],
919
937
  ["httpReq", { tag: "SCR_DYNH_HTTP_REQ", cls: "IncomingMessage" }],
920
938
  ["httpRes", { tag: "SCR_DYNH_HTTP_RES", cls: "ServerResponse" }],
921
939
  ["netSocket", { tag: "SCR_DYNH_NET_SOCKET", cls: "Socket" }],
@@ -924,10 +942,24 @@ export const DYN_HANDLE_KINDS = new Map([
924
942
  ["http2Stream", { tag: "SCR_DYNH_H2_STREAM", cls: "Http2Stream" }],
925
943
  ["httpClientReq", { tag: "SCR_DYNH_HTTP_CLIENT", cls: "ClientRequest" }],
926
944
  ]);
945
+ /** A class value that crosses an `unknown` slot as a compiler-owned typed
946
+ * reference. %Error keeps its dedicated error encoding; every other class
947
+ * preserves the original object identity and exposes a materialized own-field
948
+ * view only when a checked-dynamic operation actually needs one. */
949
+ export function isDynTypedRefType(t) {
950
+ return t.kind === "object" && !RUNTIME_ERROR_CLASSES.has(t.className);
951
+ }
952
+ /** Whether a class layout field is an ECMAScript own enumerable property.
953
+ * `#private` slots and `%`-prefixed compiler storage exist only in the native
954
+ * layout; TypeScript `private`/`protected` fields keep ordinary names and are
955
+ * observable properties at runtime. */
956
+ export function isClassOwnEnumerableFieldName(name) {
957
+ return !name.startsWith("#") && !name.startsWith("%");
958
+ }
927
959
  /** A static type that CONVERTS into a dyn value — the dynFrom domain:
928
- * JSON-safe data, bytes<u8> (payload copied), undefined-armed unions of
929
- * JSON-safe arms, boxable function types, and the runtime HANDLE kinds
930
- * (boxed by reference — DYN_HANDLE_KINDS). */
960
+ * JSON-safe data, bytes<u8> (payload copied), identity-preserving class
961
+ * references, undefined-armed unions of those arms, boxable function types,
962
+ * and the runtime HANDLE kinds (boxed by reference — DYN_HANDLE_KINDS). */
931
963
  export function canConvertToDyn(t, getRecord, getUnion) {
932
964
  if (isJsonSafeType(t, getRecord, getUnion))
933
965
  return true;
@@ -945,6 +977,8 @@ export function canConvertToDyn(t, getRecord, getUnion) {
945
977
  // listener boundary (a mustCall-wrapped handler receiving the payload).
946
978
  if (t.kind === "object" && t.className === "%Error")
947
979
  return true;
980
+ if (isDynTypedRefType(t))
981
+ return true;
948
982
  if (t.kind === "func")
949
983
  return canBoxFuncIntoDyn(t, getRecord, getUnion);
950
984
  if (DYN_HANDLE_KINDS.has(t.kind))
@@ -962,12 +996,14 @@ export function canConvertToDyn(t, getRecord, getUnion) {
962
996
  }
963
997
  if (t.kind === "union") {
964
998
  const def = getUnion(t.unionId);
965
- // JSON-safe arms box as before; BOXABLE FUNCTION arms join them (the
999
+ // JSON-safe arms box as before; BOXABLE FUNCTION and PROMISE arms join them (the
966
1000
  // invalid-input probes iterate `[1, null, () => {}, true]` — the
967
1001
  // union's func arm crosses through the checked-dynamic function
968
1002
  // boundary exactly like a bare func dynFrom).
969
1003
  return !!def && def.arms.every((a) => a.kind === "undefinedT" || isJsonSafeType(a, getRecord, getUnion) ||
970
- (a.kind === "func" && canBoxFuncIntoDyn(a, getRecord, getUnion)));
1004
+ isDynTypedRefType(a) || DYN_HANDLE_KINDS.has(a.kind) ||
1005
+ (a.kind === "func" && canBoxFuncIntoDyn(a, getRecord, getUnion)) ||
1006
+ (a.kind === "promise" && canConvertToDyn(a, getRecord, getUnion)));
971
1007
  }
972
1008
  return false;
973
1009
  }
@@ -1594,6 +1630,36 @@ export function moduleUsesInspect(mod) {
1594
1630
  visit(mod);
1595
1631
  return found;
1596
1632
  }
1633
+ /** True when the module reaches child_process or carries one of its runtime
1634
+ * handle/result types. Besides the existing link consequence, this gates the
1635
+ * checked-dynamic ChildProcess handle table installed from scr_child.c. */
1636
+ export function moduleUsesChildProcess(mod) {
1637
+ let found = false;
1638
+ const visit = (v) => {
1639
+ if (found || v === null || typeof v !== "object")
1640
+ return;
1641
+ if (Array.isArray(v)) {
1642
+ for (const item of v)
1643
+ visit(item);
1644
+ return;
1645
+ }
1646
+ const node = v;
1647
+ if (node.kind === "libCall" &&
1648
+ typeof node.fn === "string" &&
1649
+ (node.fn.startsWith("cp.") || node.fn.startsWith("child.") || node.fn.startsWith("writer.") || node.fn.startsWith("spawnRes."))) {
1650
+ found = true;
1651
+ return;
1652
+ }
1653
+ if (node.kind === "child" || node.kind === "childStream" || node.kind === "childWriter" || node.kind === "spawnRes") {
1654
+ found = true;
1655
+ return;
1656
+ }
1657
+ for (const key of Object.keys(v))
1658
+ visit(v[key]);
1659
+ };
1660
+ visit(mod);
1661
+ return found;
1662
+ }
1597
1663
  /** True when the module contains any net libCall — the link switch that
1598
1664
  * pulls scr_net.c into the binary and has the emitted main call
1599
1665
  * scr_net_install (native-toolchain.ts + emitter; the scr_events gating precedent).
@@ -1669,6 +1735,31 @@ export function moduleUsesSymbol(mod) {
1669
1735
  visit(mod);
1670
1736
  return found;
1671
1737
  }
1738
+ /** True when bigint runtime operations or bigint-typed storage appears in
1739
+ * the IR. The type check keeps retain/release references link-safe even
1740
+ * when a producing statement was replaced by a runtime fence. */
1741
+ export function moduleUsesBigInt(mod) {
1742
+ let found = false;
1743
+ const visit = (v) => {
1744
+ if (found || v === null || typeof v !== "object")
1745
+ return;
1746
+ if (Array.isArray(v)) {
1747
+ for (const item of v)
1748
+ visit(item);
1749
+ return;
1750
+ }
1751
+ const node = v;
1752
+ if (node.kind === "bigint" ||
1753
+ (node.kind === "libCall" && typeof node.fn === "string" && node.fn.startsWith("bigint."))) {
1754
+ found = true;
1755
+ return;
1756
+ }
1757
+ for (const key of Object.keys(v))
1758
+ visit(v[key]);
1759
+ };
1760
+ visit(mod);
1761
+ return found;
1762
+ }
1672
1763
  /** True when the module uses the URLSearchParams surface — sp.* libCalls,
1673
1764
  * the url.searchParams getter, or a searchParams-kind type anywhere on
1674
1765
  * the IR (a fenced statement can leave a typed local whose release call
@@ -2053,6 +2144,7 @@ const LIB_MODE_REFUSED_KINDS = new Map([
2053
2144
  ["child", "the child_process surface"],
2054
2145
  ["spawnRes", "the child_process surface"],
2055
2146
  ["childStream", "the child_process surface"],
2147
+ ["childWriter", "the child_process surface"],
2056
2148
  ["netServer", "the node:net surface"],
2057
2149
  ["netSocket", "the node:net surface"],
2058
2150
  ["http2Session", "the node:http2 surface"],
@@ -2231,6 +2323,20 @@ export function moduleLibNondeterministicSurface(mod) {
2231
2323
  * seed on `dynCheck` and `awaitExpr` nodes, which throw on validation
2232
2324
  * failure / promise rejection). */
2233
2325
  export const MAY_THROW_LIB_FNS = new Set([
2326
+ "bigint.parse",
2327
+ "bigint.fromF64",
2328
+ "bigint.div",
2329
+ "bigint.mod",
2330
+ "bigint.pow",
2331
+ "bigint.shl",
2332
+ "bigint.shr",
2333
+ "bigint.toString",
2334
+ "bigint.asUintN",
2335
+ "bigint.asIntN",
2336
+ "bigint.bufferRead",
2337
+ "bigint.bufferWrite",
2338
+ "bigint.dataViewGet",
2339
+ "bigint.dataViewSet",
2234
2340
  "fetch.responseNew",
2235
2341
  "fetch.abortTimeout",
2236
2342
  "fetch.abortAny",
@@ -2377,6 +2483,7 @@ export const MAY_THROW_LIB_FNS = new Set([
2377
2483
  "writable.uncork",
2378
2484
  "stream.destroy",
2379
2485
  "stream.destroyErr",
2486
+ "stream.iteratorClose",
2380
2487
  // setMaxListeners(n) throws Node's ERR_OUT_OF_RANGE RangeError for
2381
2488
  // negative/NaN arguments; the static form's default-max write validates
2382
2489
  // identically (Node's validateNumber(n, "setMaxListeners", 0)).
@@ -2504,6 +2611,27 @@ export const MAY_THROW_LIB_FNS = new Set([
2504
2611
  "fs.statSync",
2505
2612
  "crypto.randomBytesToString",
2506
2613
  "crypto.randomBytes",
2614
+ "crypto.hashDigestStr",
2615
+ "crypto.hashDigestBytes",
2616
+ "crypto.hashNew",
2617
+ "crypto.hmacNewStr",
2618
+ "crypto.hmacNewBytes",
2619
+ "crypto.hashUpdateStr",
2620
+ "crypto.hashUpdateBytes",
2621
+ "crypto.hmacUpdateStr",
2622
+ "crypto.hmacUpdateBytes",
2623
+ "crypto.hashCopy",
2624
+ "crypto.hashDigestString",
2625
+ "crypto.hashDigestBuffer",
2626
+ "crypto.hmacDigestString",
2627
+ "crypto.hmacDigestBuffer",
2628
+ "crypto.timingSafeEqual",
2629
+ "crypto.randomFill",
2630
+ "crypto.randomFillRest",
2631
+ "crypto.randomInt",
2632
+ "crypto.pbkdf2",
2633
+ "crypto.randomBytesCb",
2634
+ "crypto.pbkdf2Cb",
2507
2635
  "buffer.concat",
2508
2636
  "buffer.concatLen",
2509
2637
  // The checked-dynamic compare/equals validators: Node's argument
@@ -2561,6 +2689,7 @@ export const MAY_THROW_LIB_FNS = new Set([
2561
2689
  // catchable AssertionError on failure.
2562
2690
  "assert.ok",
2563
2691
  "assert.eqF64",
2692
+ "assert.eqBigInt",
2564
2693
  "assert.eqStr",
2565
2694
  "assert.eqBool",
2566
2695
  "assert.eqSym",
package/dist/ir/ir.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ir.js","sourceRoot":"","sources":["../../src/ir/ir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ir.js","sourceRoot":"","sources":["../../src/ir/ir.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { IrModule } from "./ir.js";
2
- export declare const IR_VERSION: 8;
2
+ export declare const IR_VERSION: 9;
3
3
  export declare function serializeModule(mod: IrModule): string;
4
4
  export declare function deserializeModule(json: string): IrModule;
@@ -1,5 +1,5 @@
1
1
  import { InternalCompilerError } from "../errors.js";
2
- export const IR_VERSION = 8;
2
+ export const IR_VERSION = 9;
3
3
  export function serializeModule(mod) {
4
4
  return JSON.stringify(mod, (_key, value) => {
5
5
  if (typeof value === "number" && !Number.isFinite(value)) {