@scriptc/compiler 0.2.6 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +5 -18
  2. package/dist/backend/cycle-analysis.d.ts +21 -9
  3. package/dist/backend/cycle-analysis.js +139 -67
  4. package/dist/backend/cycle-analysis.js.map +1 -1
  5. package/dist/backend/cycle-analysis.test.js +283 -3
  6. package/dist/backend/cycle-analysis.test.js.map +1 -1
  7. package/dist/backend/cycle-mutability.d.ts +39 -0
  8. package/dist/backend/cycle-mutability.js +205 -0
  9. package/dist/backend/cycle-mutability.js.map +1 -0
  10. package/dist/backend/link-plan-core.d.ts +2 -1
  11. package/dist/backend/link-plan-core.js +15 -3
  12. package/dist/backend/link-plan-core.js.map +1 -1
  13. package/dist/backend/link-plan.d.ts +2 -1
  14. package/dist/backend/link-plan.js.map +1 -1
  15. package/dist/backend/llvm/alloc.d.ts +40 -0
  16. package/dist/backend/llvm/alloc.js +205 -0
  17. package/dist/backend/llvm/alloc.js.map +1 -0
  18. package/dist/backend/llvm/alloc.test.d.ts +1 -0
  19. package/dist/backend/llvm/alloc.test.js +102 -0
  20. package/dist/backend/llvm/alloc.test.js.map +1 -0
  21. package/dist/backend/llvm/call-lifetimes.d.ts +15 -3
  22. package/dist/backend/llvm/call-lifetimes.js +42 -18
  23. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  24. package/dist/backend/llvm/call-lifetimes.test.js +170 -0
  25. package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
  26. package/dist/backend/llvm/classes.d.ts +4 -1
  27. package/dist/backend/llvm/classes.js +35 -32
  28. package/dist/backend/llvm/classes.js.map +1 -1
  29. package/dist/backend/llvm/classes.test.js +36 -3
  30. package/dist/backend/llvm/classes.test.js.map +1 -1
  31. package/dist/backend/llvm/common.d.ts +13 -0
  32. package/dist/backend/llvm/common.js +30 -0
  33. package/dist/backend/llvm/common.js.map +1 -1
  34. package/dist/backend/llvm/constant-callbacks.d.ts +19 -3
  35. package/dist/backend/llvm/constant-callbacks.js +289 -52
  36. package/dist/backend/llvm/constant-callbacks.js.map +1 -1
  37. package/dist/backend/llvm/constant-callbacks.test.js +140 -3
  38. package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
  39. package/dist/backend/llvm/dense-array-access.d.ts +29 -0
  40. package/dist/backend/llvm/dense-array-access.js +335 -0
  41. package/dist/backend/llvm/dense-array-access.js.map +1 -0
  42. package/dist/backend/llvm/dense-array-access.test.d.ts +1 -0
  43. package/dist/backend/llvm/dense-array-access.test.js +149 -0
  44. package/dist/backend/llvm/dense-array-access.test.js.map +1 -0
  45. package/dist/backend/llvm/dyn.d.ts +34 -0
  46. package/dist/backend/llvm/dyn.js +189 -1
  47. package/dist/backend/llvm/dyn.js.map +1 -1
  48. package/dist/backend/llvm/emitter.d.ts +124 -4
  49. package/dist/backend/llvm/emitter.js +623 -105
  50. package/dist/backend/llvm/emitter.js.map +1 -1
  51. package/dist/backend/llvm/emitter.test.js +68 -6
  52. package/dist/backend/llvm/emitter.test.js.map +1 -1
  53. package/dist/backend/llvm/expr-async.js +58 -4
  54. package/dist/backend/llvm/expr-async.js.map +1 -1
  55. package/dist/backend/llvm/expr-async.test.d.ts +1 -0
  56. package/dist/backend/llvm/expr-async.test.js +62 -0
  57. package/dist/backend/llvm/expr-async.test.js.map +1 -0
  58. package/dist/backend/llvm/expr-calls.js +64 -6
  59. package/dist/backend/llvm/expr-calls.js.map +1 -1
  60. package/dist/backend/llvm/expr-containers.js +16 -5
  61. package/dist/backend/llvm/expr-containers.js.map +1 -1
  62. package/dist/backend/llvm/expr-control.js +92 -2
  63. package/dist/backend/llvm/expr-control.js.map +1 -1
  64. package/dist/backend/llvm/expr-dispatch.js +2 -0
  65. package/dist/backend/llvm/expr-dispatch.js.map +1 -1
  66. package/dist/backend/llvm/expr-dynamic.js +174 -25
  67. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  68. package/dist/backend/llvm/expr-primitives.d.ts +1 -1
  69. package/dist/backend/llvm/expr-primitives.js +52 -24
  70. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  71. package/dist/backend/llvm/expr-primitives.test.js +1 -1
  72. package/dist/backend/llvm/expr-records.js +3 -3
  73. package/dist/backend/llvm/expr-records.js.map +1 -1
  74. package/dist/backend/llvm/expr-stream-bridges.js +59 -2
  75. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  76. package/dist/backend/llvm/expr-stream-bridges.test.js +1 -1
  77. package/dist/backend/llvm/integer-remainder.d.ts +11 -0
  78. package/dist/backend/llvm/integer-remainder.js +91 -0
  79. package/dist/backend/llvm/integer-remainder.js.map +1 -1
  80. package/dist/backend/llvm/layouts.d.ts +2 -1
  81. package/dist/backend/llvm/layouts.js +3 -2
  82. package/dist/backend/llvm/layouts.js.map +1 -1
  83. package/dist/backend/llvm/lazy-captures.d.ts +16 -0
  84. package/dist/backend/llvm/lazy-captures.js +96 -0
  85. package/dist/backend/llvm/lazy-captures.js.map +1 -0
  86. package/dist/backend/llvm/lazy-captures.test.d.ts +1 -0
  87. package/dist/backend/llvm/lazy-captures.test.js +78 -0
  88. package/dist/backend/llvm/lazy-captures.test.js.map +1 -0
  89. package/dist/backend/llvm/lib-filesystem.js +3 -4
  90. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  91. package/dist/backend/llvm/local-array-reads.d.ts +5 -1
  92. package/dist/backend/llvm/local-array-reads.js +78 -17
  93. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  94. package/dist/backend/llvm/local-array-reads.test.js +78 -1
  95. package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
  96. package/dist/backend/llvm/local-union-storage.d.ts +5 -1
  97. package/dist/backend/llvm/local-union-storage.js +48 -6
  98. package/dist/backend/llvm/local-union-storage.js.map +1 -1
  99. package/dist/backend/llvm/local-union-storage.test.js +91 -4
  100. package/dist/backend/llvm/local-union-storage.test.js.map +1 -1
  101. package/dist/backend/llvm/map-read-lifetimes.test.js +1 -1
  102. package/dist/backend/llvm/nullable-fields.d.ts +28 -0
  103. package/dist/backend/llvm/nullable-fields.js +45 -0
  104. package/dist/backend/llvm/nullable-fields.js.map +1 -0
  105. package/dist/backend/llvm/nullable-fields.test.d.ts +1 -0
  106. package/dist/backend/llvm/nullable-fields.test.js +48 -0
  107. package/dist/backend/llvm/nullable-fields.test.js.map +1 -0
  108. package/dist/backend/llvm/serialized-ir-emission.test.d.ts +1 -0
  109. package/dist/backend/llvm/serialized-ir-emission.test.js +52 -0
  110. package/dist/backend/llvm/serialized-ir-emission.test.js.map +1 -0
  111. package/dist/backend/llvm/shapes.d.ts +69 -2
  112. package/dist/backend/llvm/shapes.js +259 -27
  113. package/dist/backend/llvm/shapes.js.map +1 -1
  114. package/dist/backend/llvm/shapes.test.js +114 -5
  115. package/dist/backend/llvm/shapes.test.js.map +1 -1
  116. package/dist/backend/llvm/stack-callbacks.js +2 -3
  117. package/dist/backend/llvm/stack-callbacks.js.map +1 -1
  118. package/dist/backend/llvm/stack-captures.d.ts +3 -1
  119. package/dist/backend/llvm/stack-captures.js +5 -3
  120. package/dist/backend/llvm/stack-captures.js.map +1 -1
  121. package/dist/backend/llvm/stack-unions.test.js +38 -1
  122. package/dist/backend/llvm/stack-unions.test.js.map +1 -1
  123. package/dist/backend/llvm/string-construction.test.js +1 -1
  124. package/dist/backend/llvm/string-key-hash.d.ts +8 -0
  125. package/dist/backend/llvm/string-key-hash.js +59 -0
  126. package/dist/backend/llvm/string-key-hash.js.map +1 -0
  127. package/dist/backend/llvm/string-key-hash.test.d.ts +1 -0
  128. package/dist/backend/llvm/string-key-hash.test.js +34 -0
  129. package/dist/backend/llvm/string-key-hash.test.js.map +1 -0
  130. package/dist/backend/llvm/string-lifetimes.test.js +41 -4
  131. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  132. package/dist/backend/llvm/switch-dispatch.js +1 -1
  133. package/dist/backend/llvm/switch-dispatch.js.map +1 -1
  134. package/dist/backend/llvm/switch-dispatch.test.js +2 -2
  135. package/dist/backend/llvm/switch-dispatch.test.js.map +1 -1
  136. package/dist/backend/may-throw.js +3 -0
  137. package/dist/backend/may-throw.js.map +1 -1
  138. package/dist/backend/may-throw.test.js +1 -1
  139. package/dist/backend/native/cache-warm.d.ts +2 -1
  140. package/dist/backend/native/cache-warm.js.map +1 -1
  141. package/dist/backend/native/contracts.d.ts +3 -2
  142. package/dist/backend/native/contracts.js.map +1 -1
  143. package/dist/backend/native/runtime-inputs.d.ts +1 -1
  144. package/dist/backend/native/runtime-inputs.js +1 -0
  145. package/dist/backend/native/runtime-inputs.js.map +1 -1
  146. package/dist/backend/native-codegen-core.d.ts +2 -1
  147. package/dist/backend/native-codegen-core.js.map +1 -1
  148. package/dist/backend/native-codegen.d.ts +5 -0
  149. package/dist/backend/native-codegen.js +4 -0
  150. package/dist/backend/native-codegen.js.map +1 -1
  151. package/dist/backend/native-codegen.test.js +23 -0
  152. package/dist/backend/native-codegen.test.js.map +1 -1
  153. package/dist/backend/native-link-info-core.d.ts +3 -2
  154. package/dist/backend/native-link-info-core.js.map +1 -1
  155. package/dist/backend/native-link-info.d.ts +2 -1
  156. package/dist/backend/native-link-info.js.map +1 -1
  157. package/dist/backend/native-link-info.test.js +2 -2
  158. package/dist/backend/native-link-info.test.js.map +1 -1
  159. package/dist/backend/native-tools.d.ts +3 -1
  160. package/dist/backend/native-tools.js +0 -1
  161. package/dist/backend/native-tools.js.map +1 -1
  162. package/dist/backend/optimization.d.ts +25 -0
  163. package/dist/backend/optimization.js +21 -0
  164. package/dist/backend/optimization.js.map +1 -0
  165. package/dist/backend/optimization.test.d.ts +1 -0
  166. package/dist/backend/optimization.test.js +24 -0
  167. package/dist/backend/optimization.test.js.map +1 -0
  168. package/dist/backend/runtime-abi.d.ts +2 -2
  169. package/dist/backend/runtime-abi.js +2 -2
  170. package/dist/backend/runtime-pack-core.d.ts +15 -4
  171. package/dist/backend/runtime-pack-core.js +23 -12
  172. package/dist/backend/runtime-pack-core.js.map +1 -1
  173. package/dist/backend/runtime-pack-native.d.ts +7 -3
  174. package/dist/backend/runtime-pack-native.js +0 -3
  175. package/dist/backend/runtime-pack-native.js.map +1 -1
  176. package/dist/backend/runtime-pack-targets.test.js +1 -1
  177. package/dist/backend/runtime-pack.d.ts +20 -2
  178. package/dist/backend/runtime-pack.js +23 -0
  179. package/dist/backend/runtime-pack.js.map +1 -1
  180. package/dist/backend/runtime-pack.test.js +115 -2
  181. package/dist/backend/runtime-pack.test.js.map +1 -1
  182. package/dist/backend/target-diagnostics.test.js +1 -1
  183. package/dist/backend/targets.d.ts +2 -1
  184. package/dist/backend/targets.js +1 -1
  185. package/dist/backend/targets.js.map +1 -1
  186. package/dist/cli/command.js +5 -4
  187. package/dist/cli/command.js.map +1 -1
  188. package/dist/cli/host.d.ts +2 -1
  189. package/dist/cli/usage.d.ts +1 -1
  190. package/dist/cli/usage.js +5 -2
  191. package/dist/cli/usage.js.map +1 -1
  192. package/dist/compile-types.d.ts +5 -2
  193. package/dist/diagnostics/diagnostic.js +10 -8
  194. package/dist/diagnostics/diagnostic.js.map +1 -1
  195. package/dist/executable/executable-cache.d.ts +2 -2
  196. package/dist/executable/executable-cache.js +7 -4
  197. package/dist/executable/executable-cache.js.map +1 -1
  198. package/dist/executable/executable-cache.test.js +20 -0
  199. package/dist/executable/executable-cache.test.js.map +1 -1
  200. package/dist/frontend/lowering/abstract-equality.js +5 -49
  201. package/dist/frontend/lowering/abstract-equality.js.map +1 -1
  202. package/dist/frontend/lowering/array-values.d.ts +23 -0
  203. package/dist/frontend/lowering/array-values.js +129 -0
  204. package/dist/frontend/lowering/array-values.js.map +1 -1
  205. package/dist/frontend/lowering/builtins/errors.js +17 -2
  206. package/dist/frontend/lowering/builtins/errors.js.map +1 -1
  207. package/dist/frontend/lowering/builtins/process.d.ts +6 -17
  208. package/dist/frontend/lowering/builtins/process.js +56 -29
  209. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  210. package/dist/frontend/lowering/caught-value-dispatch.d.ts +11 -0
  211. package/dist/frontend/lowering/caught-value-dispatch.js +87 -0
  212. package/dist/frontend/lowering/caught-value-dispatch.js.map +1 -0
  213. package/dist/frontend/lowering/class-assertions.d.ts +4 -0
  214. package/dist/frontend/lowering/class-assertions.js +12 -4
  215. package/dist/frontend/lowering/class-assertions.js.map +1 -1
  216. package/dist/frontend/lowering/class-callbacks.d.ts +3 -3
  217. package/dist/frontend/lowering/class-callbacks.js +18 -5
  218. package/dist/frontend/lowering/class-callbacks.js.map +1 -1
  219. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +1 -0
  220. package/dist/frontend/lowering/class-dynamic-dispatch.js +4 -1
  221. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  222. package/dist/frontend/lowering/class-method-mutations.d.ts +5 -0
  223. package/dist/frontend/lowering/class-method-mutations.js +472 -0
  224. package/dist/frontend/lowering/class-method-mutations.js.map +1 -0
  225. package/dist/frontend/lowering/class-method-values.js +25 -5
  226. package/dist/frontend/lowering/class-method-values.js.map +1 -1
  227. package/dist/frontend/lowering/class-prototypes.js +8 -2
  228. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  229. package/dist/frontend/lowering/class-unions.d.ts +16 -0
  230. package/dist/frontend/lowering/class-unions.js +127 -0
  231. package/dist/frontend/lowering/class-unions.js.map +1 -0
  232. package/dist/frontend/lowering/coercions/builders.js +8 -1
  233. package/dist/frontend/lowering/coercions/builders.js.map +1 -1
  234. package/dist/frontend/lowering/coercions/function-adapters.js +2 -0
  235. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
  236. package/dist/frontend/lowering/coercions/identity.d.ts +7 -0
  237. package/dist/frontend/lowering/coercions/identity.js +26 -0
  238. package/dist/frontend/lowering/coercions/identity.js.map +1 -0
  239. package/dist/frontend/lowering/coercions/structural.js +9 -6
  240. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  241. package/dist/frontend/lowering/collection-narrowing.d.ts +6 -0
  242. package/dist/frontend/lowering/collection-narrowing.js +31 -0
  243. package/dist/frontend/lowering/collection-narrowing.js.map +1 -0
  244. package/dist/frontend/lowering/containers/array-callback-call.d.ts +7 -0
  245. package/dist/frontend/lowering/containers/array-callback-call.js +52 -0
  246. package/dist/frontend/lowering/containers/array-callback-call.js.map +1 -0
  247. package/dist/frontend/lowering/containers/array-callbacks.d.ts +1 -1
  248. package/dist/frontend/lowering/containers/array-callbacks.js +363 -49
  249. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  250. package/dist/frontend/lowering/containers/array-concat.d.ts +7 -0
  251. package/dist/frontend/lowering/containers/array-concat.js +130 -0
  252. package/dist/frontend/lowering/containers/array-concat.js.map +1 -0
  253. package/dist/frontend/lowering/containers/array-construction.d.ts +2 -0
  254. package/dist/frontend/lowering/containers/array-construction.js +95 -3
  255. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  256. package/dist/frontend/lowering/containers/array-methods.d.ts +1 -11
  257. package/dist/frontend/lowering/containers/array-methods.js +43 -132
  258. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  259. package/dist/frontend/lowering/containers/collection-methods.js +10 -1
  260. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  261. package/dist/frontend/lowering/containers/indexed-objects.js +56 -70
  262. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  263. package/dist/frontend/lowering/cycle-initialization.d.ts +41 -0
  264. package/dist/frontend/lowering/cycle-initialization.js +277 -0
  265. package/dist/frontend/lowering/cycle-initialization.js.map +1 -0
  266. package/dist/frontend/lowering/expressions/evaluation-safety.js +4 -0
  267. package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
  268. package/dist/frontend/lowering/expressions/object-literals.js +138 -32
  269. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  270. package/dist/frontend/lowering/expressions/union-field-write.d.ts +4 -4
  271. package/dist/frontend/lowering/expressions/union-field-write.js +54 -44
  272. package/dist/frontend/lowering/expressions/union-field-write.js.map +1 -1
  273. package/dist/frontend/lowering/iterator-adapters.d.ts +20 -0
  274. package/dist/frontend/lowering/iterator-adapters.js +605 -0
  275. package/dist/frontend/lowering/iterator-adapters.js.map +1 -0
  276. package/dist/frontend/lowering/lower-array-sort.d.ts +1 -1
  277. package/dist/frontend/lowering/lower-array-sort.js +44 -5
  278. package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
  279. package/dist/frontend/lowering/lower-array-sort.test.d.ts +1 -0
  280. package/dist/frontend/lowering/lower-array-sort.test.js +31 -0
  281. package/dist/frontend/lowering/lower-array-sort.test.js.map +1 -0
  282. package/dist/frontend/lowering/lower-assert.js +7 -0
  283. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  284. package/dist/frontend/lowering/lower-builtin-values.js +1 -0
  285. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  286. package/dist/frontend/lowering/lower-calls.d.ts +3 -3
  287. package/dist/frontend/lowering/lower-calls.js +162 -121
  288. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  289. package/dist/frontend/lowering/lower-classes.d.ts +2 -0
  290. package/dist/frontend/lowering/lower-classes.js +45 -43
  291. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  292. package/dist/frontend/lowering/lower-exprs.d.ts +9 -2
  293. package/dist/frontend/lowering/lower-exprs.js +390 -157
  294. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  295. package/dist/frontend/lowering/lower-functions.js +32 -19
  296. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  297. package/dist/frontend/lowering/lower-inspect.js +26 -2
  298. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  299. package/dist/frontend/lowering/lower-modules.js +10 -2
  300. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  301. package/dist/frontend/lowering/lower-stmts.js +46 -58
  302. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  303. package/dist/frontend/lowering/lowerer.d.ts +37 -0
  304. package/dist/frontend/lowering/lowerer.js +283 -18
  305. package/dist/frontend/lowering/lowerer.js.map +1 -1
  306. package/dist/frontend/lowering/native-ffi.js +3 -1
  307. package/dist/frontend/lowering/native-ffi.js.map +1 -1
  308. package/dist/frontend/lowering/runtime-optional-provenance.d.ts +15 -0
  309. package/dist/frontend/lowering/runtime-optional-provenance.js +40 -0
  310. package/dist/frontend/lowering/runtime-optional-provenance.js.map +1 -0
  311. package/dist/frontend/lowering/sanitize-class-types.test.js +2 -2
  312. package/dist/frontend/lowering/strict-equality.d.ts +9 -0
  313. package/dist/frontend/lowering/strict-equality.js +116 -0
  314. package/dist/frontend/lowering/strict-equality.js.map +1 -0
  315. package/dist/frontend/lowering/surfaces.js +3 -0
  316. package/dist/frontend/lowering/surfaces.js.map +1 -1
  317. package/dist/frontend/lowering/union-comparison.d.ts +5 -0
  318. package/dist/frontend/lowering/union-comparison.js +47 -0
  319. package/dist/frontend/lowering/union-comparison.js.map +1 -0
  320. package/dist/frontend/program.d.ts +38 -2
  321. package/dist/frontend/program.js +440 -59
  322. package/dist/frontend/program.js.map +1 -1
  323. package/dist/frontend/program.test.js +59 -6
  324. package/dist/frontend/program.test.js.map +1 -1
  325. package/dist/frontend/type-mapper.d.ts +1 -1
  326. package/dist/frontend/type-mapper.js +89 -14
  327. package/dist/frontend/type-mapper.js.map +1 -1
  328. package/dist/frontend/type-mapper.test.js +15 -3
  329. package/dist/frontend/type-mapper.test.js.map +1 -1
  330. package/dist/index.js +25 -9
  331. package/dist/index.js.map +1 -1
  332. package/dist/ir/analysis.d.ts +3 -1
  333. package/dist/ir/analysis.js +4 -0
  334. package/dist/ir/analysis.js.map +1 -1
  335. package/dist/ir/builtin-signatures.js +2 -3
  336. package/dist/ir/builtin-signatures.js.map +1 -1
  337. package/dist/ir/constant-tables.test.js +1 -1
  338. package/dist/ir/initializer-bindings.test.js +1 -1
  339. package/dist/ir/ir.d.ts +78 -15
  340. package/dist/ir/ir.js +20 -6
  341. package/dist/ir/ir.js.map +1 -1
  342. package/dist/ir/scalar-records.test.js +1 -1
  343. package/dist/ir/serialize.d.ts +1 -1
  344. package/dist/ir/serialize.js +3 -3
  345. package/dist/ir/serialize.js.map +1 -1
  346. package/dist/ir/traverse.js +8 -0
  347. package/dist/ir/traverse.js.map +1 -1
  348. package/dist/ir/validate.js +118 -20
  349. package/dist/ir/validate.js.map +1 -1
  350. package/dist/ir/validate.test.js +269 -8
  351. package/dist/ir/validate.test.js.map +1 -1
  352. package/dist/library/fence-eval.test.js +1 -1
  353. package/dist/library/int-infer.test.js +4 -4
  354. package/dist/library/library-cache.test.js +5 -5
  355. package/dist/library/library-profile.d.ts +2 -1
  356. package/dist/library/library-profile.js +4 -3
  357. package/dist/library/library-profile.js.map +1 -1
  358. package/dist/native/compiler.js.map +1 -1
  359. package/dist/native/compiler.test.js +2 -2
  360. package/dist/native/library.d.ts +2 -1
  361. package/dist/native/library.js.map +1 -1
  362. package/dist/native/prepare.js +27 -3
  363. package/dist/native/prepare.js.map +1 -1
  364. package/dist/native/sanitizer.d.ts +3 -2
  365. package/dist/native/sanitizer.js +3 -13
  366. package/dist/native/sanitizer.js.map +1 -1
  367. package/package.json +20 -20
  368. package/surface-manifest.json +8 -2
package/dist/ir/ir.d.ts CHANGED
@@ -520,10 +520,9 @@ export declare function isSupportedMapValue(t: IrType): boolean;
520
520
  * Shared frontend (mapType) / validator. */
521
521
  export declare function isSupportedIndexValue(t: IrType): boolean;
522
522
  export declare function funcOf(params: IrType[], ret: IrType): IrType;
523
- /** Maps, sets and promises may share a union with null/undefined only.
524
- * Unit tag tests can narrow nullable containers without losing identity;
525
- * arbitrary data siblings require a separate runtime narrowing operation.
526
- * Share this rule across checker mapping, synthesized unions and validation. */
523
+ /** Maps and sets use tagged union storage and retain their native identity.
524
+ * Promises still require nullable-only unions until their data-arm narrowing
525
+ * and await boundary have a matching contract. */
527
526
  export declare function unionContainerArmsOk(arms: IrType[]): boolean;
528
527
  /** Canonical, injective text form of an IrType — the building block of
529
528
  * shape/union identity keys, generic-function instantiation keys, and the
@@ -541,7 +540,7 @@ export declare function typeEquals(a: IrType, b: IrType): boolean;
541
540
  export declare function isRefCounted(t: IrType): boolean;
542
541
  export interface IrModule {
543
542
  /** Bumped on any breaking IR change; serialize.ts refuses mismatches. */
544
- irVersion: 14;
543
+ irVersion: 15;
545
544
  sourceFile: string;
546
545
  functions: IrFunction[];
547
546
  /** Class shapes. Constructors and methods are ordinary module functions
@@ -1067,6 +1066,11 @@ export interface IrGlobal {
1067
1066
  /** Lexical record/function/checked-value bindings use their initially-null
1068
1067
  * pointer as a TDZ sentinel. Reads and later writes throw until initializing assign. */
1069
1068
  tdz?: true;
1069
+ /** An import-cycle binding whose initialization state lives in this BOOL
1070
+ * global instead: the declaration's store is the `assign` marked
1071
+ * `initializes`, followed by the flag's set; accesses that can run
1072
+ * earlier test it with the module.tdzCheck intrinsic. */
1073
+ initFlag?: string;
1070
1074
  /** Original declaration and lexical scope, when this is a source binding. */
1071
1075
  source?: IrBindingSource;
1072
1076
  }
@@ -1403,7 +1407,13 @@ export type IrStmt =
1403
1407
  * the fresh array. */
1404
1408
  export type IrArrIntrinsicMethod =
1405
1409
  /** Default String ordering for f64/bool/string payloads; no user callbacks. */
1406
- "sortPrimitive" | "toSortedPrimitive" | "length"
1410
+ "sortPrimitive" | "toSortedPrimitive"
1411
+ /** Internal stable comparator sort of a private, compacted snapshot:
1412
+ * arguments are [value count, comparator]. Every slot below the count is
1413
+ * a value of an `isSortValuesElement` type; the comparator is invoked
1414
+ * with exactly its declared arity. Returns void; comparator exceptions
1415
+ * propagate and leave the snapshot unchanged. */
1416
+ | "sortValues" | "length"
1407
1417
  /** Internal ToNumber(a[index]) for f64-backed arrays: one numeric index,
1408
1418
  * returning the stored number or NaN for a hole/undefined/missing key.
1409
1419
  * Borrows the receiver and never traps on missing values. */
@@ -1434,6 +1444,12 @@ export type IrArrIntrinsicMethod =
1434
1444
  /** Array intrinsics whose runtime implementation can raise a catchable
1435
1445
  * exception (rather than the static tier's deliberate index traps). */
1436
1446
  export declare const MAY_THROW_ARR_METHODS: ReadonlySet<IrArrIntrinsicMethod>;
1447
+ /** Element types whose comparator sort can run in the runtime over raw
1448
+ * slots: numbers, and reference-counted values passed to the comparator by
1449
+ * pointer. Unions with an undefined arm order undefined last without a
1450
+ * comparator call, and checked or island values have their own ABI; those
1451
+ * keep the IR sort helper. */
1452
+ export declare function isSortValuesElement(elem: IrType, unionArms?: readonly IrType[]): boolean;
1437
1453
  /** The Map method/property surface (mirrors ambient/scriptc.d.ts) plus the
1438
1454
  * iteration primitives behind the forEach desugar. `forEach` itself is NOT
1439
1455
  * here — like array map/filter/forEach it desugars in the frontend to a
@@ -2153,11 +2169,15 @@ export type IrExpr =
2153
2169
  * in the callee's captures[] order). The result is owned (+1); the closure
2154
2170
  * itself retains each captured box. A reference to a top-level declared
2155
2171
  * function lowers to a zero-capture closure — backends must intern that
2156
- * case so `f === f` is true (JS function identity). */
2172
+ * case so `f === f` is true (JS function identity). `adapts` marks a
2173
+ * signature adapter: captures[0] holds the function it forwards to, and
2174
+ * the new closure takes that function's identity (JS sees one function,
2175
+ * so `===`, SameValue and searches compare identity roots). */
2157
2176
  | {
2158
2177
  kind: "closure";
2159
2178
  fnName: string;
2160
2179
  captures: string[];
2180
+ adapts?: true;
2161
2181
  type: IrType;
2162
2182
  loc: SrcLoc;
2163
2183
  }
@@ -2334,7 +2354,9 @@ export type IrExpr =
2334
2354
  * pointer, type-only — legal exactly when D strictly descends from C
2335
2355
  * AND the two constructors' completed ABIs are equal (param-wise
2336
2356
  * typeEquals; validator-enforced), the invariant `newValue` completion
2337
- * rests on. */
2357
+ * rests on. Function values may also widen a nominal class return with
2358
+ * identical parameter/rest types: the closure identity and pointer-return
2359
+ * ABI remain unchanged. */
2338
2360
  | {
2339
2361
  kind: "upcast";
2340
2362
  value: IrExpr;
@@ -2450,7 +2472,8 @@ export type IrExpr =
2450
2472
  loc: SrcLoc;
2451
2473
  }
2452
2474
  /** Record field read `r.f` — mirrors `fieldGet`: refcounted fields come
2453
- * out retained (+1). */
2475
+ * out retained (+1). A field in its ABSENT state (fieldAbsent) reads as
2476
+ * the ordinary undefined arm. */
2454
2477
  | {
2455
2478
  kind: "recordGet";
2456
2479
  obj: IrExpr;
@@ -2731,6 +2754,11 @@ export type IrExpr =
2731
2754
  stmts: IrStmt[];
2732
2755
  result: IrExpr;
2733
2756
  generatorDelegate?: true;
2757
+ /** The statements end in a `runtimeFence` that control never reaches:
2758
+ * the value of a call whose checked type is `never` (it throws or exits)
2759
+ * flowing into a typed slot. `result` is a placeholder read of an
2760
+ * uninitialized hidden local and is never evaluated. */
2761
+ diverges?: true;
2734
2762
  type: IrType;
2735
2763
  loc: SrcLoc;
2736
2764
  }
@@ -2796,6 +2824,37 @@ export type IrExpr =
2796
2824
  type: IrType;
2797
2825
  loc: SrcLoc;
2798
2826
  }
2827
+ /** Own-property presence of a DECLARED record field (`"f" in r`,
2828
+ * Object.keys/hasOwn and every other key surface). A field whose type
2829
+ * has no undefined arm is always present; an undefined-armed union field
2830
+ * is present unless its slot holds the field's ABSENT state (see
2831
+ * fieldAbsent), so `{ f: undefined }` keeps `f` while an omitted or
2832
+ * deleted optional field lacks it. The receiver is borrowed; the result
2833
+ * is bool. */
2834
+ | {
2835
+ kind: "recordHas";
2836
+ obj: IrExpr;
2837
+ shapeId: string;
2838
+ field: string;
2839
+ type: IrType;
2840
+ loc: SrcLoc;
2841
+ }
2842
+ /** The ABSENT state of an undefined-armed record field slot: the value
2843
+ * stored for an omitted optional property, a `delete`d property, or a
2844
+ * checked-dynamic key that does not exist. It is the union's undefined
2845
+ * arm in every respect (tag tests, narrowing, equality, JSON), but the
2846
+ * slot remembers that no property exists, which recordHas observes.
2847
+ * Record field reads surface the ordinary undefined arm, so the state
2848
+ * never escapes its slot. Legal only where a field slot is written
2849
+ * directly: a recordLit field value, a recordSet value, a recordClone
2850
+ * override, or a ternary arm in one of those positions. `type` is the
2851
+ * union named by `unionId`, which has an undefined arm. Immortal. */
2852
+ | {
2853
+ kind: "fieldAbsent";
2854
+ unionId: string;
2855
+ type: IrType;
2856
+ loc: SrcLoc;
2857
+ }
2799
2858
  /** Union construction: wrap an arm value into a fresh tagged box (the
2800
2859
  * frontend inserts these wherever a `B` flows into an `A | B` slot).
2801
2860
  * `tag` is the arm's index in the union's canonical arm list; `value` has
@@ -2828,9 +2887,9 @@ export type IrExpr =
2828
2887
  * borrowed). The primitive tests ("string"/"number"/"boolean") compare
2829
2888
  * the snapshot's kind tag. "object" also checks reference payloads,
2830
2889
  * excluding callable and primitive references;
2831
- * "instanceof" requires `className` (a hierarchy class) and tests an OBJ
2832
- * payload's vtable preorder against its interval (false for every other
2833
- * payload kind). `negated` flips the result (the `!==` spelling). */
2890
+ * "instanceof" requires `className`: hierarchy payloads use the vtable
2891
+ * interval, while standalone classes use their exact retain adapter.
2892
+ * Other payloads answer false. `negated` flips the result (the `!==` spelling). */
2834
2893
  | {
2835
2894
  kind: "caughtTest";
2836
2895
  value: IrExpr;
@@ -2845,7 +2904,7 @@ export type IrExpr =
2845
2904
  * tsc's control-flow narrowing has already proven the matching test
2846
2905
  * (`e instanceof C` / `typeof e === "string"`), so the read is
2847
2906
  * kind-UNCHECKED at runtime. `type` is f64, bool, string, or a
2848
- * hierarchy-class object; refcounted results come out retained (+1). */
2907
+ * class object; refcounted results come out retained (+1). */
2849
2908
  | {
2850
2909
  kind: "caughtNarrow";
2851
2910
  value: IrExpr;
@@ -3002,10 +3061,14 @@ export type IrExpr =
3002
3061
  * result's inner type (promise arguments never reach here — the
3003
3062
  * frontend returns them as-is, the spec's native-promise identity;
3004
3063
  * thenables and promise-armed unions fence); the backend mints a fresh
3005
- * promise and fulfills it immediately per the inner kind. */
3064
+ * promise and fulfills it immediately per the inner kind.
3065
+ * module.tdzCheck: two args, a BOOL initialization flag and the binding's
3066
+ * source name as a strLit; void. Throws the catchable ReferenceError
3067
+ * "Cannot access 'name' before initialization" while the flag is false
3068
+ * (a module binding of an import cycle read before its declaration). */
3006
3069
  | {
3007
3070
  kind: "intrinsic";
3008
- name: "console.log" | "console.error" | "promise.race" | "promise.all" | "promise.reject" | "promise.resolve" | "module.await";
3071
+ name: "console.log" | "console.error" | "promise.race" | "promise.all" | "promise.reject" | "promise.resolve" | "module.await" | "module.tdzCheck";
3009
3072
  args: IrExpr[];
3010
3073
  type: IrType;
3011
3074
  loc: SrcLoc;
package/dist/ir/ir.js CHANGED
@@ -329,6 +329,7 @@ export function isSupportedSetElem(t, unionArms) {
329
329
  * cycle analysis and docs/memory.md). Shared frontend/validator. */
330
330
  export function isSupportedMapValue(t) {
331
331
  switch (t.kind) {
332
+ case "bytes":
332
333
  case "dyn":
333
334
  case "f64":
334
335
  case "bigint":
@@ -395,13 +396,11 @@ export function isSupportedIndexValue(t) {
395
396
  export function funcOf(params, ret) {
396
397
  return { kind: "func", params, ret };
397
398
  }
398
- /** Maps, sets and promises may share a union with null/undefined only.
399
- * Unit tag tests can narrow nullable containers without losing identity;
400
- * arbitrary data siblings require a separate runtime narrowing operation.
401
- * Share this rule across checker mapping, synthesized unions and validation. */
399
+ /** Maps and sets use tagged union storage and retain their native identity.
400
+ * Promises still require nullable-only unions until their data-arm narrowing
401
+ * and await boundary have a matching contract. */
402
402
  export function unionContainerArmsOk(arms) {
403
- return arms.every((a, i) => (a.kind !== "map" && a.kind !== "set" && a.kind !== "promise") ||
404
- arms.every((b, j) => j === i || isUnitType(b)));
403
+ return arms.every((a, i) => a.kind !== "promise" || arms.every((b, j) => j === i || isUnitType(b)));
405
404
  }
406
405
  /** Canonical, injective text form of an IrType — the building block of
407
406
  * shape/union identity keys, generic-function instantiation keys, and the
@@ -662,7 +661,22 @@ export function shapeHasAccessorSlots(shape) {
662
661
  export const MAY_THROW_ARR_METHODS = new Set([
663
662
  "with",
664
663
  "withUndefined",
664
+ "sortValues",
665
665
  ]);
666
+ /** Element types whose comparator sort can run in the runtime over raw
667
+ * slots: numbers, and reference-counted values passed to the comparator by
668
+ * pointer. Unions with an undefined arm order undefined last without a
669
+ * comparator call, and checked or island values have their own ABI; those
670
+ * keep the IR sort helper. */
671
+ export function isSortValuesElement(elem, unionArms) {
672
+ if (elem.kind === "f64")
673
+ return true;
674
+ if (elem.kind === "dyn" || elem.kind === "jsval" || elem.kind === "caught")
675
+ return false;
676
+ if (elem.kind === "union" && (!unionArms || unionArms.some((arm) => arm.kind === "undefinedT")))
677
+ return false;
678
+ return isRefCounted(elem);
679
+ }
666
680
  /** The bytesIntrinsic methods that can raise a catchable error — backends'
667
681
  * may-throw analyses seed on these exactly like MAY_THROW_LIB_FNS. */
668
682
  export const MAY_THROW_BYTES_METHODS = new Set([
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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"}
@@ -28,7 +28,7 @@ const read = (localId, field = "a") => ({
28
28
  });
29
29
  function fixture() {
30
30
  return {
31
- irVersion: 14,
31
+ irVersion: 15,
32
32
  sourceFile: loc.file,
33
33
  entry: "main",
34
34
  records: [
@@ -1,5 +1,5 @@
1
1
  import type { IrModule } from "./ir.js";
2
- export declare const IR_VERSION: 14;
2
+ export declare const IR_VERSION: 15;
3
3
  /** Compiler artifacts use compact JSON to keep large graphs below the host's
4
4
  * string size limit. API consumers can retain the readable default. */
5
5
  export declare function serializeModule(mod: IrModule, compact?: boolean): string;
@@ -1,6 +1,6 @@
1
- // Version 14 records worker execution, which requires thread-local program
2
- // state and matching runtime objects. Older readers must not erase that mode.
3
- export const IR_VERSION = 14;
1
+ // Version 15 expands the native Error prefix with filesystem metadata.
2
+ // Older modules embed incompatible subclass offsets and must be rejected.
3
+ export const IR_VERSION = 15;
4
4
  /** IR artifacts are plain data. Scan each function once before deciding
5
5
  * whether its JSON encoding needs the complete-number-domain replacer. */
6
6
  function ordinaryNumbers(root) {
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/ir/serialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/ir/serialize.ts"],"names":[],"mappings":"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"}
@@ -282,6 +282,10 @@ export function everyExprChild(node, expr, stmt) {
282
282
  return expr(node.obj);
283
283
  case "recordOvfHas":
284
284
  return expr(node.obj) && expr(node.key);
285
+ case "recordHas":
286
+ return expr(node.obj);
287
+ case "fieldAbsent":
288
+ return true;
285
289
  case "unionWrap":
286
290
  return expr(node.value);
287
291
  case "unionFuncEq":
@@ -620,6 +624,10 @@ export function mapExprChildren(node, expr, stmt) {
620
624
  return { ...node, obj: expr(node.obj) };
621
625
  case "recordOvfHas":
622
626
  return { ...node, obj: expr(node.obj), key: expr(node.key) };
627
+ case "recordHas":
628
+ return { ...node, obj: expr(node.obj) };
629
+ case "fieldAbsent":
630
+ return node;
623
631
  case "unionWrap":
624
632
  return { ...node, value: expr(node.value) };
625
633
  case "unionFuncEq":