@soundscript/soundscript 0.1.13 → 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.
- package/package.json +15 -6
- package/project-transform/index.js +2 -0
- package/project-transform/index.ts +8 -0
- package/project-transform/src/annotation_syntax.js +948 -0
- package/project-transform/src/annotation_syntax.ts +1217 -0
- package/project-transform/src/build_package.js +475 -0
- package/project-transform/src/build_package.ts +683 -0
- package/project-transform/src/bundled/portable-web-globals.d.ts +153 -0
- package/project-transform/src/bundled/runtime_externs.js +220 -0
- package/project-transform/src/bundled/runtime_externs.ts +237 -0
- package/project-transform/src/bundled/sound-libs/lib.decorators.d.ts +385 -0
- package/project-transform/src/bundled/sound-libs/lib.decorators.legacy.d.ts +22 -0
- package/project-transform/src/bundled/sound-libs/lib.dom.asynciterable.d.ts +42 -0
- package/project-transform/src/bundled/sound-libs/lib.dom.d.ts +39440 -0
- package/project-transform/src/bundled/sound-libs/lib.es2015.collection.d.ts +149 -0
- package/project-transform/src/bundled/sound-libs/lib.es2015.core.d.ts +657 -0
- package/project-transform/src/bundled/sound-libs/lib.es2015.d.ts +28 -0
- package/project-transform/src/bundled/sound-libs/lib.es2015.generator.d.ts +77 -0
- package/project-transform/src/bundled/sound-libs/lib.es2015.iterable.d.ts +616 -0
- package/project-transform/src/bundled/sound-libs/lib.es2015.promise.d.ts +80 -0
- package/project-transform/src/bundled/sound-libs/lib.es2015.proxy.d.ts +128 -0
- package/project-transform/src/bundled/sound-libs/lib.es2015.reflect.d.ts +144 -0
- package/project-transform/src/bundled/sound-libs/lib.es2015.symbol.d.ts +46 -0
- package/project-transform/src/bundled/sound-libs/lib.es2015.symbol.wellknown.d.ts +170 -0
- package/project-transform/src/bundled/sound-libs/lib.es2016.array.include.d.ts +116 -0
- package/project-transform/src/bundled/sound-libs/lib.es2016.d.ts +21 -0
- package/project-transform/src/bundled/sound-libs/lib.es2017.arraybuffer.d.ts +21 -0
- package/project-transform/src/bundled/sound-libs/lib.es2017.d.ts +26 -0
- package/project-transform/src/bundled/sound-libs/lib.es2017.date.d.ts +31 -0
- package/project-transform/src/bundled/sound-libs/lib.es2017.object.d.ts +49 -0
- package/project-transform/src/bundled/sound-libs/lib.es2017.string.d.ts +45 -0
- package/project-transform/src/bundled/sound-libs/lib.es2017.typedarrays.d.ts +53 -0
- package/project-transform/src/bundled/sound-libs/lib.es2018.asyncgenerator.d.ts +77 -0
- package/project-transform/src/bundled/sound-libs/lib.es2018.asynciterable.d.ts +57 -0
- package/project-transform/src/bundled/sound-libs/lib.es2018.d.ts +24 -0
- package/project-transform/src/bundled/sound-libs/lib.es2018.promise.d.ts +30 -0
- package/project-transform/src/bundled/sound-libs/lib.es2018.regexp.d.ts +37 -0
- package/project-transform/src/bundled/sound-libs/lib.es2019.array.d.ts +79 -0
- package/project-transform/src/bundled/sound-libs/lib.es2019.d.ts +24 -0
- package/project-transform/src/bundled/sound-libs/lib.es2019.object.d.ts +47 -0
- package/project-transform/src/bundled/sound-libs/lib.es2019.string.d.ts +37 -0
- package/project-transform/src/bundled/sound-libs/lib.es2019.symbol.d.ts +24 -0
- package/project-transform/src/bundled/sound-libs/lib.es2020.bigint.d.ts +765 -0
- package/project-transform/src/bundled/sound-libs/lib.es2020.d.ts +27 -0
- package/project-transform/src/bundled/sound-libs/lib.es2020.date.d.ts +42 -0
- package/project-transform/src/bundled/sound-libs/lib.es2020.number.d.ts +28 -0
- package/project-transform/src/bundled/sound-libs/lib.es2020.promise.d.ts +49 -0
- package/project-transform/src/bundled/sound-libs/lib.es2020.string.d.ts +44 -0
- package/project-transform/src/bundled/sound-libs/lib.es2020.symbol.wellknown.d.ts +41 -0
- package/project-transform/src/bundled/sound-libs/lib.es2021.d.ts +23 -0
- package/project-transform/src/bundled/sound-libs/lib.es2021.promise.d.ts +48 -0
- package/project-transform/src/bundled/sound-libs/lib.es2021.string.d.ts +33 -0
- package/project-transform/src/bundled/sound-libs/lib.es2021.weakref.d.ts +78 -0
- package/project-transform/src/bundled/sound-libs/lib.es2022.array.d.ts +121 -0
- package/project-transform/src/bundled/sound-libs/lib.es2022.d.ts +25 -0
- package/project-transform/src/bundled/sound-libs/lib.es2022.error.d.ts +75 -0
- package/project-transform/src/bundled/sound-libs/lib.es2022.object.d.ts +26 -0
- package/project-transform/src/bundled/sound-libs/lib.es2022.regexp.d.ts +39 -0
- package/project-transform/src/bundled/sound-libs/lib.es2022.string.d.ts +25 -0
- package/project-transform/src/bundled/sound-libs/lib.es2023.array.d.ts +924 -0
- package/project-transform/src/bundled/sound-libs/lib.es2023.collection.d.ts +21 -0
- package/project-transform/src/bundled/sound-libs/lib.es2023.d.ts +22 -0
- package/project-transform/src/bundled/sound-libs/lib.es2024.arraybuffer.d.ts +65 -0
- package/project-transform/src/bundled/sound-libs/lib.es2024.collection.d.ts +29 -0
- package/project-transform/src/bundled/sound-libs/lib.es2024.d.ts +26 -0
- package/project-transform/src/bundled/sound-libs/lib.es2024.object.d.ts +33 -0
- package/project-transform/src/bundled/sound-libs/lib.es2024.promise.d.ts +35 -0
- package/project-transform/src/bundled/sound-libs/lib.es2024.regexp.d.ts +25 -0
- package/project-transform/src/bundled/sound-libs/lib.es2024.string.d.ts +29 -0
- package/project-transform/src/bundled/sound-libs/lib.es5.d.ts +4924 -0
- package/project-transform/src/bundled/sound_stdlib.js +142 -0
- package/project-transform/src/bundled/sound_stdlib.ts +180 -0
- package/project-transform/src/checker/analyze_project.js +1361 -0
- package/project-transform/src/checker/analyze_project.ts +2246 -0
- package/project-transform/src/checker/diagnostics.js +112 -0
- package/project-transform/src/checker/diagnostics.ts +222 -0
- package/project-transform/src/checker/engine/context.js +235 -0
- package/project-transform/src/checker/engine/context.ts +340 -0
- package/project-transform/src/checker/engine/diagnostic_codes.js +72 -0
- package/project-transform/src/checker/engine/diagnostic_codes.ts +95 -0
- package/project-transform/src/checker/engine/facts.js +35 -0
- package/project-transform/src/checker/engine/facts.ts +48 -0
- package/project-transform/src/checker/engine/types.js +1 -0
- package/project-transform/src/checker/engine/types.ts +485 -0
- package/project-transform/src/checker/proof_escape_hatch_diagnostics.js +104 -0
- package/project-transform/src/checker/proof_escape_hatch_diagnostics.ts +173 -0
- package/project-transform/src/checker/rules/async_surface.js +231 -0
- package/project-transform/src/checker/rules/async_surface.ts +335 -0
- package/project-transform/src/checker/rules/class_lifecycle.js +798 -0
- package/project-transform/src/checker/rules/class_lifecycle.ts +1276 -0
- package/project-transform/src/checker/rules/directive_validation.js +571 -0
- package/project-transform/src/checker/rules/directive_validation.ts +938 -0
- package/project-transform/src/checker/rules/directives.js +23 -0
- package/project-transform/src/checker/rules/directives.ts +25 -0
- package/project-transform/src/checker/rules/flow.js +202 -0
- package/project-transform/src/checker/rules/flow.ts +333 -0
- package/project-transform/src/checker/rules/flow_facts.js +601 -0
- package/project-transform/src/checker/rules/flow_facts.ts +978 -0
- package/project-transform/src/checker/rules/flow_invalidation.js +1119 -0
- package/project-transform/src/checker/rules/flow_invalidation.ts +2150 -0
- package/project-transform/src/checker/rules/flow_shared.js +2822 -0
- package/project-transform/src/checker/rules/flow_shared.ts +4383 -0
- package/project-transform/src/checker/rules/foreign_boundary.js +120 -0
- package/project-transform/src/checker/rules/foreign_boundary.ts +196 -0
- package/project-transform/src/checker/rules/foreign_projection.js +279 -0
- package/project-transform/src/checker/rules/foreign_projection.ts +425 -0
- package/project-transform/src/checker/rules/generated_helpers.js +13 -0
- package/project-transform/src/checker/rules/generated_helpers.ts +18 -0
- package/project-transform/src/checker/rules/index.js +35 -0
- package/project-transform/src/checker/rules/index.ts +49 -0
- package/project-transform/src/checker/rules/namespace_object.js +845 -0
- package/project-transform/src/checker/rules/namespace_object.ts +1224 -0
- package/project-transform/src/checker/rules/non_ordinary_recovery.js +1328 -0
- package/project-transform/src/checker/rules/non_ordinary_recovery.ts +2391 -0
- package/project-transform/src/checker/rules/null_prototype.js +3 -0
- package/project-transform/src/checker/rules/null_prototype.ts +6 -0
- package/project-transform/src/checker/rules/overloads.js +181 -0
- package/project-transform/src/checker/rules/overloads.ts +317 -0
- package/project-transform/src/checker/rules/predicate_verification.js +691 -0
- package/project-transform/src/checker/rules/predicate_verification.ts +1088 -0
- package/project-transform/src/checker/rules/prototype_hardening.js +237 -0
- package/project-transform/src/checker/rules/prototype_hardening.ts +343 -0
- package/project-transform/src/checker/rules/receiver_discipline.js +263 -0
- package/project-transform/src/checker/rules/receiver_discipline.ts +356 -0
- package/project-transform/src/checker/rules/relations.js +6861 -0
- package/project-transform/src/checker/rules/relations.ts +12158 -0
- package/project-transform/src/checker/rules/resolved_builtins.js +274 -0
- package/project-transform/src/checker/rules/resolved_builtins.ts +438 -0
- package/project-transform/src/checker/rules/trust.js +217 -0
- package/project-transform/src/checker/rules/trust.ts +301 -0
- package/project-transform/src/checker/rules/type_guards.js +173 -0
- package/project-transform/src/checker/rules/type_guards.ts +257 -0
- package/project-transform/src/checker/rules/universal.js +17 -0
- package/project-transform/src/checker/rules/universal.ts +22 -0
- package/project-transform/src/checker/rules/unsafe_value_origin.js +80 -0
- package/project-transform/src/checker/rules/unsafe_value_origin.ts +125 -0
- package/project-transform/src/checker/rules/unsound_imports.js +218 -0
- package/project-transform/src/checker/rules/unsound_imports.ts +301 -0
- package/project-transform/src/checker/rules/unsound_syntax.js +1695 -0
- package/project-transform/src/checker/rules/unsound_syntax.ts +2540 -0
- package/project-transform/src/checker/rules/value_types.js +206 -0
- package/project-transform/src/checker/rules/value_types.ts +407 -0
- package/project-transform/src/checker/timing.js +43 -0
- package/project-transform/src/checker/timing.ts +78 -0
- package/project-transform/src/checker/unsupported_feature_messages.js +337 -0
- package/project-transform/src/checker/unsupported_feature_messages.ts +531 -0
- package/project-transform/src/cli.js +892 -0
- package/project-transform/src/cli.ts +1476 -0
- package/project-transform/src/compiler/compile_project.js +319 -0
- package/project-transform/src/compiler/compile_project.ts +508 -0
- package/project-transform/src/compiler/errors.js +10 -0
- package/project-transform/src/compiler/errors.ts +29 -0
- package/project-transform/src/compiler/ir.js +1 -0
- package/project-transform/src/compiler/ir.ts +1526 -0
- package/project-transform/src/compiler/lower.js +30550 -0
- package/project-transform/src/compiler/lower.ts +43645 -0
- package/project-transform/src/compiler/lower_arrays.js +140 -0
- package/project-transform/src/compiler/lower_arrays.ts +190 -0
- package/project-transform/src/compiler/lower_strings.js +121 -0
- package/project-transform/src/compiler/lower_strings.ts +198 -0
- package/project-transform/src/compiler/lower_tagged.js +329 -0
- package/project-transform/src/compiler/lower_tagged.ts +427 -0
- package/project-transform/src/compiler/lower_views.js +171 -0
- package/project-transform/src/compiler/lower_views.ts +251 -0
- package/project-transform/src/compiler/object_keys.js +25 -0
- package/project-transform/src/compiler/object_keys.ts +35 -0
- package/project-transform/src/compiler/runtime_ir.js +30 -0
- package/project-transform/src/compiler/runtime_ir.ts +727 -0
- package/project-transform/src/compiler/tagged_boundary.js +18 -0
- package/project-transform/src/compiler/tagged_boundary.ts +37 -0
- package/project-transform/src/compiler/toolchain.js +170 -0
- package/project-transform/src/compiler/toolchain.ts +229 -0
- package/project-transform/src/compiler/unicode_case_data.js +2102 -0
- package/project-transform/src/compiler/unicode_case_data.ts +2112 -0
- package/project-transform/src/compiler/wasm_js_host_runtime.js +656 -0
- package/project-transform/src/compiler/wasm_js_host_runtime.ts +762 -0
- package/project-transform/src/compiler/wat_arrays.js +3132 -0
- package/project-transform/src/compiler/wat_arrays.ts +3768 -0
- package/project-transform/src/compiler/wat_emitter.js +17952 -0
- package/project-transform/src/compiler/wat_emitter.ts +22812 -0
- package/project-transform/src/compiler/wat_strings.js +129 -0
- package/project-transform/src/compiler/wat_strings.ts +187 -0
- package/project-transform/src/compiler/wat_tagged.js +548 -0
- package/project-transform/src/compiler/wat_tagged.ts +674 -0
- package/project-transform/src/compiler_generator_runner.js +153 -0
- package/project-transform/src/compiler_generator_runner.ts +171 -0
- package/project-transform/src/compiler_object_test_helpers.js +69 -0
- package/project-transform/src/compiler_object_test_helpers.ts +96 -0
- package/project-transform/src/compiler_promise_runner.js +2116 -0
- package/project-transform/src/compiler_promise_runner.ts +2184 -0
- package/project-transform/src/compiler_test_helpers.js +854 -0
- package/project-transform/src/compiler_test_helpers.ts +1087 -0
- package/project-transform/src/config.js +568 -0
- package/project-transform/src/config.ts +892 -0
- package/project-transform/src/diagnostic_metadata.js +67 -0
- package/project-transform/src/diagnostic_metadata.ts +99 -0
- package/project-transform/src/diagnostic_reference.js +1368 -0
- package/project-transform/src/diagnostic_reference.ts +1523 -0
- package/project-transform/src/editor_diagnostics_worker.js +176 -0
- package/project-transform/src/editor_diagnostics_worker.ts +250 -0
- package/project-transform/src/editor_projection.js +224 -0
- package/project-transform/src/editor_projection.ts +421 -0
- package/project-transform/src/frontend/builtin_expanded_program_test_cleanup.js +47 -0
- package/project-transform/src/frontend/builtin_expanded_program_test_cleanup.ts +72 -0
- package/project-transform/src/frontend/builtin_macro_support.js +842 -0
- package/project-transform/src/frontend/builtin_macro_support.ts +1386 -0
- package/project-transform/src/frontend/builtin_macros.js +409 -0
- package/project-transform/src/frontend/builtin_macros.ts +542 -0
- package/project-transform/src/frontend/component_poc_runtime.js +279 -0
- package/project-transform/src/frontend/component_poc_runtime.ts +372 -0
- package/project-transform/src/frontend/css_macro.js +148 -0
- package/project-transform/src/frontend/css_macro.ts +222 -0
- package/project-transform/src/frontend/derive_macros.js +2072 -0
- package/project-transform/src/frontend/derive_macros.ts +3188 -0
- package/project-transform/src/frontend/embedded_fragment_support.js +106 -0
- package/project-transform/src/frontend/embedded_fragment_support.ts +172 -0
- package/project-transform/src/frontend/error_normalization.js +403 -0
- package/project-transform/src/frontend/error_normalization.ts +832 -0
- package/project-transform/src/frontend/error_stdlib_support.js +1 -0
- package/project-transform/src/frontend/error_stdlib_support.ts +6 -0
- package/project-transform/src/frontend/expand_project.js +169 -0
- package/project-transform/src/frontend/expand_project.ts +248 -0
- package/project-transform/src/frontend/format_soundscript.js +297 -0
- package/project-transform/src/frontend/format_soundscript.ts +582 -0
- package/project-transform/src/frontend/graphql_macro.js +174 -0
- package/project-transform/src/frontend/graphql_macro.ts +253 -0
- package/project-transform/src/frontend/hash_context.js +83 -0
- package/project-transform/src/frontend/hash_context.ts +113 -0
- package/project-transform/src/frontend/hkt_macro.js +448 -0
- package/project-transform/src/frontend/hkt_macro.ts +897 -0
- package/project-transform/src/frontend/import_binding_usage.js +190 -0
- package/project-transform/src/frontend/import_binding_usage.ts +277 -0
- package/project-transform/src/frontend/macro_advanced_backend_adapter.js +58 -0
- package/project-transform/src/frontend/macro_advanced_backend_adapter.ts +123 -0
- package/project-transform/src/frontend/macro_advanced_context.js +826 -0
- package/project-transform/src/frontend/macro_advanced_context.ts +1102 -0
- package/project-transform/src/frontend/macro_advanced_output.js +21 -0
- package/project-transform/src/frontend/macro_advanced_output.ts +41 -0
- package/project-transform/src/frontend/macro_api.js +353 -0
- package/project-transform/src/frontend/macro_api.ts +1722 -0
- package/project-transform/src/frontend/macro_api_internal.js +35 -0
- package/project-transform/src/frontend/macro_api_internal.ts +80 -0
- package/project-transform/src/frontend/macro_api_module_support.js +39 -0
- package/project-transform/src/frontend/macro_api_module_support.ts +65 -0
- package/project-transform/src/frontend/macro_backend_adapter.js +272 -0
- package/project-transform/src/frontend/macro_backend_adapter.ts +420 -0
- package/project-transform/src/frontend/macro_context.js +816 -0
- package/project-transform/src/frontend/macro_context.ts +1105 -0
- package/project-transform/src/frontend/macro_debug.js +99 -0
- package/project-transform/src/frontend/macro_debug.ts +157 -0
- package/project-transform/src/frontend/macro_definition_support.js +28 -0
- package/project-transform/src/frontend/macro_definition_support.ts +73 -0
- package/project-transform/src/frontend/macro_errors.js +40 -0
- package/project-transform/src/frontend/macro_errors.ts +70 -0
- package/project-transform/src/frontend/macro_expander.js +919 -0
- package/project-transform/src/frontend/macro_expander.ts +1611 -0
- package/project-transform/src/frontend/macro_factory_support.js +176 -0
- package/project-transform/src/frontend/macro_factory_support.ts +263 -0
- package/project-transform/src/frontend/macro_host_ast_internal.js +64 -0
- package/project-transform/src/frontend/macro_host_ast_internal.ts +109 -0
- package/project-transform/src/frontend/macro_index.js +27 -0
- package/project-transform/src/frontend/macro_index.ts +50 -0
- package/project-transform/src/frontend/macro_loader.js +281 -0
- package/project-transform/src/frontend/macro_loader.ts +506 -0
- package/project-transform/src/frontend/macro_operand_semantics.js +838 -0
- package/project-transform/src/frontend/macro_operand_semantics.ts +1489 -0
- package/project-transform/src/frontend/macro_output.js +54 -0
- package/project-transform/src/frontend/macro_output.ts +123 -0
- package/project-transform/src/frontend/macro_parser.js +611 -0
- package/project-transform/src/frontend/macro_parser.ts +832 -0
- package/project-transform/src/frontend/macro_resolver.js +69 -0
- package/project-transform/src/frontend/macro_resolver.ts +125 -0
- package/project-transform/src/frontend/macro_rewrite.js +285 -0
- package/project-transform/src/frontend/macro_rewrite.ts +442 -0
- package/project-transform/src/frontend/macro_runtime_support.js +232 -0
- package/project-transform/src/frontend/macro_runtime_support.ts +324 -0
- package/project-transform/src/frontend/macro_scanner.js +393 -0
- package/project-transform/src/frontend/macro_scanner.ts +455 -0
- package/project-transform/src/frontend/macro_semantic_backend_adapter.js +87 -0
- package/project-transform/src/frontend/macro_semantic_backend_adapter.ts +166 -0
- package/project-transform/src/frontend/macro_semantic_context.js +5 -0
- package/project-transform/src/frontend/macro_semantic_context.ts +12 -0
- package/project-transform/src/frontend/macro_semantic_output.js +24 -0
- package/project-transform/src/frontend/macro_semantic_output.ts +47 -0
- package/project-transform/src/frontend/macro_semantic_types.js +1 -0
- package/project-transform/src/frontend/macro_semantic_types.ts +98 -0
- package/project-transform/src/frontend/macro_semantics.js +1172 -0
- package/project-transform/src/frontend/macro_semantics.ts +1502 -0
- package/project-transform/src/frontend/macro_site_kind_support.js +164 -0
- package/project-transform/src/frontend/macro_site_kind_support.ts +255 -0
- package/project-transform/src/frontend/macro_syntax_internal.js +1950 -0
- package/project-transform/src/frontend/macro_syntax_internal.ts +3338 -0
- package/project-transform/src/frontend/macro_templates.js +57 -0
- package/project-transform/src/frontend/macro_templates.ts +143 -0
- package/project-transform/src/frontend/macro_test_helpers.js +82 -0
- package/project-transform/src/frontend/macro_test_helpers.ts +136 -0
- package/project-transform/src/frontend/macro_types.js +1 -0
- package/project-transform/src/frontend/macro_types.ts +103 -0
- package/project-transform/src/frontend/macro_vm.js +39 -0
- package/project-transform/src/frontend/macro_vm.ts +113 -0
- package/project-transform/src/frontend/match_macro.js +885 -0
- package/project-transform/src/frontend/match_macro.ts +1220 -0
- package/project-transform/src/frontend/numeric_normalization.js +824 -0
- package/project-transform/src/frontend/numeric_normalization.ts +1380 -0
- package/project-transform/src/frontend/numeric_prelude.js +278 -0
- package/project-transform/src/frontend/numeric_prelude.ts +370 -0
- package/project-transform/src/frontend/project_frontend.js +2396 -0
- package/project-transform/src/frontend/project_frontend.ts +3776 -0
- package/project-transform/src/frontend/project_macro_support.js +1401 -0
- package/project-transform/src/frontend/project_macro_support.ts +2137 -0
- package/project-transform/src/frontend/sql_macro.js +175 -0
- package/project-transform/src/frontend/sql_macro.ts +254 -0
- package/project-transform/src/frontend/sql_stdlib_support.js +1 -0
- package/project-transform/src/frontend/sql_stdlib_support.ts +6 -0
- package/project-transform/src/frontend/std_package_support.js +228 -0
- package/project-transform/src/frontend/std_package_support.ts +400 -0
- package/project-transform/src/frontend/value_normalization.js +306 -0
- package/project-transform/src/frontend/value_normalization.ts +599 -0
- package/project-transform/src/lsp/project_service.js +4771 -0
- package/project-transform/src/lsp/project_service.ts +7580 -0
- package/project-transform/src/lsp/protocol.js +9 -0
- package/project-transform/src/lsp/protocol.ts +38 -0
- package/project-transform/src/lsp/server.js +355 -0
- package/project-transform/src/lsp/server.ts +671 -0
- package/project-transform/src/lsp/session.js +49 -0
- package/project-transform/src/lsp/session.ts +48 -0
- package/project-transform/src/lsp/timing.js +43 -0
- package/project-transform/src/lsp/timing.ts +76 -0
- package/project-transform/src/lsp/transport.js +205 -0
- package/project-transform/src/lsp/transport.ts +253 -0
- package/project-transform/src/lsp_main.js +5 -0
- package/project-transform/src/lsp_main.ts +7 -0
- package/project-transform/src/macros.d.ts +1 -0
- package/project-transform/src/macros.js +1 -0
- package/project-transform/src/macros.ts +1 -0
- package/project-transform/src/main.js +24 -0
- package/project-transform/src/main.ts +28 -0
- package/project-transform/src/platform/host.js +264 -0
- package/project-transform/src/platform/host.ts +343 -0
- package/project-transform/src/platform/path.js +8 -0
- package/project-transform/src/platform/path.ts +20 -0
- package/project-transform/src/public_macro_api/macro_api.d.ts +1054 -0
- package/project-transform/src/public_macro_api/macro_semantic_types.d.ts +66 -0
- package/project-transform/src/public_macro_api/macro_types.d.ts +70 -0
- package/project-transform/src/run_program.js +14 -0
- package/project-transform/src/run_program.ts +33 -0
- package/project-transform/src/runtime/materialize.js +371 -0
- package/project-transform/src/runtime/materialize.ts +502 -0
- package/project-transform/src/runtime/on_demand.js +203 -0
- package/project-transform/src/runtime/on_demand.ts +305 -0
- package/project-transform/src/runtime/source_maps.js +205 -0
- package/project-transform/src/runtime/source_maps.ts +297 -0
- package/project-transform/src/runtime/transform.js +148 -0
- package/project-transform/src/runtime/transform.ts +295 -0
- package/project-transform/src/service/types.js +1 -0
- package/project-transform/src/service/types.ts +22 -0
- package/project-transform/src/soundscript_packages.js +477 -0
- package/project-transform/src/soundscript_packages.ts +754 -0
- package/project-transform/src/soundscript_runtime_specifiers.js +88 -0
- package/project-transform/src/soundscript_runtime_specifiers.ts +96 -0
- package/project-transform/src/stdlib/async.d.ts +81 -0
- package/project-transform/src/stdlib/async.js +213 -0
- package/project-transform/src/stdlib/async.ts +315 -0
- package/project-transform/src/stdlib/codec.d.ts +32 -0
- package/project-transform/src/stdlib/codec.js +30 -0
- package/project-transform/src/stdlib/codec.ts +76 -0
- package/project-transform/src/stdlib/compare.d.ts +28 -0
- package/project-transform/src/stdlib/compare.js +115 -0
- package/project-transform/src/stdlib/compare.ts +151 -0
- package/project-transform/src/stdlib/css.d.ts +16 -0
- package/project-transform/src/stdlib/css.js +9 -0
- package/project-transform/src/stdlib/css.ts +28 -0
- package/project-transform/src/stdlib/debug.d.ts +2 -0
- package/project-transform/src/stdlib/debug.js +9 -0
- package/project-transform/src/stdlib/debug.ts +10 -0
- package/project-transform/src/stdlib/decode.d.ts +86 -0
- package/project-transform/src/stdlib/decode.js +254 -0
- package/project-transform/src/stdlib/decode.ts +390 -0
- package/project-transform/src/stdlib/derive.d.ts +6 -0
- package/project-transform/src/stdlib/derive.js +7 -0
- package/project-transform/src/stdlib/derive.ts +7 -0
- package/project-transform/src/stdlib/encode.d.ts +100 -0
- package/project-transform/src/stdlib/encode.js +130 -0
- package/project-transform/src/stdlib/encode.ts +259 -0
- package/project-transform/src/stdlib/failures.d.ts +23 -0
- package/project-transform/src/stdlib/failures.js +41 -0
- package/project-transform/src/stdlib/failures.ts +64 -0
- package/project-transform/src/stdlib/fetch.d.ts +67 -0
- package/project-transform/src/stdlib/fetch.js +5 -0
- package/project-transform/src/stdlib/fetch.ts +11 -0
- package/project-transform/src/stdlib/graphql.d.ts +16 -0
- package/project-transform/src/stdlib/graphql.js +9 -0
- package/project-transform/src/stdlib/graphql.ts +28 -0
- package/project-transform/src/stdlib/hash.d.ts +34 -0
- package/project-transform/src/stdlib/hash.js +110 -0
- package/project-transform/src/stdlib/hash.ts +188 -0
- package/project-transform/src/stdlib/hkt.d.ts +40 -0
- package/project-transform/src/stdlib/hkt.js +3 -0
- package/project-transform/src/stdlib/hkt.ts +41 -0
- package/project-transform/src/stdlib/index.d.ts +9 -0
- package/project-transform/src/stdlib/index.js +15 -0
- package/project-transform/src/stdlib/index.ts +23 -0
- package/project-transform/src/stdlib/json.d.ts +125 -0
- package/project-transform/src/stdlib/json.js +764 -0
- package/project-transform/src/stdlib/json.ts +1034 -0
- package/project-transform/src/stdlib/match.d.ts +11 -0
- package/project-transform/src/stdlib/match.js +13 -0
- package/project-transform/src/stdlib/match.ts +26 -0
- package/project-transform/src/stdlib/numerics.d.ts +523 -0
- package/project-transform/src/stdlib/numerics.js +1356 -0
- package/project-transform/src/stdlib/numerics.ts +1937 -0
- package/project-transform/src/stdlib/random.d.ts +19 -0
- package/project-transform/src/stdlib/random.js +3 -0
- package/project-transform/src/stdlib/random.ts +5 -0
- package/project-transform/src/stdlib/result.d.ts +68 -0
- package/project-transform/src/stdlib/result.js +139 -0
- package/project-transform/src/stdlib/result.ts +248 -0
- package/project-transform/src/stdlib/sql.d.ts +22 -0
- package/project-transform/src/stdlib/sql.js +23 -0
- package/project-transform/src/stdlib/sql.ts +53 -0
- package/project-transform/src/stdlib/text.d.ts +24 -0
- package/project-transform/src/stdlib/text.js +3 -0
- package/project-transform/src/stdlib/text.ts +4 -0
- package/project-transform/src/stdlib/thunk.d.ts +2 -0
- package/project-transform/src/stdlib/thunk.js +9 -0
- package/project-transform/src/stdlib/thunk.ts +15 -0
- package/project-transform/src/stdlib/typeclasses.d.ts +57 -0
- package/project-transform/src/stdlib/typeclasses.js +78 -0
- package/project-transform/src/stdlib/typeclasses.ts +173 -0
- package/project-transform/src/stdlib/url.d.ts +37 -0
- package/project-transform/src/stdlib/url.js +3 -0
- package/project-transform/src/stdlib/url.ts +4 -0
- package/project-transform/src/stdlib/value.d.ts +9 -0
- package/project-transform/src/stdlib/value.js +104 -0
- package/project-transform/src/stdlib/value.ts +133 -0
- package/project-transform/src/test_installed_stdlib.js +147 -0
- package/project-transform/src/test_installed_stdlib.ts +245 -0
- package/project-transform/src/test_macro_package_fixture.js +50 -0
- package/project-transform/src/test_macro_package_fixture.ts +68 -0
- package/project-transform/src/value_deep_safe.js +191 -0
- package/project-transform/src/value_deep_safe.ts +273 -0
|
@@ -0,0 +1,727 @@
|
|
|
1
|
+
export type CompilerRuntimeRepresentationFamily = 'array' | 'object' | 'string';
|
|
2
|
+
|
|
3
|
+
export type CompilerRuntimeRepresentationKind =
|
|
4
|
+
| 'dense_array_representation'
|
|
5
|
+
| 'fallback_array_representation'
|
|
6
|
+
| 'fallback_object_representation'
|
|
7
|
+
| 'dynamic_object_representation'
|
|
8
|
+
| 'fallback_string_representation'
|
|
9
|
+
| 'specialized_object_representation'
|
|
10
|
+
| 'string_representation'
|
|
11
|
+
| 'tagged_value_representation';
|
|
12
|
+
|
|
13
|
+
export type CompilerRuntimeValueType = 'f64' | 'heap_ref' | 'i32';
|
|
14
|
+
|
|
15
|
+
export type CompilerRuntimeInlineValueKind = 'boolean' | 'number' | 'null' | 'undefined';
|
|
16
|
+
|
|
17
|
+
export type CompilerRuntimeHeapValueFamily = 'array' | 'object' | 'string';
|
|
18
|
+
|
|
19
|
+
export type CompilerRuntimeTaggedPayloadSlot = 'heap_payload' | 'inline_payload';
|
|
20
|
+
|
|
21
|
+
export const COMPILER_RUNTIME_ORDINARY_OBJECT_PROTOTYPE_OWN_PROPERTY_KEYS = [
|
|
22
|
+
'__defineGetter__',
|
|
23
|
+
'__defineSetter__',
|
|
24
|
+
'__lookupGetter__',
|
|
25
|
+
'__lookupSetter__',
|
|
26
|
+
'__proto__',
|
|
27
|
+
'constructor',
|
|
28
|
+
'hasOwnProperty',
|
|
29
|
+
'isPrototypeOf',
|
|
30
|
+
'propertyIsEnumerable',
|
|
31
|
+
'toLocaleString',
|
|
32
|
+
'toString',
|
|
33
|
+
'valueOf',
|
|
34
|
+
] as const;
|
|
35
|
+
|
|
36
|
+
export interface CompilerRuntimeTaggedPayloadLayoutIR {
|
|
37
|
+
inlinePayloadType: 'f64';
|
|
38
|
+
heapPayloadType: 'heap_ref';
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface CompilerRuntimeTaggedInlineValueTagByKind {
|
|
42
|
+
boolean: 1;
|
|
43
|
+
number: 2;
|
|
44
|
+
null: 6;
|
|
45
|
+
undefined: 0;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export interface CompilerRuntimeTaggedHeapValueTagByFamily {
|
|
49
|
+
array: 5;
|
|
50
|
+
object: 4;
|
|
51
|
+
string: 3;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface CompilerRuntimeTaggedInlineValuePayloadByKind {
|
|
55
|
+
boolean: 'i32';
|
|
56
|
+
number: 'f64';
|
|
57
|
+
null: 'i32';
|
|
58
|
+
undefined: 'i32';
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface CompilerRuntimeTaggedInlineValueCaseIR<
|
|
62
|
+
TKind extends CompilerRuntimeInlineValueKind,
|
|
63
|
+
> {
|
|
64
|
+
kind: TKind;
|
|
65
|
+
tag: CompilerRuntimeTaggedInlineValueTagByKind[TKind];
|
|
66
|
+
payloadSlot: 'inline_payload';
|
|
67
|
+
payloadType: CompilerRuntimeTaggedInlineValuePayloadByKind[TKind];
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export interface CompilerRuntimeTaggedHeapValueCaseIR<
|
|
71
|
+
TFamily extends CompilerRuntimeHeapValueFamily,
|
|
72
|
+
> {
|
|
73
|
+
kind: 'heap';
|
|
74
|
+
heapFamily: TFamily;
|
|
75
|
+
tag: CompilerRuntimeTaggedHeapValueTagByFamily[TFamily];
|
|
76
|
+
payloadSlot: 'heap_payload';
|
|
77
|
+
payloadType: 'heap_ref';
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export interface CompilerRuntimeTaggedValueRepresentationIR {
|
|
81
|
+
kind: 'tagged_value_representation';
|
|
82
|
+
name: 'tagged_value';
|
|
83
|
+
tagType: 'i32';
|
|
84
|
+
payloadLayout: CompilerRuntimeTaggedPayloadLayoutIR;
|
|
85
|
+
inlineCases: {
|
|
86
|
+
boolean: CompilerRuntimeTaggedInlineValueCaseIR<'boolean'>;
|
|
87
|
+
number: CompilerRuntimeTaggedInlineValueCaseIR<'number'>;
|
|
88
|
+
null: CompilerRuntimeTaggedInlineValueCaseIR<'null'>;
|
|
89
|
+
undefined: CompilerRuntimeTaggedInlineValueCaseIR<'undefined'>;
|
|
90
|
+
};
|
|
91
|
+
heapCases: {
|
|
92
|
+
array: CompilerRuntimeTaggedHeapValueCaseIR<'array'>;
|
|
93
|
+
object: CompilerRuntimeTaggedHeapValueCaseIR<'object'>;
|
|
94
|
+
string: CompilerRuntimeTaggedHeapValueCaseIR<'string'>;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export interface CompilerRuntimeRepresentationKindByFamily {
|
|
99
|
+
array: 'dense_array_representation' | 'fallback_array_representation';
|
|
100
|
+
object:
|
|
101
|
+
| 'dynamic_object_representation'
|
|
102
|
+
| 'fallback_object_representation'
|
|
103
|
+
| 'specialized_object_representation';
|
|
104
|
+
string: 'fallback_string_representation' | 'string_representation';
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export interface CompilerRuntimeRepresentationRefIR<
|
|
108
|
+
TFamily extends CompilerRuntimeRepresentationFamily,
|
|
109
|
+
TKind extends CompilerRuntimeRepresentationKindByFamily[TFamily] =
|
|
110
|
+
CompilerRuntimeRepresentationKindByFamily[TFamily],
|
|
111
|
+
> {
|
|
112
|
+
family: TFamily;
|
|
113
|
+
kind: TKind;
|
|
114
|
+
name: string;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export type CompilerRuntimeFallbackObjectRepresentationRefIR = CompilerRuntimeRepresentationRefIR<
|
|
118
|
+
'object',
|
|
119
|
+
'fallback_object_representation'
|
|
120
|
+
>;
|
|
121
|
+
|
|
122
|
+
export type CompilerRuntimeDynamicObjectRepresentationRefIR = CompilerRuntimeRepresentationRefIR<
|
|
123
|
+
'object',
|
|
124
|
+
'dynamic_object_representation'
|
|
125
|
+
>;
|
|
126
|
+
|
|
127
|
+
const compilerRuntimeOrderedFallbackObjectRepresentationRefBrand: unique symbol = Symbol(
|
|
128
|
+
'CompilerRuntimeOrderedFallbackObjectRepresentationRefIR',
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
export interface CompilerRuntimeOrderedFallbackObjectRepresentationRefIR
|
|
132
|
+
extends CompilerRuntimeFallbackObjectRepresentationRefIR {
|
|
133
|
+
readonly runtimeStateKind: 'ordered_hash_indexed_property_bag';
|
|
134
|
+
readonly [compilerRuntimeOrderedFallbackObjectRepresentationRefBrand]: true;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export type CompilerRuntimeSpecializedObjectRepresentationRefIR =
|
|
138
|
+
CompilerRuntimeRepresentationRefIR<'object', 'specialized_object_representation'>;
|
|
139
|
+
|
|
140
|
+
export type CompilerRuntimeFallbackArrayRepresentationRefIR = CompilerRuntimeRepresentationRefIR<
|
|
141
|
+
'array',
|
|
142
|
+
'fallback_array_representation'
|
|
143
|
+
>;
|
|
144
|
+
|
|
145
|
+
export type CompilerRuntimeSpecializedArrayRepresentationRefIR = CompilerRuntimeRepresentationRefIR<
|
|
146
|
+
'array',
|
|
147
|
+
'dense_array_representation'
|
|
148
|
+
>;
|
|
149
|
+
|
|
150
|
+
export type CompilerRuntimeFallbackStringRepresentationRefIR = CompilerRuntimeRepresentationRefIR<
|
|
151
|
+
'string',
|
|
152
|
+
'fallback_string_representation'
|
|
153
|
+
>;
|
|
154
|
+
|
|
155
|
+
export type CompilerRuntimeSpecializedStringRepresentationRefIR = CompilerRuntimeRepresentationRefIR<
|
|
156
|
+
'string',
|
|
157
|
+
'string_representation'
|
|
158
|
+
>;
|
|
159
|
+
|
|
160
|
+
export interface CompilerRuntimeFallbackObjectRepresentationIR<
|
|
161
|
+
TRuntimeState extends CompilerRuntimeFallbackObjectRuntimeStateIR =
|
|
162
|
+
CompilerRuntimeFallbackObjectRuntimeStateIR,
|
|
163
|
+
> {
|
|
164
|
+
kind: 'fallback_object_representation';
|
|
165
|
+
family: 'object';
|
|
166
|
+
name: string;
|
|
167
|
+
keyRepresentation: 'string';
|
|
168
|
+
valueRepresentation: 'tagged_value';
|
|
169
|
+
prototypeMembership: CompilerRuntimeOrdinaryObjectPrototypeMembershipIR;
|
|
170
|
+
runtimeState: TRuntimeState;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export interface CompilerRuntimeDynamicObjectRuntimeStateIR {
|
|
174
|
+
kind: 'ordered_linear_property_bag';
|
|
175
|
+
sizeType: 'i32';
|
|
176
|
+
capacityType: 'i32';
|
|
177
|
+
ordering: CompilerRuntimeFallbackObjectOrderingIR;
|
|
178
|
+
keyRepresentation: 'owned_string';
|
|
179
|
+
valueRepresentation: 'tagged_value';
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export interface CompilerRuntimeDynamicObjectRepresentationIR {
|
|
183
|
+
kind: 'dynamic_object_representation';
|
|
184
|
+
family: 'object';
|
|
185
|
+
name: string;
|
|
186
|
+
keyRepresentation: 'owned_string';
|
|
187
|
+
valueRepresentation: 'tagged_value';
|
|
188
|
+
prototypeMembership: CompilerRuntimeOrdinaryObjectPrototypeMembershipIR;
|
|
189
|
+
runtimeState: CompilerRuntimeDynamicObjectRuntimeStateIR;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
export type CompilerRuntimeOrderedFallbackObjectRepresentationIR =
|
|
193
|
+
CompilerRuntimeFallbackObjectRepresentationIR<
|
|
194
|
+
CompilerRuntimeOrderedHashIndexedFallbackObjectRuntimeStateIR
|
|
195
|
+
>;
|
|
196
|
+
|
|
197
|
+
export function createCompilerRuntimeOrderedFallbackObjectRepresentationRef(
|
|
198
|
+
representation: CompilerRuntimeOrderedFallbackObjectRepresentationIR,
|
|
199
|
+
): CompilerRuntimeOrderedFallbackObjectRepresentationRefIR {
|
|
200
|
+
return {
|
|
201
|
+
family: 'object',
|
|
202
|
+
kind: 'fallback_object_representation',
|
|
203
|
+
name: representation.name,
|
|
204
|
+
runtimeStateKind: representation.runtimeState.kind,
|
|
205
|
+
[compilerRuntimeOrderedFallbackObjectRepresentationRefBrand]: true,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
export interface CompilerRuntimeSpecializedObjectFieldIR {
|
|
210
|
+
name: string;
|
|
211
|
+
valueRepresentation: 'tagged_value';
|
|
212
|
+
taggedPrimitiveKinds?: {
|
|
213
|
+
includesBoolean?: boolean;
|
|
214
|
+
includesNull?: boolean;
|
|
215
|
+
includesNumber?: boolean;
|
|
216
|
+
includesString?: boolean;
|
|
217
|
+
includesUndefined?: boolean;
|
|
218
|
+
};
|
|
219
|
+
closureSignatureId?: number;
|
|
220
|
+
classTagId?: number;
|
|
221
|
+
heapRepresentationName?: string;
|
|
222
|
+
heapArrayRepresentationName?: string;
|
|
223
|
+
methodClosureFunctionIds?: number[];
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
export interface CompilerRuntimeSpecializedObjectHostMethodIR {
|
|
227
|
+
name: string;
|
|
228
|
+
closureFunctionId: number;
|
|
229
|
+
closureSignatureId: number;
|
|
230
|
+
ownerClassName?: string;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
export interface CompilerRuntimeSpecializedObjectHostClassConstructorIR {
|
|
234
|
+
closureFunctionId: number;
|
|
235
|
+
closureSignatureId: number;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
export type CompilerRuntimeSpecializedObjectHostClassStaticFieldIR =
|
|
239
|
+
| {
|
|
240
|
+
name: string;
|
|
241
|
+
valueKind: 'number';
|
|
242
|
+
numberValue: number;
|
|
243
|
+
}
|
|
244
|
+
| {
|
|
245
|
+
name: string;
|
|
246
|
+
valueKind: 'boolean';
|
|
247
|
+
booleanValue: boolean;
|
|
248
|
+
}
|
|
249
|
+
| {
|
|
250
|
+
name: string;
|
|
251
|
+
valueKind: 'string';
|
|
252
|
+
literalId: number;
|
|
253
|
+
}
|
|
254
|
+
| {
|
|
255
|
+
name: string;
|
|
256
|
+
valueKind: 'class_constructor';
|
|
257
|
+
classTagId: number;
|
|
258
|
+
}
|
|
259
|
+
| {
|
|
260
|
+
name: string;
|
|
261
|
+
valueKind: 'number_array';
|
|
262
|
+
globalName: string;
|
|
263
|
+
}
|
|
264
|
+
| {
|
|
265
|
+
name: string;
|
|
266
|
+
valueKind: 'boolean_array';
|
|
267
|
+
globalName: string;
|
|
268
|
+
}
|
|
269
|
+
| {
|
|
270
|
+
name: string;
|
|
271
|
+
valueKind: 'string_array';
|
|
272
|
+
globalName: string;
|
|
273
|
+
}
|
|
274
|
+
| {
|
|
275
|
+
name: string;
|
|
276
|
+
valueKind: 'tagged_array';
|
|
277
|
+
globalName: string;
|
|
278
|
+
includesBoolean: boolean;
|
|
279
|
+
includesNull: boolean;
|
|
280
|
+
includesNumber: boolean;
|
|
281
|
+
includesString: boolean;
|
|
282
|
+
includesUndefined: boolean;
|
|
283
|
+
representation?: CompilerRuntimeRepresentationRefIR<'object'>;
|
|
284
|
+
}
|
|
285
|
+
| {
|
|
286
|
+
name: string;
|
|
287
|
+
valueKind: 'heap_object';
|
|
288
|
+
globalName: string;
|
|
289
|
+
representation: CompilerRuntimeRepresentationRefIR<'object'>;
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
export interface CompilerRuntimeClassStaticNumberArrayFieldIR {
|
|
293
|
+
kind: 'class_static_number_array_field';
|
|
294
|
+
globalName: string;
|
|
295
|
+
ownerName: string;
|
|
296
|
+
propertyName: string;
|
|
297
|
+
numberValues: readonly number[];
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
export interface CompilerRuntimeClassStaticBooleanArrayFieldIR {
|
|
301
|
+
kind: 'class_static_boolean_array_field';
|
|
302
|
+
globalName: string;
|
|
303
|
+
ownerName: string;
|
|
304
|
+
propertyName: string;
|
|
305
|
+
booleanValues: readonly boolean[];
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
export interface CompilerRuntimeClassStaticStringArrayFieldIR {
|
|
309
|
+
kind: 'class_static_string_array_field';
|
|
310
|
+
globalName: string;
|
|
311
|
+
ownerName: string;
|
|
312
|
+
propertyName: string;
|
|
313
|
+
literalIds: readonly number[];
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
export interface CompilerRuntimeClassStaticTaggedArrayFieldIR {
|
|
317
|
+
kind: 'class_static_tagged_array_field';
|
|
318
|
+
globalName: string;
|
|
319
|
+
initializerFunctionName: string;
|
|
320
|
+
ownerName: string;
|
|
321
|
+
propertyName: string;
|
|
322
|
+
includesBoolean: boolean;
|
|
323
|
+
includesNull: boolean;
|
|
324
|
+
includesNumber: boolean;
|
|
325
|
+
includesString: boolean;
|
|
326
|
+
includesUndefined: boolean;
|
|
327
|
+
representation?: CompilerRuntimeRepresentationRefIR<'object'>;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
export interface CompilerRuntimeClassStaticHeapFieldIR {
|
|
331
|
+
kind: 'class_static_heap_field';
|
|
332
|
+
globalName: string;
|
|
333
|
+
initializerFunctionName: string;
|
|
334
|
+
ownerName: string;
|
|
335
|
+
propertyName: string;
|
|
336
|
+
representation: CompilerRuntimeRepresentationRefIR<'object'>;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
export type CompilerRuntimeClassStaticFieldIR =
|
|
340
|
+
| CompilerRuntimeClassStaticNumberArrayFieldIR
|
|
341
|
+
| CompilerRuntimeClassStaticBooleanArrayFieldIR
|
|
342
|
+
| CompilerRuntimeClassStaticStringArrayFieldIR
|
|
343
|
+
| CompilerRuntimeClassStaticTaggedArrayFieldIR
|
|
344
|
+
| CompilerRuntimeClassStaticHeapFieldIR;
|
|
345
|
+
|
|
346
|
+
export interface CompilerRuntimeOrdinaryObjectPrototypeMembershipIR {
|
|
347
|
+
readonly kind: 'ordinary_object_prototype_membership';
|
|
348
|
+
readonly inheritedPropertyKeys: readonly string[];
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
export function createCompilerRuntimeOrdinaryObjectPrototypeMembership():
|
|
352
|
+
CompilerRuntimeOrdinaryObjectPrototypeMembershipIR {
|
|
353
|
+
return {
|
|
354
|
+
kind: 'ordinary_object_prototype_membership',
|
|
355
|
+
inheritedPropertyKeys: COMPILER_RUNTIME_ORDINARY_OBJECT_PROTOTYPE_OWN_PROPERTY_KEYS,
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
export interface CompilerRuntimeSpecializedObjectRepresentationIR {
|
|
360
|
+
kind: 'specialized_object_representation';
|
|
361
|
+
family: 'object';
|
|
362
|
+
name: string;
|
|
363
|
+
shapeName: string;
|
|
364
|
+
fields: CompilerRuntimeSpecializedObjectFieldIR[];
|
|
365
|
+
classTagId?: number;
|
|
366
|
+
baseRepresentationName?: string;
|
|
367
|
+
hostMethods?: CompilerRuntimeSpecializedObjectHostMethodIR[];
|
|
368
|
+
hostClassConstructor?: CompilerRuntimeSpecializedObjectHostClassConstructorIR;
|
|
369
|
+
hostStaticMethods?: CompilerRuntimeSpecializedObjectHostMethodIR[];
|
|
370
|
+
hostStaticFields?: CompilerRuntimeSpecializedObjectHostClassStaticFieldIR[];
|
|
371
|
+
fallbackRepresentation: CompilerRuntimeFallbackObjectRepresentationRefIR;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
export interface CompilerRuntimeFallbackArrayRepresentationIR {
|
|
375
|
+
kind: 'fallback_array_representation';
|
|
376
|
+
family: 'array';
|
|
377
|
+
name: string;
|
|
378
|
+
elementRepresentation: 'tagged_value';
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
export interface CompilerRuntimeDenseArrayRepresentationIR {
|
|
382
|
+
kind: 'dense_array_representation';
|
|
383
|
+
family: 'array';
|
|
384
|
+
name: string;
|
|
385
|
+
elementRepresentation: 'tagged_value';
|
|
386
|
+
fallbackRepresentation: CompilerRuntimeFallbackArrayRepresentationRefIR;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
export interface CompilerRuntimeFallbackStringRepresentationIR {
|
|
390
|
+
kind: 'fallback_string_representation';
|
|
391
|
+
family: 'string';
|
|
392
|
+
name: string;
|
|
393
|
+
codeUnitRepresentation: 'i32';
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
export interface CompilerRuntimeStringRepresentationIR {
|
|
397
|
+
kind: 'string_representation';
|
|
398
|
+
family: 'string';
|
|
399
|
+
name: string;
|
|
400
|
+
status: 'placeholder';
|
|
401
|
+
fallbackRepresentation: CompilerRuntimeFallbackStringRepresentationRefIR;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
export type CompilerRuntimeRepresentationIR =
|
|
405
|
+
| CompilerRuntimeTaggedValueRepresentationIR
|
|
406
|
+
| CompilerRuntimeFallbackObjectRepresentationIR
|
|
407
|
+
| CompilerRuntimeDynamicObjectRepresentationIR
|
|
408
|
+
| CompilerRuntimeSpecializedObjectRepresentationIR
|
|
409
|
+
| CompilerRuntimeFallbackArrayRepresentationIR
|
|
410
|
+
| CompilerRuntimeDenseArrayRepresentationIR
|
|
411
|
+
| CompilerRuntimeFallbackStringRepresentationIR
|
|
412
|
+
| CompilerRuntimeStringRepresentationIR;
|
|
413
|
+
|
|
414
|
+
export interface CompilerRuntimeSpecializedRepresentationRefByFamily {
|
|
415
|
+
array: CompilerRuntimeSpecializedArrayRepresentationRefIR;
|
|
416
|
+
object: CompilerRuntimeSpecializedObjectRepresentationRefIR;
|
|
417
|
+
string: CompilerRuntimeSpecializedStringRepresentationRefIR;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
export interface CompilerRuntimeFallbackRepresentationRefByFamily {
|
|
421
|
+
array: CompilerRuntimeFallbackArrayRepresentationRefIR;
|
|
422
|
+
object: CompilerRuntimeFallbackObjectRepresentationRefIR;
|
|
423
|
+
string: CompilerRuntimeFallbackStringRepresentationRefIR;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
export interface CompilerRuntimeFallbackObjectEntryIR {
|
|
427
|
+
key: string;
|
|
428
|
+
valueName: string;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
export interface CompilerRuntimeDynamicObjectEntryIR {
|
|
432
|
+
keyName: string;
|
|
433
|
+
valueName: string;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
export interface CompilerRuntimeObjectFallbackMaterializationIR {
|
|
437
|
+
resultName: string;
|
|
438
|
+
entries: CompilerRuntimeFallbackObjectEntryIR[];
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
export interface CompilerRuntimeFallbackObjectBucketsIR {
|
|
442
|
+
elementType: 'i32';
|
|
443
|
+
emptyBucketSentinel: -1;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
export interface CompilerRuntimeFallbackObjectSlotsOccupancyStatesIR {
|
|
447
|
+
empty: 0;
|
|
448
|
+
occupied: 1;
|
|
449
|
+
deleted: 2;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
export interface CompilerRuntimeFallbackObjectProbeIR {
|
|
453
|
+
kind: 'linear';
|
|
454
|
+
stepType: 'i32';
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
export interface CompilerRuntimeFallbackObjectOrderingIR {
|
|
458
|
+
kind: 'js_own_property_order';
|
|
459
|
+
integerIndexKeyOrder: 'ascending_numeric';
|
|
460
|
+
stringKeyOrder: 'insertion';
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
export interface CompilerRuntimeFallbackObjectLoadFactorIR {
|
|
464
|
+
maxOccupiedNumerator: 3;
|
|
465
|
+
maxOccupiedDenominator: 4;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
export interface CompilerRuntimeFallbackObjectSlotsIR {
|
|
469
|
+
hashCodeType: 'i32';
|
|
470
|
+
occupancyTagType: 'i32';
|
|
471
|
+
keyRepresentation: 'string';
|
|
472
|
+
valueRepresentation: 'tagged_value';
|
|
473
|
+
occupancyStates: CompilerRuntimeFallbackObjectSlotsOccupancyStatesIR;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
export interface CompilerRuntimeOrderedFallbackObjectSlotsIR
|
|
477
|
+
extends CompilerRuntimeFallbackObjectSlotsIR {
|
|
478
|
+
insertionRankType: 'i32';
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
export interface CompilerRuntimeHashIndexedFallbackObjectRuntimeStateIR {
|
|
482
|
+
kind: 'hash_indexed_property_bag';
|
|
483
|
+
sizeType: 'i32';
|
|
484
|
+
storageKind: 'open_addressed';
|
|
485
|
+
capacityType: 'i32';
|
|
486
|
+
indexMaskType: 'i32';
|
|
487
|
+
occupiedSlotCountType: 'i32';
|
|
488
|
+
probe: CompilerRuntimeFallbackObjectProbeIR;
|
|
489
|
+
loadFactor: CompilerRuntimeFallbackObjectLoadFactorIR;
|
|
490
|
+
slots: CompilerRuntimeFallbackObjectSlotsIR;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
export interface CompilerRuntimeOrderedHashIndexedFallbackObjectRuntimeStateIR {
|
|
494
|
+
kind: 'ordered_hash_indexed_property_bag';
|
|
495
|
+
sizeType: 'i32';
|
|
496
|
+
storageKind: 'open_addressed';
|
|
497
|
+
capacityType: 'i32';
|
|
498
|
+
indexMaskType: 'i32';
|
|
499
|
+
occupiedSlotCountType: 'i32';
|
|
500
|
+
probe: CompilerRuntimeFallbackObjectProbeIR;
|
|
501
|
+
loadFactor: CompilerRuntimeFallbackObjectLoadFactorIR;
|
|
502
|
+
ordering: CompilerRuntimeFallbackObjectOrderingIR;
|
|
503
|
+
nextInsertionRankType: 'i32';
|
|
504
|
+
slots: CompilerRuntimeOrderedFallbackObjectSlotsIR;
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
export type CompilerRuntimeFallbackObjectRuntimeStateIR =
|
|
508
|
+
| CompilerRuntimeHashIndexedFallbackObjectRuntimeStateIR
|
|
509
|
+
| CompilerRuntimeOrderedHashIndexedFallbackObjectRuntimeStateIR;
|
|
510
|
+
|
|
511
|
+
export interface CompilerRuntimeAdaptValueDetailsByFamily {
|
|
512
|
+
array: Record<never, never>;
|
|
513
|
+
object: {
|
|
514
|
+
fallbackMaterialization?: CompilerRuntimeObjectFallbackMaterializationIR;
|
|
515
|
+
};
|
|
516
|
+
string: Record<never, never>;
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
export type CompilerRuntimeAdaptValueIR<
|
|
520
|
+
TFamily extends keyof CompilerRuntimeSpecializedRepresentationRefByFamily,
|
|
521
|
+
> = {
|
|
522
|
+
kind: 'adapt_value';
|
|
523
|
+
family: TFamily;
|
|
524
|
+
mode: 'generalize_to_fallback';
|
|
525
|
+
valueName: string;
|
|
526
|
+
fromRepresentation: CompilerRuntimeSpecializedRepresentationRefByFamily[TFamily];
|
|
527
|
+
toRepresentation: CompilerRuntimeFallbackRepresentationRefByFamily[TFamily];
|
|
528
|
+
} & CompilerRuntimeAdaptValueDetailsByFamily[TFamily];
|
|
529
|
+
|
|
530
|
+
export type CompilerRuntimeAdaptObjectValueIR = CompilerRuntimeAdaptValueIR<'object'>;
|
|
531
|
+
|
|
532
|
+
export type CompilerRuntimeAdaptArrayValueIR = CompilerRuntimeAdaptValueIR<'array'>;
|
|
533
|
+
|
|
534
|
+
export type CompilerRuntimeAdaptStringValueIR = CompilerRuntimeAdaptValueIR<'string'>;
|
|
535
|
+
|
|
536
|
+
export interface CompilerRuntimeAllocateSpecializedObjectIR {
|
|
537
|
+
kind: 'allocate_specialized_object';
|
|
538
|
+
resultName: string;
|
|
539
|
+
representation: CompilerRuntimeSpecializedObjectRepresentationRefIR;
|
|
540
|
+
fieldValueNames: string[];
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
export interface CompilerRuntimeAllocateFallbackObjectIR {
|
|
544
|
+
kind: 'allocate_fallback_object';
|
|
545
|
+
resultName: string;
|
|
546
|
+
representation: CompilerRuntimeFallbackObjectRepresentationRefIR;
|
|
547
|
+
entries: CompilerRuntimeFallbackObjectEntryIR[];
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
export interface CompilerRuntimeAllocateDynamicObjectIR {
|
|
551
|
+
kind: 'allocate_dynamic_object';
|
|
552
|
+
resultName: string;
|
|
553
|
+
representation: CompilerRuntimeDynamicObjectRepresentationRefIR;
|
|
554
|
+
entries: CompilerRuntimeDynamicObjectEntryIR[];
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
export interface CompilerRuntimeCopyDynamicObjectEntriesIR {
|
|
558
|
+
kind: 'copy_dynamic_object_entries';
|
|
559
|
+
targetObjectName: string;
|
|
560
|
+
sourceObjectName: string;
|
|
561
|
+
representation: CompilerRuntimeDynamicObjectRepresentationRefIR;
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
export interface CompilerRuntimeGetSpecializedObjectFieldIR {
|
|
565
|
+
kind: 'get_specialized_object_field';
|
|
566
|
+
objectName: string;
|
|
567
|
+
resultName: string;
|
|
568
|
+
representation: CompilerRuntimeSpecializedObjectRepresentationRefIR;
|
|
569
|
+
fieldIndex: number;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
export interface CompilerRuntimeGetFallbackObjectPropertyIR {
|
|
573
|
+
kind: 'get_fallback_object_property';
|
|
574
|
+
objectName: string;
|
|
575
|
+
resultName: string;
|
|
576
|
+
representation: CompilerRuntimeFallbackObjectRepresentationRefIR;
|
|
577
|
+
propertyKey: string;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
export interface CompilerRuntimeGetDynamicObjectPropertyIR {
|
|
581
|
+
kind: 'get_dynamic_object_property';
|
|
582
|
+
objectName: string;
|
|
583
|
+
resultName: string;
|
|
584
|
+
representation: CompilerRuntimeDynamicObjectRepresentationRefIR;
|
|
585
|
+
propertyKeyName: string;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
export interface CompilerRuntimeGetDynamicObjectSizeIR {
|
|
589
|
+
kind: 'get_dynamic_object_size';
|
|
590
|
+
objectName: string;
|
|
591
|
+
resultName: string;
|
|
592
|
+
representation: CompilerRuntimeDynamicObjectRepresentationRefIR;
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
export interface CompilerRuntimeDeleteDynamicObjectPropertyIR {
|
|
596
|
+
kind: 'delete_dynamic_object_property';
|
|
597
|
+
objectName: string;
|
|
598
|
+
resultName: string;
|
|
599
|
+
representation: CompilerRuntimeDynamicObjectRepresentationRefIR;
|
|
600
|
+
propertyKeyName: string;
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
export interface CompilerRuntimeClearDynamicObjectIR {
|
|
604
|
+
kind: 'clear_dynamic_object';
|
|
605
|
+
objectName: string;
|
|
606
|
+
resultName: string;
|
|
607
|
+
representation: CompilerRuntimeDynamicObjectRepresentationRefIR;
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
export interface CompilerRuntimeSetFallbackObjectPropertyIR {
|
|
611
|
+
kind: 'set_fallback_object_property';
|
|
612
|
+
objectName: string;
|
|
613
|
+
representation: CompilerRuntimeFallbackObjectRepresentationRefIR;
|
|
614
|
+
propertyKey: string;
|
|
615
|
+
valueName: string;
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
export interface CompilerRuntimeSetDynamicObjectPropertyIR {
|
|
619
|
+
kind: 'set_dynamic_object_property';
|
|
620
|
+
objectName: string;
|
|
621
|
+
representation: CompilerRuntimeDynamicObjectRepresentationRefIR;
|
|
622
|
+
propertyKeyName: string;
|
|
623
|
+
valueName: string;
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
export interface CompilerRuntimeHasSpecializedObjectOwnPropertyIR {
|
|
627
|
+
kind: 'has_specialized_object_own_property';
|
|
628
|
+
objectName: string;
|
|
629
|
+
resultName: string;
|
|
630
|
+
representation: CompilerRuntimeSpecializedObjectRepresentationRefIR;
|
|
631
|
+
fieldIndex: number;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
export interface CompilerRuntimeHasFallbackObjectPropertyIR {
|
|
635
|
+
kind: 'has_fallback_object_property';
|
|
636
|
+
objectName: string;
|
|
637
|
+
resultName: string;
|
|
638
|
+
representation: CompilerRuntimeFallbackObjectRepresentationRefIR;
|
|
639
|
+
propertyKey: string;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
export interface CompilerRuntimeHasDynamicObjectPropertyIR {
|
|
643
|
+
kind: 'has_dynamic_object_property';
|
|
644
|
+
objectName: string;
|
|
645
|
+
resultName: string;
|
|
646
|
+
representation: CompilerRuntimeDynamicObjectRepresentationRefIR;
|
|
647
|
+
propertyKeyName: string;
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
export interface CompilerRuntimeListSpecializedObjectKeysIR {
|
|
651
|
+
kind: 'list_specialized_object_keys';
|
|
652
|
+
objectName: string;
|
|
653
|
+
resultName: string;
|
|
654
|
+
representation: CompilerRuntimeSpecializedObjectRepresentationRefIR;
|
|
655
|
+
propertyKeys: readonly string[];
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
export interface CompilerRuntimeListFallbackObjectKeysIR {
|
|
659
|
+
kind: 'list_fallback_object_keys';
|
|
660
|
+
objectName: string;
|
|
661
|
+
resultName: string;
|
|
662
|
+
representation: CompilerRuntimeOrderedFallbackObjectRepresentationRefIR;
|
|
663
|
+
propertyKeys: readonly string[];
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
export interface CompilerRuntimeListDynamicObjectKeysIR {
|
|
667
|
+
kind: 'list_dynamic_object_keys';
|
|
668
|
+
objectName: string;
|
|
669
|
+
resultName: string;
|
|
670
|
+
representation: CompilerRuntimeDynamicObjectRepresentationRefIR;
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
export interface CompilerRuntimeListDynamicObjectValuesIR {
|
|
674
|
+
kind: 'list_dynamic_object_values';
|
|
675
|
+
objectName: string;
|
|
676
|
+
resultName: string;
|
|
677
|
+
representation: CompilerRuntimeDynamicObjectRepresentationRefIR;
|
|
678
|
+
resultType:
|
|
679
|
+
| 'owned_array_ref'
|
|
680
|
+
| 'owned_number_array_ref'
|
|
681
|
+
| 'owned_boolean_array_ref'
|
|
682
|
+
| 'owned_tagged_array_ref';
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
export interface CompilerRuntimeListDynamicObjectEntriesIR {
|
|
686
|
+
kind: 'list_dynamic_object_entries';
|
|
687
|
+
objectName: string;
|
|
688
|
+
resultName: string;
|
|
689
|
+
representation: CompilerRuntimeDynamicObjectRepresentationRefIR;
|
|
690
|
+
pairValueType: 'owned_string_ref' | 'tagged_ref';
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
export type CompilerRuntimeOperationIR =
|
|
694
|
+
| CompilerRuntimeAllocateSpecializedObjectIR
|
|
695
|
+
| CompilerRuntimeAllocateFallbackObjectIR
|
|
696
|
+
| CompilerRuntimeAllocateDynamicObjectIR
|
|
697
|
+
| CompilerRuntimeCopyDynamicObjectEntriesIR
|
|
698
|
+
| CompilerRuntimeGetSpecializedObjectFieldIR
|
|
699
|
+
| CompilerRuntimeGetFallbackObjectPropertyIR
|
|
700
|
+
| CompilerRuntimeGetDynamicObjectPropertyIR
|
|
701
|
+
| CompilerRuntimeGetDynamicObjectSizeIR
|
|
702
|
+
| CompilerRuntimeDeleteDynamicObjectPropertyIR
|
|
703
|
+
| CompilerRuntimeClearDynamicObjectIR
|
|
704
|
+
| CompilerRuntimeSetFallbackObjectPropertyIR
|
|
705
|
+
| CompilerRuntimeSetDynamicObjectPropertyIR
|
|
706
|
+
| CompilerRuntimeHasSpecializedObjectOwnPropertyIR
|
|
707
|
+
| CompilerRuntimeHasFallbackObjectPropertyIR
|
|
708
|
+
| CompilerRuntimeHasDynamicObjectPropertyIR
|
|
709
|
+
| CompilerRuntimeListSpecializedObjectKeysIR
|
|
710
|
+
| CompilerRuntimeListFallbackObjectKeysIR
|
|
711
|
+
| CompilerRuntimeListDynamicObjectKeysIR
|
|
712
|
+
| CompilerRuntimeListDynamicObjectValuesIR
|
|
713
|
+
| CompilerRuntimeListDynamicObjectEntriesIR
|
|
714
|
+
| CompilerRuntimeAdaptObjectValueIR
|
|
715
|
+
| CompilerRuntimeAdaptArrayValueIR
|
|
716
|
+
| CompilerRuntimeAdaptStringValueIR;
|
|
717
|
+
|
|
718
|
+
export interface CompilerRuntimeFunctionIR {
|
|
719
|
+
functionName: string;
|
|
720
|
+
operations: CompilerRuntimeOperationIR[];
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
export interface CompilerRuntimeIR {
|
|
724
|
+
classStaticFields?: readonly CompilerRuntimeClassStaticFieldIR[];
|
|
725
|
+
representations: CompilerRuntimeRepresentationIR[];
|
|
726
|
+
functions: CompilerRuntimeFunctionIR[];
|
|
727
|
+
}
|