@scriptc/compiler 0.1.7 → 0.2.0
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/ambient/scriptc-node-fallback.d.ts +73 -24
- package/ambient/scriptc-overrides.d.ts +10 -6
- package/ambient/scriptc.d.ts +15 -0
- package/dist/backend/build-cache.d.ts +1 -3
- package/dist/backend/build-cache.js +3 -22
- package/dist/backend/build-cache.js.map +1 -1
- package/dist/backend/cache-root.d.ts +3 -0
- package/dist/backend/cache-root.js +23 -0
- package/dist/backend/cache-root.js.map +1 -0
- package/dist/backend/cycle-analysis.d.ts +15 -0
- package/dist/backend/cycle-analysis.js +107 -0
- package/dist/backend/cycle-analysis.js.map +1 -0
- package/dist/backend/cycle-analysis.test.js +124 -0
- package/dist/backend/cycle-analysis.test.js.map +1 -0
- package/dist/backend/executable-features.d.ts +4 -0
- package/dist/backend/executable-features.js +42 -0
- package/dist/backend/executable-features.js.map +1 -0
- package/dist/backend/external-c.d.ts +5 -27
- package/dist/backend/external-c.js +5 -40
- package/dist/backend/external-c.js.map +1 -1
- package/dist/backend/ffi-callbacks.d.ts +2 -3
- package/dist/backend/ffi-callbacks.js +2 -3
- package/dist/backend/ffi-callbacks.js.map +1 -1
- package/dist/backend/library-identity-markers.d.ts +4 -9
- package/dist/backend/library-identity-markers.js +11 -49
- package/dist/backend/library-identity-markers.js.map +1 -1
- package/dist/backend/library-pack.d.ts +5 -0
- package/dist/backend/library-pack.js +123 -0
- package/dist/backend/library-pack.js.map +1 -0
- package/dist/backend/link-plan-core.d.ts +20 -0
- package/dist/backend/link-plan-core.js +18 -0
- package/dist/backend/link-plan-core.js.map +1 -0
- package/dist/backend/link-plan.d.ts +1 -1
- package/dist/backend/link-plan.js +16 -17
- package/dist/backend/link-plan.js.map +1 -1
- package/dist/backend/link-trace.d.ts +2 -0
- package/dist/backend/link-trace.js +24 -0
- package/dist/backend/link-trace.js.map +1 -0
- package/dist/backend/linker.js +1 -1
- package/dist/backend/linker.js.map +1 -1
- package/dist/backend/literals.d.ts +9 -0
- package/dist/backend/literals.js +35 -0
- package/dist/backend/literals.js.map +1 -0
- package/dist/backend/literals.test.d.ts +1 -0
- package/dist/backend/literals.test.js +53 -0
- package/dist/backend/literals.test.js.map +1 -0
- package/dist/backend/llvm/blocks.d.ts +2 -0
- package/dist/backend/llvm/blocks.js +9 -4
- package/dist/backend/llvm/blocks.js.map +1 -1
- package/dist/backend/llvm/blocks.test.d.ts +1 -0
- package/dist/backend/llvm/blocks.test.js +91 -0
- package/dist/backend/llvm/blocks.test.js.map +1 -0
- package/dist/backend/llvm/classes.d.ts +14 -8
- package/dist/backend/llvm/classes.js +70 -28
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/common.d.ts +5 -1
- package/dist/backend/llvm/common.js +45 -4
- package/dist/backend/llvm/common.js.map +1 -1
- package/dist/backend/llvm/debug-info.js +2 -7
- package/dist/backend/llvm/debug-info.js.map +1 -1
- package/dist/backend/llvm/debug-info.test.d.ts +1 -0
- package/dist/backend/llvm/debug-info.test.js +110 -0
- package/dist/backend/llvm/debug-info.test.js.map +1 -0
- package/dist/backend/llvm/dyn.d.ts +16 -2
- package/dist/backend/llvm/dyn.js +494 -165
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +596 -1
- package/dist/backend/llvm/emitter.js +695 -410
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.test.d.ts +1 -0
- package/dist/backend/llvm/emitter.test.js +179 -0
- package/dist/backend/llvm/emitter.test.js.map +1 -0
- package/dist/backend/llvm/expr-async.js +23 -14
- package/dist/backend/llvm/expr-async.js.map +1 -1
- package/dist/backend/llvm/expr-bytes.d.ts +1 -1
- package/dist/backend/llvm/expr-bytes.js +32 -14
- package/dist/backend/llvm/expr-bytes.js.map +1 -1
- package/dist/backend/llvm/expr-callbacks.d.ts +1 -1
- package/dist/backend/llvm/expr-callbacks.js +25 -22
- package/dist/backend/llvm/expr-callbacks.js.map +1 -1
- package/dist/backend/llvm/expr-calls.js +136 -35
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-containers.d.ts +1 -1
- package/dist/backend/llvm/expr-containers.js +43 -14
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-context.d.ts +5 -260
- package/dist/backend/llvm/expr-control.js +9 -5
- package/dist/backend/llvm/expr-control.js.map +1 -1
- package/dist/backend/llvm/expr-dispatch.d.ts +1 -1
- package/dist/backend/llvm/expr-dispatch.js +2 -0
- package/dist/backend/llvm/expr-dispatch.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.js +62 -74
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-island.d.ts +1 -1
- package/dist/backend/llvm/expr-island.js +11 -7
- package/dist/backend/llvm/expr-island.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.d.ts +1 -1
- package/dist/backend/llvm/expr-primitives.js +51 -30
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.test.js +1 -1
- package/dist/backend/llvm/expr-records.d.ts +5 -1
- package/dist/backend/llvm/expr-records.js +43 -4
- package/dist/backend/llvm/expr-records.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.d.ts +4 -4
- package/dist/backend/llvm/expr-stream-bridges.js +102 -121
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.test.d.ts +1 -0
- package/dist/backend/llvm/expr-stream-bridges.test.js +55 -0
- package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -0
- package/dist/backend/llvm/expr-stream-callbacks.d.ts +1 -1
- package/dist/backend/llvm/expr-stream-callbacks.js +12 -12
- package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
- package/dist/backend/llvm/layouts.d.ts +19 -0
- package/dist/backend/llvm/layouts.js +12 -0
- package/dist/backend/llvm/layouts.js.map +1 -0
- package/dist/backend/llvm/lib-abi.d.ts +19 -0
- package/dist/backend/llvm/lib-abi.js +82 -0
- package/dist/backend/llvm/lib-abi.js.map +1 -0
- package/dist/backend/llvm/lib-connect.d.ts +2 -0
- package/dist/backend/llvm/lib-connect.js +51 -0
- package/dist/backend/llvm/lib-connect.js.map +1 -0
- package/dist/backend/llvm/lib-datagram.d.ts +2 -0
- package/dist/backend/llvm/lib-datagram.js +135 -0
- package/dist/backend/llvm/lib-datagram.js.map +1 -0
- package/dist/backend/llvm/lib-dispatch.js +50 -6
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.js +30 -18
- package/dist/backend/llvm/lib-filesystem.js.map +1 -1
- package/dist/backend/llvm/lib-http2.d.ts +2 -0
- package/dist/backend/llvm/lib-http2.js +215 -0
- package/dist/backend/llvm/lib-http2.js.map +1 -0
- package/dist/backend/llvm/lib-lookup.d.ts +2 -0
- package/dist/backend/llvm/lib-lookup.js +39 -0
- package/dist/backend/llvm/lib-lookup.js.map +1 -0
- package/dist/backend/llvm/lib-network.js +25 -2
- package/dist/backend/llvm/lib-network.js.map +1 -1
- package/dist/backend/llvm/lib-process.js +21 -16
- package/dist/backend/llvm/lib-process.js.map +1 -1
- package/dist/backend/llvm/lib-shared.js +117 -1
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/lib-stream.js +3 -2
- package/dist/backend/llvm/lib-stream.js.map +1 -1
- package/dist/backend/llvm/lib-test.d.ts +2 -0
- package/dist/backend/llvm/lib-test.js +34 -0
- package/dist/backend/llvm/lib-test.js.map +1 -0
- package/dist/backend/llvm/lib-tls.d.ts +2 -0
- package/dist/backend/llvm/lib-tls.js +82 -0
- package/dist/backend/llvm/lib-tls.js.map +1 -0
- package/dist/backend/llvm/shapes.d.ts +10 -9
- package/dist/backend/llvm/shapes.js +35 -130
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/unsupported.d.ts +1 -0
- package/dist/backend/llvm/unsupported.js +1 -2
- package/dist/backend/llvm/unsupported.js.map +1 -1
- package/dist/backend/llvm/walkers.js +1 -7
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/mangle.d.ts +2 -2
- package/dist/backend/mangle.js +16 -5
- package/dist/backend/mangle.js.map +1 -1
- package/dist/backend/{c/may-throw.d.ts → may-throw.d.ts} +1 -1
- package/dist/backend/{c/may-throw.js → may-throw.js} +51 -46
- package/dist/backend/may-throw.js.map +1 -0
- package/dist/backend/may-throw.test.d.ts +1 -0
- package/dist/backend/may-throw.test.js +58 -0
- package/dist/backend/may-throw.test.js.map +1 -0
- package/dist/backend/native-codegen-core.d.ts +22 -0
- package/dist/backend/native-codegen-core.js +44 -0
- package/dist/backend/native-codegen-core.js.map +1 -0
- package/dist/backend/native-codegen.d.ts +3 -19
- package/dist/backend/native-codegen.js +5 -44
- package/dist/backend/native-codegen.js.map +1 -1
- package/dist/backend/native-codegen.test.js +2 -2
- package/dist/backend/native-codegen.test.js.map +1 -1
- package/dist/backend/native-link-info-core.d.ts +94 -0
- package/dist/backend/native-link-info-core.js +62 -0
- package/dist/backend/native-link-info-core.js.map +1 -0
- package/dist/backend/native-link-info.d.ts +3 -88
- package/dist/backend/native-link-info.js +12 -243
- package/dist/backend/native-link-info.js.map +1 -1
- package/dist/backend/native-link-info.test.js +41 -146
- package/dist/backend/native-link-info.test.js.map +1 -1
- package/dist/backend/native-toolchain.d.ts +10 -25
- package/dist/backend/native-toolchain.js +31 -211
- package/dist/backend/native-toolchain.js.map +1 -1
- package/dist/backend/native-toolchain.test.js +5 -5
- package/dist/backend/native-toolchain.test.js.map +1 -1
- package/dist/backend/native-tools.d.ts +24 -0
- package/dist/backend/native-tools.js +33 -0
- package/dist/backend/native-tools.js.map +1 -0
- package/dist/backend/object-localize.js +19 -8
- package/dist/backend/object-localize.js.map +1 -1
- package/dist/backend/object-localize.test.js +22 -0
- package/dist/backend/object-localize.test.js.map +1 -1
- package/dist/backend/runtime-abi.d.ts +2 -2
- package/dist/backend/runtime-abi.js +2 -2
- package/dist/backend/runtime-pack-core.d.ts +101 -0
- package/dist/backend/runtime-pack-core.js +172 -0
- package/dist/backend/runtime-pack-core.js.map +1 -0
- package/dist/backend/runtime-pack-native.d.ts +21 -0
- package/dist/backend/runtime-pack-native.js +70 -0
- package/dist/backend/runtime-pack-native.js.map +1 -0
- package/dist/backend/runtime-pack-targets.test.js +1 -1
- package/dist/backend/runtime-pack.d.ts +3 -83
- package/dist/backend/runtime-pack.js +8 -151
- package/dist/backend/runtime-pack.js.map +1 -1
- package/dist/backend/runtime-pack.test.js +24 -1
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/backend/target-diagnostics.d.ts +22 -0
- package/dist/backend/target-diagnostics.js +108 -0
- package/dist/backend/target-diagnostics.js.map +1 -0
- package/dist/backend/target-platform.d.ts +15 -0
- package/dist/backend/target-platform.js +72 -0
- package/dist/backend/target-platform.js.map +1 -0
- package/dist/backend/targets.d.ts +13 -4
- package/dist/backend/targets.js +95 -30
- package/dist/backend/targets.js.map +1 -1
- package/dist/backend/targets.test.js +65 -4
- package/dist/backend/targets.test.js.map +1 -1
- package/dist/backend/toolchain-environment.d.ts +6 -0
- package/dist/backend/toolchain-environment.js +99 -0
- package/dist/backend/toolchain-environment.js.map +1 -0
- package/dist/backend/vendor-archives.d.ts +1 -9
- package/dist/backend/vendor-archives.js +2 -9
- package/dist/backend/vendor-archives.js.map +1 -1
- package/dist/backend/vendor-inputs.d.ts +9 -0
- package/dist/backend/vendor-inputs.js +10 -0
- package/dist/backend/vendor-inputs.js.map +1 -0
- package/dist/backend/warm-cache.d.ts +3 -0
- package/dist/backend/warm-cache.js +41 -0
- package/dist/backend/warm-cache.js.map +1 -0
- package/dist/cli/command.d.ts +3 -0
- package/dist/cli/command.js +328 -0
- package/dist/cli/command.js.map +1 -0
- package/dist/cli/host.d.ts +24 -0
- package/dist/cli/host.js +2 -0
- package/dist/cli/host.js.map +1 -0
- package/dist/cli/output-options.d.ts +26 -0
- package/dist/cli/output-options.js +60 -0
- package/dist/cli/output-options.js.map +1 -0
- package/dist/cli/paths.d.ts +12 -0
- package/dist/cli/paths.js +42 -0
- package/dist/cli/paths.js.map +1 -0
- package/dist/cli/usage.d.ts +74 -0
- package/dist/cli/usage.js +86 -0
- package/dist/cli/usage.js.map +1 -0
- package/dist/cli/wasi-paths.d.ts +8 -0
- package/dist/cli/wasi-paths.js +41 -0
- package/dist/cli/wasi-paths.js.map +1 -0
- package/dist/cli/wasi-runner.d.ts +2 -0
- package/dist/cli/wasi-runner.js +28 -0
- package/dist/cli/wasi-runner.js.map +1 -0
- package/dist/compat/fetch-profile.js +3 -3
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/compile-types.d.ts +162 -0
- package/dist/compile-types.js +2 -0
- package/dist/compile-types.js.map +1 -0
- package/dist/coverage/report.js +11 -5
- package/dist/coverage/report.js.map +1 -1
- package/dist/coverage/surface-manifest.js +5 -2
- package/dist/coverage/surface-manifest.js.map +1 -1
- package/dist/diagnostics/diagnostic.js +3 -3
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/executable/executable-cache.d.ts +3 -4
- package/dist/executable/executable-cache.js +5 -6
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/executable/executable-cache.test.js +16 -17
- package/dist/executable/executable-cache.test.js.map +1 -1
- package/dist/executable/prepare.d.ts +14 -0
- package/dist/executable/prepare.js +66 -0
- package/dist/executable/prepare.js.map +1 -0
- package/dist/ffi/ffi-manifest.d.ts +11 -4
- package/dist/ffi/ffi-manifest.js +170 -58
- package/dist/ffi/ffi-manifest.js.map +1 -1
- package/dist/ffi/ffi-manifest.test.d.ts +1 -0
- package/dist/ffi/ffi-manifest.test.js +111 -0
- package/dist/ffi/ffi-manifest.test.js.map +1 -0
- package/dist/format-integer.d.ts +3 -0
- package/dist/format-integer.js +14 -0
- package/dist/format-integer.js.map +1 -0
- package/dist/frontend/analysis.d.ts +5 -0
- package/dist/frontend/analysis.js +88 -0
- package/dist/frontend/analysis.js.map +1 -0
- package/dist/frontend/arguments-usage.d.ts +1 -3
- package/dist/frontend/arguments-usage.js.map +1 -1
- package/dist/frontend/builtin-modules.d.ts +1 -1
- package/dist/frontend/builtin-modules.js +1 -1
- package/dist/frontend/builtin-modules.js.map +1 -1
- package/dist/frontend/cjs-lexer.d.ts +4 -25
- package/dist/frontend/cjs-lexer.js +6 -806
- package/dist/frontend/cjs-lexer.js.map +1 -1
- package/dist/frontend/cjs-resolve.d.ts +5 -0
- package/dist/frontend/cjs-resolve.js +429 -0
- package/dist/frontend/cjs-resolve.js.map +1 -0
- package/dist/frontend/cjs-syntax.d.ts +26 -0
- package/dist/frontend/cjs-syntax.js +806 -0
- package/dist/frontend/cjs-syntax.js.map +1 -0
- package/dist/frontend/comptime-node.d.ts +4 -0
- package/dist/frontend/comptime-node.js +16 -0
- package/dist/frontend/comptime-node.js.map +1 -0
- package/dist/frontend/comptime-node.test.d.ts +1 -0
- package/dist/frontend/comptime-node.test.js +37 -0
- package/dist/frontend/comptime-node.test.js.map +1 -0
- package/dist/frontend/dts-paths.d.ts +3 -4
- package/dist/frontend/dts-paths.js +15 -8
- package/dist/frontend/dts-paths.js.map +1 -1
- package/dist/frontend/fork-target.js +2 -2
- package/dist/frontend/fork-target.js.map +1 -1
- package/dist/frontend/helper-tokens.d.ts +1 -0
- package/dist/frontend/helper-tokens.js +147 -0
- package/dist/frontend/helper-tokens.js.map +1 -0
- package/dist/frontend/helper-tokens.test.d.ts +1 -0
- package/dist/frontend/helper-tokens.test.js +35 -0
- package/dist/frontend/helper-tokens.test.js.map +1 -0
- package/dist/frontend/inferred-js-diagnostics.d.ts +5 -0
- package/dist/frontend/inferred-js-diagnostics.js +69 -0
- package/dist/frontend/inferred-js-diagnostics.js.map +1 -0
- package/dist/frontend/inferred-js-diagnostics.test.d.ts +1 -0
- package/dist/frontend/inferred-js-diagnostics.test.js +58 -0
- package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -0
- package/dist/frontend/input-tracker.d.ts +5 -2
- package/dist/frontend/input-tracker.js +24 -3
- package/dist/frontend/input-tracker.js.map +1 -1
- package/dist/frontend/input-tracker.test.js +23 -0
- package/dist/frontend/input-tracker.test.js.map +1 -1
- package/dist/frontend/lib-contract.js +32 -24
- package/dist/frontend/lib-contract.js.map +1 -1
- package/dist/frontend/literal-values.d.ts +4 -0
- package/dist/frontend/literal-values.js +21 -0
- package/dist/frontend/literal-values.js.map +1 -0
- package/dist/frontend/literal-values.test.d.ts +1 -0
- package/dist/frontend/literal-values.test.js +91 -0
- package/dist/frontend/literal-values.test.js.map +1 -0
- package/dist/frontend/lowering/abstract-equality.d.ts +1 -1
- package/dist/frontend/lowering/abstract-equality.js +3 -0
- package/dist/frontend/lowering/abstract-equality.js.map +1 -1
- package/dist/frontend/lowering/array-indexed-mutation.js +11 -6
- package/dist/frontend/lowering/array-indexed-mutation.js.map +1 -1
- package/dist/frontend/lowering/array-values.d.ts +4 -1
- package/dist/frontend/lowering/array-values.js +43 -1
- package/dist/frontend/lowering/array-values.js.map +1 -1
- package/dist/frontend/lowering/callback-arg.js +1 -0
- package/dist/frontend/lowering/callback-arg.js.map +1 -1
- package/dist/frontend/lowering/class-callbacks.d.ts +12 -0
- package/dist/frontend/lowering/class-callbacks.js +63 -0
- package/dist/frontend/lowering/class-callbacks.js.map +1 -0
- package/dist/frontend/lowering/class-descriptors.d.ts +9 -0
- package/dist/frontend/lowering/class-descriptors.js +73 -0
- package/dist/frontend/lowering/class-descriptors.js.map +1 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +41 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.js +803 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.test.d.ts +1 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js +92 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -0
- package/dist/frontend/lowering/class-instance-constructor.d.ts +7 -0
- package/dist/frontend/lowering/class-instance-constructor.js +64 -0
- package/dist/frontend/lowering/class-instance-constructor.js.map +1 -0
- package/dist/frontend/lowering/class-method-values.d.ts +10 -0
- package/dist/frontend/lowering/class-method-values.js +170 -0
- package/dist/frontend/lowering/class-method-values.js.map +1 -0
- package/dist/frontend/lowering/class-prototypes.d.ts +16 -0
- package/dist/frontend/lowering/class-prototypes.js +134 -0
- package/dist/frontend/lowering/class-prototypes.js.map +1 -0
- package/dist/frontend/lowering/class-static-data.d.ts +6 -0
- package/dist/frontend/lowering/class-static-data.js +56 -0
- package/dist/frontend/lowering/class-static-data.js.map +1 -0
- package/dist/frontend/lowering/containers/buffer-numeric-methods.d.ts +4 -0
- package/dist/frontend/lowering/containers/buffer-numeric-methods.js +26 -0
- package/dist/frontend/lowering/containers/buffer-numeric-methods.js.map +1 -0
- package/dist/frontend/lowering/containers/bytes.d.ts +11 -7
- package/dist/frontend/lowering/containers/bytes.js +164 -155
- package/dist/frontend/lowering/containers/bytes.js.map +1 -1
- package/dist/frontend/lowering/containers/string-and-regexp.d.ts +2 -2
- package/dist/frontend/lowering/containers/string-and-regexp.js +39 -16
- package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
- package/dist/frontend/lowering/containers/string-replacement.d.ts +7 -0
- package/dist/frontend/lowering/containers/string-replacement.js +217 -0
- package/dist/frontend/lowering/containers/string-replacement.js.map +1 -0
- package/dist/frontend/lowering/error-methods.d.ts +11 -0
- package/dist/frontend/lowering/error-methods.js +78 -0
- package/dist/frontend/lowering/error-methods.js.map +1 -0
- package/dist/frontend/lowering/expressions/global-symbols.d.ts +6 -0
- package/dist/frontend/lowering/expressions/global-symbols.js +11 -0
- package/dist/frontend/lowering/expressions/global-symbols.js.map +1 -0
- package/dist/frontend/lowering/expressions/native-proxy.d.ts +7 -0
- package/dist/frontend/lowering/expressions/native-proxy.js +49 -0
- package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -0
- package/dist/frontend/lowering/expressions/nullish-assignment.d.ts +6 -0
- package/dist/frontend/lowering/expressions/nullish-assignment.js +124 -0
- package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -0
- package/dist/frontend/lowering/expressions/object-literals.d.ts +8 -8
- package/dist/frontend/lowering/expressions/object-literals.js +473 -178
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.js +20 -8
- package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
- package/dist/frontend/lowering/expressions/try-lower-expression.js +1 -0
- package/dist/frontend/lowering/expressions/try-lower-expression.js.map +1 -1
- package/dist/frontend/lowering/expressions/union-field-write.d.ts +8 -0
- package/dist/frontend/lowering/expressions/union-field-write.js +71 -0
- package/dist/frontend/lowering/expressions/union-field-write.js.map +1 -0
- package/dist/frontend/lowering/function-context.d.ts +93 -0
- package/dist/frontend/lowering/function-context.js +103 -0
- package/dist/frontend/lowering/function-context.js.map +1 -0
- package/dist/frontend/lowering/generator-delegation.d.ts +7 -0
- package/dist/frontend/lowering/generator-delegation.js +85 -0
- package/dist/frontend/lowering/generator-delegation.js.map +1 -0
- package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +10 -0
- package/dist/frontend/lowering/generator-dynamic-dispatch.js +105 -0
- package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -0
- package/dist/frontend/lowering/lib-boundary.d.ts +2 -1
- package/dist/frontend/lowering/lib-boundary.js +59 -20
- package/dist/frontend/lowering/lib-boundary.js.map +1 -1
- package/dist/frontend/lowering/lib-boundary.test.d.ts +1 -0
- package/dist/frontend/lowering/lib-boundary.test.js +45 -0
- package/dist/frontend/lowering/lib-boundary.test.js.map +1 -0
- package/dist/frontend/lowering/lower-array-sort.d.ts +1 -1
- package/dist/frontend/lowering/lower-assert.d.ts +1 -1
- package/dist/frontend/lowering/lower-assert.js.map +1 -1
- package/dist/frontend/lowering/lower-async-iteration.d.ts +1 -1
- package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
- package/dist/frontend/lowering/lower-builtin-values.d.ts +12 -0
- package/dist/frontend/lowering/lower-builtin-values.js +139 -0
- package/dist/frontend/lowering/lower-builtin-values.js.map +1 -0
- package/dist/frontend/lowering/lower-builtins.d.ts +27 -41
- package/dist/frontend/lowering/lower-builtins.js +539 -343
- package/dist/frontend/lowering/lower-builtins.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +20 -17
- package/dist/frontend/lowering/lower-calls.js +1236 -353
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +83 -45
- package/dist/frontend/lowering/lower-classes.js +952 -339
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-comptime.d.ts +1 -1
- package/dist/frontend/lowering/lower-comptime.js +23 -32
- package/dist/frontend/lowering/lower-comptime.js.map +1 -1
- package/dist/frontend/lowering/lower-containers.d.ts +27 -32
- package/dist/frontend/lowering/lower-containers.js +796 -151
- package/dist/frontend/lowering/lower-containers.js.map +1 -1
- package/dist/frontend/lowering/lower-dgram.d.ts +1 -1
- package/dist/frontend/lowering/lower-dgram.js.map +1 -1
- package/dist/frontend/lowering/lower-enums.d.ts +1 -1
- package/dist/frontend/lowering/lower-enums.js.map +1 -1
- package/dist/frontend/lowering/lower-event-emitter.d.ts +30 -1
- package/dist/frontend/lowering/lower-event-emitter.js +58 -26
- package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
- package/dist/frontend/lowering/lower-expando.d.ts +7 -1
- package/dist/frontend/lowering/lower-expando.js +14 -6
- package/dist/frontend/lowering/lower-expando.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +35 -11
- package/dist/frontend/lowering/lower-exprs.js +1674 -779
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-generators.d.ts +2 -5
- package/dist/frontend/lowering/lower-generators.js +77 -46
- package/dist/frontend/lowering/lower-generators.js.map +1 -1
- package/dist/frontend/lowering/lower-global-value.d.ts +7 -0
- package/dist/frontend/lowering/lower-global-value.js +17 -0
- package/dist/frontend/lowering/lower-global-value.js.map +1 -0
- package/dist/frontend/lowering/lower-inspect.d.ts +1 -1
- package/dist/frontend/lowering/lower-inspect.js +17 -8
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-island.d.ts +5 -8
- package/dist/frontend/lowering/lower-island.js +34 -23
- package/dist/frontend/lowering/lower-island.js.map +1 -1
- package/dist/frontend/lowering/lower-mixins.d.ts +2 -2
- package/dist/frontend/lowering/lower-mixins.js +5 -3
- package/dist/frontend/lowering/lower-mixins.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.d.ts +1 -1
- package/dist/frontend/lowering/lower-modules.js +233 -30
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-namespaces.d.ts +1 -1
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
- package/dist/frontend/lowering/lower-node-module.d.ts +1 -1
- package/dist/frontend/lowering/lower-node-module.js +13 -10
- package/dist/frontend/lowering/lower-node-module.js.map +1 -1
- package/dist/frontend/lowering/lower-server.d.ts +1 -1
- package/dist/frontend/lowering/lower-server.js +6 -10
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +10 -14
- package/dist/frontend/lowering/lower-stmts.js +728 -496
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.d.ts +1 -1
- package/dist/frontend/lowering/lower-stream.js +19 -10
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lower-test.d.ts +1 -1
- package/dist/frontend/lowering/lower-test.js.map +1 -1
- package/dist/frontend/lowering/lower-url.d.ts +6 -0
- package/dist/frontend/lowering/lower-url.js +77 -0
- package/dist/frontend/lowering/lower-url.js.map +1 -0
- package/dist/frontend/lowering/lowerer.d.ts +113 -189
- package/dist/frontend/lowering/lowerer.js +1031 -672
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/lowerer.test.d.ts +1 -0
- package/dist/frontend/lowering/lowerer.test.js +26 -0
- package/dist/frontend/lowering/lowerer.test.js.map +1 -0
- package/dist/frontend/lowering/native-ffi.d.ts +5 -0
- package/dist/frontend/lowering/native-ffi.js +40 -0
- package/dist/frontend/lowering/native-ffi.js.map +1 -0
- package/dist/frontend/lowering/object-enumeration-receiver.d.ts +7 -0
- package/dist/frontend/lowering/object-enumeration-receiver.js +33 -0
- package/dist/frontend/lowering/object-enumeration-receiver.js.map +1 -0
- package/dist/frontend/lowering/object-factory-new.d.ts +8 -0
- package/dist/frontend/lowering/object-factory-new.js +68 -0
- package/dist/frontend/lowering/object-factory-new.js.map +1 -0
- package/dist/frontend/lowering/optional-arguments.js +6 -1
- package/dist/frontend/lowering/optional-arguments.js.map +1 -1
- package/dist/frontend/lowering/pairs-snapshot.js +2 -1
- package/dist/frontend/lowering/pairs-snapshot.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-locals.d.ts +14 -0
- package/dist/frontend/lowering/runtime-optional-locals.js +41 -0
- package/dist/frontend/lowering/runtime-optional-locals.js.map +1 -0
- package/dist/frontend/lowering/runtime-optional-locals.test.d.ts +1 -0
- package/dist/frontend/lowering/runtime-optional-locals.test.js +85 -0
- package/dist/frontend/lowering/runtime-optional-locals.test.js.map +1 -0
- package/dist/frontend/lowering/sanitize-class-types.d.ts +8 -0
- package/dist/frontend/lowering/sanitize-class-types.js +79 -0
- package/dist/frontend/lowering/sanitize-class-types.js.map +1 -0
- package/dist/frontend/lowering/sanitize-class-types.test.d.ts +1 -0
- package/dist/frontend/lowering/sanitize-class-types.test.js +60 -0
- package/dist/frontend/lowering/sanitize-class-types.test.js.map +1 -0
- package/dist/frontend/lowering/static-this.d.ts +5 -1
- package/dist/frontend/lowering/static-this.js +28 -2
- package/dist/frontend/lowering/static-this.js.map +1 -1
- package/dist/frontend/lowering/string-index.d.ts +7 -0
- package/dist/frontend/lowering/string-index.js +39 -0
- package/dist/frontend/lowering/string-index.js.map +1 -0
- package/dist/frontend/lowering/surfaces.d.ts +8 -3
- package/dist/frontend/lowering/surfaces.js +61 -29
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/symbol-fields.d.ts +22 -0
- package/dist/frontend/lowering/symbol-fields.js +183 -0
- package/dist/frontend/lowering/symbol-fields.js.map +1 -0
- package/dist/frontend/lowering/symbol-methods.d.ts +7 -0
- package/dist/frontend/lowering/symbol-methods.js +30 -0
- package/dist/frontend/lowering/symbol-methods.js.map +1 -0
- package/dist/frontend/lowering/text-decoder-encoding.d.ts +10 -0
- package/dist/frontend/lowering/text-decoder-encoding.js +77 -0
- package/dist/frontend/lowering/text-decoder-encoding.js.map +1 -0
- package/dist/frontend/lowering/text-decoder-encoding.test.d.ts +1 -0
- package/dist/frontend/lowering/text-decoder-encoding.test.js +38 -0
- package/dist/frontend/lowering/text-decoder-encoding.test.js.map +1 -0
- package/dist/frontend/lowering/union-narrow.d.ts +9 -0
- package/dist/frontend/lowering/union-narrow.js +59 -0
- package/dist/frontend/lowering/union-narrow.js.map +1 -0
- package/dist/frontend/lowering/union-narrow.test.d.ts +1 -0
- package/dist/frontend/lowering/union-narrow.test.js +72 -0
- package/dist/frontend/lowering/union-narrow.test.js.map +1 -0
- package/dist/frontend/lowering/union-retag.d.ts +43 -0
- package/dist/frontend/lowering/union-retag.js +259 -0
- package/dist/frontend/lowering/union-retag.js.map +1 -0
- package/dist/frontend/lowering/union-retag.test.d.ts +1 -0
- package/dist/frontend/lowering/union-retag.test.js +405 -0
- package/dist/frontend/lowering/union-retag.test.js.map +1 -0
- package/dist/frontend/lowering/unregistered-class-types.d.ts +14 -0
- package/dist/frontend/lowering/unregistered-class-types.js +94 -0
- package/dist/frontend/lowering/unregistered-class-types.js.map +1 -0
- package/dist/frontend/lowering/unregistered-class-types.test.d.ts +1 -0
- package/dist/frontend/lowering/unregistered-class-types.test.js +65 -0
- package/dist/frontend/lowering/unregistered-class-types.test.js.map +1 -0
- package/dist/frontend/lowering/width-lift.d.ts +40 -0
- package/dist/frontend/lowering/width-lift.js +2 -0
- package/dist/frontend/lowering/width-lift.js.map +1 -0
- package/dist/frontend/module-syntax.d.ts +58 -0
- package/dist/frontend/module-syntax.js +123 -0
- package/dist/frontend/module-syntax.js.map +1 -0
- package/dist/frontend/module-syntax.test.d.ts +1 -0
- package/dist/frontend/module-syntax.test.js +78 -0
- package/dist/frontend/module-syntax.test.js.map +1 -0
- package/dist/frontend/npm-fetch-analysis.d.ts +17 -0
- package/dist/frontend/npm-fetch-analysis.js +100 -0
- package/dist/frontend/npm-fetch-analysis.js.map +1 -0
- package/dist/frontend/npm-fetch-analysis.test.d.ts +1 -0
- package/dist/frontend/npm-fetch-analysis.test.js +107 -0
- package/dist/frontend/npm-fetch-analysis.test.js.map +1 -0
- package/dist/frontend/npm-fetch-node.d.ts +2 -0
- package/dist/frontend/npm-fetch-node.js +12 -0
- package/dist/frontend/npm-fetch-node.js.map +1 -0
- package/dist/frontend/npm-fetch-syntax.d.ts +6 -0
- package/dist/frontend/npm-fetch-syntax.js +207 -0
- package/dist/frontend/npm-fetch-syntax.js.map +1 -0
- package/dist/frontend/npm-node.d.ts +10 -0
- package/dist/frontend/npm-node.js +14 -0
- package/dist/frontend/npm-node.js.map +1 -0
- package/dist/frontend/npm-static-bundled-cjs.d.ts +8 -0
- package/dist/frontend/npm-static-bundled-cjs.js +236 -0
- package/dist/frontend/npm-static-bundled-cjs.js.map +1 -0
- package/dist/frontend/npm-static-bundled-cjs.test.d.ts +1 -0
- package/dist/frontend/npm-static-bundled-cjs.test.js +69 -0
- package/dist/frontend/npm-static-bundled-cjs.test.js.map +1 -0
- package/dist/frontend/npm-static-declaration-syntax.d.ts +57 -0
- package/dist/frontend/npm-static-declaration-syntax.js +944 -0
- package/dist/frontend/npm-static-declaration-syntax.js.map +1 -0
- package/dist/frontend/npm-static-declarations.d.ts +11 -39
- package/dist/frontend/npm-static-declarations.js +22 -561
- package/dist/frontend/npm-static-declarations.js.map +1 -1
- package/dist/frontend/npm-static-declarations.test.js +245 -6
- package/dist/frontend/npm-static-declarations.test.js.map +1 -1
- package/dist/frontend/npm-static-prune.d.ts +1 -1
- package/dist/frontend/npm-static-prune.js +5 -4
- package/dist/frontend/npm-static-prune.js.map +1 -1
- package/dist/frontend/npm-static-prune.test.js +1 -1
- package/dist/frontend/npm-static-prune.test.js.map +1 -1
- package/dist/frontend/npm-static-rewrite-host.d.ts +4 -0
- package/dist/frontend/npm-static-rewrite-host.js +179 -0
- package/dist/frontend/npm-static-rewrite-host.js.map +1 -0
- package/dist/frontend/npm-static-rewrite-syntax.d.ts +16 -0
- package/dist/frontend/npm-static-rewrite-syntax.js +905 -0
- package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -0
- package/dist/frontend/npm-static-rewrite.d.ts +0 -5
- package/dist/frontend/npm-static-rewrite.js +2 -1079
- package/dist/frontend/npm-static-rewrite.js.map +1 -1
- package/dist/frontend/npm-static-subtyping.d.ts +5 -0
- package/dist/frontend/npm-static-subtyping.js +55 -0
- package/dist/frontend/npm-static-subtyping.js.map +1 -0
- package/dist/frontend/npm-static-subtyping.test.d.ts +1 -0
- package/dist/frontend/npm-static-subtyping.test.js +58 -0
- package/dist/frontend/npm-static-subtyping.test.js.map +1 -0
- package/dist/frontend/npm-static.d.ts +7 -15
- package/dist/frontend/npm-static.js +19 -28
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/npm.d.ts +8 -69
- package/dist/frontend/npm.js +21 -361
- package/dist/frontend/npm.js.map +1 -1
- package/dist/frontend/npm.test.js +2 -2
- package/dist/frontend/npm.test.js.map +1 -1
- package/dist/frontend/pipeline-native.d.ts +6 -0
- package/dist/frontend/pipeline-native.js +32 -0
- package/dist/frontend/pipeline-native.js.map +1 -0
- package/dist/frontend/pipeline.d.ts +54 -0
- package/dist/frontend/pipeline.js +382 -0
- package/dist/frontend/pipeline.js.map +1 -0
- package/dist/frontend/pipeline.test.d.ts +1 -0
- package/dist/frontend/pipeline.test.js +77 -0
- package/dist/frontend/pipeline.test.js.map +1 -0
- package/dist/frontend/program-analysis.d.ts +10 -0
- package/dist/frontend/program-analysis.js +14 -0
- package/dist/frontend/program-analysis.js.map +1 -0
- package/dist/frontend/program-node.d.ts +9 -0
- package/dist/frontend/program-node.js +48 -0
- package/dist/frontend/program-node.js.map +1 -0
- package/dist/frontend/program.d.ts +38 -19
- package/dist/frontend/program.js +344 -169
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/program.test.js +87 -2
- package/dist/frontend/program.test.js.map +1 -1
- package/dist/frontend/provenance-core.d.ts +9 -0
- package/dist/frontend/provenance-core.js +435 -0
- package/dist/frontend/provenance-core.js.map +1 -0
- package/dist/frontend/provenance.d.ts +0 -4
- package/dist/frontend/provenance.js +4 -459
- package/dist/frontend/provenance.js.map +1 -1
- package/dist/frontend/resolve.d.ts +3 -1
- package/dist/frontend/resolve.js +6 -3
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/runtime-resolve.d.ts +4 -3
- package/dist/frontend/runtime-resolve.js +22 -18
- package/dist/frontend/runtime-resolve.js.map +1 -1
- package/dist/frontend/runtime-resolve.test.js +53 -0
- package/dist/frontend/runtime-resolve.test.js.map +1 -1
- package/dist/frontend/services-node.d.ts +5 -0
- package/dist/frontend/services-node.js +19 -0
- package/dist/frontend/services-node.js.map +1 -0
- package/dist/frontend/services-node.test.d.ts +1 -0
- package/dist/frontend/services-node.test.js +70 -0
- package/dist/frontend/services-node.test.js.map +1 -0
- package/dist/frontend/services.d.ts +44 -0
- package/dist/frontend/services.js +90 -0
- package/dist/frontend/services.js.map +1 -0
- package/dist/frontend/services.test.d.ts +1 -0
- package/dist/frontend/services.test.js +174 -0
- package/dist/frontend/services.test.js.map +1 -0
- package/dist/frontend/ts7/adapter.d.ts +3 -3
- package/dist/frontend/ts7/adapter.js +14 -31
- package/dist/frontend/ts7/adapter.js.map +1 -1
- package/dist/frontend/ts7/api.d.ts +16 -0
- package/dist/frontend/ts7/api.js +24 -0
- package/dist/frontend/ts7/api.js.map +1 -0
- package/dist/frontend/ts7/ast-bytes.d.ts +31 -0
- package/dist/frontend/ts7/ast-bytes.js +137 -0
- package/dist/frontend/ts7/ast-bytes.js.map +1 -0
- package/dist/frontend/ts7/ast-bytes.test.d.ts +1 -0
- package/dist/frontend/ts7/ast-bytes.test.js +73 -0
- package/dist/frontend/ts7/ast-bytes.test.js.map +1 -0
- package/dist/frontend/ts7/ast-guards.generated.d.ts +353 -0
- package/dist/frontend/ts7/ast-guards.generated.js +1951 -0
- package/dist/frontend/ts7/ast-guards.generated.js.map +1 -0
- package/dist/frontend/ts7/ast-guards.test.d.ts +1 -0
- package/dist/frontend/ts7/ast-guards.test.js +43 -0
- package/dist/frontend/ts7/ast-guards.test.js.map +1 -0
- package/dist/frontend/ts7/ast-node.d.ts +194 -0
- package/dist/frontend/ts7/ast-node.js +448 -0
- package/dist/frontend/ts7/ast-node.js.map +1 -0
- package/dist/frontend/ts7/ast-node.test.d.ts +1 -0
- package/dist/frontend/ts7/ast-node.test.js +266 -0
- package/dist/frontend/ts7/ast-node.test.js.map +1 -0
- package/dist/frontend/ts7/ast-schema.generated.d.ts +503 -0
- package/dist/frontend/ts7/ast-schema.generated.js +1446 -0
- package/dist/frontend/ts7/ast-schema.generated.js.map +1 -0
- package/dist/frontend/ts7/ast-text.d.ts +6 -0
- package/dist/frontend/ts7/ast-text.js +124 -0
- package/dist/frontend/ts7/ast-text.js.map +1 -0
- package/dist/frontend/ts7/ast-text.test.d.ts +1 -0
- package/dist/frontend/ts7/ast-text.test.js +38 -0
- package/dist/frontend/ts7/ast-text.test.js.map +1 -0
- package/dist/frontend/ts7/ast-tokens.generated.d.ts +2 -0
- package/dist/frontend/ts7/ast-tokens.generated.js +155 -0
- package/dist/frontend/ts7/ast-tokens.generated.js.map +1 -0
- package/dist/frontend/ts7/ast-types.d.ts +42 -0
- package/dist/frontend/ts7/ast-types.generated.d.ts +1615 -0
- package/dist/frontend/ts7/ast-types.generated.js +5 -0
- package/dist/frontend/ts7/ast-types.generated.js.map +1 -0
- package/dist/frontend/ts7/ast-types.js +3 -0
- package/dist/frontend/ts7/ast-types.js.map +1 -0
- package/dist/frontend/ts7/ast-wire.d.ts +58 -0
- package/dist/frontend/ts7/ast-wire.js +267 -0
- package/dist/frontend/ts7/ast-wire.js.map +1 -0
- package/dist/frontend/ts7/ast-wire.test.d.ts +1 -0
- package/dist/frontend/ts7/ast-wire.test.js +151 -0
- package/dist/frontend/ts7/ast-wire.test.js.map +1 -0
- package/dist/frontend/ts7/ast.d.ts +14 -14
- package/dist/frontend/ts7/ast.js +21 -15
- package/dist/frontend/ts7/ast.js.map +1 -1
- package/dist/frontend/ts7/census-check.js +1 -0
- package/dist/frontend/ts7/census-check.js.map +1 -1
- package/dist/frontend/ts7/checker-cache.d.ts +48 -0
- package/dist/frontend/ts7/checker-cache.js +92 -0
- package/dist/frontend/ts7/checker-cache.js.map +1 -0
- package/dist/frontend/ts7/checker.d.ts +19 -46
- package/dist/frontend/ts7/checker.js +231 -161
- package/dist/frontend/ts7/checker.js.map +1 -1
- package/dist/frontend/ts7/checker.test.d.ts +1 -0
- package/dist/frontend/ts7/checker.test.js +335 -0
- package/dist/frontend/ts7/checker.test.js.map +1 -0
- package/dist/frontend/ts7/enums.d.ts +4 -27
- package/dist/frontend/ts7/enums.generated.d.ts +878 -0
- package/dist/frontend/ts7/enums.generated.js +1313 -0
- package/dist/frontend/ts7/enums.generated.js.map +1 -0
- package/dist/frontend/ts7/enums.js +4 -45
- package/dist/frontend/ts7/enums.js.map +1 -1
- package/dist/frontend/ts7/enums.test.d.ts +1 -0
- package/dist/frontend/ts7/enums.test.js +48 -0
- package/dist/frontend/ts7/enums.test.js.map +1 -0
- package/dist/frontend/ts7/native-api.d.ts +10 -0
- package/dist/frontend/ts7/native-api.js +10 -0
- package/dist/frontend/ts7/native-api.js.map +1 -0
- package/dist/frontend/ts7/native-host.d.ts +2 -0
- package/dist/frontend/ts7/native-host.js +11 -0
- package/dist/frontend/ts7/native-host.js.map +1 -0
- package/dist/frontend/ts7/native-process.d.ts +14 -0
- package/dist/frontend/ts7/native-process.js +62 -0
- package/dist/frontend/ts7/native-process.js.map +1 -0
- package/dist/frontend/ts7/program-adapter.d.ts +10 -98
- package/dist/frontend/ts7/program-adapter.js +16 -310
- package/dist/frontend/ts7/program-adapter.js.map +1 -1
- package/dist/frontend/ts7/program-host.d.ts +115 -0
- package/dist/frontend/ts7/program-host.js +347 -0
- package/dist/frontend/ts7/program-host.js.map +1 -0
- package/dist/frontend/ts7/program-host.test.d.ts +1 -0
- package/dist/frontend/ts7/program-host.test.js +207 -0
- package/dist/frontend/ts7/program-host.test.js.map +1 -0
- package/dist/frontend/ts7/rpc-api.d.ts +12 -0
- package/dist/frontend/ts7/rpc-api.js +23 -0
- package/dist/frontend/ts7/rpc-api.js.map +1 -0
- package/dist/frontend/ts7/rpc-client.d.ts +27 -0
- package/dist/frontend/ts7/rpc-client.js +102 -0
- package/dist/frontend/ts7/rpc-client.js.map +1 -0
- package/dist/frontend/ts7/rpc-client.test.d.ts +1 -0
- package/dist/frontend/ts7/rpc-client.test.js +133 -0
- package/dist/frontend/ts7/rpc-client.test.js.map +1 -0
- package/dist/frontend/ts7/rpc-filesystem.d.ts +16 -0
- package/dist/frontend/ts7/rpc-filesystem.js +42 -0
- package/dist/frontend/ts7/rpc-filesystem.js.map +1 -0
- package/dist/frontend/ts7/rpc-filesystem.test.d.ts +1 -0
- package/dist/frontend/ts7/rpc-filesystem.test.js +89 -0
- package/dist/frontend/ts7/rpc-filesystem.test.js.map +1 -0
- package/dist/frontend/ts7/rpc-process.d.ts +2 -0
- package/dist/frontend/ts7/rpc-process.js +148 -0
- package/dist/frontend/ts7/rpc-process.js.map +1 -0
- package/dist/frontend/ts7/rpc-process.test.d.ts +1 -0
- package/dist/frontend/ts7/rpc-process.test.js +29 -0
- package/dist/frontend/ts7/rpc-process.test.js.map +1 -0
- package/dist/frontend/ts7/rpc-wire.d.ts +46 -0
- package/dist/frontend/ts7/rpc-wire.js +195 -0
- package/dist/frontend/ts7/rpc-wire.js.map +1 -0
- package/dist/frontend/ts7/rpc-wire.test.d.ts +1 -0
- package/dist/frontend/ts7/rpc-wire.test.js +168 -0
- package/dist/frontend/ts7/rpc-wire.test.js.map +1 -0
- package/dist/frontend/ts7/semantic-checker.d.ts +137 -0
- package/dist/frontend/ts7/semantic-checker.js +221 -0
- package/dist/frontend/ts7/semantic-checker.js.map +1 -0
- package/dist/frontend/ts7/semantic-checker.test.d.ts +1 -0
- package/dist/frontend/ts7/semantic-checker.test.js +119 -0
- package/dist/frontend/ts7/semantic-checker.test.js.map +1 -0
- package/dist/frontend/ts7/semantic-json.d.ts +5 -0
- package/dist/frontend/ts7/semantic-json.js +52 -0
- package/dist/frontend/ts7/semantic-json.js.map +1 -0
- package/dist/frontend/ts7/semantic-json.test.d.ts +1 -0
- package/dist/frontend/ts7/semantic-json.test.js +42 -0
- package/dist/frontend/ts7/semantic-json.test.js.map +1 -0
- package/dist/frontend/ts7/semantic-model.d.ts +222 -0
- package/dist/frontend/ts7/semantic-model.js +423 -0
- package/dist/frontend/ts7/semantic-model.js.map +1 -0
- package/dist/frontend/ts7/semantic-model.test.d.ts +1 -0
- package/dist/frontend/ts7/semantic-model.test.js +322 -0
- package/dist/frontend/ts7/semantic-model.test.js.map +1 -0
- package/dist/frontend/ts7/semantic-schema.generated.d.ts +283 -0
- package/dist/frontend/ts7/semantic-schema.generated.js +222 -0
- package/dist/frontend/ts7/semantic-schema.generated.js.map +1 -0
- package/dist/frontend/ts7/semantic-types.d.ts +5 -0
- package/dist/frontend/ts7/semantic-types.js +2 -0
- package/dist/frontend/ts7/semantic-types.js.map +1 -0
- package/dist/frontend/ts7/session-cache.d.ts +17 -0
- package/dist/frontend/ts7/session-cache.js +97 -0
- package/dist/frontend/ts7/session-cache.js.map +1 -0
- package/dist/frontend/ts7/session-cache.test.d.ts +1 -0
- package/dist/frontend/ts7/session-cache.test.js +87 -0
- package/dist/frontend/ts7/session-cache.test.js.map +1 -0
- package/dist/frontend/ts7/session-path.d.ts +18 -0
- package/dist/frontend/ts7/session-path.js +203 -0
- package/dist/frontend/ts7/session-path.js.map +1 -0
- package/dist/frontend/ts7/session-path.test.d.ts +1 -0
- package/dist/frontend/ts7/session-path.test.js +34 -0
- package/dist/frontend/ts7/session-path.test.js.map +1 -0
- package/dist/frontend/ts7/session-schema.generated.d.ts +167 -0
- package/dist/frontend/ts7/session-schema.generated.js +5 -0
- package/dist/frontend/ts7/session-schema.generated.js.map +1 -0
- package/dist/frontend/ts7/session-timing.d.ts +50 -0
- package/dist/frontend/ts7/session-timing.js +61 -0
- package/dist/frontend/ts7/session-timing.js.map +1 -0
- package/dist/frontend/ts7/session-timing.test.d.ts +1 -0
- package/dist/frontend/ts7/session-timing.test.js +52 -0
- package/dist/frontend/ts7/session-timing.test.js.map +1 -0
- package/dist/frontend/ts7/session.d.ts +105 -0
- package/dist/frontend/ts7/session.js +233 -0
- package/dist/frontend/ts7/session.js.map +1 -0
- package/dist/frontend/ts7/session.test.d.ts +1 -0
- package/dist/frontend/ts7/session.test.js +215 -0
- package/dist/frontend/ts7/session.test.js.map +1 -0
- package/dist/frontend/ts7/source-parser-node.d.ts +6 -0
- package/dist/frontend/ts7/source-parser-node.js +15 -0
- package/dist/frontend/ts7/source-parser-node.js.map +1 -0
- package/dist/frontend/ts7/source-parser.d.ts +25 -0
- package/dist/frontend/ts7/source-parser.js +96 -0
- package/dist/frontend/ts7/source-parser.js.map +1 -0
- package/dist/frontend/ts7/source-parser.test.d.ts +1 -0
- package/dist/frontend/ts7/source-parser.test.js +151 -0
- package/dist/frontend/ts7/source-parser.test.js.map +1 -0
- package/dist/frontend/ts7/syntax.d.ts +3 -0
- package/dist/frontend/ts7/syntax.js +4 -0
- package/dist/frontend/ts7/syntax.js.map +1 -0
- package/dist/frontend/tsc-codes.js +3 -0
- package/dist/frontend/tsc-codes.js.map +1 -1
- package/dist/frontend/type-mapper.d.ts +25 -17
- package/dist/frontend/type-mapper.js +465 -121
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/frontend/type-mapper.test.js +123 -2
- package/dist/frontend/type-mapper.test.js.map +1 -1
- package/dist/frontend/union-discriminants.d.ts +16 -0
- package/dist/frontend/union-discriminants.js +98 -0
- package/dist/frontend/union-discriminants.js.map +1 -0
- package/dist/frontend/union-discriminants.test.d.ts +1 -0
- package/dist/frontend/union-discriminants.test.js +182 -0
- package/dist/frontend/union-discriminants.test.js.map +1 -0
- package/dist/index.d.ts +7 -198
- package/dist/index.js +369 -1572
- package/dist/index.js.map +1 -1
- package/dist/ir/analysis.d.ts +16 -4
- package/dist/ir/analysis.js +21 -4
- package/dist/ir/analysis.js.map +1 -1
- package/dist/ir/analysis.test.js +15 -2
- package/dist/ir/analysis.test.js.map +1 -1
- package/dist/ir/constant-tables.js +67 -49
- package/dist/ir/constant-tables.js.map +1 -1
- package/dist/ir/constant-tables.test.js +1 -1
- package/dist/ir/control-flow.d.ts +6 -0
- package/dist/ir/control-flow.js +142 -0
- package/dist/ir/control-flow.js.map +1 -0
- package/dist/ir/control-flow.test.d.ts +1 -0
- package/dist/ir/control-flow.test.js +113 -0
- package/dist/ir/control-flow.test.js.map +1 -0
- package/dist/ir/integer-loops.js +7 -18
- package/dist/ir/integer-loops.js.map +1 -1
- package/dist/ir/integer-ranges.js +53 -27
- package/dist/ir/integer-ranges.js.map +1 -1
- package/dist/ir/ir.d.ts +291 -152
- package/dist/ir/ir.js +588 -881
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/ir.test.js +127 -1
- package/dist/ir/ir.test.js.map +1 -1
- package/dist/ir/scalar-records.js +165 -134
- package/dist/ir/scalar-records.js.map +1 -1
- package/dist/ir/scalar-records.test.js +1 -1
- package/dist/ir/serialize.d.ts +4 -2
- package/dist/ir/serialize.js +19 -12
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/serialize.test.d.ts +1 -0
- package/dist/ir/serialize.test.js +53 -0
- package/dist/ir/serialize.test.js.map +1 -0
- package/dist/ir/traverse.d.ts +41 -0
- package/dist/ir/traverse.js +660 -0
- package/dist/ir/traverse.js.map +1 -0
- package/dist/ir/traverse.test.d.ts +1 -0
- package/dist/ir/traverse.test.js +242 -0
- package/dist/ir/traverse.test.js.map +1 -0
- package/dist/ir/validate.js +1942 -1491
- package/dist/ir/validate.js.map +1 -1
- package/dist/ir/validate.test.js +476 -2
- package/dist/ir/validate.test.js.map +1 -1
- package/dist/library/cache-primitives.d.ts +2 -3
- package/dist/library/cache-primitives.js +4 -6
- package/dist/library/cache-primitives.js.map +1 -1
- package/dist/library/fence-eval.js +2 -2
- package/dist/library/fence-eval.js.map +1 -1
- package/dist/library/int-infer.js +7 -6
- package/dist/library/int-infer.js.map +1 -1
- package/dist/library/int-infer.test.js +4 -4
- package/dist/library/library-cache.d.ts +3 -2
- package/dist/library/library-cache.js +5 -17
- package/dist/library/library-cache.js.map +1 -1
- package/dist/library/library-cache.test.js +54 -41
- package/dist/library/library-cache.test.js.map +1 -1
- package/dist/library/library-profile.d.ts +3 -1
- package/dist/library/library-profile.js +15 -6
- package/dist/library/library-profile.js.map +1 -1
- package/dist/library/prepare.d.ts +15 -0
- package/dist/library/prepare.js +584 -0
- package/dist/library/prepare.js.map +1 -0
- package/dist/library/semantic-source.d.ts +1 -1
- package/dist/library/semantic-source.js +8 -6
- package/dist/library/semantic-source.js.map +1 -1
- package/dist/library/sidecar-validate.js +4 -4
- package/dist/library/sidecar-validate.js.map +1 -1
- package/dist/library/sidecar.d.ts +2 -0
- package/dist/library/sidecar.js +10 -3
- package/dist/library/sidecar.js.map +1 -1
- package/dist/native/cache.d.ts +11 -0
- package/dist/native/cache.js +113 -0
- package/dist/native/cache.js.map +1 -0
- package/dist/native/cache.test.d.ts +1 -0
- package/dist/native/cache.test.js +66 -0
- package/dist/native/cache.test.js.map +1 -0
- package/dist/native/cli.d.ts +1 -0
- package/dist/native/cli.js +112 -0
- package/dist/native/cli.js.map +1 -0
- package/dist/native/compiler.d.ts +15 -0
- package/dist/native/compiler.js +336 -0
- package/dist/native/compiler.js.map +1 -0
- package/dist/native/compiler.test.d.ts +1 -0
- package/dist/native/compiler.test.js +174 -0
- package/dist/native/compiler.test.js.map +1 -0
- package/dist/native/comptime.d.ts +5 -0
- package/dist/native/comptime.js +73 -0
- package/dist/native/comptime.js.map +1 -0
- package/dist/native/comptime.test.d.ts +1 -0
- package/dist/native/comptime.test.js +65 -0
- package/dist/native/comptime.test.js.map +1 -0
- package/dist/native/executable-cache.d.ts +26 -0
- package/dist/native/executable-cache.js +228 -0
- package/dist/native/executable-cache.js.map +1 -0
- package/dist/native/executable-cache.test.d.ts +1 -0
- package/dist/native/executable-cache.test.js +151 -0
- package/dist/native/executable-cache.test.js.map +1 -0
- package/dist/native/file-identity.d.ts +4 -0
- package/dist/native/file-identity.js +14 -0
- package/dist/native/file-identity.js.map +1 -0
- package/dist/native/file-identity.test.d.ts +1 -0
- package/dist/native/file-identity.test.js +43 -0
- package/dist/native/file-identity.test.js.map +1 -0
- package/dist/native/library.d.ts +22 -0
- package/dist/native/library.js +83 -0
- package/dist/native/library.js.map +1 -0
- package/dist/native/prepare.d.ts +21 -0
- package/dist/native/prepare.js +174 -0
- package/dist/native/prepare.js.map +1 -0
- package/dist/native/prepare.test.d.ts +1 -0
- package/dist/native/prepare.test.js +70 -0
- package/dist/native/prepare.test.js.map +1 -0
- package/dist/native/sanitizer.d.ts +11 -0
- package/dist/native/sanitizer.js +135 -0
- package/dist/native/sanitizer.js.map +1 -0
- package/dist/native/sanitizer.test.d.ts +1 -0
- package/dist/native/sanitizer.test.js +58 -0
- package/dist/native/sanitizer.test.js.map +1 -0
- package/dist/native/task.d.ts +4 -0
- package/dist/native/task.js +16 -0
- package/dist/native/task.js.map +1 -0
- package/dist/native/task.test.d.ts +1 -0
- package/dist/native/task.test.js +17 -0
- package/dist/native/task.test.js.map +1 -0
- package/dist/native/toolchain.d.ts +45 -0
- package/dist/native/toolchain.js +74 -0
- package/dist/native/toolchain.js.map +1 -0
- package/dist/native/toolchain.test.d.ts +1 -0
- package/dist/native/toolchain.test.js +33 -0
- package/dist/native/toolchain.test.js.map +1 -0
- package/dist/startup-cache.d.ts +1 -1
- package/dist/startup-cache.js +2 -5
- package/dist/startup-cache.js.map +1 -1
- package/dist/timing.d.ts +4 -0
- package/dist/timing.js +19 -0
- package/dist/timing.js.map +1 -0
- package/dist/wasi-paths.js +10 -7
- package/dist/wasi-paths.js.map +1 -1
- package/package.json +28 -19
- package/surface-manifest.json +52 -18
- package/dist/backend/c/async.d.ts +0 -171
- package/dist/backend/c/async.js +0 -1317
- package/dist/backend/c/async.js.map +0 -1
- package/dist/backend/c/c-emitter.d.ts +0 -536
- package/dist/backend/c/c-emitter.js +0 -1932
- package/dist/backend/c/c-emitter.js.map +0 -1
- package/dist/backend/c/exprs.d.ts +0 -15
- package/dist/backend/c/exprs.js +0 -8847
- package/dist/backend/c/exprs.js.map +0 -1
- package/dist/backend/c/island.d.ts +0 -45
- package/dist/backend/c/island.js +0 -281
- package/dist/backend/c/island.js.map +0 -1
- package/dist/backend/c/may-throw.js.map +0 -1
- package/dist/backend/c/shapes.d.ts +0 -142
- package/dist/backend/c/shapes.js +0 -603
- package/dist/backend/c/shapes.js.map +0 -1
- package/dist/backend/c/stmts.d.ts +0 -76
- package/dist/backend/c/stmts.js +0 -1108
- package/dist/backend/c/stmts.js.map +0 -1
- package/dist/backend/c/types.d.ts +0 -71
- package/dist/backend/c/types.js +0 -459
- package/dist/backend/c/types.js.map +0 -1
- package/dist/backend/c/types.test.js +0 -32
- package/dist/backend/c/types.test.js.map +0 -1
- package/dist/backend/c/walkers.d.ts +0 -134
- package/dist/backend/c/walkers.js +0 -1772
- package/dist/backend/c/walkers.js.map +0 -1
- /package/dist/backend/{c/types.test.d.ts → cycle-analysis.test.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lower-url.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lower-url.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
import { RuntimeOptionalLocals } from "./runtime-optional-locals.js";
|
|
2
|
+
import type { WidthLift } from "./width-lift.js";
|
|
3
|
+
export type { WidthLift } from "./width-lift.js";
|
|
4
|
+
import { type FnCtx } from "./function-context.js";
|
|
5
|
+
export { newFnCtx, type FnCtx } from "./function-context.js";
|
|
6
|
+
import type { FrontendServices } from "../services.js";
|
|
7
|
+
import type { ClassSymbolKey } from "./symbol-fields.js";
|
|
8
|
+
import type { HttpClientFnBinding } from "./lower-server.js";
|
|
1
9
|
import * as ts from "../ts7/adapter.js";
|
|
2
10
|
import type { ScrDiagnostic } from "../../diagnostics/diagnostic.js";
|
|
3
11
|
import { UNSUPPORTED } from "../../diagnostics/diagnostic.js";
|
|
@@ -5,52 +13,17 @@ import type { IrClassDef, IrExpr, IrFfiImport, IrFunction, IrGlobal, IrLocal, Ir
|
|
|
5
13
|
import { type DynamicImportResolution, type NpmBuiltinUse, type NpmLazyTrap } from "../npm.js";
|
|
6
14
|
import { type StartupCrash } from "../program.js";
|
|
7
15
|
import { ShapeRegistry, type TypeMapperCtx, UnionRegistry } from "../type-mapper.js";
|
|
8
|
-
import { CompoundOp, IslandFnEntry, BuiltinModuleFn } from "./surfaces.js";
|
|
9
|
-
import { FileParts } from "./lower-modules.js";
|
|
10
|
-
import { ClassInfo, ClassIteratorInfo, GenericClassInfo, findStaticOn } from "./lower-classes.js";
|
|
11
|
-
import { MixinFnShape } from "./lower-mixins.js";
|
|
12
|
-
import { ParamShape, FnSig, GenericFnInfo, GenericInstance } from "./lower-calls.js";
|
|
13
|
-
import { type EmitSpecCtx, type EmitSpecRequest } from "./lower-event-emitter.js";
|
|
14
|
-
import { FieldTarget } from "./lower-exprs.js";
|
|
15
|
-
import type {
|
|
16
|
+
import { type CompoundOp, type IslandFnEntry, type BuiltinModuleFn } from "./surfaces.js";
|
|
17
|
+
import { type FileParts } from "./lower-modules.js";
|
|
18
|
+
import { type ClassInfo, type ClassIteratorInfo, type GenericClassInfo, findStaticOn } from "./lower-classes.js";
|
|
19
|
+
import { type MixinFnShape } from "./lower-mixins.js";
|
|
20
|
+
import { type ParamShape, type FnSig, type GenericFnInfo, type GenericInstance } from "./lower-calls.js";
|
|
21
|
+
import { type ComputedEventPattern, type EmitSpecCtx, type EmitSpecRequest, type EventSig } from "./lower-event-emitter.js";
|
|
22
|
+
import { type FieldTarget } from "./lower-exprs.js";
|
|
23
|
+
import type { ExpandoMembers } from "./lower-expando.js";
|
|
16
24
|
/** Entry function name. '%' cannot appear in a TS identifier, so a user
|
|
17
25
|
* function can never collide with it (mangling is injective per prefix). */
|
|
18
26
|
export declare const ENTRY_NAME = "%main";
|
|
19
|
-
/** One step of the copy-reshape width relation (widthLiftPlan): how a
|
|
20
|
-
* source-typed value enters a destination slot. Pure data — the plan half;
|
|
21
|
-
* applyWidthLift is the build half. */
|
|
22
|
-
export type WidthLift = {
|
|
23
|
-
how: "copy";
|
|
24
|
-
} | {
|
|
25
|
-
how: "wrap";
|
|
26
|
-
tag: number;
|
|
27
|
-
} | {
|
|
28
|
-
how: "retag";
|
|
29
|
-
} | {
|
|
30
|
-
how: "liftWrap";
|
|
31
|
-
tag: number;
|
|
32
|
-
arm: IrType;
|
|
33
|
-
} | {
|
|
34
|
-
how: "width";
|
|
35
|
-
} | {
|
|
36
|
-
how: "arr";
|
|
37
|
-
} | {
|
|
38
|
-
how: "tupleArr";
|
|
39
|
-
} | {
|
|
40
|
-
how: "emptyArr";
|
|
41
|
-
} | {
|
|
42
|
-
how: "objWidth";
|
|
43
|
-
} | {
|
|
44
|
-
how: "clsWidth";
|
|
45
|
-
} | {
|
|
46
|
-
how: "narrow";
|
|
47
|
-
} | {
|
|
48
|
-
how: "dynIn";
|
|
49
|
-
} | {
|
|
50
|
-
how: "upcast";
|
|
51
|
-
} | {
|
|
52
|
-
how: "funcAdapt";
|
|
53
|
-
};
|
|
54
27
|
export declare class PoisonError extends Error {
|
|
55
28
|
}
|
|
56
29
|
/** A function-shaped value that exists only in the compiler's static
|
|
@@ -77,64 +50,6 @@ export type StaticCallableProjection = {
|
|
|
77
50
|
* NAMES user code can spell now that the real lib declares them; treating
|
|
78
51
|
* an inherited function as a table entry would mis-lower or ICE. */
|
|
79
52
|
export declare function own<T>(table: Record<string, T | undefined>, key: string): T | undefined;
|
|
80
|
-
/** Per-function lowering context. A stack of these models nested functions:
|
|
81
|
-
* identifier resolution walks outward, and a hit in an enclosing context
|
|
82
|
-
* turns into a capture (boxing the binding at its origin and threading it
|
|
83
|
-
* through every function in between). */
|
|
84
|
-
export interface FnCtx {
|
|
85
|
-
locals: IrLocal[];
|
|
86
|
-
scopes: Map<ts.Symbol, IrLocal>[];
|
|
87
|
-
localCounters: Map<string, number>;
|
|
88
|
-
/** Lifted functions only: capture entries (also present in `locals`,
|
|
89
|
-
* boxed), in closure caps[] order. undefined ⇔ plain declared function. */
|
|
90
|
-
captures: IrParam[] | null;
|
|
91
|
-
/** Parent-function localIds feeding each capture, parallel to captures. */
|
|
92
|
-
captureSources: string[];
|
|
93
|
-
captureBySymbol: Map<ts.Symbol, IrLocal>;
|
|
94
|
-
/** Named function expressions/declarations: the function's own name
|
|
95
|
-
* symbol. Self-references become `selfRef` (NOT a capture — a box holding
|
|
96
|
-
* its own closure would be an RC cycle and leak). */
|
|
97
|
-
selfSymbol: ts.Symbol | null;
|
|
98
|
-
selfType: IrType | null;
|
|
99
|
-
/** Await is legal here (async function body). */
|
|
100
|
-
isAsync?: boolean;
|
|
101
|
-
/** Yield is legal here (generator function body): the yield/next value
|
|
102
|
-
* channels the yield lowering types itself against. */
|
|
103
|
-
generator?: {
|
|
104
|
-
yieldT: IrType;
|
|
105
|
-
nextT: IrType;
|
|
106
|
-
resultType: IrType & {
|
|
107
|
-
kind: "record";
|
|
108
|
-
};
|
|
109
|
-
} | null;
|
|
110
|
-
/** VARIADIC `arguments` form (rest-marked func type with no declared
|
|
111
|
-
* rest param): the synthetic trailing dyn-array param `arguments`
|
|
112
|
-
* reads resolve to. */
|
|
113
|
-
argumentsLocal?: IrLocal | null;
|
|
114
|
-
/** Declared return type — lets `return` detect record-shape mismatches
|
|
115
|
-
* (SC2002) before the validator would ICE on them. */
|
|
116
|
-
returnType: IrType;
|
|
117
|
-
/** Implicit-any instance RETURN INFERENCE (resolveInferredReturn):
|
|
118
|
-
* present ⇔ `return` statements lower their values BARE (no coercion)
|
|
119
|
-
* and record themselves here; the post-pass unifies the types and wraps
|
|
120
|
-
* each return onto the settled one. `returnType` holds the DYN pin. */
|
|
121
|
-
inferReturn?: {
|
|
122
|
-
entries: {
|
|
123
|
-
stmt: IrStmt;
|
|
124
|
-
node: ts.Expression | null;
|
|
125
|
-
}[];
|
|
126
|
-
} | null;
|
|
127
|
-
/** Enclosing jump targets, innermost last. `labels` carries the source
|
|
128
|
-
* statement's JS label names so labeled break/continue resolve. Finally
|
|
129
|
-
* regions do not appear here: the backends route every abrupt completion
|
|
130
|
-
* through the cleanup regions it crosses. Per function, so a nested
|
|
131
|
-
* function's jumps never bind to enclosing constructs. */
|
|
132
|
-
ctl: {
|
|
133
|
-
kind: "loop" | "switch" | "block";
|
|
134
|
-
labels?: string[];
|
|
135
|
-
}[];
|
|
136
|
-
}
|
|
137
|
-
export declare function newFnCtx(lifted: boolean, selfSymbol: ts.Symbol | null, selfType: IrType | null, returnType: IrType): FnCtx;
|
|
138
53
|
export interface LowerStats {
|
|
139
54
|
/** Statements the lowerer attempted (nested statements count individually;
|
|
140
55
|
* statements inside a poisoned construct were never reached and don't). */
|
|
@@ -148,14 +63,12 @@ export interface LowerStats {
|
|
|
148
63
|
/** Functions whose signature couldn't be analyzed (bodies not counted). */
|
|
149
64
|
functionsSkipped: number;
|
|
150
65
|
}
|
|
151
|
-
/** True when a lowered statement's OWN expressions contain island
|
|
152
|
-
* constructs — a generic JSON walk (like moduleUsesRegex): `kind`
|
|
153
|
-
* discriminants live only on IR objects, so user string values can never
|
|
154
|
-
* false-positive. Nested statements are skipped (counted separately). */
|
|
155
66
|
/** Every identifier a binding name binds: the identifier itself, or all
|
|
156
67
|
* identifiers of a (possibly nested) destructuring pattern in source
|
|
157
68
|
* order. */
|
|
158
69
|
export declare function boundIdentifiersOf(name: ts.BindingName): ts.Identifier[];
|
|
70
|
+
/** Inspect executable children directly, without boxing the statement tree
|
|
71
|
+
* into checked-dynamic storage just to calculate coverage. */
|
|
159
72
|
export declare function stmtUsesIsland(stmts: IrStmt | IrStmt[]): boolean;
|
|
160
73
|
export interface LowerResult {
|
|
161
74
|
/** Present iff diagnostics is empty. */
|
|
@@ -190,6 +103,8 @@ export interface LowerResult {
|
|
|
190
103
|
npmLazyTraps?: NpmLazyTrap[];
|
|
191
104
|
}
|
|
192
105
|
export interface LowerOptions {
|
|
106
|
+
/** Parser/checker services owned by the load; required for npm graph analysis. */
|
|
107
|
+
frontendServices?: FrontendServices | undefined;
|
|
193
108
|
/** --dynamic: the island engine is linked, so island constructs
|
|
194
109
|
* (__island_eval) may lower. Off by default — without it they produce a
|
|
195
110
|
* requires-dynamic diagnostic instead. */
|
|
@@ -269,6 +184,7 @@ interface RuntimeFenceClosureTarget extends Omit<RuntimeFenceFunctionTarget, "ki
|
|
|
269
184
|
}
|
|
270
185
|
/** The Lowerer's pass configuration (see lowerToIr). */
|
|
271
186
|
export interface LowererMode {
|
|
187
|
+
frontendServices?: FrontendServices | undefined;
|
|
272
188
|
/** Names of bodies a prior reachability pass reached; null lowers everything. */
|
|
273
189
|
reachable?: ReadonlySet<string> | null;
|
|
274
190
|
/** Coverage remainder: lower ONLY bodies outside `reachable`, skip the
|
|
@@ -421,6 +337,7 @@ export declare class Lowerer {
|
|
|
421
337
|
readonly entry: ts.SourceFile;
|
|
422
338
|
readonly moduleOrder: ts.SourceFile[];
|
|
423
339
|
readonly dynamic: boolean;
|
|
340
|
+
readonly frontendServices: FrontendServices | undefined;
|
|
424
341
|
readonly checker: ts.TypeChecker;
|
|
425
342
|
readonly diags: ScrDiagnostic[];
|
|
426
343
|
readonly fnSigsBySymbol: Map<ts.Symbol, FnSig>;
|
|
@@ -432,14 +349,14 @@ export declare class Lowerer {
|
|
|
432
349
|
/** Object-literal GENERIC methods (`{ m<T>(x: T) {...} }`), interned by
|
|
433
350
|
* their function-like node — instances ride the same monomorphization
|
|
434
351
|
* queue (objLitGenericFnInfoOf). */
|
|
435
|
-
readonly objLitGenericFns: Map<
|
|
352
|
+
readonly objLitGenericFns: Map<import("../ts7/ast-node.js").AstNode, GenericFnInfo>;
|
|
436
353
|
/** Generic arrow/function-expression INITIALIZERS of never-reassigned
|
|
437
354
|
* bindings (`const f = <T>(x: T) => x`), interned by the function-like
|
|
438
355
|
* node — registered in genericFnsBySymbol under the binding's symbol
|
|
439
356
|
* (and a named function expression's own inner name), so calls and
|
|
440
357
|
* pinned values resolve through genericFnOf exactly like top-level
|
|
441
358
|
* generic function declarations (bindingGenericFnInfoOf). */
|
|
442
|
-
readonly bindingGenericFns: Map<
|
|
359
|
+
readonly bindingGenericFns: Map<import("../ts7/ast-node.js").AstNode, GenericFnInfo>;
|
|
443
360
|
/** Per-symbol result of the never-reassigned file scan
|
|
444
361
|
* (bindingNeverReassigned — object-literal generic-method receivers). */
|
|
445
362
|
readonly neverReassignedCache: Map<ts.Symbol, boolean>;
|
|
@@ -469,7 +386,7 @@ export declare class Lowerer {
|
|
|
469
386
|
/** IMPLICIT-ANY function-value bindings (npm-static JS — `const knownBy
|
|
470
387
|
* = (cmd) => ...`), by their VariableDeclaration: the registered info,
|
|
471
388
|
* or null for probed non-qualifiers (implicitLocalFnNodeOf). */
|
|
472
|
-
readonly implicitLocalFns: Map<
|
|
389
|
+
readonly implicitLocalFns: Map<import("../ts7/ast-node.js").AstNode, GenericFnInfo | null>;
|
|
473
390
|
/** Monomorphization worklist: instances queued by call sites, drained in
|
|
474
391
|
* run() (processing an instance body can queue more). */
|
|
475
392
|
readonly instantiationQueue: {
|
|
@@ -499,6 +416,10 @@ export declare class Lowerer {
|
|
|
499
416
|
/** Non-null while an instance body lowers: type-parameter symbol →
|
|
500
417
|
* concrete IR type, consulted inside mapType's recursion. */
|
|
501
418
|
typeParamBindings: Map<ts.Symbol, IrType> | null;
|
|
419
|
+
localClassInstantiations: {
|
|
420
|
+
owner: ts.FunctionLikeDeclaration;
|
|
421
|
+
name: string;
|
|
422
|
+
}[];
|
|
502
423
|
/** The ts-level twin of typeParamBindings, non-null while a CALL-keyed
|
|
503
424
|
* instance body lowers: type-parameter symbol → the bound CHECKER type,
|
|
504
425
|
* consulted where the mapped IrType has already widened away information
|
|
@@ -523,10 +444,23 @@ export declare class Lowerer {
|
|
|
523
444
|
* aliases, so this carries the var/let form the checker cannot.
|
|
524
445
|
* Scoped strictly by narrowingAliases (lowerIf / lowerCondition). */
|
|
525
446
|
readonly aliasNarrowTypes: Map<ts.Symbol, ts.Type>;
|
|
447
|
+
/** These caches belong to this lowering pass. The program already owns
|
|
448
|
+
* their symbol/node keys; no module-level cache should retain a pass. */
|
|
449
|
+
readonly classSymbolKeys: Map<ts.Symbol, ClassSymbolKey | null>;
|
|
450
|
+
readonly registeredClassSymbols: Map<string, ts.Symbol>;
|
|
451
|
+
readonly httpClientFnBindings: Map<ts.Symbol, HttpClientFnBinding>;
|
|
452
|
+
streamPropMutatedSyms: Set<ts.Symbol> | null;
|
|
453
|
+
requestInitPropMutatedSyms: Set<ts.Symbol> | null;
|
|
454
|
+
emitterEventTable: Map<string, EventSig> | null;
|
|
455
|
+
emitterComputedPatterns: ComputedEventPattern[];
|
|
526
456
|
/** Locals widened beyond the checker's type because an inferred indexed
|
|
527
457
|
* read can be absent at runtime. Bare reads preserve that union until a
|
|
528
458
|
* surrounding JavaScript guard/default consumes it. */
|
|
529
|
-
readonly runtimeOptionalLocals:
|
|
459
|
+
readonly runtimeOptionalLocals: RuntimeOptionalLocals;
|
|
460
|
+
/** An effectful switch test can change the original binding after the
|
|
461
|
+
* discriminant was captured. A case match narrows the captured value,
|
|
462
|
+
* not that mutable binding; preserve its tagged representation on reads. */
|
|
463
|
+
readonly unstableSwitchBindings: Set<ts.Symbol>;
|
|
530
464
|
/** All storage slots widened for runtime absence, including slots whose
|
|
531
465
|
* current control-flow branch has temporarily narrowed the value. */
|
|
532
466
|
readonly runtimeOptionalStorageLocals: Set<IrLocal>;
|
|
@@ -545,18 +479,21 @@ export declare class Lowerer {
|
|
|
545
479
|
readonly runtimeOptionalBindingTypes: Map<ts.Symbol, IrType>;
|
|
546
480
|
/** Concise callback/lambda returns promoted by the HOF callback prepass;
|
|
547
481
|
* arrows have no declaration symbol to key in fnSigsBySymbol. */
|
|
548
|
-
readonly runtimeOptionalFunctionReturns:
|
|
482
|
+
readonly runtimeOptionalFunctionReturns: Map<import("../ts7/ast-node.js").AstNode, IrType>;
|
|
483
|
+
/** Intrinsic callback slots can supply a destination for fresh return
|
|
484
|
+
* literals, such as a reduce accumulator with recursive union fields. */
|
|
485
|
+
readonly contextualFunctionReturns: Map<import("../ts7/ast-node.js").AstNode, IrType>;
|
|
549
486
|
/** Arithmetic over an unchecked string read can answer either NaN or a
|
|
550
487
|
* string. Bindings and returns use this marker to retain that result union
|
|
551
488
|
* through checker-bare string annotations. */
|
|
552
|
-
readonly runtimeOptionalArithmeticTypes:
|
|
489
|
+
readonly runtimeOptionalArithmeticTypes: Map<import("../ts7/ast-node.js").AstNode, IrType>;
|
|
553
490
|
/** Record fields promoted to an undefined-armed union by an indexed-read
|
|
554
491
|
* value. The key is the concrete emitted shape and field name. */
|
|
555
492
|
readonly runtimeOptionalFields: Set<string>;
|
|
556
493
|
/** Callback pattern parameters carry an optional source without making
|
|
557
494
|
* every name destructured from a present source optional. */
|
|
558
|
-
readonly runtimeOptionalPatternTypes:
|
|
559
|
-
readonly runtimeOptionalReduceTypes:
|
|
495
|
+
readonly runtimeOptionalPatternTypes: Map<import("../ts7/ast-node.js").AstNode, IrType>;
|
|
496
|
+
readonly runtimeOptionalReduceTypes: Map<ts.CallExpression, IrType>;
|
|
560
497
|
/** Capture entries and their origin share one mutable box. Normalize each
|
|
561
498
|
* entry to the origin so writes and flow proofs stay synchronized. */
|
|
562
499
|
readonly runtimeOptionalRoots: Map<IrLocal, IrLocal>;
|
|
@@ -669,7 +606,7 @@ export declare class Lowerer {
|
|
|
669
606
|
/** CJS export-table ACCESSORS (`module.exports = { get path() {...} }`),
|
|
670
607
|
* lifted lazily as module-level functions and interned per accessor
|
|
671
608
|
* declaration: member reads call the getter (lower-exprs). */
|
|
672
|
-
readonly cjsAccessorFns: Map<
|
|
609
|
+
readonly cjsAccessorFns: Map<import("../ts7/ast-node.js").AstNode, {
|
|
673
610
|
fnName: string;
|
|
674
611
|
type: IrType & {
|
|
675
612
|
kind: "func";
|
|
@@ -712,9 +649,9 @@ export declare class Lowerer {
|
|
|
712
649
|
* of re-lowering, its checker type reads non-nullish (typeOf), and the
|
|
713
650
|
* node carrying the ?. token is marked handled so the receiver-typed
|
|
714
651
|
* lowerings stop declining it (chainBlocked). */
|
|
715
|
-
readonly chainRecvByNode: Map<
|
|
716
|
-
readonly chainNarrowedType: Map<
|
|
717
|
-
readonly chainHandled: Set<
|
|
652
|
+
readonly chainRecvByNode: Map<import("../ts7/ast-node.js").AstNode, IrExpr>;
|
|
653
|
+
readonly chainNarrowedType: Map<import("../ts7/ast-node.js").AstNode, ts.Type>;
|
|
654
|
+
readonly chainHandled: Set<import("../ts7/ast-node.js").AstNode>;
|
|
718
655
|
/** for-of-over-matchAll bindings whose `.index` reads the companion-index
|
|
719
656
|
* array: binding SYMBOL → the hidden number[] of match start indices plus
|
|
720
657
|
* the hidden cursor holding THIS iteration's position (registered while
|
|
@@ -752,6 +689,12 @@ export declare class Lowerer {
|
|
|
752
689
|
/** Keyed by program-wide qualified class name (what IR object types carry). */
|
|
753
690
|
readonly classes: Map<string, ClassInfo>;
|
|
754
691
|
readonly classBySymbol: Map<ts.Symbol, ClassInfo>;
|
|
692
|
+
/** Inferred JS methods participating in an override chain keep a vtable
|
|
693
|
+
* ABI instead of call-site specialization. Filled before class collection. */
|
|
694
|
+
readonly virtualJsMethods: Set<ts.MethodDeclaration>;
|
|
695
|
+
/** Largest fixed argument list below a JS method, discovered before any
|
|
696
|
+
* base vtable signature is collected. Unused checked slots carry undefined. */
|
|
697
|
+
readonly virtualJsMethodArity: Map<ts.MethodDeclaration, number>;
|
|
755
698
|
/** The class whose members are lowering — `super` binds lexically to it
|
|
756
699
|
* (arrows inside methods lower within this window, so they see it too). */
|
|
757
700
|
currentClass: ClassInfo | null;
|
|
@@ -760,12 +703,12 @@ export declare class Lowerer {
|
|
|
760
703
|
* or callable const): per function symbol, each written member's module
|
|
761
704
|
* global — string keys for spelled/folded names, ts.Symbols for
|
|
762
705
|
* unique-symbol keys (lower-expando.ts). */
|
|
763
|
-
readonly expandoMembers: Map<ts.Symbol,
|
|
706
|
+
readonly expandoMembers: Map<ts.Symbol, ExpandoMembers>;
|
|
764
707
|
/** CJS export globals ALSO key by their declaration NODE: the checker
|
|
765
708
|
* hands importers a distinct (late-bound) symbol for `module.exports`
|
|
766
709
|
* property exports — different object, same declaration — so globalOf
|
|
767
710
|
* falls back through the shared node (collectGlobals registers both). */
|
|
768
|
-
readonly globalsByDeclNode: Map<
|
|
711
|
+
readonly globalsByDeclNode: Map<import("../ts7/ast-node.js").AstNode, IrGlobal>;
|
|
769
712
|
readonly globalsList: IrGlobal[];
|
|
770
713
|
/** npm-import init statements (--dynamic), keyed by file AND import
|
|
771
714
|
* declaration: the island.import assignments/side-effect loads for that
|
|
@@ -807,6 +750,7 @@ export declare class Lowerer {
|
|
|
807
750
|
* engine handle (a dynamic import's namespace object) — paramShape's
|
|
808
751
|
* early-out. */
|
|
809
752
|
readonly jsvalParamOverrides: Set<ts.ParameterDeclaration>;
|
|
753
|
+
readonly checkedCallbackParams: Set<ts.ParameterDeclaration>;
|
|
810
754
|
/** Inline Promise.then parameters whose contextual type is a builtin
|
|
811
755
|
* module namespace anonymous object. The settled native token is the
|
|
812
756
|
* ABI truth even when the checker type has no stable module symbol. */
|
|
@@ -827,7 +771,7 @@ export declare class Lowerer {
|
|
|
827
771
|
* non-instantiated one (its only value members are import= aliases,
|
|
828
772
|
* still resolved statically). Ambient blocks never register — their
|
|
829
773
|
* members keep the ReferenceError/fence paths (lower-namespaces.ts). */
|
|
830
|
-
readonly nsBlocks: Map<
|
|
774
|
+
readonly nsBlocks: Map<import("../ts7/ast-node.js").AstNode, "flattened" | "typeOnly">;
|
|
831
775
|
/** File → its %init function name, filled by prepareModuleInits before
|
|
832
776
|
* any body lowers: import headers and inline require statements call
|
|
833
777
|
* dependency inits by these names. */
|
|
@@ -894,6 +838,9 @@ export declare class Lowerer {
|
|
|
894
838
|
onEdge: ((name: string) => void) | null;
|
|
895
839
|
fnStack: FnCtx[];
|
|
896
840
|
readonly liftedFns: IrFunction[];
|
|
841
|
+
/** One Error-method helper belongs to this lowering session. Its cached
|
|
842
|
+
* dispatch revision needs no weak-key identity or process-global state. */
|
|
843
|
+
errorMethodDispatchRevision: string | null;
|
|
897
844
|
lambdaCounter: number;
|
|
898
845
|
/** Statement lists currently mid-lowering, innermost last: the forward-
|
|
899
846
|
* capture machinery needs to know which later statements of an OPEN list
|
|
@@ -907,20 +854,6 @@ export declare class Lowerer {
|
|
|
907
854
|
frame: Map<ts.Symbol, IrLocal>;
|
|
908
855
|
out: IrStmt[];
|
|
909
856
|
}[];
|
|
910
|
-
/** Forward-captured consts pre-declared as TDZ boxes, keyed by symbol:
|
|
911
|
-
* lowerVarDecl consumes the entry when the source declaration arrives and
|
|
912
|
-
* emits the initializing `assign` instead of a fresh declaration. */
|
|
913
|
-
readonly tdzPredeclared: Map<ts.Symbol, IrLocal>;
|
|
914
|
-
/** Nested function DECLARATIONS lowered eagerly by the forward-hoisting
|
|
915
|
-
* machinery (predeclareForwardFnDecl — a reference above the declaration
|
|
916
|
-
* in the same function, JS's function hoisting): the statement loop skips
|
|
917
|
-
* the source statement when it arrives. */
|
|
918
|
-
readonly hoistedFnDecls: Set<ts.FunctionDeclaration>;
|
|
919
|
-
/** `var` bindings hoisted to their function root (hoistVarBinding), keyed
|
|
920
|
-
* by the checker's merged symbol — every same-name `var` in one function
|
|
921
|
-
* is one symbol, so one slot. Module-scope vars live in globalsBySymbol
|
|
922
|
-
* instead. */
|
|
923
|
-
readonly hoistedVars: Map<ts.Symbol, IrLocal>;
|
|
924
857
|
/** Per-file `var` module globals whose type carries an undefined arm:
|
|
925
858
|
* lowerFileInit assigns them the interned undefined right after the
|
|
926
859
|
* run-once guard — JS hoists module vars to `undefined` at entry, so a
|
|
@@ -1148,15 +1081,6 @@ export declare class Lowerer {
|
|
|
1148
1081
|
/** Final retention, pruning, and module assembly shared by ordinary emit
|
|
1149
1082
|
* and the retained reachability worklist. */
|
|
1150
1083
|
finishModule(functions: IrFunction[]): LowerResult;
|
|
1151
|
-
/** The unregistered-class type sweep (run()'s last step before the
|
|
1152
|
-
* module assembles): every `{kind:"object"}` TYPE naming a class with
|
|
1153
|
-
* no registered ClassInfo is rewritten IN PLACE to the f64 dummy.
|
|
1154
|
-
* classval types are exempt (they emit the class-independent
|
|
1155
|
-
* `ScrClassObj *` — inert-but-valid storage, the validator's own
|
|
1156
|
-
* stance), and only type objects rewrite — node-level classNames
|
|
1157
|
-
* (`new`, upcasts) cannot reach here (their lowerings fence without a
|
|
1158
|
-
* registered class), so the validator still backstops those. */
|
|
1159
|
-
sanitizeUnregisteredClassTypes(roots: unknown[]): void;
|
|
1160
1084
|
/** True when `t` (recursively) names a class instance type with no
|
|
1161
1085
|
* registered ClassInfo — the shape of a JS class whose collection fenced.
|
|
1162
1086
|
* Used by run()'s global pruning; shapes/unions recurse with a seen-set
|
|
@@ -1247,8 +1171,9 @@ export declare class Lowerer {
|
|
|
1247
1171
|
fenceStaticReadableStreamMember(access: ts.PropertyAccessExpression | ts.ElementAccessExpression, use: "read" | "call"): IrExpr | null;
|
|
1248
1172
|
typeOf(node: ts.Node): ts.Type;
|
|
1249
1173
|
/** mapType with this Lowerer's registries and (while a generic instance
|
|
1250
|
-
* body lowers) type-parameter bindings threaded through.
|
|
1251
|
-
|
|
1174
|
+
* body lowers) type-parameter bindings threaded through. A supplied mapper
|
|
1175
|
+
* retains interface-view substitutions while sharing ABI normalization. */
|
|
1176
|
+
mapTypeOf(t: ts.Type, mapper?: (type: ts.Type) => IrType | null): IrType | null;
|
|
1252
1177
|
/** The one position where a contextual UNION must not be adopted over the
|
|
1253
1178
|
* expression's own: the LEFT operand of `&&`, `||`, or `??`. Adopting a
|
|
1254
1179
|
* contextual union is normally safe because tsc proved the value
|
|
@@ -1381,9 +1306,11 @@ export declare class Lowerer {
|
|
|
1381
1306
|
* before any helper exists. The cases, in order:
|
|
1382
1307
|
* copy — exact same type (typeEquals), the field/element moves as is
|
|
1383
1308
|
* retag — union into union, every arm mapped (unionRetagMappable —
|
|
1384
|
-
* identity arms
|
|
1385
|
-
*
|
|
1309
|
+
* identity arms and compatible payload conversions; a shared
|
|
1310
|
+
* discriminant may select different record destinations)
|
|
1386
1311
|
* wrap — a non-unit arm value into a union that contains it
|
|
1312
|
+
* discriminantWrap — identical recursive layouts distinguished by
|
|
1313
|
+
* their literal field value rather than their storage id
|
|
1387
1314
|
* liftWrap — a record/array value into a union with NO identical arm
|
|
1388
1315
|
* but exactly ONE arm it width-lifts into (the findRoute
|
|
1389
1316
|
* rule applied at every level; several candidates are
|
|
@@ -1409,6 +1336,13 @@ export declare class Lowerer {
|
|
|
1409
1336
|
* lift needs (planned first, so the interns cannot fail — a failure here
|
|
1410
1337
|
* is a lowerer bug, not a user diagnostic). */
|
|
1411
1338
|
applyWidthLift(lift: WidthLift, value: IrExpr, dst: IrType, loc: SrcLoc): IrExpr;
|
|
1339
|
+
/** Dispatch a structural copy from its runtime union tag. Each record
|
|
1340
|
+
* payload has its own field offsets and optional-field completions;
|
|
1341
|
+
* interpreting all arms as the destination layout would corrupt memory.
|
|
1342
|
+
* Intern before descending so recursive record unions can reuse it. */
|
|
1343
|
+
unionRecordWidthHelper(fromId: string, target: IrType & {
|
|
1344
|
+
kind: "record";
|
|
1345
|
+
}, loc: SrcLoc): string;
|
|
1412
1346
|
/** Interned `%rec.width.<n>(r)` — builds the target shape from a source
|
|
1413
1347
|
* record by copying fields: every target field must exist on the source
|
|
1414
1348
|
* with the EXACT same type, or with a type that LIFTS under
|
|
@@ -1612,28 +1546,9 @@ export declare class Lowerer {
|
|
|
1612
1546
|
}, toT: IrType & {
|
|
1613
1547
|
kind: "func";
|
|
1614
1548
|
}, loc: SrcLoc): string | null;
|
|
1615
|
-
/**
|
|
1616
|
-
*
|
|
1617
|
-
*
|
|
1618
|
-
* (unionNarrow + unionWrap — the payload pointer moves, no copy, so
|
|
1619
|
-
* ref-arm identity is preserved across the re-tag). Arms map by
|
|
1620
|
-
* canonical type (typeEquals): every non-unit source arm must exist in
|
|
1621
|
-
* the destination, or the pair isn't mappable (null — the caller keeps
|
|
1622
|
-
* the SC2003 fence). A stranded UNIT arm (undefined/null with no
|
|
1623
|
-
* destination arm) is different: it means tsc's picture at the site was
|
|
1624
|
-
* NARROWER than the IR type — control-flow narrowing to a sub-union, or
|
|
1625
|
-
* a non-null assertion, both of which erase at lowering — so the arm is
|
|
1626
|
-
* exactly the possibility the checker proved (or the source asserted)
|
|
1627
|
-
* away. It compiles to a runtime trap case throwing a catchable
|
|
1628
|
-
* TypeError-shaped string, the lying-cast stance (SEMANTICS.md): sound
|
|
1629
|
-
* narrowing never reaches it, a lying `!` throws instead of smuggling
|
|
1630
|
-
* an unrepresentable unit into the destination. */
|
|
1631
|
-
/** True when unionRetagHelper can bridge the pair — every non-unit
|
|
1632
|
-
* source arm exists (typeEquals) in the destination, or width-lifts
|
|
1633
|
-
* into exactly one destination arm (widthLiftPlan — record and array
|
|
1634
|
-
* arms compose the re-tag with the per-arm reshape). Pure: callers that
|
|
1635
|
-
* must validate a WHOLE plan before interning anything (recordWidthHelper)
|
|
1636
|
-
* probe with this so a failed later field never orphans a helper. */
|
|
1549
|
+
/** Validate the complete union conversion before interning helpers.
|
|
1550
|
+
* Recursive width plans close through the same in-progress pair guard;
|
|
1551
|
+
* no optimistic result is memoized after that planning stack unwinds. */
|
|
1637
1552
|
unionRetagMappable(fromId: string, toId: string): boolean;
|
|
1638
1553
|
/** A checker-NARROWED union flowing into a different union: `typeof r
|
|
1639
1554
|
* === "string" || Buffer.isBuffer(r)` proves the record arm of r away,
|
|
@@ -1670,6 +1585,9 @@ export declare class Lowerer {
|
|
|
1670
1585
|
strandedCoercionTrap(expr: IrExpr, expected: IrType & {
|
|
1671
1586
|
kind: "union";
|
|
1672
1587
|
}, loc: SrcLoc): IrExpr | null;
|
|
1588
|
+
recordUnionWrapHelper(source: IrType & {
|
|
1589
|
+
kind: "record";
|
|
1590
|
+
}, toId: string, loc: SrcLoc): string | null;
|
|
1673
1591
|
unionRetagHelper(fromId: string, toId: string, loc: SrcLoc, trappable?: ReadonlySet<number>): string | null;
|
|
1674
1592
|
/** Interned `%union.narrow.<n>(u)` — the CHECKED single-arm extraction
|
|
1675
1593
|
* behind `x!` on union values: the asserted arm's payload comes out
|
|
@@ -1753,13 +1671,16 @@ export declare class Lowerer {
|
|
|
1753
1671
|
* `var` read before its unit-initialized statement holds undefined —
|
|
1754
1672
|
* also a unit — so the mixed case reports both names. */
|
|
1755
1673
|
provenUnitAnyOf(node: ts.Node, value: IrExpr): string | null;
|
|
1756
|
-
/**
|
|
1757
|
-
*
|
|
1758
|
-
*
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
*
|
|
1674
|
+
/** A key conversion may rebox or upcast a reference, but must never copy
|
|
1675
|
+
* its referent. Apply the ordinary checked narrowing to absent arms from
|
|
1676
|
+
* runtime-optional reads; only present reference arms participate here. */
|
|
1677
|
+
lowerCollectionKey(node: ts.Expression, expected: IrType): IrExpr;
|
|
1678
|
+
/** Lower for a known destination, then apply ordinary value coercion.
|
|
1679
|
+
* Fresh arrays and records use the destination layout directly. */
|
|
1762
1680
|
lowerExprExpecting(node: ts.Expression, expected: IrType | undefined): IrExpr;
|
|
1681
|
+
/** An unannotated empty collection has no existing elements or aliases
|
|
1682
|
+
* that constrain its layout. An explicit type argument still wins. */
|
|
1683
|
+
emptyCollectionFor(node: ts.Expression, expected: IrType): IrExpr | null;
|
|
1763
1684
|
/** A value flowing into an index-signature VALUE slot (an overflow
|
|
1764
1685
|
* literal entry, a dynamic-keyed record write). dyn slots (`unknown`
|
|
1765
1686
|
* signatures — ModelPricing's) take a dyn conversion: dyn values pass
|
|
@@ -1876,8 +1797,8 @@ export declare class Lowerer {
|
|
|
1876
1797
|
context: string;
|
|
1877
1798
|
ordinal: number;
|
|
1878
1799
|
}): void;
|
|
1879
|
-
lowerClassExpressionInfo(expr: ts.
|
|
1880
|
-
lowerClassExpression(expr: ts.
|
|
1800
|
+
lowerClassExpressionInfo(expr: ts.ClassLikeDeclaration): ClassInfo;
|
|
1801
|
+
lowerClassExpression(expr: ts.ClassLikeDeclaration): IrExpr;
|
|
1881
1802
|
findMethodOn(info: ClassInfo | null, name: string): {
|
|
1882
1803
|
declarer: ClassInfo;
|
|
1883
1804
|
sig: {
|
|
@@ -1885,6 +1806,7 @@ export declare class Lowerer {
|
|
|
1885
1806
|
ret: IrType;
|
|
1886
1807
|
abstract?: true;
|
|
1887
1808
|
async?: true;
|
|
1809
|
+
gen?: NonNullable<IrFunction["generator"]>;
|
|
1888
1810
|
};
|
|
1889
1811
|
} | null;
|
|
1890
1812
|
isSubclassOf(sub: string, sup: string): boolean;
|
|
@@ -1900,10 +1822,10 @@ export declare class Lowerer {
|
|
|
1900
1822
|
* members ride fp.classDecls; expressions register only when their
|
|
1901
1823
|
* containing statement lowers). */
|
|
1902
1824
|
readonly exprClasses: ClassInfo[];
|
|
1903
|
-
readonly
|
|
1825
|
+
readonly exprClassInfoByName: Map<string, ClassInfo>;
|
|
1904
1826
|
/** Class expressions whose collection is IN FLIGHT — the reentrancy
|
|
1905
1827
|
* guard for heritage-demanded collection (lowerClassExpressionInfo). */
|
|
1906
|
-
readonly collectingExprClasses: Set<ts.
|
|
1828
|
+
readonly collectingExprClasses: Set<ts.ClassLikeDeclaration>;
|
|
1907
1829
|
/** Static-init statements of class expressions inside the statement
|
|
1908
1830
|
* currently lowering — lowerFileInit drains the buffer immediately
|
|
1909
1831
|
* BEFORE that statement (JS's order for the supported whole-initializer
|
|
@@ -1916,7 +1838,7 @@ export declare class Lowerer {
|
|
|
1916
1838
|
/** Mixin functions (`(Base: T) => class extends Base {…}`) by their
|
|
1917
1839
|
* function-like node: recognized shape, or null for checked
|
|
1918
1840
|
* non-qualifiers (lower-mixins.ts). */
|
|
1919
|
-
readonly mixinFnShapes: Map<
|
|
1841
|
+
readonly mixinFnShapes: Map<import("../ts7/ast-node.js").AstNode, MixinFnShape | null>;
|
|
1920
1842
|
/** Mixin instantiations by CALL SITE (one class per once-evaluated call
|
|
1921
1843
|
* — the class-expression identity rule); null marks a poisoned
|
|
1922
1844
|
* instantiation so re-demands fence instead of half-collecting. */
|
|
@@ -1955,7 +1877,7 @@ export declare class Lowerer {
|
|
|
1955
1877
|
* onExprClassCollected should instantiations ever need eager
|
|
1956
1878
|
* registration. */
|
|
1957
1879
|
onLateClassCollected: ((info: ClassInfo) => void) | null;
|
|
1958
|
-
genericClassInstanceType(decl: ts.ClassLikeDeclaration, ref: ts.Type): IrType | null;
|
|
1880
|
+
genericClassInstanceType(decl: ts.ClassLikeDeclaration, ref: ts.Type, mapArgument?: (type: ts.Type) => IrType | null): IrType | null;
|
|
1959
1881
|
findStaticOn(info: ClassInfo | null, name: string): ReturnType<typeof findStaticOn>;
|
|
1960
1882
|
staticShadowBelow(info: ClassInfo, name: string): boolean;
|
|
1961
1883
|
ctorAbiEquals(sub: ClassInfo, sup: ClassInfo): boolean;
|
|
@@ -1974,8 +1896,8 @@ export declare class Lowerer {
|
|
|
1974
1896
|
fieldInitStmts(info: ClassInfo, thisLocal: IrLocal): IrStmt[];
|
|
1975
1897
|
lowerDerivedCtorBody(info: ClassInfo, thisLocal: IrLocal, forward?: IrExpr[]): IrStmt[];
|
|
1976
1898
|
superCallStmt(info: ClassInfo, thisLocal: IrLocal, args: IrExpr[], loc: SrcLoc): IrStmt;
|
|
1977
|
-
/** Declares the
|
|
1978
|
-
*
|
|
1899
|
+
/** Declares the this parameter in the function's dedicated binding slot.
|
|
1900
|
+
* Arrow captures use the same boxing and threading as named bindings. */
|
|
1979
1901
|
declareThis(type: IrType): IrLocal;
|
|
1980
1902
|
lowerFunction(decl: ts.FunctionDeclaration): IrFunction | null;
|
|
1981
1903
|
collectGlobals(sf: ts.SourceFile, topStmts: ts.Statement[]): void;
|
|
@@ -2008,7 +1930,7 @@ export declare class Lowerer {
|
|
|
2008
1930
|
};
|
|
2009
1931
|
/** The binding for `symbol` inside context `ctx` — a scoped local or an
|
|
2010
1932
|
* already-threaded capture entry. */
|
|
2011
|
-
bindingIn(ctx: FnCtx, symbol: ts.Symbol): IrLocal | null;
|
|
1933
|
+
bindingIn(ctx: FnCtx, symbol: ts.Symbol | undefined): IrLocal | null;
|
|
2012
1934
|
/** Resolves an identifier to a local of the CURRENT function, creating
|
|
2013
1935
|
* capture entries (and boxing the origin binding) when the name lives in
|
|
2014
1936
|
* an enclosing function. Self-references of a named lambda are NOT
|
|
@@ -2026,7 +1948,7 @@ export declare class Lowerer {
|
|
|
2026
1948
|
* the REAL lowering path still resolves (and diagnoses) the reference
|
|
2027
1949
|
* itself. */
|
|
2028
1950
|
peekLocal(ident: ts.Identifier): IrLocal | null;
|
|
2029
|
-
resolveKey(symbol: ts.Symbol, blame?: ts.Node): IrLocal | null;
|
|
1951
|
+
resolveKey(symbol: ts.Symbol | undefined, blame?: ts.Node): IrLocal | null;
|
|
2030
1952
|
isSelfReference(ident: ts.Identifier): boolean;
|
|
2031
1953
|
lowerStmts(stmts: readonly ts.Statement[]): IrStmt[];
|
|
2032
1954
|
noteBlockedBindings(stmt: ts.Statement): void;
|
|
@@ -2100,7 +2022,9 @@ export declare class Lowerer {
|
|
|
2100
2022
|
}) | (IrType & {
|
|
2101
2023
|
kind: "record";
|
|
2102
2024
|
})): IrExpr;
|
|
2103
|
-
lowerObjectLiteral(expr: ts.ObjectLiteralExpression
|
|
2025
|
+
lowerObjectLiteral(expr: ts.ObjectLiteralExpression, expected?: IrType & {
|
|
2026
|
+
kind: "record";
|
|
2027
|
+
}): IrExpr;
|
|
2104
2028
|
lowerShorthandValue(prop: ts.ShorthandPropertyAssignment): IrExpr;
|
|
2105
2029
|
rejectThisInObjectMethod(node: ts.Node): void;
|
|
2106
2030
|
lowerElementAccess(expr: ts.ElementAccessExpression): IrExpr;
|
|
@@ -2117,7 +2041,7 @@ export declare class Lowerer {
|
|
|
2117
2041
|
caughtToString(node: ts.Expression): IrExpr | null;
|
|
2118
2042
|
lowerInstanceOf(expr: ts.BinaryExpression, loc: SrcLoc): IrExpr;
|
|
2119
2043
|
private withRuntimeOptionalClassValue;
|
|
2120
|
-
|
|
2044
|
+
withExpressionOverride<T>(node: ts.Expression, value: IrExpr, lower: () => T): T;
|
|
2121
2045
|
lowerCall(expr: ts.CallExpression): IrExpr;
|
|
2122
2046
|
isTopLevelFnSymbol(ident: ts.Identifier): boolean;
|
|
2123
2047
|
lowerNestedFunctionDecl(stmt: ts.FunctionDeclaration): IrStmt;
|
|
@@ -2164,7 +2088,7 @@ export declare class Lowerer {
|
|
|
2164
2088
|
fieldGetExpr(target: FieldTarget, loc: SrcLoc, blame: ts.Node): IrExpr;
|
|
2165
2089
|
fieldSetStmt(target: FieldTarget, value: IrExpr, loc: SrcLoc, blame: ts.Node): IrStmt;
|
|
2166
2090
|
lowerFieldCompound(access: ts.PropertyAccessExpression | ts.ElementAccessExpression, op: CompoundOp, rhsNode: ts.Expression | null, loc: SrcLoc): IrStmt;
|
|
2167
|
-
|
|
2091
|
+
errorConstructorArgs(args: readonly ts.Expression[], loc: SrcLoc, blame: ts.Node): IrExpr[];
|
|
2168
2092
|
inheritsBuiltinErrorCtor(info: ClassInfo): boolean;
|
|
2169
2093
|
inheritsBuiltinEmitterCtor(info: ClassInfo): boolean;
|
|
2170
2094
|
lowerNew(expr: ts.NewExpression): IrExpr;
|
|
@@ -2225,6 +2149,7 @@ export declare class Lowerer {
|
|
|
2225
2149
|
module: string;
|
|
2226
2150
|
member: string;
|
|
2227
2151
|
}, loc: SrcLoc): IrExpr | null;
|
|
2152
|
+
lowerNativeCallableValue(fn: BuiltinModuleFn, display: string, loc: SrcLoc): IrExpr | null;
|
|
2228
2153
|
isBuiltinCallableValue(expr: IrExpr): boolean;
|
|
2229
2154
|
lowerBuiltinModuleCall(expr: ts.CallExpression, bi: {
|
|
2230
2155
|
module: string;
|
|
@@ -2332,4 +2257,3 @@ export declare class Lowerer {
|
|
|
2332
2257
|
islandGlobalFnOf(ident: ts.Identifier): IslandFnEntry | null;
|
|
2333
2258
|
lowerIslandMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
2334
2259
|
}
|
|
2335
|
-
export {};
|