@scriptc/compiler 0.2.3 → 0.2.5
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 +915 -215
- package/ambient/scriptc-overrides.d.ts +5 -1
- package/ambient/scriptc.d.ts +22 -2
- package/dist/backend/build-cache.d.ts +4 -0
- package/dist/backend/build-cache.js +16 -2
- package/dist/backend/build-cache.js.map +1 -1
- package/dist/backend/cycle-analysis.js +17 -5
- package/dist/backend/cycle-analysis.js.map +1 -1
- package/dist/backend/cycle-analysis.test.js +50 -11
- package/dist/backend/cycle-analysis.test.js.map +1 -1
- package/dist/backend/debug-symbols.js.map +1 -1
- package/dist/backend/executable-features.js +2 -1
- package/dist/backend/executable-features.js.map +1 -1
- package/dist/backend/external-c.d.ts +13 -6
- package/dist/backend/external-c.js +15 -3
- package/dist/backend/external-c.js.map +1 -1
- package/dist/backend/ffi-callbacks.js +6 -9
- package/dist/backend/ffi-callbacks.js.map +1 -1
- package/dist/backend/library-identity-markers.js.map +1 -1
- package/dist/backend/library-pack.d.ts +1 -1
- package/dist/backend/library-pack.js +81 -24
- package/dist/backend/library-pack.js.map +1 -1
- package/dist/backend/link-plan-core.js +9 -2
- package/dist/backend/link-plan-core.js.map +1 -1
- package/dist/backend/link-plan.d.ts +1 -1
- package/dist/backend/link-plan.js +4 -5
- package/dist/backend/link-plan.js.map +1 -1
- package/dist/backend/linker.d.ts +1 -1
- package/dist/backend/linker.js +42 -23
- package/dist/backend/linker.js.map +1 -1
- package/dist/backend/literals.js +5 -4
- package/dist/backend/literals.js.map +1 -1
- package/dist/backend/literals.test.js +30 -5
- package/dist/backend/literals.test.js.map +1 -1
- package/dist/backend/llvm/blocks.test.js +5 -2
- package/dist/backend/llvm/blocks.test.js.map +1 -1
- package/dist/backend/llvm/borrowed-inputs.d.ts +15 -0
- package/dist/backend/llvm/borrowed-inputs.js +28 -0
- package/dist/backend/llvm/borrowed-inputs.js.map +1 -0
- package/dist/backend/llvm/borrowed-receivers.js +43 -19
- package/dist/backend/llvm/borrowed-receivers.js.map +1 -1
- package/dist/backend/llvm/byte-numbers.d.ts +10 -0
- package/dist/backend/llvm/byte-numbers.js +240 -0
- package/dist/backend/llvm/byte-numbers.js.map +1 -0
- package/dist/backend/llvm/bytes-bounds.d.ts +9 -0
- package/dist/backend/llvm/bytes-bounds.js +240 -0
- package/dist/backend/llvm/bytes-bounds.js.map +1 -0
- package/dist/backend/llvm/call-lifetimes.d.ts +10 -0
- package/dist/backend/llvm/call-lifetimes.js +83 -20
- package/dist/backend/llvm/call-lifetimes.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.test.js +203 -18
- package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/checked-value-lifetimes.d.ts +13 -0
- package/dist/backend/llvm/checked-value-lifetimes.js +45 -0
- package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -0
- package/dist/backend/llvm/classes.js +16 -12
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/common.js +4 -1
- package/dist/backend/llvm/common.js.map +1 -1
- package/dist/backend/llvm/counted-loops.d.ts +6 -0
- package/dist/backend/llvm/counted-loops.js +35 -0
- package/dist/backend/llvm/counted-loops.js.map +1 -0
- package/dist/backend/llvm/debug-info.js +33 -13
- package/dist/backend/llvm/debug-info.js.map +1 -1
- package/dist/backend/llvm/debug-info.test.js +28 -6
- package/dist/backend/llvm/debug-info.test.js.map +1 -1
- package/dist/backend/llvm/dyn.js +68 -22
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +34 -12
- package/dist/backend/llvm/emitter.js +357 -124
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.test.js +237 -46
- package/dist/backend/llvm/emitter.test.js.map +1 -1
- package/dist/backend/llvm/expr-async.js +28 -8
- package/dist/backend/llvm/expr-async.js.map +1 -1
- package/dist/backend/llvm/expr-bytes.d.ts +4 -4
- package/dist/backend/llvm/expr-bytes.js +78 -36
- package/dist/backend/llvm/expr-bytes.js.map +1 -1
- package/dist/backend/llvm/expr-callbacks.js +10 -4
- package/dist/backend/llvm/expr-callbacks.js.map +1 -1
- package/dist/backend/llvm/expr-calls.js +40 -21
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-containers.d.ts +4 -1
- package/dist/backend/llvm/expr-containers.js +157 -76
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-context.d.ts +11 -0
- package/dist/backend/llvm/expr-control.js +27 -8
- package/dist/backend/llvm/expr-control.js.map +1 -1
- package/dist/backend/llvm/expr-dispatch.js +3 -1
- package/dist/backend/llvm/expr-dispatch.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.js +50 -33
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-island.js +26 -6
- package/dist/backend/llvm/expr-island.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.js +139 -37
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.test.js +43 -1
- package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
- package/dist/backend/llvm/expr-records.js +16 -9
- package/dist/backend/llvm/expr-records.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.js +44 -26
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.test.js +51 -14
- package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -1
- package/dist/backend/llvm/expr-stream-callbacks.js +34 -14
- package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
- package/dist/backend/llvm/integer-values.d.ts +10 -0
- package/dist/backend/llvm/integer-values.js +52 -0
- package/dist/backend/llvm/integer-values.js.map +1 -0
- package/dist/backend/llvm/integer-views.d.ts +7 -0
- package/dist/backend/llvm/integer-views.js +83 -0
- package/dist/backend/llvm/integer-views.js.map +1 -0
- package/dist/backend/llvm/integer-views.test.d.ts +1 -0
- package/dist/backend/llvm/integer-views.test.js +69 -0
- package/dist/backend/llvm/integer-views.test.js.map +1 -0
- package/dist/backend/llvm/lib-abi.js +13 -4
- package/dist/backend/llvm/lib-abi.js.map +1 -1
- package/dist/backend/llvm/lib-connect.js +7 -1
- package/dist/backend/llvm/lib-connect.js.map +1 -1
- package/dist/backend/llvm/lib-datagram.js +35 -10
- package/dist/backend/llvm/lib-datagram.js.map +1 -1
- package/dist/backend/llvm/lib-dispatch.js +36 -15
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.js +38 -23
- package/dist/backend/llvm/lib-filesystem.js.map +1 -1
- package/dist/backend/llvm/lib-http2.js +60 -15
- package/dist/backend/llvm/lib-http2.js.map +1 -1
- package/dist/backend/llvm/lib-lookup.js +12 -5
- package/dist/backend/llvm/lib-lookup.js.map +1 -1
- package/dist/backend/llvm/lib-network.js +97 -31
- package/dist/backend/llvm/lib-network.js.map +1 -1
- package/dist/backend/llvm/lib-process.js +57 -14
- package/dist/backend/llvm/lib-process.js.map +1 -1
- package/dist/backend/llvm/lib-shared.js +107 -31
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/lib-stream.js +33 -14
- package/dist/backend/llvm/lib-stream.js.map +1 -1
- package/dist/backend/llvm/lib-test.js +21 -7
- package/dist/backend/llvm/lib-test.js.map +1 -1
- package/dist/backend/llvm/lib-tls.js +69 -20
- package/dist/backend/llvm/lib-tls.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.d.ts +3 -4
- package/dist/backend/llvm/local-array-reads.js +100 -121
- package/dist/backend/llvm/local-array-reads.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.test.js +379 -71
- package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
- package/dist/backend/llvm/local-union-storage.d.ts +25 -0
- package/dist/backend/llvm/local-union-storage.js +109 -0
- package/dist/backend/llvm/local-union-storage.js.map +1 -0
- package/dist/backend/llvm/local-union-storage.test.d.ts +1 -0
- package/dist/backend/llvm/local-union-storage.test.js +210 -0
- package/dist/backend/llvm/local-union-storage.test.js.map +1 -0
- package/dist/backend/llvm/map-read-lifetimes.d.ts +6 -2
- package/dist/backend/llvm/map-read-lifetimes.js +46 -16
- package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
- package/dist/backend/llvm/map-read-lifetimes.test.js +93 -17
- package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/reference-effects.d.ts +23 -0
- package/dist/backend/llvm/reference-effects.js +179 -0
- package/dist/backend/llvm/reference-effects.js.map +1 -0
- package/dist/backend/llvm/reference-effects.test.d.ts +1 -0
- package/dist/backend/llvm/reference-effects.test.js +157 -0
- package/dist/backend/llvm/reference-effects.test.js.map +1 -0
- package/dist/backend/llvm/shapes.d.ts +7 -4
- package/dist/backend/llvm/shapes.js +82 -22
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/shapes.test.js +3 -1
- package/dist/backend/llvm/shapes.test.js.map +1 -1
- package/dist/backend/llvm/split.js +4 -4
- package/dist/backend/llvm/split.js.map +1 -1
- package/dist/backend/llvm/split.test.js +14 -6
- package/dist/backend/llvm/split.test.js.map +1 -1
- package/dist/backend/llvm/stack-unions.js +14 -5
- package/dist/backend/llvm/stack-unions.js.map +1 -1
- package/dist/backend/llvm/stack-unions.test.js +172 -32
- package/dist/backend/llvm/stack-unions.test.js.map +1 -1
- package/dist/backend/llvm/string-construction.d.ts +10 -0
- package/dist/backend/llvm/string-construction.js +38 -0
- package/dist/backend/llvm/string-construction.js.map +1 -0
- package/dist/backend/llvm/string-construction.test.d.ts +1 -0
- package/dist/backend/llvm/string-construction.test.js +90 -0
- package/dist/backend/llvm/string-construction.test.js.map +1 -0
- package/dist/backend/llvm/string-lifetimes.d.ts +2 -2
- package/dist/backend/llvm/string-lifetimes.js +19 -11
- package/dist/backend/llvm/string-lifetimes.js.map +1 -1
- package/dist/backend/llvm/string-lifetimes.test.js +127 -32
- package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/switch-dispatch.d.ts +9 -0
- package/dist/backend/llvm/switch-dispatch.js +114 -0
- package/dist/backend/llvm/switch-dispatch.js.map +1 -0
- package/dist/backend/llvm/switch-dispatch.test.d.ts +1 -0
- package/dist/backend/llvm/switch-dispatch.test.js +83 -0
- package/dist/backend/llvm/switch-dispatch.test.js.map +1 -0
- package/dist/backend/llvm/unsupported.js.map +1 -1
- package/dist/backend/llvm/walkers.js +6 -3
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/mangle.js +9 -3
- package/dist/backend/mangle.js.map +1 -1
- package/dist/backend/may-throw.js +18 -8
- package/dist/backend/may-throw.js.map +1 -1
- package/dist/backend/may-throw.test.js +118 -22
- package/dist/backend/may-throw.test.js.map +1 -1
- package/dist/backend/native/artifact-stamps.d.ts +39 -0
- package/dist/backend/native/artifact-stamps.js +371 -0
- package/dist/backend/native/artifact-stamps.js.map +1 -0
- package/dist/backend/native/cache-warm.d.ts +24 -0
- package/dist/backend/native/cache-warm.js +80 -0
- package/dist/backend/native/cache-warm.js.map +1 -0
- package/dist/backend/native/compiler-fingerprint.d.ts +19 -0
- package/dist/backend/native/compiler-fingerprint.js +357 -0
- package/dist/backend/native/compiler-fingerprint.js.map +1 -0
- package/dist/backend/native/contracts.d.ts +314 -0
- package/dist/backend/native/contracts.js +2 -0
- package/dist/backend/native/contracts.js.map +1 -0
- package/dist/backend/native/dependency-files.d.ts +5 -0
- package/dist/backend/native/dependency-files.js +83 -0
- package/dist/backend/native/dependency-files.js.map +1 -0
- package/dist/backend/native/driver.d.ts +50 -0
- package/dist/backend/native/driver.js +294 -0
- package/dist/backend/native/driver.js.map +1 -0
- package/dist/backend/native/executable.d.ts +18 -0
- package/dist/backend/native/executable.js +1267 -0
- package/dist/backend/native/executable.js.map +1 -0
- package/dist/backend/native/library.d.ts +2 -0
- package/dist/backend/native/library.js +614 -0
- package/dist/backend/native/library.js.map +1 -0
- package/dist/backend/native/linker-fingerprint.d.ts +8 -0
- package/dist/backend/native/linker-fingerprint.js +174 -0
- package/dist/backend/native/linker-fingerprint.js.map +1 -0
- package/dist/backend/native/object-merge.d.ts +2 -0
- package/dist/backend/native/object-merge.js +154 -0
- package/dist/backend/native/object-merge.js.map +1 -0
- package/dist/backend/native/process.d.ts +17 -0
- package/dist/backend/native/process.js +42 -0
- package/dist/backend/native/process.js.map +1 -0
- package/dist/backend/native/program-shards.d.ts +21 -0
- package/dist/backend/native/program-shards.js +99 -0
- package/dist/backend/native/program-shards.js.map +1 -0
- package/dist/backend/native/runtime-inputs.d.ts +12 -0
- package/dist/backend/native/runtime-inputs.js +163 -0
- package/dist/backend/native/runtime-inputs.js.map +1 -0
- package/dist/backend/native/runtime-inputs.test.d.ts +1 -0
- package/dist/backend/native/runtime-inputs.test.js +64 -0
- package/dist/backend/native/runtime-inputs.test.js.map +1 -0
- package/dist/backend/native/runtime-objects.d.ts +16 -0
- package/dist/backend/native/runtime-objects.js +122 -0
- package/dist/backend/native/runtime-objects.js.map +1 -0
- package/dist/backend/native/session.d.ts +12 -0
- package/dist/backend/native/session.js +31 -0
- package/dist/backend/native/session.js.map +1 -0
- package/dist/backend/native/tool-identity.d.ts +37 -0
- package/dist/backend/native/tool-identity.js +310 -0
- package/dist/backend/native/tool-identity.js.map +1 -0
- package/dist/backend/native/trace-paths.d.ts +12 -0
- package/dist/backend/native/trace-paths.js +73 -0
- package/dist/backend/native/trace-paths.js.map +1 -0
- package/dist/backend/native/vendor.d.ts +1 -0
- package/dist/backend/native/vendor.js +12 -0
- package/dist/backend/native/vendor.js.map +1 -0
- package/dist/backend/native-codegen-core.js +2 -1
- package/dist/backend/native-codegen-core.js.map +1 -1
- package/dist/backend/native-codegen.d.ts +1 -1
- package/dist/backend/native-codegen.js +24 -13
- package/dist/backend/native-codegen.js.map +1 -1
- package/dist/backend/native-codegen.test.js +12 -9
- package/dist/backend/native-codegen.test.js.map +1 -1
- package/dist/backend/native-link-info-core.js +9 -5
- package/dist/backend/native-link-info-core.js.map +1 -1
- package/dist/backend/native-link-info.js +14 -5
- package/dist/backend/native-link-info.js.map +1 -1
- package/dist/backend/native-link-info.test.js +58 -13
- package/dist/backend/native-link-info.test.js.map +1 -1
- package/dist/backend/native-toolchain.d.ts +17 -450
- package/dist/backend/native-toolchain.js +17 -3971
- package/dist/backend/native-toolchain.js.map +1 -1
- package/dist/backend/native-toolchain.test.js +103 -72
- package/dist/backend/native-toolchain.test.js.map +1 -1
- package/dist/backend/native-tools.js +27 -8
- package/dist/backend/native-tools.js.map +1 -1
- package/dist/backend/object-localize.js +17 -14
- package/dist/backend/object-localize.js.map +1 -1
- package/dist/backend/object-localize.test.js +59 -12
- package/dist/backend/object-localize.test.js.map +1 -1
- package/dist/backend/runtime-pack-core.js +96 -49
- package/dist/backend/runtime-pack-core.js.map +1 -1
- package/dist/backend/runtime-pack-native.js +5 -3
- package/dist/backend/runtime-pack-native.js.map +1 -1
- package/dist/backend/runtime-pack-targets.test.js +87 -15
- package/dist/backend/runtime-pack-targets.test.js.map +1 -1
- package/dist/backend/runtime-pack.d.ts +1 -1
- package/dist/backend/runtime-pack.js +11 -12
- package/dist/backend/runtime-pack.js.map +1 -1
- package/dist/backend/runtime-pack.test.js +40 -24
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/backend/source-locations.js.map +1 -1
- package/dist/backend/source-locations.test.js +7 -2
- package/dist/backend/source-locations.test.js.map +1 -1
- package/dist/backend/target-diagnostics.js +44 -14
- package/dist/backend/target-diagnostics.js.map +1 -1
- package/dist/backend/target-diagnostics.test.js +93 -20
- package/dist/backend/target-diagnostics.test.js.map +1 -1
- package/dist/backend/targets.js +230 -86
- package/dist/backend/targets.js.map +1 -1
- package/dist/backend/targets.test.js +32 -18
- package/dist/backend/targets.test.js.map +1 -1
- package/dist/backend/toolchain-environment.js +5 -1
- package/dist/backend/toolchain-environment.js.map +1 -1
- package/dist/backend/vendor-archives.d.ts +2 -2
- package/dist/backend/vendor-archives.js +84 -35
- package/dist/backend/vendor-archives.js.map +1 -1
- package/dist/backend/vendor-inputs.js +13 -1
- package/dist/backend/vendor-inputs.js.map +1 -1
- package/dist/backend/warm-cache.d.ts +1 -1
- package/dist/backend/warm-cache.js +33 -9
- package/dist/backend/warm-cache.js.map +1 -1
- package/dist/cli/command.js +39 -9
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/output-options.js +14 -4
- package/dist/cli/output-options.js.map +1 -1
- package/dist/cli/paths.js.map +1 -1
- package/dist/cli/wasi-runner.js.map +1 -1
- package/dist/compat/fetch-profile.js +36 -35
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/coverage/report.js +16 -17
- package/dist/coverage/report.js.map +1 -1
- package/dist/coverage/surface-manifest.js +112 -26
- package/dist/coverage/surface-manifest.js.map +1 -1
- package/dist/diagnostics/diagnostic.js +55 -16
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/executable/executable-cache.d.ts +1 -1
- package/dist/executable/executable-cache.js +78 -48
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/executable/executable-cache.test.js +75 -26
- package/dist/executable/executable-cache.test.js.map +1 -1
- package/dist/executable/prepare.js +2 -2
- package/dist/executable/prepare.js.map +1 -1
- package/dist/ffi/ffi-manifest.js +78 -20
- package/dist/ffi/ffi-manifest.js.map +1 -1
- package/dist/ffi/ffi-manifest.test.js +96 -16
- package/dist/ffi/ffi-manifest.test.js.map +1 -1
- package/dist/format-integer.js.map +1 -1
- package/dist/frontend/analysis.js +12 -2
- package/dist/frontend/analysis.js.map +1 -1
- package/dist/frontend/arguments-usage.js.map +1 -1
- package/dist/frontend/binding-source.js +9 -3
- package/dist/frontend/binding-source.js.map +1 -1
- package/dist/frontend/builtin-modules.js +46 -2
- package/dist/frontend/builtin-modules.js.map +1 -1
- package/dist/frontend/cjs-resolve.js +40 -17
- package/dist/frontend/cjs-resolve.js.map +1 -1
- package/dist/frontend/cjs-syntax.js +31 -10
- package/dist/frontend/cjs-syntax.js.map +1 -1
- package/dist/frontend/comptime-node.test.js +10 -11
- package/dist/frontend/comptime-node.test.js.map +1 -1
- package/dist/frontend/dts-paths.js +7 -3
- package/dist/frontend/dts-paths.js.map +1 -1
- package/dist/frontend/fork-target.js +17 -12
- package/dist/frontend/fork-target.js.map +1 -1
- package/dist/frontend/function-completion.js +11 -6
- package/dist/frontend/function-completion.js.map +1 -1
- package/dist/frontend/helper-tokens.js +53 -6
- package/dist/frontend/helper-tokens.js.map +1 -1
- package/dist/frontend/helper-tokens.test.js +18 -2
- package/dist/frontend/helper-tokens.test.js.map +1 -1
- package/dist/frontend/inferred-js-diagnostics.js +32 -12
- package/dist/frontend/inferred-js-diagnostics.js.map +1 -1
- package/dist/frontend/inferred-js-diagnostics.test.js +11 -15
- package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -1
- package/dist/frontend/input-tracker.js +11 -11
- package/dist/frontend/input-tracker.js.map +1 -1
- package/dist/frontend/input-tracker.test.js +4 -1
- package/dist/frontend/input-tracker.test.js.map +1 -1
- package/dist/frontend/lib-contract.js +38 -9
- package/dist/frontend/lib-contract.js.map +1 -1
- package/dist/frontend/literal-values.js.map +1 -1
- package/dist/frontend/literal-values.test.js +28 -8
- package/dist/frontend/literal-values.test.js.map +1 -1
- package/dist/frontend/lowering/abstract-equality.js +53 -10
- package/dist/frontend/lowering/abstract-equality.js.map +1 -1
- package/dist/frontend/lowering/array-indexed-mutation.d.ts +1 -1
- package/dist/frontend/lowering/array-indexed-mutation.js +108 -106
- package/dist/frontend/lowering/array-indexed-mutation.js.map +1 -1
- package/dist/frontend/lowering/array-values.js +37 -14
- package/dist/frontend/lowering/array-values.js.map +1 -1
- package/dist/frontend/lowering/binding-analysis.d.ts +50 -0
- package/dist/frontend/lowering/binding-analysis.js +376 -0
- package/dist/frontend/lowering/binding-analysis.js.map +1 -0
- package/dist/frontend/lowering/builtin-calls.d.ts +9 -0
- package/dist/frontend/lowering/builtin-calls.js +60 -0
- package/dist/frontend/lowering/builtin-calls.js.map +1 -0
- package/dist/frontend/lowering/builtins/arguments.d.ts +43 -0
- package/dist/frontend/lowering/builtins/arguments.js +247 -0
- package/dist/frontend/lowering/builtins/arguments.js.map +1 -0
- package/dist/frontend/lowering/builtins/async-context.d.ts +52 -0
- package/dist/frontend/lowering/builtins/async-context.js +436 -0
- package/dist/frontend/lowering/builtins/async-context.js.map +1 -0
- package/dist/frontend/lowering/builtins/atomics.d.ts +15 -0
- package/dist/frontend/lowering/builtins/atomics.js +46 -0
- package/dist/frontend/lowering/builtins/atomics.js.map +1 -0
- package/dist/frontend/lowering/builtins/callable-aliases.d.ts +13 -0
- package/dist/frontend/lowering/builtins/callable-aliases.js +87 -0
- package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -0
- package/dist/frontend/lowering/builtins/child-process-async.d.ts +18 -0
- package/dist/frontend/lowering/builtins/child-process-async.js +245 -0
- package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -0
- package/dist/frontend/lowering/builtins/child-process-methods.d.ts +21 -0
- package/dist/frontend/lowering/builtins/child-process-methods.js +362 -0
- package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -0
- package/dist/frontend/lowering/builtins/child-process-sync.d.ts +4 -0
- package/dist/frontend/lowering/builtins/child-process-sync.js +639 -0
- package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -0
- package/dist/frontend/lowering/builtins/child-process.d.ts +55 -0
- package/dist/frontend/lowering/builtins/child-process.js +669 -0
- package/dist/frontend/lowering/builtins/child-process.js.map +1 -0
- package/dist/frontend/lowering/builtins/compression.d.ts +7 -0
- package/dist/frontend/lowering/builtins/compression.js +115 -0
- package/dist/frontend/lowering/builtins/compression.js.map +1 -0
- package/dist/frontend/lowering/builtins/console.d.ts +10 -0
- package/dist/frontend/lowering/builtins/console.js +38 -0
- package/dist/frontend/lowering/builtins/console.js.map +1 -0
- package/dist/frontend/lowering/builtins/constants.d.ts +24 -0
- package/dist/frontend/lowering/builtins/constants.js +141 -0
- package/dist/frontend/lowering/builtins/constants.js.map +1 -0
- package/dist/frontend/lowering/builtins/crypto.d.ts +22 -0
- package/dist/frontend/lowering/builtins/crypto.js +517 -0
- package/dist/frontend/lowering/builtins/crypto.js.map +1 -0
- package/dist/frontend/lowering/builtins/dates.d.ts +7 -0
- package/dist/frontend/lowering/builtins/dates.js +101 -0
- package/dist/frontend/lowering/builtins/dates.js.map +1 -0
- package/dist/frontend/lowering/builtins/environment.d.ts +34 -0
- package/dist/frontend/lowering/builtins/environment.js +95 -0
- package/dist/frontend/lowering/builtins/environment.js.map +1 -0
- package/dist/frontend/lowering/builtins/errors.d.ts +14 -0
- package/dist/frontend/lowering/builtins/errors.js +83 -0
- package/dist/frontend/lowering/builtins/errors.js.map +1 -0
- package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +32 -0
- package/dist/frontend/lowering/builtins/filesystem-calls.js +678 -0
- package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -0
- package/dist/frontend/lowering/builtins/filesystem.d.ts +108 -0
- package/dist/frontend/lowering/builtins/filesystem.js +1061 -0
- package/dist/frontend/lowering/builtins/filesystem.js.map +1 -0
- package/dist/frontend/lowering/builtins/ipc.d.ts +8 -0
- package/dist/frontend/lowering/builtins/ipc.js +76 -0
- package/dist/frontend/lowering/builtins/ipc.js.map +1 -0
- package/dist/frontend/lowering/builtins/json.d.ts +12 -0
- package/dist/frontend/lowering/builtins/json.js +387 -0
- package/dist/frontend/lowering/builtins/json.js.map +1 -0
- package/dist/frontend/lowering/builtins/module-bindings.d.ts +85 -0
- package/dist/frontend/lowering/builtins/module-bindings.js +346 -0
- package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -0
- package/dist/frontend/lowering/builtins/module-calls.d.ts +8 -0
- package/dist/frontend/lowering/builtins/module-calls.js +303 -0
- package/dist/frontend/lowering/builtins/module-calls.js.map +1 -0
- package/dist/frontend/lowering/builtins/module-resolution.d.ts +38 -0
- package/dist/frontend/lowering/builtins/module-resolution.js +344 -0
- package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -0
- package/dist/frontend/lowering/builtins/numbers.d.ts +15 -0
- package/dist/frontend/lowering/builtins/numbers.js +124 -0
- package/dist/frontend/lowering/builtins/numbers.js.map +1 -0
- package/dist/frontend/lowering/builtins/operating-system.d.ts +13 -0
- package/dist/frontend/lowering/builtins/operating-system.js +148 -0
- package/dist/frontend/lowering/builtins/operating-system.js.map +1 -0
- package/dist/frontend/lowering/builtins/performance.d.ts +13 -0
- package/dist/frontend/lowering/builtins/performance.js +100 -0
- package/dist/frontend/lowering/builtins/performance.js.map +1 -0
- package/dist/frontend/lowering/builtins/process.d.ts +50 -0
- package/dist/frontend/lowering/builtins/process.js +1138 -0
- package/dist/frontend/lowering/builtins/process.js.map +1 -0
- package/dist/frontend/lowering/builtins/promises.d.ts +14 -0
- package/dist/frontend/lowering/builtins/promises.js +356 -0
- package/dist/frontend/lowering/builtins/promises.js.map +1 -0
- package/dist/frontend/lowering/builtins/properties.d.ts +11 -0
- package/dist/frontend/lowering/builtins/properties.js +186 -0
- package/dist/frontend/lowering/builtins/properties.js.map +1 -0
- package/dist/frontend/lowering/builtins/querystring.d.ts +19 -0
- package/dist/frontend/lowering/builtins/querystring.js +150 -0
- package/dist/frontend/lowering/builtins/querystring.js.map +1 -0
- package/dist/frontend/lowering/builtins/readline.d.ts +13 -0
- package/dist/frontend/lowering/builtins/readline.js +138 -0
- package/dist/frontend/lowering/builtins/readline.js.map +1 -0
- package/dist/frontend/lowering/builtins/receiver-types.d.ts +5 -0
- package/dist/frontend/lowering/builtins/receiver-types.js +15 -0
- package/dist/frontend/lowering/builtins/receiver-types.js.map +1 -0
- package/dist/frontend/lowering/builtins/reflection.d.ts +13 -0
- package/dist/frontend/lowering/builtins/reflection.js +95 -0
- package/dist/frontend/lowering/builtins/reflection.js.map +1 -0
- package/dist/frontend/lowering/builtins/strings.d.ts +14 -0
- package/dist/frontend/lowering/builtins/strings.js +121 -0
- package/dist/frontend/lowering/builtins/strings.js.map +1 -0
- package/dist/frontend/lowering/builtins/text-codecs.d.ts +29 -0
- package/dist/frontend/lowering/builtins/text-codecs.js +590 -0
- package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -0
- package/dist/frontend/lowering/builtins/timers.d.ts +22 -0
- package/dist/frontend/lowering/builtins/timers.js +180 -0
- package/dist/frontend/lowering/builtins/timers.js.map +1 -0
- package/dist/frontend/lowering/builtins/url.d.ts +37 -0
- package/dist/frontend/lowering/builtins/url.js +596 -0
- package/dist/frontend/lowering/builtins/url.js.map +1 -0
- package/dist/frontend/lowering/builtins/util-types.d.ts +7 -0
- package/dist/frontend/lowering/builtins/util-types.js +31 -0
- package/dist/frontend/lowering/builtins/util-types.js.map +1 -0
- package/dist/frontend/lowering/call-arguments.d.ts +72 -0
- package/dist/frontend/lowering/call-arguments.js +618 -0
- package/dist/frontend/lowering/call-arguments.js.map +1 -0
- package/dist/frontend/lowering/call-signatures.d.ts +115 -0
- package/dist/frontend/lowering/call-signatures.js +719 -0
- package/dist/frontend/lowering/call-signatures.js.map +1 -0
- package/dist/frontend/lowering/callback-arg.js.map +1 -1
- package/dist/frontend/lowering/checked-iterable-spread.js +53 -10
- package/dist/frontend/lowering/checked-iterable-spread.js.map +1 -1
- package/dist/frontend/lowering/checked-promise-all.js +41 -9
- package/dist/frontend/lowering/checked-promise-all.js.map +1 -1
- package/dist/frontend/lowering/class-callbacks.d.ts +1 -1
- package/dist/frontend/lowering/class-callbacks.js +130 -27
- package/dist/frontend/lowering/class-callbacks.js.map +1 -1
- package/dist/frontend/lowering/class-construction.d.ts +1 -1
- package/dist/frontend/lowering/class-construction.js +247 -50
- package/dist/frontend/lowering/class-construction.js.map +1 -1
- package/dist/frontend/lowering/class-descriptors.js +109 -29
- package/dist/frontend/lowering/class-descriptors.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +6 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.js +2471 -465
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js +284 -44
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
- package/dist/frontend/lowering/class-instance-constructor.js +17 -5
- package/dist/frontend/lowering/class-instance-constructor.js.map +1 -1
- package/dist/frontend/lowering/class-method-values.js +199 -51
- package/dist/frontend/lowering/class-method-values.js.map +1 -1
- package/dist/frontend/lowering/class-prototypes.js +345 -86
- package/dist/frontend/lowering/class-prototypes.js.map +1 -1
- package/dist/frontend/lowering/class-runtime-statics.d.ts +1 -1
- package/dist/frontend/lowering/class-runtime-statics.js +80 -17
- package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
- package/dist/frontend/lowering/class-static-data.js +76 -16
- package/dist/frontend/lowering/class-static-data.js.map +1 -1
- package/dist/frontend/lowering/coercions/builders.d.ts +13 -0
- package/dist/frontend/lowering/coercions/builders.js +77 -0
- package/dist/frontend/lowering/coercions/builders.js.map +1 -0
- package/dist/frontend/lowering/coercions/function-adapters.d.ts +58 -0
- package/dist/frontend/lowering/coercions/function-adapters.js +430 -0
- package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -0
- package/dist/frontend/lowering/coercions/island.d.ts +37 -0
- package/dist/frontend/lowering/coercions/island.js +350 -0
- package/dist/frontend/lowering/coercions/island.js.map +1 -0
- package/dist/frontend/lowering/coercions/state.d.ts +14 -0
- package/dist/frontend/lowering/coercions/state.js +16 -0
- package/dist/frontend/lowering/coercions/state.js.map +1 -0
- package/dist/frontend/lowering/coercions/structural-plans.d.ts +40 -0
- package/dist/frontend/lowering/coercions/structural-plans.js +447 -0
- package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -0
- package/dist/frontend/lowering/coercions/structural.d.ts +63 -0
- package/dist/frontend/lowering/coercions/structural.js +616 -0
- package/dist/frontend/lowering/coercions/structural.js.map +1 -0
- package/dist/frontend/lowering/coercions/unions.d.ts +65 -0
- package/dist/frontend/lowering/coercions/unions.js +318 -0
- package/dist/frontend/lowering/coercions/unions.js.map +1 -0
- package/dist/frontend/lowering/collection-ingestion.js +359 -67
- package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callbacks.d.ts +92 -0
- package/dist/frontend/lowering/containers/array-callbacks.js +1646 -0
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -0
- package/dist/frontend/lowering/containers/array-construction.d.ts +42 -0
- package/dist/frontend/lowering/containers/array-construction.js +1044 -0
- package/dist/frontend/lowering/containers/array-construction.js.map +1 -0
- package/dist/frontend/lowering/containers/array-iteration.d.ts +16 -0
- package/dist/frontend/lowering/containers/array-iteration.js +95 -0
- package/dist/frontend/lowering/containers/array-iteration.js.map +1 -0
- package/dist/frontend/lowering/containers/array-methods.d.ts +27 -0
- package/dist/frontend/lowering/containers/array-methods.js +1854 -0
- package/dist/frontend/lowering/containers/array-methods.js.map +1 -0
- package/dist/frontend/lowering/containers/bytes.d.ts +17 -17
- package/dist/frontend/lowering/containers/bytes.js +419 -105
- package/dist/frontend/lowering/containers/bytes.js.map +1 -1
- package/dist/frontend/lowering/containers/callback-arguments.d.ts +26 -0
- package/dist/frontend/lowering/containers/callback-arguments.js +179 -0
- package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -0
- package/dist/frontend/lowering/containers/collection-grouping.d.ts +19 -0
- package/dist/frontend/lowering/containers/collection-grouping.js +297 -0
- package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -0
- package/dist/frontend/lowering/containers/collection-methods.d.ts +57 -0
- package/dist/frontend/lowering/containers/collection-methods.js +1314 -0
- package/dist/frontend/lowering/containers/collection-methods.js.map +1 -0
- package/dist/frontend/lowering/containers/dynamic-receivers.d.ts +18 -0
- package/dist/frontend/lowering/containers/dynamic-receivers.js +114 -0
- package/dist/frontend/lowering/containers/dynamic-receivers.js.map +1 -0
- package/dist/frontend/lowering/containers/for-of.d.ts +60 -0
- package/dist/frontend/lowering/containers/for-of.js +643 -0
- package/dist/frontend/lowering/containers/for-of.js.map +1 -0
- package/dist/frontend/lowering/containers/indexed-objects.d.ts +132 -0
- package/dist/frontend/lowering/containers/indexed-objects.js +1743 -0
- package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -0
- package/dist/frontend/lowering/containers/iterator-helpers.d.ts +20 -0
- package/dist/frontend/lowering/containers/iterator-helpers.js +809 -0
- package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -0
- package/dist/frontend/lowering/containers/string-and-regexp.js +585 -157
- package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
- package/dist/frontend/lowering/containers/string-replacement.js +213 -63
- package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
- package/dist/frontend/lowering/crypto-tables.js +263 -64
- package/dist/frontend/lowering/crypto-tables.js.map +1 -1
- package/dist/frontend/lowering/deferred-module-initializers.js +172 -68
- package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
- package/dist/frontend/lowering/deferred-module-initializers.test.js +41 -8
- package/dist/frontend/lowering/deferred-module-initializers.test.js.map +1 -1
- package/dist/frontend/lowering/error-methods.js +339 -65
- package/dist/frontend/lowering/error-methods.js.map +1 -1
- package/dist/frontend/lowering/expressions/evaluation-safety.js +3 -2
- package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
- package/dist/frontend/lowering/expressions/global-symbols.js +2 -1
- package/dist/frontend/lowering/expressions/global-symbols.js.map +1 -1
- package/dist/frontend/lowering/expressions/native-proxy.js +11 -5
- package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
- package/dist/frontend/lowering/expressions/nullish-assignment.js +67 -13
- package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
- package/dist/frontend/lowering/expressions/object-literals.js +589 -162
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.d.ts +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.js +68 -17
- package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
- package/dist/frontend/lowering/expressions/union-field-write.js +45 -18
- package/dist/frontend/lowering/expressions/union-field-write.js.map +1 -1
- package/dist/frontend/lowering/function-context.js +5 -1
- package/dist/frontend/lowering/function-context.js.map +1 -1
- package/dist/frontend/lowering/function-returns.d.ts +67 -0
- package/dist/frontend/lowering/function-returns.js +392 -0
- package/dist/frontend/lowering/function-returns.js.map +1 -0
- package/dist/frontend/lowering/generator-delegation.d.ts +1 -1
- package/dist/frontend/lowering/generator-delegation.js +171 -39
- package/dist/frontend/lowering/generator-delegation.js.map +1 -1
- package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +1 -1
- package/dist/frontend/lowering/generator-dynamic-dispatch.js +176 -36
- package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/generic-functions.d.ts +274 -0
- package/dist/frontend/lowering/generic-functions.js +1727 -0
- package/dist/frontend/lowering/generic-functions.js.map +1 -0
- package/dist/frontend/lowering/import-meta.d.ts +1 -1
- package/dist/frontend/lowering/import-meta.js +37 -14
- package/dist/frontend/lowering/import-meta.js.map +1 -1
- package/dist/frontend/lowering/indexed-comparison.js +6 -2
- package/dist/frontend/lowering/indexed-comparison.js.map +1 -1
- package/dist/frontend/lowering/iterator-consumption.d.ts +9 -0
- package/dist/frontend/lowering/iterator-consumption.js +91 -0
- package/dist/frontend/lowering/iterator-consumption.js.map +1 -0
- package/dist/frontend/lowering/lib-boundary.js +40 -17
- package/dist/frontend/lowering/lib-boundary.js.map +1 -1
- package/dist/frontend/lowering/lib-boundary.test.js +49 -11
- package/dist/frontend/lowering/lib-boundary.test.js.map +1 -1
- package/dist/frontend/lowering/lower-array-sort.d.ts +0 -19
- package/dist/frontend/lowering/lower-array-sort.js +331 -566
- package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
- package/dist/frontend/lowering/lower-assert.js +248 -43
- package/dist/frontend/lowering/lower-assert.js.map +1 -1
- package/dist/frontend/lowering/lower-async-iteration.js +71 -16
- package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
- package/dist/frontend/lowering/lower-builtin-values.js +420 -71
- package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +39 -558
- package/dist/frontend/lowering/lower-calls.js +2593 -5667
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +243 -242
- package/dist/frontend/lowering/lower-classes.js +1704 -727
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-comptime.d.ts +35 -35
- package/dist/frontend/lowering/lower-comptime.js +39 -37
- package/dist/frontend/lowering/lower-comptime.js.map +1 -1
- package/dist/frontend/lowering/lower-dgram.js +59 -31
- package/dist/frontend/lowering/lower-dgram.js.map +1 -1
- package/dist/frontend/lowering/lower-enums.js +5 -2
- package/dist/frontend/lowering/lower-enums.js.map +1 -1
- package/dist/frontend/lowering/lower-event-emitter.js +322 -85
- package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
- package/dist/frontend/lowering/lower-expando.js +19 -7
- package/dist/frontend/lowering/lower-expando.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +194 -194
- package/dist/frontend/lowering/lower-exprs.js +3455 -1153
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-functions.d.ts +23 -0
- package/dist/frontend/lowering/lower-functions.js +449 -0
- package/dist/frontend/lowering/lower-functions.js.map +1 -0
- package/dist/frontend/lowering/lower-generators.js +121 -32
- package/dist/frontend/lowering/lower-generators.js.map +1 -1
- package/dist/frontend/lowering/lower-global-value.js +15 -4
- package/dist/frontend/lowering/lower-global-value.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.js +479 -89
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-island.d.ts +79 -79
- package/dist/frontend/lowering/lower-island.js +365 -273
- package/dist/frontend/lowering/lower-island.js.map +1 -1
- package/dist/frontend/lowering/lower-island.test.js +7 -2
- package/dist/frontend/lowering/lower-island.test.js.map +1 -1
- package/dist/frontend/lowering/lower-mixins.js +17 -8
- package/dist/frontend/lowering/lower-mixins.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.d.ts +94 -94
- package/dist/frontend/lowering/lower-modules.js +612 -321
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.test.js +91 -20
- package/dist/frontend/lowering/lower-modules.test.js.map +1 -1
- package/dist/frontend/lowering/lower-namespaces.js +25 -8
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
- package/dist/frontend/lowering/lower-node-module.js +115 -34
- package/dist/frontend/lowering/lower-node-module.js.map +1 -1
- package/dist/frontend/lowering/lower-server.js +1210 -290
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +148 -148
- package/dist/frontend/lowering/lower-stmts.js +2312 -984
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.test.js +13 -5
- package/dist/frontend/lowering/lower-stmts.test.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.js +362 -90
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lower-system-errors.js +30 -8
- package/dist/frontend/lowering/lower-system-errors.js.map +1 -1
- package/dist/frontend/lowering/lower-test.js +40 -13
- package/dist/frontend/lowering/lower-test.js.map +1 -1
- package/dist/frontend/lowering/lower-timers.d.ts +31 -0
- package/dist/frontend/lowering/lower-timers.js +336 -0
- package/dist/frontend/lowering/lower-timers.js.map +1 -0
- package/dist/frontend/lowering/lower-url.d.ts +1 -1
- package/dist/frontend/lowering/lower-url.js +46 -13
- package/dist/frontend/lowering/lower-url.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +21 -351
- package/dist/frontend/lowering/lowerer.js +1031 -2704
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/lowerer.test.js +85 -17
- package/dist/frontend/lowering/lowerer.test.js.map +1 -1
- package/dist/frontend/lowering/module-namespace-elements.js +43 -8
- package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
- package/dist/frontend/lowering/native-ffi.d.ts +21 -1
- package/dist/frontend/lowering/native-ffi.js +487 -18
- package/dist/frontend/lowering/native-ffi.js.map +1 -1
- package/dist/frontend/lowering/object-enumeration-receiver.js +55 -10
- package/dist/frontend/lowering/object-enumeration-receiver.js.map +1 -1
- package/dist/frontend/lowering/object-factory-new.d.ts +1 -1
- package/dist/frontend/lowering/object-factory-new.js +36 -11
- package/dist/frontend/lowering/object-factory-new.js.map +1 -1
- package/dist/frontend/lowering/optional-arguments.js +49 -20
- package/dist/frontend/lowering/optional-arguments.js.map +1 -1
- package/dist/frontend/lowering/pairs-snapshot.js +66 -14
- package/dist/frontend/lowering/pairs-snapshot.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-locals.js +3 -1
- package/dist/frontend/lowering/runtime-optional-locals.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-locals.test.js.map +1 -1
- package/dist/frontend/lowering/sanitize-class-types.js +4 -1
- package/dist/frontend/lowering/sanitize-class-types.js.map +1 -1
- package/dist/frontend/lowering/sanitize-class-types.test.js +86 -18
- package/dist/frontend/lowering/sanitize-class-types.test.js.map +1 -1
- package/dist/frontend/lowering/static-this.js +13 -6
- package/dist/frontend/lowering/static-this.js.map +1 -1
- package/dist/frontend/lowering/string-index.js +32 -10
- package/dist/frontend/lowering/string-index.js.map +1 -1
- package/dist/frontend/lowering/surfaces.d.ts +42 -42
- package/dist/frontend/lowering/surfaces.js +1094 -249
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/symbol-fields.js +40 -15
- package/dist/frontend/lowering/symbol-fields.js.map +1 -1
- package/dist/frontend/lowering/symbol-methods.js.map +1 -1
- package/dist/frontend/lowering/text-decoder-encoding.js +236 -24
- package/dist/frontend/lowering/text-decoder-encoding.js.map +1 -1
- package/dist/frontend/lowering/text-decoder-encoding.test.js +84 -12
- package/dist/frontend/lowering/text-decoder-encoding.test.js.map +1 -1
- package/dist/frontend/lowering/union-narrow.js +59 -16
- package/dist/frontend/lowering/union-narrow.js.map +1 -1
- package/dist/frontend/lowering/union-narrow.test.js +24 -7
- package/dist/frontend/lowering/union-narrow.test.js.map +1 -1
- package/dist/frontend/lowering/union-retag.js +155 -40
- package/dist/frontend/lowering/union-retag.js.map +1 -1
- package/dist/frontend/lowering/union-retag.test.js +131 -33
- package/dist/frontend/lowering/union-retag.test.js.map +1 -1
- package/dist/frontend/lowering/unregistered-class-types.js.map +1 -1
- package/dist/frontend/lowering/unregistered-class-types.test.js +34 -8
- package/dist/frontend/lowering/unregistered-class-types.test.js.map +1 -1
- package/dist/frontend/module-syntax.js +21 -8
- package/dist/frontend/module-syntax.js.map +1 -1
- package/dist/frontend/module-syntax.test.js +37 -13
- package/dist/frontend/module-syntax.test.js.map +1 -1
- package/dist/frontend/npm-fetch-analysis.js +13 -4
- package/dist/frontend/npm-fetch-analysis.js.map +1 -1
- package/dist/frontend/npm-fetch-analysis.test.js +33 -10
- package/dist/frontend/npm-fetch-analysis.test.js.map +1 -1
- package/dist/frontend/npm-fetch-node.js.map +1 -1
- package/dist/frontend/npm-fetch-syntax.js +4 -9
- package/dist/frontend/npm-fetch-syntax.js.map +1 -1
- package/dist/frontend/npm-node.js +3 -1
- package/dist/frontend/npm-node.js.map +1 -1
- package/dist/frontend/npm-static-bundled-cjs.js +88 -29
- package/dist/frontend/npm-static-bundled-cjs.js.map +1 -1
- package/dist/frontend/npm-static-bundled-cjs.test.js +29 -10
- package/dist/frontend/npm-static-bundled-cjs.test.js.map +1 -1
- package/dist/frontend/npm-static-declaration-syntax.js +148 -56
- package/dist/frontend/npm-static-declaration-syntax.js.map +1 -1
- package/dist/frontend/npm-static-declarations.d.ts +1 -1
- package/dist/frontend/npm-static-declarations.js.map +1 -1
- package/dist/frontend/npm-static-declarations.test.js +33 -7
- package/dist/frontend/npm-static-declarations.test.js.map +1 -1
- package/dist/frontend/npm-static-prune.js +26 -12
- package/dist/frontend/npm-static-prune.js.map +1 -1
- package/dist/frontend/npm-static-prune.test.js +17 -3
- package/dist/frontend/npm-static-prune.test.js.map +1 -1
- package/dist/frontend/npm-static-rewrite-host.js +2 -3
- package/dist/frontend/npm-static-rewrite-host.js.map +1 -1
- package/dist/frontend/npm-static-rewrite-syntax.js +64 -21
- package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
- package/dist/frontend/npm-static-rewrite.js.map +1 -1
- package/dist/frontend/npm-static-subtyping.js +9 -4
- package/dist/frontend/npm-static-subtyping.js.map +1 -1
- package/dist/frontend/npm-static-subtyping.test.js +30 -6
- package/dist/frontend/npm-static-subtyping.test.js.map +1 -1
- package/dist/frontend/npm-static.js +15 -4
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/npm.js +122 -36
- package/dist/frontend/npm.js.map +1 -1
- package/dist/frontend/npm.test.js +30 -10
- package/dist/frontend/npm.test.js.map +1 -1
- package/dist/frontend/pipeline-native.js.map +1 -1
- package/dist/frontend/pipeline.js +25 -8
- package/dist/frontend/pipeline.js.map +1 -1
- package/dist/frontend/pipeline.test.js +21 -7
- package/dist/frontend/pipeline.test.js.map +1 -1
- package/dist/frontend/program-node.js +5 -3
- package/dist/frontend/program-node.js.map +1 -1
- package/dist/frontend/program.d.ts +2 -2
- package/dist/frontend/program.js +234 -101
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/program.test.js +27 -27
- package/dist/frontend/program.test.js.map +1 -1
- package/dist/frontend/provenance-core.js +8 -4
- package/dist/frontend/provenance-core.js.map +1 -1
- package/dist/frontend/provenance-registry.js +1 -4
- package/dist/frontend/provenance-registry.js.map +1 -1
- package/dist/frontend/resolve.js +32 -20
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/resolve.test.js +1 -1
- package/dist/frontend/resolve.test.js.map +1 -1
- package/dist/frontend/runtime-resolve.js +13 -4
- package/dist/frontend/runtime-resolve.js.map +1 -1
- package/dist/frontend/runtime-resolve.test.js +25 -9
- package/dist/frontend/runtime-resolve.test.js.map +1 -1
- package/dist/frontend/services-node.js +6 -2
- package/dist/frontend/services-node.js.map +1 -1
- package/dist/frontend/services-node.test.js +18 -6
- package/dist/frontend/services-node.test.js.map +1 -1
- package/dist/frontend/services.js +8 -4
- package/dist/frontend/services.js.map +1 -1
- package/dist/frontend/services.test.js +6 -2
- package/dist/frontend/services.test.js.map +1 -1
- package/dist/frontend/ts7/api.js +12 -4
- package/dist/frontend/ts7/api.js.map +1 -1
- package/dist/frontend/ts7/ast-bytes.js +10 -3
- package/dist/frontend/ts7/ast-bytes.js.map +1 -1
- package/dist/frontend/ts7/ast-bytes.test.js +23 -4
- package/dist/frontend/ts7/ast-bytes.test.js.map +1 -1
- package/dist/frontend/ts7/ast-guards.test.js +14 -5
- package/dist/frontend/ts7/ast-guards.test.js.map +1 -1
- package/dist/frontend/ts7/ast-node.d.ts +6 -1
- package/dist/frontend/ts7/ast-node.js +484 -164
- package/dist/frontend/ts7/ast-node.js.map +1 -1
- package/dist/frontend/ts7/ast-node.test.js +109 -36
- package/dist/frontend/ts7/ast-node.test.js.map +1 -1
- package/dist/frontend/ts7/ast-text.js +13 -3
- package/dist/frontend/ts7/ast-text.js.map +1 -1
- package/dist/frontend/ts7/ast-text.test.js.map +1 -1
- package/dist/frontend/ts7/ast-types.js.map +1 -1
- package/dist/frontend/ts7/ast-wire.d.ts +1 -1
- package/dist/frontend/ts7/ast-wire.js +55 -20
- package/dist/frontend/ts7/ast-wire.js.map +1 -1
- package/dist/frontend/ts7/ast-wire.test.js +53 -8
- package/dist/frontend/ts7/ast-wire.test.js.map +1 -1
- package/dist/frontend/ts7/ast.js +47 -28
- package/dist/frontend/ts7/ast.js.map +1 -1
- package/dist/frontend/ts7/census-check.js +1 -1
- package/dist/frontend/ts7/census-check.js.map +1 -1
- package/dist/frontend/ts7/checker-cache.js.map +1 -1
- package/dist/frontend/ts7/checker.js +5 -3
- package/dist/frontend/ts7/checker.js.map +1 -1
- package/dist/frontend/ts7/checker.test.js +54 -17
- package/dist/frontend/ts7/checker.test.js.map +1 -1
- package/dist/frontend/ts7/enums.test.js +9 -4
- package/dist/frontend/ts7/enums.test.js.map +1 -1
- package/dist/frontend/ts7/native-api.js.map +1 -1
- package/dist/frontend/ts7/native-host.js.map +1 -1
- package/dist/frontend/ts7/native-process.js +9 -3
- package/dist/frontend/ts7/native-process.js.map +1 -1
- package/dist/frontend/ts7/program-adapter.js +1 -1
- package/dist/frontend/ts7/program-adapter.js.map +1 -1
- package/dist/frontend/ts7/program-host.js +7 -4
- package/dist/frontend/ts7/program-host.js.map +1 -1
- package/dist/frontend/ts7/program-host.test.js +43 -11
- package/dist/frontend/ts7/program-host.test.js.map +1 -1
- package/dist/frontend/ts7/rpc-api.js +3 -1
- package/dist/frontend/ts7/rpc-api.js.map +1 -1
- package/dist/frontend/ts7/rpc-client.js +15 -5
- package/dist/frontend/ts7/rpc-client.js.map +1 -1
- package/dist/frontend/ts7/rpc-client.test.js +26 -8
- package/dist/frontend/ts7/rpc-client.test.js.map +1 -1
- package/dist/frontend/ts7/rpc-filesystem.js.map +1 -1
- package/dist/frontend/ts7/rpc-filesystem.test.js +43 -10
- package/dist/frontend/ts7/rpc-filesystem.test.js.map +1 -1
- package/dist/frontend/ts7/rpc-process.js +16 -6
- package/dist/frontend/ts7/rpc-process.js.map +1 -1
- package/dist/frontend/ts7/rpc-process.test.js.map +1 -1
- package/dist/frontend/ts7/rpc-wire.d.ts +1 -0
- package/dist/frontend/ts7/rpc-wire.js +41 -14
- package/dist/frontend/ts7/rpc-wire.js.map +1 -1
- package/dist/frontend/ts7/rpc-wire.test.js +36 -6
- package/dist/frontend/ts7/rpc-wire.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-checker.js +209 -68
- package/dist/frontend/ts7/semantic-checker.js.map +1 -1
- package/dist/frontend/ts7/semantic-checker.test.js +29 -14
- package/dist/frontend/ts7/semantic-checker.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-json.js +7 -1
- package/dist/frontend/ts7/semantic-json.js.map +1 -1
- package/dist/frontend/ts7/semantic-json.test.js +17 -3
- package/dist/frontend/ts7/semantic-json.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-model.js +147 -51
- package/dist/frontend/ts7/semantic-model.js.map +1 -1
- package/dist/frontend/ts7/semantic-model.test.js +72 -19
- package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-types.d.ts +2 -2
- package/dist/frontend/ts7/session-cache.js +10 -3
- package/dist/frontend/ts7/session-cache.js.map +1 -1
- package/dist/frontend/ts7/session-cache.test.js +13 -4
- package/dist/frontend/ts7/session-cache.test.js.map +1 -1
- package/dist/frontend/ts7/session-path.js +25 -10
- package/dist/frontend/ts7/session-path.js.map +1 -1
- package/dist/frontend/ts7/session-path.test.js +47 -4
- package/dist/frontend/ts7/session-path.test.js.map +1 -1
- package/dist/frontend/ts7/session-timing.js +22 -3
- package/dist/frontend/ts7/session-timing.js.map +1 -1
- package/dist/frontend/ts7/session-timing.test.js +12 -3
- package/dist/frontend/ts7/session-timing.test.js.map +1 -1
- package/dist/frontend/ts7/session.d.ts +1 -0
- package/dist/frontend/ts7/session.js +109 -35
- package/dist/frontend/ts7/session.js.map +1 -1
- package/dist/frontend/ts7/session.test.js +69 -15
- package/dist/frontend/ts7/session.test.js.map +1 -1
- package/dist/frontend/ts7/source-parser.js +17 -6
- package/dist/frontend/ts7/source-parser.js.map +1 -1
- package/dist/frontend/ts7/source-parser.test.js +32 -9
- package/dist/frontend/ts7/source-parser.test.js.map +1 -1
- package/dist/frontend/tsc-codes.js +56 -11
- package/dist/frontend/tsc-codes.js.map +1 -1
- package/dist/frontend/tsc-codes.test.d.ts +1 -0
- package/dist/frontend/tsc-codes.test.js +16 -0
- package/dist/frontend/tsc-codes.test.js.map +1 -0
- package/dist/frontend/type-mapper.js +547 -206
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/frontend/type-mapper.test.js +108 -33
- package/dist/frontend/type-mapper.test.js.map +1 -1
- package/dist/frontend/union-discriminants.js +8 -2
- package/dist/frontend/union-discriminants.js.map +1 -1
- package/dist/frontend/union-discriminants.test.js +77 -20
- package/dist/frontend/union-discriminants.test.js.map +1 -1
- package/dist/index.d.ts +9 -8
- package/dist/index.js +150 -81
- package/dist/index.js.map +1 -1
- package/dist/ir/analysis.js +97 -38
- package/dist/ir/analysis.js.map +1 -1
- package/dist/ir/analysis.test.js +91 -15
- package/dist/ir/analysis.test.js.map +1 -1
- package/dist/ir/api.d.ts +4 -0
- package/dist/ir/api.js +6 -0
- package/dist/ir/api.js.map +1 -0
- package/dist/ir/build.d.ts +7 -0
- package/dist/ir/build.js +27 -1
- package/dist/ir/build.js.map +1 -1
- package/dist/ir/builtin-effects.d.ts +9 -0
- package/dist/ir/builtin-effects.js +631 -0
- package/dist/ir/builtin-effects.js.map +1 -0
- package/dist/ir/builtin-signatures.d.ts +15 -0
- package/dist/ir/builtin-signatures.js +3396 -0
- package/dist/ir/builtin-signatures.js.map +1 -0
- package/dist/ir/byte-numbers.d.ts +20 -0
- package/dist/ir/byte-numbers.js +116 -0
- package/dist/ir/byte-numbers.js.map +1 -0
- package/dist/ir/byte-numbers.test.d.ts +1 -0
- package/dist/ir/byte-numbers.test.js +55 -0
- package/dist/ir/byte-numbers.test.js.map +1 -0
- package/dist/ir/constant-tables.js +13 -5
- package/dist/ir/constant-tables.js.map +1 -1
- package/dist/ir/constant-tables.test.js +47 -7
- package/dist/ir/constant-tables.test.js.map +1 -1
- package/dist/ir/control-flow.js +2 -1
- package/dist/ir/control-flow.js.map +1 -1
- package/dist/ir/control-flow.test.js +35 -11
- package/dist/ir/control-flow.test.js.map +1 -1
- package/dist/ir/initializer-bindings.d.ts +9 -0
- package/dist/ir/initializer-bindings.js +115 -0
- package/dist/ir/initializer-bindings.js.map +1 -0
- package/dist/ir/initializer-bindings.test.d.ts +1 -0
- package/dist/ir/initializer-bindings.test.js +118 -0
- package/dist/ir/initializer-bindings.test.js.map +1 -0
- package/dist/ir/integer-loop-facts.d.ts +12 -0
- package/dist/ir/integer-loop-facts.js +137 -0
- package/dist/ir/integer-loop-facts.js.map +1 -0
- package/dist/ir/integer-loops.d.ts +19 -0
- package/dist/ir/integer-loops.js +172 -11
- package/dist/ir/integer-loops.js.map +1 -1
- package/dist/ir/integer-loops.test.js +122 -9
- package/dist/ir/integer-loops.test.js.map +1 -1
- package/dist/ir/integer-ranges.d.ts +8 -6
- package/dist/ir/integer-ranges.js +416 -90
- package/dist/ir/integer-ranges.js.map +1 -1
- package/dist/ir/integer-ranges.test.js +239 -10
- package/dist/ir/integer-ranges.test.js.map +1 -1
- package/dist/ir/intrinsic-signatures.d.ts +20 -0
- package/dist/ir/intrinsic-signatures.js +57 -0
- package/dist/ir/intrinsic-signatures.js.map +1 -0
- package/dist/ir/ir.d.ts +14 -2155
- package/dist/ir/ir.js +169 -1394
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/ir.test.js +98 -77
- package/dist/ir/ir.test.js.map +1 -1
- package/dist/ir/runtime-features.d.ts +221 -0
- package/dist/ir/runtime-features.js +551 -0
- package/dist/ir/runtime-features.js.map +1 -0
- package/dist/ir/runtime-features.test.d.ts +1 -0
- package/dist/ir/runtime-features.test.js +98 -0
- package/dist/ir/runtime-features.test.js.map +1 -0
- package/dist/ir/scalar-records.js +130 -40
- package/dist/ir/scalar-records.js.map +1 -1
- package/dist/ir/scalar-records.test.js +146 -27
- package/dist/ir/scalar-records.test.js.map +1 -1
- package/dist/ir/serialize.js +4 -2
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/serialize.test.js +44 -9
- package/dist/ir/serialize.test.js.map +1 -1
- package/dist/ir/traverse.js +156 -43
- package/dist/ir/traverse.js.map +1 -1
- package/dist/ir/traverse.test.js +99 -24
- package/dist/ir/traverse.test.js.map +1 -1
- package/dist/ir/validate.d.ts +1 -31
- package/dist/ir/validate.js +826 -1915
- package/dist/ir/validate.js.map +1 -1
- package/dist/ir/validate.test.js +627 -111
- package/dist/ir/validate.test.js.map +1 -1
- package/dist/library/cache-primitives.js +9 -10
- package/dist/library/cache-primitives.js.map +1 -1
- package/dist/library/cache-reset.test.js +2 -1
- package/dist/library/cache-reset.test.js.map +1 -1
- package/dist/library/compiler-self-identity.js +11 -5
- package/dist/library/compiler-self-identity.js.map +1 -1
- package/dist/library/compiler-self-identity.test.js +10 -3
- package/dist/library/compiler-self-identity.test.js.map +1 -1
- package/dist/library/fence-eval.js +24 -7
- package/dist/library/fence-eval.js.map +1 -1
- package/dist/library/fence-eval.test.js +31 -7
- package/dist/library/fence-eval.test.js.map +1 -1
- package/dist/library/int-infer.js +199 -59
- package/dist/library/int-infer.js.map +1 -1
- package/dist/library/int-infer.test.js +133 -57
- package/dist/library/int-infer.test.js.map +1 -1
- package/dist/library/ir-policy.d.ts +27 -0
- package/dist/library/ir-policy.js +232 -0
- package/dist/library/ir-policy.js.map +1 -0
- package/dist/library/library-cache.js +40 -17
- package/dist/library/library-cache.js.map +1 -1
- package/dist/library/library-cache.test.js +24 -13
- package/dist/library/library-cache.test.js.map +1 -1
- package/dist/library/library-profile.js +68 -13
- package/dist/library/library-profile.js.map +1 -1
- package/dist/library/prepare.js +48 -20
- package/dist/library/prepare.js.map +1 -1
- package/dist/library/semantic-source.js +16 -14
- package/dist/library/semantic-source.js.map +1 -1
- package/dist/library/semantic-source.test.js +9 -14
- package/dist/library/semantic-source.test.js.map +1 -1
- package/dist/library/sidecar-validate.js +53 -12
- package/dist/library/sidecar-validate.js.map +1 -1
- package/dist/library/sidecar.js +85 -24
- package/dist/library/sidecar.js.map +1 -1
- package/dist/library/trap-teaching.js +11 -2
- package/dist/library/trap-teaching.js.map +1 -1
- package/dist/native/cache.js +10 -4
- package/dist/native/cache.js.map +1 -1
- package/dist/native/cli.js +34 -9
- package/dist/native/cli.js.map +1 -1
- package/dist/native/compiler.js +167 -43
- package/dist/native/compiler.js.map +1 -1
- package/dist/native/compiler.test.js +129 -32
- package/dist/native/compiler.test.js.map +1 -1
- package/dist/native/comptime.js +23 -7
- package/dist/native/comptime.js.map +1 -1
- package/dist/native/comptime.test.js +26 -6
- package/dist/native/comptime.test.js.map +1 -1
- package/dist/native/executable-cache.js +77 -27
- package/dist/native/executable-cache.js.map +1 -1
- package/dist/native/executable-cache.test.js +41 -6
- package/dist/native/executable-cache.test.js.map +1 -1
- package/dist/native/file-identity.js +9 -2
- package/dist/native/file-identity.js.map +1 -1
- package/dist/native/file-identity.test.js.map +1 -1
- package/dist/native/library.js +50 -12
- package/dist/native/library.js.map +1 -1
- package/dist/native/prepare.js +119 -34
- package/dist/native/prepare.js.map +1 -1
- package/dist/native/prepare.test.js +22 -6
- package/dist/native/prepare.test.js.map +1 -1
- package/dist/native/runtime-typescript.js +24 -11
- package/dist/native/runtime-typescript.js.map +1 -1
- package/dist/native/runtime-typescript.test.js.map +1 -1
- package/dist/native/sanitizer.js +71 -18
- package/dist/native/sanitizer.js.map +1 -1
- package/dist/native/sanitizer.test.js +77 -20
- package/dist/native/sanitizer.test.js.map +1 -1
- package/dist/native/task.js.map +1 -1
- package/dist/native/task.test.js +7 -2
- package/dist/native/task.test.js.map +1 -1
- package/dist/native/toolchain.js +74 -29
- package/dist/native/toolchain.js.map +1 -1
- package/dist/native/toolchain.test.js +95 -18
- package/dist/native/toolchain.test.js.map +1 -1
- package/dist/startup-cache.d.ts +1 -1
- package/dist/startup-cache.js +1 -1
- package/dist/startup-cache.js.map +1 -1
- package/dist/timing.js.map +1 -1
- package/package.json +20 -20
- package/surface-manifest.json +1 -1
- package/dist/frontend/lowering/lower-builtins.d.ts +0 -601
- package/dist/frontend/lowering/lower-builtins.js +0 -8984
- package/dist/frontend/lowering/lower-builtins.js.map +0 -1
- package/dist/frontend/lowering/lower-containers.d.ts +0 -382
- package/dist/frontend/lowering/lower-containers.js +0 -7366
- package/dist/frontend/lowering/lower-containers.js.map +0 -1
|
@@ -2,8 +2,8 @@ import { chmod, mkdtemp, readFile, readdir, rm, stat, utimes, writeFile } from "
|
|
|
2
2
|
import { tmpdir } from "node:os";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { afterEach, expect, test, vi } from "vitest";
|
|
5
|
-
import { FrontendInputTracker, trackedFileExists, trackedReadFile } from "../frontend/input-tracker.js";
|
|
6
|
-
import { nativeArtifactDependenciesStillMatch, snapshotNativeArtifactDependencies } from "../backend/native-toolchain.js";
|
|
5
|
+
import { FrontendInputTracker, trackedFileExists, trackedReadFile, } from "../frontend/input-tracker.js";
|
|
6
|
+
import { nativeArtifactDependenciesStillMatch, snapshotNativeArtifactDependencies, } from "../backend/native-toolchain.js";
|
|
7
7
|
import { installDarwinDebugSymbols, readDarwinDebugSymbols } from "../backend/debug-symbols.js";
|
|
8
8
|
import { publishEarlyExecutableCache, readEarlyExecutableCache, readRoutedExecutableCache, } from "./executable-cache.js";
|
|
9
9
|
const scratch = [];
|
|
@@ -110,11 +110,19 @@ test("early dev cache restores the matching dSYM and rejects a missing payload",
|
|
|
110
110
|
const tracker = new FrontendInputTracker();
|
|
111
111
|
tracker.run(() => trackedReadFile(f.source));
|
|
112
112
|
await writeFile(f.options.outPath, "native binary");
|
|
113
|
-
const symbols = Buffer.concat([
|
|
113
|
+
const symbols = Buffer.concat([
|
|
114
|
+
Buffer.from("SCDSYM01"),
|
|
115
|
+
Buffer.from([5, 0, 0, 0]),
|
|
116
|
+
Buffer.from("plistDWARF"),
|
|
117
|
+
]);
|
|
114
118
|
await installDarwinDebugSymbols(symbols, f.options.outPath);
|
|
115
119
|
await publishEarlyExecutableCache(f.root, f.options, {
|
|
116
|
-
llvmPath: f.llvmPath,
|
|
117
|
-
|
|
120
|
+
llvmPath: f.llvmPath,
|
|
121
|
+
irPath: f.irPath,
|
|
122
|
+
native: { ...native, optimization: "dev" },
|
|
123
|
+
executableRestored: true,
|
|
124
|
+
nativeDependencies: [],
|
|
125
|
+
frontend: tracker.snapshot(),
|
|
118
126
|
});
|
|
119
127
|
await rm(`${f.options.outPath}.dSYM`, { recursive: true });
|
|
120
128
|
expect((await readEarlyExecutableCache(f.root, f.options))?.executableRestored).toBe(true);
|
|
@@ -170,7 +178,10 @@ test("early executable keys isolate compile modes, paths, implementation, and FF
|
|
|
170
178
|
{ ...f.options, nativeEnvironment: "other-native-environment" },
|
|
171
179
|
{ ...f.options, nodeVersion: "v24-other" },
|
|
172
180
|
{ ...f.options, implementation: "other-implementation" },
|
|
173
|
-
{
|
|
181
|
+
{
|
|
182
|
+
...f.options,
|
|
183
|
+
ffiProfile: { path: join(f.options.outDir, "ffi.json"), bytes: Buffer.from("one") },
|
|
184
|
+
},
|
|
174
185
|
];
|
|
175
186
|
for (const options of variants) {
|
|
176
187
|
expect(await readEarlyExecutableCache(f.root, options)).toBeNull();
|
|
@@ -217,7 +228,8 @@ test("early executable cache restores a validated final binary", async () => {
|
|
|
217
228
|
irPath: f.irPath,
|
|
218
229
|
native,
|
|
219
230
|
executableRestored: true,
|
|
220
|
-
nativeDependencies: [
|
|
231
|
+
nativeDependencies: [
|
|
232
|
+
{
|
|
221
233
|
path: dependency,
|
|
222
234
|
kind: "file",
|
|
223
235
|
dev: info.dev,
|
|
@@ -225,7 +237,8 @@ test("early executable cache restores a validated final binary", async () => {
|
|
|
225
237
|
size: info.size,
|
|
226
238
|
mtimeMs: info.mtimeMs,
|
|
227
239
|
ctimeMs: info.ctimeMs,
|
|
228
|
-
}
|
|
240
|
+
},
|
|
241
|
+
],
|
|
229
242
|
frontend: tracker.snapshot(),
|
|
230
243
|
});
|
|
231
244
|
await writeFile(f.options.outPath, "caller-modified\n");
|
|
@@ -251,7 +264,8 @@ test("routed executable hits require an unchanged compiler implementation proof"
|
|
|
251
264
|
stat(dependency),
|
|
252
265
|
stat(nativeDependency),
|
|
253
266
|
]);
|
|
254
|
-
f.options.implementationDependencies = [
|
|
267
|
+
f.options.implementationDependencies = [
|
|
268
|
+
{
|
|
255
269
|
path: dependency,
|
|
256
270
|
kind: "file",
|
|
257
271
|
dev: implementationInfo.dev,
|
|
@@ -259,7 +273,8 @@ test("routed executable hits require an unchanged compiler implementation proof"
|
|
|
259
273
|
size: implementationInfo.size,
|
|
260
274
|
mtimeMs: implementationInfo.mtimeMs,
|
|
261
275
|
ctimeMs: implementationInfo.ctimeMs,
|
|
262
|
-
}
|
|
276
|
+
},
|
|
277
|
+
];
|
|
263
278
|
const tracker = new FrontendInputTracker();
|
|
264
279
|
tracker.run(() => trackedReadFile(f.source));
|
|
265
280
|
await publishEarlyExecutableCache(f.root, f.options, {
|
|
@@ -267,7 +282,8 @@ test("routed executable hits require an unchanged compiler implementation proof"
|
|
|
267
282
|
irPath: f.irPath,
|
|
268
283
|
native,
|
|
269
284
|
executableRestored: true,
|
|
270
|
-
nativeDependencies: [
|
|
285
|
+
nativeDependencies: [
|
|
286
|
+
{
|
|
271
287
|
path: nativeDependency,
|
|
272
288
|
kind: "file",
|
|
273
289
|
dev: nativeInfo.dev,
|
|
@@ -275,7 +291,8 @@ test("routed executable hits require an unchanged compiler implementation proof"
|
|
|
275
291
|
size: nativeInfo.size,
|
|
276
292
|
mtimeMs: nativeInfo.mtimeMs,
|
|
277
293
|
ctimeMs: nativeInfo.ctimeMs,
|
|
278
|
-
}
|
|
294
|
+
},
|
|
295
|
+
],
|
|
279
296
|
frontend: tracker.snapshot(),
|
|
280
297
|
});
|
|
281
298
|
const route = { ...f.options };
|
|
@@ -300,7 +317,8 @@ test("routed executable hits require an unchanged compiler implementation proof"
|
|
|
300
317
|
irPath: f.irPath,
|
|
301
318
|
native,
|
|
302
319
|
executableRestored: true,
|
|
303
|
-
nativeDependencies: [
|
|
320
|
+
nativeDependencies: [
|
|
321
|
+
{
|
|
304
322
|
path: nativeDependency,
|
|
305
323
|
kind: "file",
|
|
306
324
|
dev: nativeInfo.dev,
|
|
@@ -308,7 +326,8 @@ test("routed executable hits require an unchanged compiler implementation proof"
|
|
|
308
326
|
size: nativeInfo.size,
|
|
309
327
|
mtimeMs: nativeInfo.mtimeMs,
|
|
310
328
|
ctimeMs: nativeInfo.ctimeMs,
|
|
311
|
-
}
|
|
329
|
+
},
|
|
330
|
+
],
|
|
312
331
|
frontend: tracker.snapshot(),
|
|
313
332
|
});
|
|
314
333
|
expect(await readRoutedExecutableCache(f.root, route)).not.toBeNull();
|
|
@@ -332,10 +351,17 @@ async function routedFixture(executableRestored = true) {
|
|
|
332
351
|
writeFile(f.options.outPath, "cached executable\n"),
|
|
333
352
|
]);
|
|
334
353
|
const info = await stat(implementation);
|
|
335
|
-
f.options.implementationDependencies = [
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
354
|
+
f.options.implementationDependencies = [
|
|
355
|
+
{
|
|
356
|
+
path: implementation,
|
|
357
|
+
kind: "file",
|
|
358
|
+
dev: info.dev,
|
|
359
|
+
ino: info.ino,
|
|
360
|
+
size: info.size,
|
|
361
|
+
mtimeMs: info.mtimeMs,
|
|
362
|
+
ctimeMs: info.ctimeMs,
|
|
363
|
+
},
|
|
364
|
+
];
|
|
339
365
|
const tracker = new FrontendInputTracker();
|
|
340
366
|
tracker.run(() => {
|
|
341
367
|
trackedReadFile(f.source);
|
|
@@ -343,8 +369,13 @@ async function routedFixture(executableRestored = true) {
|
|
|
343
369
|
trackedFileExists(f.missing);
|
|
344
370
|
});
|
|
345
371
|
await publishEarlyExecutableCache(f.root, f.options, {
|
|
346
|
-
llvmPath: f.llvmPath,
|
|
347
|
-
|
|
372
|
+
llvmPath: f.llvmPath,
|
|
373
|
+
irPath: f.irPath,
|
|
374
|
+
native,
|
|
375
|
+
executableRestored,
|
|
376
|
+
...(executableRestored
|
|
377
|
+
? { nativeDependencies: await snapshotNativeArtifactDependencies([nativeDependency]) }
|
|
378
|
+
: {}),
|
|
348
379
|
frontend: tracker.snapshot(),
|
|
349
380
|
});
|
|
350
381
|
await Promise.all([
|
|
@@ -379,7 +410,8 @@ test.each(["source", "payload", "frontend-only"])("%s misses skip deferred drive
|
|
|
379
410
|
test("a deferred driver fingerprint is checked once before restoring a routed hit", async () => {
|
|
380
411
|
const f = await routedFixture();
|
|
381
412
|
const discover = vi.fn(async () => f.options.nativeEnvironment);
|
|
382
|
-
expect((await readRoutedExecutableCache(f.root, { ...f.options, nativeEnvironment: discover }))
|
|
413
|
+
expect((await readRoutedExecutableCache(f.root, { ...f.options, nativeEnvironment: discover }))
|
|
414
|
+
?.executableRestored).toBe(true);
|
|
383
415
|
expect(discover).toHaveBeenCalledTimes(1);
|
|
384
416
|
expect(await readFile(f.options.outPath, "utf8")).toBe("cached executable\n");
|
|
385
417
|
expect(await readFile(f.llvmPath, "utf8")).toBe("; generated llvm\n");
|
|
@@ -408,9 +440,17 @@ test.each(["environment", "failure", "source", "declarations", "implementation",
|
|
|
408
440
|
});
|
|
409
441
|
test.each(["implementation", "native", "declarations", "resolution"])("a stale %s proof refuses a deferred routed hit", async (change) => {
|
|
410
442
|
const f = await routedFixture();
|
|
411
|
-
const path = {
|
|
443
|
+
const path = {
|
|
444
|
+
implementation: f.implementation,
|
|
445
|
+
native: f.nativeDependency,
|
|
446
|
+
declarations: f.declarations,
|
|
447
|
+
resolution: f.missing,
|
|
448
|
+
}[change];
|
|
412
449
|
await writeFile(path, "changed before discovery\n");
|
|
413
|
-
expect(await readRoutedExecutableCache(f.root, {
|
|
450
|
+
expect(await readRoutedExecutableCache(f.root, {
|
|
451
|
+
...f.options,
|
|
452
|
+
nativeEnvironment: async () => f.options.nativeEnvironment,
|
|
453
|
+
})).toBeNull();
|
|
414
454
|
expect(await readFile(f.options.outPath, "utf8")).toBe("current executable\n");
|
|
415
455
|
expect(await readFile(f.llvmPath, "utf8")).toBe("; current LLVM\n");
|
|
416
456
|
expect(await readFile(f.irPath, "utf8")).toBe("current IR\n");
|
|
@@ -419,12 +459,21 @@ test("the route index still isolates eager and deferred native environments", as
|
|
|
419
459
|
const f = await routedFixture();
|
|
420
460
|
expect(await readRoutedExecutableCache(f.root, { ...f.options, nativeEnvironment: "another driver" })).toBeNull();
|
|
421
461
|
await publishEarlyExecutableCache(f.root, { ...f.options, nativeEnvironment: "another driver" }, {
|
|
422
|
-
llvmPath: f.llvmPath,
|
|
462
|
+
llvmPath: f.llvmPath,
|
|
463
|
+
irPath: f.irPath,
|
|
464
|
+
native,
|
|
465
|
+
executableRestored: true,
|
|
423
466
|
nativeDependencies: await snapshotNativeArtifactDependencies([f.nativeDependency]),
|
|
424
467
|
frontend: (await readEarlyExecutableCache(f.root, f.options)).frontend,
|
|
425
468
|
});
|
|
426
469
|
expect(await readRoutedExecutableCache(f.root, f.options)).toBeNull();
|
|
427
|
-
expect(await readRoutedExecutableCache(f.root, {
|
|
428
|
-
|
|
470
|
+
expect(await readRoutedExecutableCache(f.root, {
|
|
471
|
+
...f.options,
|
|
472
|
+
nativeEnvironment: async () => f.options.nativeEnvironment,
|
|
473
|
+
})).toBeNull();
|
|
474
|
+
expect((await readRoutedExecutableCache(f.root, {
|
|
475
|
+
...f.options,
|
|
476
|
+
nativeEnvironment: async () => "another driver",
|
|
477
|
+
}))?.executableRestored).toBe(true);
|
|
429
478
|
});
|
|
430
479
|
//# sourceMappingURL=executable-cache.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executable-cache.test.js","sourceRoot":"","sources":["../../src/executable/executable-cache.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"executable-cache.test.js","sourceRoot":"","sources":["../../src/executable/executable-cache.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { checkerPanicDiag, iceDiag, isCheckerPanic } from "../diagnostics/diagnostic.js";
|
|
1
|
+
import { checkerPanicDiag, iceDiag, isCheckerPanic, } from "../diagnostics/diagnostic.js";
|
|
2
2
|
import { validateModule } from "../ir/validate.js";
|
|
3
|
-
import { fenceSpeculativeWasiFunctions, moduleWasiUnavailableSurface, targetRefusalDiag } from "../backend/target-diagnostics.js";
|
|
3
|
+
import { fenceSpeculativeWasiFunctions, moduleWasiUnavailableSurface, targetRefusalDiag, } from "../backend/target-diagnostics.js";
|
|
4
4
|
/** Release the parser/checker before native object generation begins. */
|
|
5
5
|
export function prepareExecutableModule(entryPath, opts, ffi, buildPlatform, createFrontend, timing = () => { }) {
|
|
6
6
|
const fe = createFrontend(entryPath, opts.npmStatic);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../src/executable/prepare.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../src/executable/prepare.ts"],"names":[],"mappings":"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"}
|
package/dist/ffi/ffi-manifest.js
CHANGED
|
@@ -88,7 +88,21 @@ export const FFI_PARAM_CLASSES = [
|
|
|
88
88
|
"bytes",
|
|
89
89
|
"mutable-bytes",
|
|
90
90
|
];
|
|
91
|
-
export const FFI_RETURN_CLASSES = [
|
|
91
|
+
export const FFI_RETURN_CLASSES = [
|
|
92
|
+
"f64",
|
|
93
|
+
"f32",
|
|
94
|
+
"bool",
|
|
95
|
+
"u8",
|
|
96
|
+
"i8",
|
|
97
|
+
"u16",
|
|
98
|
+
"i16",
|
|
99
|
+
"u32",
|
|
100
|
+
"i32",
|
|
101
|
+
"i64",
|
|
102
|
+
"u64",
|
|
103
|
+
"pointer",
|
|
104
|
+
"void",
|
|
105
|
+
];
|
|
92
106
|
export const FFI_CALLBACK_PARAM_CLASSES = [
|
|
93
107
|
"f64",
|
|
94
108
|
"f32",
|
|
@@ -180,7 +194,13 @@ function callbackParam(value, path, format) {
|
|
|
180
194
|
callback: { release: stringField(callback["release"], `${path}.callback.release`) },
|
|
181
195
|
};
|
|
182
196
|
}
|
|
183
|
-
rejectUnknownKeys(callback, `${path}.callback`, [
|
|
197
|
+
rejectUnknownKeys(callback, `${path}.callback`, [
|
|
198
|
+
"id",
|
|
199
|
+
"params",
|
|
200
|
+
"returns",
|
|
201
|
+
"lifetime",
|
|
202
|
+
"invoke",
|
|
203
|
+
]);
|
|
184
204
|
const id = stringField(callback["id"], `${path}.callback.id`);
|
|
185
205
|
if (!TS_IDENT.test(id)) {
|
|
186
206
|
throw new FfiProfileError(`'${path}.callback.id' is not a plain identifier: '${id}'`);
|
|
@@ -191,11 +211,8 @@ function callbackParam(value, path, format) {
|
|
|
191
211
|
const params = callback["params"].map((entry, i) => {
|
|
192
212
|
const entryPath = `${path}.callback.params[${i}]`;
|
|
193
213
|
checkClassVersion(entry, entryPath, format);
|
|
194
|
-
const allowed = format >= 3
|
|
195
|
-
|
|
196
|
-
: FFI_FORMAT_2_CALLBACK_PARAM_CLASSES;
|
|
197
|
-
if (typeof entry === "string" &&
|
|
198
|
-
allowed.includes(entry)) {
|
|
214
|
+
const allowed = format >= 3 ? FFI_CALLBACK_PARAM_CLASSES : FFI_FORMAT_2_CALLBACK_PARAM_CLASSES;
|
|
215
|
+
if (typeof entry === "string" && allowed.includes(entry)) {
|
|
199
216
|
return entry;
|
|
200
217
|
}
|
|
201
218
|
if (typeof entry === "string" &&
|
|
@@ -235,7 +252,8 @@ function callbackParam(value, path, format) {
|
|
|
235
252
|
if (invoke === "foreign" && !params.some((param) => typeof param === "object")) {
|
|
236
253
|
throw new FfiProfileError(`'${path}.callback.invoke' value 'foreign' requires a context entry`);
|
|
237
254
|
}
|
|
238
|
-
if (invoke === "foreign" &&
|
|
255
|
+
if (invoke === "foreign" &&
|
|
256
|
+
params.some((param) => param === "i64" || param === "u64" || param === "pointer")) {
|
|
239
257
|
throw new FfiProfileError(`'${path}.callback.invoke' value 'foreign' does not support 64-bit or pointer arguments yet`);
|
|
240
258
|
}
|
|
241
259
|
return {
|
|
@@ -274,7 +292,13 @@ export function loadFfiProfile(profilePath) {
|
|
|
274
292
|
}
|
|
275
293
|
const root = raw;
|
|
276
294
|
const format = root["ffi_format"];
|
|
277
|
-
if (format !== 1 &&
|
|
295
|
+
if (format !== 1 &&
|
|
296
|
+
format !== 2 &&
|
|
297
|
+
format !== 3 &&
|
|
298
|
+
format !== 4 &&
|
|
299
|
+
format !== 5 &&
|
|
300
|
+
format !== 6 &&
|
|
301
|
+
format !== 7) {
|
|
278
302
|
throw new FfiProfileError(typeof format === "number"
|
|
279
303
|
? `unsupported ffi_format ${format} (this scriptc reads formats 1, 2, 3, 4, 5, 6, and 7)`
|
|
280
304
|
: "'ffi_format' must be the number 1, 2, 3, 4, 5, 6, or 7");
|
|
@@ -397,15 +421,19 @@ export function loadFfiProfile(profilePath) {
|
|
|
397
421
|
throw new FfiProfileError(`'${path}.library' requires ffi_format 7`);
|
|
398
422
|
if (library.includes("\0"))
|
|
399
423
|
throw new FfiProfileError(`'${path}.library' must not contain NUL`);
|
|
400
|
-
if (params.some(param => typeof param !== "string" || ["string", "bytes", "mutable-bytes"].includes(param))) {
|
|
424
|
+
if (params.some((param) => typeof param !== "string" || ["string", "bytes", "mutable-bytes"].includes(param))) {
|
|
401
425
|
throw new FfiProfileError(`'${path}.library' exposes only scalar and pointer signatures`);
|
|
402
426
|
}
|
|
403
427
|
}
|
|
404
428
|
// node:ffi spells its uint8 ABI alias "bool"; direct manifest bool
|
|
405
429
|
// continues to mean a JavaScript boolean and C _Bool.
|
|
406
|
-
return {
|
|
430
|
+
return {
|
|
431
|
+
name,
|
|
432
|
+
symbol,
|
|
433
|
+
params: library === undefined ? params : params.map((p) => (p === "bool" ? "u8" : p)),
|
|
407
434
|
returns: (library !== undefined && returns === "bool" ? "u8" : returns),
|
|
408
|
-
...(library === undefined ? {} : { library })
|
|
435
|
+
...(library === undefined ? {} : { library }),
|
|
436
|
+
};
|
|
409
437
|
});
|
|
410
438
|
// Collect registrations before resolving releases so declarations may
|
|
411
439
|
// reference a callback later in the manifest. Build resolved descriptors
|
|
@@ -438,7 +466,9 @@ export function loadFfiProfile(profilePath) {
|
|
|
438
466
|
if (descriptor === undefined) {
|
|
439
467
|
const [binding, id, ...extra] = target.split(":");
|
|
440
468
|
const candidate = extra.length === 0 && binding !== undefined && id !== undefined
|
|
441
|
-
? functions
|
|
469
|
+
? functions
|
|
470
|
+
.find((entry) => entry.name === binding)
|
|
471
|
+
?.params.find((entry) => typeof entry === "object" &&
|
|
442
472
|
"callback" in entry &&
|
|
443
473
|
!("release" in entry.callback) &&
|
|
444
474
|
entry.callback.id === id)
|
|
@@ -497,26 +527,54 @@ export function loadFfiProfile(profilePath) {
|
|
|
497
527
|
if (library.includes("\0"))
|
|
498
528
|
throw new FfiProfileError(`'${path}.library' must not contain NUL`);
|
|
499
529
|
const capacity = raw["capacity"] ?? 16;
|
|
500
|
-
if (typeof capacity !== "number" ||
|
|
530
|
+
if (typeof capacity !== "number" ||
|
|
531
|
+
!Number.isInteger(capacity) ||
|
|
532
|
+
capacity < 1 ||
|
|
533
|
+
capacity > 256)
|
|
501
534
|
throw new FfiProfileError(`'${path}.capacity' must be an integer from 1 to 256`);
|
|
502
|
-
const parsed = callbackParam({
|
|
535
|
+
const parsed = callbackParam({
|
|
536
|
+
callback: {
|
|
537
|
+
id: "callback",
|
|
538
|
+
params: raw["params"],
|
|
539
|
+
returns: raw["returns"],
|
|
540
|
+
lifetime: "retained",
|
|
541
|
+
},
|
|
542
|
+
}, path, 7);
|
|
503
543
|
if (!parsed || "release" in parsed.callback)
|
|
504
544
|
throw new FfiProfileError(`invalid '${path}'`);
|
|
505
|
-
if (parsed.callback.params.some(param => typeof param !== "string" || ["cstring", "string", "bytes"].includes(param)))
|
|
545
|
+
if (parsed.callback.params.some((param) => typeof param !== "string" || ["cstring", "string", "bytes"].includes(param)))
|
|
506
546
|
throw new FfiProfileError(`'${path}' supports scalar and pointer callback parameters only`);
|
|
507
|
-
parsed.callback.params = parsed.callback.params.map(p => p === "bool" ? "u8" : p);
|
|
547
|
+
parsed.callback.params = parsed.callback.params.map((p) => (p === "bool" ? "u8" : p));
|
|
508
548
|
if (parsed.callback.returns === "bool")
|
|
509
549
|
parsed.callback.returns = "u8";
|
|
510
550
|
for (let slot = 0; slot < capacity; slot++) {
|
|
511
551
|
let name = `__scriptc_ffi_callback_${index}_${slot}`;
|
|
512
|
-
while (names.has(name) ||
|
|
552
|
+
while (names.has(name) ||
|
|
553
|
+
symbols.has(name) ||
|
|
554
|
+
names.has(`${name}_release`) ||
|
|
555
|
+
symbols.has(`${name}_release`))
|
|
513
556
|
name += "_";
|
|
514
557
|
names.add(name);
|
|
515
558
|
names.add(`${name}_release`);
|
|
516
559
|
symbols.add(name);
|
|
517
560
|
symbols.add(`${name}_release`);
|
|
518
|
-
resolvedFunctions.push({
|
|
519
|
-
|
|
561
|
+
resolvedFunctions.push({
|
|
562
|
+
name,
|
|
563
|
+
symbol: name,
|
|
564
|
+
library,
|
|
565
|
+
callbackOperation: "register",
|
|
566
|
+
params: [{ callback: parsed.callback }],
|
|
567
|
+
returns: "pointer",
|
|
568
|
+
});
|
|
569
|
+
resolvedFunctions.push({
|
|
570
|
+
name: `${name}_release`,
|
|
571
|
+
symbol: `${name}_release`,
|
|
572
|
+
library,
|
|
573
|
+
callbackOperation: "release",
|
|
574
|
+
callbackTarget: name,
|
|
575
|
+
params: [],
|
|
576
|
+
returns: "void",
|
|
577
|
+
});
|
|
520
578
|
}
|
|
521
579
|
}
|
|
522
580
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ffi-manifest.js","sourceRoot":"","sources":["../../src/ffi/ffi-manifest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ffi-manifest.js","sourceRoot":"","sources":["../../src/ffi/ffi-manifest.ts"],"names":[],"mappings":"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"}
|