@scriptc/compiler 0.2.4 → 0.2.6
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 +972 -245
- package/ambient/scriptc-overrides.d.ts +5 -1
- package/ambient/scriptc.d.ts +22 -2
- package/dist/backend/build-cache.d.ts +4 -0
- package/dist/backend/build-cache.js +16 -2
- package/dist/backend/build-cache.js.map +1 -1
- package/dist/backend/cycle-analysis.js +17 -5
- package/dist/backend/cycle-analysis.js.map +1 -1
- package/dist/backend/cycle-analysis.test.js +50 -11
- package/dist/backend/cycle-analysis.test.js.map +1 -1
- package/dist/backend/debug-symbols.js.map +1 -1
- package/dist/backend/executable-features.js +3 -1
- package/dist/backend/executable-features.js.map +1 -1
- package/dist/backend/external-c.d.ts +13 -6
- package/dist/backend/external-c.js +15 -3
- package/dist/backend/external-c.js.map +1 -1
- package/dist/backend/ffi-callbacks.js +6 -9
- package/dist/backend/ffi-callbacks.js.map +1 -1
- package/dist/backend/library-identity-markers.js.map +1 -1
- package/dist/backend/library-pack.d.ts +1 -1
- package/dist/backend/library-pack.js +81 -24
- package/dist/backend/library-pack.js.map +1 -1
- package/dist/backend/link-plan-core.d.ts +2 -0
- package/dist/backend/link-plan-core.js +10 -2
- package/dist/backend/link-plan-core.js.map +1 -1
- package/dist/backend/link-plan.d.ts +2 -1
- package/dist/backend/link-plan.js +7 -5
- package/dist/backend/link-plan.js.map +1 -1
- package/dist/backend/linker.d.ts +1 -1
- package/dist/backend/linker.js +42 -23
- package/dist/backend/linker.js.map +1 -1
- package/dist/backend/literals.js +5 -4
- package/dist/backend/literals.js.map +1 -1
- package/dist/backend/literals.test.js +30 -5
- package/dist/backend/literals.test.js.map +1 -1
- package/dist/backend/llvm/blocks.test.js +5 -2
- package/dist/backend/llvm/blocks.test.js.map +1 -1
- package/dist/backend/llvm/borrowed-inputs.js.map +1 -1
- package/dist/backend/llvm/borrowed-receivers.js +43 -19
- package/dist/backend/llvm/borrowed-receivers.js.map +1 -1
- package/dist/backend/llvm/byte-numbers.js +38 -5
- package/dist/backend/llvm/byte-numbers.js.map +1 -1
- package/dist/backend/llvm/byte-windows.d.ts +31 -0
- package/dist/backend/llvm/byte-windows.js +334 -0
- package/dist/backend/llvm/byte-windows.js.map +1 -0
- package/dist/backend/llvm/byte-windows.test.d.ts +1 -0
- package/dist/backend/llvm/byte-windows.test.js +244 -0
- package/dist/backend/llvm/byte-windows.test.js.map +1 -0
- package/dist/backend/llvm/bytes-bounds.js +73 -22
- package/dist/backend/llvm/bytes-bounds.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.d.ts +5 -2
- package/dist/backend/llvm/call-lifetimes.js +72 -19
- package/dist/backend/llvm/call-lifetimes.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.test.js +159 -28
- package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/checked-value-lifetimes.d.ts +4 -0
- package/dist/backend/llvm/checked-value-lifetimes.js +14 -4
- package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -1
- package/dist/backend/llvm/classes.d.ts +14 -1
- package/dist/backend/llvm/classes.js +94 -19
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/classes.test.d.ts +1 -0
- package/dist/backend/llvm/classes.test.js +99 -0
- package/dist/backend/llvm/classes.test.js.map +1 -0
- package/dist/backend/llvm/common.js +4 -1
- package/dist/backend/llvm/common.js.map +1 -1
- package/dist/backend/llvm/constant-callbacks.d.ts +11 -0
- package/dist/backend/llvm/constant-callbacks.js +213 -0
- package/dist/backend/llvm/constant-callbacks.js.map +1 -0
- package/dist/backend/llvm/constant-callbacks.test.d.ts +1 -0
- package/dist/backend/llvm/constant-callbacks.test.js +124 -0
- package/dist/backend/llvm/constant-callbacks.test.js.map +1 -0
- package/dist/backend/llvm/counted-loops.js +10 -3
- package/dist/backend/llvm/counted-loops.js.map +1 -1
- package/dist/backend/llvm/debug-info.js +33 -13
- package/dist/backend/llvm/debug-info.js.map +1 -1
- package/dist/backend/llvm/debug-info.test.js +28 -6
- package/dist/backend/llvm/debug-info.test.js.map +1 -1
- package/dist/backend/llvm/dyn.d.ts +1 -1
- package/dist/backend/llvm/dyn.js +75 -56
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +28 -3
- package/dist/backend/llvm/emitter.js +506 -145
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.test.js +247 -50
- package/dist/backend/llvm/emitter.test.js.map +1 -1
- package/dist/backend/llvm/expr-async.js +25 -6
- package/dist/backend/llvm/expr-async.js.map +1 -1
- package/dist/backend/llvm/expr-bytes.js +24 -4
- package/dist/backend/llvm/expr-bytes.js.map +1 -1
- package/dist/backend/llvm/expr-callbacks.js +10 -4
- package/dist/backend/llvm/expr-callbacks.js.map +1 -1
- package/dist/backend/llvm/expr-calls.js +110 -31
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-containers.d.ts +2 -0
- package/dist/backend/llvm/expr-containers.js +112 -41
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-control.js +1 -3
- package/dist/backend/llvm/expr-control.js.map +1 -1
- package/dist/backend/llvm/expr-dispatch.js +3 -1
- package/dist/backend/llvm/expr-dispatch.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.js +55 -7
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-island.js +26 -6
- package/dist/backend/llvm/expr-island.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.js +95 -19
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.test.js +44 -2
- package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
- package/dist/backend/llvm/expr-records.js +10 -9
- package/dist/backend/llvm/expr-records.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.js +44 -26
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.test.js +51 -14
- package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -1
- package/dist/backend/llvm/expr-stream-callbacks.js +34 -14
- package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
- package/dist/backend/llvm/integer-remainder.d.ts +7 -0
- package/dist/backend/llvm/integer-remainder.js +26 -0
- package/dist/backend/llvm/integer-remainder.js.map +1 -0
- package/dist/backend/llvm/integer-values.js +15 -4
- package/dist/backend/llvm/integer-values.js.map +1 -1
- package/dist/backend/llvm/integer-views.js +23 -7
- package/dist/backend/llvm/integer-views.js.map +1 -1
- package/dist/backend/llvm/integer-views.test.js +42 -7
- package/dist/backend/llvm/integer-views.test.js.map +1 -1
- package/dist/backend/llvm/layouts.js +1 -1
- package/dist/backend/llvm/layouts.js.map +1 -1
- package/dist/backend/llvm/lib-abi.js +20 -4
- package/dist/backend/llvm/lib-abi.js.map +1 -1
- package/dist/backend/llvm/lib-connect.js +7 -1
- package/dist/backend/llvm/lib-connect.js.map +1 -1
- package/dist/backend/llvm/lib-datagram.js +35 -10
- package/dist/backend/llvm/lib-datagram.js.map +1 -1
- package/dist/backend/llvm/lib-dispatch.js +42 -38
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.js +33 -18
- package/dist/backend/llvm/lib-filesystem.js.map +1 -1
- package/dist/backend/llvm/lib-http2.js +60 -15
- package/dist/backend/llvm/lib-http2.js.map +1 -1
- package/dist/backend/llvm/lib-lookup.js +12 -5
- package/dist/backend/llvm/lib-lookup.js.map +1 -1
- package/dist/backend/llvm/lib-network.js +97 -31
- package/dist/backend/llvm/lib-network.js.map +1 -1
- package/dist/backend/llvm/lib-process.js +57 -14
- package/dist/backend/llvm/lib-process.js.map +1 -1
- package/dist/backend/llvm/lib-shared.js +122 -31
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/lib-stream.js +33 -14
- package/dist/backend/llvm/lib-stream.js.map +1 -1
- package/dist/backend/llvm/lib-test.js +21 -7
- package/dist/backend/llvm/lib-test.js.map +1 -1
- package/dist/backend/llvm/lib-tls.js +69 -20
- package/dist/backend/llvm/lib-tls.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.d.ts +9 -2
- package/dist/backend/llvm/local-array-reads.js +176 -89
- package/dist/backend/llvm/local-array-reads.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.test.js +394 -62
- package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
- package/dist/backend/llvm/local-union-storage.d.ts +25 -0
- package/dist/backend/llvm/local-union-storage.js +109 -0
- package/dist/backend/llvm/local-union-storage.js.map +1 -0
- package/dist/backend/llvm/local-union-storage.test.d.ts +1 -0
- package/dist/backend/llvm/local-union-storage.test.js +210 -0
- package/dist/backend/llvm/local-union-storage.test.js.map +1 -0
- package/dist/backend/llvm/loop-array-borrows.d.ts +11 -0
- package/dist/backend/llvm/loop-array-borrows.js +70 -0
- package/dist/backend/llvm/loop-array-borrows.js.map +1 -0
- package/dist/backend/llvm/loop-array-borrows.test.d.ts +1 -0
- package/dist/backend/llvm/loop-array-borrows.test.js +145 -0
- package/dist/backend/llvm/loop-array-borrows.test.js.map +1 -0
- package/dist/backend/llvm/map-read-lifetimes.d.ts +11 -2
- package/dist/backend/llvm/map-read-lifetimes.js +64 -19
- package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
- package/dist/backend/llvm/map-read-lifetimes.test.js +89 -17
- package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/reference-effects.d.ts +5 -3
- package/dist/backend/llvm/reference-effects.js +74 -36
- package/dist/backend/llvm/reference-effects.js.map +1 -1
- package/dist/backend/llvm/reference-effects.test.js +92 -9
- package/dist/backend/llvm/reference-effects.test.js.map +1 -1
- package/dist/backend/llvm/shapes.d.ts +4 -1
- package/dist/backend/llvm/shapes.js +82 -24
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/shapes.test.js +3 -1
- package/dist/backend/llvm/shapes.test.js.map +1 -1
- package/dist/backend/llvm/split-loops.d.ts +48 -0
- package/dist/backend/llvm/split-loops.js +183 -0
- package/dist/backend/llvm/split-loops.js.map +1 -0
- package/dist/backend/llvm/split.js +4 -11
- package/dist/backend/llvm/split.js.map +1 -1
- package/dist/backend/llvm/split.test.js +80 -8
- package/dist/backend/llvm/split.test.js.map +1 -1
- package/dist/backend/llvm/stack-callbacks.d.ts +14 -0
- package/dist/backend/llvm/stack-callbacks.js +73 -0
- package/dist/backend/llvm/stack-callbacks.js.map +1 -0
- package/dist/backend/llvm/stack-captures.d.ts +25 -0
- package/dist/backend/llvm/stack-captures.js +150 -0
- package/dist/backend/llvm/stack-captures.js.map +1 -0
- package/dist/backend/llvm/stack-unions.js +14 -5
- package/dist/backend/llvm/stack-unions.js.map +1 -1
- package/dist/backend/llvm/stack-unions.test.js +151 -32
- package/dist/backend/llvm/stack-unions.test.js.map +1 -1
- package/dist/backend/llvm/string-construction.js.map +1 -1
- package/dist/backend/llvm/string-construction.test.js +32 -7
- package/dist/backend/llvm/string-construction.test.js.map +1 -1
- package/dist/backend/llvm/string-lifetimes.js +14 -8
- package/dist/backend/llvm/string-lifetimes.js.map +1 -1
- package/dist/backend/llvm/string-lifetimes.test.js +119 -29
- package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/string-slices.d.ts +20 -0
- package/dist/backend/llvm/string-slices.js +87 -0
- package/dist/backend/llvm/string-slices.js.map +1 -0
- package/dist/backend/llvm/string-slices.test.d.ts +1 -0
- package/dist/backend/llvm/string-slices.test.js +98 -0
- package/dist/backend/llvm/string-slices.test.js.map +1 -0
- package/dist/backend/llvm/switch-dispatch.d.ts +9 -0
- package/dist/backend/llvm/switch-dispatch.js +114 -0
- package/dist/backend/llvm/switch-dispatch.js.map +1 -0
- package/dist/backend/llvm/switch-dispatch.test.d.ts +1 -0
- package/dist/backend/llvm/switch-dispatch.test.js +83 -0
- package/dist/backend/llvm/switch-dispatch.test.js.map +1 -0
- package/dist/backend/llvm/unsupported.js.map +1 -1
- package/dist/backend/llvm/walkers.d.ts +4 -14
- package/dist/backend/llvm/walkers.js +58 -313
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/mangle.js +9 -3
- package/dist/backend/mangle.js.map +1 -1
- package/dist/backend/may-throw.js +18 -8
- package/dist/backend/may-throw.js.map +1 -1
- package/dist/backend/may-throw.test.js +119 -23
- package/dist/backend/may-throw.test.js.map +1 -1
- package/dist/backend/native/artifact-stamps.d.ts +39 -0
- package/dist/backend/native/artifact-stamps.js +371 -0
- package/dist/backend/native/artifact-stamps.js.map +1 -0
- package/dist/backend/native/cache-warm.d.ts +24 -0
- package/dist/backend/native/cache-warm.js +80 -0
- package/dist/backend/native/cache-warm.js.map +1 -0
- package/dist/backend/native/compiler-fingerprint.d.ts +19 -0
- package/dist/backend/native/compiler-fingerprint.js +357 -0
- package/dist/backend/native/compiler-fingerprint.js.map +1 -0
- package/dist/backend/native/contracts.d.ts +316 -0
- package/dist/backend/native/contracts.js +2 -0
- package/dist/backend/native/contracts.js.map +1 -0
- package/dist/backend/native/dependency-files.d.ts +5 -0
- package/dist/backend/native/dependency-files.js +83 -0
- package/dist/backend/native/dependency-files.js.map +1 -0
- package/dist/backend/native/driver.d.ts +50 -0
- package/dist/backend/native/driver.js +294 -0
- package/dist/backend/native/driver.js.map +1 -0
- package/dist/backend/native/executable.d.ts +18 -0
- package/dist/backend/native/executable.js +1275 -0
- package/dist/backend/native/executable.js.map +1 -0
- package/dist/backend/native/library.d.ts +2 -0
- package/dist/backend/native/library.js +614 -0
- package/dist/backend/native/library.js.map +1 -0
- package/dist/backend/native/linker-fingerprint.d.ts +8 -0
- package/dist/backend/native/linker-fingerprint.js +174 -0
- package/dist/backend/native/linker-fingerprint.js.map +1 -0
- package/dist/backend/native/object-merge.d.ts +2 -0
- package/dist/backend/native/object-merge.js +154 -0
- package/dist/backend/native/object-merge.js.map +1 -0
- package/dist/backend/native/process.d.ts +17 -0
- package/dist/backend/native/process.js +42 -0
- package/dist/backend/native/process.js.map +1 -0
- package/dist/backend/native/program-shards.d.ts +21 -0
- package/dist/backend/native/program-shards.js +99 -0
- package/dist/backend/native/program-shards.js.map +1 -0
- package/dist/backend/native/runtime-inputs.d.ts +12 -0
- package/dist/backend/native/runtime-inputs.js +165 -0
- package/dist/backend/native/runtime-inputs.js.map +1 -0
- package/dist/backend/native/runtime-inputs.test.d.ts +1 -0
- package/dist/backend/native/runtime-inputs.test.js +64 -0
- package/dist/backend/native/runtime-inputs.test.js.map +1 -0
- package/dist/backend/native/runtime-objects.d.ts +16 -0
- package/dist/backend/native/runtime-objects.js +122 -0
- package/dist/backend/native/runtime-objects.js.map +1 -0
- package/dist/backend/native/session.d.ts +12 -0
- package/dist/backend/native/session.js +31 -0
- package/dist/backend/native/session.js.map +1 -0
- package/dist/backend/native/tool-identity.d.ts +37 -0
- package/dist/backend/native/tool-identity.js +310 -0
- package/dist/backend/native/tool-identity.js.map +1 -0
- package/dist/backend/native/trace-paths.d.ts +12 -0
- package/dist/backend/native/trace-paths.js +73 -0
- package/dist/backend/native/trace-paths.js.map +1 -0
- package/dist/backend/native/vendor.d.ts +1 -0
- package/dist/backend/native/vendor.js +12 -0
- package/dist/backend/native/vendor.js.map +1 -0
- package/dist/backend/native-codegen-core.d.ts +6 -0
- package/dist/backend/native-codegen-core.js +23 -1
- package/dist/backend/native-codegen-core.js.map +1 -1
- package/dist/backend/native-codegen.d.ts +5 -1
- package/dist/backend/native-codegen.js +52 -25
- package/dist/backend/native-codegen.js.map +1 -1
- package/dist/backend/native-codegen.test.js +59 -11
- package/dist/backend/native-codegen.test.js.map +1 -1
- package/dist/backend/native-link-info-core.d.ts +1 -0
- package/dist/backend/native-link-info-core.js +9 -5
- package/dist/backend/native-link-info-core.js.map +1 -1
- package/dist/backend/native-link-info.js +14 -5
- package/dist/backend/native-link-info.js.map +1 -1
- package/dist/backend/native-link-info.test.js +58 -13
- package/dist/backend/native-link-info.test.js.map +1 -1
- package/dist/backend/native-toolchain.d.ts +17 -450
- package/dist/backend/native-toolchain.js +17 -3971
- package/dist/backend/native-toolchain.js.map +1 -1
- package/dist/backend/native-toolchain.test.js +103 -72
- package/dist/backend/native-toolchain.test.js.map +1 -1
- package/dist/backend/native-tools.d.ts +3 -1
- package/dist/backend/native-tools.js +30 -9
- package/dist/backend/native-tools.js.map +1 -1
- package/dist/backend/object-localize.js +17 -14
- package/dist/backend/object-localize.js.map +1 -1
- package/dist/backend/object-localize.test.js +59 -12
- 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 +1 -0
- package/dist/backend/runtime-pack-core.js +104 -50
- package/dist/backend/runtime-pack-core.js.map +1 -1
- package/dist/backend/runtime-pack-native.js +5 -3
- package/dist/backend/runtime-pack-native.js.map +1 -1
- package/dist/backend/runtime-pack-targets.test.js +126 -17
- package/dist/backend/runtime-pack-targets.test.js.map +1 -1
- package/dist/backend/runtime-pack.d.ts +1 -1
- package/dist/backend/runtime-pack.js +11 -12
- package/dist/backend/runtime-pack.js.map +1 -1
- package/dist/backend/runtime-pack.test.js +51 -25
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/backend/source-locations.js.map +1 -1
- package/dist/backend/source-locations.test.js +7 -2
- package/dist/backend/source-locations.test.js.map +1 -1
- package/dist/backend/target-diagnostics.js +44 -14
- package/dist/backend/target-diagnostics.js.map +1 -1
- package/dist/backend/target-diagnostics.test.js +93 -20
- package/dist/backend/target-diagnostics.test.js.map +1 -1
- package/dist/backend/targets.js +230 -86
- package/dist/backend/targets.js.map +1 -1
- package/dist/backend/targets.test.js +32 -18
- package/dist/backend/targets.test.js.map +1 -1
- package/dist/backend/toolchain-environment.js +5 -1
- package/dist/backend/toolchain-environment.js.map +1 -1
- package/dist/backend/vendor-archives.d.ts +2 -2
- package/dist/backend/vendor-archives.js +84 -35
- package/dist/backend/vendor-archives.js.map +1 -1
- package/dist/backend/vendor-inputs.js +13 -1
- package/dist/backend/vendor-inputs.js.map +1 -1
- package/dist/backend/warm-cache.d.ts +1 -1
- package/dist/backend/warm-cache.js +33 -9
- package/dist/backend/warm-cache.js.map +1 -1
- package/dist/cli/command.js +39 -9
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/output-options.js +14 -4
- package/dist/cli/output-options.js.map +1 -1
- package/dist/cli/paths.js.map +1 -1
- package/dist/cli/wasi-runner.js.map +1 -1
- package/dist/compat/fetch-profile.js +36 -35
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/coverage/report.js +16 -17
- package/dist/coverage/report.js.map +1 -1
- package/dist/coverage/surface-manifest.js +112 -26
- package/dist/coverage/surface-manifest.js.map +1 -1
- package/dist/diagnostics/diagnostic.js +55 -16
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/executable/executable-cache.d.ts +2 -1
- package/dist/executable/executable-cache.js +79 -48
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/executable/executable-cache.test.js +90 -26
- package/dist/executable/executable-cache.test.js.map +1 -1
- package/dist/executable/prepare.js +2 -2
- package/dist/executable/prepare.js.map +1 -1
- package/dist/ffi/ffi-manifest.js +78 -20
- package/dist/ffi/ffi-manifest.js.map +1 -1
- package/dist/ffi/ffi-manifest.test.js +96 -16
- package/dist/ffi/ffi-manifest.test.js.map +1 -1
- package/dist/format-integer.js.map +1 -1
- package/dist/frontend/analysis.js +12 -2
- package/dist/frontend/analysis.js.map +1 -1
- package/dist/frontend/arguments-usage.js.map +1 -1
- package/dist/frontend/binding-source.js +9 -3
- package/dist/frontend/binding-source.js.map +1 -1
- package/dist/frontend/builtin-modules.js +46 -2
- package/dist/frontend/builtin-modules.js.map +1 -1
- package/dist/frontend/cjs-resolve.js +40 -17
- package/dist/frontend/cjs-resolve.js.map +1 -1
- package/dist/frontend/cjs-syntax.js +31 -10
- package/dist/frontend/cjs-syntax.js.map +1 -1
- package/dist/frontend/comptime-node.test.js +10 -11
- package/dist/frontend/comptime-node.test.js.map +1 -1
- package/dist/frontend/dts-paths.js +7 -3
- package/dist/frontend/dts-paths.js.map +1 -1
- package/dist/frontend/fork-target.d.ts +5 -0
- package/dist/frontend/fork-target.js +55 -18
- package/dist/frontend/fork-target.js.map +1 -1
- package/dist/frontend/fork-target.test.d.ts +1 -0
- package/dist/frontend/fork-target.test.js +59 -0
- package/dist/frontend/fork-target.test.js.map +1 -0
- package/dist/frontend/function-completion.js +11 -6
- package/dist/frontend/function-completion.js.map +1 -1
- package/dist/frontend/helper-tokens.js +53 -6
- package/dist/frontend/helper-tokens.js.map +1 -1
- package/dist/frontend/helper-tokens.test.js +18 -2
- package/dist/frontend/helper-tokens.test.js.map +1 -1
- package/dist/frontend/inferred-js-diagnostics.js +32 -12
- package/dist/frontend/inferred-js-diagnostics.js.map +1 -1
- package/dist/frontend/inferred-js-diagnostics.test.js +11 -15
- package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -1
- package/dist/frontend/input-tracker.js +11 -11
- package/dist/frontend/input-tracker.js.map +1 -1
- package/dist/frontend/input-tracker.test.js +4 -1
- package/dist/frontend/input-tracker.test.js.map +1 -1
- package/dist/frontend/lib-contract.js +38 -9
- package/dist/frontend/lib-contract.js.map +1 -1
- package/dist/frontend/literal-values.js.map +1 -1
- package/dist/frontend/literal-values.test.js +28 -8
- package/dist/frontend/literal-values.test.js.map +1 -1
- package/dist/frontend/lowering/abstract-equality.js +53 -10
- package/dist/frontend/lowering/abstract-equality.js.map +1 -1
- package/dist/frontend/lowering/array-indexed-mutation.d.ts +1 -1
- package/dist/frontend/lowering/array-indexed-mutation.js +108 -106
- package/dist/frontend/lowering/array-indexed-mutation.js.map +1 -1
- package/dist/frontend/lowering/array-values.js +37 -14
- package/dist/frontend/lowering/array-values.js.map +1 -1
- package/dist/frontend/lowering/binding-analysis.d.ts +50 -0
- package/dist/frontend/lowering/binding-analysis.js +376 -0
- package/dist/frontend/lowering/binding-analysis.js.map +1 -0
- package/dist/frontend/lowering/builtin-calls.d.ts +9 -0
- package/dist/frontend/lowering/builtin-calls.js +60 -0
- package/dist/frontend/lowering/builtin-calls.js.map +1 -0
- package/dist/frontend/lowering/builtins/arguments.d.ts +43 -0
- package/dist/frontend/lowering/builtins/arguments.js +247 -0
- package/dist/frontend/lowering/builtins/arguments.js.map +1 -0
- package/dist/frontend/lowering/builtins/async-context.d.ts +52 -0
- package/dist/frontend/lowering/builtins/async-context.js +436 -0
- package/dist/frontend/lowering/builtins/async-context.js.map +1 -0
- package/dist/frontend/lowering/builtins/atomics.d.ts +6 -0
- package/dist/frontend/lowering/builtins/atomics.js +82 -0
- package/dist/frontend/lowering/builtins/atomics.js.map +1 -0
- package/dist/frontend/lowering/builtins/callable-aliases.d.ts +13 -0
- package/dist/frontend/lowering/builtins/callable-aliases.js +87 -0
- package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -0
- package/dist/frontend/lowering/builtins/child-process-async.d.ts +18 -0
- package/dist/frontend/lowering/builtins/child-process-async.js +245 -0
- package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -0
- package/dist/frontend/lowering/builtins/child-process-methods.d.ts +21 -0
- package/dist/frontend/lowering/builtins/child-process-methods.js +362 -0
- package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -0
- package/dist/frontend/lowering/builtins/child-process-sync.d.ts +4 -0
- package/dist/frontend/lowering/builtins/child-process-sync.js +639 -0
- package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -0
- package/dist/frontend/lowering/builtins/child-process.d.ts +55 -0
- package/dist/frontend/lowering/builtins/child-process.js +669 -0
- package/dist/frontend/lowering/builtins/child-process.js.map +1 -0
- package/dist/frontend/lowering/builtins/compression.d.ts +7 -0
- package/dist/frontend/lowering/builtins/compression.js +115 -0
- package/dist/frontend/lowering/builtins/compression.js.map +1 -0
- package/dist/frontend/lowering/builtins/console.d.ts +10 -0
- package/dist/frontend/lowering/builtins/console.js +38 -0
- package/dist/frontend/lowering/builtins/console.js.map +1 -0
- package/dist/frontend/lowering/builtins/constants.d.ts +24 -0
- package/dist/frontend/lowering/builtins/constants.js +141 -0
- package/dist/frontend/lowering/builtins/constants.js.map +1 -0
- package/dist/frontend/lowering/builtins/crypto.d.ts +22 -0
- package/dist/frontend/lowering/builtins/crypto.js +517 -0
- package/dist/frontend/lowering/builtins/crypto.js.map +1 -0
- package/dist/frontend/lowering/builtins/dates.d.ts +7 -0
- package/dist/frontend/lowering/builtins/dates.js +101 -0
- package/dist/frontend/lowering/builtins/dates.js.map +1 -0
- package/dist/frontend/lowering/builtins/environment.d.ts +34 -0
- package/dist/frontend/lowering/builtins/environment.js +95 -0
- package/dist/frontend/lowering/builtins/environment.js.map +1 -0
- package/dist/frontend/lowering/builtins/errors.d.ts +14 -0
- package/dist/frontend/lowering/builtins/errors.js +83 -0
- package/dist/frontend/lowering/builtins/errors.js.map +1 -0
- package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +35 -0
- package/dist/frontend/lowering/builtins/filesystem-calls.js +725 -0
- package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -0
- package/dist/frontend/lowering/builtins/filesystem.d.ts +108 -0
- package/dist/frontend/lowering/builtins/filesystem.js +1061 -0
- package/dist/frontend/lowering/builtins/filesystem.js.map +1 -0
- package/dist/frontend/lowering/builtins/ipc.d.ts +8 -0
- package/dist/frontend/lowering/builtins/ipc.js +76 -0
- package/dist/frontend/lowering/builtins/ipc.js.map +1 -0
- package/dist/frontend/lowering/builtins/json.d.ts +12 -0
- package/dist/frontend/lowering/builtins/json.js +387 -0
- package/dist/frontend/lowering/builtins/json.js.map +1 -0
- package/dist/frontend/lowering/builtins/module-bindings.d.ts +85 -0
- package/dist/frontend/lowering/builtins/module-bindings.js +346 -0
- package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -0
- package/dist/frontend/lowering/builtins/module-calls.d.ts +8 -0
- package/dist/frontend/lowering/builtins/module-calls.js +308 -0
- package/dist/frontend/lowering/builtins/module-calls.js.map +1 -0
- package/dist/frontend/lowering/builtins/module-resolution.d.ts +38 -0
- package/dist/frontend/lowering/builtins/module-resolution.js +344 -0
- package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -0
- package/dist/frontend/lowering/builtins/numbers.d.ts +15 -0
- package/dist/frontend/lowering/builtins/numbers.js +124 -0
- package/dist/frontend/lowering/builtins/numbers.js.map +1 -0
- package/dist/frontend/lowering/builtins/operating-system.d.ts +13 -0
- package/dist/frontend/lowering/builtins/operating-system.js +148 -0
- package/dist/frontend/lowering/builtins/operating-system.js.map +1 -0
- package/dist/frontend/lowering/builtins/performance.d.ts +13 -0
- package/dist/frontend/lowering/builtins/performance.js +100 -0
- package/dist/frontend/lowering/builtins/performance.js.map +1 -0
- package/dist/frontend/lowering/builtins/process.d.ts +50 -0
- package/dist/frontend/lowering/builtins/process.js +1138 -0
- package/dist/frontend/lowering/builtins/process.js.map +1 -0
- package/dist/frontend/lowering/builtins/promises.d.ts +14 -0
- package/dist/frontend/lowering/builtins/promises.js +356 -0
- package/dist/frontend/lowering/builtins/promises.js.map +1 -0
- package/dist/frontend/lowering/builtins/properties.d.ts +11 -0
- package/dist/frontend/lowering/builtins/properties.js +186 -0
- package/dist/frontend/lowering/builtins/properties.js.map +1 -0
- package/dist/frontend/lowering/builtins/querystring.d.ts +19 -0
- package/dist/frontend/lowering/builtins/querystring.js +150 -0
- package/dist/frontend/lowering/builtins/querystring.js.map +1 -0
- package/dist/frontend/lowering/builtins/readline.d.ts +13 -0
- package/dist/frontend/lowering/builtins/readline.js +138 -0
- package/dist/frontend/lowering/builtins/readline.js.map +1 -0
- package/dist/frontend/lowering/builtins/receiver-types.d.ts +5 -0
- package/dist/frontend/lowering/builtins/receiver-types.js +15 -0
- package/dist/frontend/lowering/builtins/receiver-types.js.map +1 -0
- package/dist/frontend/lowering/builtins/reflection.d.ts +13 -0
- package/dist/frontend/lowering/builtins/reflection.js +95 -0
- package/dist/frontend/lowering/builtins/reflection.js.map +1 -0
- package/dist/frontend/lowering/builtins/strings.d.ts +14 -0
- package/dist/frontend/lowering/builtins/strings.js +121 -0
- package/dist/frontend/lowering/builtins/strings.js.map +1 -0
- package/dist/frontend/lowering/builtins/text-codecs.d.ts +29 -0
- package/dist/frontend/lowering/builtins/text-codecs.js +590 -0
- package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -0
- package/dist/frontend/lowering/builtins/timers.d.ts +22 -0
- package/dist/frontend/lowering/builtins/timers.js +180 -0
- package/dist/frontend/lowering/builtins/timers.js.map +1 -0
- package/dist/frontend/lowering/builtins/url.d.ts +37 -0
- package/dist/frontend/lowering/builtins/url.js +596 -0
- package/dist/frontend/lowering/builtins/url.js.map +1 -0
- package/dist/frontend/lowering/builtins/util-types.d.ts +7 -0
- package/dist/frontend/lowering/builtins/util-types.js +31 -0
- package/dist/frontend/lowering/builtins/util-types.js.map +1 -0
- package/dist/frontend/lowering/builtins/workers.d.ts +5 -0
- package/dist/frontend/lowering/builtins/workers.js +65 -0
- package/dist/frontend/lowering/builtins/workers.js.map +1 -0
- package/dist/frontend/lowering/call-arguments.d.ts +72 -0
- package/dist/frontend/lowering/call-arguments.js +618 -0
- package/dist/frontend/lowering/call-arguments.js.map +1 -0
- package/dist/frontend/lowering/call-signatures.d.ts +115 -0
- package/dist/frontend/lowering/call-signatures.js +719 -0
- package/dist/frontend/lowering/call-signatures.js.map +1 -0
- package/dist/frontend/lowering/callback-arg.js.map +1 -1
- package/dist/frontend/lowering/checked-iterable-spread.js +53 -10
- package/dist/frontend/lowering/checked-iterable-spread.js.map +1 -1
- package/dist/frontend/lowering/checked-promise-all.js +41 -9
- package/dist/frontend/lowering/checked-promise-all.js.map +1 -1
- package/dist/frontend/lowering/class-assertions.d.ts +7 -0
- package/dist/frontend/lowering/class-assertions.js +96 -0
- package/dist/frontend/lowering/class-assertions.js.map +1 -0
- package/dist/frontend/lowering/class-callbacks.d.ts +1 -1
- package/dist/frontend/lowering/class-callbacks.js +130 -27
- package/dist/frontend/lowering/class-callbacks.js.map +1 -1
- package/dist/frontend/lowering/class-construction.d.ts +1 -1
- package/dist/frontend/lowering/class-construction.js +247 -50
- package/dist/frontend/lowering/class-construction.js.map +1 -1
- package/dist/frontend/lowering/class-descriptors.js +109 -29
- package/dist/frontend/lowering/class-descriptors.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +6 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.js +2471 -465
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js +284 -44
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
- package/dist/frontend/lowering/class-instance-constructor.js +17 -5
- package/dist/frontend/lowering/class-instance-constructor.js.map +1 -1
- package/dist/frontend/lowering/class-method-values.js +199 -51
- package/dist/frontend/lowering/class-method-values.js.map +1 -1
- package/dist/frontend/lowering/class-protocols.d.ts +17 -0
- package/dist/frontend/lowering/class-protocols.js +126 -0
- package/dist/frontend/lowering/class-protocols.js.map +1 -0
- package/dist/frontend/lowering/class-prototypes.js +345 -86
- package/dist/frontend/lowering/class-prototypes.js.map +1 -1
- package/dist/frontend/lowering/class-runtime-statics.d.ts +1 -1
- package/dist/frontend/lowering/class-runtime-statics.js +80 -17
- package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
- package/dist/frontend/lowering/class-static-data.js +76 -16
- package/dist/frontend/lowering/class-static-data.js.map +1 -1
- package/dist/frontend/lowering/coercions/builders.d.ts +13 -0
- package/dist/frontend/lowering/coercions/builders.js +77 -0
- package/dist/frontend/lowering/coercions/builders.js.map +1 -0
- package/dist/frontend/lowering/coercions/function-adapters.d.ts +58 -0
- package/dist/frontend/lowering/coercions/function-adapters.js +430 -0
- package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -0
- package/dist/frontend/lowering/coercions/island.d.ts +37 -0
- package/dist/frontend/lowering/coercions/island.js +350 -0
- package/dist/frontend/lowering/coercions/island.js.map +1 -0
- package/dist/frontend/lowering/coercions/state.d.ts +14 -0
- package/dist/frontend/lowering/coercions/state.js +16 -0
- package/dist/frontend/lowering/coercions/state.js.map +1 -0
- package/dist/frontend/lowering/coercions/structural-plans.d.ts +40 -0
- package/dist/frontend/lowering/coercions/structural-plans.js +447 -0
- package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -0
- package/dist/frontend/lowering/coercions/structural.d.ts +63 -0
- package/dist/frontend/lowering/coercions/structural.js +616 -0
- package/dist/frontend/lowering/coercions/structural.js.map +1 -0
- package/dist/frontend/lowering/coercions/unions.d.ts +65 -0
- package/dist/frontend/lowering/coercions/unions.js +318 -0
- package/dist/frontend/lowering/coercions/unions.js.map +1 -0
- package/dist/frontend/lowering/collection-ingestion.js +355 -72
- package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callbacks.d.ts +88 -0
- package/dist/frontend/lowering/containers/array-callbacks.js +1611 -0
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -0
- package/dist/frontend/lowering/containers/array-construction.d.ts +42 -0
- package/dist/frontend/lowering/containers/array-construction.js +1044 -0
- package/dist/frontend/lowering/containers/array-construction.js.map +1 -0
- package/dist/frontend/lowering/containers/array-iteration.d.ts +16 -0
- package/dist/frontend/lowering/containers/array-iteration.js +95 -0
- package/dist/frontend/lowering/containers/array-iteration.js.map +1 -0
- package/dist/frontend/lowering/containers/array-methods.d.ts +27 -0
- package/dist/frontend/lowering/containers/array-methods.js +1854 -0
- package/dist/frontend/lowering/containers/array-methods.js.map +1 -0
- package/dist/frontend/lowering/containers/bytes.d.ts +17 -17
- package/dist/frontend/lowering/containers/bytes.js +430 -138
- package/dist/frontend/lowering/containers/bytes.js.map +1 -1
- package/dist/frontend/lowering/containers/callback-arguments.d.ts +26 -0
- package/dist/frontend/lowering/containers/callback-arguments.js +179 -0
- package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -0
- package/dist/frontend/lowering/containers/collection-grouping.d.ts +19 -0
- package/dist/frontend/lowering/containers/collection-grouping.js +297 -0
- package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -0
- package/dist/frontend/lowering/containers/collection-methods.d.ts +57 -0
- package/dist/frontend/lowering/containers/collection-methods.js +1314 -0
- package/dist/frontend/lowering/containers/collection-methods.js.map +1 -0
- package/dist/frontend/lowering/containers/dynamic-receivers.d.ts +18 -0
- package/dist/frontend/lowering/containers/dynamic-receivers.js +114 -0
- package/dist/frontend/lowering/containers/dynamic-receivers.js.map +1 -0
- package/dist/frontend/lowering/containers/for-of.d.ts +60 -0
- package/dist/frontend/lowering/containers/for-of.js +643 -0
- package/dist/frontend/lowering/containers/for-of.js.map +1 -0
- package/dist/frontend/lowering/containers/indexed-objects.d.ts +132 -0
- package/dist/frontend/lowering/containers/indexed-objects.js +1743 -0
- package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -0
- package/dist/frontend/lowering/containers/iterator-helpers.d.ts +20 -0
- package/dist/frontend/lowering/containers/iterator-helpers.js +809 -0
- package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -0
- package/dist/frontend/lowering/containers/string-and-regexp.js +601 -160
- package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
- package/dist/frontend/lowering/containers/string-replacement.js +213 -63
- package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
- package/dist/frontend/lowering/crypto-tables.js +263 -64
- package/dist/frontend/lowering/crypto-tables.js.map +1 -1
- package/dist/frontend/lowering/deferred-module-initializers.js +172 -68
- package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
- package/dist/frontend/lowering/deferred-module-initializers.test.js +41 -8
- package/dist/frontend/lowering/deferred-module-initializers.test.js.map +1 -1
- package/dist/frontend/lowering/error-methods.js +339 -65
- package/dist/frontend/lowering/error-methods.js.map +1 -1
- package/dist/frontend/lowering/expressions/evaluation-safety.js +3 -2
- package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
- package/dist/frontend/lowering/expressions/global-symbols.js +2 -1
- package/dist/frontend/lowering/expressions/global-symbols.js.map +1 -1
- package/dist/frontend/lowering/expressions/native-proxy.js +11 -5
- package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
- package/dist/frontend/lowering/expressions/nullish-assignment.js +67 -13
- package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
- package/dist/frontend/lowering/expressions/object-literals.js +588 -165
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.d.ts +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.js +68 -17
- package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
- package/dist/frontend/lowering/expressions/union-field-write.js +45 -18
- package/dist/frontend/lowering/expressions/union-field-write.js.map +1 -1
- package/dist/frontend/lowering/function-context.js +5 -1
- package/dist/frontend/lowering/function-context.js.map +1 -1
- package/dist/frontend/lowering/function-returns.d.ts +67 -0
- package/dist/frontend/lowering/function-returns.js +392 -0
- package/dist/frontend/lowering/function-returns.js.map +1 -0
- package/dist/frontend/lowering/generator-delegation.d.ts +1 -1
- package/dist/frontend/lowering/generator-delegation.js +171 -39
- package/dist/frontend/lowering/generator-delegation.js.map +1 -1
- package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +1 -1
- package/dist/frontend/lowering/generator-dynamic-dispatch.js +176 -36
- package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/generic-functions.d.ts +271 -0
- package/dist/frontend/lowering/generic-functions.js +1730 -0
- package/dist/frontend/lowering/generic-functions.js.map +1 -0
- package/dist/frontend/lowering/import-meta.d.ts +1 -1
- package/dist/frontend/lowering/import-meta.js +37 -14
- package/dist/frontend/lowering/import-meta.js.map +1 -1
- package/dist/frontend/lowering/indexed-comparison.js +6 -2
- package/dist/frontend/lowering/indexed-comparison.js.map +1 -1
- package/dist/frontend/lowering/instantiation-path.d.ts +8 -0
- package/dist/frontend/lowering/instantiation-path.js +10 -0
- package/dist/frontend/lowering/instantiation-path.js.map +1 -0
- package/dist/frontend/lowering/instantiation-path.test.d.ts +1 -0
- package/dist/frontend/lowering/instantiation-path.test.js +23 -0
- package/dist/frontend/lowering/instantiation-path.test.js.map +1 -0
- package/dist/frontend/lowering/iterator-consumption.d.ts +9 -0
- package/dist/frontend/lowering/iterator-consumption.js +91 -0
- package/dist/frontend/lowering/iterator-consumption.js.map +1 -0
- package/dist/frontend/lowering/lib-boundary.js +40 -17
- package/dist/frontend/lowering/lib-boundary.js.map +1 -1
- package/dist/frontend/lowering/lib-boundary.test.js +49 -11
- package/dist/frontend/lowering/lib-boundary.test.js.map +1 -1
- package/dist/frontend/lowering/lower-array-sort.d.ts +0 -19
- package/dist/frontend/lowering/lower-array-sort.js +331 -566
- package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
- package/dist/frontend/lowering/lower-assert.js +248 -43
- package/dist/frontend/lowering/lower-assert.js.map +1 -1
- package/dist/frontend/lowering/lower-async-iteration.js +71 -16
- package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
- package/dist/frontend/lowering/lower-builtin-values.js +430 -77
- package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +39 -558
- package/dist/frontend/lowering/lower-calls.js +2628 -5669
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +248 -242
- package/dist/frontend/lowering/lower-classes.js +1820 -775
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-comptime.d.ts +35 -35
- package/dist/frontend/lowering/lower-comptime.js +39 -37
- package/dist/frontend/lowering/lower-comptime.js.map +1 -1
- package/dist/frontend/lowering/lower-dgram.js +59 -31
- package/dist/frontend/lowering/lower-dgram.js.map +1 -1
- package/dist/frontend/lowering/lower-enums.js +5 -2
- package/dist/frontend/lowering/lower-enums.js.map +1 -1
- package/dist/frontend/lowering/lower-event-emitter.js +323 -86
- package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
- package/dist/frontend/lowering/lower-expando.js +19 -7
- package/dist/frontend/lowering/lower-expando.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +194 -194
- package/dist/frontend/lowering/lower-exprs.js +3473 -1160
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-functions.d.ts +23 -0
- package/dist/frontend/lowering/lower-functions.js +449 -0
- package/dist/frontend/lowering/lower-functions.js.map +1 -0
- package/dist/frontend/lowering/lower-generators.js +121 -32
- package/dist/frontend/lowering/lower-generators.js.map +1 -1
- package/dist/frontend/lowering/lower-global-value.js +15 -4
- package/dist/frontend/lowering/lower-global-value.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.js +479 -89
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-island.d.ts +79 -79
- package/dist/frontend/lowering/lower-island.js +366 -274
- package/dist/frontend/lowering/lower-island.js.map +1 -1
- package/dist/frontend/lowering/lower-island.test.js +7 -2
- package/dist/frontend/lowering/lower-island.test.js.map +1 -1
- package/dist/frontend/lowering/lower-mixins.js +17 -8
- package/dist/frontend/lowering/lower-mixins.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.d.ts +95 -94
- package/dist/frontend/lowering/lower-modules.js +655 -329
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.test.js +91 -20
- package/dist/frontend/lowering/lower-modules.test.js.map +1 -1
- package/dist/frontend/lowering/lower-namespaces.js +25 -8
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
- package/dist/frontend/lowering/lower-node-module.js +115 -34
- package/dist/frontend/lowering/lower-node-module.js.map +1 -1
- package/dist/frontend/lowering/lower-server.js +1210 -290
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +148 -148
- package/dist/frontend/lowering/lower-stmts.js +2324 -994
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.test.js +13 -5
- package/dist/frontend/lowering/lower-stmts.test.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.js +363 -91
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lower-system-errors.js +30 -8
- package/dist/frontend/lowering/lower-system-errors.js.map +1 -1
- package/dist/frontend/lowering/lower-test.js +40 -13
- package/dist/frontend/lowering/lower-test.js.map +1 -1
- package/dist/frontend/lowering/lower-timers.d.ts +31 -0
- package/dist/frontend/lowering/lower-timers.js +336 -0
- package/dist/frontend/lowering/lower-timers.js.map +1 -0
- package/dist/frontend/lowering/lower-url.d.ts +1 -1
- package/dist/frontend/lowering/lower-url.js +46 -13
- package/dist/frontend/lowering/lower-url.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +34 -352
- package/dist/frontend/lowering/lowerer.js +1074 -2712
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/lowerer.test.js +85 -17
- package/dist/frontend/lowering/lowerer.test.js.map +1 -1
- package/dist/frontend/lowering/module-namespace-elements.js +43 -8
- package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
- package/dist/frontend/lowering/native-ffi.d.ts +21 -1
- package/dist/frontend/lowering/native-ffi.js +487 -18
- package/dist/frontend/lowering/native-ffi.js.map +1 -1
- package/dist/frontend/lowering/object-enumeration-receiver.js +55 -10
- package/dist/frontend/lowering/object-enumeration-receiver.js.map +1 -1
- package/dist/frontend/lowering/object-factory-new.d.ts +1 -1
- package/dist/frontend/lowering/object-factory-new.js +36 -11
- package/dist/frontend/lowering/object-factory-new.js.map +1 -1
- package/dist/frontend/lowering/optional-arguments.js +49 -20
- package/dist/frontend/lowering/optional-arguments.js.map +1 -1
- package/dist/frontend/lowering/pairs-snapshot.js +66 -14
- package/dist/frontend/lowering/pairs-snapshot.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-locals.js +3 -1
- package/dist/frontend/lowering/runtime-optional-locals.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-locals.test.js.map +1 -1
- package/dist/frontend/lowering/sanitize-class-types.js +4 -1
- package/dist/frontend/lowering/sanitize-class-types.js.map +1 -1
- package/dist/frontend/lowering/sanitize-class-types.test.js +86 -18
- package/dist/frontend/lowering/sanitize-class-types.test.js.map +1 -1
- package/dist/frontend/lowering/split-consumers.d.ts +7 -0
- package/dist/frontend/lowering/split-consumers.js +64 -0
- package/dist/frontend/lowering/split-consumers.js.map +1 -0
- package/dist/frontend/lowering/static-this.js +13 -6
- package/dist/frontend/lowering/static-this.js.map +1 -1
- package/dist/frontend/lowering/string-index.js +32 -10
- package/dist/frontend/lowering/string-index.js.map +1 -1
- package/dist/frontend/lowering/surfaces.d.ts +45 -46
- package/dist/frontend/lowering/surfaces.js +1129 -256
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/symbol-fields.js +40 -15
- package/dist/frontend/lowering/symbol-fields.js.map +1 -1
- package/dist/frontend/lowering/symbol-methods.js.map +1 -1
- package/dist/frontend/lowering/text-decoder-encoding.js +236 -24
- package/dist/frontend/lowering/text-decoder-encoding.js.map +1 -1
- package/dist/frontend/lowering/text-decoder-encoding.test.js +84 -12
- package/dist/frontend/lowering/text-decoder-encoding.test.js.map +1 -1
- package/dist/frontend/lowering/union-narrow.js +59 -16
- package/dist/frontend/lowering/union-narrow.js.map +1 -1
- package/dist/frontend/lowering/union-narrow.test.js +24 -7
- package/dist/frontend/lowering/union-narrow.test.js.map +1 -1
- package/dist/frontend/lowering/union-retag.js +155 -40
- package/dist/frontend/lowering/union-retag.js.map +1 -1
- package/dist/frontend/lowering/union-retag.test.js +131 -33
- package/dist/frontend/lowering/union-retag.test.js.map +1 -1
- package/dist/frontend/lowering/unregistered-class-types.js.map +1 -1
- package/dist/frontend/lowering/unregistered-class-types.test.js +34 -8
- package/dist/frontend/lowering/unregistered-class-types.test.js.map +1 -1
- package/dist/frontend/module-source-candidates.d.ts +10 -0
- package/dist/frontend/module-source-candidates.js +40 -0
- package/dist/frontend/module-source-candidates.js.map +1 -0
- package/dist/frontend/module-source-candidates.test.d.ts +1 -0
- package/dist/frontend/module-source-candidates.test.js +53 -0
- package/dist/frontend/module-source-candidates.test.js.map +1 -0
- package/dist/frontend/module-syntax.js +21 -8
- package/dist/frontend/module-syntax.js.map +1 -1
- package/dist/frontend/module-syntax.test.js +37 -13
- package/dist/frontend/module-syntax.test.js.map +1 -1
- package/dist/frontend/npm-fetch-analysis.js +13 -4
- package/dist/frontend/npm-fetch-analysis.js.map +1 -1
- package/dist/frontend/npm-fetch-analysis.test.js +33 -10
- package/dist/frontend/npm-fetch-analysis.test.js.map +1 -1
- package/dist/frontend/npm-fetch-node.js.map +1 -1
- package/dist/frontend/npm-fetch-syntax.js +4 -9
- package/dist/frontend/npm-fetch-syntax.js.map +1 -1
- package/dist/frontend/npm-node.js +3 -1
- package/dist/frontend/npm-node.js.map +1 -1
- package/dist/frontend/npm-static-bundled-cjs.js +88 -29
- package/dist/frontend/npm-static-bundled-cjs.js.map +1 -1
- package/dist/frontend/npm-static-bundled-cjs.test.js +29 -10
- package/dist/frontend/npm-static-bundled-cjs.test.js.map +1 -1
- package/dist/frontend/npm-static-declaration-syntax.js +148 -56
- package/dist/frontend/npm-static-declaration-syntax.js.map +1 -1
- package/dist/frontend/npm-static-declarations.d.ts +1 -1
- package/dist/frontend/npm-static-declarations.js.map +1 -1
- package/dist/frontend/npm-static-declarations.test.js +33 -7
- package/dist/frontend/npm-static-declarations.test.js.map +1 -1
- package/dist/frontend/npm-static-prune.js +26 -12
- package/dist/frontend/npm-static-prune.js.map +1 -1
- package/dist/frontend/npm-static-prune.test.js +17 -3
- package/dist/frontend/npm-static-prune.test.js.map +1 -1
- package/dist/frontend/npm-static-rewrite-host.js +2 -3
- package/dist/frontend/npm-static-rewrite-host.js.map +1 -1
- package/dist/frontend/npm-static-rewrite-syntax.js +64 -21
- package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
- package/dist/frontend/npm-static-rewrite.js.map +1 -1
- package/dist/frontend/npm-static-subtyping.js +9 -4
- package/dist/frontend/npm-static-subtyping.js.map +1 -1
- package/dist/frontend/npm-static-subtyping.test.js +30 -6
- package/dist/frontend/npm-static-subtyping.test.js.map +1 -1
- package/dist/frontend/npm-static.js +15 -4
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/npm.js +122 -36
- package/dist/frontend/npm.js.map +1 -1
- package/dist/frontend/npm.test.js +30 -10
- package/dist/frontend/npm.test.js.map +1 -1
- package/dist/frontend/pipeline-native.js.map +1 -1
- package/dist/frontend/pipeline.js +25 -8
- package/dist/frontend/pipeline.js.map +1 -1
- package/dist/frontend/pipeline.test.js +21 -7
- package/dist/frontend/pipeline.test.js.map +1 -1
- package/dist/frontend/program-analysis.d.ts +2 -0
- package/dist/frontend/program-analysis.js +2 -0
- package/dist/frontend/program-analysis.js.map +1 -1
- package/dist/frontend/program-node.js +5 -3
- package/dist/frontend/program-node.js.map +1 -1
- package/dist/frontend/program.d.ts +2 -2
- package/dist/frontend/program.js +248 -127
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/program.test.js +27 -27
- package/dist/frontend/program.test.js.map +1 -1
- package/dist/frontend/provenance-core.js +8 -4
- package/dist/frontend/provenance-core.js.map +1 -1
- package/dist/frontend/provenance-registry.js +1 -4
- package/dist/frontend/provenance-registry.js.map +1 -1
- package/dist/frontend/resolve.js +32 -20
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/resolve.test.js +1 -1
- package/dist/frontend/resolve.test.js.map +1 -1
- package/dist/frontend/runtime-resolve.js +13 -4
- package/dist/frontend/runtime-resolve.js.map +1 -1
- package/dist/frontend/runtime-resolve.test.js +25 -9
- package/dist/frontend/runtime-resolve.test.js.map +1 -1
- package/dist/frontend/services-node.js +6 -2
- package/dist/frontend/services-node.js.map +1 -1
- package/dist/frontend/services-node.test.js +18 -6
- package/dist/frontend/services-node.test.js.map +1 -1
- package/dist/frontend/services.js +8 -4
- package/dist/frontend/services.js.map +1 -1
- package/dist/frontend/services.test.js +6 -2
- package/dist/frontend/services.test.js.map +1 -1
- package/dist/frontend/ts7/api.js +12 -4
- package/dist/frontend/ts7/api.js.map +1 -1
- package/dist/frontend/ts7/ast-bytes.js +10 -3
- package/dist/frontend/ts7/ast-bytes.js.map +1 -1
- package/dist/frontend/ts7/ast-bytes.test.js +23 -4
- package/dist/frontend/ts7/ast-bytes.test.js.map +1 -1
- package/dist/frontend/ts7/ast-guards.test.js +14 -5
- package/dist/frontend/ts7/ast-guards.test.js.map +1 -1
- package/dist/frontend/ts7/ast-node.d.ts +6 -1
- package/dist/frontend/ts7/ast-node.js +490 -172
- package/dist/frontend/ts7/ast-node.js.map +1 -1
- package/dist/frontend/ts7/ast-node.test.js +150 -36
- package/dist/frontend/ts7/ast-node.test.js.map +1 -1
- package/dist/frontend/ts7/ast-text.js +13 -3
- package/dist/frontend/ts7/ast-text.js.map +1 -1
- package/dist/frontend/ts7/ast-text.test.js.map +1 -1
- package/dist/frontend/ts7/ast-types.js.map +1 -1
- package/dist/frontend/ts7/ast-wire.d.ts +5 -1
- package/dist/frontend/ts7/ast-wire.js +83 -20
- package/dist/frontend/ts7/ast-wire.js.map +1 -1
- package/dist/frontend/ts7/ast-wire.test.js +53 -8
- package/dist/frontend/ts7/ast-wire.test.js.map +1 -1
- package/dist/frontend/ts7/ast.d.ts +2 -1
- package/dist/frontend/ts7/ast.js +53 -30
- package/dist/frontend/ts7/ast.js.map +1 -1
- package/dist/frontend/ts7/census-check.js +1 -1
- package/dist/frontend/ts7/census-check.js.map +1 -1
- package/dist/frontend/ts7/checker-cache.js.map +1 -1
- package/dist/frontend/ts7/checker.d.ts +8 -2
- package/dist/frontend/ts7/checker.js +46 -8
- package/dist/frontend/ts7/checker.js.map +1 -1
- package/dist/frontend/ts7/checker.test.js +96 -17
- package/dist/frontend/ts7/checker.test.js.map +1 -1
- package/dist/frontend/ts7/enums.test.js +9 -4
- package/dist/frontend/ts7/enums.test.js.map +1 -1
- package/dist/frontend/ts7/native-api.js.map +1 -1
- package/dist/frontend/ts7/native-host.js.map +1 -1
- package/dist/frontend/ts7/native-process.js +9 -3
- package/dist/frontend/ts7/native-process.js.map +1 -1
- package/dist/frontend/ts7/program-adapter.js +1 -1
- package/dist/frontend/ts7/program-adapter.js.map +1 -1
- package/dist/frontend/ts7/program-host.d.ts +7 -0
- package/dist/frontend/ts7/program-host.js +33 -6
- package/dist/frontend/ts7/program-host.js.map +1 -1
- package/dist/frontend/ts7/program-host.test.js +72 -11
- package/dist/frontend/ts7/program-host.test.js.map +1 -1
- package/dist/frontend/ts7/rpc-api.js +3 -1
- package/dist/frontend/ts7/rpc-api.js.map +1 -1
- package/dist/frontend/ts7/rpc-client.js +15 -5
- package/dist/frontend/ts7/rpc-client.js.map +1 -1
- package/dist/frontend/ts7/rpc-client.test.js +26 -8
- package/dist/frontend/ts7/rpc-client.test.js.map +1 -1
- package/dist/frontend/ts7/rpc-filesystem.js.map +1 -1
- package/dist/frontend/ts7/rpc-filesystem.test.js +43 -10
- package/dist/frontend/ts7/rpc-filesystem.test.js.map +1 -1
- package/dist/frontend/ts7/rpc-process.js +16 -6
- package/dist/frontend/ts7/rpc-process.js.map +1 -1
- package/dist/frontend/ts7/rpc-process.test.js.map +1 -1
- package/dist/frontend/ts7/rpc-wire.d.ts +1 -0
- package/dist/frontend/ts7/rpc-wire.js +41 -14
- package/dist/frontend/ts7/rpc-wire.js.map +1 -1
- package/dist/frontend/ts7/rpc-wire.test.js +36 -6
- package/dist/frontend/ts7/rpc-wire.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-checker.js +209 -68
- package/dist/frontend/ts7/semantic-checker.js.map +1 -1
- package/dist/frontend/ts7/semantic-checker.test.js +29 -14
- package/dist/frontend/ts7/semantic-checker.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-json.js +7 -1
- package/dist/frontend/ts7/semantic-json.js.map +1 -1
- package/dist/frontend/ts7/semantic-json.test.js +17 -3
- package/dist/frontend/ts7/semantic-json.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-model.js +147 -51
- package/dist/frontend/ts7/semantic-model.js.map +1 -1
- package/dist/frontend/ts7/semantic-model.test.js +72 -19
- package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-types.d.ts +2 -2
- package/dist/frontend/ts7/session-cache.js +10 -3
- package/dist/frontend/ts7/session-cache.js.map +1 -1
- package/dist/frontend/ts7/session-cache.test.js +13 -4
- package/dist/frontend/ts7/session-cache.test.js.map +1 -1
- package/dist/frontend/ts7/session-path.js +25 -10
- package/dist/frontend/ts7/session-path.js.map +1 -1
- package/dist/frontend/ts7/session-path.test.js +47 -4
- package/dist/frontend/ts7/session-path.test.js.map +1 -1
- package/dist/frontend/ts7/session-timing.js +22 -3
- package/dist/frontend/ts7/session-timing.js.map +1 -1
- package/dist/frontend/ts7/session-timing.test.js +12 -3
- package/dist/frontend/ts7/session-timing.test.js.map +1 -1
- package/dist/frontend/ts7/session.d.ts +1 -0
- package/dist/frontend/ts7/session.js +109 -35
- package/dist/frontend/ts7/session.js.map +1 -1
- package/dist/frontend/ts7/session.test.js +69 -15
- package/dist/frontend/ts7/session.test.js.map +1 -1
- package/dist/frontend/ts7/source-parser.js +17 -6
- package/dist/frontend/ts7/source-parser.js.map +1 -1
- package/dist/frontend/ts7/source-parser.test.js +32 -9
- package/dist/frontend/ts7/source-parser.test.js.map +1 -1
- package/dist/frontend/tsc-codes.js +56 -11
- package/dist/frontend/tsc-codes.js.map +1 -1
- package/dist/frontend/tsc-codes.test.d.ts +1 -0
- package/dist/frontend/tsc-codes.test.js +16 -0
- package/dist/frontend/tsc-codes.test.js.map +1 -0
- package/dist/frontend/type-mapper.d.ts +3 -0
- package/dist/frontend/type-mapper.js +589 -206
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/frontend/type-mapper.test.js +108 -33
- package/dist/frontend/type-mapper.test.js.map +1 -1
- package/dist/frontend/union-discriminants.js +8 -2
- package/dist/frontend/union-discriminants.js.map +1 -1
- package/dist/frontend/union-discriminants.test.js +77 -20
- package/dist/frontend/union-discriminants.test.js.map +1 -1
- package/dist/frontend/worker-target.d.ts +6 -0
- package/dist/frontend/worker-target.js +108 -0
- package/dist/frontend/worker-target.js.map +1 -0
- package/dist/frontend/worker-target.test.d.ts +1 -0
- package/dist/frontend/worker-target.test.js +71 -0
- package/dist/frontend/worker-target.test.js.map +1 -0
- package/dist/index.d.ts +9 -8
- package/dist/index.js +174 -88
- package/dist/index.js.map +1 -1
- package/dist/ir/analysis.js +95 -38
- package/dist/ir/analysis.js.map +1 -1
- package/dist/ir/analysis.test.js +91 -15
- package/dist/ir/analysis.test.js.map +1 -1
- package/dist/ir/api.d.ts +4 -0
- package/dist/ir/api.js +6 -0
- package/dist/ir/api.js.map +1 -0
- package/dist/ir/build.d.ts +7 -0
- package/dist/ir/build.js +27 -1
- package/dist/ir/build.js.map +1 -1
- package/dist/ir/builtin-effects.d.ts +9 -0
- package/dist/ir/builtin-effects.js +643 -0
- package/dist/ir/builtin-effects.js.map +1 -0
- package/dist/ir/builtin-signatures.d.ts +15 -0
- package/dist/ir/builtin-signatures.js +3397 -0
- package/dist/ir/builtin-signatures.js.map +1 -0
- package/dist/ir/byte-numbers.js +67 -16
- package/dist/ir/byte-numbers.js.map +1 -1
- package/dist/ir/byte-numbers.test.js +17 -4
- package/dist/ir/byte-numbers.test.js.map +1 -1
- package/dist/ir/constant-tables.js +13 -5
- package/dist/ir/constant-tables.js.map +1 -1
- package/dist/ir/constant-tables.test.js +47 -7
- package/dist/ir/constant-tables.test.js.map +1 -1
- package/dist/ir/control-flow.js +2 -1
- package/dist/ir/control-flow.js.map +1 -1
- package/dist/ir/control-flow.test.js +35 -11
- package/dist/ir/control-flow.test.js.map +1 -1
- package/dist/ir/initializer-bindings.d.ts +9 -0
- package/dist/ir/initializer-bindings.js +115 -0
- package/dist/ir/initializer-bindings.js.map +1 -0
- package/dist/ir/initializer-bindings.test.d.ts +1 -0
- package/dist/ir/initializer-bindings.test.js +118 -0
- package/dist/ir/initializer-bindings.test.js.map +1 -0
- package/dist/ir/integer-loop-facts.d.ts +12 -0
- package/dist/ir/integer-loop-facts.js +137 -0
- package/dist/ir/integer-loop-facts.js.map +1 -0
- package/dist/ir/integer-loops.js +85 -30
- package/dist/ir/integer-loops.js.map +1 -1
- package/dist/ir/integer-loops.test.js +76 -13
- package/dist/ir/integer-loops.test.js.map +1 -1
- package/dist/ir/integer-ranges.js +93 -21
- package/dist/ir/integer-ranges.js.map +1 -1
- package/dist/ir/integer-ranges.test.js +199 -21
- package/dist/ir/integer-ranges.test.js.map +1 -1
- package/dist/ir/intrinsic-signatures.d.ts +20 -0
- package/dist/ir/intrinsic-signatures.js +57 -0
- package/dist/ir/intrinsic-signatures.js.map +1 -0
- package/dist/ir/ir.d.ts +15 -2160
- package/dist/ir/ir.js +160 -1396
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/ir.test.js +98 -77
- package/dist/ir/ir.test.js.map +1 -1
- package/dist/ir/numeric-call-specialization.d.ts +8 -0
- package/dist/ir/numeric-call-specialization.js +198 -0
- package/dist/ir/numeric-call-specialization.js.map +1 -0
- package/dist/ir/runtime-features.d.ts +221 -0
- package/dist/ir/runtime-features.js +552 -0
- package/dist/ir/runtime-features.js.map +1 -0
- package/dist/ir/runtime-features.test.d.ts +1 -0
- package/dist/ir/runtime-features.test.js +98 -0
- package/dist/ir/runtime-features.test.js.map +1 -0
- package/dist/ir/scalar-records.js +130 -40
- package/dist/ir/scalar-records.js.map +1 -1
- package/dist/ir/scalar-records.test.js +146 -27
- package/dist/ir/scalar-records.test.js.map +1 -1
- package/dist/ir/serialize.d.ts +1 -1
- package/dist/ir/serialize.js +7 -5
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/serialize.test.js +44 -9
- package/dist/ir/serialize.test.js.map +1 -1
- package/dist/ir/traverse.js +156 -43
- package/dist/ir/traverse.js.map +1 -1
- package/dist/ir/traverse.test.js +99 -24
- package/dist/ir/traverse.test.js.map +1 -1
- package/dist/ir/validate.d.ts +1 -31
- package/dist/ir/validate.js +869 -1910
- package/dist/ir/validate.js.map +1 -1
- package/dist/ir/validate.test.js +697 -114
- package/dist/ir/validate.test.js.map +1 -1
- package/dist/library/cache-primitives.js +9 -10
- package/dist/library/cache-primitives.js.map +1 -1
- package/dist/library/cache-reset.test.js +2 -1
- package/dist/library/cache-reset.test.js.map +1 -1
- package/dist/library/compiler-self-identity.js +11 -5
- package/dist/library/compiler-self-identity.js.map +1 -1
- package/dist/library/compiler-self-identity.test.js +10 -3
- package/dist/library/compiler-self-identity.test.js.map +1 -1
- package/dist/library/fence-eval.js +24 -7
- package/dist/library/fence-eval.js.map +1 -1
- package/dist/library/fence-eval.test.js +31 -7
- package/dist/library/fence-eval.test.js.map +1 -1
- package/dist/library/int-infer.js +199 -59
- package/dist/library/int-infer.js.map +1 -1
- package/dist/library/int-infer.test.js +137 -61
- package/dist/library/int-infer.test.js.map +1 -1
- package/dist/library/ir-policy.d.ts +27 -0
- package/dist/library/ir-policy.js +234 -0
- package/dist/library/ir-policy.js.map +1 -0
- package/dist/library/library-cache.js +40 -17
- package/dist/library/library-cache.js.map +1 -1
- package/dist/library/library-cache.test.js +29 -18
- package/dist/library/library-cache.test.js.map +1 -1
- package/dist/library/library-profile.js +68 -13
- package/dist/library/library-profile.js.map +1 -1
- package/dist/library/prepare.js +48 -20
- package/dist/library/prepare.js.map +1 -1
- package/dist/library/semantic-source.js +16 -14
- package/dist/library/semantic-source.js.map +1 -1
- package/dist/library/semantic-source.test.js +9 -14
- package/dist/library/semantic-source.test.js.map +1 -1
- package/dist/library/sidecar-validate.js +53 -12
- package/dist/library/sidecar-validate.js.map +1 -1
- package/dist/library/sidecar.js +85 -24
- package/dist/library/sidecar.js.map +1 -1
- package/dist/library/trap-teaching.js +11 -2
- package/dist/library/trap-teaching.js.map +1 -1
- package/dist/native/cache.js +10 -4
- package/dist/native/cache.js.map +1 -1
- package/dist/native/cli.js +34 -9
- package/dist/native/cli.js.map +1 -1
- package/dist/native/compiler.js +191 -54
- package/dist/native/compiler.js.map +1 -1
- package/dist/native/compiler.test.js +134 -33
- package/dist/native/compiler.test.js.map +1 -1
- package/dist/native/comptime.js +23 -7
- package/dist/native/comptime.js.map +1 -1
- package/dist/native/comptime.test.js +26 -6
- package/dist/native/comptime.test.js.map +1 -1
- package/dist/native/executable-cache.js +77 -27
- package/dist/native/executable-cache.js.map +1 -1
- package/dist/native/executable-cache.test.js +41 -6
- package/dist/native/executable-cache.test.js.map +1 -1
- package/dist/native/file-identity.js +9 -2
- package/dist/native/file-identity.js.map +1 -1
- package/dist/native/file-identity.test.js.map +1 -1
- package/dist/native/library.js +50 -12
- package/dist/native/library.js.map +1 -1
- package/dist/native/prepare.js +121 -34
- package/dist/native/prepare.js.map +1 -1
- package/dist/native/prepare.test.js +22 -6
- package/dist/native/prepare.test.js.map +1 -1
- package/dist/native/runtime-typescript.js +24 -11
- package/dist/native/runtime-typescript.js.map +1 -1
- package/dist/native/runtime-typescript.test.js.map +1 -1
- package/dist/native/sanitizer.js +71 -18
- package/dist/native/sanitizer.js.map +1 -1
- package/dist/native/sanitizer.test.js +78 -20
- package/dist/native/sanitizer.test.js.map +1 -1
- package/dist/native/task.js.map +1 -1
- package/dist/native/task.test.js +7 -2
- package/dist/native/task.test.js.map +1 -1
- package/dist/native/toolchain.js +68 -26
- package/dist/native/toolchain.js.map +1 -1
- package/dist/native/toolchain.test.js +59 -20
- package/dist/native/toolchain.test.js.map +1 -1
- package/dist/startup-cache.d.ts +1 -1
- package/dist/startup-cache.js +1 -1
- package/dist/startup-cache.js.map +1 -1
- package/dist/timing.js.map +1 -1
- package/package.json +20 -20
- package/surface-manifest.json +30 -2
- package/dist/frontend/lowering/lower-builtins.d.ts +0 -601
- package/dist/frontend/lowering/lower-builtins.js +0 -8986
- package/dist/frontend/lowering/lower-builtins.js.map +0 -1
- package/dist/frontend/lowering/lower-containers.d.ts +0 -382
- package/dist/frontend/lowering/lower-containers.js +0 -7344
- package/dist/frontend/lowering/lower-containers.js.map +0 -1
|
@@ -1,25 +1,29 @@
|
|
|
1
|
+
import type { FieldLift } from "./coercions/structural-plans.js";
|
|
2
|
+
import { CoercionState } from "./coercions/state.js";
|
|
1
3
|
import { RuntimeOptionalLocals } from "./runtime-optional-locals.js";
|
|
2
4
|
import type { WidthLift } from "./width-lift.js";
|
|
3
|
-
export type { WidthLift } from "./width-lift.js";
|
|
4
5
|
import { type FnCtx } from "./function-context.js";
|
|
5
|
-
export { newFnCtx, type FnCtx } from "./function-context.js";
|
|
6
6
|
import type { FrontendServices } from "../services.js";
|
|
7
7
|
import { DeferredModuleInitializers } from "./deferred-module-initializers.js";
|
|
8
8
|
import type { ClassSymbolKey } from "./symbol-fields.js";
|
|
9
9
|
import type { HttpClientFnBinding } from "./lower-server.js";
|
|
10
|
+
export type { WidthLift } from "./width-lift.js";
|
|
11
|
+
export { newFnCtx, type FnCtx } from "./function-context.js";
|
|
10
12
|
import * as ts from "../ts7/adapter.js";
|
|
11
13
|
import { type UnionLiteral } from "../union-discriminants.js";
|
|
12
14
|
import type { ScrDiagnostic } from "../../diagnostics/diagnostic.js";
|
|
13
15
|
import { UNSUPPORTED } from "../../diagnostics/diagnostic.js";
|
|
14
16
|
import type { IrClassDef, IrExpr, IrFfiImport, IrFunction, IrGlobal, IrLocal, IrModule, IrParam, IrRecordShape, IrStmt, IrType, IrUnionDef, SrcLoc } from "../../ir/ir.js";
|
|
15
|
-
import {
|
|
17
|
+
import type { DynamicImportResolution, NpmBuiltinUse, NpmLazyTrap } from "../npm.js";
|
|
16
18
|
import { type StartupCrash } from "../program.js";
|
|
17
19
|
import { ShapeRegistry, type TypeMapperCtx, UnionRegistry } from "../type-mapper.js";
|
|
18
20
|
import { type CompoundOp, type IslandFnEntry, type BuiltinModuleFn } from "./surfaces.js";
|
|
19
21
|
import { type FileParts } from "./lower-modules.js";
|
|
20
22
|
import { type ClassInfo, type ClassIteratorInfo, type GenericClassInfo, findStaticOn } from "./lower-classes.js";
|
|
21
23
|
import { type MixinFnShape } from "./lower-mixins.js";
|
|
22
|
-
import { type ParamShape, type FnSig
|
|
24
|
+
import { type ParamShape, type FnSig } from "./call-signatures.js";
|
|
25
|
+
import { type GenericFnInfo, type GenericInstance } from "./generic-functions.js";
|
|
26
|
+
import type { InstantiationPath } from "./instantiation-path.js";
|
|
23
27
|
import { type ComputedEventPattern, type EmitSpecCtx, type EmitSpecRequest, type EventSig } from "./lower-event-emitter.js";
|
|
24
28
|
import { type FieldTarget } from "./lower-exprs.js";
|
|
25
29
|
import type { ExpandoMembers } from "./lower-expando.js";
|
|
@@ -210,6 +214,7 @@ export interface LowererMode {
|
|
|
210
214
|
libraryCallbacks?: boolean;
|
|
211
215
|
/** Statically resolved child_process.fork program roots, in stable target-id order. */
|
|
212
216
|
forkTargets?: readonly ts.SourceFile[];
|
|
217
|
+
workerTargets?: readonly ts.SourceFile[];
|
|
213
218
|
/** Program-validated ambient declaration symbols for each FFI name.
|
|
214
219
|
* Undefined in discovery's legacy call-local validation path. */
|
|
215
220
|
ffiBindingSymbols?: ReadonlyMap<string, ReadonlySet<ts.Symbol>>;
|
|
@@ -278,21 +283,6 @@ export declare function uncheckedOverloadHandleCall(lowerer: Lowerer, expr: ts.E
|
|
|
278
283
|
* `never` at the ROOT stays out (`for (const v of [])`'s loop var — the
|
|
279
284
|
* dead read the f64 mapping is FOR). */
|
|
280
285
|
export declare function neverTaintedJsType(lowerer: Lowerer, node: ts.Node, t: ts.Type): boolean;
|
|
281
|
-
/** The dyn undefined value — what an uninitialized checked-dynamic
|
|
282
|
-
* binding holds (JS: declared bindings read `undefined` before any
|
|
283
|
-
* assignment). A NULL dyn slot is a trap, never a value, so every dyn
|
|
284
|
-
* binding that is READABLE before its first assignment must start here:
|
|
285
|
-
* `let x;` declarations, hoisted `var`s (function and module scope,
|
|
286
|
-
* forward captures included), and the implicit-return completion
|
|
287
|
-
* (lower-calls' own copy of this pattern predates the helper). */
|
|
288
|
-
export declare function dynUndefinedExpr(loc: SrcLoc): IrExpr;
|
|
289
|
-
/** An always-throwing Node-parity error expression (the error.nodeThrow
|
|
290
|
-
* libCall — the lowered form of arms Node rejects unconditionally:
|
|
291
|
-
* ERR_INVALID_THIS receivers, ERR_MISSING_ARGS arity ladders, the
|
|
292
|
-
* symbol-to-string TypeError). kind 0 Error / 1 TypeError / 2 RangeError;
|
|
293
|
-
* an empty code means no code slot. `type` is the replaced expression's
|
|
294
|
-
* own (never materialized — the global.undefRead pattern). */
|
|
295
|
-
export declare function nodeThrowExpr(kind: 0 | 1 | 2 | 5, code: string, message: string, type: IrType, loc: SrcLoc): IrExpr;
|
|
296
286
|
/** The post-validation fence STRING a validation-ladder Chk libCall
|
|
297
287
|
* throws after its Node-order checks pass: the same SC2020 text the
|
|
298
288
|
* per-statement runtime fence would have thrown (message + "[code at
|
|
@@ -396,6 +386,7 @@ export declare class Lowerer {
|
|
|
396
386
|
info: GenericFnInfo;
|
|
397
387
|
inst: GenericInstance;
|
|
398
388
|
}[];
|
|
389
|
+
genericInstantiationPath: InstantiationPath | null;
|
|
399
390
|
/** Historical emit rank of the retained declaration/init body currently
|
|
400
391
|
* lowering, and the earliest such owner that demanded each generic
|
|
401
392
|
* instance. Reachability can encounter a later caller first; the minimum
|
|
@@ -429,8 +420,8 @@ export declare class Lowerer {
|
|
|
429
420
|
* the body needs — indexed accesses (`T[K]` needs K's literal key) and
|
|
430
421
|
* keyed record reads (`o[k]` where k's type is a literal-bound K). */
|
|
431
422
|
typeParamTsBindings: Map<ts.Symbol, ts.Type> | null;
|
|
432
|
-
/** Non-null while an IMPLICIT-ANY instance body lowers (npm-static JS
|
|
433
|
-
*
|
|
423
|
+
/** Non-null while an IMPLICIT-ANY instance body lowers (npm-static JS;
|
|
424
|
+
* see generic-functions.ts): bound param symbol →
|
|
434
425
|
* the call site's checker type, consulted by typeOf for identifier
|
|
435
426
|
* references the checker still types `any`. The implicit twin of
|
|
436
427
|
* typeParamBindings — the checker has no `T` to substitute, so the
|
|
@@ -569,31 +560,17 @@ export declare class Lowerer {
|
|
|
569
560
|
readonly emitSpecDone: Set<string>;
|
|
570
561
|
readonly emitSpecQueue: EmitSpecRequest[];
|
|
571
562
|
emitSpecCtx: EmitSpecCtx | null;
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
* cycle guard for RECURSIVE shapes (a self-referential record narrowing
|
|
577
|
-
* into a self-referential subset). Re-entering an in-progress pair
|
|
578
|
-
* answers "assume coercible" (the greatest fixed point: every OTHER
|
|
579
|
-
* constraint of the cycle is still checked by the outer call, and the
|
|
580
|
-
* built helper terminates because recordWidthHelper interns its name
|
|
581
|
-
* before building the body, so the recursive reference resolves to the
|
|
582
|
-
* helper itself). */
|
|
583
|
-
private readonly widthPlanning;
|
|
563
|
+
readonly coercions: CoercionState;
|
|
564
|
+
/** Generated value helpers, keyed by operation and type. Callers own
|
|
565
|
+
* their key prefixes; this includes more than structural conversions. */
|
|
566
|
+
readonly valueHelpers: Map<string, string>;
|
|
584
567
|
/** Interned node:assert helpers (deep-equality comparisons keyed by
|
|
585
568
|
* typeKey, throws wrappers keyed by callback type + expected class) —
|
|
586
|
-
* the
|
|
569
|
+
* the valueHelpers pattern with its own namespace. */
|
|
587
570
|
readonly assertHelpers: Map<string, string>;
|
|
588
571
|
/** util.inspect's per-type traversal helpers (%util.insp.N), interned
|
|
589
572
|
* by typeKey — the assertHelpers pattern with its own namespace. */
|
|
590
573
|
readonly inspectHelpers: Map<string, string>;
|
|
591
|
-
/** Union re-tag helpers (%union.retag.N), interned per (from, to)
|
|
592
|
-
* unionId pair — see unionRetagHelper. */
|
|
593
|
-
readonly retagHelpers: Map<string, string>;
|
|
594
|
-
/** Copy-only routes depend on the two union contracts and discriminator
|
|
595
|
-
* layouts, without recursive width assumptions or evolving class members. */
|
|
596
|
-
private readonly copyRetagHelpers;
|
|
597
574
|
private readonly unionLiteralOwners;
|
|
598
575
|
private readonly strippedUndefinedArms;
|
|
599
576
|
private readonly addedUndefinedArms;
|
|
@@ -626,18 +603,10 @@ export declare class Lowerer {
|
|
|
626
603
|
kind: "func";
|
|
627
604
|
};
|
|
628
605
|
}>;
|
|
629
|
-
readonly narrowHelpers: Map<string, string>;
|
|
630
|
-
/** Exact members of narrowHelpers produced by narrowedArmHelper. This
|
|
631
|
-
* lets property consumers recognize an earlier checked extraction by
|
|
632
|
-
* provenance instead of relying on its generated-name prefix. */
|
|
633
|
-
private readonly checkedNarrowHelpers;
|
|
634
606
|
/** Interned `%iter.drain.<n>` helpers (classIteratorDrainCall): one per
|
|
635
607
|
* receiver class — the eager drain of a class iterable's protocol into
|
|
636
608
|
* a fresh element array, behind array/call spreads. */
|
|
637
609
|
readonly iterDrainHelpers: Map<string, string>;
|
|
638
|
-
/** Island-lift builder helpers (%jsin.rec.N / %jsin.arr.N /
|
|
639
|
-
* %jsin.elems.N), interned per source type — see jsvalLiftExpr. */
|
|
640
|
-
readonly jsinHelpers: Map<string, string>;
|
|
641
610
|
/** Synthetic Map.forEach loop functions, interned per key/value type +
|
|
642
611
|
* callback arity: key → fn name (see lowerMapForEachCall). */
|
|
643
612
|
readonly mapHofHelpers: Map<string, string>;
|
|
@@ -685,6 +654,7 @@ export declare class Lowerer {
|
|
|
685
654
|
idxsLocalId: string;
|
|
686
655
|
ctx: FnCtx;
|
|
687
656
|
}>;
|
|
657
|
+
readonly splitIdentifierUses: Map<ts.SourceFile, Map<string, ts.Identifier[]>>;
|
|
688
658
|
/** STORED numeric value iterators: `const it = numbers.values()` (and
|
|
689
659
|
* the equivalent `[Symbol.iterator]()` spelling) over number[] or a
|
|
690
660
|
* represented typed array has no first-class IR value, so its statically
|
|
@@ -787,6 +757,9 @@ export declare class Lowerer {
|
|
|
787
757
|
readonly fileTag: Map<ts.SourceFile, string>;
|
|
788
758
|
/** Embedded fork roots and their private startup ids. */
|
|
789
759
|
readonly forkTargets: readonly ts.SourceFile[];
|
|
760
|
+
readonly workerTargets: readonly ts.SourceFile[];
|
|
761
|
+
readonly workerTargetIdByPath: Map<string, number>;
|
|
762
|
+
usesWorkers: boolean;
|
|
790
763
|
readonly forkTargetIdByPath: Map<string, number>;
|
|
791
764
|
/** Namespace ModuleBlocks this program lowers, filled by splitFiles:
|
|
792
765
|
* "flattened" — an instantiated namespace whose body joined the file's
|
|
@@ -969,6 +942,8 @@ export declare class Lowerer {
|
|
|
969
942
|
bumpFileStat(file: string, kind: "total" | "failed" | "island"): void;
|
|
970
943
|
constructor(program: ts.Program, entry: ts.SourceFile, moduleOrder: ts.SourceFile[], dynamic: boolean, mode?: LowererMode);
|
|
971
944
|
registerBuiltinErrorClasses(): void;
|
|
945
|
+
private classProtocols;
|
|
946
|
+
classImplementedProtocol(type: ts.Type): boolean;
|
|
972
947
|
/** The nominal identity of a checker module-namespace type. Program
|
|
973
948
|
* modules use their normalized absolute source name; supported builtins
|
|
974
949
|
* use the lowering tables' canonical bare name. */
|
|
@@ -1324,118 +1299,19 @@ export declare class Lowerer {
|
|
|
1324
1299
|
* else (including a DIFFERENT union) is left for requireExactShape, which
|
|
1325
1300
|
* rejects union mismatches with SC2003. */
|
|
1326
1301
|
coerceToExpected(expr: IrExpr, expected: IrType): IrExpr;
|
|
1327
|
-
/** Copy-based structural WIDTH coercion — a `Full` record flowing into a
|
|
1328
|
-
* narrower `{ id }` slot, or `Full[]` into `{ id }[]` (the Pick-typed
|
|
1329
|
-
* display-table pattern): TS's width subtyping is free on erased types,
|
|
1330
|
-
* but monomorphic structs must RESHAPE, so the value is rebuilt with the
|
|
1331
|
-
* subset of fields copied — per element, via an interned helper, for
|
|
1332
|
-
* arrays. A deliberate divergence from JS's aliasing (SEMANTICS.md 35,
|
|
1333
|
-
* next to the marshal-copy stance): mutations through the narrowed value
|
|
1334
|
-
* don't reach the original and vice versa. Exactly two flows coerce —
|
|
1335
|
-
* record→record and record-array→record-array, each target field copied
|
|
1336
|
-
* from a same-named source field whose type matches exactly or LIFTS
|
|
1337
|
-
* into the target field's union (see recordWidthHelper); anything
|
|
1338
|
-
* deeper keeps the exactness fences. Null when the pair isn't
|
|
1339
|
-
* width-coercible. */
|
|
1340
1302
|
widthCoerce(expr: IrExpr, expected: IrType): IrExpr | null;
|
|
1341
|
-
/** One step of the recursive width-lift relation: how a `src`-typed
|
|
1342
|
-
* value enters a `dst`-typed slot under the copy-reshape family. The
|
|
1343
|
-
* pure planning side — nothing interns here, so whole plans validate
|
|
1344
|
-
* before any helper exists. The cases, in order:
|
|
1345
|
-
* copy — exact same type (typeEquals), the field/element moves as is
|
|
1346
|
-
* retag — union into union, every arm mapped (unionRetagMappable —
|
|
1347
|
-
* identity arms and compatible payload conversions; a shared
|
|
1348
|
-
* discriminant may select different record destinations)
|
|
1349
|
-
* wrap — a non-unit arm value into a union that contains it
|
|
1350
|
-
* discriminantWrap — identical recursive layouts distinguished by
|
|
1351
|
-
* their literal field value rather than their storage id
|
|
1352
|
-
* liftWrap — a record/array value into a union with NO identical arm
|
|
1353
|
-
* but exactly ONE arm it width-lifts into (the findRoute
|
|
1354
|
-
* rule applied at every level; several candidates are
|
|
1355
|
-
* ambiguous and decline)
|
|
1356
|
-
* width — record into a strict-subset record (recordWidthPlan,
|
|
1357
|
-
* recursively — NESTED width)
|
|
1358
|
-
* arr — array into array whose element pair lifts (per-element
|
|
1359
|
-
* copy loop, arrayWidthHelper)
|
|
1360
|
-
* dynIn — a typed value into an 'unknown' (dyn) slot — the same
|
|
1361
|
-
* static→dyn deep copy coerceToExpected applies top-level
|
|
1362
|
-
* upcast — a derived class instance into a base-typed slot (the
|
|
1363
|
-
* prefix-layout pointer reinterpret, no copy)
|
|
1364
|
-
* funcAdapt — a function into a slot whose signature differs only by
|
|
1365
|
-
* CLEAN mechanical conversions (cleanFuncAdaptable); the
|
|
1366
|
-
* stranded (trap-only) dispositions stay out of the plan
|
|
1367
|
-
* Null when the pair isn't in the relation — callers keep their fences. */
|
|
1368
1303
|
widthLiftPlan(src: IrType, dst: IrType): WidthLift | null;
|
|
1369
|
-
/** True for the unit-only element types (`(null | undefined)[]`, the
|
|
1370
|
-
* `readonly []` mapping): a union whose every arm is a unit. */
|
|
1371
1304
|
unitOnlyElem(t: IrType): boolean;
|
|
1372
|
-
/** The build side of widthLiftPlan: the IrExpr converting `value` into
|
|
1373
|
-
* `dst` under a plan the caller validated. Interns whatever helpers the
|
|
1374
|
-
* lift needs (planned first, so the interns cannot fail — a failure here
|
|
1375
|
-
* is a lowerer bug, not a user diagnostic). */
|
|
1376
1305
|
applyWidthLift(lift: WidthLift, value: IrExpr, dst: IrType, loc: SrcLoc): IrExpr;
|
|
1377
|
-
/** Dispatch a structural copy from its runtime union tag. Each record
|
|
1378
|
-
* payload has its own field offsets and optional-field completions;
|
|
1379
|
-
* interpreting all arms as the destination layout would corrupt memory.
|
|
1380
|
-
* Intern before descending so recursive record unions can reuse it. */
|
|
1381
1306
|
unionRecordWidthHelper(fromId: string, target: IrType & {
|
|
1382
1307
|
kind: "record";
|
|
1383
1308
|
}, loc: SrcLoc): string;
|
|
1384
|
-
|
|
1385
|
-
* record by copying fields: every target field must exist on the source
|
|
1386
|
-
* with the EXACT same type, or with a type that LIFTS under
|
|
1387
|
-
* widthLiftPlan — an arm value wraps (`text: string` into
|
|
1388
|
-
* `text?: string`), a whole union re-tags (unionRetagMappable), a field
|
|
1389
|
-
* whose own record/array type needs narrowing reshapes RECURSIVELY
|
|
1390
|
-
* (nested width — the copy stance applies per level), and a MISSING
|
|
1391
|
-
* optional-flavored field completes to its undefined arm (the
|
|
1392
|
-
* literal-completion rule). TUPLES width-coerce too, arity-exact (TS
|
|
1393
|
-
* permits no other tuple width): per-position lifts, never completion.
|
|
1394
|
-
* Index-signature SOURCES narrow here like any wider record — declared
|
|
1395
|
-
* fields copy, the overflow drops with the width (missing target
|
|
1396
|
-
* fields decline: the overflow could hold them). Index-signature
|
|
1397
|
-
* TARGETS keep the overflow CAPTURE helper (widthCoerce's other arm).
|
|
1398
|
-
* Null when the shapes don't relate that way. */
|
|
1399
|
-
/** The pure planning half of recordWidthHelper — every target field's
|
|
1400
|
-
* lift, or null when the pair isn't width-coercible. Callers that must
|
|
1401
|
-
* validate a WHOLE plan before interning anything (the retag helper's
|
|
1402
|
-
* per-arm width lifts) probe with this. */
|
|
1403
|
-
recordWidthPlan(fromId: string, toId: string): Map<string, {
|
|
1404
|
-
src: IrType;
|
|
1405
|
-
lift: WidthLift;
|
|
1406
|
-
} | {
|
|
1407
|
-
absent: true;
|
|
1408
|
-
utag: number;
|
|
1409
|
-
} | {
|
|
1410
|
-
absentDyn: true;
|
|
1411
|
-
}> | null;
|
|
1412
|
-
/** Post-hoc classifier for SC2002's record→record residue: WHY the
|
|
1413
|
-
* width family (recordWidthPlan and the overflow capture — widthCoerce's
|
|
1414
|
-
* two record arms) declined this pair — the FIRST blocking rule, named.
|
|
1415
|
-
* Pure description on the failure path (the site already carries the
|
|
1416
|
-
* rejection): mirrors the planners' gates, never changes what coerces,
|
|
1417
|
-
* and answers null when no pointed story applies (the generic message
|
|
1418
|
-
* stands). */
|
|
1309
|
+
recordWidthPlan(fromId: string, toId: string): Map<string, FieldLift> | null;
|
|
1419
1310
|
describeRecordWidthBlocker(fromId: string, toId: string): string | null;
|
|
1420
1311
|
recordWidthHelper(fromId: string, toId: string, loc: SrcLoc): string | null;
|
|
1421
|
-
/** Interned `%arr.width.<n>(a)` — the per-element copy loop over
|
|
1422
|
-
* widthLiftPlan's element lift: out = []; n = a.length; for (...)
|
|
1423
|
-
* out.push(lift(a[i])); return out. Record elements reshape
|
|
1424
|
-
* (recordWidthHelper), union elements wrap or re-tag (`number[]` into
|
|
1425
|
-
* `(number | undefined)[]`), nested arrays recurse. Null when the
|
|
1426
|
-
* element pair isn't width-liftable. */
|
|
1427
|
-
/** Interned `%tup.arr.<n>(t)` — rebuilds a TUPLE as an ARRAY: positions
|
|
1428
|
-
* read in order, each lifted into the element type under widthLiftPlan.
|
|
1429
|
-
* Null unless the source shape really is a tuple whose every position
|
|
1430
|
-
* lifts (records with named fields never relate to arrays). */
|
|
1431
1312
|
tupleArrayWidthHelper(fromId: string, toT: IrType & {
|
|
1432
1313
|
kind: "array";
|
|
1433
1314
|
}, loc: SrcLoc): string | null;
|
|
1434
|
-
/** Interned `%arr.empty.<n>(a)` — the EMPTY-array lift's build side: a
|
|
1435
|
-
* unit-only-element array reshapes into any data-element array by
|
|
1436
|
-
* answering a FRESH empty array, after a runtime non-empty trap (a
|
|
1437
|
-
* genuinely inhabited `(null | undefined)[]` cannot reshape — the
|
|
1438
|
-
* catchable-TypeError stance every checked extraction takes). */
|
|
1439
1315
|
emptyArrayLiftHelper(fromT: IrType & {
|
|
1440
1316
|
kind: "array";
|
|
1441
1317
|
}, toT: IrType & {
|
|
@@ -1446,39 +1322,8 @@ export declare class Lowerer {
|
|
|
1446
1322
|
}, toT: IrType & {
|
|
1447
1323
|
kind: "array";
|
|
1448
1324
|
}, loc: SrcLoc): string | null;
|
|
1449
|
-
|
|
1450
|
-
* projects into a record shape (tsc's structural view of classes makes
|
|
1451
|
-
* `new Point(0,0)` flow into `{x: number; y: number}` slots). Every
|
|
1452
|
-
* target field must be a plain instance FIELD on the class (inherited
|
|
1453
|
-
* included) whose type lifts, or a missing optional-flavored field
|
|
1454
|
-
* completing to its undefined arm — but never a field the class
|
|
1455
|
-
* satisfies through a METHOD or accessor (bound method references have
|
|
1456
|
-
* no lowering; the plan declines instead of projecting a lie). Builtin
|
|
1457
|
-
* runtime layouts (the Error/EventEmitter/stream chains) decline: their
|
|
1458
|
-
* fields aren't plain emitted storage. */
|
|
1459
|
-
objToRecordPlan(className: string, toId: string): Map<string, {
|
|
1460
|
-
src: IrType;
|
|
1461
|
-
lift: WidthLift;
|
|
1462
|
-
} | {
|
|
1463
|
-
absent: true;
|
|
1464
|
-
utag: number;
|
|
1465
|
-
}> | null;
|
|
1466
|
-
/** Interned `%obj.width.<n>(o)` — builds a record from a class
|
|
1467
|
-
* instance's fields under objToRecordPlan: the width-copy stance
|
|
1468
|
-
* (divergence 305 — a fresh record, mutations don't alias, extra class
|
|
1469
|
-
* members drop). */
|
|
1325
|
+
objToRecordPlan(className: string, toId: string): Map<string, FieldLift> | null;
|
|
1470
1326
|
objRecordWidthHelper(className: string, toId: string, loc: SrcLoc): string | null;
|
|
1471
|
-
/** The planning half of recordClassWidthHelper — how a RECORD enters a
|
|
1472
|
-
* class-instance slot. Construction IS the projection, so the class
|
|
1473
|
-
* must be a pure parameter-property data class: its own trivial
|
|
1474
|
-
* constructor (every parameter a parameter property, empty body), no
|
|
1475
|
-
* other fields, no methods/accessors anywhere in the chain (a
|
|
1476
|
-
* fabricated instance must carry no behavior the record lacks), no
|
|
1477
|
-
* decoration, no base beyond a generic FAMILY ancestor (fieldless and
|
|
1478
|
-
* methodless by construction). Each constructor parameter takes the
|
|
1479
|
-
* same-named source field under widthLiftPlan, or — omittable params —
|
|
1480
|
-
* the absent undefined arm. One entry per constructor parameter, in
|
|
1481
|
-
* parameter order. */
|
|
1482
1327
|
recordToClassPlan(fromId: string, className: string): ({
|
|
1483
1328
|
field: string;
|
|
1484
1329
|
src: IrType;
|
|
@@ -1486,84 +1331,24 @@ export declare class Lowerer {
|
|
|
1486
1331
|
} | {
|
|
1487
1332
|
absent: true;
|
|
1488
1333
|
})[] | null;
|
|
1489
|
-
/** Interned `%cls.width.<n>(r)` — `new C(r.p1, ..., r.pn)` under
|
|
1490
|
-
* recordToClassPlan: the record's fields become the trivial
|
|
1491
|
-
* constructor's arguments (divergence 305's copy stance — a fresh
|
|
1492
|
-
* instance, mutations don't alias, and `instanceof C` answers true
|
|
1493
|
-
* where Node's plain object answers false). */
|
|
1494
1334
|
recordClassWidthHelper(fromId: string, className: string, loc: SrcLoc): string | null;
|
|
1495
|
-
/** A CLASS VALUE's statics projected into a record shape (`var f:
|
|
1496
|
-
* ShapeFactory = Shape`): the record literal capturing static FIELDS as
|
|
1497
|
-
* copies of their globals and static METHODS as the zero-capture
|
|
1498
|
-
* closures `const f = C.m` builds (params all required — value-form
|
|
1499
|
-
* completion rules stay out of coercions). Inherited statics resolve
|
|
1500
|
-
* like JS's class-object prototype walk. Divergence 305's copy stance:
|
|
1501
|
-
* later writes to a writable static field don't flow into the record
|
|
1502
|
-
* (Node aliases the one class object). Null when any target field has
|
|
1503
|
-
* no projectable static. */
|
|
1504
1335
|
classStaticsProjection(className: string, toId: string, loc: SrcLoc): IrExpr | null;
|
|
1505
|
-
/** Interned `%fn.width.<n>(f)` — the function-RETURN width adapter: a
|
|
1506
|
-
* zero-param `() => Wide[]` value flowing into a `() => Narrow[]` slot
|
|
1507
|
-
* (the createProxyServer getRoutes shape) wraps in a fresh closure that
|
|
1508
|
-
* calls the original and maps the result through the per-element record
|
|
1509
|
-
* width copy (%arr.width). The adapter is a factory lifted function
|
|
1510
|
-
* whose param the returned closure captures; each invocation of the
|
|
1511
|
-
* adapted value builds a FRESH array of narrowed records (the width
|
|
1512
|
-
* machinery's copy stance — callers see the values, not the identity).
|
|
1513
|
-
* Null when the return shapes aren't width-coercible; bounded to
|
|
1514
|
-
* zero-param signatures (the one observed site — widening needs a
|
|
1515
|
-
* param-forwarding story nothing drives yet). */
|
|
1516
1336
|
funcReturnWidthAdapter(fromT: IrType & {
|
|
1517
1337
|
kind: "func";
|
|
1518
1338
|
}, toT: IrType & {
|
|
1519
1339
|
kind: "func";
|
|
1520
1340
|
}, loc: SrcLoc): string | null;
|
|
1521
|
-
/** Whether a `src`-typed VALUE converts into a `dst` slot through the
|
|
1522
|
-
* coercions coerceToExpected applies mechanically — the PURE probe
|
|
1523
|
-
* behind funcCoerceAdapter (nothing interns): exact types, arm wraps
|
|
1524
|
-
* into unions, whole-union re-tags (unionRetagMappable), checked
|
|
1525
|
-
* single-arm narrows, void into an undefined-armed union, and the dyn
|
|
1526
|
-
* boundary in both directions (dynFrom / dynCheck's JSON-safe domain).
|
|
1527
|
-
* Deliberately EXCLUDES the trap-only stranded conversions — an adapter
|
|
1528
|
-
* that could only ever throw is a fence, not a bridge. */
|
|
1529
1341
|
coercibleValue(src: IrType, dst: IrType): boolean;
|
|
1530
|
-
/** True when a `src` function value enters a `dst` slot through
|
|
1531
|
-
* funcCoerceAdapter with NO stranded (trap-only) piece: no rest packs,
|
|
1532
|
-
* no surplus source params, every slot parameter converts into the
|
|
1533
|
-
* wrapped function's own type, and the result converts back (a void
|
|
1534
|
-
* slot drops it; a void result answers the exact JS undefined for
|
|
1535
|
-
* dyn/jsval slots). The width family's func gate — widthLiftPlan
|
|
1536
|
-
* bridges only signatures whose every call succeeds by construction. */
|
|
1537
1342
|
cleanFuncAdaptable(src: IrType & {
|
|
1538
1343
|
kind: "func";
|
|
1539
1344
|
}, dst: IrType & {
|
|
1540
1345
|
kind: "func";
|
|
1541
1346
|
}): boolean;
|
|
1542
|
-
/** Interned `%fn.adapt.<n>(f)` — the GENERAL function-value adapter: a
|
|
1543
|
-
* `fromT` function value flowing into a `toT` slot whose pieces differ
|
|
1544
|
-
* only by coercibleValue conversions. The slot's callers pass toT's
|
|
1545
|
-
* parameters: the wrapper takes them, converts the first
|
|
1546
|
-
* fromT.params.length into the wrapped function's own types (surplus
|
|
1547
|
-
* slot parameters are DROPPED — JS's extra-argument rule), calls it,
|
|
1548
|
-
* and converts the result back (a void slot drops the result; a void
|
|
1549
|
-
* result wraps as the slot union's undefined arm). Rest signatures on
|
|
1550
|
-
* either side decline (the pack shapes don't line up mechanically).
|
|
1551
|
-
* Null when any piece is outside coercibleValue — the exactness fences
|
|
1552
|
-
* stay. */
|
|
1553
1347
|
funcCoerceAdapter(fromT: IrType & {
|
|
1554
1348
|
kind: "func";
|
|
1555
1349
|
}, toT: IrType & {
|
|
1556
1350
|
kind: "func";
|
|
1557
1351
|
}, loc: SrcLoc): string | null;
|
|
1558
|
-
/** The spawnSync-runner VALUE adapter's plan — a function returning the
|
|
1559
|
-
* opaque spawnRes flowing into a slot whose signature returns the
|
|
1560
|
-
* STRUCTURAL result record tsc accepted (`defaultRunner` into a
|
|
1561
|
-
* `CommandRunner` param: `{ status: number | null; stdout?: string;
|
|
1562
|
-
* stderr?: string; error?: Error }`). Parameters must agree pairwise;
|
|
1563
|
-
* each target field must be one of the spawnRes reads (status, stdout,
|
|
1564
|
-
* stderr, error) at its exact lowered type — string fields optionally
|
|
1565
|
-
* undefined-armed. Null when the pair isn't this shape. Pure: callers
|
|
1566
|
-
* probe before interning. */
|
|
1567
1352
|
spawnResFnAdapterPlan(fromT: IrType & {
|
|
1568
1353
|
kind: "func";
|
|
1569
1354
|
}, toT: IrType & {
|
|
@@ -1572,54 +1357,14 @@ export declare class Lowerer {
|
|
|
1572
1357
|
field: string;
|
|
1573
1358
|
build: (r: IrExpr, loc: SrcLoc) => IrExpr;
|
|
1574
1359
|
}[] | null;
|
|
1575
|
-
/** Interned `%fnval.spawnres.<n>(f)` — the runner-value adapter: a
|
|
1576
|
-
* fresh closure of the TARGET signature forwarding its arguments to the
|
|
1577
|
-
* captured function and converting the opaque spawnRes result into the
|
|
1578
|
-
* target's structural record (one eager read per declared field —
|
|
1579
|
-
* spawnResFnAdapterPlan's set). Divergence caveat: stdout/stderr read
|
|
1580
|
-
* as the captured text ("" when nothing was captured, e.g. stdio
|
|
1581
|
-
* "inherit") where Node stores null. */
|
|
1582
1360
|
spawnResFnAdapter(fromT: IrType & {
|
|
1583
1361
|
kind: "func";
|
|
1584
1362
|
}, toT: IrType & {
|
|
1585
1363
|
kind: "func";
|
|
1586
1364
|
}, loc: SrcLoc): string | null;
|
|
1587
|
-
/** Validate the complete union conversion before interning helpers.
|
|
1588
|
-
* Recursive width plans close through the same in-progress pair guard;
|
|
1589
|
-
* no optimistic result is memoized after that planning stack unwinds. */
|
|
1590
1365
|
unionRetagMappable(fromId: string, toId: string): boolean;
|
|
1591
|
-
/** A checker-NARROWED union flowing into a different union: `typeof r
|
|
1592
|
-
* === "string" || Buffer.isBuffer(r)` proves the record arm of r away,
|
|
1593
|
-
* then `{ data: r }` needs `Buffer | string | Rec` in a `Buffer | string`
|
|
1594
|
-
* slot. Control-flow narrowing to a sub-union erases at lowering, so the
|
|
1595
|
-
* IR value still carries the wide union — but the SITE's checker type
|
|
1596
|
-
* names exactly the arms still possible, and every one of those must
|
|
1597
|
-
* exist in both unions. The stranded arms compile to trap cases exactly
|
|
1598
|
-
* like stranded units (divergence 38's trust-the-checker stance): sound
|
|
1599
|
-
* narrowing never reaches them, a lying cast throws a catchable
|
|
1600
|
-
* TypeError instead of smuggling an unrepresentable arm. Null when the
|
|
1601
|
-
* site type isn't a genuine sub-union of the source (the SC2003 fence
|
|
1602
|
-
* stays). */
|
|
1603
1366
|
narrowedRetagHelper(node: ts.Node, fromId: string, toId: string, loc: SrcLoc): string | null;
|
|
1604
|
-
/** The stranded-UNIT trap for PLAIN (non-union) slots: a null/undefined
|
|
1605
|
-
* value flowing into a non-nullable typed slot the checker approved —
|
|
1606
|
-
* `null!` and `null as any as T` casts, and the non-strict world's
|
|
1607
|
-
* legal `let s: string = null`. The compiled representation has no null
|
|
1608
|
-
* to carry, so the FLOW throws the catchable stranded TypeError
|
|
1609
|
-
* (divergence 38's stance: Node lets the impossible value ride until it
|
|
1610
|
-
* is used; the trap surfaces at the assignment instead). Unit sources
|
|
1611
|
-
* only — they are pure, so the nullary helper evaluates nothing. */
|
|
1612
1367
|
strandedUnitTrap(expr: IrExpr, expected: IrType, loc: SrcLoc): IrExpr | null;
|
|
1613
|
-
/** The STRANDED-SOURCE trap: a checker-approved value flowing into a
|
|
1614
|
-
* union that cannot represent it (armTag < 0, no class widening, no
|
|
1615
|
-
* width lift). Only shapes that PROVE a lying assertion trap: unit
|
|
1616
|
-
* sources (null/undefined literals smuggled through `null!` / `as any`
|
|
1617
|
-
* casts), and record/array sources with ZERO same-family width-lift
|
|
1618
|
-
* candidates among the arms — an AMBIGUOUS lift (several candidates)
|
|
1619
|
-
* stays a compile fence, because honest code lands there. The interned
|
|
1620
|
-
* helper evaluates the operand (JS evaluates it too) and throws the
|
|
1621
|
-
* stranded-arm TypeError verbatim. Null when the shape doesn't prove
|
|
1622
|
-
* the lie. */
|
|
1623
1368
|
strandedCoercionTrap(expr: IrExpr, expected: IrType & {
|
|
1624
1369
|
kind: "union";
|
|
1625
1370
|
}, loc: SrcLoc): IrExpr | null;
|
|
@@ -1627,65 +1372,13 @@ export declare class Lowerer {
|
|
|
1627
1372
|
kind: "record";
|
|
1628
1373
|
}, toId: string, loc: SrcLoc): string | null;
|
|
1629
1374
|
unionRetagHelper(fromId: string, toId: string, loc: SrcLoc, trappable?: ReadonlySet<number>): string | null;
|
|
1630
|
-
/** Interned `%union.narrow.<n>(u)` — the CHECKED single-arm extraction
|
|
1631
|
-
* behind `x!` on union values: the asserted arm's payload comes out
|
|
1632
|
-
* (+1 for ref arms, like any unionNarrow), and every OTHER arm throws
|
|
1633
|
-
* the catchable TypeError — divergence 38's lying-assertion stance (an
|
|
1634
|
-
* unchecked unionNarrow would misread the payload where JS lets the
|
|
1635
|
-
* impossible value flow on). Null when the target isn't a non-unit arm
|
|
1636
|
-
* of the union — those uses keep their erasure/fences. */
|
|
1637
1375
|
narrowedArmHelper(fromId: string, target: IrType, loc: SrcLoc): string | null;
|
|
1638
|
-
/** The DEFERRED-INIT field read (`stream!: T` assigned past the
|
|
1639
|
-
* constructor's top level — the slot is `T | undefined`): interned
|
|
1640
|
-
* `%deferred.read.<n>(u)` extracting the declared type. SCALAR arms
|
|
1641
|
-
* whose JS-undefined behavior a unit default reproduces read that
|
|
1642
|
-
* default — bool false (conditions are exact: undefined and false are
|
|
1643
|
-
* both falsy; only printing/strict-equality could tell) and f64 NaN
|
|
1644
|
-
* (arithmetic and conditions exact) — while string and REF arms keep
|
|
1645
|
-
* the checked-extraction TRAP: JS itself TypeErrors the first member
|
|
1646
|
-
* use of such an undefined, so the catchable TypeError at the read is
|
|
1647
|
-
* the same failure, named earlier (SEMANTICS.md). */
|
|
1648
1376
|
deferredReadHelper(fromId: string, target: IrType, loc: SrcLoc): string | null;
|
|
1649
|
-
/** True when a static value can become ONE island value: jsval itself,
|
|
1650
|
-
* anything boundary-safe (the deep JSON marshal), a record whose fields
|
|
1651
|
-
* all can (built as an island OBJECT literal, field by field), or an
|
|
1652
|
-
* array of such (built as an island ARRAY, element by element). The
|
|
1653
|
-
* lift beyond boundarySafe exists for jsval-BEARING composites —
|
|
1654
|
-
* `{ role: string; content: any[] }[]` flowing into an `any[]` slot —
|
|
1655
|
-
* which have no JSON serialization (a handle isn't JSON) but an honest
|
|
1656
|
-
* per-field construction. Recursion terminates: recursive shapes are
|
|
1657
|
-
* rejected at mapping time. */
|
|
1658
1377
|
jsvalLiftable(t: IrType, visiting?: Set<string>): boolean;
|
|
1659
|
-
/** A jsval-typed expression carrying `e`'s value into the island —
|
|
1660
|
-
* jsvalLiftable's constructive side. Primitives and JSON-safe composites
|
|
1661
|
-
* keep the jsMarshal deep copy; jsval-bearing records and arrays go
|
|
1662
|
-
* through interned per-type builder helpers (%jsin.*), so the operand is
|
|
1663
|
-
* always evaluated exactly once (as the helper's argument). */
|
|
1664
1378
|
jsvalLiftExpr(e: IrExpr, loc: SrcLoc): IrExpr;
|
|
1665
|
-
/** Interned `%jsin.union.<n>(u)` — the runtime tag switch marshaling a
|
|
1666
|
-
* union value INTO the island: unit arms become the engine's own
|
|
1667
|
-
* undefined/null (JS-exact — `{ instructions: undefined }` crossing in
|
|
1668
|
-
* has the property present and undefined, exactly what the source
|
|
1669
|
-
* spells), every other arm narrows and lifts as itself (strings by
|
|
1670
|
-
* value, JSON-safe composites as deep copies, typed arrays as engine
|
|
1671
|
-
* typed-array copies, URLs as engine URL instances). Caller must have
|
|
1672
|
-
* checked jsvalLiftable. */
|
|
1673
1379
|
unionToJsvalHelper(unionId: string, loc: SrcLoc): string;
|
|
1674
|
-
/** Interned `%jsin.rec.<n>(r)` — builds an island OBJECT from a
|
|
1675
|
-
* jsval-bearing record: marshaled key strings, each field lifted through
|
|
1676
|
-
* jsvalLiftExpr (jsval fields pass as handles, JSON-safe fields deep-copy,
|
|
1677
|
-
* nested composites recurse through their own helpers). Caller must have
|
|
1678
|
-
* checked jsvalLiftable. */
|
|
1679
1380
|
recordToJsvalHelper(shapeId: string, loc: SrcLoc): string;
|
|
1680
|
-
/** Interned `%jsin.arr.<n>(a)` — builds ONE island ARRAY from a native
|
|
1681
|
-
* array whose elements lift: out = []; for (...) out[i] = lift(a[i]);
|
|
1682
|
-
* return out. The index marshals by value like any number. Caller must
|
|
1683
|
-
* have checked jsvalLiftable of the element. */
|
|
1684
1381
|
arrayToJsvalHelper(elem: IrType, loc: SrcLoc): string;
|
|
1685
|
-
/** Interned `%jsin.elems.<n>(a)` — a NATIVE array of island handles from
|
|
1686
|
-
* a native array whose elements lift: the `any[]`-slot coercion (each
|
|
1687
|
-
* element becomes one island value; the array stays static). Null when
|
|
1688
|
-
* the element doesn't lift. */
|
|
1689
1382
|
arrayToJsvalArrayHelper(fromElem: IrType, loc: SrcLoc): string | null;
|
|
1690
1383
|
jsvalIn(e: IrExpr, node: ts.Node): IrExpr;
|
|
1691
1384
|
/** THE coercion path for values flowing into a typed slot: union arms
|
|
@@ -1822,6 +1515,7 @@ export declare class Lowerer {
|
|
|
1822
1515
|
private prefetchClassCollection;
|
|
1823
1516
|
collectClassShape(decl: ts.ClassDeclaration): void;
|
|
1824
1517
|
collectClassShapeInner(decl: ts.ClassLikeDeclaration, jsNameOverride?: string, inst?: {
|
|
1518
|
+
path: InstantiationPath;
|
|
1825
1519
|
family: ClassInfo;
|
|
1826
1520
|
name: string;
|
|
1827
1521
|
bindings: Map<ts.Symbol, IrType>;
|
|
@@ -1910,6 +1604,8 @@ export declare class Lowerer {
|
|
|
1910
1604
|
* instance table. Filled by collectClassShapeInner's family mode;
|
|
1911
1605
|
* consulted by mapType's genericClassInstance hook. */
|
|
1912
1606
|
readonly genericClassByDecl: Map<ts.ClassLikeDeclaration, GenericClassInfo>;
|
|
1607
|
+
/** Forward generic references may demand a family before its declaration turn. */
|
|
1608
|
+
readonly collectingClassDeclarations: Set<ts.ClassDeclaration>;
|
|
1913
1609
|
/** Instantiations in demand order — the member-lowering worklist run()'s
|
|
1914
1610
|
* monomorphization fixpoint drains (an instantiation's methods can
|
|
1915
1611
|
* demand further instances of either kind). */
|
|
@@ -2095,22 +1791,16 @@ export declare class Lowerer {
|
|
|
2095
1791
|
kind: "func";
|
|
2096
1792
|
};
|
|
2097
1793
|
};
|
|
2098
|
-
lowerLambda(node: ts.ArrowFunction | ts.FunctionExpression | ts.FunctionDeclaration | ts.MethodDeclaration | ts.GetAccessorDeclaration | ts.SetAccessorDeclaration): IrExpr;
|
|
1794
|
+
lowerLambda(node: ts.ArrowFunction | ts.FunctionExpression | ts.FunctionDeclaration | ts.MethodDeclaration | ts.GetAccessorDeclaration | ts.SetAccessorDeclaration, checkedReceiver?: boolean): IrExpr;
|
|
2099
1795
|
lowerArrayMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
2100
1796
|
lowerMapMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
2101
1797
|
lowerMapForEachCall(call: ts.CallExpression, receiver: IrExpr, mapT: IrType & {
|
|
2102
1798
|
kind: "map";
|
|
2103
1799
|
}): IrExpr;
|
|
2104
|
-
buildMapForEachFn(name: string, mapT: IrType & {
|
|
2105
|
-
kind: "map";
|
|
2106
|
-
}, arity: number, fnRet: IrType, loc: SrcLoc): IrFunction;
|
|
2107
1800
|
lowerSetMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
2108
1801
|
lowerSetForEachCall(call: ts.CallExpression, receiver: IrExpr, setT: IrType & {
|
|
2109
1802
|
kind: "set";
|
|
2110
1803
|
}): IrExpr;
|
|
2111
|
-
buildSetForEachFn(name: string, setT: IrType & {
|
|
2112
|
-
kind: "set";
|
|
2113
|
-
}, arity: number, fnRet: IrType, loc: SrcLoc): IrFunction;
|
|
2114
1804
|
lowerRegexLiteral(expr: ts.RegularExpressionLiteral): IrExpr;
|
|
2115
1805
|
lowerRegexMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
2116
1806
|
lowerStringMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
@@ -2211,12 +1901,10 @@ export declare class Lowerer {
|
|
|
2211
1901
|
module: string;
|
|
2212
1902
|
member: string;
|
|
2213
1903
|
}, loc: SrcLoc): IrExpr | null;
|
|
2214
|
-
lowerChildArgsArg(node: ts.Expression | undefined, loc: SrcLoc): IrExpr;
|
|
2215
1904
|
lowerSpawnSyncCall(expr: ts.CallExpression, loc: SrcLoc): IrExpr;
|
|
2216
1905
|
lowerSpawnCall(expr: ts.CallExpression, loc: SrcLoc): IrExpr;
|
|
2217
1906
|
lowerExecFileCall(expr: ts.CallExpression, loc: SrcLoc): IrExpr;
|
|
2218
1907
|
lowerExecSyncCall(expr: ts.CallExpression, shell: boolean, loc: SrcLoc): IrExpr;
|
|
2219
|
-
recordToEnvPairs(node: ts.Expression): IrExpr;
|
|
2220
1908
|
envToPairsHelper(shapeId: string, loc: SrcLoc): string | null;
|
|
2221
1909
|
lowerJsonMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
2222
1910
|
fencedBuiltinImportOf(ident: ts.Identifier): string | null;
|
|
@@ -2258,12 +1946,11 @@ export declare class Lowerer {
|
|
|
2258
1946
|
lowerErrorCodeProperty(expr: ts.PropertyAccessExpression): IrExpr | null;
|
|
2259
1947
|
lowerStringDecoderMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
2260
1948
|
lowerReadlineMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
strdecHelper(op: "write" | "end" | "endChunk" | "endString" | "writeString", shapeId: string, loc: SrcLoc): string;
|
|
1949
|
+
lowerDiagnosticsChannelMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
1950
|
+
lowerAsyncLocalStorageMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
1951
|
+
lowerDiagnosticsChannelProperty(access: ts.PropertyAccessExpression): IrExpr | null;
|
|
1952
|
+
lowerTracingChannelMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
1953
|
+
lowerTracingChannelProperty(access: ts.PropertyAccessExpression): IrExpr | null;
|
|
2267
1954
|
lowerProcessProperty(expr: ts.PropertyAccessExpression): IrExpr | null;
|
|
2268
1955
|
lowerFsConstantsProperty(expr: ts.PropertyAccessExpression): IrExpr | null;
|
|
2269
1956
|
lowerBuiltinConstantsProperty(expr: ts.PropertyAccessExpression): IrExpr | null;
|
|
@@ -2282,11 +1969,6 @@ export declare class Lowerer {
|
|
|
2282
1969
|
lowerTimeoutMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
2283
1970
|
registerPromisifiedBuiltinDecl(nameNode: ts.Node, init: ts.Expression | undefined): boolean;
|
|
2284
1971
|
lowerExecFileAsyncCall(expr: ts.CallExpression, loc: SrcLoc): IrExpr;
|
|
2285
|
-
execFileAsyncHelper(loc: SrcLoc): {
|
|
2286
|
-
name: string;
|
|
2287
|
-
shapeId: string;
|
|
2288
|
-
};
|
|
2289
|
-
envSnapshotHelper(shapeId: string, loc: SrcLoc): string | null;
|
|
2290
1972
|
lowerNumberStaticCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
2291
1973
|
lowerDateCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
2292
1974
|
lowerTextCodecCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|