@soundscript/soundscript 0.1.12 → 0.1.15

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 (441) hide show
  1. package/package.json +15 -6
  2. package/project-transform/index.js +2 -0
  3. package/project-transform/index.ts +8 -0
  4. package/project-transform/src/annotation_syntax.js +948 -0
  5. package/project-transform/src/annotation_syntax.ts +1217 -0
  6. package/project-transform/src/build_package.js +475 -0
  7. package/project-transform/src/build_package.ts +683 -0
  8. package/project-transform/src/bundled/portable-web-globals.d.ts +153 -0
  9. package/project-transform/src/bundled/runtime_externs.js +220 -0
  10. package/project-transform/src/bundled/runtime_externs.ts +237 -0
  11. package/project-transform/src/bundled/sound-libs/lib.decorators.d.ts +385 -0
  12. package/project-transform/src/bundled/sound-libs/lib.decorators.legacy.d.ts +22 -0
  13. package/project-transform/src/bundled/sound-libs/lib.dom.asynciterable.d.ts +42 -0
  14. package/project-transform/src/bundled/sound-libs/lib.dom.d.ts +39440 -0
  15. package/project-transform/src/bundled/sound-libs/lib.es2015.collection.d.ts +149 -0
  16. package/project-transform/src/bundled/sound-libs/lib.es2015.core.d.ts +657 -0
  17. package/project-transform/src/bundled/sound-libs/lib.es2015.d.ts +28 -0
  18. package/project-transform/src/bundled/sound-libs/lib.es2015.generator.d.ts +77 -0
  19. package/project-transform/src/bundled/sound-libs/lib.es2015.iterable.d.ts +616 -0
  20. package/project-transform/src/bundled/sound-libs/lib.es2015.promise.d.ts +80 -0
  21. package/project-transform/src/bundled/sound-libs/lib.es2015.proxy.d.ts +128 -0
  22. package/project-transform/src/bundled/sound-libs/lib.es2015.reflect.d.ts +144 -0
  23. package/project-transform/src/bundled/sound-libs/lib.es2015.symbol.d.ts +46 -0
  24. package/project-transform/src/bundled/sound-libs/lib.es2015.symbol.wellknown.d.ts +170 -0
  25. package/project-transform/src/bundled/sound-libs/lib.es2016.array.include.d.ts +116 -0
  26. package/project-transform/src/bundled/sound-libs/lib.es2016.d.ts +21 -0
  27. package/project-transform/src/bundled/sound-libs/lib.es2017.arraybuffer.d.ts +21 -0
  28. package/project-transform/src/bundled/sound-libs/lib.es2017.d.ts +26 -0
  29. package/project-transform/src/bundled/sound-libs/lib.es2017.date.d.ts +31 -0
  30. package/project-transform/src/bundled/sound-libs/lib.es2017.object.d.ts +49 -0
  31. package/project-transform/src/bundled/sound-libs/lib.es2017.string.d.ts +45 -0
  32. package/project-transform/src/bundled/sound-libs/lib.es2017.typedarrays.d.ts +53 -0
  33. package/project-transform/src/bundled/sound-libs/lib.es2018.asyncgenerator.d.ts +77 -0
  34. package/project-transform/src/bundled/sound-libs/lib.es2018.asynciterable.d.ts +57 -0
  35. package/project-transform/src/bundled/sound-libs/lib.es2018.d.ts +24 -0
  36. package/project-transform/src/bundled/sound-libs/lib.es2018.promise.d.ts +30 -0
  37. package/project-transform/src/bundled/sound-libs/lib.es2018.regexp.d.ts +37 -0
  38. package/project-transform/src/bundled/sound-libs/lib.es2019.array.d.ts +79 -0
  39. package/project-transform/src/bundled/sound-libs/lib.es2019.d.ts +24 -0
  40. package/project-transform/src/bundled/sound-libs/lib.es2019.object.d.ts +47 -0
  41. package/project-transform/src/bundled/sound-libs/lib.es2019.string.d.ts +37 -0
  42. package/project-transform/src/bundled/sound-libs/lib.es2019.symbol.d.ts +24 -0
  43. package/project-transform/src/bundled/sound-libs/lib.es2020.bigint.d.ts +765 -0
  44. package/project-transform/src/bundled/sound-libs/lib.es2020.d.ts +27 -0
  45. package/project-transform/src/bundled/sound-libs/lib.es2020.date.d.ts +42 -0
  46. package/project-transform/src/bundled/sound-libs/lib.es2020.number.d.ts +28 -0
  47. package/project-transform/src/bundled/sound-libs/lib.es2020.promise.d.ts +49 -0
  48. package/project-transform/src/bundled/sound-libs/lib.es2020.string.d.ts +44 -0
  49. package/project-transform/src/bundled/sound-libs/lib.es2020.symbol.wellknown.d.ts +41 -0
  50. package/project-transform/src/bundled/sound-libs/lib.es2021.d.ts +23 -0
  51. package/project-transform/src/bundled/sound-libs/lib.es2021.promise.d.ts +48 -0
  52. package/project-transform/src/bundled/sound-libs/lib.es2021.string.d.ts +33 -0
  53. package/project-transform/src/bundled/sound-libs/lib.es2021.weakref.d.ts +78 -0
  54. package/project-transform/src/bundled/sound-libs/lib.es2022.array.d.ts +121 -0
  55. package/project-transform/src/bundled/sound-libs/lib.es2022.d.ts +25 -0
  56. package/project-transform/src/bundled/sound-libs/lib.es2022.error.d.ts +75 -0
  57. package/project-transform/src/bundled/sound-libs/lib.es2022.object.d.ts +26 -0
  58. package/project-transform/src/bundled/sound-libs/lib.es2022.regexp.d.ts +39 -0
  59. package/project-transform/src/bundled/sound-libs/lib.es2022.string.d.ts +25 -0
  60. package/project-transform/src/bundled/sound-libs/lib.es2023.array.d.ts +924 -0
  61. package/project-transform/src/bundled/sound-libs/lib.es2023.collection.d.ts +21 -0
  62. package/project-transform/src/bundled/sound-libs/lib.es2023.d.ts +22 -0
  63. package/project-transform/src/bundled/sound-libs/lib.es2024.arraybuffer.d.ts +65 -0
  64. package/project-transform/src/bundled/sound-libs/lib.es2024.collection.d.ts +29 -0
  65. package/project-transform/src/bundled/sound-libs/lib.es2024.d.ts +26 -0
  66. package/project-transform/src/bundled/sound-libs/lib.es2024.object.d.ts +33 -0
  67. package/project-transform/src/bundled/sound-libs/lib.es2024.promise.d.ts +35 -0
  68. package/project-transform/src/bundled/sound-libs/lib.es2024.regexp.d.ts +25 -0
  69. package/project-transform/src/bundled/sound-libs/lib.es2024.string.d.ts +29 -0
  70. package/project-transform/src/bundled/sound-libs/lib.es5.d.ts +4924 -0
  71. package/project-transform/src/bundled/sound_stdlib.js +142 -0
  72. package/project-transform/src/bundled/sound_stdlib.ts +180 -0
  73. package/project-transform/src/checker/analyze_project.js +1361 -0
  74. package/project-transform/src/checker/analyze_project.ts +2246 -0
  75. package/project-transform/src/checker/diagnostics.js +112 -0
  76. package/project-transform/src/checker/diagnostics.ts +222 -0
  77. package/project-transform/src/checker/engine/context.js +235 -0
  78. package/project-transform/src/checker/engine/context.ts +340 -0
  79. package/project-transform/src/checker/engine/diagnostic_codes.js +72 -0
  80. package/project-transform/src/checker/engine/diagnostic_codes.ts +95 -0
  81. package/project-transform/src/checker/engine/facts.js +35 -0
  82. package/project-transform/src/checker/engine/facts.ts +48 -0
  83. package/project-transform/src/checker/engine/types.js +1 -0
  84. package/project-transform/src/checker/engine/types.ts +485 -0
  85. package/project-transform/src/checker/proof_escape_hatch_diagnostics.js +104 -0
  86. package/project-transform/src/checker/proof_escape_hatch_diagnostics.ts +173 -0
  87. package/project-transform/src/checker/rules/async_surface.js +231 -0
  88. package/project-transform/src/checker/rules/async_surface.ts +335 -0
  89. package/project-transform/src/checker/rules/class_lifecycle.js +798 -0
  90. package/project-transform/src/checker/rules/class_lifecycle.ts +1276 -0
  91. package/project-transform/src/checker/rules/directive_validation.js +571 -0
  92. package/project-transform/src/checker/rules/directive_validation.ts +938 -0
  93. package/project-transform/src/checker/rules/directives.js +23 -0
  94. package/project-transform/src/checker/rules/directives.ts +25 -0
  95. package/project-transform/src/checker/rules/flow.js +202 -0
  96. package/project-transform/src/checker/rules/flow.ts +333 -0
  97. package/project-transform/src/checker/rules/flow_facts.js +601 -0
  98. package/project-transform/src/checker/rules/flow_facts.ts +978 -0
  99. package/project-transform/src/checker/rules/flow_invalidation.js +1119 -0
  100. package/project-transform/src/checker/rules/flow_invalidation.ts +2150 -0
  101. package/project-transform/src/checker/rules/flow_shared.js +2822 -0
  102. package/project-transform/src/checker/rules/flow_shared.ts +4383 -0
  103. package/project-transform/src/checker/rules/foreign_boundary.js +120 -0
  104. package/project-transform/src/checker/rules/foreign_boundary.ts +196 -0
  105. package/project-transform/src/checker/rules/foreign_projection.js +279 -0
  106. package/project-transform/src/checker/rules/foreign_projection.ts +425 -0
  107. package/project-transform/src/checker/rules/generated_helpers.js +13 -0
  108. package/project-transform/src/checker/rules/generated_helpers.ts +18 -0
  109. package/project-transform/src/checker/rules/index.js +35 -0
  110. package/project-transform/src/checker/rules/index.ts +49 -0
  111. package/project-transform/src/checker/rules/namespace_object.js +845 -0
  112. package/project-transform/src/checker/rules/namespace_object.ts +1224 -0
  113. package/project-transform/src/checker/rules/non_ordinary_recovery.js +1328 -0
  114. package/project-transform/src/checker/rules/non_ordinary_recovery.ts +2391 -0
  115. package/project-transform/src/checker/rules/null_prototype.js +3 -0
  116. package/project-transform/src/checker/rules/null_prototype.ts +6 -0
  117. package/project-transform/src/checker/rules/overloads.js +181 -0
  118. package/project-transform/src/checker/rules/overloads.ts +317 -0
  119. package/project-transform/src/checker/rules/predicate_verification.js +691 -0
  120. package/project-transform/src/checker/rules/predicate_verification.ts +1088 -0
  121. package/project-transform/src/checker/rules/prototype_hardening.js +237 -0
  122. package/project-transform/src/checker/rules/prototype_hardening.ts +343 -0
  123. package/project-transform/src/checker/rules/receiver_discipline.js +263 -0
  124. package/project-transform/src/checker/rules/receiver_discipline.ts +356 -0
  125. package/project-transform/src/checker/rules/relations.js +6861 -0
  126. package/project-transform/src/checker/rules/relations.ts +12158 -0
  127. package/project-transform/src/checker/rules/resolved_builtins.js +274 -0
  128. package/project-transform/src/checker/rules/resolved_builtins.ts +438 -0
  129. package/project-transform/src/checker/rules/trust.js +217 -0
  130. package/project-transform/src/checker/rules/trust.ts +301 -0
  131. package/project-transform/src/checker/rules/type_guards.js +173 -0
  132. package/project-transform/src/checker/rules/type_guards.ts +257 -0
  133. package/project-transform/src/checker/rules/universal.js +17 -0
  134. package/project-transform/src/checker/rules/universal.ts +22 -0
  135. package/project-transform/src/checker/rules/unsafe_value_origin.js +80 -0
  136. package/project-transform/src/checker/rules/unsafe_value_origin.ts +125 -0
  137. package/project-transform/src/checker/rules/unsound_imports.js +218 -0
  138. package/project-transform/src/checker/rules/unsound_imports.ts +301 -0
  139. package/project-transform/src/checker/rules/unsound_syntax.js +1695 -0
  140. package/project-transform/src/checker/rules/unsound_syntax.ts +2540 -0
  141. package/project-transform/src/checker/rules/value_types.js +206 -0
  142. package/project-transform/src/checker/rules/value_types.ts +407 -0
  143. package/project-transform/src/checker/timing.js +43 -0
  144. package/project-transform/src/checker/timing.ts +78 -0
  145. package/project-transform/src/checker/unsupported_feature_messages.js +337 -0
  146. package/project-transform/src/checker/unsupported_feature_messages.ts +531 -0
  147. package/project-transform/src/cli.js +892 -0
  148. package/project-transform/src/cli.ts +1476 -0
  149. package/project-transform/src/compiler/compile_project.js +319 -0
  150. package/project-transform/src/compiler/compile_project.ts +508 -0
  151. package/project-transform/src/compiler/errors.js +10 -0
  152. package/project-transform/src/compiler/errors.ts +29 -0
  153. package/project-transform/src/compiler/ir.js +1 -0
  154. package/project-transform/src/compiler/ir.ts +1526 -0
  155. package/project-transform/src/compiler/lower.js +30550 -0
  156. package/project-transform/src/compiler/lower.ts +43645 -0
  157. package/project-transform/src/compiler/lower_arrays.js +140 -0
  158. package/project-transform/src/compiler/lower_arrays.ts +190 -0
  159. package/project-transform/src/compiler/lower_strings.js +121 -0
  160. package/project-transform/src/compiler/lower_strings.ts +198 -0
  161. package/project-transform/src/compiler/lower_tagged.js +329 -0
  162. package/project-transform/src/compiler/lower_tagged.ts +427 -0
  163. package/project-transform/src/compiler/lower_views.js +171 -0
  164. package/project-transform/src/compiler/lower_views.ts +251 -0
  165. package/project-transform/src/compiler/object_keys.js +25 -0
  166. package/project-transform/src/compiler/object_keys.ts +35 -0
  167. package/project-transform/src/compiler/runtime_ir.js +30 -0
  168. package/project-transform/src/compiler/runtime_ir.ts +727 -0
  169. package/project-transform/src/compiler/tagged_boundary.js +18 -0
  170. package/project-transform/src/compiler/tagged_boundary.ts +37 -0
  171. package/project-transform/src/compiler/toolchain.js +170 -0
  172. package/project-transform/src/compiler/toolchain.ts +229 -0
  173. package/project-transform/src/compiler/unicode_case_data.js +2102 -0
  174. package/project-transform/src/compiler/unicode_case_data.ts +2112 -0
  175. package/project-transform/src/compiler/wasm_js_host_runtime.js +656 -0
  176. package/project-transform/src/compiler/wasm_js_host_runtime.ts +762 -0
  177. package/project-transform/src/compiler/wat_arrays.js +3132 -0
  178. package/project-transform/src/compiler/wat_arrays.ts +3768 -0
  179. package/project-transform/src/compiler/wat_emitter.js +17952 -0
  180. package/project-transform/src/compiler/wat_emitter.ts +22812 -0
  181. package/project-transform/src/compiler/wat_strings.js +129 -0
  182. package/project-transform/src/compiler/wat_strings.ts +187 -0
  183. package/project-transform/src/compiler/wat_tagged.js +548 -0
  184. package/project-transform/src/compiler/wat_tagged.ts +674 -0
  185. package/project-transform/src/compiler_generator_runner.js +153 -0
  186. package/project-transform/src/compiler_generator_runner.ts +171 -0
  187. package/project-transform/src/compiler_object_test_helpers.js +69 -0
  188. package/project-transform/src/compiler_object_test_helpers.ts +96 -0
  189. package/project-transform/src/compiler_promise_runner.js +2116 -0
  190. package/project-transform/src/compiler_promise_runner.ts +2184 -0
  191. package/project-transform/src/compiler_test_helpers.js +854 -0
  192. package/project-transform/src/compiler_test_helpers.ts +1087 -0
  193. package/project-transform/src/config.js +568 -0
  194. package/project-transform/src/config.ts +892 -0
  195. package/project-transform/src/diagnostic_metadata.js +67 -0
  196. package/project-transform/src/diagnostic_metadata.ts +99 -0
  197. package/project-transform/src/diagnostic_reference.js +1368 -0
  198. package/project-transform/src/diagnostic_reference.ts +1523 -0
  199. package/project-transform/src/editor_diagnostics_worker.js +176 -0
  200. package/project-transform/src/editor_diagnostics_worker.ts +250 -0
  201. package/project-transform/src/editor_projection.js +224 -0
  202. package/project-transform/src/editor_projection.ts +421 -0
  203. package/project-transform/src/frontend/builtin_expanded_program_test_cleanup.js +47 -0
  204. package/project-transform/src/frontend/builtin_expanded_program_test_cleanup.ts +72 -0
  205. package/project-transform/src/frontend/builtin_macro_support.js +842 -0
  206. package/project-transform/src/frontend/builtin_macro_support.ts +1386 -0
  207. package/project-transform/src/frontend/builtin_macros.js +409 -0
  208. package/project-transform/src/frontend/builtin_macros.ts +542 -0
  209. package/project-transform/src/frontend/component_poc_runtime.js +279 -0
  210. package/project-transform/src/frontend/component_poc_runtime.ts +372 -0
  211. package/project-transform/src/frontend/css_macro.js +148 -0
  212. package/project-transform/src/frontend/css_macro.ts +222 -0
  213. package/project-transform/src/frontend/derive_macros.js +2072 -0
  214. package/project-transform/src/frontend/derive_macros.ts +3188 -0
  215. package/project-transform/src/frontend/embedded_fragment_support.js +106 -0
  216. package/project-transform/src/frontend/embedded_fragment_support.ts +172 -0
  217. package/project-transform/src/frontend/error_normalization.js +403 -0
  218. package/project-transform/src/frontend/error_normalization.ts +832 -0
  219. package/project-transform/src/frontend/error_stdlib_support.js +1 -0
  220. package/project-transform/src/frontend/error_stdlib_support.ts +6 -0
  221. package/project-transform/src/frontend/expand_project.js +169 -0
  222. package/project-transform/src/frontend/expand_project.ts +248 -0
  223. package/project-transform/src/frontend/format_soundscript.js +297 -0
  224. package/project-transform/src/frontend/format_soundscript.ts +582 -0
  225. package/project-transform/src/frontend/graphql_macro.js +174 -0
  226. package/project-transform/src/frontend/graphql_macro.ts +253 -0
  227. package/project-transform/src/frontend/hash_context.js +83 -0
  228. package/project-transform/src/frontend/hash_context.ts +113 -0
  229. package/project-transform/src/frontend/hkt_macro.js +448 -0
  230. package/project-transform/src/frontend/hkt_macro.ts +897 -0
  231. package/project-transform/src/frontend/import_binding_usage.js +190 -0
  232. package/project-transform/src/frontend/import_binding_usage.ts +277 -0
  233. package/project-transform/src/frontend/macro_advanced_backend_adapter.js +58 -0
  234. package/project-transform/src/frontend/macro_advanced_backend_adapter.ts +123 -0
  235. package/project-transform/src/frontend/macro_advanced_context.js +826 -0
  236. package/project-transform/src/frontend/macro_advanced_context.ts +1102 -0
  237. package/project-transform/src/frontend/macro_advanced_output.js +21 -0
  238. package/project-transform/src/frontend/macro_advanced_output.ts +41 -0
  239. package/project-transform/src/frontend/macro_api.js +353 -0
  240. package/project-transform/src/frontend/macro_api.ts +1722 -0
  241. package/project-transform/src/frontend/macro_api_internal.js +35 -0
  242. package/project-transform/src/frontend/macro_api_internal.ts +80 -0
  243. package/project-transform/src/frontend/macro_api_module_support.js +39 -0
  244. package/project-transform/src/frontend/macro_api_module_support.ts +65 -0
  245. package/project-transform/src/frontend/macro_backend_adapter.js +272 -0
  246. package/project-transform/src/frontend/macro_backend_adapter.ts +420 -0
  247. package/project-transform/src/frontend/macro_context.js +816 -0
  248. package/project-transform/src/frontend/macro_context.ts +1105 -0
  249. package/project-transform/src/frontend/macro_debug.js +99 -0
  250. package/project-transform/src/frontend/macro_debug.ts +157 -0
  251. package/project-transform/src/frontend/macro_definition_support.js +28 -0
  252. package/project-transform/src/frontend/macro_definition_support.ts +73 -0
  253. package/project-transform/src/frontend/macro_errors.js +40 -0
  254. package/project-transform/src/frontend/macro_errors.ts +70 -0
  255. package/project-transform/src/frontend/macro_expander.js +919 -0
  256. package/project-transform/src/frontend/macro_expander.ts +1611 -0
  257. package/project-transform/src/frontend/macro_factory_support.js +176 -0
  258. package/project-transform/src/frontend/macro_factory_support.ts +263 -0
  259. package/project-transform/src/frontend/macro_host_ast_internal.js +64 -0
  260. package/project-transform/src/frontend/macro_host_ast_internal.ts +109 -0
  261. package/project-transform/src/frontend/macro_index.js +27 -0
  262. package/project-transform/src/frontend/macro_index.ts +50 -0
  263. package/project-transform/src/frontend/macro_loader.js +281 -0
  264. package/project-transform/src/frontend/macro_loader.ts +506 -0
  265. package/project-transform/src/frontend/macro_operand_semantics.js +838 -0
  266. package/project-transform/src/frontend/macro_operand_semantics.ts +1489 -0
  267. package/project-transform/src/frontend/macro_output.js +54 -0
  268. package/project-transform/src/frontend/macro_output.ts +123 -0
  269. package/project-transform/src/frontend/macro_parser.js +611 -0
  270. package/project-transform/src/frontend/macro_parser.ts +832 -0
  271. package/project-transform/src/frontend/macro_resolver.js +69 -0
  272. package/project-transform/src/frontend/macro_resolver.ts +125 -0
  273. package/project-transform/src/frontend/macro_rewrite.js +285 -0
  274. package/project-transform/src/frontend/macro_rewrite.ts +442 -0
  275. package/project-transform/src/frontend/macro_runtime_support.js +232 -0
  276. package/project-transform/src/frontend/macro_runtime_support.ts +324 -0
  277. package/project-transform/src/frontend/macro_scanner.js +393 -0
  278. package/project-transform/src/frontend/macro_scanner.ts +455 -0
  279. package/project-transform/src/frontend/macro_semantic_backend_adapter.js +87 -0
  280. package/project-transform/src/frontend/macro_semantic_backend_adapter.ts +166 -0
  281. package/project-transform/src/frontend/macro_semantic_context.js +5 -0
  282. package/project-transform/src/frontend/macro_semantic_context.ts +12 -0
  283. package/project-transform/src/frontend/macro_semantic_output.js +24 -0
  284. package/project-transform/src/frontend/macro_semantic_output.ts +47 -0
  285. package/project-transform/src/frontend/macro_semantic_types.js +1 -0
  286. package/project-transform/src/frontend/macro_semantic_types.ts +98 -0
  287. package/project-transform/src/frontend/macro_semantics.js +1172 -0
  288. package/project-transform/src/frontend/macro_semantics.ts +1502 -0
  289. package/project-transform/src/frontend/macro_site_kind_support.js +164 -0
  290. package/project-transform/src/frontend/macro_site_kind_support.ts +255 -0
  291. package/project-transform/src/frontend/macro_syntax_internal.js +1950 -0
  292. package/project-transform/src/frontend/macro_syntax_internal.ts +3338 -0
  293. package/project-transform/src/frontend/macro_templates.js +57 -0
  294. package/project-transform/src/frontend/macro_templates.ts +143 -0
  295. package/project-transform/src/frontend/macro_test_helpers.js +82 -0
  296. package/project-transform/src/frontend/macro_test_helpers.ts +136 -0
  297. package/project-transform/src/frontend/macro_types.js +1 -0
  298. package/project-transform/src/frontend/macro_types.ts +103 -0
  299. package/project-transform/src/frontend/macro_vm.js +39 -0
  300. package/project-transform/src/frontend/macro_vm.ts +113 -0
  301. package/project-transform/src/frontend/match_macro.js +885 -0
  302. package/project-transform/src/frontend/match_macro.ts +1220 -0
  303. package/project-transform/src/frontend/numeric_normalization.js +824 -0
  304. package/project-transform/src/frontend/numeric_normalization.ts +1380 -0
  305. package/project-transform/src/frontend/numeric_prelude.js +278 -0
  306. package/project-transform/src/frontend/numeric_prelude.ts +370 -0
  307. package/project-transform/src/frontend/project_frontend.js +2396 -0
  308. package/project-transform/src/frontend/project_frontend.ts +3776 -0
  309. package/project-transform/src/frontend/project_macro_support.js +1401 -0
  310. package/project-transform/src/frontend/project_macro_support.ts +2137 -0
  311. package/project-transform/src/frontend/sql_macro.js +175 -0
  312. package/project-transform/src/frontend/sql_macro.ts +254 -0
  313. package/project-transform/src/frontend/sql_stdlib_support.js +1 -0
  314. package/project-transform/src/frontend/sql_stdlib_support.ts +6 -0
  315. package/project-transform/src/frontend/std_package_support.js +228 -0
  316. package/project-transform/src/frontend/std_package_support.ts +400 -0
  317. package/project-transform/src/frontend/value_normalization.js +306 -0
  318. package/project-transform/src/frontend/value_normalization.ts +599 -0
  319. package/project-transform/src/lsp/project_service.js +4771 -0
  320. package/project-transform/src/lsp/project_service.ts +7580 -0
  321. package/project-transform/src/lsp/protocol.js +9 -0
  322. package/project-transform/src/lsp/protocol.ts +38 -0
  323. package/project-transform/src/lsp/server.js +355 -0
  324. package/project-transform/src/lsp/server.ts +671 -0
  325. package/project-transform/src/lsp/session.js +49 -0
  326. package/project-transform/src/lsp/session.ts +48 -0
  327. package/project-transform/src/lsp/timing.js +43 -0
  328. package/project-transform/src/lsp/timing.ts +76 -0
  329. package/project-transform/src/lsp/transport.js +205 -0
  330. package/project-transform/src/lsp/transport.ts +253 -0
  331. package/project-transform/src/lsp_main.js +5 -0
  332. package/project-transform/src/lsp_main.ts +7 -0
  333. package/project-transform/src/macros.d.ts +1 -0
  334. package/project-transform/src/macros.js +1 -0
  335. package/project-transform/src/macros.ts +1 -0
  336. package/project-transform/src/main.js +24 -0
  337. package/project-transform/src/main.ts +28 -0
  338. package/project-transform/src/platform/host.js +264 -0
  339. package/project-transform/src/platform/host.ts +343 -0
  340. package/project-transform/src/platform/path.js +8 -0
  341. package/project-transform/src/platform/path.ts +20 -0
  342. package/project-transform/src/public_macro_api/macro_api.d.ts +1054 -0
  343. package/project-transform/src/public_macro_api/macro_semantic_types.d.ts +66 -0
  344. package/project-transform/src/public_macro_api/macro_types.d.ts +70 -0
  345. package/project-transform/src/run_program.js +14 -0
  346. package/project-transform/src/run_program.ts +33 -0
  347. package/project-transform/src/runtime/materialize.js +371 -0
  348. package/project-transform/src/runtime/materialize.ts +502 -0
  349. package/project-transform/src/runtime/on_demand.js +203 -0
  350. package/project-transform/src/runtime/on_demand.ts +305 -0
  351. package/project-transform/src/runtime/source_maps.js +205 -0
  352. package/project-transform/src/runtime/source_maps.ts +297 -0
  353. package/project-transform/src/runtime/transform.js +148 -0
  354. package/project-transform/src/runtime/transform.ts +295 -0
  355. package/project-transform/src/service/types.js +1 -0
  356. package/project-transform/src/service/types.ts +22 -0
  357. package/project-transform/src/soundscript_packages.js +477 -0
  358. package/project-transform/src/soundscript_packages.ts +754 -0
  359. package/project-transform/src/soundscript_runtime_specifiers.js +88 -0
  360. package/project-transform/src/soundscript_runtime_specifiers.ts +96 -0
  361. package/project-transform/src/stdlib/async.d.ts +81 -0
  362. package/project-transform/src/stdlib/async.js +213 -0
  363. package/project-transform/src/stdlib/async.ts +315 -0
  364. package/project-transform/src/stdlib/codec.d.ts +32 -0
  365. package/project-transform/src/stdlib/codec.js +30 -0
  366. package/project-transform/src/stdlib/codec.ts +76 -0
  367. package/project-transform/src/stdlib/compare.d.ts +28 -0
  368. package/project-transform/src/stdlib/compare.js +115 -0
  369. package/project-transform/src/stdlib/compare.ts +151 -0
  370. package/project-transform/src/stdlib/css.d.ts +16 -0
  371. package/project-transform/src/stdlib/css.js +9 -0
  372. package/project-transform/src/stdlib/css.ts +28 -0
  373. package/project-transform/src/stdlib/debug.d.ts +2 -0
  374. package/project-transform/src/stdlib/debug.js +9 -0
  375. package/project-transform/src/stdlib/debug.ts +10 -0
  376. package/project-transform/src/stdlib/decode.d.ts +86 -0
  377. package/project-transform/src/stdlib/decode.js +254 -0
  378. package/project-transform/src/stdlib/decode.ts +390 -0
  379. package/project-transform/src/stdlib/derive.d.ts +6 -0
  380. package/project-transform/src/stdlib/derive.js +7 -0
  381. package/project-transform/src/stdlib/derive.ts +7 -0
  382. package/project-transform/src/stdlib/encode.d.ts +100 -0
  383. package/project-transform/src/stdlib/encode.js +130 -0
  384. package/project-transform/src/stdlib/encode.ts +259 -0
  385. package/project-transform/src/stdlib/failures.d.ts +23 -0
  386. package/project-transform/src/stdlib/failures.js +41 -0
  387. package/project-transform/src/stdlib/failures.ts +64 -0
  388. package/project-transform/src/stdlib/fetch.d.ts +67 -0
  389. package/project-transform/src/stdlib/fetch.js +5 -0
  390. package/project-transform/src/stdlib/fetch.ts +11 -0
  391. package/project-transform/src/stdlib/graphql.d.ts +16 -0
  392. package/project-transform/src/stdlib/graphql.js +9 -0
  393. package/project-transform/src/stdlib/graphql.ts +28 -0
  394. package/project-transform/src/stdlib/hash.d.ts +34 -0
  395. package/project-transform/src/stdlib/hash.js +110 -0
  396. package/project-transform/src/stdlib/hash.ts +188 -0
  397. package/project-transform/src/stdlib/hkt.d.ts +40 -0
  398. package/project-transform/src/stdlib/hkt.js +3 -0
  399. package/project-transform/src/stdlib/hkt.ts +41 -0
  400. package/project-transform/src/stdlib/index.d.ts +9 -0
  401. package/project-transform/src/stdlib/index.js +15 -0
  402. package/project-transform/src/stdlib/index.ts +23 -0
  403. package/project-transform/src/stdlib/json.d.ts +125 -0
  404. package/project-transform/src/stdlib/json.js +764 -0
  405. package/project-transform/src/stdlib/json.ts +1034 -0
  406. package/project-transform/src/stdlib/match.d.ts +11 -0
  407. package/project-transform/src/stdlib/match.js +13 -0
  408. package/project-transform/src/stdlib/match.ts +26 -0
  409. package/project-transform/src/stdlib/numerics.d.ts +523 -0
  410. package/project-transform/src/stdlib/numerics.js +1356 -0
  411. package/project-transform/src/stdlib/numerics.ts +1937 -0
  412. package/project-transform/src/stdlib/random.d.ts +19 -0
  413. package/project-transform/src/stdlib/random.js +3 -0
  414. package/project-transform/src/stdlib/random.ts +5 -0
  415. package/project-transform/src/stdlib/result.d.ts +68 -0
  416. package/project-transform/src/stdlib/result.js +139 -0
  417. package/project-transform/src/stdlib/result.ts +248 -0
  418. package/project-transform/src/stdlib/sql.d.ts +22 -0
  419. package/project-transform/src/stdlib/sql.js +23 -0
  420. package/project-transform/src/stdlib/sql.ts +53 -0
  421. package/project-transform/src/stdlib/text.d.ts +24 -0
  422. package/project-transform/src/stdlib/text.js +3 -0
  423. package/project-transform/src/stdlib/text.ts +4 -0
  424. package/project-transform/src/stdlib/thunk.d.ts +2 -0
  425. package/project-transform/src/stdlib/thunk.js +9 -0
  426. package/project-transform/src/stdlib/thunk.ts +15 -0
  427. package/project-transform/src/stdlib/typeclasses.d.ts +57 -0
  428. package/project-transform/src/stdlib/typeclasses.js +78 -0
  429. package/project-transform/src/stdlib/typeclasses.ts +173 -0
  430. package/project-transform/src/stdlib/url.d.ts +37 -0
  431. package/project-transform/src/stdlib/url.js +3 -0
  432. package/project-transform/src/stdlib/url.ts +4 -0
  433. package/project-transform/src/stdlib/value.d.ts +9 -0
  434. package/project-transform/src/stdlib/value.js +104 -0
  435. package/project-transform/src/stdlib/value.ts +133 -0
  436. package/project-transform/src/test_installed_stdlib.js +147 -0
  437. package/project-transform/src/test_installed_stdlib.ts +245 -0
  438. package/project-transform/src/test_macro_package_fixture.js +50 -0
  439. package/project-transform/src/test_macro_package_fixture.ts +68 -0
  440. package/project-transform/src/value_deep_safe.js +191 -0
  441. package/project-transform/src/value_deep_safe.ts +273 -0
@@ -0,0 +1,1526 @@
1
+ import type {
2
+ CompilerRuntimeIR,
3
+ CompilerRuntimeRepresentationRefIR,
4
+ CompilerRuntimeSpecializedObjectRepresentationRefIR,
5
+ } from './runtime_ir.ts';
6
+
7
+ // String values are compiler-owned references that lower to an explicit
8
+ // string runtime path rather than the object heap path.
9
+ export type CompilerValueType =
10
+ | 'f64'
11
+ | 'i32'
12
+ | 'heap_ref'
13
+ | 'class_constructor_ref'
14
+ | 'string_ref'
15
+ | 'owned_string_ref'
16
+ | 'owned_heap_array_ref'
17
+ | 'owned_array_ref'
18
+ | 'owned_number_array_ref'
19
+ | 'owned_boolean_array_ref'
20
+ | 'owned_tagged_array_ref'
21
+ | 'tagged_ref'
22
+ | 'box_ref'
23
+ | 'closure_ref';
24
+
25
+ export interface CompilerLocalIR {
26
+ name: string;
27
+ type: CompilerValueType;
28
+ }
29
+
30
+ export type CompilerBinaryOp =
31
+ | 'f64.add'
32
+ | 'f64.sub'
33
+ | 'f64.mul'
34
+ | 'f64.div'
35
+ | 'f64.gt'
36
+ | 'f64.ge'
37
+ | 'f64.lt'
38
+ | 'f64.le'
39
+ | 'f64.eq'
40
+ | 'f64.ne'
41
+ | 'i32.eq'
42
+ | 'i32.ne'
43
+ | 'i32.and'
44
+ | 'i32.or'
45
+ | 'string.concat'
46
+ | 'string.eq'
47
+ | 'string.ne';
48
+
49
+ export interface CompilerNumberLiteralIR {
50
+ kind: 'number_literal';
51
+ value: number;
52
+ }
53
+
54
+ export interface CompilerBooleanLiteralIR {
55
+ kind: 'boolean_literal';
56
+ value: boolean;
57
+ }
58
+
59
+ export interface CompilerUndefinedLiteralIR {
60
+ kind: 'undefined_literal';
61
+ type: 'tagged_ref';
62
+ }
63
+
64
+ export interface CompilerNullLiteralIR {
65
+ kind: 'null_literal';
66
+ type: 'tagged_ref';
67
+ }
68
+
69
+ export interface CompilerLocalGetIR {
70
+ kind: 'local_get';
71
+ name: string;
72
+ type: CompilerValueType;
73
+ }
74
+
75
+ export interface CompilerClassStaticFieldGetIR {
76
+ kind: 'class_static_field_get';
77
+ globalName: string;
78
+ heapRepresentation?: CompilerRuntimeRepresentationRefIR<'object'>;
79
+ type: CompilerValueType;
80
+ }
81
+
82
+ export interface CompilerHeapPlaceholderIR {
83
+ kind: 'heap_placeholder';
84
+ debugName: string;
85
+ type: 'heap_ref';
86
+ }
87
+
88
+ export interface CompilerStringLiteralIR {
89
+ kind: 'string_literal';
90
+ literalId: number;
91
+ type: 'string_ref';
92
+ }
93
+
94
+ export interface CompilerOwnedStringLiteralIR {
95
+ kind: 'owned_string_literal';
96
+ literalId: number;
97
+ type: 'owned_string_ref';
98
+ }
99
+
100
+ export interface CompilerStringLengthIR {
101
+ kind: 'string_length';
102
+ value: CompilerExpressionIR;
103
+ type: 'f64';
104
+ }
105
+
106
+ export interface CompilerOwnedStringLengthIR {
107
+ kind: 'owned_string_length';
108
+ value: CompilerExpressionIR;
109
+ type: 'f64';
110
+ }
111
+
112
+ export interface CompilerOwnedStringConcatIR {
113
+ kind: 'owned_string_concat';
114
+ left: CompilerExpressionIR;
115
+ right: CompilerExpressionIR;
116
+ type: 'owned_string_ref';
117
+ }
118
+
119
+ export interface CompilerStringCharAtIR {
120
+ kind: 'string_char_at';
121
+ value: CompilerExpressionIR;
122
+ index: CompilerExpressionIR;
123
+ type: 'string_ref';
124
+ }
125
+
126
+ export interface CompilerOwnedStringCharAtIR {
127
+ kind: 'owned_string_char_at';
128
+ value: CompilerExpressionIR;
129
+ index: CompilerExpressionIR;
130
+ type: 'owned_string_ref';
131
+ }
132
+
133
+ export interface CompilerOwnedStringSubstringIR {
134
+ kind: 'owned_string_substring';
135
+ value: CompilerExpressionIR;
136
+ start: CompilerExpressionIR;
137
+ end?: CompilerExpressionIR;
138
+ type: 'owned_string_ref';
139
+ }
140
+
141
+ export interface CompilerOwnedStringSliceIR {
142
+ kind: 'owned_string_slice';
143
+ value: CompilerExpressionIR;
144
+ start: CompilerExpressionIR;
145
+ end?: CompilerExpressionIR;
146
+ type: 'owned_string_ref';
147
+ }
148
+
149
+ export interface CompilerStringCharCodeAtIR {
150
+ kind: 'string_char_code_at';
151
+ value: CompilerExpressionIR;
152
+ index: CompilerExpressionIR;
153
+ type: 'f64';
154
+ }
155
+
156
+ export interface CompilerOwnedStringCharCodeAtIR {
157
+ kind: 'owned_string_char_code_at';
158
+ value: CompilerExpressionIR;
159
+ index: CompilerExpressionIR;
160
+ type: 'f64';
161
+ }
162
+
163
+ export interface CompilerStringCodePointAtIR {
164
+ kind: 'string_code_point_at';
165
+ value: CompilerExpressionIR;
166
+ index: CompilerExpressionIR;
167
+ type: 'tagged_ref';
168
+ }
169
+
170
+ export interface CompilerOwnedStringCodePointAtIR {
171
+ kind: 'owned_string_code_point_at';
172
+ value: CompilerExpressionIR;
173
+ index: CompilerExpressionIR;
174
+ type: 'tagged_ref';
175
+ }
176
+
177
+ export interface CompilerStringToUpperCaseIR {
178
+ kind: 'string_to_upper_case';
179
+ value: CompilerExpressionIR;
180
+ type: 'string_ref';
181
+ }
182
+
183
+ export interface CompilerOwnedStringToUpperCaseIR {
184
+ kind: 'owned_string_to_upper_case';
185
+ value: CompilerExpressionIR;
186
+ type: 'owned_string_ref';
187
+ }
188
+
189
+ export interface CompilerStringToLowerCaseIR {
190
+ kind: 'string_to_lower_case';
191
+ value: CompilerExpressionIR;
192
+ type: 'string_ref';
193
+ }
194
+
195
+ export interface CompilerOwnedStringToLowerCaseIR {
196
+ kind: 'owned_string_to_lower_case';
197
+ value: CompilerExpressionIR;
198
+ type: 'owned_string_ref';
199
+ }
200
+
201
+ export interface CompilerStringTrimIR {
202
+ kind: 'string_trim';
203
+ value: CompilerExpressionIR;
204
+ type: 'string_ref';
205
+ }
206
+
207
+ export interface CompilerOwnedStringTrimIR {
208
+ kind: 'owned_string_trim';
209
+ value: CompilerExpressionIR;
210
+ type: 'owned_string_ref';
211
+ }
212
+
213
+ export interface CompilerOwnedStringTrimStartIR {
214
+ kind: 'owned_string_trim_start';
215
+ value: CompilerExpressionIR;
216
+ type: 'owned_string_ref';
217
+ }
218
+
219
+ export interface CompilerOwnedStringTrimEndIR {
220
+ kind: 'owned_string_trim_end';
221
+ value: CompilerExpressionIR;
222
+ type: 'owned_string_ref';
223
+ }
224
+
225
+ export interface CompilerStringToOwnedIR {
226
+ kind: 'string_to_owned';
227
+ value: CompilerExpressionIR;
228
+ type: 'owned_string_ref';
229
+ }
230
+
231
+ export interface CompilerOwnedStringToHostIR {
232
+ kind: 'owned_string_to_host';
233
+ value: CompilerExpressionIR;
234
+ type: 'string_ref';
235
+ }
236
+
237
+ export interface CompilerOwnedStringArrayLiteralIR {
238
+ kind: 'owned_string_array_literal';
239
+ elements: readonly CompilerExpressionIR[];
240
+ type: 'owned_array_ref';
241
+ }
242
+
243
+ export interface CompilerOwnedHeapArrayLiteralIR {
244
+ kind: 'owned_heap_array_literal';
245
+ elements: readonly CompilerExpressionIR[];
246
+ type: 'owned_heap_array_ref';
247
+ }
248
+
249
+ export interface CompilerOwnedNumberArrayLiteralIR {
250
+ kind: 'owned_number_array_literal';
251
+ elements: readonly CompilerExpressionIR[];
252
+ type: 'owned_number_array_ref';
253
+ }
254
+
255
+ export interface CompilerOwnedBooleanArrayLiteralIR {
256
+ kind: 'owned_boolean_array_literal';
257
+ elements: readonly CompilerExpressionIR[];
258
+ type: 'owned_boolean_array_ref';
259
+ }
260
+
261
+ export interface CompilerOwnedTaggedArrayLiteralIR {
262
+ kind: 'owned_tagged_array_literal';
263
+ elements: readonly CompilerExpressionIR[];
264
+ type: 'owned_tagged_array_ref';
265
+ }
266
+
267
+ export interface CompilerOwnedArrayLengthIR {
268
+ kind: 'owned_array_length';
269
+ value: CompilerExpressionIR;
270
+ type: 'f64';
271
+ }
272
+
273
+ export interface CompilerOwnedStringArrayElementIR {
274
+ kind: 'owned_string_array_element';
275
+ value: CompilerExpressionIR;
276
+ index: CompilerExpressionIR;
277
+ type: 'owned_string_ref';
278
+ }
279
+
280
+ export interface CompilerOwnedHeapArrayElementIR {
281
+ kind: 'owned_heap_array_element';
282
+ value: CompilerExpressionIR;
283
+ index: CompilerExpressionIR;
284
+ type:
285
+ | 'heap_ref'
286
+ | 'owned_heap_array_ref'
287
+ | 'owned_array_ref'
288
+ | 'owned_number_array_ref'
289
+ | 'owned_boolean_array_ref'
290
+ | 'owned_tagged_array_ref';
291
+ }
292
+
293
+ export interface CompilerOwnedNumberArrayElementIR {
294
+ kind: 'owned_number_array_element';
295
+ value: CompilerExpressionIR;
296
+ index: CompilerExpressionIR;
297
+ type: 'f64';
298
+ }
299
+
300
+ export interface CompilerOwnedBooleanArrayElementIR {
301
+ kind: 'owned_boolean_array_element';
302
+ value: CompilerExpressionIR;
303
+ index: CompilerExpressionIR;
304
+ type: 'i32';
305
+ }
306
+
307
+ export interface CompilerOwnedTaggedArrayElementIR {
308
+ kind: 'owned_tagged_array_element';
309
+ value: CompilerExpressionIR;
310
+ index: CompilerExpressionIR;
311
+ type: 'tagged_ref';
312
+ }
313
+
314
+ export interface CompilerOwnedStringArrayPushIR {
315
+ kind: 'owned_string_array_push';
316
+ array: CompilerExpressionIR;
317
+ value: CompilerExpressionIR;
318
+ type: 'f64';
319
+ }
320
+
321
+ export interface CompilerOwnedNumberArrayPushIR {
322
+ kind: 'owned_number_array_push';
323
+ array: CompilerExpressionIR;
324
+ value: CompilerExpressionIR;
325
+ type: 'f64';
326
+ }
327
+
328
+ export interface CompilerOwnedBooleanArrayPushIR {
329
+ kind: 'owned_boolean_array_push';
330
+ array: CompilerExpressionIR;
331
+ value: CompilerExpressionIR;
332
+ type: 'f64';
333
+ }
334
+
335
+ export interface CompilerOwnedTaggedArrayPushIR {
336
+ kind: 'owned_tagged_array_push';
337
+ array: CompilerExpressionIR;
338
+ value: CompilerExpressionIR;
339
+ type: 'f64';
340
+ }
341
+
342
+ export interface CompilerOwnedHeapArrayPushIR {
343
+ kind: 'owned_heap_array_push';
344
+ array: CompilerExpressionIR;
345
+ value: CompilerExpressionIR;
346
+ type: 'f64';
347
+ }
348
+
349
+ export interface CompilerOwnedHeapArrayUnshiftIR {
350
+ kind: 'owned_heap_array_unshift';
351
+ array: CompilerExpressionIR;
352
+ value: CompilerExpressionIR;
353
+ type: 'f64';
354
+ }
355
+
356
+ export interface CompilerOwnedHeapArrayPopIR {
357
+ kind: 'owned_heap_array_pop';
358
+ array: CompilerExpressionIR;
359
+ type: 'tagged_ref';
360
+ }
361
+
362
+ export interface CompilerOwnedHeapArrayShiftIR {
363
+ kind: 'owned_heap_array_shift';
364
+ array: CompilerExpressionIR;
365
+ type: 'tagged_ref';
366
+ }
367
+
368
+ export interface CompilerOwnedStringArrayUnshiftIR {
369
+ kind: 'owned_string_array_unshift';
370
+ array: CompilerExpressionIR;
371
+ value: CompilerExpressionIR;
372
+ type: 'f64';
373
+ }
374
+
375
+ export interface CompilerOwnedNumberArrayUnshiftIR {
376
+ kind: 'owned_number_array_unshift';
377
+ array: CompilerExpressionIR;
378
+ value: CompilerExpressionIR;
379
+ type: 'f64';
380
+ }
381
+
382
+ export interface CompilerOwnedBooleanArrayUnshiftIR {
383
+ kind: 'owned_boolean_array_unshift';
384
+ array: CompilerExpressionIR;
385
+ value: CompilerExpressionIR;
386
+ type: 'f64';
387
+ }
388
+
389
+ export interface CompilerOwnedTaggedArrayUnshiftIR {
390
+ kind: 'owned_tagged_array_unshift';
391
+ array: CompilerExpressionIR;
392
+ value: CompilerExpressionIR;
393
+ type: 'f64';
394
+ }
395
+
396
+ export interface CompilerOwnedStringArrayPopIR {
397
+ kind: 'owned_string_array_pop';
398
+ array: CompilerExpressionIR;
399
+ type: 'tagged_ref';
400
+ }
401
+
402
+ export interface CompilerOwnedNumberArrayPopIR {
403
+ kind: 'owned_number_array_pop';
404
+ array: CompilerExpressionIR;
405
+ type: 'tagged_ref';
406
+ }
407
+
408
+ export interface CompilerOwnedBooleanArrayPopIR {
409
+ kind: 'owned_boolean_array_pop';
410
+ array: CompilerExpressionIR;
411
+ type: 'tagged_ref';
412
+ }
413
+
414
+ export interface CompilerOwnedTaggedArrayPopIR {
415
+ kind: 'owned_tagged_array_pop';
416
+ array: CompilerExpressionIR;
417
+ type: 'tagged_ref';
418
+ }
419
+
420
+ export interface CompilerOwnedStringArrayShiftIR {
421
+ kind: 'owned_string_array_shift';
422
+ array: CompilerExpressionIR;
423
+ type: 'tagged_ref';
424
+ }
425
+
426
+ export interface CompilerOwnedNumberArrayShiftIR {
427
+ kind: 'owned_number_array_shift';
428
+ array: CompilerExpressionIR;
429
+ type: 'tagged_ref';
430
+ }
431
+
432
+ export interface CompilerOwnedBooleanArrayShiftIR {
433
+ kind: 'owned_boolean_array_shift';
434
+ array: CompilerExpressionIR;
435
+ type: 'tagged_ref';
436
+ }
437
+
438
+ export interface CompilerOwnedTaggedArrayShiftIR {
439
+ kind: 'owned_tagged_array_shift';
440
+ array: CompilerExpressionIR;
441
+ type: 'tagged_ref';
442
+ }
443
+
444
+ export interface CompilerOwnedHeapArrayAtIR {
445
+ kind: 'owned_heap_array_at';
446
+ array: CompilerExpressionIR;
447
+ index: CompilerExpressionIR;
448
+ type: 'tagged_ref';
449
+ }
450
+
451
+ export interface CompilerOwnedStringArrayAtIR {
452
+ kind: 'owned_string_array_at';
453
+ array: CompilerExpressionIR;
454
+ index: CompilerExpressionIR;
455
+ type: 'tagged_ref';
456
+ }
457
+
458
+ export interface CompilerOwnedNumberArrayAtIR {
459
+ kind: 'owned_number_array_at';
460
+ array: CompilerExpressionIR;
461
+ index: CompilerExpressionIR;
462
+ type: 'tagged_ref';
463
+ }
464
+
465
+ export interface CompilerOwnedBooleanArrayAtIR {
466
+ kind: 'owned_boolean_array_at';
467
+ array: CompilerExpressionIR;
468
+ index: CompilerExpressionIR;
469
+ type: 'tagged_ref';
470
+ }
471
+
472
+ export interface CompilerOwnedTaggedArrayAtIR {
473
+ kind: 'owned_tagged_array_at';
474
+ array: CompilerExpressionIR;
475
+ index: CompilerExpressionIR;
476
+ type: 'tagged_ref';
477
+ }
478
+
479
+ export interface CompilerOwnedHeapArraySliceIR {
480
+ kind: 'owned_heap_array_slice';
481
+ array: CompilerExpressionIR;
482
+ start: CompilerExpressionIR;
483
+ end?: CompilerExpressionIR;
484
+ type: 'owned_heap_array_ref';
485
+ }
486
+
487
+ export interface CompilerOwnedStringArrayJoinIR {
488
+ kind: 'owned_string_array_join';
489
+ array: CompilerExpressionIR;
490
+ separator: CompilerExpressionIR;
491
+ empty: CompilerExpressionIR;
492
+ type: 'owned_string_ref';
493
+ }
494
+
495
+ export interface CompilerOwnedNumberArrayJoinIR {
496
+ kind: 'owned_number_array_join';
497
+ array: CompilerExpressionIR;
498
+ separator: CompilerExpressionIR;
499
+ empty: CompilerExpressionIR;
500
+ type: 'owned_string_ref';
501
+ }
502
+
503
+ export interface CompilerOwnedBooleanArrayJoinIR {
504
+ kind: 'owned_boolean_array_join';
505
+ array: CompilerExpressionIR;
506
+ separator: CompilerExpressionIR;
507
+ empty: CompilerExpressionIR;
508
+ type: 'owned_string_ref';
509
+ }
510
+
511
+ export interface CompilerOwnedStringArraySliceIR {
512
+ kind: 'owned_string_array_slice';
513
+ array: CompilerExpressionIR;
514
+ start: CompilerExpressionIR;
515
+ end?: CompilerExpressionIR;
516
+ type: 'owned_array_ref';
517
+ }
518
+
519
+ export interface CompilerOwnedNumberArraySliceIR {
520
+ kind: 'owned_number_array_slice';
521
+ array: CompilerExpressionIR;
522
+ start: CompilerExpressionIR;
523
+ end?: CompilerExpressionIR;
524
+ type: 'owned_number_array_ref';
525
+ }
526
+
527
+ export interface CompilerOwnedBooleanArraySliceIR {
528
+ kind: 'owned_boolean_array_slice';
529
+ array: CompilerExpressionIR;
530
+ start: CompilerExpressionIR;
531
+ end?: CompilerExpressionIR;
532
+ type: 'owned_boolean_array_ref';
533
+ }
534
+
535
+ export interface CompilerOwnedTaggedArraySliceIR {
536
+ kind: 'owned_tagged_array_slice';
537
+ array: CompilerExpressionIR;
538
+ start: CompilerExpressionIR;
539
+ end?: CompilerExpressionIR;
540
+ type: 'owned_tagged_array_ref';
541
+ }
542
+
543
+ export interface CompilerOwnedStringArraySpliceIR {
544
+ kind: 'owned_string_array_splice';
545
+ array: CompilerExpressionIR;
546
+ start: CompilerExpressionIR;
547
+ deleteCount: CompilerExpressionIR;
548
+ items: CompilerExpressionIR;
549
+ type: 'owned_array_ref';
550
+ }
551
+
552
+ export interface CompilerOwnedNumberArraySpliceIR {
553
+ kind: 'owned_number_array_splice';
554
+ array: CompilerExpressionIR;
555
+ start: CompilerExpressionIR;
556
+ deleteCount: CompilerExpressionIR;
557
+ items: CompilerExpressionIR;
558
+ type: 'owned_number_array_ref';
559
+ }
560
+
561
+ export interface CompilerOwnedBooleanArraySpliceIR {
562
+ kind: 'owned_boolean_array_splice';
563
+ array: CompilerExpressionIR;
564
+ start: CompilerExpressionIR;
565
+ deleteCount: CompilerExpressionIR;
566
+ items: CompilerExpressionIR;
567
+ type: 'owned_boolean_array_ref';
568
+ }
569
+
570
+ export interface CompilerOwnedHeapArraySpliceIR {
571
+ kind: 'owned_heap_array_splice';
572
+ array: CompilerExpressionIR;
573
+ start: CompilerExpressionIR;
574
+ deleteCount: CompilerExpressionIR;
575
+ items: CompilerExpressionIR;
576
+ type: 'owned_heap_array_ref';
577
+ }
578
+
579
+ export interface CompilerOwnedStringArrayIncludesIR {
580
+ kind: 'owned_string_array_includes';
581
+ array: CompilerExpressionIR;
582
+ search: CompilerExpressionIR;
583
+ fromIndex?: CompilerExpressionIR;
584
+ type: 'i32';
585
+ }
586
+
587
+ export interface CompilerOwnedNumberArrayIncludesIR {
588
+ kind: 'owned_number_array_includes';
589
+ array: CompilerExpressionIR;
590
+ search: CompilerExpressionIR;
591
+ fromIndex?: CompilerExpressionIR;
592
+ type: 'i32';
593
+ }
594
+
595
+ export interface CompilerOwnedBooleanArrayIncludesIR {
596
+ kind: 'owned_boolean_array_includes';
597
+ array: CompilerExpressionIR;
598
+ search: CompilerExpressionIR;
599
+ fromIndex?: CompilerExpressionIR;
600
+ type: 'i32';
601
+ }
602
+
603
+ export interface CompilerOwnedTaggedArrayIncludesIR {
604
+ kind: 'owned_tagged_array_includes';
605
+ array: CompilerExpressionIR;
606
+ kinds: CompilerTaggedPrimitiveBoundaryKindsIR;
607
+ search: CompilerExpressionIR;
608
+ fromIndex?: CompilerExpressionIR;
609
+ type: 'i32';
610
+ }
611
+
612
+ export interface CompilerOwnedHeapArrayIncludesIR {
613
+ kind: 'owned_heap_array_includes';
614
+ array: CompilerExpressionIR;
615
+ search: CompilerExpressionIR;
616
+ fromIndex?: CompilerExpressionIR;
617
+ type: 'i32';
618
+ }
619
+
620
+ export interface CompilerOwnedStringArrayIndexOfIR {
621
+ kind: 'owned_string_array_index_of';
622
+ array: CompilerExpressionIR;
623
+ search: CompilerExpressionIR;
624
+ fromIndex?: CompilerExpressionIR;
625
+ type: 'f64';
626
+ }
627
+
628
+ export interface CompilerOwnedNumberArrayIndexOfIR {
629
+ kind: 'owned_number_array_index_of';
630
+ array: CompilerExpressionIR;
631
+ search: CompilerExpressionIR;
632
+ fromIndex?: CompilerExpressionIR;
633
+ type: 'f64';
634
+ }
635
+
636
+ export interface CompilerOwnedBooleanArrayIndexOfIR {
637
+ kind: 'owned_boolean_array_index_of';
638
+ array: CompilerExpressionIR;
639
+ search: CompilerExpressionIR;
640
+ fromIndex?: CompilerExpressionIR;
641
+ type: 'f64';
642
+ }
643
+
644
+ export interface CompilerOwnedTaggedArrayIndexOfIR {
645
+ kind: 'owned_tagged_array_index_of';
646
+ array: CompilerExpressionIR;
647
+ kinds: CompilerTaggedPrimitiveBoundaryKindsIR;
648
+ search: CompilerExpressionIR;
649
+ fromIndex?: CompilerExpressionIR;
650
+ type: 'f64';
651
+ }
652
+
653
+ export interface CompilerOwnedHeapArrayIndexOfIR {
654
+ kind: 'owned_heap_array_index_of';
655
+ array: CompilerExpressionIR;
656
+ search: CompilerExpressionIR;
657
+ fromIndex?: CompilerExpressionIR;
658
+ type: 'f64';
659
+ }
660
+
661
+ export interface CompilerOwnedStringArrayLastIndexOfIR {
662
+ kind: 'owned_string_array_last_index_of';
663
+ array: CompilerExpressionIR;
664
+ search: CompilerExpressionIR;
665
+ fromIndex?: CompilerExpressionIR;
666
+ type: 'f64';
667
+ }
668
+
669
+ export interface CompilerOwnedNumberArrayLastIndexOfIR {
670
+ kind: 'owned_number_array_last_index_of';
671
+ array: CompilerExpressionIR;
672
+ search: CompilerExpressionIR;
673
+ fromIndex?: CompilerExpressionIR;
674
+ type: 'f64';
675
+ }
676
+
677
+ export interface CompilerOwnedBooleanArrayLastIndexOfIR {
678
+ kind: 'owned_boolean_array_last_index_of';
679
+ array: CompilerExpressionIR;
680
+ search: CompilerExpressionIR;
681
+ fromIndex?: CompilerExpressionIR;
682
+ type: 'f64';
683
+ }
684
+
685
+ export interface CompilerOwnedTaggedArrayLastIndexOfIR {
686
+ kind: 'owned_tagged_array_last_index_of';
687
+ array: CompilerExpressionIR;
688
+ kinds: CompilerTaggedPrimitiveBoundaryKindsIR;
689
+ search: CompilerExpressionIR;
690
+ fromIndex?: CompilerExpressionIR;
691
+ type: 'f64';
692
+ }
693
+
694
+ export interface CompilerOwnedHeapArrayLastIndexOfIR {
695
+ kind: 'owned_heap_array_last_index_of';
696
+ array: CompilerExpressionIR;
697
+ search: CompilerExpressionIR;
698
+ fromIndex?: CompilerExpressionIR;
699
+ type: 'f64';
700
+ }
701
+
702
+ export interface CompilerOwnedStringArrayConcatIR {
703
+ kind: 'owned_string_array_concat';
704
+ left: CompilerExpressionIR;
705
+ right: CompilerExpressionIR;
706
+ type: 'owned_array_ref';
707
+ }
708
+
709
+ export interface CompilerOwnedNumberArrayConcatIR {
710
+ kind: 'owned_number_array_concat';
711
+ left: CompilerExpressionIR;
712
+ right: CompilerExpressionIR;
713
+ type: 'owned_number_array_ref';
714
+ }
715
+
716
+ export interface CompilerOwnedBooleanArrayConcatIR {
717
+ kind: 'owned_boolean_array_concat';
718
+ left: CompilerExpressionIR;
719
+ right: CompilerExpressionIR;
720
+ type: 'owned_boolean_array_ref';
721
+ }
722
+
723
+ export interface CompilerOwnedTaggedArrayConcatIR {
724
+ kind: 'owned_tagged_array_concat';
725
+ left: CompilerExpressionIR;
726
+ right: CompilerExpressionIR;
727
+ type: 'owned_tagged_array_ref';
728
+ }
729
+
730
+ export interface CompilerOwnedHeapArrayConcatIR {
731
+ kind: 'owned_heap_array_concat';
732
+ left: CompilerExpressionIR;
733
+ right: CompilerExpressionIR;
734
+ type: 'owned_heap_array_ref';
735
+ }
736
+
737
+ export interface CompilerOwnedStringArrayReverseIR {
738
+ kind: 'owned_string_array_reverse';
739
+ array: CompilerExpressionIR;
740
+ type: 'owned_array_ref';
741
+ }
742
+
743
+ export interface CompilerOwnedNumberArrayReverseIR {
744
+ kind: 'owned_number_array_reverse';
745
+ array: CompilerExpressionIR;
746
+ type: 'owned_number_array_ref';
747
+ }
748
+
749
+ export interface CompilerOwnedBooleanArrayReverseIR {
750
+ kind: 'owned_boolean_array_reverse';
751
+ array: CompilerExpressionIR;
752
+ type: 'owned_boolean_array_ref';
753
+ }
754
+
755
+ export interface CompilerOwnedTaggedArrayReverseIR {
756
+ kind: 'owned_tagged_array_reverse';
757
+ array: CompilerExpressionIR;
758
+ type: 'owned_tagged_array_ref';
759
+ }
760
+
761
+ export interface CompilerOwnedHeapArrayReverseIR {
762
+ kind: 'owned_heap_array_reverse';
763
+ array: CompilerExpressionIR;
764
+ type: 'owned_heap_array_ref';
765
+ }
766
+
767
+ export interface CompilerOwnedStringArrayCopyWithinIR {
768
+ kind: 'owned_string_array_copy_within';
769
+ array: CompilerExpressionIR;
770
+ target: CompilerExpressionIR;
771
+ start: CompilerExpressionIR;
772
+ end?: CompilerExpressionIR;
773
+ type: 'owned_array_ref';
774
+ }
775
+
776
+ export interface CompilerOwnedNumberArrayCopyWithinIR {
777
+ kind: 'owned_number_array_copy_within';
778
+ array: CompilerExpressionIR;
779
+ target: CompilerExpressionIR;
780
+ start: CompilerExpressionIR;
781
+ end?: CompilerExpressionIR;
782
+ type: 'owned_number_array_ref';
783
+ }
784
+
785
+ export interface CompilerOwnedBooleanArrayCopyWithinIR {
786
+ kind: 'owned_boolean_array_copy_within';
787
+ array: CompilerExpressionIR;
788
+ target: CompilerExpressionIR;
789
+ start: CompilerExpressionIR;
790
+ end?: CompilerExpressionIR;
791
+ type: 'owned_boolean_array_ref';
792
+ }
793
+
794
+ export interface CompilerOwnedTaggedArrayCopyWithinIR {
795
+ kind: 'owned_tagged_array_copy_within';
796
+ array: CompilerExpressionIR;
797
+ target: CompilerExpressionIR;
798
+ start: CompilerExpressionIR;
799
+ end?: CompilerExpressionIR;
800
+ type: 'owned_tagged_array_ref';
801
+ }
802
+
803
+ export interface CompilerOwnedHeapArrayCopyWithinIR {
804
+ kind: 'owned_heap_array_copy_within';
805
+ array: CompilerExpressionIR;
806
+ target: CompilerExpressionIR;
807
+ start: CompilerExpressionIR;
808
+ end?: CompilerExpressionIR;
809
+ type: 'owned_heap_array_ref';
810
+ }
811
+
812
+ export interface CompilerOwnedStringArrayFillIR {
813
+ kind: 'owned_string_array_fill';
814
+ array: CompilerExpressionIR;
815
+ value: CompilerExpressionIR;
816
+ start: CompilerExpressionIR;
817
+ end?: CompilerExpressionIR;
818
+ type: 'owned_array_ref';
819
+ }
820
+
821
+ export interface CompilerOwnedNumberArrayFillIR {
822
+ kind: 'owned_number_array_fill';
823
+ array: CompilerExpressionIR;
824
+ value: CompilerExpressionIR;
825
+ start: CompilerExpressionIR;
826
+ end?: CompilerExpressionIR;
827
+ type: 'owned_number_array_ref';
828
+ }
829
+
830
+ export interface CompilerOwnedBooleanArrayFillIR {
831
+ kind: 'owned_boolean_array_fill';
832
+ array: CompilerExpressionIR;
833
+ value: CompilerExpressionIR;
834
+ start: CompilerExpressionIR;
835
+ end?: CompilerExpressionIR;
836
+ type: 'owned_boolean_array_ref';
837
+ }
838
+
839
+ export interface CompilerOwnedTaggedArrayFillIR {
840
+ kind: 'owned_tagged_array_fill';
841
+ array: CompilerExpressionIR;
842
+ value: CompilerExpressionIR;
843
+ start: CompilerExpressionIR;
844
+ end?: CompilerExpressionIR;
845
+ type: 'owned_tagged_array_ref';
846
+ }
847
+
848
+ export interface CompilerOwnedHeapArrayFillIR {
849
+ kind: 'owned_heap_array_fill';
850
+ array: CompilerExpressionIR;
851
+ value: CompilerExpressionIR;
852
+ start: CompilerExpressionIR;
853
+ end?: CompilerExpressionIR;
854
+ type: 'owned_heap_array_ref';
855
+ }
856
+
857
+ export interface CompilerStringTrimStartIR {
858
+ kind: 'string_trim_start';
859
+ value: CompilerExpressionIR;
860
+ type: 'string_ref';
861
+ }
862
+
863
+ export interface CompilerStringTrimEndIR {
864
+ kind: 'string_trim_end';
865
+ value: CompilerExpressionIR;
866
+ type: 'string_ref';
867
+ }
868
+
869
+ export interface CompilerOwnedStringStartsWithIR {
870
+ kind: 'owned_string_starts_with';
871
+ value: CompilerExpressionIR;
872
+ search: CompilerExpressionIR;
873
+ type: 'i32';
874
+ }
875
+
876
+ export interface CompilerStringStartsWithIR {
877
+ kind: 'string_starts_with';
878
+ value: CompilerExpressionIR;
879
+ search: CompilerExpressionIR;
880
+ type: 'i32';
881
+ }
882
+
883
+ export interface CompilerOwnedStringEndsWithIR {
884
+ kind: 'owned_string_ends_with';
885
+ value: CompilerExpressionIR;
886
+ search: CompilerExpressionIR;
887
+ type: 'i32';
888
+ }
889
+
890
+ export interface CompilerStringEndsWithIR {
891
+ kind: 'string_ends_with';
892
+ value: CompilerExpressionIR;
893
+ search: CompilerExpressionIR;
894
+ type: 'i32';
895
+ }
896
+
897
+ export interface CompilerOwnedStringIncludesIR {
898
+ kind: 'owned_string_includes';
899
+ value: CompilerExpressionIR;
900
+ search: CompilerExpressionIR;
901
+ type: 'i32';
902
+ }
903
+
904
+ export interface CompilerStringIncludesIR {
905
+ kind: 'string_includes';
906
+ value: CompilerExpressionIR;
907
+ search: CompilerExpressionIR;
908
+ type: 'i32';
909
+ }
910
+
911
+ export interface CompilerOwnedStringIndexOfIR {
912
+ kind: 'owned_string_index_of';
913
+ value: CompilerExpressionIR;
914
+ search: CompilerExpressionIR;
915
+ type: 'f64';
916
+ }
917
+
918
+ export interface CompilerStringIndexOfIR {
919
+ kind: 'string_index_of';
920
+ value: CompilerExpressionIR;
921
+ search: CompilerExpressionIR;
922
+ type: 'f64';
923
+ }
924
+
925
+ export interface CompilerOwnedStringLastIndexOfIR {
926
+ kind: 'owned_string_last_index_of';
927
+ value: CompilerExpressionIR;
928
+ search: CompilerExpressionIR;
929
+ type: 'f64';
930
+ }
931
+
932
+ export interface CompilerStringLastIndexOfIR {
933
+ kind: 'string_last_index_of';
934
+ value: CompilerExpressionIR;
935
+ search: CompilerExpressionIR;
936
+ type: 'f64';
937
+ }
938
+
939
+ export interface CompilerStringSliceIR {
940
+ kind: 'string_slice';
941
+ value: CompilerExpressionIR;
942
+ start: CompilerExpressionIR;
943
+ end?: CompilerExpressionIR;
944
+ type: 'string_ref';
945
+ }
946
+
947
+ export interface CompilerStringSubstringIR {
948
+ kind: 'string_substring';
949
+ value: CompilerExpressionIR;
950
+ start: CompilerExpressionIR;
951
+ end?: CompilerExpressionIR;
952
+ type: 'string_ref';
953
+ }
954
+
955
+ export interface CompilerTagNumberIR {
956
+ kind: 'tag_number';
957
+ value: CompilerExpressionIR;
958
+ type: 'tagged_ref';
959
+ }
960
+
961
+ export interface CompilerTagBooleanIR {
962
+ kind: 'tag_boolean';
963
+ value: CompilerExpressionIR;
964
+ type: 'tagged_ref';
965
+ }
966
+
967
+ export interface CompilerTagStringIR {
968
+ kind: 'tag_string';
969
+ value: CompilerExpressionIR;
970
+ type: 'tagged_ref';
971
+ }
972
+
973
+ export interface CompilerTagHeapObjectIR {
974
+ kind: 'tag_heap_object';
975
+ value: CompilerExpressionIR;
976
+ type: 'tagged_ref';
977
+ }
978
+
979
+ export interface CompilerUntagNumberIR {
980
+ kind: 'untag_number';
981
+ value: CompilerExpressionIR;
982
+ type: 'f64';
983
+ }
984
+
985
+ export interface CompilerUntagBooleanIR {
986
+ kind: 'untag_boolean';
987
+ value: CompilerExpressionIR;
988
+ type: 'i32';
989
+ }
990
+
991
+ export interface CompilerUntagOwnedStringIR {
992
+ kind: 'untag_owned_string';
993
+ value: CompilerExpressionIR;
994
+ type: 'owned_string_ref';
995
+ }
996
+
997
+ export interface CompilerUntagHeapObjectIR {
998
+ kind: 'untag_heap_object';
999
+ value: CompilerExpressionIR;
1000
+ type:
1001
+ | 'heap_ref'
1002
+ | 'owned_heap_array_ref'
1003
+ | 'owned_array_ref'
1004
+ | 'owned_number_array_ref'
1005
+ | 'owned_boolean_array_ref'
1006
+ | 'owned_tagged_array_ref'
1007
+ | 'closure_ref'
1008
+ | 'class_constructor_ref'
1009
+ | 'box_ref';
1010
+ }
1011
+
1012
+ export interface CompilerTaggedIsUndefinedIR {
1013
+ kind: 'tagged_is_undefined';
1014
+ value: CompilerExpressionIR;
1015
+ negated: boolean;
1016
+ type: 'i32';
1017
+ }
1018
+
1019
+ export interface CompilerTaggedIsNullIR {
1020
+ kind: 'tagged_is_null';
1021
+ value: CompilerExpressionIR;
1022
+ negated: boolean;
1023
+ type: 'i32';
1024
+ }
1025
+
1026
+ export interface CompilerTaggedHasTagIR {
1027
+ kind: 'tagged_has_tag';
1028
+ value: CompilerExpressionIR;
1029
+ tag: number;
1030
+ negated: boolean;
1031
+ type: 'i32';
1032
+ }
1033
+
1034
+ export interface CompilerClassInstanceOfIR {
1035
+ kind: 'class_instanceof';
1036
+ value: CompilerExpressionIR;
1037
+ representationNames: string[];
1038
+ type: 'i32';
1039
+ }
1040
+
1041
+ export interface CompilerBuiltinErrorInstanceOfIR {
1042
+ kind: 'builtin_error_instanceof';
1043
+ value: CompilerExpressionIR;
1044
+ constructorName: string;
1045
+ type: 'i32';
1046
+ }
1047
+
1048
+ export interface CompilerBinaryExpressionIR {
1049
+ kind: 'binary';
1050
+ op: CompilerBinaryOp;
1051
+ left: CompilerExpressionIR;
1052
+ right: CompilerExpressionIR;
1053
+ type: CompilerValueType;
1054
+ }
1055
+
1056
+ export interface CompilerCallExpressionIR {
1057
+ kind: 'call';
1058
+ callee: string;
1059
+ args: CompilerExpressionIR[];
1060
+ type: CompilerValueType;
1061
+ }
1062
+
1063
+ export interface CompilerBoxNewIR {
1064
+ kind: 'box_new';
1065
+ value: CompilerExpressionIR;
1066
+ valueType: CompilerValueType;
1067
+ type: 'box_ref';
1068
+ }
1069
+
1070
+ export interface CompilerBoxGetIR {
1071
+ kind: 'box_get';
1072
+ box: CompilerExpressionIR;
1073
+ valueType: CompilerValueType;
1074
+ type: CompilerValueType;
1075
+ }
1076
+
1077
+ export interface CompilerClosureLiteralIR {
1078
+ kind: 'closure_literal';
1079
+ functionId: number;
1080
+ signatureId: number;
1081
+ captures: CompilerExpressionIR[];
1082
+ captureValueTypes: CompilerValueType[];
1083
+ type: 'closure_ref';
1084
+ }
1085
+
1086
+ export interface CompilerClosureNullIR {
1087
+ kind: 'closure_null';
1088
+ type: 'closure_ref';
1089
+ }
1090
+
1091
+ export interface CompilerHeapNullIR {
1092
+ kind: 'heap_null';
1093
+ type: 'heap_ref';
1094
+ }
1095
+
1096
+ export interface CompilerClosureCallExpressionIR {
1097
+ kind: 'closure_call';
1098
+ callee: CompilerExpressionIR;
1099
+ args: CompilerExpressionIR[];
1100
+ signatureId: number;
1101
+ type: CompilerValueType;
1102
+ }
1103
+
1104
+ export type CompilerExpressionIR =
1105
+ | CompilerNumberLiteralIR
1106
+ | CompilerBooleanLiteralIR
1107
+ | CompilerUndefinedLiteralIR
1108
+ | CompilerNullLiteralIR
1109
+ | CompilerHeapPlaceholderIR
1110
+ | CompilerStringLiteralIR
1111
+ | CompilerOwnedStringLiteralIR
1112
+ | CompilerStringLengthIR
1113
+ | CompilerOwnedStringLengthIR
1114
+ | CompilerOwnedStringConcatIR
1115
+ | CompilerStringCharAtIR
1116
+ | CompilerOwnedStringCharAtIR
1117
+ | CompilerOwnedStringSubstringIR
1118
+ | CompilerOwnedStringSliceIR
1119
+ | CompilerStringCharCodeAtIR
1120
+ | CompilerOwnedStringCharCodeAtIR
1121
+ | CompilerStringCodePointAtIR
1122
+ | CompilerOwnedStringCodePointAtIR
1123
+ | CompilerStringToUpperCaseIR
1124
+ | CompilerOwnedStringToUpperCaseIR
1125
+ | CompilerStringToLowerCaseIR
1126
+ | CompilerOwnedStringToLowerCaseIR
1127
+ | CompilerStringTrimIR
1128
+ | CompilerOwnedStringTrimIR
1129
+ | CompilerOwnedStringTrimStartIR
1130
+ | CompilerOwnedStringTrimEndIR
1131
+ | CompilerStringToOwnedIR
1132
+ | CompilerOwnedStringToHostIR
1133
+ | CompilerOwnedStringArrayLiteralIR
1134
+ | CompilerOwnedHeapArrayLiteralIR
1135
+ | CompilerOwnedNumberArrayLiteralIR
1136
+ | CompilerOwnedBooleanArrayLiteralIR
1137
+ | CompilerOwnedTaggedArrayLiteralIR
1138
+ | CompilerOwnedArrayLengthIR
1139
+ | CompilerStringTrimStartIR
1140
+ | CompilerStringTrimEndIR
1141
+ | CompilerOwnedStringStartsWithIR
1142
+ | CompilerStringStartsWithIR
1143
+ | CompilerOwnedStringEndsWithIR
1144
+ | CompilerStringEndsWithIR
1145
+ | CompilerOwnedStringIncludesIR
1146
+ | CompilerStringIncludesIR
1147
+ | CompilerOwnedStringIndexOfIR
1148
+ | CompilerStringIndexOfIR
1149
+ | CompilerOwnedStringLastIndexOfIR
1150
+ | CompilerStringLastIndexOfIR
1151
+ | CompilerStringSliceIR
1152
+ | CompilerStringSubstringIR
1153
+ | CompilerOwnedStringArrayElementIR
1154
+ | CompilerOwnedHeapArrayElementIR
1155
+ | CompilerOwnedNumberArrayElementIR
1156
+ | CompilerOwnedBooleanArrayElementIR
1157
+ | CompilerOwnedTaggedArrayElementIR
1158
+ | CompilerOwnedStringArrayPushIR
1159
+ | CompilerOwnedHeapArrayPushIR
1160
+ | CompilerOwnedNumberArrayPushIR
1161
+ | CompilerOwnedBooleanArrayPushIR
1162
+ | CompilerOwnedTaggedArrayPushIR
1163
+ | CompilerOwnedHeapArrayUnshiftIR
1164
+ | CompilerOwnedStringArrayUnshiftIR
1165
+ | CompilerOwnedNumberArrayUnshiftIR
1166
+ | CompilerOwnedBooleanArrayUnshiftIR
1167
+ | CompilerOwnedTaggedArrayUnshiftIR
1168
+ | CompilerOwnedHeapArrayPopIR
1169
+ | CompilerOwnedStringArrayPopIR
1170
+ | CompilerOwnedNumberArrayPopIR
1171
+ | CompilerOwnedBooleanArrayPopIR
1172
+ | CompilerOwnedTaggedArrayPopIR
1173
+ | CompilerOwnedHeapArrayShiftIR
1174
+ | CompilerOwnedStringArrayShiftIR
1175
+ | CompilerOwnedNumberArrayShiftIR
1176
+ | CompilerOwnedBooleanArrayShiftIR
1177
+ | CompilerOwnedTaggedArrayShiftIR
1178
+ | CompilerOwnedHeapArrayAtIR
1179
+ | CompilerOwnedStringArrayAtIR
1180
+ | CompilerOwnedNumberArrayAtIR
1181
+ | CompilerOwnedBooleanArrayAtIR
1182
+ | CompilerOwnedTaggedArrayAtIR
1183
+ | CompilerOwnedStringArrayJoinIR
1184
+ | CompilerOwnedNumberArrayJoinIR
1185
+ | CompilerOwnedBooleanArrayJoinIR
1186
+ | CompilerOwnedHeapArraySliceIR
1187
+ | CompilerOwnedStringArraySliceIR
1188
+ | CompilerOwnedNumberArraySliceIR
1189
+ | CompilerOwnedBooleanArraySliceIR
1190
+ | CompilerOwnedTaggedArraySliceIR
1191
+ | CompilerOwnedStringArraySpliceIR
1192
+ | CompilerOwnedNumberArraySpliceIR
1193
+ | CompilerOwnedBooleanArraySpliceIR
1194
+ | CompilerOwnedHeapArraySpliceIR
1195
+ | CompilerOwnedStringArrayIncludesIR
1196
+ | CompilerOwnedNumberArrayIncludesIR
1197
+ | CompilerOwnedBooleanArrayIncludesIR
1198
+ | CompilerOwnedTaggedArrayIncludesIR
1199
+ | CompilerOwnedHeapArrayIncludesIR
1200
+ | CompilerOwnedHeapArrayIndexOfIR
1201
+ | CompilerOwnedStringArrayIndexOfIR
1202
+ | CompilerOwnedNumberArrayIndexOfIR
1203
+ | CompilerOwnedBooleanArrayIndexOfIR
1204
+ | CompilerOwnedTaggedArrayIndexOfIR
1205
+ | CompilerOwnedStringArrayLastIndexOfIR
1206
+ | CompilerOwnedNumberArrayLastIndexOfIR
1207
+ | CompilerOwnedBooleanArrayLastIndexOfIR
1208
+ | CompilerOwnedTaggedArrayLastIndexOfIR
1209
+ | CompilerOwnedHeapArrayLastIndexOfIR
1210
+ | CompilerOwnedHeapArrayConcatIR
1211
+ | CompilerOwnedHeapArrayReverseIR
1212
+ | CompilerOwnedStringArrayConcatIR
1213
+ | CompilerOwnedNumberArrayConcatIR
1214
+ | CompilerOwnedBooleanArrayConcatIR
1215
+ | CompilerOwnedTaggedArrayConcatIR
1216
+ | CompilerOwnedStringArrayReverseIR
1217
+ | CompilerOwnedNumberArrayReverseIR
1218
+ | CompilerOwnedBooleanArrayReverseIR
1219
+ | CompilerOwnedTaggedArrayReverseIR
1220
+ | CompilerOwnedStringArrayCopyWithinIR
1221
+ | CompilerOwnedNumberArrayCopyWithinIR
1222
+ | CompilerOwnedBooleanArrayCopyWithinIR
1223
+ | CompilerOwnedTaggedArrayCopyWithinIR
1224
+ | CompilerOwnedHeapArrayCopyWithinIR
1225
+ | CompilerOwnedStringArrayFillIR
1226
+ | CompilerOwnedNumberArrayFillIR
1227
+ | CompilerOwnedBooleanArrayFillIR
1228
+ | CompilerOwnedTaggedArrayFillIR
1229
+ | CompilerOwnedHeapArrayFillIR
1230
+ | CompilerTagNumberIR
1231
+ | CompilerTagBooleanIR
1232
+ | CompilerTagStringIR
1233
+ | CompilerTagHeapObjectIR
1234
+ | CompilerUntagNumberIR
1235
+ | CompilerUntagBooleanIR
1236
+ | CompilerUntagOwnedStringIR
1237
+ | CompilerUntagHeapObjectIR
1238
+ | CompilerTaggedIsUndefinedIR
1239
+ | CompilerTaggedIsNullIR
1240
+ | CompilerTaggedHasTagIR
1241
+ | CompilerClassInstanceOfIR
1242
+ | CompilerBuiltinErrorInstanceOfIR
1243
+ | CompilerLocalGetIR
1244
+ | CompilerClassStaticFieldGetIR
1245
+ | CompilerBinaryExpressionIR
1246
+ | CompilerCallExpressionIR
1247
+ | CompilerBoxNewIR
1248
+ | CompilerBoxGetIR
1249
+ | CompilerClosureNullIR
1250
+ | CompilerHeapNullIR
1251
+ | CompilerClosureLiteralIR
1252
+ | CompilerClosureCallExpressionIR;
1253
+
1254
+ export interface CompilerLocalSetStatementIR {
1255
+ kind: 'local_set';
1256
+ name: string;
1257
+ value: CompilerExpressionIR;
1258
+ }
1259
+
1260
+ export interface CompilerReturnStatementIR {
1261
+ kind: 'return';
1262
+ value: CompilerExpressionIR;
1263
+ }
1264
+
1265
+ export interface CompilerExpressionStatementIR {
1266
+ kind: 'expression';
1267
+ value: CompilerExpressionIR;
1268
+ }
1269
+
1270
+ export interface CompilerOwnedStringArraySetStatementIR {
1271
+ kind: 'owned_string_array_set';
1272
+ array: CompilerExpressionIR;
1273
+ index: CompilerExpressionIR;
1274
+ value: CompilerExpressionIR;
1275
+ }
1276
+
1277
+ export interface CompilerOwnedHeapArraySetStatementIR {
1278
+ kind: 'owned_heap_array_set';
1279
+ array: CompilerExpressionIR;
1280
+ index: CompilerExpressionIR;
1281
+ value: CompilerExpressionIR;
1282
+ }
1283
+
1284
+ export interface CompilerOwnedNumberArraySetStatementIR {
1285
+ kind: 'owned_number_array_set';
1286
+ array: CompilerExpressionIR;
1287
+ index: CompilerExpressionIR;
1288
+ value: CompilerExpressionIR;
1289
+ }
1290
+
1291
+ export interface CompilerOwnedBooleanArraySetStatementIR {
1292
+ kind: 'owned_boolean_array_set';
1293
+ array: CompilerExpressionIR;
1294
+ index: CompilerExpressionIR;
1295
+ value: CompilerExpressionIR;
1296
+ }
1297
+
1298
+ export interface CompilerOwnedTaggedArraySetStatementIR {
1299
+ kind: 'owned_tagged_array_set';
1300
+ array: CompilerExpressionIR;
1301
+ index: CompilerExpressionIR;
1302
+ value: CompilerExpressionIR;
1303
+ }
1304
+
1305
+ export interface CompilerSpecializedObjectFieldSetStatementIR {
1306
+ kind: 'specialized_object_field_set';
1307
+ objectName: string;
1308
+ representation: CompilerRuntimeSpecializedObjectRepresentationRefIR;
1309
+ fieldIndex: number;
1310
+ value: CompilerExpressionIR;
1311
+ }
1312
+
1313
+ export interface CompilerBoxSetStatementIR {
1314
+ kind: 'box_set';
1315
+ box: CompilerExpressionIR;
1316
+ value: CompilerExpressionIR;
1317
+ valueType: CompilerValueType;
1318
+ }
1319
+
1320
+ export interface CompilerDynamicObjectPropertySetStatementIR {
1321
+ kind: 'dynamic_object_property_set';
1322
+ objectName: string;
1323
+ propertyKeyName: string;
1324
+ value: CompilerExpressionIR;
1325
+ }
1326
+
1327
+ export interface CompilerIfStatementIR {
1328
+ kind: 'if';
1329
+ condition: CompilerExpressionIR;
1330
+ thenBody: CompilerStatementIR[];
1331
+ elseBody: CompilerStatementIR[];
1332
+ }
1333
+
1334
+ export interface CompilerWhileStatementIR {
1335
+ kind: 'while';
1336
+ condition: CompilerExpressionIR;
1337
+ body: CompilerStatementIR[];
1338
+ }
1339
+
1340
+ export type CompilerStatementIR =
1341
+ | CompilerLocalSetStatementIR
1342
+ | CompilerReturnStatementIR
1343
+ | CompilerExpressionStatementIR
1344
+ | CompilerOwnedStringArraySetStatementIR
1345
+ | CompilerOwnedHeapArraySetStatementIR
1346
+ | CompilerOwnedNumberArraySetStatementIR
1347
+ | CompilerOwnedBooleanArraySetStatementIR
1348
+ | CompilerOwnedTaggedArraySetStatementIR
1349
+ | CompilerSpecializedObjectFieldSetStatementIR
1350
+ | CompilerBoxSetStatementIR
1351
+ | CompilerDynamicObjectPropertySetStatementIR
1352
+ | CompilerIfStatementIR
1353
+ | CompilerWhileStatementIR;
1354
+
1355
+ export interface CompilerTaggedPrimitiveBoundaryKindsIR {
1356
+ includesBoolean?: boolean;
1357
+ includesNull?: boolean;
1358
+ includesNumber?: boolean;
1359
+ includesString?: boolean;
1360
+ includesUndefined?: boolean;
1361
+ }
1362
+
1363
+ export interface CompilerFunctionHostTaggedPrimitiveParamIR
1364
+ extends CompilerTaggedPrimitiveBoundaryKindsIR {
1365
+ name: string;
1366
+ }
1367
+
1368
+ export interface CompilerFunctionHostTaggedArrayBoundaryIR
1369
+ extends CompilerTaggedPrimitiveBoundaryKindsIR {
1370
+ representation?: CompilerRuntimeRepresentationRefIR<'object'>;
1371
+ }
1372
+
1373
+ export interface CompilerFunctionHostClosureParamIR {
1374
+ name: string;
1375
+ signatureId: number;
1376
+ }
1377
+
1378
+ export interface CompilerFunctionHostClassConstructorParamIR {
1379
+ name: string;
1380
+ classTagId: number;
1381
+ }
1382
+
1383
+ export interface CompilerFunctionHostFallbackClosurePropertyIR {
1384
+ name: string;
1385
+ signatureId: number;
1386
+ methodClosureFunctionIds?: readonly number[];
1387
+ }
1388
+
1389
+ export interface CompilerFunctionHostFallbackClassConstructorPropertyIR {
1390
+ name: string;
1391
+ classTagId: number;
1392
+ }
1393
+
1394
+ export interface CompilerFunctionHostFallbackArrayPropertyIR {
1395
+ name: string;
1396
+ valueType: 'owned_array_ref' | 'owned_number_array_ref' | 'owned_boolean_array_ref';
1397
+ }
1398
+
1399
+ export interface CompilerFunctionHostFallbackHeapArrayPropertyIR {
1400
+ name: string;
1401
+ representation: CompilerRuntimeRepresentationRefIR<'object'>;
1402
+ }
1403
+
1404
+ export interface CompilerFunctionHostFallbackTaggedArrayPropertyIR
1405
+ extends CompilerFunctionHostTaggedArrayBoundaryIR {
1406
+ name: string;
1407
+ }
1408
+
1409
+ export interface CompilerFunctionHostTaggedArrayParamIR
1410
+ extends CompilerFunctionHostTaggedArrayBoundaryIR {
1411
+ name: string;
1412
+ }
1413
+
1414
+ export interface CompilerFunctionHostTaggedHeapNullableBoundaryIR {
1415
+ includesNull: boolean;
1416
+ includesUndefined: boolean;
1417
+ representation: CompilerRuntimeRepresentationRefIR<'object'>;
1418
+ }
1419
+
1420
+ export interface CompilerFunctionHostTaggedHeapNullableParamIR
1421
+ extends CompilerFunctionHostTaggedHeapNullableBoundaryIR {
1422
+ name: string;
1423
+ }
1424
+
1425
+ export interface CompilerFunctionHostFallbackHeapPropertyIR {
1426
+ name: string;
1427
+ representation: CompilerRuntimeRepresentationRefIR<'object'>;
1428
+ }
1429
+
1430
+ export interface CompilerFunctionHostFallbackTaggedHeapPropertyIR
1431
+ extends CompilerTaggedPrimitiveBoundaryKindsIR {
1432
+ name: string;
1433
+ representation: CompilerRuntimeRepresentationRefIR<'object'>;
1434
+ }
1435
+
1436
+ export interface CompilerFunctionIR {
1437
+ exportName: string;
1438
+ closureCaptureCount?: number;
1439
+ closureFunctionId?: number;
1440
+ closureSignatureId?: number;
1441
+ closureCaptureValueTypes?: readonly CompilerValueType[];
1442
+ hostImport?: {
1443
+ module: string;
1444
+ name: string;
1445
+ promiseResult?: boolean;
1446
+ };
1447
+ hostClassConstructorParams?: readonly CompilerFunctionHostClassConstructorParamIR[];
1448
+ hostClassConstructorResultTagId?: number;
1449
+ heapLocalRepresentations?: CompilerFunctionHeapBoundaryIR[];
1450
+ heapParamRepresentations?: CompilerFunctionHeapBoundaryIR[];
1451
+ heapResultRepresentation?: CompilerRuntimeRepresentationRefIR<'object'>;
1452
+ hostClosureParams?: readonly CompilerFunctionHostClosureParamIR[];
1453
+ hostExportParamOrder?: readonly string[];
1454
+ hostClosureResultSignatureId?: number;
1455
+ hostDynamicCollectionParams?: readonly CompilerFunctionHostDynamicCollectionParamIR[];
1456
+ hostPromiseParams?: readonly string[];
1457
+ hostPromiseResult?: boolean;
1458
+ hostFallbackClosureProperties?: readonly CompilerFunctionHostFallbackClosurePropertyIR[];
1459
+ hostFallbackClassConstructorProperties?:
1460
+ readonly CompilerFunctionHostFallbackClassConstructorPropertyIR[];
1461
+ hostFallbackArrayProperties?: readonly CompilerFunctionHostFallbackArrayPropertyIR[];
1462
+ hostFallbackHeapArrayProperties?: readonly CompilerFunctionHostFallbackHeapArrayPropertyIR[];
1463
+ hostFallbackTaggedArrayProperties?: readonly CompilerFunctionHostFallbackTaggedArrayPropertyIR[];
1464
+ hostFallbackHeapProperties?: readonly CompilerFunctionHostFallbackHeapPropertyIR[];
1465
+ hostFallbackTaggedHeapProperties?: readonly CompilerFunctionHostFallbackTaggedHeapPropertyIR[];
1466
+ hostImportPromiseParams?: readonly string[];
1467
+ hostHeapArrayParams?: readonly CompilerFunctionHeapBoundaryIR[];
1468
+ hostHeapArrayResultRepresentation?: CompilerRuntimeRepresentationRefIR<'object'>;
1469
+ hostLengthViewParams?: readonly string[];
1470
+ hostLengthViewResult?: boolean;
1471
+ hostTaggedArrayParams?: readonly CompilerFunctionHostTaggedArrayParamIR[];
1472
+ hostTaggedArrayResultKinds?: CompilerFunctionHostTaggedArrayBoundaryIR;
1473
+ hostTaggedHeapNullableParams?: readonly CompilerFunctionHostTaggedHeapNullableParamIR[];
1474
+ hostTaggedHeapNullableResult?: CompilerFunctionHostTaggedHeapNullableBoundaryIR;
1475
+ hostTaggedPrimitiveParams?: readonly CompilerFunctionHostTaggedPrimitiveParamIR[];
1476
+ hostTaggedPrimitiveResultKinds?: CompilerTaggedPrimitiveBoundaryKindsIR;
1477
+ locals: CompilerLocalIR[];
1478
+ name: string;
1479
+ params: CompilerLocalIR[];
1480
+ resultType: CompilerValueType;
1481
+ body: CompilerStatementIR[];
1482
+ }
1483
+
1484
+ export interface CompilerFunctionHeapBoundaryIR {
1485
+ name: string;
1486
+ representation: CompilerRuntimeRepresentationRefIR<'object'>;
1487
+ }
1488
+
1489
+ export interface CompilerFunctionHostDynamicCollectionParamIR {
1490
+ name: string;
1491
+ collectionKind: 'map' | 'set';
1492
+ valueKind: 'number' | 'boolean' | 'string';
1493
+ }
1494
+
1495
+ export interface CompilerModuleIR {
1496
+ closureSignatures?: readonly CompilerClosureSignatureIR[];
1497
+ functions: CompilerFunctionIR[];
1498
+ jsHostImports?: readonly CompilerJsHostImportIR[];
1499
+ stringLiterals?: readonly string[];
1500
+ stringLiteralCodeUnits?: readonly (readonly number[])[];
1501
+ runtime?: CompilerRuntimeIR;
1502
+ }
1503
+
1504
+ export interface CompilerJsHostImportIR {
1505
+ hostImportName: string;
1506
+ importKind: 'default' | 'named';
1507
+ importerModulePath: string;
1508
+ moduleSpecifier: string;
1509
+ exportName?: string;
1510
+ }
1511
+
1512
+ export interface CompilerClosureSignatureIR {
1513
+ id: number;
1514
+ params: readonly CompilerValueType[];
1515
+ sourceParamClassConstructorTagIds?: readonly (number | undefined)[];
1516
+ paramClosureSignatureIds?: readonly (number | undefined)[];
1517
+ paramTaggedPrimitiveKinds?: readonly (CompilerTaggedPrimitiveBoundaryKindsIR | undefined)[];
1518
+ paramHeapRepresentations?: readonly (CompilerRuntimeRepresentationRefIR<'object'> | undefined)[];
1519
+ paramHeapArrayRepresentations?: readonly (CompilerRuntimeRepresentationRefIR<'object'> | undefined)[];
1520
+ resultType: CompilerValueType;
1521
+ resultClassConstructorTagId?: number;
1522
+ resultClosureSignatureId?: number;
1523
+ resultTaggedPrimitiveKinds?: CompilerTaggedPrimitiveBoundaryKindsIR;
1524
+ resultHeapRepresentation?: CompilerRuntimeRepresentationRefIR<'object'>;
1525
+ resultHeapArrayRepresentation?: CompilerRuntimeRepresentationRefIR<'object'>;
1526
+ }