@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
|
@@ -1,536 +0,0 @@
|
|
|
1
|
-
import type { IrBytesElem, IrGlobal, IrRecordShape, IrExpr, IrFfiImport, IrFunction, IrLocal, IrModule, IrStmt, IrType, IrUnionDef, SrcLoc } from "../../ir/ir.js";
|
|
2
|
-
import type { IntegerRanges } from "../../ir/integer-ranges.js";
|
|
3
|
-
import { type ConstantNumericTable } from "../../ir/constant-tables.js";
|
|
4
|
-
import { type FfiCallbackAdapter } from "../ffi-callbacks.js";
|
|
5
|
-
import { VtSlot, ClassMeta } from "./shapes.js";
|
|
6
|
-
import { type StreamTypedRefAdapter } from "./exprs.js";
|
|
7
|
-
export interface CEmitOptions {
|
|
8
|
-
/** Exact frontend sources for dev-build #line directives. */
|
|
9
|
-
debugSources?: ReadonlyMap<string, string>;
|
|
10
|
-
/** Library archive assembly may move the volatile identity getters into a
|
|
11
|
-
* separate translation unit. Public/direct emission keeps them by default. */
|
|
12
|
-
emitLibraryIdentity?: boolean;
|
|
13
|
-
}
|
|
14
|
-
export declare function emitCModule(mod: IrModule, sourceText?: string, options?: CEmitOptions): string;
|
|
15
|
-
/** A declared C value with its IR type — the unit frames and scopes track
|
|
16
|
-
* so releases can be type-directed. */
|
|
17
|
-
export interface Temp {
|
|
18
|
-
name: string;
|
|
19
|
-
type: IrType;
|
|
20
|
-
}
|
|
21
|
-
/** A scope entry: a refcounted local, either held directly or through a
|
|
22
|
-
* capture box (boxed locals release their BOX; the box frees its contents). */
|
|
23
|
-
export interface ScopeEntry extends Temp {
|
|
24
|
-
boxed?: boolean;
|
|
25
|
-
}
|
|
26
|
-
export declare class CEmitter {
|
|
27
|
-
readonly mod: IrModule;
|
|
28
|
-
private readonly options;
|
|
29
|
-
private readonly debug;
|
|
30
|
-
sourceLoc: SrcLoc | null;
|
|
31
|
-
readonly lines: string[];
|
|
32
|
-
indent: number;
|
|
33
|
-
tempCounter: number;
|
|
34
|
-
/** Interned string literals: UTF-8 text → static symbol name. */
|
|
35
|
-
readonly literals: Map<string, string>;
|
|
36
|
-
/** Kind-specialized typed-array access helpers actually used by this
|
|
37
|
-
* program. Keeping these in the generated TU means unrelated binaries do
|
|
38
|
-
* not pay even debug/link metadata for byte-loop fast paths. */
|
|
39
|
-
readonly bytesElementHelpers: Set<"get:f32:f64" | "get:f32:u64" | "get:f64:f64" | "get:f64:u64" | "get:i32:f64" | "get:i32:u64" | "get:u32:f64" | "get:u32:u64" | "get:u8:f64" | "get:u8:u64" | "set:f32:f64" | "set:f32:u64" | "set:f64:f64" | "set:f64:u64" | "set:i32:f64" | "set:i32:u64" | "set:u32:f64" | "set:u32:u64" | "set:u8:f64" | "set:u8:u64">;
|
|
40
|
-
/** Interned unit-armed union instances: "unionId:tag" → static symbol.
|
|
41
|
-
* A unit arm (undefined/null) has no payload, so every instance of one
|
|
42
|
-
* (union, tag) pair is identical — ONE immortal (rc == SIZE_MAX) static
|
|
43
|
-
* serves them all. Immortals are skipped by retain/release and by the
|
|
44
|
-
* cycle collector's child filter (SCR_CYC_SKIP), so the missing cycle
|
|
45
|
-
* header is fine even when a traced container points at one. */
|
|
46
|
-
readonly unitInstances: Map<string, string>;
|
|
47
|
-
/** Interned regex literals: "<flags>/<pattern>" → static symbol. One
|
|
48
|
-
* immortal (rc == SIZE_MAX) ScrRegex per distinct (pattern, flags) pair —
|
|
49
|
-
* the bytecode slot starts NULL and the runtime compiles it lazily on
|
|
50
|
-
* first use. The source/flags strings ride the ordinary literal table. */
|
|
51
|
-
readonly regexInstances: Map<string, string>;
|
|
52
|
-
/** Interned tagged-template strings objects: per-site key → symbol +
|
|
53
|
-
* cooked spans. One immortal (rc == SIZE_MAX) ScrArr of interned string
|
|
54
|
-
* literals per template-literal SITE — the spec's per-occurrence
|
|
55
|
-
* identity: the same site evaluated twice hands the tag the same array,
|
|
56
|
-
* two sites never share even with identical text. */
|
|
57
|
-
readonly templateStringsInstances: Map<string, {
|
|
58
|
-
sym: string;
|
|
59
|
-
cooked: string[];
|
|
60
|
-
}>;
|
|
61
|
-
/** Class objects (classes as first-class values): className → static
|
|
62
|
-
* symbol. One immortal ScrClassObj per class some classRef names —
|
|
63
|
-
* preorder interval baked as constants, the .name string in the literal
|
|
64
|
-
* table, and a per-class construct thunk (void *sc_ct_*) newValue
|
|
65
|
-
* dispatches through. Registered during body emission (the regex
|
|
66
|
-
* pattern); the statics and thunks are assembled around the bodies. */
|
|
67
|
-
readonly classObjs: Map<string, string>;
|
|
68
|
-
/** Stack of statement frames: refcounted temps not yet released or moved. */
|
|
69
|
-
frames: Temp[][];
|
|
70
|
-
/** Stack of scopes: refcounted locals (with types) declared in each. */
|
|
71
|
-
scopes: ScopeEntry[][];
|
|
72
|
-
/** The function being emitted: local table (for boxedness) and whether
|
|
73
|
-
* each local arrived through the closure environment (env captures are
|
|
74
|
-
* borrowed — never declared, never released here). */
|
|
75
|
-
currentLocals: Map<string, IrLocal>;
|
|
76
|
-
captureIds: Set<string>;
|
|
77
|
-
/** Canonical byte-loop induction locals currently represented by an
|
|
78
|
-
* unsigned integer shadow. Ordinary number reads widen the shadow back to
|
|
79
|
-
* f64; direct byte indices consume it without a conversion round trip. */
|
|
80
|
-
integerLoopBindings: Map<string, string>;
|
|
81
|
-
integerRanges: IntegerRanges;
|
|
82
|
-
/** Declared functions referenced as values: each needs an env-signature
|
|
83
|
-
* wrapper + an interned immortal closure (so `f === f` holds). */
|
|
84
|
-
readonly fnValues: Set<string>;
|
|
85
|
-
/** Emitted ref-kind resolve thunks for new Promise, interned per inner
|
|
86
|
-
* typeKey → thunk symbol. */
|
|
87
|
-
readonly resolveThunks: Map<string, string>;
|
|
88
|
-
readonly genResThunks: Map<string, string>;
|
|
89
|
-
/** Emitted child exit adapters, interned per union id (childExitThunkFor). */
|
|
90
|
-
readonly childExitThunks: Map<string, string>;
|
|
91
|
-
/** Emitted child-stream data adapters, interned per union id
|
|
92
|
-
* (childDataThunkFor). */
|
|
93
|
-
readonly childDataThunks: Map<string, string>;
|
|
94
|
-
/** Emitted bound-close adapters, interned per union id
|
|
95
|
-
* (closeBindThunkFor). */
|
|
96
|
-
readonly closeBindThunks: Map<string, string>;
|
|
97
|
-
/** Emitted close-override wrappers, interned per (union id, ret kind)
|
|
98
|
-
* (closeOverrideWrapFor). */
|
|
99
|
-
readonly closeOverrideWraps: Map<string, string>;
|
|
100
|
-
/** Emitted dgram message adapters, interned per rinfo shape id
|
|
101
|
-
* (dgramMsgThunkFor). */
|
|
102
|
-
readonly dgramMsgThunks: Map<string, string>;
|
|
103
|
-
/** Emitted dns.lookup callback adapters, interned per union id + param
|
|
104
|
-
* count (dnsLookupThunkFor). */
|
|
105
|
-
readonly dnsLookupThunks: Map<string, string>;
|
|
106
|
-
/** Emitted fs.rename callback adapters, interned per callback type. */
|
|
107
|
-
readonly fsRenameThunks: Map<string, string>;
|
|
108
|
-
/** Emitted SNI answer-closure thunks, interned per cb func-type key
|
|
109
|
-
* (sniAnswerThunkFor). */
|
|
110
|
-
readonly sniAnswerThunks: Map<string, string>;
|
|
111
|
-
/** Emitted net.connect lookup answer thunks, interned per cb func-type
|
|
112
|
-
* key (netLookupAnswerThunkFor). */
|
|
113
|
-
readonly netLookupAnswerThunks: Map<string, string>;
|
|
114
|
-
/** Emitted EventEmitter listener invoke adapters, interned per listener
|
|
115
|
-
* func-type key (emitterInvokeThunkFor). */
|
|
116
|
-
readonly emitterInvokeThunks: Map<string, string>;
|
|
117
|
-
/** Emitted stream option-callback invoke adapters (read/write/final/
|
|
118
|
-
* destroy/transform/flush — the leading-`this` closures), interned per
|
|
119
|
-
* (kind, callback func-type) key (streamCbThunkFor). */
|
|
120
|
-
readonly streamCbThunks: Map<string, string>;
|
|
121
|
-
/** Emitted stream completion-callback closure fns (the `callback` a
|
|
122
|
-
* user's write/final/destroy/transform/flush receives and calls),
|
|
123
|
-
* interned per (kind, done func-type) key (streamDoneFnFor). */
|
|
124
|
-
readonly streamDoneFns: Map<string, string>;
|
|
125
|
-
/** Emitted CONNECT-listener union-socket adapters, interned per cb
|
|
126
|
-
* func-type key (connectSockThunkFor). */
|
|
127
|
-
readonly connectSockThunks: Map<string, string>;
|
|
128
|
-
/** Emitted Promise.race fulfillment adapters, interned per
|
|
129
|
-
* `entryInner=>resultInner` typeKey pair (raceAdapterFor). */
|
|
130
|
-
readonly raceThunks: Map<string, string>;
|
|
131
|
-
/** setTimeout appeared somewhere: main must run the event loop even in
|
|
132
|
-
* programs with no async functions. */
|
|
133
|
-
usesTimers: boolean;
|
|
134
|
-
readonly fnByName: Map<string, IrFunction>;
|
|
135
|
-
/** Manifest-bound native imports, used by ffiCall emission. */
|
|
136
|
-
readonly ffiByName: Map<string, IrFfiImport>;
|
|
137
|
-
/** One C-ABI trampoline per manifest callback entry. Raw function
|
|
138
|
-
* pointers additionally get a distinct TLS context slot, so two
|
|
139
|
-
* callbacks with the same signature never alias each other's closure. */
|
|
140
|
-
readonly ffiCallbackAdapters: Map<string, FfiCallbackAdapter>;
|
|
141
|
-
/** Module-level constant consulted per ffiCall: with a retained
|
|
142
|
-
* descriptor anywhere in the manifest, every native call is a
|
|
143
|
-
* pending-exception checkpoint (may-throw derives the same fact from
|
|
144
|
-
* the same helper). */
|
|
145
|
-
readonly ffiHasRetainedCallback: boolean;
|
|
146
|
-
readonly ffiHasForeignCallback: boolean;
|
|
147
|
-
readonly globalsById: Map<string, IrGlobal>;
|
|
148
|
-
readonly constantNumericTables: ReadonlyMap<string, ConstantNumericTable>;
|
|
149
|
-
readonly unionsById: Map<string, IrUnionDef>;
|
|
150
|
-
/** Active optional-chain bind temps, by chain id (chainRecv reads). */
|
|
151
|
-
readonly chainTemps: Map<string, Temp>;
|
|
152
|
-
readonly recordsById: Map<string, IrRecordShape>;
|
|
153
|
-
/** Record shapes whose bodies emitted recordClone. Filled while function
|
|
154
|
-
* bodies emit, before emitStructDefs assembles per-shape helpers. */
|
|
155
|
-
readonly recordCloneShapes: Set<string>;
|
|
156
|
-
/** Type-directed JSON walkers, interned per typeKey — one serializer per
|
|
157
|
-
* type used in jsonStringify position (sc_jw_*), one match predicate
|
|
158
|
-
* (sc_dm_*) and one checked builder (sc_dc_*) per type used in dynCheck
|
|
159
|
-
* position. Emitted as prototypes + definitions after the struct block
|
|
160
|
-
* (they reference struct types, per-shape RC helpers, and each other, so
|
|
161
|
-
* the prototypes make definition order irrelevant). */
|
|
162
|
-
readonly jsonWriters: Map<string, string>;
|
|
163
|
-
/** The pretty-print re-indenter (type-independent, interned once):
|
|
164
|
-
* emitted on the first `JSON.stringify(v, null, space)` site. */
|
|
165
|
-
jsonIndentFn: string | null;
|
|
166
|
-
/** The dyn ToString pair (type-independent, interned once): emitted on
|
|
167
|
-
* the first String(unknown) / `${unknown}` site. */
|
|
168
|
-
dynToStrFn: string | null;
|
|
169
|
-
/** The caught→dyn converter (type-independent, interned once): emitted
|
|
170
|
-
* on the first catch binding flowing into an `unknown` slot. */
|
|
171
|
-
caughtToDynFn: string | null;
|
|
172
|
-
/** Interned per-union helpers: unionId → emitted function name. */
|
|
173
|
-
readonly unionTruthyFns: Map<string, string>;
|
|
174
|
-
readonly unionEqFns: Map<string, string>;
|
|
175
|
-
readonly unionToStrFns: Map<string, string>;
|
|
176
|
-
readonly unionJoinFns: Map<string, string>;
|
|
177
|
-
readonly dynMatchers: Map<string, string>;
|
|
178
|
-
readonly dynBuilders: Map<string, string>;
|
|
179
|
-
/** Static→dyn converters (sc_td_*), per typeKey; dynamic-keyed record
|
|
180
|
-
* read helpers (sc_rkg_*), per shapeId|result typeKey; dynamic-keyed
|
|
181
|
-
* write helpers (sc_rks_*), per shapeId. */
|
|
182
|
-
readonly toDynFns: Map<string, string>;
|
|
183
|
-
/** ReadableStream.from typed-array element adapters, per element
|
|
184
|
-
* typeKey. The runtime retains the original array and calls one of these
|
|
185
|
-
* for each pull, preserving iterator-time reads without teaching the
|
|
186
|
-
* runtime the compiler's program-specific record/union layouts. */
|
|
187
|
-
readonly streamFromArrayAdapters: Map<string, string>;
|
|
188
|
-
/** Identity-preserving static→dyn capsules for program classes and Web
|
|
189
|
-
* APIs whose values remain directly observable. */
|
|
190
|
-
readonly liveDynRefAdapters: Map<string, {
|
|
191
|
-
snapshot: string;
|
|
192
|
-
commit: string;
|
|
193
|
-
}>;
|
|
194
|
-
/** Runtime-arm dispatchers for live references whose static type is a
|
|
195
|
-
* union. Mutable arms become typed capsules; scalar/unit arms retain the
|
|
196
|
-
* ordinary static-to-dyn conversion. */
|
|
197
|
-
readonly liveDynUnionRefAdapters: Map<string, string>;
|
|
198
|
-
readonly dynPromiseAdapters: Map<string, string>;
|
|
199
|
-
/** The checked-dynamic function boundary's per-signature helpers (see
|
|
200
|
-
* walkers.ts): call thunks (sc_dfk_*), box builders (sc_dfb_*),
|
|
201
|
-
* and dynCheck adapters (sc_dfa_*), each per func typeKey. */
|
|
202
|
-
readonly dynFuncThunks: Map<string, string>;
|
|
203
|
-
readonly dynFuncBoxes: Map<string, string>;
|
|
204
|
-
readonly dynFuncAdapters: Map<string, string>;
|
|
205
|
-
/** dyn-promise settle adapters (sc_pda_*), per INNER typeKey: convert a
|
|
206
|
-
* typed fulfillment payload into the boxed destination's dyn payload
|
|
207
|
-
* (scr_dyn_new_promise_adapting's callback — toDynHelper's promise arm). */
|
|
208
|
-
readonly promiseDynAdapters: Map<string, string>;
|
|
209
|
-
readonly recordKeyGetFns: Map<string, string>;
|
|
210
|
-
readonly recordKeySetFns: Map<string, string>;
|
|
211
|
-
readonly walkerProtos: string[];
|
|
212
|
-
readonly walkerDefs: string[];
|
|
213
|
-
/** Island host-call adapters, interned per (arity, void-ness): the one
|
|
214
|
-
* uniform shape scr_jsval_from_closure calls — unpack the cell array,
|
|
215
|
-
* call the closure through its real ABI (which CONSUMES its params, so
|
|
216
|
-
* each cell is retained in), return the +1 result cell or NULL for void.
|
|
217
|
-
* Definitions ride walkerDefs (self-contained over the closure ABI). */
|
|
218
|
-
readonly islandAdapters: Map<string, string>;
|
|
219
|
-
/** TYPED island host-call adapters, interned per full signature (param
|
|
220
|
-
* typeKeys + return classification): each incoming engine argument
|
|
221
|
-
* converts to the param's static type through the exit machinery before
|
|
222
|
-
* the closure runs — see islandTypedAdapter (island.ts). */
|
|
223
|
-
readonly islandTypedAdapters: Map<string, string>;
|
|
224
|
-
/** Enclosing break/continue targets. An unlabeled `break` binds to the
|
|
225
|
-
* innermost loop-or-switch entry (labeled BLOCK entries are skipped); an
|
|
226
|
-
* unlabeled `continue` searches inward-out for the innermost LOOP,
|
|
227
|
-
* skipping switches and blocks. A LABELED jump binds to the entry whose
|
|
228
|
-
* `labels` contains its label: `break lbl` jumps to the target's
|
|
229
|
-
* endLabel (loops allocate one lazily via `usedEnd` — a C `break` only
|
|
230
|
-
* exits the innermost loop), `continue lbl` to the target loop's
|
|
231
|
-
* continueLabel. Loops: `continueLabel` is null when C `continue` is
|
|
232
|
-
* correct (unlabeled while/forOf); for/do-while loops need a goto label
|
|
233
|
-
* so `continue` still runs the update/condition, and LABELED loops of
|
|
234
|
-
* every shape allocate one up front (a labeled continue from a nested
|
|
235
|
-
* loop needs a goto). Switches are emitted as goto chains — never as C
|
|
236
|
-
* `switch` — so a C `break`/`continue` inside an emitted switch region
|
|
237
|
-
* still binds to the enclosing C loop; a break targeting the switch
|
|
238
|
-
* itself jumps to `endLabel` instead. Labeled blocks carry only an
|
|
239
|
-
* endLabel (`break lbl` is the only jump that can target them).
|
|
240
|
-
* `scopeDepth` = scopes.length at entry — a break/continue releases
|
|
241
|
-
* every scope pushed after that before jumping. `frameDepth` =
|
|
242
|
-
* frames.length at entry: statements the jump exits may still hold
|
|
243
|
-
* pending refcounted temps in their frames (a switch's discriminant,
|
|
244
|
-
* most notably), whose normal end-of-statement releases sit on the
|
|
245
|
-
* fall-through path the jump bypasses — the jump releases every frame
|
|
246
|
-
* pushed after the target's own before jumping. */
|
|
247
|
-
jumpTargets: ({
|
|
248
|
-
kind: "loop";
|
|
249
|
-
continueLabel: string | null;
|
|
250
|
-
usedContinue: boolean;
|
|
251
|
-
endLabel: string | null;
|
|
252
|
-
usedEnd: boolean;
|
|
253
|
-
labels?: string[];
|
|
254
|
-
scopeDepth: number;
|
|
255
|
-
frameDepth: number;
|
|
256
|
-
finallyDepth: number;
|
|
257
|
-
} | {
|
|
258
|
-
kind: "switch";
|
|
259
|
-
endLabel: string;
|
|
260
|
-
usedEnd: boolean;
|
|
261
|
-
labels?: string[];
|
|
262
|
-
scopeDepth: number;
|
|
263
|
-
frameDepth: number;
|
|
264
|
-
finallyDepth: number;
|
|
265
|
-
} | {
|
|
266
|
-
kind: "block";
|
|
267
|
-
endLabel: string;
|
|
268
|
-
usedEnd: boolean;
|
|
269
|
-
labels: string[];
|
|
270
|
-
scopeDepth: number;
|
|
271
|
-
frameDepth: number;
|
|
272
|
-
finallyDepth: number;
|
|
273
|
-
})[];
|
|
274
|
-
labelCounter: number;
|
|
275
|
-
readonly returnTypeByFn: Map<string, IrType>;
|
|
276
|
-
lineStarts: number[] | null;
|
|
277
|
-
/** May-throw analysis results (computeMayThrow): pending-exception checks
|
|
278
|
-
* are emitted only after calls that can actually raise. */
|
|
279
|
-
readonly mayThrow: Set<string>;
|
|
280
|
-
readonly indirectMayThrow: boolean;
|
|
281
|
-
/** Enclosing try contexts, innermost last — the compile-time analogue of
|
|
282
|
-
* the jump-target stack for UNWINDING: a pending check (or `throw`) inside
|
|
283
|
-
* a try releases frames/scopes down to the recorded depths and jumps to
|
|
284
|
-
* `label` (the catch, or the exception-path finally) instead of returning
|
|
285
|
-
* out of the function. Purely compile-time: entering a try emits no code. */
|
|
286
|
-
tryStack: {
|
|
287
|
-
label: string;
|
|
288
|
-
used: boolean;
|
|
289
|
-
frameDepth: number;
|
|
290
|
-
scopeDepth: number;
|
|
291
|
-
}[];
|
|
292
|
-
/** Enclosing try-with-finally regions, innermost last. Returns use the
|
|
293
|
-
* central pending-return copies; break/continue inline the crossed bodies
|
|
294
|
-
* with the same truncated ownership and exception context as LLVM. */
|
|
295
|
-
finallyStack: {
|
|
296
|
-
label: string;
|
|
297
|
-
used: boolean;
|
|
298
|
-
frameDepth: number;
|
|
299
|
-
scopeDepth: number;
|
|
300
|
-
tryDepth: number;
|
|
301
|
-
body: IrStmt[];
|
|
302
|
-
}[];
|
|
303
|
-
/** Scope entry protecting sc_pret while a pending-return finally copy
|
|
304
|
-
* runs. A return in that copy replaces the old completion: it evaluates
|
|
305
|
-
* first, releases the old slot, then removes this protection from its
|
|
306
|
-
* own unwind path before dispatching. */
|
|
307
|
-
pendingReturnScopeIndex: number | null;
|
|
308
|
-
/** Return type of the function being emitted — the unwind path returns a
|
|
309
|
-
* dummy of this type (never read: callers check the pending flag first). */
|
|
310
|
-
currentReturnType: IrType;
|
|
311
|
-
/** The generator channels of the function being emitted (null outside
|
|
312
|
-
* generator bodies): yieldExpr emission reads them, and emitTryCatch's
|
|
313
|
-
* catch prologue emits the GENRET sentinel re-unwind exactly here. */
|
|
314
|
-
currentGenerator: {
|
|
315
|
-
yieldT: IrType;
|
|
316
|
-
nextT: IrType;
|
|
317
|
-
} | null;
|
|
318
|
-
/** Cycle-capable shapes ("object:<name>" / "record:<id>") and unions
|
|
319
|
-
* (unionId): instances get a cycle header + emitted trace/teardown, and
|
|
320
|
-
* fields/payloads of these types are visited by container traces.
|
|
321
|
-
* Computed as a greatest fixpoint in the constructor — see there. */
|
|
322
|
-
readonly tracedShapes: Set<string>;
|
|
323
|
-
readonly tracedUnions: Set<string>;
|
|
324
|
-
/** The class graph (single inheritance): base/children links, hierarchy
|
|
325
|
-
* membership (extends anywhere ⇒ vtable word + dynamic release), the
|
|
326
|
-
* whole-program preorder numbering behind O(1) instanceof, and the
|
|
327
|
-
* per-hierarchy virtual slot lists (root classes only). Computed once in
|
|
328
|
-
* the constructor. */
|
|
329
|
-
readonly classMeta: Map<string, ClassMeta>;
|
|
330
|
-
/** Method names with at least one may-throw implementation: a
|
|
331
|
-
* virtualCall's pending check keys on this (same over-approximation as
|
|
332
|
-
* computeMayThrow's callee cover). */
|
|
333
|
-
readonly mayThrowMethods: Set<string>;
|
|
334
|
-
/** Vtable slot adapters to define after the function signatures (they
|
|
335
|
-
* call sc_f_* bodies): dedupe key "implClass.method". */
|
|
336
|
-
readonly vtAdapters: Map<string, {
|
|
337
|
-
impl: ClassMeta;
|
|
338
|
-
slot: VtSlot;
|
|
339
|
-
}>;
|
|
340
|
-
constructor(mod: IrModule, sourceText?: string, options?: CEmitOptions);
|
|
341
|
-
emit(): string;
|
|
342
|
-
emitLibEntries(out: string[], globals: IrGlobal[]): void;
|
|
343
|
-
emitAsyncScaffolding(out: string[]): void;
|
|
344
|
-
emitStructDefs(out: string[]): void;
|
|
345
|
-
vtEntriesFor(meta: ClassMeta): {
|
|
346
|
-
slot: VtSlot;
|
|
347
|
-
impl: ClassMeta | null;
|
|
348
|
-
}[];
|
|
349
|
-
vtSlotParams(slot: VtSlot, named: boolean): string[];
|
|
350
|
-
emitVtableDecls(out: string[], hierarchyClasses: ClassMeta[]): void;
|
|
351
|
-
emitVtableInstances(out: string[], hierarchyClasses: ClassMeta[]): void;
|
|
352
|
-
emitVtAdapterDefs(out: string[]): void;
|
|
353
|
-
emitHierarchyClassHelpers(out: string[], meta: ClassMeta, s: {
|
|
354
|
-
struct: string;
|
|
355
|
-
newFn: string;
|
|
356
|
-
retain: string;
|
|
357
|
-
release: string;
|
|
358
|
-
trace: string;
|
|
359
|
-
gcFree: string;
|
|
360
|
-
traced: boolean;
|
|
361
|
-
fields: {
|
|
362
|
-
name: string;
|
|
363
|
-
type: IrType;
|
|
364
|
-
}[];
|
|
365
|
-
}): void;
|
|
366
|
-
islandAdapter(arity: number, retKind: "void" | "jsval" | "f64" | "bool" | "string"): string;
|
|
367
|
-
islandTypedAdapter(fn: IrType & {
|
|
368
|
-
kind: "func";
|
|
369
|
-
}): string;
|
|
370
|
-
unionTruthyHelper(unionId: string): string;
|
|
371
|
-
unionEqHelper(unionId: string, sameValue: boolean): string;
|
|
372
|
-
unionToStrHelper(unionId: string): string;
|
|
373
|
-
unionJoinHelper(unionId: string): string;
|
|
374
|
-
jsonWriteHelper(t: IrType): string;
|
|
375
|
-
jsonIndentHelper(): string;
|
|
376
|
-
dynMatchHelper(t: IrType): string;
|
|
377
|
-
dynCheckHelper(t: IrType): string;
|
|
378
|
-
toDynHelper(t: IrType): string;
|
|
379
|
-
liveDynRefAdapter(t: IrType): StreamTypedRefAdapter;
|
|
380
|
-
dynFuncBoxHelper(t: IrType & {
|
|
381
|
-
kind: "func";
|
|
382
|
-
}): string;
|
|
383
|
-
recordKeyGetHelper(shapeId: string, t: IrType, overflowOnly?: boolean): string;
|
|
384
|
-
recordKeySetHelper(shapeId: string): string;
|
|
385
|
-
dynToStrHelper(): string;
|
|
386
|
-
caughtToDynHelper(): string;
|
|
387
|
-
traceAdapterC(t: IrType): string | null;
|
|
388
|
-
traceArgC(t: IrType): string;
|
|
389
|
-
boxNewC(t: IrType): string;
|
|
390
|
-
arrNewC(elem: IrType, capExpr: string | number): string;
|
|
391
|
-
integerLoopIndex(expr: IrExpr): string | null;
|
|
392
|
-
bytesElementHelper(op: "get" | "set", elem: IrBytesElem, integerIndex?: boolean): string;
|
|
393
|
-
private emitBytesElementHelpers;
|
|
394
|
-
line(text: string): void;
|
|
395
|
-
endSourceFunction(): void;
|
|
396
|
-
srcComment(loc: SrcLoc): string;
|
|
397
|
-
newTemp(type: IrType, init: string): Temp;
|
|
398
|
-
/** A borrowed compiler temp. Used only when a surrounding operation has
|
|
399
|
-
* proved that evaluation cannot overwrite the owning binding before the
|
|
400
|
-
* temp's last use. Unlike newTemp, this does not join the release frame. */
|
|
401
|
-
newBorrowedTemp(type: IrType, init: string): Temp;
|
|
402
|
-
/** newTemp for a MAY-THROW runtime call: the result joins its frame
|
|
403
|
-
* BEFORE the standard pending check, so an unwind releases the dummy
|
|
404
|
-
* (NULL for refcounted kinds) harmlessly and the value is only read past
|
|
405
|
-
* the check. The shared shape of every fallible boundary call — jsOp,
|
|
406
|
-
* jsExit, composite jsMarshal, dynCheck, await reads. */
|
|
407
|
-
fallibleTemp(type: IrType, call: string): Temp;
|
|
408
|
-
currentFrame(): Temp[];
|
|
409
|
-
/** Strike a refcounted temp from its frame: ownership is being moved. */
|
|
410
|
-
moveTemp(t: Temp): void;
|
|
411
|
-
/** The release call for one owned refcounted value. */
|
|
412
|
-
releaseValue(name: string, type: IrType): void;
|
|
413
|
-
releaseFrame(frame: ScopeEntry[]): void;
|
|
414
|
-
/** THE release-on-jump path (break/continue/return): pending statement
|
|
415
|
-
* frames and entered scopes down to (and excluding nothing above) the
|
|
416
|
-
* given depths, innermost first — everything whose normal fall-through
|
|
417
|
-
* releases the jump bypasses. The jump target's own frame/scope stay
|
|
418
|
-
* live: a loop's releases after the loop and a switch's after its end
|
|
419
|
-
* label are still on the jump's path (return passes 0/0 — it leaves the
|
|
420
|
-
* whole function). */
|
|
421
|
-
releaseForJump(frameDepth: number, scopeDepth: number): void;
|
|
422
|
-
/** Run the finally regions a break/continue exits, then release to its
|
|
423
|
-
* resolved target. Every body sees compile-time frame/scope/finally/try
|
|
424
|
-
* stacks truncated to the region boundary: a throw propagates outside
|
|
425
|
-
* the completing try, and a jump inside the finally replaces the pending
|
|
426
|
-
* jump without re-entering the same cleanup. */
|
|
427
|
-
emitFinallysForJump(finallyDepth: number, frameDepth: number, scopeDepth: number): void;
|
|
428
|
-
/** THE unwind path at a point where an exception is pending: release
|
|
429
|
-
* everything between here and the innermost try handler — or the whole
|
|
430
|
-
* function — via releaseForJump, then jump to the handler / return a
|
|
431
|
-
* dummy value (never read: callers of a may-throw function test the
|
|
432
|
-
* pending flag before using the result). Callers own the surrounding
|
|
433
|
-
* `if (scr_exc_pending())`; a `throw` unwinds unconditionally. */
|
|
434
|
-
emitUnwind(): void;
|
|
435
|
-
errorVtStampLines(): string[];
|
|
436
|
-
/** The C symbol a direct call or closure enters a function through:
|
|
437
|
-
* async bodies are entered via their emitted spawn wrapper (which runs
|
|
438
|
-
* the fiber eagerly to its first suspension and returns the promise);
|
|
439
|
-
* generator bodies via theirs (which only ALLOCATES the suspended
|
|
440
|
-
* fiber and returns the generator object). */
|
|
441
|
-
callTargetC(fnName: string): string;
|
|
442
|
-
/** The emitter contract for exceptions: after EVERY call that can throw
|
|
443
|
-
* (per the may-throw analysis), test the pending flag and unwind. */
|
|
444
|
-
emitPendingCheck(): void;
|
|
445
|
-
internLiteral(text: string): string;
|
|
446
|
-
/** The class object's static symbol (classes as values), registering it
|
|
447
|
-
* for assembly on first use and interning the .name literal while the
|
|
448
|
-
* literal table is still open (bodies emit before the file assembles —
|
|
449
|
-
* the regex-literal discipline). */
|
|
450
|
-
classObjSym(className: string): string;
|
|
451
|
-
/** The interned immortal instance for a UNIT arm of a union — asserts the
|
|
452
|
-
* arm really is payload-less (undefined/null). */
|
|
453
|
-
internUnitInstance(unionId: string, tag: number): string;
|
|
454
|
-
/** The C expression for that instance — the one pointer every unit-arm
|
|
455
|
-
* value of this (union, tag) is: rc == SIZE_MAX, so RC entry points and
|
|
456
|
-
* the collector both skip it and no retain is ever owed. */
|
|
457
|
-
unitInstanceRef(unionId: string, tag: number): string;
|
|
458
|
-
/** The class-newFn initialization line for a field whose type ADMITS
|
|
459
|
-
* undefined — such fields start as JS's `undefined`, never the calloc
|
|
460
|
-
* NULL: tsc's strictPropertyInitialization accepts them with no
|
|
461
|
-
* initializer and no constructor assignment (undefined is in the type),
|
|
462
|
-
* so a fresh instance is readable before any assignment runs — a method
|
|
463
|
-
* assigns later, a constructor branch skips it, a base constructor's
|
|
464
|
-
* virtual call reads a derived field before super() returns. Node reads
|
|
465
|
-
* `undefined` there; a NULL payload pointer would be a segfault (union
|
|
466
|
-
* fields) or a silent nothing (jsval fields). Undefined-armed unions get
|
|
467
|
-
* the interned immortal unit instance (free; releases skip it); jsval
|
|
468
|
-
* (`any`) fields get an engine undefined cell — such classes exist only
|
|
469
|
-
* in --dynamic builds, and the field's release balances it. Empty for
|
|
470
|
-
* every type that cannot hold undefined (tsc's SPI guards those) and for
|
|
471
|
-
* record shapes' construction paths, which write every field. */
|
|
472
|
-
undefFieldInitLineC(name: string, t: IrType): string[];
|
|
473
|
-
ffiCallbackAdapter(binding: string, id: string): FfiCallbackAdapter;
|
|
474
|
-
/** C-callable trampolines for format-2/3/4 callbacks. The external callback
|
|
475
|
-
* ABI is scalar C, format-3 copy-in string/byte slots, plus an optional
|
|
476
|
-
* exact-position context pointer; the internal side is scriptc's
|
|
477
|
-
* (ScrClosure *env, params...) convention. A raw callback borrows its
|
|
478
|
-
* closure through a distinct TLS slot for the dynamic extent of the outer
|
|
479
|
-
* call, or a process-global slot for retained replace semantics. */
|
|
480
|
-
emitFfiCallbackDefs(out: string[]): void;
|
|
481
|
-
signature(fn: IrFunction): string;
|
|
482
|
-
emitFunction(fn: IrFunction): void;
|
|
483
|
-
emitBlock(stmts: IrStmt[], setup?: (scope: ScopeEntry[]) => void): void;
|
|
484
|
-
emitStmts(stmts: IrStmt[]): void;
|
|
485
|
-
emitStmt(s: IrStmt): void;
|
|
486
|
-
/** A fresh loop jump-target entry. `continueLabel` null means "C
|
|
487
|
-
* continue is correct" (while/forOf) — but a LABELED loop always
|
|
488
|
-
* allocates one (a labeled continue arriving from a nested loop needs a
|
|
489
|
-
* goto), and every labeled loop gets a lazy end label for labeled break
|
|
490
|
-
* (a C break only exits the innermost loop). */
|
|
491
|
-
loopTarget(continueLabel: string | null, labels: string[] | undefined): (typeof this.jumpTargets)[number] & {
|
|
492
|
-
kind: "loop";
|
|
493
|
-
};
|
|
494
|
-
emitTryCatch(s: IrStmt & {
|
|
495
|
-
kind: "tryCatch";
|
|
496
|
-
}): void;
|
|
497
|
-
emitSwitch(s: IrStmt & {
|
|
498
|
-
kind: "switch";
|
|
499
|
-
}): void;
|
|
500
|
-
mergeBrace(emitBlockFn: () => void): void;
|
|
501
|
-
emitBranchInto(target: string, expr: IrExpr): void;
|
|
502
|
-
emitCondition(cond: IrExpr): string;
|
|
503
|
-
/** C expression testing JS truthiness of a temp (falsy: 0, -0, NaN, "").
|
|
504
|
-
* `x == x` rejects NaN, `x != 0` rejects both zeros; strings only need
|
|
505
|
-
* their length — no runtime call, no ownership change. */
|
|
506
|
-
truthyC(t: Temp): string;
|
|
507
|
-
emitExpr(e: IrExpr): Temp;
|
|
508
|
-
childExitThunkFor(param: IrType): string;
|
|
509
|
-
execFileThunkFor(cbT: IrType & {
|
|
510
|
-
kind: "func";
|
|
511
|
-
}): string;
|
|
512
|
-
ipcMessageThunkFor(cbT: IrType & {
|
|
513
|
-
kind: "func";
|
|
514
|
-
}): string;
|
|
515
|
-
ipcSendThunkFor(cbT: IrType & {
|
|
516
|
-
kind: "func";
|
|
517
|
-
}): string;
|
|
518
|
-
childDataThunkFor(param: IrType): string;
|
|
519
|
-
closeBindThunkFor(cbUnion: IrType, retServer: boolean): string;
|
|
520
|
-
closeOverrideWrapFor(cbUnion: IrType, retServer: boolean): string;
|
|
521
|
-
childExitSignalThunkFor(codeParam: IrType, sigParam: IrType): string;
|
|
522
|
-
dgramMsgThunkFor(param: IrType): string;
|
|
523
|
-
dnsLookupThunkFor(cbT: IrType): string;
|
|
524
|
-
fsRenameThunkFor(cbT: IrType): string;
|
|
525
|
-
cryptoBytesThunkFor(cbT: IrType): string;
|
|
526
|
-
zlibBytesThunkFor(cbT: IrType): string;
|
|
527
|
-
sniAnswerThunkFor(cbT: IrType): string;
|
|
528
|
-
netLookupAnswerThunkFor(cbT: IrType): string;
|
|
529
|
-
emitterInvokeThunkFor(cbT: IrType): string;
|
|
530
|
-
streamDataThunkFor(cbT: IrType): string;
|
|
531
|
-
streamCbThunkFor(kind: "r" | "w" | "f" | "d" | "t" | "l" | "e", cbT: IrType): string;
|
|
532
|
-
connectSockThunkFor(cbT: IrType): string;
|
|
533
|
-
connectResThunkFor(cbT: IrType): string;
|
|
534
|
-
raceAdapterFor(from: IrType, to: IrType): string;
|
|
535
|
-
resolveThunkFor(inner: IrType): string;
|
|
536
|
-
}
|