@scriptc/compiler 0.3.6 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ambient/scriptc-node-fallback.d.ts +682 -50
- package/ambient/scriptc.d.ts +134 -0
- package/dist/backend/cycle-analysis.d.ts +1 -1
- package/dist/backend/cycle-analysis.js +1 -0
- package/dist/backend/cycle-analysis.js.map +1 -1
- package/dist/backend/cycle-analysis.test.js +13 -1
- package/dist/backend/cycle-analysis.test.js.map +1 -1
- package/dist/backend/cycle-mutability.js +16 -5
- package/dist/backend/cycle-mutability.js.map +1 -1
- package/dist/backend/executable-features.js +13 -0
- package/dist/backend/executable-features.js.map +1 -1
- package/dist/backend/immutability.test.js +1 -1
- package/dist/backend/library-pack.js +6 -0
- package/dist/backend/library-pack.js.map +1 -1
- package/dist/backend/llvm/alloc.d.ts +41 -4
- package/dist/backend/llvm/alloc.js +138 -7
- package/dist/backend/llvm/alloc.js.map +1 -1
- package/dist/backend/llvm/alloc.test.js +30 -1
- package/dist/backend/llvm/alloc.test.js.map +1 -1
- package/dist/backend/llvm/appended-array-literals.test.js +1 -1
- package/dist/backend/llvm/array-search.test.js +1 -1
- package/dist/backend/llvm/blocks.d.ts +8 -0
- package/dist/backend/llvm/blocks.js +43 -1
- package/dist/backend/llvm/blocks.js.map +1 -1
- package/dist/backend/llvm/blocks.test.js +22 -1
- package/dist/backend/llvm/blocks.test.js.map +1 -1
- package/dist/backend/llvm/byte-numbers.js +15 -5
- package/dist/backend/llvm/byte-numbers.js.map +1 -1
- package/dist/backend/llvm/bytes-alias.d.ts +14 -0
- package/dist/backend/llvm/bytes-alias.js +20 -0
- package/dist/backend/llvm/bytes-alias.js.map +1 -0
- package/dist/backend/llvm/bytes-loop-versions.d.ts +86 -0
- package/dist/backend/llvm/bytes-loop-versions.js +506 -0
- package/dist/backend/llvm/bytes-loop-versions.js.map +1 -0
- package/dist/backend/llvm/bytes-loop-versions.test.d.ts +1 -0
- package/dist/backend/llvm/bytes-loop-versions.test.js +244 -0
- package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -0
- package/dist/backend/llvm/call-lifetimes.js +50 -1
- package/dist/backend/llvm/call-lifetimes.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.test.js +34 -0
- package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/checked-narrows.test.js +1 -1
- package/dist/backend/llvm/checked-value-lifetimes.js +4 -1
- package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -1
- package/dist/backend/llvm/classes.d.ts +11 -0
- package/dist/backend/llvm/classes.js +71 -14
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/classes.test.js +58 -8
- package/dist/backend/llvm/classes.test.js.map +1 -1
- package/dist/backend/llvm/common.js +1 -0
- package/dist/backend/llvm/common.js.map +1 -1
- package/dist/backend/llvm/constant-callbacks.d.ts +5 -1
- package/dist/backend/llvm/constant-callbacks.js +55 -12
- package/dist/backend/llvm/constant-callbacks.js.map +1 -1
- package/dist/backend/llvm/constant-callbacks.test.js +88 -1
- package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
- package/dist/backend/llvm/counted-loops.d.ts +4 -0
- package/dist/backend/llvm/counted-loops.js +37 -0
- package/dist/backend/llvm/counted-loops.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.d.ts +12 -3
- package/dist/backend/llvm/dense-array-access.js +72 -14
- package/dist/backend/llvm/dense-array-access.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.test.js +59 -3
- package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
- package/dist/backend/llvm/dense-array-loops.d.ts +51 -0
- package/dist/backend/llvm/dense-array-loops.js +162 -0
- package/dist/backend/llvm/dense-array-loops.js.map +1 -0
- package/dist/backend/llvm/dense-array-loops.test.d.ts +1 -0
- package/dist/backend/llvm/dense-array-loops.test.js +128 -0
- package/dist/backend/llvm/dense-array-loops.test.js.map +1 -0
- package/dist/backend/llvm/dyn-handle-tags.test.d.ts +1 -0
- package/dist/backend/llvm/dyn-handle-tags.test.js +38 -0
- package/dist/backend/llvm/dyn-handle-tags.test.js.map +1 -0
- package/dist/backend/llvm/dyn.d.ts +28 -4
- package/dist/backend/llvm/dyn.js +293 -178
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emit-function.d.ts +64 -0
- package/dist/backend/llvm/emit-function.js +1190 -0
- package/dist/backend/llvm/emit-function.js.map +1 -0
- package/dist/backend/llvm/emit-module.d.ts +24 -0
- package/dist/backend/llvm/emit-module.js +1535 -0
- package/dist/backend/llvm/emit-module.js.map +1 -0
- package/dist/backend/llvm/emit-statements.d.ts +58 -0
- package/dist/backend/llvm/emit-statements.js +1964 -0
- package/dist/backend/llvm/emit-statements.js.map +1 -0
- package/dist/backend/llvm/emitter.d.ts +547 -283
- package/dist/backend/llvm/emitter.js +689 -4643
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.test.js +57 -3
- package/dist/backend/llvm/emitter.test.js.map +1 -1
- package/dist/backend/llvm/expr-async.js +73 -46
- package/dist/backend/llvm/expr-async.js.map +1 -1
- package/dist/backend/llvm/expr-async.test.js +1 -1
- package/dist/backend/llvm/expr-bytes.d.ts +2 -0
- package/dist/backend/llvm/expr-bytes.js +76 -29
- package/dist/backend/llvm/expr-bytes.js.map +1 -1
- package/dist/backend/llvm/expr-callbacks.d.ts +6 -2
- package/dist/backend/llvm/expr-callbacks.js +48 -11
- package/dist/backend/llvm/expr-callbacks.js.map +1 -1
- package/dist/backend/llvm/expr-calls.d.ts +1 -1
- package/dist/backend/llvm/expr-calls.js +71 -53
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-calls.test.js +1 -1
- package/dist/backend/llvm/expr-containers.js +39 -15
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-control.js +16 -16
- package/dist/backend/llvm/expr-control.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.d.ts +3 -0
- package/dist/backend/llvm/expr-dynamic.js +67 -62
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.js +121 -25
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.test.js +2 -2
- package/dist/backend/llvm/expr-records.d.ts +1 -1
- package/dist/backend/llvm/expr-records.js +32 -11
- package/dist/backend/llvm/expr-records.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.js +54 -12
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.test.js +2 -2
- package/dist/backend/llvm/expr-stream-callbacks.js +22 -1
- package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
- package/dist/backend/llvm/int32-abi.test.js +2 -2
- package/dist/backend/llvm/integer-clones.test.js +3 -3
- package/dist/backend/llvm/integer-remainder.d.ts +34 -13
- package/dist/backend/llvm/integer-remainder.js +156 -22
- package/dist/backend/llvm/integer-remainder.js.map +1 -1
- package/dist/backend/llvm/intern-tables.test.js +1 -1
- package/dist/backend/llvm/jsval-encoding.d.ts +21 -0
- package/dist/backend/llvm/jsval-encoding.js +20 -0
- package/dist/backend/llvm/jsval-encoding.js.map +1 -0
- package/dist/backend/llvm/jsval.d.ts +12 -0
- package/dist/backend/llvm/jsval.js +488 -0
- package/dist/backend/llvm/jsval.js.map +1 -0
- package/dist/backend/llvm/lazy-captures.d.ts +12 -2
- package/dist/backend/llvm/lazy-captures.js +39 -17
- package/dist/backend/llvm/lazy-captures.js.map +1 -1
- package/dist/backend/llvm/lib-abi.js +1 -1
- package/dist/backend/llvm/lib-abi.js.map +1 -1
- package/dist/backend/llvm/lib-connect.js +1 -1
- package/dist/backend/llvm/lib-connect.js.map +1 -1
- package/dist/backend/llvm/lib-datagram.js +14 -8
- package/dist/backend/llvm/lib-datagram.js.map +1 -1
- package/dist/backend/llvm/lib-dispatch.js +189 -23
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.js +42 -13
- package/dist/backend/llvm/lib-filesystem.js.map +1 -1
- package/dist/backend/llvm/lib-http2.js +3 -3
- package/dist/backend/llvm/lib-http2.js.map +1 -1
- package/dist/backend/llvm/lib-lookup.js +2 -2
- package/dist/backend/llvm/lib-lookup.js.map +1 -1
- package/dist/backend/llvm/lib-network.js +56 -22
- package/dist/backend/llvm/lib-network.js.map +1 -1
- package/dist/backend/llvm/lib-process.js +90 -50
- package/dist/backend/llvm/lib-process.js.map +1 -1
- package/dist/backend/llvm/lib-shared.d.ts +12 -0
- package/dist/backend/llvm/lib-shared.js +187 -6
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/lib-stream.js +46 -16
- package/dist/backend/llvm/lib-stream.js.map +1 -1
- package/dist/backend/llvm/lib-test.js +43 -7
- package/dist/backend/llvm/lib-test.js.map +1 -1
- package/dist/backend/llvm/lib-tls.js +4 -9
- package/dist/backend/llvm/lib-tls.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.js +2 -2
- package/dist/backend/llvm/local-array-reads.test.js +1 -1
- package/dist/backend/llvm/local-extents.d.ts +19 -0
- package/dist/backend/llvm/local-extents.js +169 -0
- package/dist/backend/llvm/local-extents.js.map +1 -0
- package/dist/backend/llvm/local-extents.test.d.ts +1 -0
- package/dist/backend/llvm/local-extents.test.js +92 -0
- package/dist/backend/llvm/local-extents.test.js.map +1 -0
- package/dist/backend/llvm/local-union-storage.js +7 -7
- package/dist/backend/llvm/local-union-storage.js.map +1 -1
- package/dist/backend/llvm/local-union-storage.test.js +2 -2
- package/dist/backend/llvm/map-entry-fusion.test.js +1 -1
- package/dist/backend/llvm/map-number-lookup.js +2 -2
- package/dist/backend/llvm/map-number-lookup.test.js +2 -2
- package/dist/backend/llvm/map-read-lifetimes.test.js +2 -2
- package/dist/backend/llvm/narrow-guards.d.ts +38 -0
- package/dist/backend/llvm/narrow-guards.js +151 -0
- package/dist/backend/llvm/narrow-guards.js.map +1 -0
- package/dist/backend/llvm/nullable-unions.d.ts +64 -6
- package/dist/backend/llvm/nullable-unions.js +103 -6
- package/dist/backend/llvm/nullable-unions.js.map +1 -1
- package/dist/backend/llvm/nullable-unions.test.d.ts +1 -0
- package/dist/backend/llvm/nullable-unions.test.js +65 -0
- package/dist/backend/llvm/nullable-unions.test.js.map +1 -0
- package/dist/backend/llvm/publish.d.ts +4 -0
- package/dist/backend/llvm/publish.js +14 -2
- package/dist/backend/llvm/publish.js.map +1 -1
- package/dist/backend/llvm/publish.test.js +1 -1
- package/dist/backend/llvm/receivers.d.ts +31 -0
- package/dist/backend/llvm/receivers.js +395 -0
- package/dist/backend/llvm/receivers.js.map +1 -0
- package/dist/backend/llvm/record-results.d.ts +12 -1
- package/dist/backend/llvm/record-results.js +64 -4
- package/dist/backend/llvm/record-results.js.map +1 -1
- package/dist/backend/llvm/reference-effects.js +9 -0
- package/dist/backend/llvm/reference-effects.js.map +1 -1
- package/dist/backend/llvm/reference-writes.d.ts +4 -0
- package/dist/backend/llvm/reference-writes.js +142 -6
- package/dist/backend/llvm/reference-writes.js.map +1 -1
- package/dist/backend/llvm/reference-writes.test.d.ts +1 -0
- package/dist/backend/llvm/reference-writes.test.js +88 -0
- package/dist/backend/llvm/reference-writes.test.js.map +1 -0
- package/dist/backend/llvm/regex-matchers.d.ts +8 -0
- package/dist/backend/llvm/regex-matchers.js +33 -0
- package/dist/backend/llvm/regex-matchers.js.map +1 -1
- package/dist/backend/llvm/regex-matchers.test.js +23 -1
- package/dist/backend/llvm/regex-matchers.test.js.map +1 -1
- package/dist/backend/llvm/regions.d.ts +1 -1
- package/dist/backend/llvm/regions.js +9 -6
- package/dist/backend/llvm/regions.js.map +1 -1
- package/dist/backend/llvm/regions.test.js +1 -1
- package/dist/backend/llvm/shapes.d.ts +66 -43
- package/dist/backend/llvm/shapes.js +280 -21
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/shapes.test.js +37 -3
- package/dist/backend/llvm/shapes.test.js.map +1 -1
- package/dist/backend/llvm/split-loops.js +2 -2
- package/dist/backend/llvm/split-loops.js.map +1 -1
- package/dist/backend/llvm/stack-objects.d.ts +26 -6
- package/dist/backend/llvm/stack-objects.js +133 -10
- package/dist/backend/llvm/stack-objects.js.map +1 -1
- package/dist/backend/llvm/stack-objects.test.js +55 -1
- package/dist/backend/llvm/stack-objects.test.js.map +1 -1
- package/dist/backend/llvm/stack-unions.test.js +1 -1
- package/dist/backend/llvm/string-construction.test.js +1 -1
- package/dist/backend/llvm/string-lifetimes.test.js +15 -14
- package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/string-slices.d.ts +25 -0
- package/dist/backend/llvm/string-slices.js +207 -1
- package/dist/backend/llvm/string-slices.js.map +1 -1
- package/dist/backend/llvm/string-slices.test.js +139 -2
- package/dist/backend/llvm/string-slices.test.js.map +1 -1
- package/dist/backend/llvm/switch-dispatch.test.js +2 -2
- package/dist/backend/llvm/thread-slots.d.ts +5 -0
- package/dist/backend/llvm/thread-slots.js +142 -0
- package/dist/backend/llvm/thread-slots.js.map +1 -0
- package/dist/backend/llvm/thread-slots.test.d.ts +1 -0
- package/dist/backend/llvm/thread-slots.test.js +110 -0
- package/dist/backend/llvm/thread-slots.test.js.map +1 -0
- package/dist/backend/llvm/union-repr.d.ts +7 -7
- package/dist/backend/llvm/union-repr.js +18 -2
- package/dist/backend/llvm/union-repr.js.map +1 -1
- package/dist/backend/llvm/union-retype.test.js +17 -3
- package/dist/backend/llvm/union-retype.test.js.map +1 -1
- package/dist/backend/llvm/walkers.d.ts +2 -2
- package/dist/backend/llvm/walkers.js +51 -26
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/llvm/wasm-modules.d.ts +16 -0
- package/dist/backend/llvm/wasm-modules.js +66 -0
- package/dist/backend/llvm/wasm-modules.js.map +1 -0
- package/dist/backend/llvm/wrapping-sums.d.ts +7 -0
- package/dist/backend/llvm/wrapping-sums.js +11 -3
- package/dist/backend/llvm/wrapping-sums.js.map +1 -1
- package/dist/backend/mangle.d.ts +7 -0
- package/dist/backend/mangle.js +11 -0
- package/dist/backend/mangle.js.map +1 -1
- package/dist/backend/may-throw.d.ts +3 -0
- package/dist/backend/may-throw.js +4 -2
- package/dist/backend/may-throw.js.map +1 -1
- package/dist/backend/may-throw.test.js +1 -1
- package/dist/backend/native/contracts.d.ts +37 -0
- package/dist/backend/native/executable.js +192 -137
- package/dist/backend/native/executable.js.map +1 -1
- package/dist/backend/native/library.js +1 -0
- package/dist/backend/native/library.js.map +1 -1
- package/dist/backend/native/runtime-inputs.d.ts +1 -1
- package/dist/backend/native/runtime-inputs.js +1 -0
- package/dist/backend/native/runtime-inputs.js.map +1 -1
- package/dist/backend/native-link-info-core.d.ts +30 -0
- package/dist/backend/native-link-info-core.js.map +1 -1
- package/dist/backend/publication.test.js +1 -1
- package/dist/backend/runtime-pack-core.d.ts +9 -1
- package/dist/backend/runtime-pack-core.js +10 -1
- package/dist/backend/runtime-pack-core.js.map +1 -1
- package/dist/backend/runtime-pack-native.js +1 -1
- package/dist/backend/runtime-pack-native.js.map +1 -1
- package/dist/backend/runtime-pack-native.test.d.ts +1 -0
- package/dist/backend/runtime-pack-native.test.js +31 -0
- package/dist/backend/runtime-pack-native.test.js.map +1 -0
- package/dist/backend/runtime-pack-targets.test.js +5 -0
- package/dist/backend/runtime-pack-targets.test.js.map +1 -1
- package/dist/backend/runtime-pack.test.js +5 -0
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/backend/stack-observations.d.ts +22 -0
- package/dist/backend/stack-observations.js +382 -0
- package/dist/backend/stack-observations.js.map +1 -0
- package/dist/backend/stack-observations.test.d.ts +1 -0
- package/dist/backend/stack-observations.test.js +233 -0
- package/dist/backend/stack-observations.test.js.map +1 -0
- package/dist/backend/target-diagnostics.js +8 -0
- package/dist/backend/target-diagnostics.js.map +1 -1
- package/dist/backend/target-diagnostics.test.js +1 -1
- package/dist/backend/warm-cache.js +5 -0
- package/dist/backend/warm-cache.js.map +1 -1
- package/dist/backend/young-nursery.d.ts +7 -0
- package/dist/backend/young-nursery.js +10 -0
- package/dist/backend/young-nursery.js.map +1 -0
- package/dist/cli/command.js +44 -4
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/usage.d.ts +11 -1
- package/dist/cli/usage.js +20 -1
- package/dist/cli/usage.js.map +1 -1
- package/dist/compat/fetch-profile.js +10 -1
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/compile-types.d.ts +13 -0
- package/dist/contracts/check.js +24 -6
- package/dist/contracts/check.js.map +1 -1
- package/dist/contracts/int32-elements.d.ts +115 -0
- package/dist/contracts/int32-elements.js +1179 -0
- package/dist/contracts/int32-elements.js.map +1 -0
- package/dist/coverage/report.d.ts +16 -0
- package/dist/coverage/report.js +182 -1
- package/dist/coverage/report.js.map +1 -1
- package/dist/coverage/surface-manifest.js +16 -3
- package/dist/coverage/surface-manifest.js.map +1 -1
- package/dist/coverage/verdict-cache.d.ts +2 -0
- package/dist/coverage/verdict-cache.js +12 -0
- package/dist/coverage/verdict-cache.js.map +1 -1
- package/dist/coverage/verdict-cache.test.js +2 -1
- package/dist/coverage/verdict-cache.test.js.map +1 -1
- package/dist/diagnostics/diagnostic.d.ts +10 -6
- package/dist/diagnostics/diagnostic.js +29 -21
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/diagnostics/envelope.d.ts +39 -2
- package/dist/diagnostics/envelope.js.map +1 -1
- package/dist/diagnostics/render.d.ts +7 -0
- package/dist/diagnostics/render.js +50 -13
- package/dist/diagnostics/render.js.map +1 -1
- package/dist/diagnostics/render.test.d.ts +1 -0
- package/dist/diagnostics/render.test.js +49 -0
- package/dist/diagnostics/render.test.js.map +1 -0
- package/dist/executable/executable-cache.d.ts +17 -0
- package/dist/executable/executable-cache.js +13 -1
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/executable/executable-cache.test.js +7 -1
- package/dist/executable/executable-cache.test.js.map +1 -1
- package/dist/executable/prepare.js +2 -1
- package/dist/executable/prepare.js.map +1 -1
- package/dist/frontend/analysis.js +6 -1
- package/dist/frontend/analysis.js.map +1 -1
- package/dist/frontend/builtin-modules.d.ts +16 -2
- package/dist/frontend/builtin-modules.js +40 -7
- package/dist/frontend/builtin-modules.js.map +1 -1
- package/dist/frontend/cjs-syntax.js +52 -51
- package/dist/frontend/cjs-syntax.js.map +1 -1
- package/dist/frontend/contract-types.d.ts +3 -0
- package/dist/frontend/contract-types.js +36 -7
- package/dist/frontend/contract-types.js.map +1 -1
- package/dist/frontend/experimental-import.d.ts +5 -1
- package/dist/frontend/experimental-import.js +26 -7
- package/dist/frontend/experimental-import.js.map +1 -1
- package/dist/frontend/fork-target.js +20 -22
- package/dist/frontend/fork-target.js.map +1 -1
- package/dist/frontend/fork-target.test.js +2 -1
- package/dist/frontend/fork-target.test.js.map +1 -1
- package/dist/frontend/function-completion.js +6 -6
- package/dist/frontend/function-completion.js.map +1 -1
- package/dist/frontend/helper-tokens.js +15 -3
- package/dist/frontend/helper-tokens.js.map +1 -1
- package/dist/frontend/helper-tokens.test.js +7 -1
- package/dist/frontend/helper-tokens.test.js.map +1 -1
- package/dist/frontend/inferred-js-diagnostics.js +14 -17
- package/dist/frontend/inferred-js-diagnostics.js.map +1 -1
- package/dist/frontend/input-tracker.d.ts +3 -0
- package/dist/frontend/input-tracker.js +32 -3
- package/dist/frontend/input-tracker.js.map +1 -1
- package/dist/frontend/lib-contract.js +36 -32
- package/dist/frontend/lib-contract.js.map +1 -1
- package/dist/frontend/lib-exports.js +3 -3
- package/dist/frontend/lib-exports.js.map +1 -1
- package/dist/frontend/lowering/array-values.d.ts +8 -3
- package/dist/frontend/lowering/array-values.js +60 -11
- package/dist/frontend/lowering/array-values.js.map +1 -1
- package/dist/frontend/lowering/assert-instances.js +4 -4
- package/dist/frontend/lowering/assert-instances.js.map +1 -1
- package/dist/frontend/lowering/assertion-identity.d.ts +12 -0
- package/dist/frontend/lowering/assertion-identity.js +70 -0
- package/dist/frontend/lowering/assertion-identity.js.map +1 -0
- package/dist/frontend/lowering/assertion-members.d.ts +28 -0
- package/dist/frontend/lowering/assertion-members.js +185 -0
- package/dist/frontend/lowering/assertion-members.js.map +1 -0
- package/dist/frontend/lowering/binding-analysis.js +27 -20
- package/dist/frontend/lowering/binding-analysis.js.map +1 -1
- package/dist/frontend/lowering/builtin-calls.js +63 -5
- package/dist/frontend/lowering/builtin-calls.js.map +1 -1
- package/dist/frontend/lowering/builtin-function-fences.d.ts +14 -0
- package/dist/frontend/lowering/builtin-function-fences.js +42 -0
- package/dist/frontend/lowering/builtin-function-fences.js.map +1 -0
- package/dist/frontend/lowering/builtins/arguments.js +1 -1
- package/dist/frontend/lowering/builtins/arguments.js.map +1 -1
- package/dist/frontend/lowering/builtins/async-context.js +53 -52
- package/dist/frontend/lowering/builtins/async-context.js.map +1 -1
- package/dist/frontend/lowering/builtins/atomics.js +6 -6
- package/dist/frontend/lowering/builtins/atomics.js.map +1 -1
- package/dist/frontend/lowering/builtins/blob.js +8 -6
- package/dist/frontend/lowering/builtins/blob.js.map +1 -1
- package/dist/frontend/lowering/builtins/builtin-class-dyn.d.ts +23 -0
- package/dist/frontend/lowering/builtins/builtin-class-dyn.js +156 -0
- package/dist/frontend/lowering/builtins/builtin-class-dyn.js.map +1 -0
- package/dist/frontend/lowering/builtins/callable-aliases.js +16 -5
- package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process-async.js +7 -7
- package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process-methods.d.ts +6 -4
- package/dist/frontend/lowering/builtins/child-process-methods.js +310 -57
- package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process-sync.js +16 -10
- package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process.d.ts +6 -4
- package/dist/frontend/lowering/builtins/child-process.js +85 -61
- package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
- package/dist/frontend/lowering/builtins/class-values.d.ts +60 -0
- package/dist/frontend/lowering/builtins/class-values.js +226 -0
- package/dist/frontend/lowering/builtins/class-values.js.map +1 -0
- package/dist/frontend/lowering/builtins/compression.d.ts +9 -0
- package/dist/frontend/lowering/builtins/compression.js +107 -44
- package/dist/frontend/lowering/builtins/compression.js.map +1 -1
- package/dist/frontend/lowering/builtins/constants.d.ts +9 -1
- package/dist/frontend/lowering/builtins/constants.js +28 -7
- package/dist/frontend/lowering/builtins/constants.js.map +1 -1
- package/dist/frontend/lowering/builtins/crypto.d.ts +19 -0
- package/dist/frontend/lowering/builtins/crypto.js +211 -37
- package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
- package/dist/frontend/lowering/builtins/dates.d.ts +7 -1
- package/dist/frontend/lowering/builtins/dates.js +92 -16
- package/dist/frontend/lowering/builtins/dates.js.map +1 -1
- package/dist/frontend/lowering/builtins/disposable-stack.d.ts +18 -0
- package/dist/frontend/lowering/builtins/disposable-stack.js +137 -0
- package/dist/frontend/lowering/builtins/disposable-stack.js.map +1 -0
- package/dist/frontend/lowering/builtins/environment.js +3 -3
- package/dist/frontend/lowering/builtins/environment.js.map +1 -1
- package/dist/frontend/lowering/builtins/errors.d.ts +14 -10
- package/dist/frontend/lowering/builtins/errors.js +169 -3
- package/dist/frontend/lowering/builtins/errors.js.map +1 -1
- package/dist/frontend/lowering/builtins/filesystem-calls.js +128 -116
- package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
- package/dist/frontend/lowering/builtins/filesystem.js +77 -77
- package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
- package/dist/frontend/lowering/builtins/fs-glob.js +3 -3
- package/dist/frontend/lowering/builtins/fs-glob.js.map +1 -1
- package/dist/frontend/lowering/builtins/fs-streams.js +10 -11
- package/dist/frontend/lowering/builtins/fs-streams.js.map +1 -1
- package/dist/frontend/lowering/builtins/ipc.js +45 -8
- package/dist/frontend/lowering/builtins/ipc.js.map +1 -1
- package/dist/frontend/lowering/builtins/json.js +232 -24
- package/dist/frontend/lowering/builtins/json.js.map +1 -1
- package/dist/frontend/lowering/builtins/key-object.js +4 -4
- package/dist/frontend/lowering/builtins/key-object.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-bindings.d.ts +8 -0
- package/dist/frontend/lowering/builtins/module-bindings.js +71 -22
- package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-calls.js +55 -44
- package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-resolution.d.ts +4 -3
- package/dist/frontend/lowering/builtins/module-resolution.js +24 -23
- package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
- package/dist/frontend/lowering/builtins/navigator.d.ts +13 -0
- package/dist/frontend/lowering/builtins/navigator.js +40 -0
- package/dist/frontend/lowering/builtins/navigator.js.map +1 -0
- package/dist/frontend/lowering/builtins/net-address.d.ts +19 -0
- package/dist/frontend/lowering/builtins/net-address.js +156 -0
- package/dist/frontend/lowering/builtins/net-address.js.map +1 -0
- package/dist/frontend/lowering/builtins/numbers.js +25 -9
- package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
- package/dist/frontend/lowering/builtins/operating-system.d.ts +4 -0
- package/dist/frontend/lowering/builtins/operating-system.js +25 -12
- package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
- package/dist/frontend/lowering/builtins/performance.d.ts +12 -0
- package/dist/frontend/lowering/builtins/performance.js +259 -8
- package/dist/frontend/lowering/builtins/performance.js.map +1 -1
- package/dist/frontend/lowering/builtins/process.d.ts +32 -1
- package/dist/frontend/lowering/builtins/process.js +461 -99
- package/dist/frontend/lowering/builtins/process.js.map +1 -1
- package/dist/frontend/lowering/builtins/promises.d.ts +5 -1
- package/dist/frontend/lowering/builtins/promises.js +326 -43
- package/dist/frontend/lowering/builtins/promises.js.map +1 -1
- package/dist/frontend/lowering/builtins/promisify-callback.d.ts +37 -0
- package/dist/frontend/lowering/builtins/promisify-callback.js +320 -0
- package/dist/frontend/lowering/builtins/promisify-callback.js.map +1 -0
- package/dist/frontend/lowering/builtins/properties.js +37 -1
- package/dist/frontend/lowering/builtins/properties.js.map +1 -1
- package/dist/frontend/lowering/builtins/querystring.js +14 -14
- package/dist/frontend/lowering/builtins/querystring.js.map +1 -1
- package/dist/frontend/lowering/builtins/readline.d.ts +12 -2
- package/dist/frontend/lowering/builtins/readline.js +136 -39
- package/dist/frontend/lowering/builtins/readline.js.map +1 -1
- package/dist/frontend/lowering/builtins/receiver-types.js +3 -5
- package/dist/frontend/lowering/builtins/receiver-types.js.map +1 -1
- package/dist/frontend/lowering/builtins/reflection.js +16 -14
- package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
- package/dist/frontend/lowering/builtins/runtime-constructor.d.ts +26 -0
- package/dist/frontend/lowering/builtins/runtime-constructor.js +165 -0
- package/dist/frontend/lowering/builtins/runtime-constructor.js.map +1 -0
- package/dist/frontend/lowering/builtins/strings.js +101 -12
- package/dist/frontend/lowering/builtins/strings.js.map +1 -1
- package/dist/frontend/lowering/builtins/text-codecs.js +41 -38
- package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
- package/dist/frontend/lowering/builtins/timers.js +75 -30
- package/dist/frontend/lowering/builtins/timers.js.map +1 -1
- package/dist/frontend/lowering/builtins/url.d.ts +3 -0
- package/dist/frontend/lowering/builtins/url.js +120 -17
- package/dist/frontend/lowering/builtins/url.js.map +1 -1
- package/dist/frontend/lowering/builtins/util-types.js +20 -4
- package/dist/frontend/lowering/builtins/util-types.js.map +1 -1
- package/dist/frontend/lowering/builtins/v8.d.ts +11 -0
- package/dist/frontend/lowering/builtins/v8.js +105 -0
- package/dist/frontend/lowering/builtins/v8.js.map +1 -0
- package/dist/frontend/lowering/builtins/webassembly.d.ts +33 -0
- package/dist/frontend/lowering/builtins/webassembly.js +388 -0
- package/dist/frontend/lowering/builtins/webassembly.js.map +1 -0
- package/dist/frontend/lowering/builtins/webcrypto.d.ts +20 -0
- package/dist/frontend/lowering/builtins/webcrypto.js +112 -0
- package/dist/frontend/lowering/builtins/webcrypto.js.map +1 -0
- package/dist/frontend/lowering/builtins/workers.d.ts +12 -0
- package/dist/frontend/lowering/builtins/workers.js +193 -8
- package/dist/frontend/lowering/builtins/workers.js.map +1 -1
- package/dist/frontend/lowering/call-arguments.js +69 -14
- package/dist/frontend/lowering/call-arguments.js.map +1 -1
- package/dist/frontend/lowering/call-signatures.d.ts +19 -1
- package/dist/frontend/lowering/call-signatures.js +254 -47
- package/dist/frontend/lowering/call-signatures.js.map +1 -1
- package/dist/frontend/lowering/checked-promise-all.d.ts +3 -0
- package/dist/frontend/lowering/checked-promise-all.js +1 -1
- package/dist/frontend/lowering/checked-promise-all.js.map +1 -1
- package/dist/frontend/lowering/cjs-exports-object.d.ts +53 -0
- package/dist/frontend/lowering/cjs-exports-object.js +528 -0
- package/dist/frontend/lowering/cjs-exports-object.js.map +1 -0
- package/dist/frontend/lowering/cjs-inline-require.d.ts +86 -0
- package/dist/frontend/lowering/cjs-inline-require.js +314 -0
- package/dist/frontend/lowering/cjs-inline-require.js.map +1 -0
- package/dist/frontend/lowering/cjs-tsc-interop.d.ts +28 -0
- package/dist/frontend/lowering/cjs-tsc-interop.js +208 -0
- package/dist/frontend/lowering/cjs-tsc-interop.js.map +1 -0
- package/dist/frontend/lowering/class-attributes.d.ts +19 -0
- package/dist/frontend/lowering/class-attributes.js +378 -0
- package/dist/frontend/lowering/class-attributes.js.map +1 -0
- package/dist/frontend/lowering/class-callbacks.d.ts +3 -1
- package/dist/frontend/lowering/class-callbacks.js +21 -10
- package/dist/frontend/lowering/class-callbacks.js.map +1 -1
- package/dist/frontend/lowering/class-construction.js +49 -4
- package/dist/frontend/lowering/class-construction.js.map +1 -1
- package/dist/frontend/lowering/class-descriptors.d.ts +2 -0
- package/dist/frontend/lowering/class-descriptors.js +8 -8
- package/dist/frontend/lowering/class-descriptors.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +64 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.js +1115 -89
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-instance-constructor.js +1 -1
- package/dist/frontend/lowering/class-instance-constructor.js.map +1 -1
- package/dist/frontend/lowering/class-iterables.d.ts +11 -0
- package/dist/frontend/lowering/class-iterables.js +31 -0
- package/dist/frontend/lowering/class-iterables.js.map +1 -0
- package/dist/frontend/lowering/class-method-mutations.js +73 -35
- package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
- package/dist/frontend/lowering/class-method-values.js +56 -10
- package/dist/frontend/lowering/class-method-values.js.map +1 -1
- package/dist/frontend/lowering/class-protocol-dispatch.js +24 -22
- package/dist/frontend/lowering/class-protocol-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-protocols.js +25 -44
- package/dist/frontend/lowering/class-protocols.js.map +1 -1
- package/dist/frontend/lowering/class-prototypes.d.ts +6 -0
- package/dist/frontend/lowering/class-prototypes.js +80 -18
- package/dist/frontend/lowering/class-prototypes.js.map +1 -1
- package/dist/frontend/lowering/class-runtime-statics.js +1 -1
- package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
- package/dist/frontend/lowering/class-static-data.js +2 -2
- package/dist/frontend/lowering/class-static-data.js.map +1 -1
- package/dist/frontend/lowering/class-to-primitive.d.ts +25 -0
- package/dist/frontend/lowering/class-to-primitive.js +261 -0
- package/dist/frontend/lowering/class-to-primitive.js.map +1 -0
- package/dist/frontend/lowering/class-unions.d.ts +25 -0
- package/dist/frontend/lowering/class-unions.js +102 -1
- package/dist/frontend/lowering/class-unions.js.map +1 -1
- package/dist/frontend/lowering/code-generation.d.ts +14 -0
- package/dist/frontend/lowering/code-generation.js +127 -0
- package/dist/frontend/lowering/code-generation.js.map +1 -0
- package/dist/frontend/lowering/coercions/function-adapters.d.ts +16 -2
- package/dist/frontend/lowering/coercions/function-adapters.js +145 -3
- package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural-plans.js +25 -3
- package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural.js +35 -3
- package/dist/frontend/lowering/coercions/structural.js.map +1 -1
- package/dist/frontend/lowering/coercions/unions.d.ts +15 -0
- package/dist/frontend/lowering/coercions/unions.js +57 -1
- package/dist/frontend/lowering/coercions/unions.js.map +1 -1
- package/dist/frontend/lowering/collection-ingestion.js +2 -2
- package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
- package/dist/frontend/lowering/collection-narrowing.js +2 -4
- package/dist/frontend/lowering/collection-narrowing.js.map +1 -1
- package/dist/frontend/lowering/construction-escapes.js +8 -8
- package/dist/frontend/lowering/construction-escapes.js.map +1 -1
- package/dist/frontend/lowering/construction-escapes.test.js +4 -4
- package/dist/frontend/lowering/construction-escapes.test.js.map +1 -1
- package/dist/frontend/lowering/constructor-returns.d.ts +61 -0
- package/dist/frontend/lowering/constructor-returns.js +477 -0
- package/dist/frontend/lowering/constructor-returns.js.map +1 -0
- package/dist/frontend/lowering/containers/array-callback-call.js +1 -1
- package/dist/frontend/lowering/containers/array-callback-call.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callbacks.d.ts +9 -0
- package/dist/frontend/lowering/containers/array-callbacks.js +266 -100
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
- package/dist/frontend/lowering/containers/array-concat.js +1 -1
- package/dist/frontend/lowering/containers/array-concat.js.map +1 -1
- package/dist/frontend/lowering/containers/array-construction.d.ts +0 -1
- package/dist/frontend/lowering/containers/array-construction.js +51 -13
- package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
- package/dist/frontend/lowering/containers/array-from-async.d.ts +6 -5
- package/dist/frontend/lowering/containers/array-from-async.js +159 -14
- package/dist/frontend/lowering/containers/array-from-async.js.map +1 -1
- package/dist/frontend/lowering/containers/array-methods.js +89 -77
- package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/array-pipelines.js +1 -0
- package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -1
- package/dist/frontend/lowering/containers/bytes.js +161 -101
- package/dist/frontend/lowering/containers/bytes.js.map +1 -1
- package/dist/frontend/lowering/containers/callback-arguments.d.ts +9 -1
- package/dist/frontend/lowering/containers/callback-arguments.js +55 -5
- package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
- package/dist/frontend/lowering/containers/collection-grouping.d.ts +7 -8
- package/dist/frontend/lowering/containers/collection-grouping.js +217 -26
- package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -1
- package/dist/frontend/lowering/containers/collection-methods.js +54 -25
- package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/dynamic-receivers.js +1 -1
- package/dist/frontend/lowering/containers/dynamic-receivers.js.map +1 -1
- package/dist/frontend/lowering/containers/exec-result-uses.js +2 -2
- package/dist/frontend/lowering/containers/exec-result-uses.js.map +1 -1
- package/dist/frontend/lowering/containers/for-of.d.ts +6 -0
- package/dist/frontend/lowering/containers/for-of.js +19 -19
- package/dist/frontend/lowering/containers/for-of.js.map +1 -1
- package/dist/frontend/lowering/containers/indexed-objects.js +142 -57
- package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
- package/dist/frontend/lowering/containers/iterator-helpers.d.ts +53 -4
- package/dist/frontend/lowering/containers/iterator-helpers.js +1581 -462
- package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -1
- package/dist/frontend/lowering/containers/match-row-uses.d.ts +17 -0
- package/dist/frontend/lowering/containers/match-row-uses.js +264 -0
- package/dist/frontend/lowering/containers/match-row-uses.js.map +1 -0
- package/dist/frontend/lowering/containers/string-and-regexp.d.ts +14 -0
- package/dist/frontend/lowering/containers/string-and-regexp.js +419 -30
- package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
- package/dist/frontend/lowering/containers/string-replacement.js +1 -1
- package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
- package/dist/frontend/lowering/cycle-initialization.d.ts +4 -0
- package/dist/frontend/lowering/cycle-initialization.js +39 -0
- package/dist/frontend/lowering/cycle-initialization.js.map +1 -1
- package/dist/frontend/lowering/deferred-module-initializers.js +47 -43
- package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
- package/dist/frontend/lowering/devirtualize.d.ts +1 -1
- package/dist/frontend/lowering/devirtualize.js +27 -7
- package/dist/frontend/lowering/devirtualize.js.map +1 -1
- package/dist/frontend/lowering/divergences.d.ts +0 -5
- package/dist/frontend/lowering/divergences.js +62 -125
- package/dist/frontend/lowering/divergences.js.map +1 -1
- package/dist/frontend/lowering/dyn-streams.d.ts +25 -0
- package/dist/frontend/lowering/dyn-streams.js +257 -0
- package/dist/frontend/lowering/dyn-streams.js.map +1 -0
- package/dist/frontend/lowering/error-methods.js +4 -1
- package/dist/frontend/lowering/error-methods.js.map +1 -1
- package/dist/frontend/lowering/error-name-order.d.ts +19 -0
- package/dist/frontend/lowering/error-name-order.js +93 -0
- package/dist/frontend/lowering/error-name-order.js.map +1 -0
- package/dist/frontend/lowering/expressions/array-literals.d.ts +21 -0
- package/dist/frontend/lowering/expressions/array-literals.js +703 -0
- package/dist/frontend/lowering/expressions/array-literals.js.map +1 -0
- package/dist/frontend/lowering/expressions/binary.d.ts +35 -0
- package/dist/frontend/lowering/expressions/binary.js +2483 -0
- package/dist/frontend/lowering/expressions/binary.js.map +1 -0
- package/dist/frontend/lowering/expressions/element-access.d.ts +31 -0
- package/dist/frontend/lowering/expressions/element-access.js +1797 -0
- package/dist/frontend/lowering/expressions/element-access.js.map +1 -0
- package/dist/frontend/lowering/expressions/evaluation-safety.js +4 -3
- package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
- package/dist/frontend/lowering/expressions/hosted-narrowing.d.ts +38 -0
- package/dist/frontend/lowering/expressions/hosted-narrowing.js +160 -0
- package/dist/frontend/lowering/expressions/hosted-narrowing.js.map +1 -0
- package/dist/frontend/lowering/expressions/identifiers.d.ts +4 -0
- package/dist/frontend/lowering/expressions/identifiers.js +830 -0
- package/dist/frontend/lowering/expressions/identifiers.js.map +1 -0
- package/dist/frontend/lowering/expressions/keyed-field-targets.d.ts +40 -0
- package/dist/frontend/lowering/expressions/keyed-field-targets.js +226 -0
- package/dist/frontend/lowering/expressions/keyed-field-targets.js.map +1 -0
- package/dist/frontend/lowering/expressions/narrowing.d.ts +37 -0
- package/dist/frontend/lowering/expressions/narrowing.js +1322 -0
- package/dist/frontend/lowering/expressions/narrowing.js.map +1 -0
- package/dist/frontend/lowering/expressions/native-proxy.js +4 -4
- package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
- package/dist/frontend/lowering/expressions/nullish-assignment.js +45 -0
- package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
- package/dist/frontend/lowering/expressions/object-literals.d.ts +10 -0
- package/dist/frontend/lowering/expressions/object-literals.js +253 -85
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.d.ts +2 -1
- package/dist/frontend/lowering/expressions/optional-chains.js +91 -14
- package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
- package/dist/frontend/lowering/expressions/property-access.d.ts +110 -0
- package/dist/frontend/lowering/expressions/property-access.js +3544 -0
- package/dist/frontend/lowering/expressions/property-access.js.map +1 -0
- package/dist/frontend/lowering/expressions/relational.d.ts +28 -0
- package/dist/frontend/lowering/expressions/relational.js +1679 -0
- package/dist/frontend/lowering/expressions/relational.js.map +1 -0
- package/dist/frontend/lowering/expressions/typeof.d.ts +22 -0
- package/dist/frontend/lowering/expressions/typeof.js +538 -0
- package/dist/frontend/lowering/expressions/typeof.js.map +1 -0
- package/dist/frontend/lowering/expressions/union-fields.js +1 -1
- package/dist/frontend/lowering/expressions/union-fields.js.map +1 -1
- package/dist/frontend/lowering/expressions/updates.d.ts +21 -0
- package/dist/frontend/lowering/expressions/updates.js +780 -0
- package/dist/frontend/lowering/expressions/updates.js.map +1 -0
- package/dist/frontend/lowering/function-context.d.ts +10 -0
- package/dist/frontend/lowering/function-context.js +11 -1
- package/dist/frontend/lowering/function-context.js.map +1 -1
- package/dist/frontend/lowering/function-returns.js +52 -28
- package/dist/frontend/lowering/function-returns.js.map +1 -1
- package/dist/frontend/lowering/general-streams.d.ts +25 -0
- package/dist/frontend/lowering/general-streams.js +108 -0
- package/dist/frontend/lowering/general-streams.js.map +1 -0
- package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +7 -0
- package/dist/frontend/lowering/generator-dynamic-dispatch.js +172 -69
- package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/generic-functions.d.ts +39 -0
- package/dist/frontend/lowering/generic-functions.js +393 -75
- package/dist/frontend/lowering/generic-functions.js.map +1 -1
- package/dist/frontend/lowering/import-meta.js +2 -2
- package/dist/frontend/lowering/import-meta.js.map +1 -1
- package/dist/frontend/lowering/intern-tables.js +10 -9
- package/dist/frontend/lowering/intern-tables.js.map +1 -1
- package/dist/frontend/lowering/iterator-adapters.d.ts +19 -0
- package/dist/frontend/lowering/iterator-adapters.js +331 -3
- package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
- package/dist/frontend/lowering/js-class-fields.d.ts +28 -0
- package/dist/frontend/lowering/js-class-fields.js +170 -0
- package/dist/frontend/lowering/js-class-fields.js.map +1 -0
- package/dist/frontend/lowering/js-dynamic-objects.d.ts +15 -0
- package/dist/frontend/lowering/js-dynamic-objects.js +299 -0
- package/dist/frontend/lowering/js-dynamic-objects.js.map +1 -0
- package/dist/frontend/lowering/js-dynamic-objects.test.d.ts +1 -0
- package/dist/frontend/lowering/js-dynamic-objects.test.js +35 -0
- package/dist/frontend/lowering/js-dynamic-objects.test.js.map +1 -0
- package/dist/frontend/lowering/json-require.d.ts +22 -0
- package/dist/frontend/lowering/json-require.js +131 -0
- package/dist/frontend/lowering/json-require.js.map +1 -0
- package/dist/frontend/lowering/key-order-witness.d.ts +44 -0
- package/dist/frontend/lowering/key-order-witness.js +641 -0
- package/dist/frontend/lowering/key-order-witness.js.map +1 -0
- package/dist/frontend/lowering/key-order-witness.test.d.ts +1 -0
- package/dist/frontend/lowering/key-order-witness.test.js +239 -0
- package/dist/frontend/lowering/key-order-witness.test.js.map +1 -0
- package/dist/frontend/lowering/lifetime-regions.js +7 -7
- package/dist/frontend/lowering/lifetime-regions.js.map +1 -1
- package/dist/frontend/lowering/lower-assert.js +61 -60
- package/dist/frontend/lowering/lower-assert.js.map +1 -1
- package/dist/frontend/lowering/lower-async-iteration.d.ts +10 -1
- package/dist/frontend/lowering/lower-async-iteration.js +34 -6
- package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
- package/dist/frontend/lowering/lower-builtin-values.d.ts +5 -0
- package/dist/frontend/lowering/lower-builtin-values.js +32 -3
- package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.js +1239 -442
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +50 -3
- package/dist/frontend/lowering/lower-classes.js +1473 -468
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-comptime.d.ts +4 -2
- package/dist/frontend/lowering/lower-comptime.js +111 -13
- package/dist/frontend/lowering/lower-comptime.js.map +1 -1
- package/dist/frontend/lowering/lower-console.js +13 -11
- package/dist/frontend/lowering/lower-console.js.map +1 -1
- package/dist/frontend/lowering/lower-dgram.d.ts +10 -0
- package/dist/frontend/lowering/lower-dgram.js +179 -8
- package/dist/frontend/lowering/lower-dgram.js.map +1 -1
- package/dist/frontend/lowering/lower-enums.js +113 -14
- package/dist/frontend/lowering/lower-enums.js.map +1 -1
- package/dist/frontend/lowering/lower-event-emitter.d.ts +16 -7
- package/dist/frontend/lowering/lower-event-emitter.js +258 -70
- package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
- package/dist/frontend/lowering/lower-event-target.js +2 -2
- package/dist/frontend/lowering/lower-event-target.js.map +1 -1
- package/dist/frontend/lowering/lower-expando.js +17 -13
- package/dist/frontend/lowering/lower-expando.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +188 -186
- package/dist/frontend/lowering/lower-exprs.js +1481 -12489
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-functions.js +68 -22
- package/dist/frontend/lowering/lower-functions.js.map +1 -1
- package/dist/frontend/lowering/lower-generators.d.ts +6 -0
- package/dist/frontend/lowering/lower-generators.js +29 -16
- package/dist/frontend/lowering/lower-generators.js.map +1 -1
- package/dist/frontend/lowering/lower-global-value.js +5 -1
- package/dist/frontend/lowering/lower-global-value.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.js +331 -96
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-mixins.js +23 -20
- package/dist/frontend/lowering/lower-mixins.js.map +1 -1
- package/dist/frontend/lowering/lower-mock.d.ts +8 -1
- package/dist/frontend/lowering/lower-mock.js +185 -18
- package/dist/frontend/lowering/lower-mock.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.js +267 -61
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-namespaces.d.ts +6 -0
- package/dist/frontend/lowering/lower-namespaces.js +45 -33
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
- package/dist/frontend/lowering/lower-node-module.d.ts +16 -0
- package/dist/frontend/lowering/lower-node-module.js +147 -14
- package/dist/frontend/lowering/lower-node-module.js.map +1 -1
- package/dist/frontend/lowering/lower-server.d.ts +6 -6
- package/dist/frontend/lowering/lower-server.js +488 -100
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stdlib.d.ts +4 -0
- package/dist/frontend/lowering/lower-stdlib.js +151 -109
- package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +28 -2
- package/dist/frontend/lowering/lower-stmts.js +1541 -391
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.d.ts +3 -0
- package/dist/frontend/lowering/lower-stream.js +398 -56
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lower-test.d.ts +3 -0
- package/dist/frontend/lowering/lower-test.js +437 -62
- package/dist/frontend/lowering/lower-test.js.map +1 -1
- package/dist/frontend/lowering/lower-timers.js +80 -32
- package/dist/frontend/lowering/lower-timers.js.map +1 -1
- package/dist/frontend/lowering/lower-url.js +1 -1
- package/dist/frontend/lowering/lower-url.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +399 -26
- package/dist/frontend/lowering/lowerer.js +1910 -305
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/lowerer.test.js +10 -4
- package/dist/frontend/lowering/lowerer.test.js.map +1 -1
- package/dist/frontend/lowering/maybe-promise.d.ts +46 -0
- package/dist/frontend/lowering/maybe-promise.js +249 -0
- package/dist/frontend/lowering/maybe-promise.js.map +1 -0
- package/dist/frontend/lowering/module-member-this.d.ts +3 -0
- package/dist/frontend/lowering/module-member-this.js +262 -0
- package/dist/frontend/lowering/module-member-this.js.map +1 -0
- package/dist/frontend/lowering/module-namespace-elements.js +1 -1
- package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
- package/dist/frontend/lowering/nan-coded-reads.d.ts +3 -0
- package/dist/frontend/lowering/nan-coded-reads.js +45 -32
- package/dist/frontend/lowering/nan-coded-reads.js.map +1 -1
- package/dist/frontend/lowering/narrowing-stability.d.ts +18 -3
- package/dist/frontend/lowering/narrowing-stability.js +104 -32
- package/dist/frontend/lowering/narrowing-stability.js.map +1 -1
- package/dist/frontend/lowering/native-ffi.js +11 -11
- package/dist/frontend/lowering/native-ffi.js.map +1 -1
- package/dist/frontend/lowering/object-factory-new.js +6 -8
- package/dist/frontend/lowering/object-factory-new.js.map +1 -1
- package/dist/frontend/lowering/private-brands.d.ts +46 -0
- package/dist/frontend/lowering/private-brands.js +265 -0
- package/dist/frontend/lowering/private-brands.js.map +1 -0
- package/dist/frontend/lowering/promise-executor-adapter.d.ts +11 -0
- package/dist/frontend/lowering/promise-executor-adapter.js +87 -0
- package/dist/frontend/lowering/promise-executor-adapter.js.map +1 -0
- package/dist/frontend/lowering/require-initialization.d.ts +32 -0
- package/dist/frontend/lowering/require-initialization.js +246 -0
- package/dist/frontend/lowering/require-initialization.js.map +1 -0
- package/dist/frontend/lowering/runtime-optional-bounds.js +7 -7
- package/dist/frontend/lowering/runtime-optional-bounds.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-elements.js +12 -12
- package/dist/frontend/lowering/runtime-optional-elements.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-guards.js +10 -10
- package/dist/frontend/lowering/runtime-optional-guards.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-guards.test.js +1 -1
- package/dist/frontend/lowering/runtime-optional-guards.test.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-ownership.js +10 -9
- package/dist/frontend/lowering/runtime-optional-ownership.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-provenance.js +2 -2
- package/dist/frontend/lowering/runtime-optional-provenance.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-records.d.ts +35 -0
- package/dist/frontend/lowering/runtime-optional-records.js +205 -32
- package/dist/frontend/lowering/runtime-optional-records.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-records.test.js +19 -1
- package/dist/frontend/lowering/runtime-optional-records.test.js.map +1 -1
- package/dist/frontend/lowering/sanitize-class-types.test.js +2 -2
- package/dist/frontend/lowering/split-consumers.js +4 -4
- package/dist/frontend/lowering/split-consumers.js.map +1 -1
- package/dist/frontend/lowering/static-function-names.d.ts +28 -0
- package/dist/frontend/lowering/static-function-names.js +212 -0
- package/dist/frontend/lowering/static-function-names.js.map +1 -0
- package/dist/frontend/lowering/static-this.js +6 -6
- package/dist/frontend/lowering/static-this.js.map +1 -1
- package/dist/frontend/lowering/strict-mode.d.ts +5 -0
- package/dist/frontend/lowering/strict-mode.js +31 -0
- package/dist/frontend/lowering/strict-mode.js.map +1 -0
- package/dist/frontend/lowering/string-index-bounds.js +10 -10
- package/dist/frontend/lowering/string-index-bounds.js.map +1 -1
- package/dist/frontend/lowering/string-index.d.ts +12 -0
- package/dist/frontend/lowering/string-index.js +72 -1
- package/dist/frontend/lowering/string-index.js.map +1 -1
- package/dist/frontend/lowering/surfaces.d.ts +12 -3
- package/dist/frontend/lowering/surfaces.js +252 -41
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/symbol-fields.d.ts +7 -0
- package/dist/frontend/lowering/symbol-fields.js +204 -36
- package/dist/frontend/lowering/symbol-fields.js.map +1 -1
- package/dist/frontend/lowering/symbol-methods.d.ts +2 -1
- package/dist/frontend/lowering/symbol-methods.js +24 -6
- package/dist/frontend/lowering/symbol-methods.js.map +1 -1
- package/dist/frontend/lowering/thread-slots.d.ts +13 -0
- package/dist/frontend/lowering/thread-slots.js +208 -0
- package/dist/frontend/lowering/thread-slots.js.map +1 -0
- package/dist/frontend/lowering/typed-arguments.d.ts +74 -0
- package/dist/frontend/lowering/typed-arguments.js +472 -0
- package/dist/frontend/lowering/typed-arguments.js.map +1 -0
- package/dist/frontend/lowering/union-retag.d.ts +8 -0
- package/dist/frontend/lowering/union-retag.js +27 -0
- package/dist/frontend/lowering/union-retag.js.map +1 -1
- package/dist/frontend/lowering/union-retag.test.js +24 -1
- package/dist/frontend/lowering/union-retag.test.js.map +1 -1
- package/dist/frontend/lowering/var-hoisting.js +6 -6
- package/dist/frontend/lowering/var-hoisting.js.map +1 -1
- package/dist/frontend/lowering/width-lift.d.ts +4 -0
- package/dist/frontend/mock-shapes.js +13 -6
- package/dist/frontend/mock-shapes.js.map +1 -1
- package/dist/frontend/module-source-candidates.js +1 -1
- package/dist/frontend/module-source-candidates.js.map +1 -1
- package/dist/frontend/module-source-candidates.test.js +2 -1
- package/dist/frontend/module-source-candidates.test.js.map +1 -1
- package/dist/frontend/module-syntax.js +8 -8
- package/dist/frontend/module-syntax.js.map +1 -1
- package/dist/frontend/npm-static-bundled-chunks.d.ts +51 -0
- package/dist/frontend/npm-static-bundled-chunks.js +810 -0
- package/dist/frontend/npm-static-bundled-chunks.js.map +1 -0
- package/dist/frontend/npm-static-bundled-chunks.test.d.ts +1 -0
- package/dist/frontend/npm-static-bundled-chunks.test.js +287 -0
- package/dist/frontend/npm-static-bundled-chunks.test.js.map +1 -0
- package/dist/frontend/npm-static-bundled-cjs.js +24 -23
- package/dist/frontend/npm-static-bundled-cjs.js.map +1 -1
- package/dist/frontend/npm-static-bundled-esm.d.ts +9 -0
- package/dist/frontend/npm-static-bundled-esm.js +768 -0
- package/dist/frontend/npm-static-bundled-esm.js.map +1 -0
- package/dist/frontend/npm-static-bundled-esm.test.d.ts +1 -0
- package/dist/frontend/npm-static-bundled-esm.test.js +207 -0
- package/dist/frontend/npm-static-bundled-esm.test.js.map +1 -0
- package/dist/frontend/npm-static-cjs-exports-alias.d.ts +2 -0
- package/dist/frontend/npm-static-cjs-exports-alias.js +186 -0
- package/dist/frontend/npm-static-cjs-exports-alias.js.map +1 -0
- package/dist/frontend/npm-static-cjs-exports-alias.test.d.ts +1 -0
- package/dist/frontend/npm-static-cjs-exports-alias.test.js +73 -0
- package/dist/frontend/npm-static-cjs-exports-alias.test.js.map +1 -0
- package/dist/frontend/npm-static-cjs-exports-var.d.ts +2 -0
- package/dist/frontend/npm-static-cjs-exports-var.js +236 -0
- package/dist/frontend/npm-static-cjs-exports-var.js.map +1 -0
- package/dist/frontend/npm-static-declaration-syntax.js +102 -101
- package/dist/frontend/npm-static-declaration-syntax.js.map +1 -1
- package/dist/frontend/npm-static-prune.js +36 -24
- package/dist/frontend/npm-static-prune.js.map +1 -1
- package/dist/frontend/npm-static-rewrite-host.d.ts +4 -1
- package/dist/frontend/npm-static-rewrite-host.js +14 -3
- package/dist/frontend/npm-static-rewrite-host.js.map +1 -1
- package/dist/frontend/npm-static-rewrite-syntax.d.ts +19 -0
- package/dist/frontend/npm-static-rewrite-syntax.js +274 -101
- package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
- package/dist/frontend/npm-static-subtyping.js +7 -9
- package/dist/frontend/npm-static-subtyping.js.map +1 -1
- package/dist/frontend/npm-static.d.ts +17 -1
- package/dist/frontend/npm-static.js +167 -16
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/npm-static.test.js +22 -1
- package/dist/frontend/npm-static.test.js.map +1 -1
- package/dist/frontend/pipeline.js +164 -26
- package/dist/frontend/pipeline.js.map +1 -1
- package/dist/frontend/pipeline.test.js +22 -1
- package/dist/frontend/pipeline.test.js.map +1 -1
- package/dist/frontend/program-analysis.d.ts +6 -1
- package/dist/frontend/program-analysis.js +7 -0
- package/dist/frontend/program-analysis.js.map +1 -1
- package/dist/frontend/program.d.ts +92 -2
- package/dist/frontend/program.js +1557 -255
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/program.test.js +76 -6
- package/dist/frontend/program.test.js.map +1 -1
- package/dist/frontend/resolve.js +36 -2
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/resolve.test.js +49 -0
- package/dist/frontend/resolve.test.js.map +1 -1
- package/dist/frontend/services.d.ts +20 -1
- package/dist/frontend/services.js +40 -3
- package/dist/frontend/services.js.map +1 -1
- package/dist/frontend/services.test.js +2 -1
- package/dist/frontend/services.test.js.map +1 -1
- package/dist/frontend/threads-import.js +1 -1
- package/dist/frontend/threads-import.js.map +1 -1
- package/dist/frontend/tier-analysis.d.ts +71 -0
- package/dist/frontend/tier-analysis.js +522 -0
- package/dist/frontend/tier-analysis.js.map +1 -0
- package/dist/frontend/ts7/api-conformance.d.ts +234 -0
- package/dist/frontend/ts7/api-conformance.js +7 -0
- package/dist/frontend/ts7/api-conformance.js.map +1 -0
- package/dist/frontend/ts7/ast-guards.generated.js +2 -1
- package/dist/frontend/ts7/ast-guards.generated.js.map +1 -1
- package/dist/frontend/ts7/ast-node.d.ts +47 -25
- package/dist/frontend/ts7/ast-node.js +64 -18
- package/dist/frontend/ts7/ast-node.js.map +1 -1
- package/dist/frontend/ts7/ast-node.test.js +36 -12
- package/dist/frontend/ts7/ast-node.test.js.map +1 -1
- package/dist/frontend/ts7/ast-types.d.ts +10 -3
- package/dist/frontend/ts7/ast-types.generated.d.ts +39 -39
- package/dist/frontend/ts7/ast.d.ts +1 -0
- package/dist/frontend/ts7/ast.js +3 -2
- package/dist/frontend/ts7/ast.js.map +1 -1
- package/dist/frontend/ts7/checker-backend.d.ts +23 -0
- package/dist/frontend/ts7/checker-backend.js +88 -0
- package/dist/frontend/ts7/checker-backend.js.map +1 -0
- package/dist/frontend/ts7/checker-backend.test.d.ts +1 -0
- package/dist/frontend/ts7/checker-backend.test.js +63 -0
- package/dist/frontend/ts7/checker-backend.test.js.map +1 -0
- package/dist/frontend/ts7/checker-cache.d.ts +0 -3
- package/dist/frontend/ts7/checker-cache.js +0 -6
- package/dist/frontend/ts7/checker-cache.js.map +1 -1
- package/dist/frontend/ts7/checker.d.ts +18 -11
- package/dist/frontend/ts7/checker.js +42 -55
- package/dist/frontend/ts7/checker.js.map +1 -1
- package/dist/frontend/ts7/checker.test.js +10 -7
- package/dist/frontend/ts7/checker.test.js.map +1 -1
- package/dist/frontend/ts7/diagnostic.d.ts +19 -0
- package/dist/frontend/ts7/diagnostic.js +22 -0
- package/dist/frontend/ts7/diagnostic.js.map +1 -0
- package/dist/frontend/ts7/node-functions.d.ts +8 -0
- package/dist/frontend/ts7/node-functions.js +18 -0
- package/dist/frontend/ts7/node-functions.js.map +1 -0
- package/dist/frontend/ts7/program-host.d.ts +5 -1
- package/dist/frontend/ts7/program-host.js +12 -0
- package/dist/frontend/ts7/program-host.js.map +1 -1
- package/dist/frontend/ts7/rpc-api.d.ts +5 -1
- package/dist/frontend/ts7/rpc-api.js +8 -1
- package/dist/frontend/ts7/rpc-api.js.map +1 -1
- package/dist/frontend/ts7/semantic-checker.d.ts +13 -6
- package/dist/frontend/ts7/semantic-checker.js +26 -8
- package/dist/frontend/ts7/semantic-checker.js.map +1 -1
- package/dist/frontend/ts7/semantic-checker.test.js +12 -9
- package/dist/frontend/ts7/semantic-checker.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-model.d.ts +54 -24
- package/dist/frontend/ts7/semantic-model.js +88 -16
- package/dist/frontend/ts7/semantic-model.js.map +1 -1
- package/dist/frontend/ts7/semantic-model.test.js +4 -4
- package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-types.d.ts +7 -3
- package/dist/frontend/ts7/semantic-types.js +1 -1
- package/dist/frontend/ts7/semantic-types.js.map +1 -1
- package/dist/frontend/ts7/session.d.ts +11 -11
- package/dist/frontend/ts7/session.js +8 -5
- package/dist/frontend/ts7/session.js.map +1 -1
- package/dist/frontend/ts7/session.test.js +9 -5
- package/dist/frontend/ts7/session.test.js.map +1 -1
- package/dist/frontend/ts7/source-parser.d.ts +6 -2
- package/dist/frontend/ts7/source-parser.js +24 -3
- package/dist/frontend/ts7/source-parser.js.map +1 -1
- package/dist/frontend/ts7/source-parser.test.js +38 -17
- package/dist/frontend/ts7/source-parser.test.js.map +1 -1
- package/dist/frontend/type-mapper.d.ts +122 -2
- package/dist/frontend/type-mapper.js +2545 -719
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/frontend/type-only-imports.d.ts +28 -0
- package/dist/frontend/type-only-imports.js +122 -0
- package/dist/frontend/type-only-imports.js.map +1 -0
- package/dist/frontend/worker-target.js +8 -8
- package/dist/frontend/worker-target.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +29 -2
- package/dist/index.js.map +1 -1
- package/dist/ir/analysis.js +4 -2
- package/dist/ir/analysis.js.map +1 -1
- package/dist/ir/api.d.ts +1 -1
- package/dist/ir/api.js +1 -1
- package/dist/ir/api.js.map +1 -1
- package/dist/ir/array-length-stability.d.ts +30 -0
- package/dist/ir/array-length-stability.js +236 -0
- package/dist/ir/array-length-stability.js.map +1 -0
- package/dist/ir/array-length-stability.test.d.ts +1 -0
- package/dist/ir/array-length-stability.test.js +113 -0
- package/dist/ir/array-length-stability.test.js.map +1 -0
- package/dist/ir/build.d.ts +2 -2
- package/dist/ir/build.js +1 -1
- package/dist/ir/build.js.map +1 -1
- package/dist/ir/builtin-effects.js +103 -0
- package/dist/ir/builtin-effects.js.map +1 -1
- package/dist/ir/builtin-signatures.d.ts +1 -1
- package/dist/ir/builtin-signatures.js +494 -25
- package/dist/ir/builtin-signatures.js.map +1 -1
- package/dist/ir/byte-numbers.js +3 -0
- package/dist/ir/byte-numbers.js.map +1 -1
- package/dist/ir/callback-specialization.d.ts +37 -0
- package/dist/ir/callback-specialization.js +459 -0
- package/dist/ir/callback-specialization.js.map +1 -0
- package/dist/ir/callback-specialization.test.d.ts +1 -0
- package/dist/ir/callback-specialization.test.js +208 -0
- package/dist/ir/callback-specialization.test.js.map +1 -0
- package/dist/ir/capture-values.d.ts +0 -1
- package/dist/ir/capture-values.js +51 -40
- package/dist/ir/capture-values.js.map +1 -1
- package/dist/ir/constant-globals.test.js +1 -1
- package/dist/ir/constant-tables.test.js +1 -1
- package/dist/ir/field-values.test.js +1 -1
- package/dist/ir/final-fields.test.js +1 -1
- package/dist/ir/function-references.test.js +9 -1
- package/dist/ir/function-references.test.js.map +1 -1
- package/dist/ir/init-only-globals.test.js +1 -1
- package/dist/ir/initializer-bindings.test.js +1 -1
- package/dist/ir/int32-slots.d.ts +14 -0
- package/dist/ir/int32-slots.js +97 -14
- package/dist/ir/int32-slots.js.map +1 -1
- package/dist/ir/int32-slots.test.js +1 -1
- package/dist/ir/integer-loop-facts.d.ts +2 -0
- package/dist/ir/integer-loop-facts.js +24 -3
- package/dist/ir/integer-loop-facts.js.map +1 -1
- package/dist/ir/integer-loops.d.ts +1 -1
- package/dist/ir/integer-loops.js +39 -9
- package/dist/ir/integer-loops.js.map +1 -1
- package/dist/ir/integer-loops.test.js +104 -0
- package/dist/ir/integer-loops.test.js.map +1 -1
- package/dist/ir/integer-ranges.d.ts +3 -0
- package/dist/ir/integer-ranges.js +3 -1
- package/dist/ir/integer-ranges.js.map +1 -1
- package/dist/ir/integer-ranges.test.js +82 -1
- package/dist/ir/integer-ranges.test.js.map +1 -1
- package/dist/ir/intrinsic-signatures.js +6 -0
- package/dist/ir/intrinsic-signatures.js.map +1 -1
- package/dist/ir/ir.d.ts +221 -58
- package/dist/ir/ir.js +119 -12
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/ir.test.js +10 -0
- package/dist/ir/ir.test.js.map +1 -1
- package/dist/ir/jsval.d.ts +8 -0
- package/dist/ir/jsval.js +365 -0
- package/dist/ir/jsval.js.map +1 -0
- package/dist/ir/jsval.test.d.ts +1 -0
- package/dist/ir/jsval.test.js +239 -0
- package/dist/ir/jsval.test.js.map +1 -0
- package/dist/ir/runtime-features.d.ts +148 -33
- package/dist/ir/runtime-features.js +629 -386
- package/dist/ir/runtime-features.js.map +1 -1
- package/dist/ir/scalar-records.test.js +1 -1
- package/dist/ir/self-captures.d.ts +33 -0
- package/dist/ir/self-captures.js +245 -0
- package/dist/ir/self-captures.js.map +1 -0
- package/dist/ir/self-captures.test.d.ts +1 -0
- package/dist/ir/self-captures.test.js +135 -0
- package/dist/ir/self-captures.test.js.map +1 -0
- package/dist/ir/serialize.d.ts +1 -1
- package/dist/ir/serialize.js +7 -4
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/tiers.d.ts +26 -0
- package/dist/ir/tiers.js +101 -0
- package/dist/ir/tiers.js.map +1 -0
- package/dist/ir/tiers.test.d.ts +1 -0
- package/dist/ir/tiers.test.js +140 -0
- package/dist/ir/tiers.test.js.map +1 -0
- package/dist/ir/traverse.js +103 -94
- package/dist/ir/traverse.js.map +1 -1
- package/dist/ir/traverse.test.js +33 -30
- package/dist/ir/traverse.test.js.map +1 -1
- package/dist/ir/unshare.js +65 -3
- package/dist/ir/unshare.js.map +1 -1
- package/dist/ir/unshare.test.js +1 -1
- package/dist/ir/validate.js +175 -68
- package/dist/ir/validate.js.map +1 -1
- package/dist/ir/validate.test.js +26 -9
- package/dist/ir/validate.test.js.map +1 -1
- package/dist/library/fence-eval.test.js +1 -1
- package/dist/library/int-infer.test.js +4 -4
- package/dist/library/ir-policy.js +13 -0
- package/dist/library/ir-policy.js.map +1 -1
- package/dist/library/library-cache.d.ts +1 -0
- package/dist/library/library-cache.js.map +1 -1
- package/dist/library/library-cache.test.js +5 -5
- package/dist/library/library-profile.d.ts +4 -4
- package/dist/library/library-profile.js +35 -7
- package/dist/library/library-profile.js.map +1 -1
- package/dist/library/prepare.js +13 -1
- package/dist/library/prepare.js.map +1 -1
- package/dist/native/cli.js +5 -0
- package/dist/native/cli.js.map +1 -1
- package/dist/native/compiler.js +2 -2
- package/dist/native/compiler.js.map +1 -1
- package/dist/native/compiler.test.js +2 -2
- package/dist/native/prepare.js +7 -0
- package/dist/native/prepare.js.map +1 -1
- package/dist/native/sanitizer.test.js +12 -0
- package/dist/native/sanitizer.test.js.map +1 -1
- package/dist/native/toolchain.d.ts +2 -0
- package/dist/native/toolchain.js +10 -1
- package/dist/native/toolchain.js.map +1 -1
- package/dist/native/toolchain.test.js +39 -1
- package/dist/native/toolchain.test.js.map +1 -1
- package/dist/startup-cache.d.ts +1 -0
- package/dist/startup-cache.js +1 -0
- package/dist/startup-cache.js.map +1 -1
- package/dist/wasm/base64.d.ts +5 -0
- package/dist/wasm/base64.js +62 -0
- package/dist/wasm/base64.js.map +1 -0
- package/dist/wasm/binary.d.ts +36 -0
- package/dist/wasm/binary.js +1976 -0
- package/dist/wasm/binary.js.map +1 -0
- package/dist/wasm/binary.test.d.ts +1 -0
- package/dist/wasm/binary.test.js +190 -0
- package/dist/wasm/binary.test.js.map +1 -0
- package/dist/wasm/discover.d.ts +38 -0
- package/dist/wasm/discover.js +377 -0
- package/dist/wasm/discover.js.map +1 -0
- package/dist/wasm/discover.test.d.ts +1 -0
- package/dist/wasm/discover.test.js +24 -0
- package/dist/wasm/discover.test.js.map +1 -0
- package/dist/wasm/module.d.ts +151 -0
- package/dist/wasm/module.js +575 -0
- package/dist/wasm/module.js.map +1 -0
- package/dist/wasm/translate.d.ts +48 -0
- package/dist/wasm/translate.js +2129 -0
- package/dist/wasm/translate.js.map +1 -0
- package/dist/wasm/translate.test.d.ts +1 -0
- package/dist/wasm/translate.test.js +207 -0
- package/dist/wasm/translate.test.js.map +1 -0
- package/package.json +21 -20
- package/surface-manifest.json +303 -19
|
@@ -1,4 +1,9 @@
|
|
|
1
|
+
import type { ConstructorReturnPlan } from "./constructor-returns.js";
|
|
1
2
|
import { type CycleInitFlag } from "./cycle-initialization.js";
|
|
3
|
+
import { type JsonRequireModule } from "./json-require.js";
|
|
4
|
+
import { type EarlyReference, type RequireInitFlag } from "./require-initialization.js";
|
|
5
|
+
import { KeyOrderNotes } from "./key-order-witness.js";
|
|
6
|
+
import { type WasmModuleReport } from "../../wasm/discover.js";
|
|
2
7
|
import type { FieldLift } from "./coercions/structural-plans.js";
|
|
3
8
|
import { CoercionState } from "./coercions/state.js";
|
|
4
9
|
import { NarrowingStability } from "./narrowing-stability.js";
|
|
@@ -10,8 +15,10 @@ import type { WidthLift } from "./width-lift.js";
|
|
|
10
15
|
import { type FnCtx } from "./function-context.js";
|
|
11
16
|
import type { FrontendServices } from "../services.js";
|
|
12
17
|
import { type ProtocolDispatch } from "./class-protocol-dispatch.js";
|
|
18
|
+
import { type DynamicFunction } from "../../ir/tiers.js";
|
|
19
|
+
import { type TierMode, type TierReport } from "../tier-analysis.js";
|
|
13
20
|
import { DeferredModuleInitializers } from "./deferred-module-initializers.js";
|
|
14
|
-
import type
|
|
21
|
+
import { type ClassSymbolKey } from "./symbol-fields.js";
|
|
15
22
|
import type { HttpClientFnBinding } from "./lower-server.js";
|
|
16
23
|
export type { WidthLift } from "./width-lift.js";
|
|
17
24
|
export { newFnCtx, type FnCtx } from "./function-context.js";
|
|
@@ -23,6 +30,7 @@ import type { IrClassDef, IrExpr, IrFfiImport, IrFunction, IrGlobal, IrLocal, Ir
|
|
|
23
30
|
import { type StartupCrash } from "../program.js";
|
|
24
31
|
import { ShapeRegistry, type TypeMapperCtx, UnionRegistry } from "../type-mapper.js";
|
|
25
32
|
import { type CompoundOp, type StdlibFnEntry, type BuiltinModuleFn } from "./surfaces.js";
|
|
33
|
+
import { type BuiltinClassRef } from "./builtins/class-values.js";
|
|
26
34
|
import { type FileParts } from "./lower-modules.js";
|
|
27
35
|
import { type ClassInfo, type ClassIteratorInfo, type GenericClassInfo, findStaticOn } from "./lower-classes.js";
|
|
28
36
|
import { type MixinFnShape } from "./lower-mixins.js";
|
|
@@ -62,6 +70,12 @@ export type StaticCallableProjection = {
|
|
|
62
70
|
} | {
|
|
63
71
|
kind: "promisified-zlib";
|
|
64
72
|
member: string;
|
|
73
|
+
} | {
|
|
74
|
+
kind: "promisified-crypto";
|
|
75
|
+
member: string;
|
|
76
|
+
} | {
|
|
77
|
+
kind: "promisified-dns";
|
|
78
|
+
member: string;
|
|
65
79
|
};
|
|
66
80
|
/** Own-property lookup for the surface tables. They are plain object
|
|
67
81
|
* literals, so a bare `table[name]` would also find Object.prototype
|
|
@@ -76,6 +90,9 @@ export interface LowerStats {
|
|
|
76
90
|
statementsFailed: number;
|
|
77
91
|
/** Functions whose signature couldn't be analyzed (bodies not counted). */
|
|
78
92
|
functionsSkipped: number;
|
|
93
|
+
/** Coverage only: reached statements that compile into dynamic-tier
|
|
94
|
+
* functions (tier-analysis.ts), a subset of the compiled statements. */
|
|
95
|
+
statementsDynamic?: number;
|
|
79
96
|
}
|
|
80
97
|
/** Every identifier a binding name binds: the identifier itself, or all
|
|
81
98
|
* identifiers of a (possibly nested) destructuring pattern in source
|
|
@@ -113,18 +130,29 @@ export interface LowerResult {
|
|
|
113
130
|
stats: LowerStats;
|
|
114
131
|
runtimeFences?: ScrDiagnostic[];
|
|
115
132
|
};
|
|
133
|
+
/** Coverage only: the WebAssembly modules the build can see (wasm/discover.ts). */
|
|
134
|
+
wasmModules?: WasmModuleReport[];
|
|
116
135
|
/** Compile-time-detectable behavior differences from Node (SC6xxx
|
|
117
136
|
* divergence warnings) in the program's own modules. Never failures. */
|
|
118
137
|
divergences?: ScrDiagnostic[];
|
|
138
|
+
/** Functions lowering placed in the dynamic tier (ir/tiers.ts), present
|
|
139
|
+
* when there are any. */
|
|
140
|
+
dynamicFunctions?: DynamicFunction[];
|
|
141
|
+
/** LowerOptions.tierReport: the report-only tier assignment. */
|
|
142
|
+
tiers?: TierReport;
|
|
119
143
|
}
|
|
120
144
|
export interface LowerOptions {
|
|
121
145
|
/** Parser/checker services owned by the load; required for npm graph analysis. */
|
|
122
146
|
frontendServices?: FrontendServices | undefined;
|
|
147
|
+
/** The project's tsconfig sets `checkJs` (see isCheckedJsSourceFile). */
|
|
148
|
+
projectCheckJs?: boolean;
|
|
123
149
|
/** Coverage: additionally lower the unreached remainder (bodies nothing
|
|
124
150
|
* on the entry path reaches) in a throwaway pass and report its
|
|
125
151
|
* diagnostics and stats under `unreached` — the whole-program analysis
|
|
126
152
|
* builds deliberately gave up. */
|
|
127
153
|
coverage?: boolean;
|
|
154
|
+
/** Coverage only: module files named by --wasm (absolute). */
|
|
155
|
+
wasmFiles?: readonly string[];
|
|
128
156
|
/** The platform the build TARGETS ("win32" under a windows cross triple,
|
|
129
157
|
* the host platform otherwise — see buildTargetPlatform in index.ts).
|
|
130
158
|
* The whole program compiles for one platform, so the platform-keyed
|
|
@@ -137,6 +165,8 @@ export interface LowerOptions {
|
|
|
137
165
|
* resolution walk and named-import link checks): the program
|
|
138
166
|
* compiles to that startup crash. */
|
|
139
167
|
startupCrash?: StartupCrash | null;
|
|
168
|
+
/** LoadResult.inlineRequireCycleCalls. */
|
|
169
|
+
inlineRequireCycleCalls?: ReadonlySet<ts.Node> | undefined;
|
|
140
170
|
/** LIBRARY mode's reachability roots: the profile-mapped exports of the
|
|
141
171
|
* entry module. Executable builds root at the entry's top level alone
|
|
142
172
|
* (an unreferenced export dead-strips); a library's exports are called from
|
|
@@ -162,6 +192,14 @@ export interface LowerOptions {
|
|
|
162
192
|
/** The mapped entries plus relative declaration dependencies, attributed
|
|
163
193
|
* to their owning external specifier. */
|
|
164
194
|
externalTypeSpecifiersByFile?: ReadonlyMap<string, readonly string[]>;
|
|
195
|
+
/** `--tier` (tier-analysis.ts); "auto" when absent. */
|
|
196
|
+
tierMode?: TierMode;
|
|
197
|
+
/** Coverage only: compute the tier-assignment report (`--explain-dynamic`).
|
|
198
|
+
* `preflight` holds the import and package refusals coverage reports
|
|
199
|
+
* beside the lowering's own blockers; they request module demotions. */
|
|
200
|
+
tierReport?: {
|
|
201
|
+
preflight: readonly ScrDiagnostic[];
|
|
202
|
+
};
|
|
165
203
|
}
|
|
166
204
|
interface RuntimeFenceFallback {
|
|
167
205
|
code: `SC${number}`;
|
|
@@ -195,38 +233,52 @@ interface RuntimeFenceClosureTarget extends Omit<RuntimeFenceFunctionTarget, "ki
|
|
|
195
233
|
}
|
|
196
234
|
/** The Lowerer's pass configuration (see lowerToIr). */
|
|
197
235
|
export interface LowererMode {
|
|
236
|
+
/** Symbols whose deferred diagnostics reachable emit already flushed —
|
|
237
|
+
* the remainder must not report them a second time. */
|
|
238
|
+
alreadyFlushed?: ReadonlySet<ts.Symbol>;
|
|
239
|
+
/** LowerOptions.externalTypes, threaded through every lowering pass. */
|
|
240
|
+
externalTypes?: ReadonlyMap<string, string>;
|
|
241
|
+
/** LowerOptions.externalTypeSpecifiersByFile, shared by every pass. */
|
|
242
|
+
externalTypeSpecifiersByFile?: ReadonlyMap<string, readonly string[]>;
|
|
243
|
+
/** Program-validated ambient declaration symbols for each FFI name.
|
|
244
|
+
* Undefined in discovery's legacy call-local validation path. */
|
|
245
|
+
ffiBindingSymbols?: ReadonlyMap<string, ReadonlySet<ts.Symbol>>;
|
|
246
|
+
/** The build's outbound native FFI declarations. */
|
|
247
|
+
ffiImports?: readonly IrFfiImport[];
|
|
248
|
+
/** Statically resolved child_process.fork program roots, in stable target-id order. */
|
|
249
|
+
forkTargets?: readonly ts.SourceFile[];
|
|
198
250
|
frontendServices?: FrontendServices | undefined;
|
|
251
|
+
/** The program's general stream representation (TypeMapperCtx.
|
|
252
|
+
* generalNodeStreams). lowerToIr turns it on only after a pass without
|
|
253
|
+
* it saw a stream flow that needs it (requiresGeneralNodeStreams). */
|
|
254
|
+
generalNodeStreams?: boolean;
|
|
255
|
+
/** With generalNodeStreams, the checked-dynamic stream slots
|
|
256
|
+
* (TypeMapperCtx.dynNodeStreams). lowerToIr turns it on only after a
|
|
257
|
+
* pass saw an untyped value flow into a stream slot
|
|
258
|
+
* (requiresDynNodeStreams). */
|
|
259
|
+
dynNodeStreams?: boolean;
|
|
260
|
+
/** LoadResult.inlineRequireCycleCalls. */
|
|
261
|
+
inlineRequireCycleCalls?: ReadonlySet<ts.Node> | undefined;
|
|
262
|
+
/** LowerOptions.libraryCallbacks (see there). */
|
|
263
|
+
libraryCallbacks?: boolean;
|
|
264
|
+
projectCheckJs?: boolean;
|
|
199
265
|
/** Names of bodies a prior reachability pass reached; null lowers everything. */
|
|
200
266
|
reachable?: ReadonlySet<string> | null;
|
|
201
267
|
/** Coverage remainder: lower ONLY bodies outside `reachable`, skip the
|
|
202
268
|
* always-reachable init bodies and module building, and report deferred
|
|
203
269
|
* collection diagnostics nothing flushed. */
|
|
204
270
|
remainder?: boolean;
|
|
205
|
-
/** Symbols whose deferred diagnostics reachable emit already flushed —
|
|
206
|
-
* the remainder must not report them a second time. */
|
|
207
|
-
alreadyFlushed?: ReadonlySet<ts.Symbol>;
|
|
208
|
-
/** The build's target platform (LowerOptions.targetPlatform — lowerToIr
|
|
209
|
-
* passes it to every pass). Defaults to the host. */
|
|
210
|
-
targetPlatform?: string;
|
|
211
271
|
/** Node's startup refusal (preflight's resolution walk / named-import
|
|
212
272
|
* link checks): %main opens with exactly this throw, before any
|
|
213
273
|
* module init — Node refuses the whole graph before anything evaluates,
|
|
214
274
|
* so nothing runs. */
|
|
215
275
|
startupCrash?: StartupCrash | null;
|
|
216
|
-
/** The build's
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
forkTargets?: readonly ts.SourceFile[];
|
|
276
|
+
/** The build's target platform (LowerOptions.targetPlatform — lowerToIr
|
|
277
|
+
* passes it to every pass). Defaults to the host. */
|
|
278
|
+
targetPlatform?: string;
|
|
279
|
+
/** LowerOptions.tierMode, shared by every pass. */
|
|
280
|
+
tierMode?: TierMode;
|
|
222
281
|
workerTargets?: readonly ts.SourceFile[];
|
|
223
|
-
/** Program-validated ambient declaration symbols for each FFI name.
|
|
224
|
-
* Undefined in discovery's legacy call-local validation path. */
|
|
225
|
-
ffiBindingSymbols?: ReadonlyMap<string, ReadonlySet<ts.Symbol>>;
|
|
226
|
-
/** LowerOptions.externalTypes, threaded through every lowering pass. */
|
|
227
|
-
externalTypes?: ReadonlyMap<string, string>;
|
|
228
|
-
/** LowerOptions.externalTypeSpecifiersByFile, shared by every pass. */
|
|
229
|
-
externalTypeSpecifiersByFile?: ReadonlyMap<string, readonly string[]>;
|
|
230
282
|
}
|
|
231
283
|
/** Build lowering runs as a reachability worklist over the ts.Program:
|
|
232
284
|
*
|
|
@@ -295,6 +347,15 @@ export declare class Lowerer {
|
|
|
295
347
|
readonly checker: ts.TypeChecker;
|
|
296
348
|
readonly diags: ScrDiagnostic[];
|
|
297
349
|
readonly fnSigsBySymbol: Map<ts.Symbol, FnSig>;
|
|
350
|
+
/** Per file: whether it assigns `exports` and `module.exports`
|
|
351
|
+
* (cjs-exports-object.ts). */
|
|
352
|
+
readonly cjsExportsAssignments: Map<ts.SourceFile, {
|
|
353
|
+
exports: boolean;
|
|
354
|
+
moduleExports: boolean;
|
|
355
|
+
}>;
|
|
356
|
+
/** Inline require() calls whose module edge closes a require cycle
|
|
357
|
+
* (LoadResult.inlineRequireCycleCalls). */
|
|
358
|
+
readonly inlineRequireCycleCalls: ReadonlySet<ts.Node>;
|
|
298
359
|
/** Immutable callable aliases and compiler-generated adapters. The map
|
|
299
360
|
* is symbol-keyed, so shadowing and cross-module imports keep the same
|
|
300
361
|
* exact binding discipline as globals/functions. */
|
|
@@ -383,10 +444,32 @@ export declare class Lowerer {
|
|
|
383
444
|
/** Non-null while an instance body lowers: type-parameter symbol →
|
|
384
445
|
* concrete IR type, consulted inside mapType's recursion. */
|
|
385
446
|
typeParamBindings: Map<ts.Symbol, IrType> | null;
|
|
447
|
+
/** Generic lambdas lowering as erased values (lowerLambda): their own
|
|
448
|
+
* type parameters are bound to `unknown`, so lambdaSignature admits
|
|
449
|
+
* them. */
|
|
450
|
+
readonly erasingLambdas: Set<import("../ts7/ast-node.js").AstNode>;
|
|
451
|
+
/** Function expressions lowered against a fixed target signature with a
|
|
452
|
+
* tuple-typed `arguments` (typed-arguments.ts). */
|
|
453
|
+
readonly typedArgumentsLambdas: Set<import("../ts7/ast-node.js").AstNode>;
|
|
454
|
+
/** Const bindings holding a forwarded fixed tuple (`const args =
|
|
455
|
+
* arguments as any` in a typed-arguments function) → the tuple type. */
|
|
456
|
+
readonly tupleAliasSymbols: Map<ts.Symbol, IrType>;
|
|
457
|
+
/** `??` expressions whose result is the optional callback's own function
|
|
458
|
+
* type (an adapted function default); their bindings take that type. */
|
|
459
|
+
readonly nullishFuncResults: Set<import("../ts7/ast-node.js").AstNode>;
|
|
460
|
+
/** The static names of the current generic instance's name-keyed
|
|
461
|
+
* function parameters (static-function-names.ts). */
|
|
462
|
+
staticFnNames: Map<ts.Symbol, string | null> | null;
|
|
463
|
+
/** Nesting depth of erased generic bodies being lowered (erased lambdas
|
|
464
|
+
* and erased instances). */
|
|
465
|
+
erasingDepth: number;
|
|
386
466
|
localClassInstantiations: {
|
|
387
467
|
owner: ts.FunctionLikeDeclaration;
|
|
388
468
|
name: string;
|
|
389
469
|
}[];
|
|
470
|
+
/** Instance types (by checker type id) of the local classes generic
|
|
471
|
+
* factory calls return, and the per-instance class each names. */
|
|
472
|
+
readonly localClassInstanceTypes: Map<number, string>;
|
|
390
473
|
/** The ts-level twin of typeParamBindings, non-null while a CALL-keyed
|
|
391
474
|
* instance body lowers: type-parameter symbol → the bound CHECKER type,
|
|
392
475
|
* consulted where the mapped IrType has already widened away information
|
|
@@ -400,6 +483,19 @@ export declare class Lowerer {
|
|
|
400
483
|
* typeParamBindings — the checker has no `T` to substitute, so the
|
|
401
484
|
* binding rides the node-type accessor instead of mapType. */
|
|
402
485
|
implicitParamTypes: Map<ts.Symbol, ts.Type> | null;
|
|
486
|
+
/** The builtin class each binding names (`const E = EventEmitter`,
|
|
487
|
+
* `const C = zlib.Gzip`), keyed by the binding's symbol; null for
|
|
488
|
+
* bindings that name none (builtinClassAliasOf). new, instanceof,
|
|
489
|
+
* typeof, .name and === resolve at compile time. */
|
|
490
|
+
readonly builtinClassAliases: Map<ts.Symbol, BuiltinClassRef | null>;
|
|
491
|
+
/** Whether some net.Socket in this program may get an encoding: a
|
|
492
|
+
* setEncoding call whose receiver is a socket or an untyped value.
|
|
493
|
+
* Computed once on first use (null until then). */
|
|
494
|
+
socketEncodingReachable: boolean | null;
|
|
495
|
+
/** Whether some server in this program may listen on a Unix socket: a
|
|
496
|
+
* listen call whose first argument is a string. Computed once on first
|
|
497
|
+
* use (null until then); address() answers the path only when true. */
|
|
498
|
+
unixListenReachable: boolean | null;
|
|
403
499
|
/** IMPLICIT-ANY instances lowered EAGERLY at first demand (their return
|
|
404
500
|
* types are inferred from the body — the call site needs them settled),
|
|
405
501
|
* collected here for run()'s function list (the liftedFns discipline). */
|
|
@@ -415,8 +511,13 @@ export declare class Lowerer {
|
|
|
415
511
|
* their symbol/node keys; no module-level cache should retain a pass. */
|
|
416
512
|
readonly classSymbolKeys: Map<ts.Symbol, ClassSymbolKey | null>;
|
|
417
513
|
readonly registeredClassSymbols: Map<string, ts.Symbol>;
|
|
514
|
+
/** Symbol-key identities by description, in resolution order (the slot
|
|
515
|
+
* ordinals of key-table keys — symbolKeyOf). */
|
|
516
|
+
readonly symbolFieldIdentities: Map<string, ts.Symbol[]>;
|
|
418
517
|
readonly httpClientFnBindings: Map<ts.Symbol, HttpClientFnBinding>;
|
|
419
518
|
streamPropMutatedSyms: Set<ts.Symbol> | null;
|
|
519
|
+
/** Whether some source reads process.exitCode (processReadsExitCode). */
|
|
520
|
+
readsExitCode: boolean | null;
|
|
420
521
|
requestInitPropMutatedSyms: Set<ts.Symbol> | null;
|
|
421
522
|
emitterEventTable: Map<string, EventSig> | null;
|
|
422
523
|
emitterComputedPatterns: ComputedEventPattern[];
|
|
@@ -445,6 +546,12 @@ export declare class Lowerer {
|
|
|
445
546
|
* carry undefined at runtime. Identifier reads keep the union tag so
|
|
446
547
|
* typeof and later boundaries observe the real value. */
|
|
447
548
|
readonly runtimeOptionalGlobals: Set<IrGlobal>;
|
|
549
|
+
/** Per CommonJS file using top-level `this`: the global holding the
|
|
550
|
+
* object that stands for its original exports (lowerCjsTopLevelThis). */
|
|
551
|
+
readonly cjsExportsThis: Map<ts.SourceFile, IrGlobal>;
|
|
552
|
+
/** Inline program-module require calls whose %init the enclosing member
|
|
553
|
+
* read or member call is already sequencing (cjs-inline-require.ts). */
|
|
554
|
+
readonly inlineRequireInitDone: Set<ts.CallExpression>;
|
|
448
555
|
/** Bindings whose unchecked string arithmetic can produce either a number
|
|
449
556
|
* (NaN for an absent read) or a string. Preserve that result union at bare
|
|
450
557
|
* reads instead of applying the checker-bare string narrowing adapter. */
|
|
@@ -457,7 +564,9 @@ export declare class Lowerer {
|
|
|
457
564
|
/** A pipeline() function stage's `source` parameter: the IR type of what
|
|
458
565
|
* the pipeline passes it (the previous stage as an async iterable), set
|
|
459
566
|
* while the stage lowers. Parameter typing and `for await` heads read
|
|
460
|
-
* it before the checker's `AsyncIterable<T>`.
|
|
567
|
+
* it before the checker's `AsyncIterable<T>`. A stream option callback's
|
|
568
|
+
* completion parameter declared with an any-typed `data` is pinned here
|
|
569
|
+
* too while the callback lowers (pinAnyDataCompletion). */
|
|
461
570
|
readonly stageSourceTypes: Map<ts.Symbol, IrType>;
|
|
462
571
|
/** Set when a match result lowers to execGroups/matchGroups, the inputs
|
|
463
572
|
* of regex span folding. */
|
|
@@ -467,6 +576,10 @@ export declare class Lowerer {
|
|
|
467
576
|
* declared optional binding to that read's bare type, so presence tests
|
|
468
577
|
* on these bindings consult the stored tag instead. */
|
|
469
578
|
readonly runtimeOptionalAssignedSymbols: Set<ts.Symbol>;
|
|
579
|
+
/** Generic function declarations whose body can return an indexed read
|
|
580
|
+
* that misses.
|
|
581
|
+
* Each instance's result admits undefined (generic-functions.ts). */
|
|
582
|
+
readonly runtimeOptionalGenericReturns: Set<import("../ts7/ast-node.js").AstNode>;
|
|
470
583
|
/** Concise callback/lambda returns promoted by the HOF callback prepass;
|
|
471
584
|
* arrows have no declaration symbol to key in fnSigsBySymbol. */
|
|
472
585
|
readonly runtimeOptionalFunctionReturns: Map<import("../ts7/ast-node.js").AstNode, IrType>;
|
|
@@ -480,6 +593,8 @@ export declare class Lowerer {
|
|
|
480
593
|
/** Record fields promoted to an undefined-armed union by an indexed-read
|
|
481
594
|
* value. The key is the concrete emitted shape and field name. */
|
|
482
595
|
readonly runtimeOptionalFields: Set<string>;
|
|
596
|
+
/** Bindings initialized by a Date's `toJSON()` (analyzeDateJsonResults). */
|
|
597
|
+
readonly dateJsonBindings: Set<ts.Symbol>;
|
|
483
598
|
/** Record bindings whose flow class reaches storage outside the class:
|
|
484
599
|
* they keep the declared layout, so an initializer from unchecked reads
|
|
485
600
|
* converts once instead of the binding adopting the widened variant. */
|
|
@@ -508,11 +623,29 @@ export declare class Lowerer {
|
|
|
508
623
|
runtimeOptionalRootOf(local: IrLocal): IrLocal;
|
|
509
624
|
runtimeOptionalBindingType(node: ts.Node): IrType | null;
|
|
510
625
|
runtimeOptionalBindingType(node: ts.Node, fallback: IrType): IrType;
|
|
626
|
+
/** A TypeScript object literal handed to a JavaScript checked-value
|
|
627
|
+
* parameter whose inferred type is open (`constructor({ factory, ...options
|
|
628
|
+
* } = {})` — the rest element admits any property): the literal names a
|
|
629
|
+
* property the contextual JS type does not declare, so it has no record
|
|
630
|
+
* layout there and is built as the plain object the JS side receives. */
|
|
631
|
+
private excessJsContextualProperty;
|
|
632
|
+
/** The index value of a keyed read of a record's index signature that
|
|
633
|
+
* can answer undefined for a missing key while its checker type does not
|
|
634
|
+
* admit undefined, or null. A literal key naming a declared field is a
|
|
635
|
+
* field read. */
|
|
636
|
+
optionalIndexSignatureRead(e: ts.ElementAccessExpression): IrType | null;
|
|
511
637
|
runtimeOptionalIdentifierValue(node: ts.Expression): {
|
|
512
638
|
value: IrExpr;
|
|
513
639
|
present: IrType;
|
|
514
640
|
unionId: string;
|
|
515
641
|
} | null;
|
|
642
|
+
/** True when `node`'s lowered value can hold a hidden `undefined` the
|
|
643
|
+
* checker type does not admit: an unchecked element or member read, a call
|
|
644
|
+
* whose lowered return admits undefined, or a binding whose storage the
|
|
645
|
+
* optional-read analysis marked. Whether the value actually carries the
|
|
646
|
+
* undefined arm is only known once it is lowered
|
|
647
|
+
* (runtimeOptionalSourceValue); this is the syntactic precondition. */
|
|
648
|
+
isRuntimeOptionalOrigin(node: ts.Expression): boolean;
|
|
516
649
|
/** Recover the original optional union when a checked single-arm helper
|
|
517
650
|
* was installed before a strict property consumer could name its member.
|
|
518
651
|
* Recovery covers member reads and storage roots marked by the
|
|
@@ -523,7 +656,7 @@ export declare class Lowerer {
|
|
|
523
656
|
* value. Reuse a plain read directly or stabilize an effectful receiver
|
|
524
657
|
* once, throw Node's member-read TypeError for a unit arm, and extract the
|
|
525
658
|
* expected present arm otherwise. */
|
|
526
|
-
runtimeOptionalPropertyReceiver(node: ts.Expression, value: IrExpr, expected: IrType, member: string): IrExpr | null;
|
|
659
|
+
runtimeOptionalPropertyReceiver(node: ts.Expression, value: IrExpr, expected: IrType, member: string, action?: "read" | "set"): IrExpr | null;
|
|
527
660
|
runtimeOptionalFieldKey(shapeId: string, field: string): string;
|
|
528
661
|
isRuntimeOptionalField(shapeId: string, field: string): boolean;
|
|
529
662
|
isRuntimeOptionalGlobal(global: IrGlobal): boolean;
|
|
@@ -574,10 +707,28 @@ export declare class Lowerer {
|
|
|
574
707
|
/** Settled generic class-rest metadata requires the historical emit
|
|
575
708
|
* fallback so its fence can poison the original statement atomically. */
|
|
576
709
|
requiresHistoricalOrderRelower: boolean;
|
|
710
|
+
/** A general stream value (a runtime stream class instance) reached a
|
|
711
|
+
* slot the child/process stdio handles represent — NodeJS.ReadableStream,
|
|
712
|
+
* NodeJS.WritableStream, or @types/node's stream.Readable/Writable — or
|
|
713
|
+
* a stdio handle reached an 'unknown' slot. lowerToIr then lowers the
|
|
714
|
+
* program again under the general stream representation. */
|
|
715
|
+
requiresGeneralNodeStreams: boolean;
|
|
716
|
+
/** An untyped value reached a stream slot (a checked unwrap into a
|
|
717
|
+
* runtime stream class, or an untyped pipe/pipeline stage). lowerToIr
|
|
718
|
+
* then lowers the program again with checked-dynamic stream slots
|
|
719
|
+
* (dyn-streams.ts). */
|
|
720
|
+
requiresDynNodeStreams: boolean;
|
|
721
|
+
/** Receiver representations forced by the per-value stream dispatch
|
|
722
|
+
* (dyn-streams.ts): the native arm lowers a member call on the unboxed
|
|
723
|
+
* stream through the ordinary class-method path. */
|
|
724
|
+
readonly receiverTypeOverrides: Map<import("../ts7/ast-node.js").AstNode, IrType>;
|
|
577
725
|
/** Helpers that snapshot shape declaration order into their bodies.
|
|
578
726
|
* Reachability lowers inits before the declarations they discover, so
|
|
579
727
|
* these rebuild after the worklist restores historical shape metadata. */
|
|
580
728
|
readonly shapeOrderHelperFinalizers: (() => void)[];
|
|
729
|
+
/** Construction witnesses that choose each shape's enumeration order
|
|
730
|
+
* once lowering settles (key-order-witness.ts). */
|
|
731
|
+
readonly keyOrder: KeyOrderNotes;
|
|
581
732
|
/** Emit-override specializations (`%C.emit:<event>` — lower-event-emitter.ts's
|
|
582
733
|
* emit-overrides block): interned names, the drive-loop queue, and the
|
|
583
734
|
* currently-lowering specialization's context (the super-forward
|
|
@@ -589,6 +740,9 @@ export declare class Lowerer {
|
|
|
589
740
|
/** Generated value helpers, keyed by operation and type. Callers own
|
|
590
741
|
* their key prefixes; this includes more than structural conversions. */
|
|
591
742
|
readonly valueHelpers: Map<string, string>;
|
|
743
|
+
/** structuralNarrowing's assignable classes, keyed by static and
|
|
744
|
+
* narrowed class name. */
|
|
745
|
+
readonly structuralClassPeers: Map<string, readonly string[]>;
|
|
592
746
|
/** Interned node:assert helpers (deep-equality comparisons keyed by
|
|
593
747
|
* typeKey, throws wrappers keyed by callback type + expected class) —
|
|
594
748
|
* the valueHelpers pattern with its own namespace. */
|
|
@@ -609,6 +763,16 @@ export declare class Lowerer {
|
|
|
609
763
|
/** Method adapter names are owned by class-method-values. Looking them
|
|
610
764
|
* up must not scan and retain every unrelated lifted function. */
|
|
611
765
|
readonly classMethodValueHelpers: Set<string>;
|
|
766
|
+
/** Reflected class methods whose lambda is lowering right now (null
|
|
767
|
+
* until lowerLambda named it), with the closure it will produce: a
|
|
768
|
+
* method that reads itself as a value inside its own body
|
|
769
|
+
* (`o.create = K.create`) takes this closure instead of lowering the
|
|
770
|
+
* method again. */
|
|
771
|
+
readonly methodLambdasInProgress: Map<import("../ts7/ast-node.js").AstNode, {
|
|
772
|
+
fnName: string;
|
|
773
|
+
type: IrType;
|
|
774
|
+
selfReads: number;
|
|
775
|
+
} | null>;
|
|
612
776
|
readonly classMethodValueSelections: Map<string, import("./class-method-values.js").ClassMethodValueSelection>;
|
|
613
777
|
/** Callee names of every interned coercion helper whose CALL mints a
|
|
614
778
|
* FRESH closure per evaluation (%fn.width.*, %fn.adapt.*,
|
|
@@ -635,6 +799,13 @@ export declare class Lowerer {
|
|
|
635
799
|
kind: "func";
|
|
636
800
|
};
|
|
637
801
|
}>;
|
|
802
|
+
/** Accessor exports' link-time values for ES-module importers, and the
|
|
803
|
+
* per-module flag that the copy already ran (cjsAccessorSnapshotStores). */
|
|
804
|
+
readonly cjsAccessorSnapshots: Map<import("../ts7/ast-node.js").AstNode, {
|
|
805
|
+
id: string;
|
|
806
|
+
type: IrType;
|
|
807
|
+
}>;
|
|
808
|
+
readonly cjsSnapshotReady: Map<ts.SourceFile, string>;
|
|
638
809
|
/** Interned `%iter.drain.<n>` helpers (classIteratorDrainCall): one per
|
|
639
810
|
* receiver class — the eager drain of a class iterable's protocol into
|
|
640
811
|
* a fresh element array, behind array/call spreads. */
|
|
@@ -659,6 +830,8 @@ export declare class Lowerer {
|
|
|
659
830
|
* so named imports, namespace reads, CommonJS bindings, and alias chains
|
|
660
831
|
* all reuse one immortal zero-capture closure. */
|
|
661
832
|
readonly builtinCallableValueFns: Map<string, string>;
|
|
833
|
+
/** Each builtin function-value adapter's Node name, for boxed values. */
|
|
834
|
+
readonly builtinCallableValueNames: Map<string, string>;
|
|
662
835
|
/** Optional-chain lowering state. While a chain body lowers, the guarded
|
|
663
836
|
* receiver NODE reads as a chainRecv (typed by the narrowed arm) instead
|
|
664
837
|
* of re-lowering, its checker type reads non-nullish (typeOf), and the
|
|
@@ -712,6 +885,10 @@ export declare class Lowerer {
|
|
|
712
885
|
/** Named method slots observed before class collection need a callable
|
|
713
886
|
* ABI and shared prototype descriptors instead of call-site specialization. */
|
|
714
887
|
readonly prototypeMethodAccesses: Map<string, import("../ts7/ast-node.js").AstNode>;
|
|
888
|
+
/** Well-known symbol methods (`sym:iterator`) the program may replace
|
|
889
|
+
* through a symbol-keyed write: an instance or prototype property, or a
|
|
890
|
+
* reflection call. */
|
|
891
|
+
readonly replacedSymbolMethods: Set<string>;
|
|
715
892
|
/** Typed calls through class-backed protocols, by signature; class
|
|
716
893
|
* dynamic dispatch adds their native arms (class-protocol-dispatch.ts). */
|
|
717
894
|
readonly protocolDispatches: Map<string, ProtocolDispatch>;
|
|
@@ -729,6 +906,9 @@ export declare class Lowerer {
|
|
|
729
906
|
* base vtable signature is collected. Unused checked slots carry undefined. */
|
|
730
907
|
readonly virtualJsMethodArity: Map<ts.MethodDeclaration, number>;
|
|
731
908
|
readonly checkedVirtualJsMethods: Set<ts.MethodDeclaration>;
|
|
909
|
+
/** Overrides whose return narrows part of the base's union return; they
|
|
910
|
+
* return through the base's union ABI (overrideReturnAbi). */
|
|
911
|
+
readonly unionReturnOverrides: Set<ts.MethodDeclaration>;
|
|
732
912
|
readonly checkedVirtualJsAccessors: Set<ts.GetAccessorDeclaration | ts.SetAccessorDeclaration>;
|
|
733
913
|
readonly checkedVirtualJsValueReturns: Set<ts.MethodDeclaration>;
|
|
734
914
|
/** The class whose members are lowering — `super` binds lexically to it
|
|
@@ -752,6 +932,10 @@ export declare class Lowerer {
|
|
|
752
932
|
* prepended by lowerFileInit so the bindings are live before any
|
|
753
933
|
* top-level statement runs. */
|
|
754
934
|
readonly jsonInitActions: Map<ts.SourceFile, IrStmt[]>;
|
|
935
|
+
/** CommonJS require() of JSON documents: the shared object per document
|
|
936
|
+
* and the calls reading it (json-require.ts). */
|
|
937
|
+
readonly jsonRequireModules: Map<string, JsonRequireModule>;
|
|
938
|
+
readonly jsonRequireCalls: Map<ts.CallExpression, JsonRequireModule>;
|
|
755
939
|
/** Dynamic `import("literal")` resolutions, keyed
|
|
756
940
|
* `fileName\u0000specifier` (collectDynamicImports fills it during npm
|
|
757
941
|
* collection; lowerDynamicImportCall reads it per site). */
|
|
@@ -793,6 +977,12 @@ export declare class Lowerer {
|
|
|
793
977
|
readonly workerTargets: readonly ts.SourceFile[];
|
|
794
978
|
readonly workerTargetIdByPath: Map<string, number>;
|
|
795
979
|
usesWorkers: boolean;
|
|
980
|
+
/** The program uses the WebAssembly API (builtins/webassembly.ts): the
|
|
981
|
+
* build translates the modules it discovers. */
|
|
982
|
+
usesWebAssembly: boolean;
|
|
983
|
+
/** The program calls WebAssembly.Module.customSections: translated
|
|
984
|
+
* modules keep their custom sections. */
|
|
985
|
+
usesWasmCustomSections: boolean;
|
|
796
986
|
/** The program constructs a LifetimeRegion (lifetime-regions.ts). */
|
|
797
987
|
usesLifetimeRegions: boolean;
|
|
798
988
|
/** Per-directory answers of experimental-import.ts's declaration-file test. */
|
|
@@ -806,6 +996,16 @@ export declare class Lowerer {
|
|
|
806
996
|
key: string;
|
|
807
997
|
node: ts.Node;
|
|
808
998
|
}>;
|
|
999
|
+
/** Each ThreadSlots name's type arguments (thread-slots.ts). */
|
|
1000
|
+
readonly threadSlotNames: Map<string, string>;
|
|
1001
|
+
/** The family each `new ThreadSlots(...)` opens. */
|
|
1002
|
+
readonly threadSlotFamilies: Map<ts.NewExpression, {
|
|
1003
|
+
name: string;
|
|
1004
|
+
key: IrType;
|
|
1005
|
+
value: IrType;
|
|
1006
|
+
}>;
|
|
1007
|
+
/** Classes used as ThreadSlots keys: their hierarchies carry a slot word. */
|
|
1008
|
+
readonly threadSlotKeys: Set<string>;
|
|
809
1009
|
readonly forkTargetIdByPath: Map<string, number>;
|
|
810
1010
|
/** Namespace ModuleBlocks this program lowers, filled by splitFiles:
|
|
811
1011
|
* "flattened" — an instantiated namespace whose body joined the file's
|
|
@@ -884,6 +1084,9 @@ export declare class Lowerer {
|
|
|
884
1084
|
deferredModuleInitializers: DeferredModuleInitializers | null;
|
|
885
1085
|
fnStack: FnCtx[];
|
|
886
1086
|
readonly liftedFns: IrFunction[];
|
|
1087
|
+
/** Runtime-provided classes used as values (defineClassValueConstruct),
|
|
1088
|
+
* by IR class name. */
|
|
1089
|
+
readonly runtimeClassValues: Map<string, ClassInfo>;
|
|
887
1090
|
/** One Error-method helper belongs to this lowering session. Its cached
|
|
888
1091
|
* dispatch revision needs no weak-key identity or process-global state. */
|
|
889
1092
|
errorMethodDispatchRevision: string | null;
|
|
@@ -916,6 +1119,21 @@ export declare class Lowerer {
|
|
|
916
1119
|
* by class name (cycle-initialization.ts). */
|
|
917
1120
|
readonly classInitFlags: Map<string, CycleInitFlag>;
|
|
918
1121
|
readonly cycleInitDeclarations: Map<ts.StatementBase, CycleInitFlag[]>;
|
|
1122
|
+
/** Each class's constructor return plan by class name
|
|
1123
|
+
* (constructor-returns.ts); null when no return can yield an object. */
|
|
1124
|
+
readonly constructorReturnPlans: Map<string, ConstructorReturnPlan | null>;
|
|
1125
|
+
/** Pointer-guarded (`tdz`) module bindings declared without an
|
|
1126
|
+
* initializer (`let f: T;`): an initialization flag tracks their
|
|
1127
|
+
* declaration (markCycleEarlyBindings). */
|
|
1128
|
+
readonly uninitializedLexicalGlobals: Map<string, {
|
|
1129
|
+
name: ts.Identifier;
|
|
1130
|
+
module: ts.SourceFile;
|
|
1131
|
+
symbol: ts.Symbol;
|
|
1132
|
+
}>;
|
|
1133
|
+
/** CommonJS require declarations whose bindings code running before the
|
|
1134
|
+
* require can read, and those references (require-initialization.ts). */
|
|
1135
|
+
readonly requireInitFlags: Map<ts.VariableDeclaration, RequireInitFlag>;
|
|
1136
|
+
readonly requireEarlyReferences: EarlyReference[];
|
|
919
1137
|
get ctx(): FnCtx;
|
|
920
1138
|
get scopes(): Map<ts.Symbol, IrLocal>[];
|
|
921
1139
|
/** Names of bodies a prior reachability pass reached; null lowers everything. */
|
|
@@ -939,6 +1157,16 @@ export declare class Lowerer {
|
|
|
939
1157
|
/** Coverage remainder mode: the reachability gate inverts (see wantBody)
|
|
940
1158
|
* and no module is built. */
|
|
941
1159
|
readonly remainder: boolean;
|
|
1160
|
+
/** `--tier` (tier-analysis.ts). Stage S2 is report-only: both modes
|
|
1161
|
+
* refuse and fence exactly as before. Stage S6 demotes the units of
|
|
1162
|
+
* committed refusals in "auto" and keeps them refusals in "static-only". */
|
|
1163
|
+
readonly tierMode: TierMode;
|
|
1164
|
+
readonly generalNodeStreams: boolean;
|
|
1165
|
+
readonly dynNodeStreams: boolean;
|
|
1166
|
+
/** Functions finishModule placed in the dynamic tier (ir/tiers.ts). */
|
|
1167
|
+
dynamicFunctions: DynamicFunction[];
|
|
1168
|
+
/** Their IR, for coverage's dynamic statement count. */
|
|
1169
|
+
dynamicBodies: IrFunction[];
|
|
942
1170
|
/** Deferred collection diagnostics (failed signatures/class shapes) by
|
|
943
1171
|
* declaration symbol: an unreached declaration must not fail the build,
|
|
944
1172
|
* so its diagnostics wait until a reference makes them relevant. */
|
|
@@ -966,6 +1194,9 @@ export declare class Lowerer {
|
|
|
966
1194
|
readonly targetPlatform: string;
|
|
967
1195
|
/** LowererMode.startupCrash — buildMain opens %main with the throw. */
|
|
968
1196
|
readonly startupCrash: StartupCrash | null;
|
|
1197
|
+
/** The project's tsconfig sets `checkJs`. */
|
|
1198
|
+
readonly projectCheckJs: boolean;
|
|
1199
|
+
private readonly checkedJsFiles;
|
|
969
1200
|
/** Outbound native bindings by their source-level ambient name. */
|
|
970
1201
|
readonly ffiImports: readonly IrFfiImport[];
|
|
971
1202
|
readonly libraryCallbacks: boolean;
|
|
@@ -1007,18 +1238,45 @@ export declare class Lowerer {
|
|
|
1007
1238
|
total: number;
|
|
1008
1239
|
failed: number;
|
|
1009
1240
|
}>;
|
|
1241
|
+
/** Statements and field initializers already in the coverage totals, and
|
|
1242
|
+
* those already counted as failed. Speculative lowering can lower one
|
|
1243
|
+
* function body several times: each receiver probe of
|
|
1244
|
+
* `(function () { ... }).call(this)` lowers it. A source statement counts
|
|
1245
|
+
* once however many times it lowers. */
|
|
1246
|
+
private readonly countedStatements;
|
|
1247
|
+
private readonly failedStatements;
|
|
1248
|
+
/** Adds `node` to the coverage totals unless it is already counted (the
|
|
1249
|
+
* caller checks suppressStats). */
|
|
1250
|
+
countStatement(node: ts.Node, file: string | undefined): void;
|
|
1251
|
+
/** Counts `node` as failed unless it already is (the caller checks
|
|
1252
|
+
* suppressStats). */
|
|
1253
|
+
countStatementFailed(node: ts.Node, file: string | undefined): void;
|
|
1010
1254
|
/** Bumps the per-file attribution counter (no-op unless provenance is
|
|
1011
1255
|
* active and this is the emit/discovery lane — mirror the CALLER's
|
|
1012
1256
|
* suppressStats guard, this method only gates remainder). */
|
|
1013
1257
|
bumpFileStat(file: string, kind: "total" | "failed"): void;
|
|
1014
1258
|
constructor(program: ts.Program, entry: ts.SourceFile, moduleOrder: ts.SourceFile[], mode?: LowererMode);
|
|
1259
|
+
/** A JavaScript file TypeScript type-checks (`// @ts-check`, or the
|
|
1260
|
+
* project's `checkJs`). Its JSDoc types are enforced like TypeScript
|
|
1261
|
+
* annotations, so its classes use them as a TypeScript file would. */
|
|
1262
|
+
checkedJsFile(sf: ts.SourceFile): boolean;
|
|
1015
1263
|
registerBuiltinErrorClasses(): void;
|
|
1016
1264
|
private classProtocols;
|
|
1017
1265
|
classImplementedProtocol(type: ts.Type): boolean;
|
|
1018
1266
|
/** Declared class fields may store a DYN value only when its static type
|
|
1019
|
-
*
|
|
1020
|
-
*
|
|
1267
|
+
* is `unknown` or `object` (also with `null` or `undefined`, or an array
|
|
1268
|
+
* of those), names checked protocol identity, is an owned runtime
|
|
1269
|
+
* handle (a Worker or MessagePort, or a fetch Headers/Request/Response),
|
|
1270
|
+
* or is a WeakMap/WeakSet (native weak collections live in
|
|
1271
|
+
* checked-dynamic storage, as locals of those types do); `any` fields
|
|
1272
|
+
* stay refused. */
|
|
1021
1273
|
classFieldStoresDyn(type: ts.Type): boolean;
|
|
1274
|
+
/** A stdlib WeakMap or WeakSet, alone or with `null`/`undefined`. */
|
|
1275
|
+
private weakCollectionType;
|
|
1276
|
+
/** `unknown`, `object`, an array of those, or a union of those with
|
|
1277
|
+
* `null` and `undefined`: types whose values use checked-dynamic storage
|
|
1278
|
+
* as they do in JavaScript class fields. */
|
|
1279
|
+
private opaqueValueType;
|
|
1022
1280
|
/** The nominal identity of a checker module-namespace type. Program
|
|
1023
1281
|
* modules use their normalized absolute source name; supported builtins
|
|
1024
1282
|
* use the lowering tables' canonical bare name. */
|
|
@@ -1027,6 +1285,8 @@ export declare class Lowerer {
|
|
|
1027
1285
|
builtinErrorInfoOf(symbol: ts.Symbol | null | undefined): ClassInfo | null;
|
|
1028
1286
|
builtinEmitterInfoOf(symbol: ts.Symbol | null | undefined): ClassInfo | null;
|
|
1029
1287
|
builtinStreamInfoOf(symbol: ts.Symbol | null | undefined): ClassInfo | null;
|
|
1288
|
+
builtinClassAliasOf(symbol: ts.Symbol): BuiltinClassRef | null;
|
|
1289
|
+
defineClassValueConstruct(info: ClassInfo): void;
|
|
1030
1290
|
/** Program-wide qualified name for a top-level declaration. */
|
|
1031
1291
|
qualify(sf: ts.SourceFile, name: string): string;
|
|
1032
1292
|
/** The IR name mapType gives class instance types — must agree with
|
|
@@ -1090,6 +1350,11 @@ export declare class Lowerer {
|
|
|
1090
1350
|
* JS module, the statement is not discarded by a later table, and the
|
|
1091
1351
|
* identifier resolves to a class declaration. Null otherwise. */
|
|
1092
1352
|
cjsMemberExportClassSymbol(d: ts.Node): ts.Symbol | null;
|
|
1353
|
+
/** For an inline program `require("./c")`: the class symbol its module's
|
|
1354
|
+
* kept `module.exports = <class identifier>` names, or null when the
|
|
1355
|
+
* whole export is something else. Undefined when `expr` is not such a
|
|
1356
|
+
* require. */
|
|
1357
|
+
memberExportRequiredClass(expr: ts.Expression): ts.Symbol | null | undefined;
|
|
1093
1358
|
/** The CommonJS JS module a DEFAULT-import binding's declaration loads
|
|
1094
1359
|
* (`import d from "./lib.cjs"`), or null: Node's ESM-CJS interop binds
|
|
1095
1360
|
* the default to module.exports — exactly a require binding — so those
|
|
@@ -1097,6 +1362,12 @@ export declare class Lowerer {
|
|
|
1097
1362
|
* (any .ts, ESM-syntax .js/.mjs) answer null and keep the ESM default
|
|
1098
1363
|
* machinery. */
|
|
1099
1364
|
private cjsDefaultImportDepOf;
|
|
1365
|
+
/** The table module a non-identifier module reference names: an inline
|
|
1366
|
+
* `require("./x")` (cjs-inline-require.ts) or tsc's unstamped
|
|
1367
|
+
* `x_1.default` interop read (cjs-tsc-interop.ts). */
|
|
1368
|
+
cjsModuleRefDepOf(expr: ts.Expression): ts.SourceFile | null;
|
|
1369
|
+
/** The table module a CommonJS module binding identifier names. */
|
|
1370
|
+
cjsModuleBindingDepOf(expr: ts.Identifier): ts.SourceFile | null;
|
|
1100
1371
|
/** The compiled module behind a require-like namespace binding: an
|
|
1101
1372
|
* ordinary CommonJS require declaration, a canonical createRequire
|
|
1102
1373
|
* declaration, or an ESM default import of CommonJS. One resolver keeps
|
|
@@ -1139,6 +1410,17 @@ export declare class Lowerer {
|
|
|
1139
1410
|
* calls of these names. Runs in every pass so the ids are
|
|
1140
1411
|
* deterministic. */
|
|
1141
1412
|
prepareModuleInits(parts: FileParts[]): void;
|
|
1413
|
+
/** node:punycode's load at a require() call: the module body reports
|
|
1414
|
+
* DEP0040 when it first runs, unless isInsideNodeModules() finds the
|
|
1415
|
+
* requiring frame in a dependency, and process.emitWarning delivers the
|
|
1416
|
+
* report on the next tick. Later loads are cache hits either way. */
|
|
1417
|
+
punycodeRequireWarning(node: ts.Node): IrStmt;
|
|
1418
|
+
/** node:punycode's DEP0040 for a static ES import anywhere in the module
|
|
1419
|
+
* graph: Node links builtins before any module evaluates, so the report
|
|
1420
|
+
* comes first, before the program can register a 'warning' listener —
|
|
1421
|
+
* whichever file imports it (a dependency's ES import has no requiring
|
|
1422
|
+
* frame either). Prepended to the entry's %init. */
|
|
1423
|
+
punycodeLinkWarning(): IrStmt[];
|
|
1142
1424
|
/** The lowering of a CommonJS `require("./local")` occurrence: a call of
|
|
1143
1425
|
* the required module's run-once %init at exactly this statement's
|
|
1144
1426
|
* position — Node's inline evaluation, with the guard supplying the
|
|
@@ -1159,6 +1441,16 @@ export declare class Lowerer {
|
|
|
1159
1441
|
* TypeScript's default indexed-access type is a useful source annotation,
|
|
1160
1442
|
* but it is not a runtime proof; promoting only the affected slots keeps
|
|
1161
1443
|
* the rest of the dense ABI unchanged. */
|
|
1444
|
+
/** A Date's `toJSON()` answers null for an invalid date while the lib
|
|
1445
|
+
* types say `string`: unannotated bindings initialized by such a call,
|
|
1446
|
+
* and object-literal fields holding one, keep `string | null`. */
|
|
1447
|
+
analyzeDateJsonResults(parts: FileParts[]): void;
|
|
1448
|
+
/** A file-scope get-or-create read (`let e = map[k]; if (e ===
|
|
1449
|
+
* undefined) ...` over an index-signature record) keeps a missing key as
|
|
1450
|
+
* undefined (isGuardedRecordRead). Its pre-registered global takes the
|
|
1451
|
+
* undefined arm before any body reads it; the declaration lowers its
|
|
1452
|
+
* initializer as the matching absence probe. */
|
|
1453
|
+
analyzeGuardedRecordReadGlobals(parts: FileParts[]): void;
|
|
1162
1454
|
analyzeRuntimeOptionalArrayReads(parts: FileParts[]): void;
|
|
1163
1455
|
run(): LowerResult;
|
|
1164
1456
|
/** Final retention, pruning, and module assembly shared by ordinary emit
|
|
@@ -1225,6 +1517,21 @@ export declare class Lowerer {
|
|
|
1225
1517
|
deferToRuntimeFence(diagsBefore: number, node: ts.Node, target: RuntimeFenceStatementTarget): IrStmt | null;
|
|
1226
1518
|
deferToRuntimeFence(diagsBefore: number, node: ts.Node, target: RuntimeFenceFunctionTarget): IrFunction | null;
|
|
1227
1519
|
deferToRuntimeFence(diagsBefore: number, node: ts.Node, target: RuntimeFenceClosureTarget): IrExpr | null;
|
|
1520
|
+
/** The runtimeFence statement that throws `first`'s message (or the
|
|
1521
|
+
* fallback's) at `node`. */
|
|
1522
|
+
private runtimeFenceStmt;
|
|
1523
|
+
/** The current length of the capture buffer (diagSink), or 0 without one:
|
|
1524
|
+
* the mark capturedRuntimeFence reads the refusal from. */
|
|
1525
|
+
diagSinkMark(): number;
|
|
1526
|
+
/** The runtimeFence for a JavaScript statement refused while a capture
|
|
1527
|
+
* buffer (diagSink) is active. The buffer's owner decides whether its
|
|
1528
|
+
* diagnostics report, and some owners keep the lowered result (a
|
|
1529
|
+
* successful tryLowerExpression candidate, a computed class base whose
|
|
1530
|
+
* diagnostics defer to the class). Without a fence the refused statement
|
|
1531
|
+
* would vanish from that result; with one it throws the refusal when it
|
|
1532
|
+
* runs, exactly like the fence lowerStmts emits outside a buffer. The
|
|
1533
|
+
* diagnostics stay in the buffer for its owner. Null without a buffer. */
|
|
1534
|
+
capturedRuntimeFence(sinkMark: number, node: ts.Node): IrStmt | null;
|
|
1228
1535
|
/** All diagnostics land here; while a generic instance body is lowering,
|
|
1229
1536
|
* the instantiation context is appended so the user knows which concrete
|
|
1230
1537
|
* types made the (source-anchored) construct fail. */
|
|
@@ -1255,6 +1562,10 @@ export declare class Lowerer {
|
|
|
1255
1562
|
* body lowers) type-parameter bindings threaded through. A supplied mapper
|
|
1256
1563
|
* retains interface-view substitutions while sharing ABI normalization. */
|
|
1257
1564
|
mapTypeOf(t: ts.Type, mapper?: (type: ts.Type) => IrType | null): IrType | null;
|
|
1565
|
+
/** The runtime type of a record member slot typed `t`: an overloaded
|
|
1566
|
+
* member's erased function (erasedOverloadMemberType — the type a record
|
|
1567
|
+
* shape stores for it), otherwise mapTypeOf. */
|
|
1568
|
+
memberSlotTypeOf(t: ts.Type): IrType | null;
|
|
1258
1569
|
/** The one position where a contextual UNION must not be adopted over the
|
|
1259
1570
|
* expression's own: the LEFT operand of `&&`, `||`, or `??`. Adopting a
|
|
1260
1571
|
* contextual union is normally safe because tsc proved the value
|
|
@@ -1435,6 +1746,9 @@ export declare class Lowerer {
|
|
|
1435
1746
|
recordUnionWrapHelper(source: IrType & {
|
|
1436
1747
|
kind: "record";
|
|
1437
1748
|
}, toId: string, loc: SrcLoc): string | null;
|
|
1749
|
+
recordUnionRouteHelper(source: IrType & {
|
|
1750
|
+
kind: "record";
|
|
1751
|
+
}, toId: string, loc: SrcLoc): string | null;
|
|
1438
1752
|
unionRetagHelper(fromId: string, toId: string, loc: SrcLoc, trappable?: ReadonlySet<number>): string | null;
|
|
1439
1753
|
narrowedArmHelper(fromId: string, target: IrType, loc: SrcLoc): string | null;
|
|
1440
1754
|
checkedNarrowCall(helper: string, value: IrExpr, type: IrType, loc: SrcLoc): IrExpr;
|
|
@@ -1466,6 +1780,10 @@ export declare class Lowerer {
|
|
|
1466
1780
|
/** Lower for a known destination, then apply ordinary value coercion.
|
|
1467
1781
|
* Fresh arrays and records use the destination layout directly. */
|
|
1468
1782
|
lowerExprExpecting(node: ts.Expression, expected: IrType | undefined): IrExpr;
|
|
1783
|
+
/** The conversion lowerExprExpecting applies to `e`, the lowered value
|
|
1784
|
+
* of `node` when it is not fresh construction the destination directs
|
|
1785
|
+
* (a literal, conditional, or empty collection). */
|
|
1786
|
+
coerceExistingInto(node: ts.Expression, e: IrExpr, expected: IrType): IrExpr;
|
|
1469
1787
|
/** An unannotated empty collection has no existing elements or aliases
|
|
1470
1788
|
* that constrain its layout. An explicit type argument still wins. */
|
|
1471
1789
|
emptyCollectionFor(node: ts.Expression, expected: IrType): IrExpr | null;
|
|
@@ -1481,6 +1799,14 @@ export declare class Lowerer {
|
|
|
1481
1799
|
* declared result type of an index-signature read under
|
|
1482
1800
|
* noUncheckedIndexedAccess. Null when the type cannot take the arm. */
|
|
1483
1801
|
withUndefinedArmOf(t: IrType): IrType | null;
|
|
1802
|
+
/** Whether a promise of `from` converts to a promise of `to` through the
|
|
1803
|
+
* checked payload widening (coerceToExpected's boxed-settlement rule,
|
|
1804
|
+
* which keeps the promise's identity and settlement turn). */
|
|
1805
|
+
promisePayloadWidens(from: IrType & {
|
|
1806
|
+
kind: "promise";
|
|
1807
|
+
}, to: IrType & {
|
|
1808
|
+
kind: "promise";
|
|
1809
|
+
}): boolean;
|
|
1484
1810
|
/** True when a static type converts to a dyn value (the dynFrom
|
|
1485
1811
|
* walker's domain): JSON-safe, bytes<u8> (Uint8Array/Buffer — the checked-dynamic tree's
|
|
1486
1812
|
* bytes kind, payload copied; stdin chunks into unknown-typed helpers),
|
|
@@ -1502,6 +1828,13 @@ export declare class Lowerer {
|
|
|
1502
1828
|
* undefined, which the void slot drops. Units are pure literals, so
|
|
1503
1829
|
* nothing evaluates; unit-typed non-literals keep the fences. */
|
|
1504
1830
|
lowerReturnValue(node: ts.Expression): IrExpr | null;
|
|
1831
|
+
/** A fresh JS object literal returned into a checked-native (dyn) result,
|
|
1832
|
+
* which lowers straight into that storage. */
|
|
1833
|
+
private returnsLiteralIntoDyn;
|
|
1834
|
+
/** The value of `return <e>` (already lowered untyped) in an async or
|
|
1835
|
+
* void context: a promise flattens through the returned-promise await,
|
|
1836
|
+
* everything else converts into the declared result. */
|
|
1837
|
+
private asyncReturnValueOf;
|
|
1505
1838
|
/** Whether a promise returned here resolves the function's own promise
|
|
1506
1839
|
* by adoption (async functions; async generators await their return
|
|
1507
1840
|
* operand instead). */
|
|
@@ -1520,6 +1853,10 @@ export declare class Lowerer {
|
|
|
1520
1853
|
* caller never sees a value, so the return goes out bare. Async
|
|
1521
1854
|
* void-inner returns still resolve a returned promise first. */
|
|
1522
1855
|
lowerReturnStmt(node: ts.Expression, loc: SrcLoc): IrStmt;
|
|
1856
|
+
/** `return u` of a promise-armed union (maybe-promise, or promise-or-
|
|
1857
|
+
* unit) in an async function: adopt the promise arm, fulfill with the
|
|
1858
|
+
* others (maybe-promise.ts). Null when the return is not that shape. */
|
|
1859
|
+
maybePromiseReturn(node: ts.Expression, e: IrExpr, expected: IrType): IrStmt | null;
|
|
1523
1860
|
private lowerReturnOf;
|
|
1524
1861
|
maybeNarrow(expr: IrExpr, node: ts.Node): IrExpr;
|
|
1525
1862
|
lowerUnitComparison(left: IrExpr, right: IrExpr, negated: boolean, loc: SrcLoc): IrExpr | null;
|
|
@@ -1619,6 +1956,21 @@ export declare class Lowerer {
|
|
|
1619
1956
|
ordinal: number;
|
|
1620
1957
|
}): void;
|
|
1621
1958
|
lowerClassExpressionInfo(expr: ts.ClassLikeDeclaration): ClassInfo;
|
|
1959
|
+
/** Depth of the whole-program analyses that query types across every
|
|
1960
|
+
* file before reachability is known (speculativeTypeQueries). */
|
|
1961
|
+
private speculativeTypeQueryDepth;
|
|
1962
|
+
/** Runs a whole-program analysis whose type queries are speculative: they
|
|
1963
|
+
* visit every file, reached or not, and no statement or declaration owns
|
|
1964
|
+
* a refusal they trigger (collectLocalClassForType). */
|
|
1965
|
+
speculativeTypeQueries(analysis: () => void): void;
|
|
1966
|
+
/** Collects a function-local class because a type query named its
|
|
1967
|
+
* instance type. Collection and body lowering own a refusal of that
|
|
1968
|
+
* class: the poison reaches the declaration or statement that asked, as
|
|
1969
|
+
* before. A speculative whole-program analysis owns none, so there the
|
|
1970
|
+
* refusal stays reported (the build fails with it, as it did where such
|
|
1971
|
+
* an analysis already caught the poison) and the class is unmappable for
|
|
1972
|
+
* the query instead of the poison escaping the compiler. */
|
|
1973
|
+
collectLocalClassForType(decl: ts.ClassLikeDeclaration): boolean;
|
|
1622
1974
|
lowerClassExpression(expr: ts.ClassLikeDeclaration): IrExpr;
|
|
1623
1975
|
findMethodOn(info: ClassInfo | null, name: string): {
|
|
1624
1976
|
declarer: ClassInfo;
|
|
@@ -1630,6 +1982,9 @@ export declare class Lowerer {
|
|
|
1630
1982
|
gen?: NonNullable<IrFunction["generator"]>;
|
|
1631
1983
|
};
|
|
1632
1984
|
} | null;
|
|
1985
|
+
/** A class whose root is the runtime's %Error (builtin errors and their
|
|
1986
|
+
* program subclasses). */
|
|
1987
|
+
isErrorRootedClass(className: string): boolean;
|
|
1633
1988
|
isSubclassOf(sub: string, sup: string): boolean;
|
|
1634
1989
|
inHierarchy(info: ClassInfo): boolean;
|
|
1635
1990
|
overrideBelow(info: ClassInfo, name: string): boolean;
|
|
@@ -1732,6 +2087,9 @@ export declare class Lowerer {
|
|
|
1732
2087
|
collectGlobals(sf: ts.SourceFile, topStmts: ts.Statement[]): void;
|
|
1733
2088
|
lowerFileInit(sf: ts.SourceFile, stmts: ts.Statement[], name: string): IrFunction;
|
|
1734
2089
|
lowerDefaultExport(stmt: ts.ExportAssignment): IrStmt | null;
|
|
2090
|
+
/** Statements %main runs before any module initializer: runtime
|
|
2091
|
+
* registrations the lowering passes add. */
|
|
2092
|
+
readonly mainPrelude: IrStmt[];
|
|
1735
2093
|
buildMain(): IrFunction;
|
|
1736
2094
|
declareLocal(nameNode: ts.Node, name: string, type: IrType, mutable: boolean): IrLocal;
|
|
1737
2095
|
/** A never-returning call in a value position of type `expected`: the
|
|
@@ -1743,6 +2101,21 @@ export declare class Lowerer {
|
|
|
1743
2101
|
* defaulted parameter (the parameter's symbol binds to the separately-
|
|
1744
2102
|
* declared body local; nothing in the source can name this one). */
|
|
1745
2103
|
declareHiddenLocal(name: string, type: IrType): IrLocal;
|
|
2104
|
+
/** The body binding of a fixed-tuple rest parameter: one native slot per
|
|
2105
|
+
* position (the flattened ABI), rebuilt into the tuple the source names.
|
|
2106
|
+
* The empty tuple rides the empty-array representation. */
|
|
2107
|
+
declareRestTupleParam(decl: ts.ParameterDeclaration, nameNode: ts.Identifier, elemShapes: readonly ParamShape[], params: IrParam[], prologue: IrStmt[]): void;
|
|
2108
|
+
/** `value as never` flowing into a typed slot: `never` is assignable to
|
|
2109
|
+
* every type, so the assertion promises the slot's type. A dynamic value
|
|
2110
|
+
* takes the checked extraction to it, as `value as T` would. Null for
|
|
2111
|
+
* every other form, and for numeric, dynamic and union slots, which
|
|
2112
|
+
* keep the existing lowering. */
|
|
2113
|
+
private neverAssertionInto;
|
|
2114
|
+
/** The tuple record of a forwarded-only rest tuple's native slots. */
|
|
2115
|
+
private forwardedSlotsTuple;
|
|
2116
|
+
/** A fresh tuple holding the given positional slots, typed `tupleType`
|
|
2117
|
+
* (a tuple record, or the empty-array form of `[]`). */
|
|
2118
|
+
tupleOfSlots(slots: readonly IrLocal[], tupleType: IrType, blame: ts.Node, loc: SrcLoc): IrExpr;
|
|
1746
2119
|
/** Declares a callee's parameter locals from its ParamShapes and builds
|
|
1747
2120
|
* the DEFAULT-PARAM PROLOGUE. Required/optional/rest params bind their
|
|
1748
2121
|
* symbol directly (one local of the ABI type). A defaulted param `x: T = e`
|
|
@@ -1773,7 +2146,7 @@ export declare class Lowerer {
|
|
|
1773
2146
|
/** Lexical `this` — the enclosing method's this-param, possibly captured
|
|
1774
2147
|
* through arrows (function expressions/declarations reset `this` in JS;
|
|
1775
2148
|
* their bodies never see an enclosing method's binding). */
|
|
1776
|
-
resolveThis(): IrLocal | null;
|
|
2149
|
+
resolveThis(blame?: ts.Node): IrLocal | null;
|
|
1777
2150
|
peekLocal(ident: ts.Identifier): IrLocal | null;
|
|
1778
2151
|
resolveKey(symbol: ts.Symbol | undefined, blame?: ts.Node): IrLocal | null;
|
|
1779
2152
|
isSelfReference(ident: ts.Identifier): boolean;
|
|
@@ -1990,7 +2363,7 @@ export declare class Lowerer {
|
|
|
1990
2363
|
}, loc: SrcLoc): IrExpr | null;
|
|
1991
2364
|
lowerSpawnSyncCall(expr: ts.CallExpression, loc: SrcLoc): IrExpr;
|
|
1992
2365
|
lowerSpawnCall(expr: ts.CallExpression, loc: SrcLoc): IrExpr;
|
|
1993
|
-
lowerExecFileCall(expr: ts.CallExpression, loc: SrcLoc): IrExpr;
|
|
2366
|
+
lowerExecFileCall(expr: ts.CallExpression, loc: SrcLoc, shell?: boolean): IrExpr;
|
|
1994
2367
|
lowerExecSyncCall(expr: ts.CallExpression, shell: boolean, loc: SrcLoc): IrExpr;
|
|
1995
2368
|
envToPairsHelper(shapeId: string, loc: SrcLoc): string | null;
|
|
1996
2369
|
lowerJsonMethodCall(call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|