@scriptc/compiler 0.3.0 → 0.3.2

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 (413) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +346 -17
  2. package/dist/backend/executable-features.js +1 -0
  3. package/dist/backend/executable-features.js.map +1 -1
  4. package/dist/backend/literals.d.ts +7 -0
  5. package/dist/backend/literals.js +32 -0
  6. package/dist/backend/literals.js.map +1 -1
  7. package/dist/backend/literals.test.js +17 -1
  8. package/dist/backend/literals.test.js.map +1 -1
  9. package/dist/backend/llvm/alloc.d.ts +15 -4
  10. package/dist/backend/llvm/alloc.js +39 -15
  11. package/dist/backend/llvm/alloc.js.map +1 -1
  12. package/dist/backend/llvm/alloc.test.js +15 -1
  13. package/dist/backend/llvm/alloc.test.js.map +1 -1
  14. package/dist/backend/llvm/appended-array-literals.d.ts +2 -0
  15. package/dist/backend/llvm/appended-array-literals.js +109 -0
  16. package/dist/backend/llvm/appended-array-literals.js.map +1 -0
  17. package/dist/backend/llvm/appended-array-literals.test.d.ts +1 -0
  18. package/dist/backend/llvm/appended-array-literals.test.js +90 -0
  19. package/dist/backend/llvm/appended-array-literals.test.js.map +1 -0
  20. package/dist/backend/llvm/bigint-wrap.d.ts +4 -0
  21. package/dist/backend/llvm/bigint-wrap.js +590 -0
  22. package/dist/backend/llvm/bigint-wrap.js.map +1 -0
  23. package/dist/backend/llvm/blocks.d.ts +2 -0
  24. package/dist/backend/llvm/blocks.js +4 -0
  25. package/dist/backend/llvm/blocks.js.map +1 -1
  26. package/dist/backend/llvm/call-lifetimes.d.ts +4 -1
  27. package/dist/backend/llvm/call-lifetimes.js +66 -7
  28. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  29. package/dist/backend/llvm/call-lifetimes.test.js +14 -3
  30. package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
  31. package/dist/backend/llvm/checked-narrows.test.js +1 -1
  32. package/dist/backend/llvm/checked-narrows.test.js.map +1 -1
  33. package/dist/backend/llvm/classes.js +67 -14
  34. package/dist/backend/llvm/classes.js.map +1 -1
  35. package/dist/backend/llvm/classes.test.js +6 -6
  36. package/dist/backend/llvm/classes.test.js.map +1 -1
  37. package/dist/backend/llvm/common.d.ts +7 -5
  38. package/dist/backend/llvm/common.js +7 -5
  39. package/dist/backend/llvm/common.js.map +1 -1
  40. package/dist/backend/llvm/constant-callbacks.js +10 -28
  41. package/dist/backend/llvm/constant-callbacks.js.map +1 -1
  42. package/dist/backend/llvm/dense-array-access.js +146 -53
  43. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  44. package/dist/backend/llvm/dense-array-access.test.js +68 -3
  45. package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
  46. package/dist/backend/llvm/dyn.d.ts +4 -0
  47. package/dist/backend/llvm/dyn.js +15 -2
  48. package/dist/backend/llvm/dyn.js.map +1 -1
  49. package/dist/backend/llvm/emitter.d.ts +163 -8
  50. package/dist/backend/llvm/emitter.js +973 -100
  51. package/dist/backend/llvm/emitter.js.map +1 -1
  52. package/dist/backend/llvm/emitter.test.js +14 -7
  53. package/dist/backend/llvm/emitter.test.js.map +1 -1
  54. package/dist/backend/llvm/expr-async.js +242 -49
  55. package/dist/backend/llvm/expr-async.js.map +1 -1
  56. package/dist/backend/llvm/expr-async.test.js +1 -1
  57. package/dist/backend/llvm/expr-async.test.js.map +1 -1
  58. package/dist/backend/llvm/expr-bytes.js +51 -36
  59. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  60. package/dist/backend/llvm/expr-callbacks.d.ts +8 -0
  61. package/dist/backend/llvm/expr-callbacks.js +153 -4
  62. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  63. package/dist/backend/llvm/expr-calls.d.ts +12 -1
  64. package/dist/backend/llvm/expr-calls.js +279 -78
  65. package/dist/backend/llvm/expr-calls.js.map +1 -1
  66. package/dist/backend/llvm/expr-calls.test.d.ts +1 -0
  67. package/dist/backend/llvm/expr-calls.test.js +132 -0
  68. package/dist/backend/llvm/expr-calls.test.js.map +1 -0
  69. package/dist/backend/llvm/expr-containers.d.ts +7 -0
  70. package/dist/backend/llvm/expr-containers.js +49 -5
  71. package/dist/backend/llvm/expr-containers.js.map +1 -1
  72. package/dist/backend/llvm/expr-context.d.ts +4 -0
  73. package/dist/backend/llvm/expr-control.d.ts +8 -0
  74. package/dist/backend/llvm/expr-control.js +103 -69
  75. package/dist/backend/llvm/expr-control.js.map +1 -1
  76. package/dist/backend/llvm/expr-dispatch.js +3 -0
  77. package/dist/backend/llvm/expr-dispatch.js.map +1 -1
  78. package/dist/backend/llvm/expr-dynamic.js +28 -6
  79. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  80. package/dist/backend/llvm/expr-primitives.d.ts +14 -0
  81. package/dist/backend/llvm/expr-primitives.js +110 -48
  82. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  83. package/dist/backend/llvm/expr-primitives.test.js +95 -5
  84. package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
  85. package/dist/backend/llvm/expr-records.d.ts +9 -0
  86. package/dist/backend/llvm/expr-records.js +144 -16
  87. package/dist/backend/llvm/expr-records.js.map +1 -1
  88. package/dist/backend/llvm/expr-stream-bridges.d.ts +9 -1
  89. package/dist/backend/llvm/expr-stream-bridges.js +152 -4
  90. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  91. package/dist/backend/llvm/expr-stream-bridges.test.js +98 -1
  92. package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -1
  93. package/dist/backend/llvm/int32-abi.d.ts +47 -0
  94. package/dist/backend/llvm/int32-abi.js +83 -0
  95. package/dist/backend/llvm/int32-abi.js.map +1 -0
  96. package/dist/backend/llvm/int32-abi.test.d.ts +1 -0
  97. package/dist/backend/llvm/int32-abi.test.js +181 -0
  98. package/dist/backend/llvm/int32-abi.test.js.map +1 -0
  99. package/dist/backend/llvm/int32-locals.d.ts +30 -0
  100. package/dist/backend/llvm/int32-locals.js +95 -0
  101. package/dist/backend/llvm/int32-locals.js.map +1 -0
  102. package/dist/backend/llvm/integer-values.d.ts +4 -0
  103. package/dist/backend/llvm/integer-values.js +30 -1
  104. package/dist/backend/llvm/integer-values.js.map +1 -1
  105. package/dist/backend/llvm/integer-views.d.ts +8 -1
  106. package/dist/backend/llvm/integer-views.js +47 -2
  107. package/dist/backend/llvm/integer-views.js.map +1 -1
  108. package/dist/backend/llvm/lazy-captures.d.ts +16 -0
  109. package/dist/backend/llvm/lazy-captures.js +88 -2
  110. package/dist/backend/llvm/lazy-captures.js.map +1 -1
  111. package/dist/backend/llvm/lazy-captures.test.js +48 -0
  112. package/dist/backend/llvm/lazy-captures.test.js.map +1 -1
  113. package/dist/backend/llvm/lib-dispatch.js +21 -0
  114. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  115. package/dist/backend/llvm/lib-filesystem.js +61 -0
  116. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  117. package/dist/backend/llvm/lib-shared.js +83 -9
  118. package/dist/backend/llvm/lib-shared.js.map +1 -1
  119. package/dist/backend/llvm/local-array-reads.js +26 -5
  120. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  121. package/dist/backend/llvm/local-array-reads.test.js +3 -2
  122. package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
  123. package/dist/backend/llvm/local-union-storage.d.ts +24 -2
  124. package/dist/backend/llvm/local-union-storage.js +127 -12
  125. package/dist/backend/llvm/local-union-storage.js.map +1 -1
  126. package/dist/backend/llvm/local-union-storage.test.js +108 -3
  127. package/dist/backend/llvm/local-union-storage.test.js.map +1 -1
  128. package/dist/backend/llvm/map-read-lifetimes.test.js +2 -2
  129. package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
  130. package/dist/backend/llvm/record-results.d.ts +26 -0
  131. package/dist/backend/llvm/record-results.js +252 -0
  132. package/dist/backend/llvm/record-results.js.map +1 -0
  133. package/dist/backend/llvm/reference-effects.js +4 -0
  134. package/dist/backend/llvm/reference-effects.js.map +1 -1
  135. package/dist/backend/llvm/reference-writes.d.ts +3 -0
  136. package/dist/backend/llvm/reference-writes.js +25 -11
  137. package/dist/backend/llvm/reference-writes.js.map +1 -1
  138. package/dist/backend/llvm/regex-matchers.d.ts +39 -0
  139. package/dist/backend/llvm/regex-matchers.js +1649 -0
  140. package/dist/backend/llvm/regex-matchers.js.map +1 -0
  141. package/dist/backend/llvm/regex-matchers.test.d.ts +1 -0
  142. package/dist/backend/llvm/regex-matchers.test.js +96 -0
  143. package/dist/backend/llvm/regex-matchers.test.js.map +1 -0
  144. package/dist/backend/llvm/regions.d.ts +67 -0
  145. package/dist/backend/llvm/regions.js +309 -0
  146. package/dist/backend/llvm/regions.js.map +1 -0
  147. package/dist/backend/llvm/regions.test.d.ts +1 -0
  148. package/dist/backend/llvm/regions.test.js +173 -0
  149. package/dist/backend/llvm/regions.test.js.map +1 -0
  150. package/dist/backend/llvm/shapes.d.ts +70 -8
  151. package/dist/backend/llvm/shapes.js +157 -29
  152. package/dist/backend/llvm/shapes.js.map +1 -1
  153. package/dist/backend/llvm/shapes.test.js +7 -6
  154. package/dist/backend/llvm/shapes.test.js.map +1 -1
  155. package/dist/backend/llvm/split-loops.js +1 -1
  156. package/dist/backend/llvm/split-loops.js.map +1 -1
  157. package/dist/backend/llvm/stack-objects.d.ts +29 -0
  158. package/dist/backend/llvm/stack-objects.js +130 -0
  159. package/dist/backend/llvm/stack-objects.js.map +1 -0
  160. package/dist/backend/llvm/stack-objects.test.d.ts +1 -0
  161. package/dist/backend/llvm/stack-objects.test.js +252 -0
  162. package/dist/backend/llvm/stack-objects.test.js.map +1 -0
  163. package/dist/backend/llvm/stack-unions.test.js +1 -1
  164. package/dist/backend/llvm/stack-unions.test.js.map +1 -1
  165. package/dist/backend/llvm/string-construction.test.js +2 -2
  166. package/dist/backend/llvm/string-construction.test.js.map +1 -1
  167. package/dist/backend/llvm/string-lifetimes.test.js +5 -5
  168. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  169. package/dist/backend/llvm/string-literal-equality.d.ts +22 -0
  170. package/dist/backend/llvm/string-literal-equality.js +78 -0
  171. package/dist/backend/llvm/string-literal-equality.js.map +1 -0
  172. package/dist/backend/llvm/string-reads.d.ts +4 -1
  173. package/dist/backend/llvm/string-reads.js +89 -9
  174. package/dist/backend/llvm/string-reads.js.map +1 -1
  175. package/dist/backend/llvm/switch-dispatch.js +60 -13
  176. package/dist/backend/llvm/switch-dispatch.js.map +1 -1
  177. package/dist/backend/llvm/switch-dispatch.test.js +71 -6
  178. package/dist/backend/llvm/switch-dispatch.test.js.map +1 -1
  179. package/dist/backend/llvm/union-retype.test.d.ts +1 -0
  180. package/dist/backend/llvm/union-retype.test.js +229 -0
  181. package/dist/backend/llvm/union-retype.test.js.map +1 -0
  182. package/dist/backend/llvm/walkers.d.ts +2 -0
  183. package/dist/backend/llvm/walkers.js +4 -2
  184. package/dist/backend/llvm/walkers.js.map +1 -1
  185. package/dist/backend/llvm/wrapping-sums.d.ts +17 -0
  186. package/dist/backend/llvm/wrapping-sums.js +113 -0
  187. package/dist/backend/llvm/wrapping-sums.js.map +1 -0
  188. package/dist/backend/loop-polls.js +1 -0
  189. package/dist/backend/loop-polls.js.map +1 -1
  190. package/dist/backend/mangle.d.ts +9 -0
  191. package/dist/backend/mangle.js +15 -0
  192. package/dist/backend/mangle.js.map +1 -1
  193. package/dist/backend/may-throw.js +7 -3
  194. package/dist/backend/may-throw.js.map +1 -1
  195. package/dist/backend/native/contracts.d.ts +5 -0
  196. package/dist/backend/native/executable.js +16 -1
  197. package/dist/backend/native/executable.js.map +1 -1
  198. package/dist/backend/native/library.js +1 -1
  199. package/dist/backend/native/library.js.map +1 -1
  200. package/dist/backend/native/runtime-inputs.d.ts +1 -1
  201. package/dist/backend/native/runtime-inputs.js +2 -0
  202. package/dist/backend/native/runtime-inputs.js.map +1 -1
  203. package/dist/backend/native-link-info-core.d.ts +1 -0
  204. package/dist/backend/native-link-info-core.js.map +1 -1
  205. package/dist/backend/runtime-abi.d.ts +2 -2
  206. package/dist/backend/runtime-abi.js +2 -2
  207. package/dist/backend/runtime-pack-core.d.ts +1 -0
  208. package/dist/backend/runtime-pack-core.js +1 -0
  209. package/dist/backend/runtime-pack-core.js.map +1 -1
  210. package/dist/backend/runtime-pack-targets.test.js +1 -1
  211. package/dist/backend/runtime-pack.test.js +1 -1
  212. package/dist/backend/target-diagnostics.js +14 -0
  213. package/dist/backend/target-diagnostics.js.map +1 -1
  214. package/dist/backend/target-diagnostics.test.js +13 -0
  215. package/dist/backend/target-diagnostics.test.js.map +1 -1
  216. package/dist/contracts/check.js +4 -0
  217. package/dist/contracts/check.js.map +1 -1
  218. package/dist/executable/executable-cache.d.ts +1 -0
  219. package/dist/executable/executable-cache.js.map +1 -1
  220. package/dist/frontend/experimental-import.d.ts +12 -0
  221. package/dist/frontend/experimental-import.js +63 -0
  222. package/dist/frontend/experimental-import.js.map +1 -0
  223. package/dist/frontend/lowering/array-values.d.ts +14 -0
  224. package/dist/frontend/lowering/array-values.js +29 -0
  225. package/dist/frontend/lowering/array-values.js.map +1 -1
  226. package/dist/frontend/lowering/builtin-calls.d.ts +6 -1
  227. package/dist/frontend/lowering/builtin-calls.js +36 -0
  228. package/dist/frontend/lowering/builtin-calls.js.map +1 -1
  229. package/dist/frontend/lowering/builtins/console.d.ts +16 -6
  230. package/dist/frontend/lowering/builtins/console.js +33 -9
  231. package/dist/frontend/lowering/builtins/console.js.map +1 -1
  232. package/dist/frontend/lowering/builtins/errors.js +20 -0
  233. package/dist/frontend/lowering/builtins/errors.js.map +1 -1
  234. package/dist/frontend/lowering/builtins/json.d.ts +2 -2
  235. package/dist/frontend/lowering/builtins/json.js +13 -4
  236. package/dist/frontend/lowering/builtins/json.js.map +1 -1
  237. package/dist/frontend/lowering/builtins/module-calls.js +16 -1
  238. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  239. package/dist/frontend/lowering/builtins/numbers.d.ts +1 -0
  240. package/dist/frontend/lowering/builtins/numbers.js +17 -0
  241. package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
  242. package/dist/frontend/lowering/builtins/operating-system.d.ts +18 -0
  243. package/dist/frontend/lowering/builtins/operating-system.js +361 -1
  244. package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
  245. package/dist/frontend/lowering/builtins/process.js +15 -3
  246. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  247. package/dist/frontend/lowering/builtins/promises.js +109 -2
  248. package/dist/frontend/lowering/builtins/promises.js.map +1 -1
  249. package/dist/frontend/lowering/builtins/text-codecs.d.ts +3 -4
  250. package/dist/frontend/lowering/builtins/text-codecs.js +3 -4
  251. package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
  252. package/dist/frontend/lowering/checked-promise-all.d.ts +10 -3
  253. package/dist/frontend/lowering/checked-promise-all.js +52 -6
  254. package/dist/frontend/lowering/checked-promise-all.js.map +1 -1
  255. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +6 -3
  256. package/dist/frontend/lowering/class-dynamic-dispatch.js +54 -31
  257. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  258. package/dist/frontend/lowering/containers/array-callbacks.js +74 -4
  259. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  260. package/dist/frontend/lowering/containers/array-construction.js +8 -4
  261. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  262. package/dist/frontend/lowering/containers/array-pipelines.d.ts +54 -0
  263. package/dist/frontend/lowering/containers/array-pipelines.js +1827 -0
  264. package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -0
  265. package/dist/frontend/lowering/containers/exec-result-uses.d.ts +10 -0
  266. package/dist/frontend/lowering/containers/exec-result-uses.js +88 -0
  267. package/dist/frontend/lowering/containers/exec-result-uses.js.map +1 -0
  268. package/dist/frontend/lowering/containers/string-and-regexp.js +106 -7
  269. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  270. package/dist/frontend/lowering/containers/string-replacement.d.ts +2 -1
  271. package/dist/frontend/lowering/containers/string-replacement.js +32 -136
  272. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
  273. package/dist/frontend/lowering/cycle-initialization.d.ts +18 -2
  274. package/dist/frontend/lowering/cycle-initialization.js +166 -12
  275. package/dist/frontend/lowering/cycle-initialization.js.map +1 -1
  276. package/dist/frontend/lowering/deferred-module-initializers.js +7 -2
  277. package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
  278. package/dist/frontend/lowering/deferred-module-initializers.test.js +28 -0
  279. package/dist/frontend/lowering/deferred-module-initializers.test.js.map +1 -1
  280. package/dist/frontend/lowering/devirtualize.d.ts +33 -0
  281. package/dist/frontend/lowering/devirtualize.js +199 -0
  282. package/dist/frontend/lowering/devirtualize.js.map +1 -0
  283. package/dist/frontend/lowering/expressions/nullish-assignment.js +55 -7
  284. package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
  285. package/dist/frontend/lowering/expressions/object-literals.js +5 -56
  286. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  287. package/dist/frontend/lowering/generator-delegation.d.ts +8 -0
  288. package/dist/frontend/lowering/generator-delegation.js +231 -10
  289. package/dist/frontend/lowering/generator-delegation.js.map +1 -1
  290. package/dist/frontend/lowering/identifier-uses.d.ts +7 -0
  291. package/dist/frontend/lowering/identifier-uses.js +23 -0
  292. package/dist/frontend/lowering/identifier-uses.js.map +1 -0
  293. package/dist/frontend/lowering/iterator-adapters.js +51 -3
  294. package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
  295. package/dist/frontend/lowering/lifetime-regions.d.ts +11 -0
  296. package/dist/frontend/lowering/lifetime-regions.js +216 -0
  297. package/dist/frontend/lowering/lifetime-regions.js.map +1 -0
  298. package/dist/frontend/lowering/lower-array-sort.d.ts +28 -2
  299. package/dist/frontend/lowering/lower-array-sort.js +112 -2
  300. package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
  301. package/dist/frontend/lowering/lower-array-sort.test.js +99 -2
  302. package/dist/frontend/lowering/lower-array-sort.test.js.map +1 -1
  303. package/dist/frontend/lowering/lower-calls.js +135 -131
  304. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  305. package/dist/frontend/lowering/lower-classes.d.ts +4 -3
  306. package/dist/frontend/lowering/lower-classes.js +117 -13
  307. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  308. package/dist/frontend/lowering/lower-console.d.ts +27 -0
  309. package/dist/frontend/lowering/lower-console.js +651 -0
  310. package/dist/frontend/lowering/lower-console.js.map +1 -0
  311. package/dist/frontend/lowering/lower-event-emitter.d.ts +6 -0
  312. package/dist/frontend/lowering/lower-event-emitter.js +124 -38
  313. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  314. package/dist/frontend/lowering/lower-exprs.js +272 -25
  315. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  316. package/dist/frontend/lowering/lower-functions.js +7 -3
  317. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  318. package/dist/frontend/lowering/lower-generators.d.ts +25 -7
  319. package/dist/frontend/lowering/lower-generators.js +264 -113
  320. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  321. package/dist/frontend/lowering/lower-inspect.d.ts +8 -1
  322. package/dist/frontend/lowering/lower-inspect.js +119 -18
  323. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  324. package/dist/frontend/lowering/lower-modules.js +24 -14
  325. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  326. package/dist/frontend/lowering/lower-stdlib.d.ts +4 -0
  327. package/dist/frontend/lowering/lower-stdlib.js +35 -1
  328. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  329. package/dist/frontend/lowering/lower-stmts.js +66 -11
  330. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  331. package/dist/frontend/lowering/lower-stream.js +13 -10
  332. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  333. package/dist/frontend/lowering/lowerer.d.ts +47 -5
  334. package/dist/frontend/lowering/lowerer.js +235 -54
  335. package/dist/frontend/lowering/lowerer.js.map +1 -1
  336. package/dist/frontend/lowering/nan-coded-reads.d.ts +16 -0
  337. package/dist/frontend/lowering/nan-coded-reads.js +108 -1
  338. package/dist/frontend/lowering/nan-coded-reads.js.map +1 -1
  339. package/dist/frontend/lowering/regex-span-reads.d.ts +12 -0
  340. package/dist/frontend/lowering/regex-span-reads.js +164 -0
  341. package/dist/frontend/lowering/regex-span-reads.js.map +1 -0
  342. package/dist/frontend/lowering/runtime-optional-bounds.d.ts +4 -0
  343. package/dist/frontend/lowering/runtime-optional-bounds.js +2 -0
  344. package/dist/frontend/lowering/runtime-optional-bounds.js.map +1 -1
  345. package/dist/frontend/lowering/runtime-optional-bounds.test.js +27 -0
  346. package/dist/frontend/lowering/runtime-optional-bounds.test.js.map +1 -1
  347. package/dist/frontend/lowering/split-consumers.js +2 -18
  348. package/dist/frontend/lowering/split-consumers.js.map +1 -1
  349. package/dist/frontend/lowering/surfaces.js +115 -18
  350. package/dist/frontend/lowering/surfaces.js.map +1 -1
  351. package/dist/frontend/lowering/union-retag.d.ts +6 -1
  352. package/dist/frontend/lowering/union-retag.js +64 -1
  353. package/dist/frontend/lowering/union-retag.js.map +1 -1
  354. package/dist/frontend/lowering/union-retag.test.js +46 -0
  355. package/dist/frontend/lowering/union-retag.test.js.map +1 -1
  356. package/dist/frontend/lowering/var-hoisting.d.ts +3 -0
  357. package/dist/frontend/lowering/var-hoisting.js +261 -0
  358. package/dist/frontend/lowering/var-hoisting.js.map +1 -0
  359. package/dist/frontend/pipeline.js +5 -3
  360. package/dist/frontend/pipeline.js.map +1 -1
  361. package/dist/frontend/program.d.ts +3 -2
  362. package/dist/frontend/program.js +23 -5
  363. package/dist/frontend/program.js.map +1 -1
  364. package/dist/frontend/program.test.js +13 -0
  365. package/dist/frontend/program.test.js.map +1 -1
  366. package/dist/frontend/type-mapper.d.ts +13 -1
  367. package/dist/frontend/type-mapper.js +160 -14
  368. package/dist/frontend/type-mapper.js.map +1 -1
  369. package/dist/index.js +1 -0
  370. package/dist/index.js.map +1 -1
  371. package/dist/ir/builtin-effects.js +31 -2
  372. package/dist/ir/builtin-effects.js.map +1 -1
  373. package/dist/ir/builtin-signatures.d.ts +1 -1
  374. package/dist/ir/builtin-signatures.js +157 -16
  375. package/dist/ir/builtin-signatures.js.map +1 -1
  376. package/dist/ir/function-references.d.ts +12 -0
  377. package/dist/ir/function-references.js +29 -0
  378. package/dist/ir/function-references.js.map +1 -0
  379. package/dist/ir/function-references.test.d.ts +1 -0
  380. package/dist/ir/function-references.test.js +277 -0
  381. package/dist/ir/function-references.test.js.map +1 -0
  382. package/dist/ir/int32-slots.d.ts +7 -4
  383. package/dist/ir/int32-slots.js +215 -49
  384. package/dist/ir/int32-slots.js.map +1 -1
  385. package/dist/ir/int32-slots.test.js +38 -1
  386. package/dist/ir/int32-slots.test.js.map +1 -1
  387. package/dist/ir/integer-ranges.d.ts +4 -4
  388. package/dist/ir/integer-ranges.js +89 -64
  389. package/dist/ir/integer-ranges.js.map +1 -1
  390. package/dist/ir/integer-ranges.test.js +71 -9
  391. package/dist/ir/integer-ranges.test.js.map +1 -1
  392. package/dist/ir/intrinsic-signatures.js +3 -0
  393. package/dist/ir/intrinsic-signatures.js.map +1 -1
  394. package/dist/ir/ir.d.ts +111 -20
  395. package/dist/ir/ir.js +6 -0
  396. package/dist/ir/ir.js.map +1 -1
  397. package/dist/ir/runtime-features.d.ts +1 -0
  398. package/dist/ir/runtime-features.js +38 -3
  399. package/dist/ir/runtime-features.js.map +1 -1
  400. package/dist/ir/scalar-records.js +1 -2
  401. package/dist/ir/scalar-records.js.map +1 -1
  402. package/dist/ir/traverse.js +4 -0
  403. package/dist/ir/traverse.js.map +1 -1
  404. package/dist/ir/validate.js +201 -25
  405. package/dist/ir/validate.js.map +1 -1
  406. package/dist/ir/validate.test.js +90 -7
  407. package/dist/ir/validate.test.js.map +1 -1
  408. package/dist/library/ir-policy.js +1 -0
  409. package/dist/library/ir-policy.js.map +1 -1
  410. package/dist/native/sanitizer.test.js +1 -0
  411. package/dist/native/sanitizer.test.js.map +1 -1
  412. package/package.json +20 -20
  413. package/surface-manifest.json +159 -17
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scriptc/compiler",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "The scriptc compiler — TypeScript/JavaScript frontend, typed IR, LLVM backend",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://scriptc.dev",
@@ -37,27 +37,27 @@
37
37
  "dependencies": {
38
38
  "typescript": "7.0.2",
39
39
  "typescript5": "npm:typescript@5.9.3",
40
- "@scriptc/runtime": "0.3.0"
40
+ "@scriptc/runtime": "0.3.2"
41
41
  },
42
42
  "optionalDependencies": {
43
- "@scriptc/llvm-darwin-x64": "0.3.0",
44
- "@scriptc/llvm-linux-x64-gnu": "0.3.0",
45
- "@scriptc/llvm-linux-arm64-musl": "0.3.0",
46
- "@scriptc/llvm-linux-x64-musl": "0.3.0",
47
- "@scriptc/llvm-linux-arm64-gnu": "0.3.0",
48
- "@scriptc/runtime-darwin-x64": "0.3.0",
49
- "@scriptc/runtime-linux-x64-gnu": "0.3.0",
50
- "@scriptc/runtime-linux-arm64-gnu": "0.3.0",
51
- "@scriptc/llvm-win32-x64-msvc": "0.3.0",
52
- "@scriptc/runtime-darwin-arm64": "0.3.0",
53
- "@scriptc/llvm-darwin-arm64": "0.3.0",
54
- "@scriptc/runtime-linux-x64-musl": "0.3.0",
55
- "@scriptc/runtime-win32-x64-msvc": "0.3.0",
56
- "@scriptc/runtime-linux-arm64-musl": "0.3.0",
57
- "@scriptc/runtime-wasm32-wasi": "0.3.0",
58
- "@scriptc/runtime-ios-arm64": "0.3.0",
59
- "@scriptc/runtime-ios-simulator-arm64": "0.3.0",
60
- "@scriptc/runtime-android-arm64": "0.3.0"
43
+ "@scriptc/llvm-darwin-arm64": "0.3.2",
44
+ "@scriptc/llvm-linux-arm64-gnu": "0.3.2",
45
+ "@scriptc/llvm-linux-x64-musl": "0.3.2",
46
+ "@scriptc/llvm-linux-x64-gnu": "0.3.2",
47
+ "@scriptc/llvm-darwin-x64": "0.3.2",
48
+ "@scriptc/runtime-darwin-x64": "0.3.2",
49
+ "@scriptc/runtime-linux-x64-musl": "0.3.2",
50
+ "@scriptc/runtime-linux-x64-gnu": "0.3.2",
51
+ "@scriptc/runtime-linux-arm64-gnu": "0.3.2",
52
+ "@scriptc/runtime-linux-arm64-musl": "0.3.2",
53
+ "@scriptc/runtime-darwin-arm64": "0.3.2",
54
+ "@scriptc/runtime-win32-x64-msvc": "0.3.2",
55
+ "@scriptc/runtime-ios-arm64": "0.3.2",
56
+ "@scriptc/llvm-win32-x64-msvc": "0.3.2",
57
+ "@scriptc/llvm-linux-arm64-musl": "0.3.2",
58
+ "@scriptc/runtime-wasm32-wasi": "0.3.2",
59
+ "@scriptc/runtime-android-arm64": "0.3.2",
60
+ "@scriptc/runtime-ios-simulator-arm64": "0.3.2"
61
61
  },
62
62
  "scripts": {
63
63
  "build": "node node_modules/typescript/bin/tsc -p tsconfig.json"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
- "compilerVersion": "0.3.0",
3
+ "compilerVersion": "0.3.2",
4
4
  "coverage": [
5
5
  "Entries are projected mechanically from the compiler's own decision tables: the diagnostics registry, the unsupported-syntax dispatch tables, the stdlib and node-builtin lowering tables, and the supported-builtin-module list. Nothing is hand-maintained; the manifest regenerates byte-identically from the source tree at this version.",
6
6
  "Absence from this manifest means 'not projected', never 'unsupported'. Surfaces lowered through dedicated code paths rather than tables are not yet projected: console, JSON, Promise/async and the timer surface, the net/http/tls/https/dgram/dns/assert/test/stream/readline module member surfaces, template literals, the regex slice, global functions (parseInt, parseFloat, isNaN, isFinite), and the process surface outside its ambient slice.",
@@ -498,14 +498,6 @@
498
498
  "status": "static",
499
499
  "note": "recognized module (bare and node:-prefixed specifiers)"
500
500
  },
501
- {
502
- "id": "node-builtin.console.Console",
503
- "kind": "node-builtin",
504
- "name": "console.Console",
505
- "status": "unsupported",
506
- "code": "SC2020",
507
- "note": "custom Console instances are not supported yet; direct node:console log/info/debug/error/warn calls use the process output streams"
508
- },
509
501
  {
510
502
  "id": "node-builtin.crypto",
511
503
  "kind": "node-builtin",
@@ -1326,18 +1318,80 @@
1326
1318
  "status": "static",
1327
1319
  "note": "constant value read"
1328
1320
  },
1321
+ {
1322
+ "id": "node-builtin.os.arch",
1323
+ "kind": "node-builtin",
1324
+ "name": "os.arch",
1325
+ "status": "static"
1326
+ },
1329
1327
  {
1330
1328
  "id": "node-builtin.os.availableParallelism",
1331
1329
  "kind": "node-builtin",
1332
1330
  "name": "os.availableParallelism",
1333
1331
  "status": "static"
1334
1332
  },
1333
+ {
1334
+ "id": "node-builtin.os.constants",
1335
+ "kind": "node-builtin",
1336
+ "name": "os.constants",
1337
+ "status": "static",
1338
+ "note": "the platform's dlopen, errno, signals and priority groups; members a platform lacks read as undefined"
1339
+ },
1340
+ {
1341
+ "id": "node-builtin.os.cpus",
1342
+ "kind": "node-builtin",
1343
+ "name": "os.cpus",
1344
+ "status": "static"
1345
+ },
1346
+ {
1347
+ "id": "node-builtin.os.devNull",
1348
+ "kind": "node-builtin",
1349
+ "name": "os.devNull",
1350
+ "status": "static",
1351
+ "note": "constant value read"
1352
+ },
1353
+ {
1354
+ "id": "node-builtin.os.endianness",
1355
+ "kind": "node-builtin",
1356
+ "name": "os.endianness",
1357
+ "status": "static"
1358
+ },
1359
+ {
1360
+ "id": "node-builtin.os.freemem",
1361
+ "kind": "node-builtin",
1362
+ "name": "os.freemem",
1363
+ "status": "static"
1364
+ },
1365
+ {
1366
+ "id": "node-builtin.os.getPriority",
1367
+ "kind": "node-builtin",
1368
+ "name": "os.getPriority",
1369
+ "status": "static"
1370
+ },
1335
1371
  {
1336
1372
  "id": "node-builtin.os.homedir",
1337
1373
  "kind": "node-builtin",
1338
1374
  "name": "os.homedir",
1339
1375
  "status": "static"
1340
1376
  },
1377
+ {
1378
+ "id": "node-builtin.os.hostname",
1379
+ "kind": "node-builtin",
1380
+ "name": "os.hostname",
1381
+ "status": "static"
1382
+ },
1383
+ {
1384
+ "id": "node-builtin.os.loadavg",
1385
+ "kind": "node-builtin",
1386
+ "name": "os.loadavg",
1387
+ "status": "static"
1388
+ },
1389
+ {
1390
+ "id": "node-builtin.os.machine",
1391
+ "kind": "node-builtin",
1392
+ "name": "os.machine",
1393
+ "status": "static"
1394
+ },
1341
1395
  {
1342
1396
  "id": "node-builtin.os.networkInterfaces",
1343
1397
  "kind": "node-builtin",
@@ -1374,12 +1428,24 @@
1374
1428
  "name": "os.type",
1375
1429
  "status": "static"
1376
1430
  },
1431
+ {
1432
+ "id": "node-builtin.os.uptime",
1433
+ "kind": "node-builtin",
1434
+ "name": "os.uptime",
1435
+ "status": "static"
1436
+ },
1377
1437
  {
1378
1438
  "id": "node-builtin.os.userInfo",
1379
1439
  "kind": "node-builtin",
1380
1440
  "name": "os.userInfo",
1381
1441
  "status": "static"
1382
1442
  },
1443
+ {
1444
+ "id": "node-builtin.os.version",
1445
+ "kind": "node-builtin",
1446
+ "name": "os.version",
1447
+ "status": "static"
1448
+ },
1383
1449
  {
1384
1450
  "id": "node-builtin.path",
1385
1451
  "kind": "node-builtin",
@@ -1412,6 +1478,12 @@
1412
1478
  "name": "path.extname",
1413
1479
  "status": "static"
1414
1480
  },
1481
+ {
1482
+ "id": "node-builtin.path.format",
1483
+ "kind": "node-builtin",
1484
+ "name": "path.format",
1485
+ "status": "static"
1486
+ },
1415
1487
  {
1416
1488
  "id": "node-builtin.path.isAbsolute",
1417
1489
  "kind": "node-builtin",
@@ -1424,12 +1496,24 @@
1424
1496
  "name": "path.join",
1425
1497
  "status": "static"
1426
1498
  },
1499
+ {
1500
+ "id": "node-builtin.path.matchesGlob",
1501
+ "kind": "node-builtin",
1502
+ "name": "path.matchesGlob",
1503
+ "status": "static"
1504
+ },
1427
1505
  {
1428
1506
  "id": "node-builtin.path.normalize",
1429
1507
  "kind": "node-builtin",
1430
1508
  "name": "path.normalize",
1431
1509
  "status": "static"
1432
1510
  },
1511
+ {
1512
+ "id": "node-builtin.path.parse",
1513
+ "kind": "node-builtin",
1514
+ "name": "path.parse",
1515
+ "status": "static"
1516
+ },
1433
1517
  {
1434
1518
  "id": "node-builtin.path.posix",
1435
1519
  "kind": "node-builtin",
@@ -1462,6 +1546,12 @@
1462
1546
  "name": "path/posix.extname",
1463
1547
  "status": "static"
1464
1548
  },
1549
+ {
1550
+ "id": "node-builtin.path.posix.format",
1551
+ "kind": "node-builtin",
1552
+ "name": "path/posix.format",
1553
+ "status": "static"
1554
+ },
1465
1555
  {
1466
1556
  "id": "node-builtin.path.posix.isAbsolute",
1467
1557
  "kind": "node-builtin",
@@ -1474,12 +1564,24 @@
1474
1564
  "name": "path/posix.join",
1475
1565
  "status": "static"
1476
1566
  },
1567
+ {
1568
+ "id": "node-builtin.path.posix.matchesGlob",
1569
+ "kind": "node-builtin",
1570
+ "name": "path/posix.matchesGlob",
1571
+ "status": "static"
1572
+ },
1477
1573
  {
1478
1574
  "id": "node-builtin.path.posix.normalize",
1479
1575
  "kind": "node-builtin",
1480
1576
  "name": "path/posix.normalize",
1481
1577
  "status": "static"
1482
1578
  },
1579
+ {
1580
+ "id": "node-builtin.path.posix.parse",
1581
+ "kind": "node-builtin",
1582
+ "name": "path/posix.parse",
1583
+ "status": "static"
1584
+ },
1483
1585
  {
1484
1586
  "id": "node-builtin.path.posix.relative",
1485
1587
  "kind": "node-builtin",
@@ -1562,6 +1664,12 @@
1562
1664
  "name": "path/win32.extname",
1563
1665
  "status": "static"
1564
1666
  },
1667
+ {
1668
+ "id": "node-builtin.path.win32.format",
1669
+ "kind": "node-builtin",
1670
+ "name": "path/win32.format",
1671
+ "status": "static"
1672
+ },
1565
1673
  {
1566
1674
  "id": "node-builtin.path.win32.isAbsolute",
1567
1675
  "kind": "node-builtin",
@@ -1574,12 +1682,24 @@
1574
1682
  "name": "path/win32.join",
1575
1683
  "status": "static"
1576
1684
  },
1685
+ {
1686
+ "id": "node-builtin.path.win32.matchesGlob",
1687
+ "kind": "node-builtin",
1688
+ "name": "path/win32.matchesGlob",
1689
+ "status": "static"
1690
+ },
1577
1691
  {
1578
1692
  "id": "node-builtin.path.win32.normalize",
1579
1693
  "kind": "node-builtin",
1580
1694
  "name": "path/win32.normalize",
1581
1695
  "status": "static"
1582
1696
  },
1697
+ {
1698
+ "id": "node-builtin.path.win32.parse",
1699
+ "kind": "node-builtin",
1700
+ "name": "path/win32.parse",
1701
+ "status": "static"
1702
+ },
1583
1703
  {
1584
1704
  "id": "node-builtin.path.win32.relative",
1585
1705
  "kind": "node-builtin",
@@ -1859,14 +1979,6 @@
1859
1979
  "status": "static",
1860
1980
  "note": "recognized module (bare and node:-prefixed specifiers)"
1861
1981
  },
1862
- {
1863
- "id": "node-builtin.stream.consumers.arrayBuffer",
1864
- "kind": "node-builtin",
1865
- "name": "stream/consumers.arrayBuffer",
1866
- "status": "unsupported",
1867
- "code": "SC2020",
1868
- "note": "collecting a stream directly into an ArrayBuffer has no native lowering yet; buffer(stream) collects the same bytes as a Buffer"
1869
- },
1870
1982
  {
1871
1983
  "id": "node-builtin.stream.consumers.blob",
1872
1984
  "kind": "node-builtin",
@@ -2011,6 +2123,30 @@
2011
2123
  "status": "static",
2012
2124
  "note": "recognized module (bare and node:-prefixed specifiers)"
2013
2125
  },
2126
+ {
2127
+ "id": "node-builtin.util.callbackify",
2128
+ "kind": "node-builtin",
2129
+ "name": "util.callbackify",
2130
+ "status": "static"
2131
+ },
2132
+ {
2133
+ "id": "node-builtin.util.debug",
2134
+ "kind": "node-builtin",
2135
+ "name": "util.debug",
2136
+ "status": "static"
2137
+ },
2138
+ {
2139
+ "id": "node-builtin.util.debuglog",
2140
+ "kind": "node-builtin",
2141
+ "name": "util.debuglog",
2142
+ "status": "static"
2143
+ },
2144
+ {
2145
+ "id": "node-builtin.util.deprecate",
2146
+ "kind": "node-builtin",
2147
+ "name": "util.deprecate",
2148
+ "status": "static"
2149
+ },
2014
2150
  {
2015
2151
  "id": "node-builtin.util.getSystemErrorMap",
2016
2152
  "kind": "node-builtin",
@@ -2029,6 +2165,12 @@
2029
2165
  "name": "util.getSystemErrorName",
2030
2166
  "status": "static"
2031
2167
  },
2168
+ {
2169
+ "id": "node-builtin.util.inherits",
2170
+ "kind": "node-builtin",
2171
+ "name": "util.inherits",
2172
+ "status": "static"
2173
+ },
2032
2174
  {
2033
2175
  "id": "node-builtin.util.isDeepStrictEqual",
2034
2176
  "kind": "node-builtin",