@scriptc/compiler 0.2.9 → 0.3.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 +2 -36
- package/ambient/scriptc-overrides.d.ts +1 -25
- package/ambient/scriptc.d.ts +1 -9
- package/dist/backend/cycle-analysis.d.ts +56 -0
- package/dist/backend/cycle-analysis.js +175 -14
- package/dist/backend/cycle-analysis.js.map +1 -1
- package/dist/backend/cycle-analysis.test.js +95 -2
- package/dist/backend/cycle-analysis.test.js.map +1 -1
- package/dist/backend/cycle-mutability.d.ts +3 -7
- package/dist/backend/cycle-mutability.js +4 -30
- package/dist/backend/cycle-mutability.js.map +1 -1
- package/dist/backend/executable-features.d.ts +1 -1
- package/dist/backend/executable-features.js +3 -8
- package/dist/backend/executable-features.js.map +1 -1
- package/dist/backend/immutability.d.ts +57 -0
- package/dist/backend/immutability.js +178 -0
- package/dist/backend/immutability.js.map +1 -0
- package/dist/backend/immutability.test.js +131 -0
- package/dist/backend/immutability.test.js.map +1 -0
- package/dist/backend/library-pack.js +0 -2
- package/dist/backend/library-pack.js.map +1 -1
- package/dist/backend/linker.js +1 -1
- package/dist/backend/linker.js.map +1 -1
- package/dist/backend/llvm/borrowed-inputs.d.ts +9 -2
- package/dist/backend/llvm/borrowed-inputs.js +31 -3
- package/dist/backend/llvm/borrowed-inputs.js.map +1 -1
- package/dist/backend/llvm/checked-narrows.test.js +1 -1
- package/dist/backend/llvm/classes.d.ts +28 -0
- package/dist/backend/llvm/classes.js +48 -14
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/classes.test.js +134 -6
- package/dist/backend/llvm/classes.test.js.map +1 -1
- package/dist/backend/llvm/common.d.ts +13 -0
- package/dist/backend/llvm/common.js +13 -0
- package/dist/backend/llvm/common.js.map +1 -1
- package/dist/backend/llvm/constant-callbacks.d.ts +1 -1
- package/dist/backend/llvm/constant-callbacks.js +3 -3
- package/dist/backend/llvm/constant-callbacks.js.map +1 -1
- package/dist/backend/llvm/constant-callbacks.test.js +1 -1
- package/dist/backend/llvm/dense-array-access.js +5 -4
- package/dist/backend/llvm/dense-array-access.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.test.js +10 -2
- package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
- package/dist/backend/llvm/dyn.d.ts +2 -1
- package/dist/backend/llvm/dyn.js +3 -76
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +67 -19
- package/dist/backend/llvm/emitter.js +443 -226
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.test.js +21 -3
- package/dist/backend/llvm/emitter.test.js.map +1 -1
- package/dist/backend/llvm/expr-async.test.js +1 -1
- package/dist/backend/llvm/expr-calls.js +14 -6
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-containers.js +41 -14
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-control.js +4 -107
- package/dist/backend/llvm/expr-control.js.map +1 -1
- package/dist/backend/llvm/expr-dispatch.d.ts +1 -2
- package/dist/backend/llvm/expr-dispatch.js +0 -41
- package/dist/backend/llvm/expr-dispatch.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.d.ts +1 -1
- package/dist/backend/llvm/expr-dynamic.js +13 -27
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.js +30 -3
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.test.js +55 -2
- package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.js +4 -4
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.test.js +1 -1
- package/dist/backend/llvm/lib-dispatch.js +0 -1
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.js +0 -13
- package/dist/backend/llvm/lib-filesystem.js.map +1 -1
- package/dist/backend/llvm/lib-shared.js +0 -8
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.js +3 -3
- package/dist/backend/llvm/local-array-reads.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.test.js +1 -1
- package/dist/backend/llvm/local-union-storage.test.js +1 -1
- package/dist/backend/llvm/loop-array-borrows.d.ts +5 -2
- package/dist/backend/llvm/loop-array-borrows.js +27 -8
- package/dist/backend/llvm/loop-array-borrows.js.map +1 -1
- package/dist/backend/llvm/map-number-lookup.d.ts +14 -0
- package/dist/backend/llvm/map-number-lookup.js +33 -2
- package/dist/backend/llvm/map-number-lookup.js.map +1 -1
- package/dist/backend/llvm/map-read-lifetimes.d.ts +5 -0
- package/dist/backend/llvm/map-read-lifetimes.js +20 -4
- package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
- package/dist/backend/llvm/map-read-lifetimes.test.js +25 -3
- package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/reference-writes.d.ts +124 -0
- package/dist/backend/llvm/reference-writes.js +1090 -0
- package/dist/backend/llvm/reference-writes.js.map +1 -0
- package/dist/backend/llvm/shapes.d.ts +8 -5
- package/dist/backend/llvm/shapes.js +37 -13
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/shapes.test.js +3 -3
- 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 +40 -11
- package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/string-reads.d.ts +3 -0
- package/dist/backend/llvm/string-reads.js +31 -0
- package/dist/backend/llvm/string-reads.js.map +1 -1
- package/dist/backend/llvm/switch-dispatch.d.ts +2 -2
- package/dist/backend/llvm/switch-dispatch.js +35 -22
- package/dist/backend/llvm/switch-dispatch.js.map +1 -1
- package/dist/backend/llvm/switch-dispatch.test.js +29 -11
- package/dist/backend/llvm/switch-dispatch.test.js.map +1 -1
- package/dist/backend/llvm/walk-borrows.d.ts +8 -1
- package/dist/backend/llvm/walk-borrows.js +15 -4
- package/dist/backend/llvm/walk-borrows.js.map +1 -1
- package/dist/backend/may-throw.d.ts +36 -2
- package/dist/backend/may-throw.js +308 -21
- package/dist/backend/may-throw.js.map +1 -1
- package/dist/backend/may-throw.test.js +147 -2
- package/dist/backend/may-throw.test.js.map +1 -1
- package/dist/backend/native/artifact-stamps.js +0 -2
- package/dist/backend/native/artifact-stamps.js.map +1 -1
- package/dist/backend/native/cache-warm.d.ts +1 -1
- package/dist/backend/native/cache-warm.js +2 -3
- package/dist/backend/native/cache-warm.js.map +1 -1
- package/dist/backend/native/compiler-fingerprint.d.ts +1 -1
- package/dist/backend/native/compiler-fingerprint.js +4 -7
- package/dist/backend/native/compiler-fingerprint.js.map +1 -1
- package/dist/backend/native/contracts.d.ts +3 -28
- package/dist/backend/native/driver.js +1 -3
- package/dist/backend/native/driver.js.map +1 -1
- package/dist/backend/native/executable.d.ts +0 -15
- package/dist/backend/native/executable.js +17 -172
- package/dist/backend/native/executable.js.map +1 -1
- package/dist/backend/native/tool-identity.js +0 -1
- package/dist/backend/native/tool-identity.js.map +1 -1
- package/dist/backend/native/vendor.d.ts +1 -1
- package/dist/backend/native/vendor.js +1 -1
- package/dist/backend/native/vendor.js.map +1 -1
- package/dist/backend/native-link-info-core.d.ts +0 -2
- package/dist/backend/native-link-info-core.js.map +1 -1
- package/dist/backend/native-toolchain.test.js +23 -33
- package/dist/backend/native-toolchain.test.js.map +1 -1
- package/dist/backend/publication.d.ts +5 -0
- package/dist/backend/publication.js +10 -0
- package/dist/backend/publication.js.map +1 -1
- package/dist/backend/publication.test.js +1 -1
- package/dist/backend/runtime-abi.d.ts +2 -2
- package/dist/backend/runtime-abi.js +2 -2
- package/dist/backend/runtime-pack-core.d.ts +1 -2
- package/dist/backend/runtime-pack-core.js +5 -14
- package/dist/backend/runtime-pack-core.js.map +1 -1
- package/dist/backend/runtime-pack-targets.test.js +3 -8
- package/dist/backend/runtime-pack-targets.test.js.map +1 -1
- package/dist/backend/runtime-pack.test.js +22 -19
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/backend/target-diagnostics.d.ts +0 -5
- package/dist/backend/target-diagnostics.js +1 -11
- package/dist/backend/target-diagnostics.js.map +1 -1
- package/dist/backend/target-diagnostics.test.js +1 -1
- package/dist/backend/vendor-archives.d.ts +1 -7
- package/dist/backend/vendor-archives.js +9 -189
- package/dist/backend/vendor-archives.js.map +1 -1
- package/dist/backend/vendor-inputs.d.ts +0 -1
- package/dist/backend/vendor-inputs.js +0 -1
- package/dist/backend/vendor-inputs.js.map +1 -1
- package/dist/backend/warm-cache.js +3 -5
- package/dist/backend/warm-cache.js.map +1 -1
- package/dist/cli/command.js +4 -8
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/host.d.ts +1 -1
- package/dist/cli/usage.d.ts +1 -5
- package/dist/cli/usage.js +4 -9
- package/dist/cli/usage.js.map +1 -1
- package/dist/compat/fetch-profile.d.ts +2 -2
- package/dist/compat/fetch-profile.js +16 -25
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/compile-types.d.ts +2 -17
- package/dist/contracts/check.d.ts +8 -0
- package/dist/contracts/check.js +1573 -0
- package/dist/contracts/check.js.map +1 -0
- package/dist/coverage/report.d.ts +5 -22
- package/dist/coverage/report.js +12 -76
- package/dist/coverage/report.js.map +1 -1
- package/dist/coverage/surface-manifest.d.ts +3 -3
- package/dist/coverage/surface-manifest.js +22 -27
- package/dist/coverage/surface-manifest.js.map +1 -1
- package/dist/coverage/verdict-cache.d.ts +1 -3
- package/dist/coverage/verdict-cache.js +2 -7
- package/dist/coverage/verdict-cache.js.map +1 -1
- package/dist/diagnostics/diagnostic.d.ts +11 -60
- package/dist/diagnostics/diagnostic.js +39 -118
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/diagnostics/envelope.d.ts +3 -4
- package/dist/diagnostics/envelope.js +0 -9
- package/dist/diagnostics/envelope.js.map +1 -1
- package/dist/diagnostics/envelope.test.js +1 -1
- package/dist/diagnostics/envelope.test.js.map +1 -1
- package/dist/executable/executable-cache.d.ts +0 -3
- package/dist/executable/executable-cache.js +2 -4
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/executable/executable-cache.test.js +0 -4
- package/dist/executable/executable-cache.test.js.map +1 -1
- package/dist/executable/prepare.js +14 -2
- package/dist/executable/prepare.js.map +1 -1
- package/dist/frontend/analysis.js +10 -10
- package/dist/frontend/analysis.js.map +1 -1
- package/dist/frontend/cjs-syntax.js +0 -88
- package/dist/frontend/cjs-syntax.js.map +1 -1
- package/dist/frontend/contract-types.d.ts +50 -0
- package/dist/frontend/contract-types.js +232 -0
- package/dist/frontend/contract-types.js.map +1 -0
- package/dist/frontend/dts-paths.d.ts +1 -1
- package/dist/frontend/dts-paths.js +1 -1
- package/dist/frontend/lowering/abstract-equality.js +1 -4
- package/dist/frontend/lowering/abstract-equality.js.map +1 -1
- package/dist/frontend/lowering/array-values.js +4 -11
- package/dist/frontend/lowering/array-values.js.map +1 -1
- package/dist/frontend/lowering/builtins/arguments.js +0 -13
- package/dist/frontend/lowering/builtins/arguments.js.map +1 -1
- package/dist/frontend/lowering/builtins/crypto.d.ts +0 -4
- package/dist/frontend/lowering/builtins/crypto.js +0 -4
- package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
- package/dist/frontend/lowering/builtins/json.js +1 -39
- package/dist/frontend/lowering/builtins/json.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-resolution.d.ts +0 -15
- package/dist/frontend/lowering/builtins/module-resolution.js +5 -44
- package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
- package/dist/frontend/lowering/builtins/numbers.d.ts +0 -6
- package/dist/frontend/lowering/builtins/numbers.js +6 -57
- package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
- package/dist/frontend/lowering/builtins/promises.js +4 -67
- package/dist/frontend/lowering/builtins/promises.js.map +1 -1
- package/dist/frontend/lowering/builtins/workers.js +1 -1
- package/dist/frontend/lowering/builtins/workers.js.map +1 -1
- package/dist/frontend/lowering/call-arguments.d.ts +1 -37
- package/dist/frontend/lowering/call-arguments.js +11 -94
- package/dist/frontend/lowering/call-arguments.js.map +1 -1
- package/dist/frontend/lowering/call-signatures.d.ts +1 -6
- package/dist/frontend/lowering/call-signatures.js +16 -68
- package/dist/frontend/lowering/call-signatures.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +19 -4
- package/dist/frontend/lowering/class-dynamic-dispatch.js +168 -98
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js +44 -4
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
- package/dist/frontend/lowering/class-method-mutations.js +0 -2
- package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
- package/dist/frontend/lowering/class-protocols.js +1 -1
- package/dist/frontend/lowering/class-protocols.js.map +1 -1
- package/dist/frontend/lowering/coercions/function-adapters.js +5 -35
- package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
- package/dist/frontend/lowering/coercions/state.d.ts +0 -1
- package/dist/frontend/lowering/coercions/state.js +0 -1
- package/dist/frontend/lowering/coercions/state.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural-plans.js +2 -4
- package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural.js +2 -12
- package/dist/frontend/lowering/coercions/structural.js.map +1 -1
- package/dist/frontend/lowering/coercions/unions.d.ts +12 -0
- package/dist/frontend/lowering/coercions/unions.js +63 -1
- package/dist/frontend/lowering/coercions/unions.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callbacks.js +9 -28
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
- package/dist/frontend/lowering/containers/array-construction.js +2 -3
- package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
- package/dist/frontend/lowering/containers/array-methods.js +10 -54
- package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/bytes.js +0 -1
- package/dist/frontend/lowering/containers/bytes.js.map +1 -1
- package/dist/frontend/lowering/containers/callback-arguments.js +2 -10
- package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
- package/dist/frontend/lowering/containers/collection-methods.js +1 -6
- package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/indexed-objects.js +0 -2
- package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
- package/dist/frontend/lowering/containers/string-and-regexp.d.ts +0 -6
- package/dist/frontend/lowering/containers/string-and-regexp.js +2 -10
- package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
- package/dist/frontend/lowering/expressions/evaluation-safety.js +0 -3
- package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
- package/dist/frontend/lowering/expressions/native-proxy.js +1 -1
- package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
- package/dist/frontend/lowering/expressions/nullish-assignment.js +0 -1
- package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
- package/dist/frontend/lowering/expressions/object-literals.d.ts +0 -8
- package/dist/frontend/lowering/expressions/object-literals.js +8 -35
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.d.ts +0 -4
- package/dist/frontend/lowering/expressions/optional-chains.js +7 -67
- package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
- package/dist/frontend/lowering/function-context.js +0 -1
- package/dist/frontend/lowering/function-context.js.map +1 -1
- package/dist/frontend/lowering/generic-functions.js +0 -1
- package/dist/frontend/lowering/generic-functions.js.map +1 -1
- package/dist/frontend/lowering/lib-boundary.js +10 -77
- package/dist/frontend/lowering/lib-boundary.js.map +1 -1
- package/dist/frontend/lowering/lower-array-sort.js +1 -10
- package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
- package/dist/frontend/lowering/lower-array-sort.test.js +2 -2
- package/dist/frontend/lowering/lower-array-sort.test.js.map +1 -1
- package/dist/frontend/lowering/lower-assert.js +2 -3
- package/dist/frontend/lowering/lower-assert.js.map +1 -1
- package/dist/frontend/lowering/lower-async-iteration.js +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +2 -27
- package/dist/frontend/lowering/lower-calls.js +56 -465
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.js +11 -49
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-comptime.js +2 -3
- package/dist/frontend/lowering/lower-comptime.js.map +1 -1
- package/dist/frontend/lowering/lower-enums.js +5 -8
- package/dist/frontend/lowering/lower-enums.js.map +1 -1
- package/dist/frontend/lowering/lower-event-emitter.js +3 -4
- package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
- package/dist/frontend/lowering/lower-expando.js +3 -5
- package/dist/frontend/lowering/lower-expando.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +0 -8
- package/dist/frontend/lowering/lower-exprs.js +133 -908
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-functions.js +2 -5
- package/dist/frontend/lowering/lower-functions.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.js +1 -50
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.d.ts +0 -43
- package/dist/frontend/lowering/lower-modules.js +25 -329
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.test.js +5 -5
- package/dist/frontend/lowering/lower-modules.test.js.map +1 -1
- package/dist/frontend/lowering/lower-server.js +0 -30
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stdlib.d.ts +98 -0
- package/dist/frontend/lowering/{lower-island.js → lower-stdlib.js} +97 -1160
- package/dist/frontend/lowering/lower-stdlib.js.map +1 -0
- package/dist/frontend/lowering/lower-stmts.d.ts +0 -16
- package/dist/frontend/lowering/lower-stmts.js +58 -1016
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.test.js +1 -1
- package/dist/frontend/lowering/lower-stmts.test.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.js +1 -3
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +26 -151
- package/dist/frontend/lowering/lowerer.js +120 -770
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/lowerer.test.js +4 -51
- package/dist/frontend/lowering/lowerer.test.js.map +1 -1
- package/dist/frontend/lowering/narrowing-stability.d.ts +100 -0
- package/dist/frontend/lowering/narrowing-stability.js +1174 -0
- package/dist/frontend/lowering/narrowing-stability.js.map +1 -0
- package/dist/frontend/lowering/narrowing-stability.test.js +150 -0
- package/dist/frontend/lowering/narrowing-stability.test.js.map +1 -0
- package/dist/frontend/lowering/optional-arguments.js +0 -2
- package/dist/frontend/lowering/optional-arguments.js.map +1 -1
- package/dist/frontend/lowering/sanitize-class-types.test.js +2 -2
- package/dist/frontend/lowering/strict-equality.js +1 -1
- package/dist/frontend/lowering/strict-equality.js.map +1 -1
- package/dist/frontend/lowering/surfaces.d.ts +6 -45
- package/dist/frontend/lowering/surfaces.js +5 -65
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/module-syntax.d.ts +0 -3
- package/dist/frontend/module-syntax.js.map +1 -1
- package/dist/frontend/npm-node.d.ts +0 -7
- package/dist/frontend/npm-node.js +0 -7
- package/dist/frontend/npm-node.js.map +1 -1
- package/dist/frontend/npm-static-rewrite-syntax.d.ts +1 -1
- package/dist/frontend/npm-static-rewrite-syntax.js +6 -82
- package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
- package/dist/frontend/npm-static.d.ts +1 -1
- package/dist/frontend/npm-static.js +6 -71
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/npm.d.ts +3 -319
- package/dist/frontend/npm.js +6 -1007
- package/dist/frontend/npm.js.map +1 -1
- package/dist/frontend/npm.test.js +2 -197
- package/dist/frontend/npm.test.js.map +1 -1
- package/dist/frontend/pipeline-native.js +1 -2
- package/dist/frontend/pipeline-native.js.map +1 -1
- package/dist/frontend/pipeline.d.ts +3 -11
- package/dist/frontend/pipeline.js +37 -56
- package/dist/frontend/pipeline.js.map +1 -1
- package/dist/frontend/pipeline.test.js +12 -6
- package/dist/frontend/pipeline.test.js.map +1 -1
- package/dist/frontend/program.d.ts +0 -34
- package/dist/frontend/program.js +13 -98
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/provenance-core.d.ts +0 -4
- package/dist/frontend/provenance-core.js +4 -37
- package/dist/frontend/provenance-core.js.map +1 -1
- package/dist/frontend/provenance-registry.d.ts +0 -4
- package/dist/frontend/provenance-registry.js +0 -20
- package/dist/frontend/provenance-registry.js.map +1 -1
- package/dist/frontend/resolve.d.ts +0 -12
- package/dist/frontend/resolve.js +0 -34
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/runtime-resolve.js +2 -2
- package/dist/frontend/runtime-resolve.js.map +1 -1
- package/dist/frontend/services-node.js +2 -3
- package/dist/frontend/services-node.js.map +1 -1
- package/dist/frontend/services.d.ts +1 -8
- package/dist/frontend/services.js +2 -22
- package/dist/frontend/services.js.map +1 -1
- package/dist/frontend/services.test.js +0 -38
- package/dist/frontend/services.test.js.map +1 -1
- package/dist/frontend/tsc-codes.js +0 -11
- package/dist/frontend/tsc-codes.js.map +1 -1
- package/dist/frontend/type-mapper.d.ts +2 -27
- package/dist/frontend/type-mapper.js +85 -153
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +7 -10
- package/dist/index.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/builtin-effects.js +0 -5
- package/dist/ir/builtin-effects.js.map +1 -1
- package/dist/ir/builtin-signatures.d.ts +1 -1
- package/dist/ir/builtin-signatures.js +1 -55
- package/dist/ir/builtin-signatures.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/final-fields.test.js +1 -1
- package/dist/ir/initializer-bindings.test.js +1 -1
- package/dist/ir/int32-slots.d.ts +29 -3
- package/dist/ir/int32-slots.js +152 -66
- package/dist/ir/int32-slots.js.map +1 -1
- package/dist/ir/int32-slots.test.js +1 -1
- package/dist/ir/integer-loops.js +3 -0
- package/dist/ir/integer-loops.js.map +1 -1
- package/dist/ir/integer-loops.test.js +26 -1
- package/dist/ir/integer-loops.test.js.map +1 -1
- package/dist/ir/integer-ranges.d.ts +20 -0
- package/dist/ir/integer-ranges.js +178 -21
- package/dist/ir/integer-ranges.js.map +1 -1
- package/dist/ir/integer-ranges.test.js +148 -3
- package/dist/ir/integer-ranges.test.js.map +1 -1
- package/dist/ir/ir.d.ts +44 -284
- package/dist/ir/ir.js +10 -259
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/ir.test.js +2 -7
- package/dist/ir/ir.test.js.map +1 -1
- package/dist/ir/runtime-features.d.ts +3 -30
- package/dist/ir/runtime-features.js +5 -41
- package/dist/ir/runtime-features.js.map +1 -1
- package/dist/ir/scalar-records.test.js +1 -1
- package/dist/ir/serialize.d.ts +6 -2
- package/dist/ir/serialize.js +11 -3
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/traverse.js +0 -21
- package/dist/ir/traverse.js.map +1 -1
- package/dist/ir/unshare.d.ts +14 -0
- package/dist/ir/unshare.js +60 -0
- package/dist/ir/unshare.js.map +1 -0
- package/dist/ir/unshare.test.js +115 -0
- package/dist/ir/unshare.test.js.map +1 -0
- package/dist/ir/validate.js +9 -207
- package/dist/ir/validate.js.map +1 -1
- package/dist/ir/validate.test.js +6 -6
- package/dist/library/fence-eval.test.js +1 -1
- package/dist/library/int-infer.test.js +4 -4
- package/dist/library/library-cache.test.js +5 -5
- package/dist/library/prepare.js +14 -20
- package/dist/library/prepare.js.map +1 -1
- package/dist/native/cli.js +0 -2
- package/dist/native/cli.js.map +1 -1
- package/dist/native/compiler.test.js +2 -4
- package/dist/native/compiler.test.js.map +1 -1
- package/dist/native/prepare.js +2 -4
- package/dist/native/prepare.js.map +1 -1
- package/dist/native/sanitizer.js +2 -16
- package/dist/native/sanitizer.js.map +1 -1
- package/dist/native/sanitizer.test.js +0 -3
- package/dist/native/sanitizer.test.js.map +1 -1
- package/dist/startup-cache.js +0 -2
- package/dist/startup-cache.js.map +1 -1
- package/package.json +20 -20
- package/surface-manifest.json +80 -88
- package/dist/backend/llvm/expr-island.d.ts +0 -15
- package/dist/backend/llvm/expr-island.js +0 -709
- package/dist/backend/llvm/expr-island.js.map +0 -1
- package/dist/frontend/lowering/coercions/island.d.ts +0 -37
- package/dist/frontend/lowering/coercions/island.js +0 -350
- package/dist/frontend/lowering/coercions/island.js.map +0 -1
- package/dist/frontend/lowering/lower-island.d.ts +0 -229
- package/dist/frontend/lowering/lower-island.js.map +0 -1
- package/dist/frontend/lowering/lower-island.test.js +0 -56
- package/dist/frontend/lowering/lower-island.test.js.map +0 -1
- package/dist/frontend/npm-fetch-analysis.d.ts +0 -17
- package/dist/frontend/npm-fetch-analysis.js +0 -109
- package/dist/frontend/npm-fetch-analysis.js.map +0 -1
- package/dist/frontend/npm-fetch-analysis.test.js +0 -130
- package/dist/frontend/npm-fetch-analysis.test.js.map +0 -1
- package/dist/frontend/npm-fetch-node.d.ts +0 -2
- package/dist/frontend/npm-fetch-node.js +0 -12
- package/dist/frontend/npm-fetch-node.js.map +0 -1
- package/dist/frontend/npm-fetch-syntax.d.ts +0 -6
- package/dist/frontend/npm-fetch-syntax.js +0 -202
- package/dist/frontend/npm-fetch-syntax.js.map +0 -1
- package/dist/native/runtime-typescript.d.ts +0 -4
- package/dist/native/runtime-typescript.js +0 -74
- package/dist/native/runtime-typescript.js.map +0 -1
- package/dist/native/runtime-typescript.test.js +0 -41
- package/dist/native/runtime-typescript.test.js.map +0 -1
- /package/dist/{frontend/lowering/lower-island.test.d.ts → backend/immutability.test.d.ts} +0 -0
- /package/dist/frontend/{npm-fetch-analysis.test.d.ts → lowering/narrowing-stability.test.d.ts} +0 -0
- /package/dist/{native/runtime-typescript.test.d.ts → ir/unshare.test.d.ts} +0 -0
package/dist/ir/ir.js
CHANGED
|
@@ -73,7 +73,6 @@ const POINTER_KIND_LIST = [
|
|
|
73
73
|
"record",
|
|
74
74
|
"union",
|
|
75
75
|
"dyn",
|
|
76
|
-
"jsval",
|
|
77
76
|
"caught",
|
|
78
77
|
"promise",
|
|
79
78
|
"generator",
|
|
@@ -124,7 +123,6 @@ export const RUNTIME_RC_STEMS = {
|
|
|
124
123
|
record: "",
|
|
125
124
|
union: "scr_union",
|
|
126
125
|
dyn: "scr_dyn",
|
|
127
|
-
jsval: "scr_jsval",
|
|
128
126
|
caught: "scr_caught",
|
|
129
127
|
promise: "scr_promise",
|
|
130
128
|
generator: "scr_gen",
|
|
@@ -226,7 +224,6 @@ export const CHILDWRITER_T = { kind: "childWriter" };
|
|
|
226
224
|
export const PROCSTREAM_T = { kind: "procStream" };
|
|
227
225
|
export const VOID = { kind: "void" };
|
|
228
226
|
export const DYN = { kind: "dyn" };
|
|
229
|
-
export const JSVAL = { kind: "jsval" };
|
|
230
227
|
export const CAUGHT = { kind: "caught" };
|
|
231
228
|
export const UNDEFINED_T = { kind: "undefinedT" };
|
|
232
229
|
export const NULL_T = { kind: "nullT" };
|
|
@@ -260,7 +257,6 @@ export function isSupportedArrayElem(t) {
|
|
|
260
257
|
case "union":
|
|
261
258
|
case "func":
|
|
262
259
|
case "promise":
|
|
263
|
-
case "jsval":
|
|
264
260
|
case "regex":
|
|
265
261
|
case "child":
|
|
266
262
|
case "netServer":
|
|
@@ -327,7 +323,7 @@ export function isSupportedSetElem(t, unionArms) {
|
|
|
327
323
|
return isSupportedMapKey(t, unionArms);
|
|
328
324
|
}
|
|
329
325
|
/** The Map VALUE fence: scalars, supported native references and checked
|
|
330
|
-
* values. Functions require checked-value boxing
|
|
326
|
+
* values. Functions require checked-value boxing.
|
|
331
327
|
* Record/object/union values can point back at the map holding them, which
|
|
332
328
|
* is exactly why ref-valued maps are cycle-capable (see the backend's
|
|
333
329
|
* cycle analysis and docs/memory.md). Shared frontend/validator. */
|
|
@@ -426,7 +422,6 @@ export function typeKey(t) {
|
|
|
426
422
|
case "searchParams":
|
|
427
423
|
case "symbol":
|
|
428
424
|
case "dyn":
|
|
429
|
-
case "jsval":
|
|
430
425
|
case "caught":
|
|
431
426
|
case "void":
|
|
432
427
|
return t.kind;
|
|
@@ -443,7 +438,7 @@ export function typeKey(t) {
|
|
|
443
438
|
case "set":
|
|
444
439
|
return `set<${typeKey(t.elem)}>`;
|
|
445
440
|
case "func":
|
|
446
|
-
return `func(${[...t.params.map(typeKey), ...(t.rest ? [t.restAbi === "
|
|
441
|
+
return `func(${[...t.params.map(typeKey), ...(t.rest ? [t.restAbi === "typed" ? "...typed[]" : t.argumentsAll ? "arguments[]" : "...dyn[]"] : [])].join(",")})=>${typeKey(t.ret)}`;
|
|
447
442
|
case "object":
|
|
448
443
|
return `object:${t.className}`;
|
|
449
444
|
case "classval":
|
|
@@ -670,12 +665,12 @@ export const MAY_THROW_ARR_METHODS = new Set([
|
|
|
670
665
|
/** Element types whose comparator sort can run in the runtime over raw
|
|
671
666
|
* slots: numbers, and reference-counted values passed to the comparator by
|
|
672
667
|
* pointer. Unions with an undefined arm order undefined last without a
|
|
673
|
-
* comparator call, and checked
|
|
668
|
+
* comparator call, and checked values have their own ABI; those
|
|
674
669
|
* keep the IR sort helper. */
|
|
675
670
|
export function isSortValuesElement(elem, unionArms) {
|
|
676
671
|
if (elem.kind === "f64")
|
|
677
672
|
return true;
|
|
678
|
-
if (elem.kind === "dyn" || elem.kind === "
|
|
673
|
+
if (elem.kind === "dyn" || elem.kind === "caught")
|
|
679
674
|
return false;
|
|
680
675
|
if (elem.kind === "union" && (!unionArms || unionArms.some((arm) => arm.kind === "undefinedT")))
|
|
681
676
|
return false;
|
|
@@ -721,59 +716,6 @@ export const MAY_THROW_BYTES_METHODS = new Set([
|
|
|
721
716
|
"dvSetFloat32",
|
|
722
717
|
"dvSetFloat64",
|
|
723
718
|
]);
|
|
724
|
-
/** Result-type rule for each island op (the validator enforces it; the
|
|
725
|
-
* frontend constructs nodes with exactly these). */
|
|
726
|
-
export function jsOpResultKind(op) {
|
|
727
|
-
switch (op) {
|
|
728
|
-
case "add":
|
|
729
|
-
case "sub":
|
|
730
|
-
case "mul":
|
|
731
|
-
case "div":
|
|
732
|
-
case "mod":
|
|
733
|
-
case "pow":
|
|
734
|
-
case "neg":
|
|
735
|
-
case "plus":
|
|
736
|
-
case "getProp":
|
|
737
|
-
case "getIdx":
|
|
738
|
-
case "callMethod":
|
|
739
|
-
case "callFn":
|
|
740
|
-
case "callFnThis":
|
|
741
|
-
case "callSpread":
|
|
742
|
-
case "construct":
|
|
743
|
-
case "globalGet":
|
|
744
|
-
case "objLit":
|
|
745
|
-
case "arrLit":
|
|
746
|
-
case "defineGetter":
|
|
747
|
-
case "tplStrings":
|
|
748
|
-
case "objSpread":
|
|
749
|
-
case "undefLit":
|
|
750
|
-
case "nullLit":
|
|
751
|
-
case "iterNew":
|
|
752
|
-
case "optCallMethod":
|
|
753
|
-
return "jsval";
|
|
754
|
-
case "lt":
|
|
755
|
-
case "le":
|
|
756
|
-
case "gt":
|
|
757
|
-
case "ge":
|
|
758
|
-
case "eq":
|
|
759
|
-
case "neq":
|
|
760
|
-
case "instanceOf":
|
|
761
|
-
case "truthy":
|
|
762
|
-
case "not":
|
|
763
|
-
return "bool";
|
|
764
|
-
case "typeof":
|
|
765
|
-
case "toStr":
|
|
766
|
-
return "string";
|
|
767
|
-
case "setProp":
|
|
768
|
-
case "setIdx":
|
|
769
|
-
return "void";
|
|
770
|
-
default: {
|
|
771
|
-
const _exhaustive = op;
|
|
772
|
-
void _exhaustive;
|
|
773
|
-
throw new InternalCompilerError("unreachable");
|
|
774
|
-
}
|
|
775
|
-
}
|
|
776
|
-
}
|
|
777
719
|
/** True when a type is a union with an undefined arm — the optional-flavored
|
|
778
720
|
* slot marker shared by the frontend (record literals may omit such fields)
|
|
779
721
|
* and backends (JSON serializers DROP such fields when they hold undefined,
|
|
@@ -812,7 +754,7 @@ export function isJsonStringifySafeType(t, getRecord, getUnion) {
|
|
|
812
754
|
/** A JSON-shaped container with unknown payloads needs the runtime JSON
|
|
813
755
|
* traversal. Its declared structure can be boxed, but payloads may carry
|
|
814
756
|
* omitted values, toJSON methods, or cycles. This predicate does not widen
|
|
815
|
-
* the type-directed serializer, checked-
|
|
757
|
+
* the type-directed serializer, checked-value boundary, or root-undefined
|
|
816
758
|
* contract; callers must select the checked runtime traversal explicitly. */
|
|
817
759
|
export function isJsonStringifyDynamicType(t, getRecord, getUnion) {
|
|
818
760
|
return ((t.kind === "record" || t.kind === "array" || t.kind === "union") &&
|
|
@@ -898,7 +840,6 @@ function isJsonSafeAt(t, getRecord, getUnion, stringify, undefinedAllowed, visit
|
|
|
898
840
|
// Symbols are DROPPED by Node's stringify (undefined at the top level,
|
|
899
841
|
// omitted as object values) — silent divergence banned; rejected.
|
|
900
842
|
case "symbol":
|
|
901
|
-
case "jsval":
|
|
902
843
|
case "caught":
|
|
903
844
|
case "promise":
|
|
904
845
|
case "generator":
|
|
@@ -920,124 +861,8 @@ function isJsonSafeAt(t, getRecord, getUnion, stringify, undefinedAllowed, visit
|
|
|
920
861
|
}
|
|
921
862
|
}
|
|
922
863
|
}
|
|
923
|
-
/** THE island boundary predicate: true when a static type can cross into
|
|
924
|
-
* the island (jsMarshal — primitives by value, composites as deep JSON
|
|
925
|
-
* copies) and back out (jsExit — strict primitive extraction, composites
|
|
926
|
-
* through the dynCheck walker). Primitives are JSON-safe, so the rule
|
|
927
|
-
* coincides with isJsonSafeType; it has its own name because the boundary
|
|
928
|
-
* is its own concept — the frontend's implicit coercions, the explicit-cast
|
|
929
|
-
* lowering, and the validator's jsMarshal/jsExit rules all ask this ONE
|
|
930
|
-
* question, and the boundary rejection messages describe exactly this set. */
|
|
931
|
-
export function canCrossIslandBoundary(t, getRecord, getUnion) {
|
|
932
|
-
return isJsonSafeType(t, getRecord, getUnion);
|
|
933
|
-
}
|
|
934
|
-
/** True for a closure type that can cross INTO the island as a host
|
|
935
|
-
* function: every parameter jsval (the engine's arguments pass through as
|
|
936
|
-
* handles — no per-type extraction exists inside a host call) and the
|
|
937
|
-
* result jsval, void, or a primitive (which marshals back by value —
|
|
938
|
-
* `(x) => x * 2` on an 'any' x infers a number return). Contextual typing
|
|
939
|
-
* produces exactly this shape for callbacks passed to package APIs
|
|
940
|
-
* (`.action((a, b) => ...)` against `(...args: any[]) => void`). Arity is
|
|
941
|
-
* capped by the runtime's host-call argument buffer (scr_island.c). */
|
|
942
|
-
export const MAX_ISLAND_CALLBACK_ARITY = 16;
|
|
943
|
-
export function canMarshalFuncIntoIsland(t) {
|
|
944
|
-
return (t.kind === "func" &&
|
|
945
|
-
t.rest !== true &&
|
|
946
|
-
t.params.length <= MAX_ISLAND_CALLBACK_ARITY &&
|
|
947
|
-
t.params.every((p) => p.kind === "jsval") &&
|
|
948
|
-
(t.ret.kind === "jsval" ||
|
|
949
|
-
t.ret.kind === "void" ||
|
|
950
|
-
t.ret.kind === "f64" ||
|
|
951
|
-
t.ret.kind === "bool" ||
|
|
952
|
-
t.ret.kind === "string"));
|
|
953
|
-
}
|
|
954
|
-
/** Parameter types a TYPED closure may declare when it crosses INTO the
|
|
955
|
-
* island as a host function: jsval params take the engine argument as a
|
|
956
|
-
* handle (the all-'any' shape above); dyn params normalize scalars or retain
|
|
957
|
-
* engine objects by reference. Every other admitted type converts
|
|
958
|
-
* AT CALL TIME through the validated-exit machinery — strict primitives,
|
|
959
|
-
* JSON round-trip composites (the dynCheck walker: width-tolerant records,
|
|
960
|
-
* path-annotated failures). On top of the jsExit set, a bare `T | undefined`
|
|
961
|
-
* union is admitted here — an absent or undefined engine argument takes the
|
|
962
|
-
* undefined arm, exactly the missing-optional-field rule (and exactly the
|
|
963
|
-
* commander case: `.action((text: string | undefined, opts) => ...)` sees
|
|
964
|
-
* undefined when the command argument is omitted). */
|
|
965
|
-
export function isIslandCallbackParamType(t, getRecord, getUnion) {
|
|
966
|
-
if (t.kind === "jsval" || t.kind === "dyn")
|
|
967
|
-
return true;
|
|
968
|
-
if (isJsonSafeType(t, getRecord, getUnion))
|
|
969
|
-
return true;
|
|
970
|
-
if (t.kind === "union") {
|
|
971
|
-
// A bare undefined-armed union: every non-undefined arm must be
|
|
972
|
-
// JSON-safe (arms never nest unions, so plain isJsonSafeType applies).
|
|
973
|
-
const def = getUnion(t.unionId);
|
|
974
|
-
return (!!def &&
|
|
975
|
-
def.arms.every((a) => a.kind === "undefinedT" || isJsonSafeType(a, getRecord, getUnion)));
|
|
976
|
-
}
|
|
977
|
-
return false;
|
|
978
|
-
}
|
|
979
|
-
/** Classify a typed island callback's RETURN for adapter synthesis: sync
|
|
980
|
-
* kinds marshal back by value ('void'|'jsval'|'f64'|'bool'|'string' — the
|
|
981
|
-
* canMarshalFuncIntoIsland set), 'json' marshals a JSON-safe composite
|
|
982
|
-
* through the type-directed serializer + engine parse (the jsMarshal
|
|
983
|
-
* composite path — commander's option-argument collectors return arrays
|
|
984
|
-
* this way), and a Promise of the by-value kinds wraps as an engine
|
|
985
|
-
* promise settled when the scriptc promise settles (async callbacks —
|
|
986
|
-
* the `.action(async ...)` case). Null for anything else (Promise of
|
|
987
|
-
* composites: still fenced). */
|
|
988
|
-
export function islandCallbackRet(t, getRecord, getUnion) {
|
|
989
|
-
const tagOf = (r) => r.kind === "void" ||
|
|
990
|
-
r.kind === "jsval" ||
|
|
991
|
-
r.kind === "f64" ||
|
|
992
|
-
r.kind === "bool" ||
|
|
993
|
-
r.kind === "string"
|
|
994
|
-
? r.kind
|
|
995
|
-
: null;
|
|
996
|
-
if (t.kind === "promise") {
|
|
997
|
-
const tag = tagOf(t.inner);
|
|
998
|
-
return tag ? { async: true, tag } : null;
|
|
999
|
-
}
|
|
1000
|
-
const tag = tagOf(t);
|
|
1001
|
-
if (tag)
|
|
1002
|
-
return { async: false, tag };
|
|
1003
|
-
// A CHECKED-DYNAMIC result (a JS getter/callback whose inferred return
|
|
1004
|
-
// degraded — the doc-printer root-indent getter): the dyn value deep-
|
|
1005
|
-
// copies into the engine on return, exactly the jsMarshal dyn rule
|
|
1006
|
-
// (data kinds only; boxed functions/handles throw the catchable
|
|
1007
|
-
// TypeError). Sync only — no engine-promise tag exists for dyn values.
|
|
1008
|
-
if (t.kind === "dyn")
|
|
1009
|
-
return { async: false, tag: "dyn" };
|
|
1010
|
-
return isJsonSafeType(t, getRecord, getUnion) ? { async: false, tag: "json" } : null;
|
|
1011
|
-
}
|
|
1012
|
-
/** The TYPED extension of canMarshalFuncIntoIsland (a strict superset):
|
|
1013
|
-
* closures whose params are per-argument-convertible at call time
|
|
1014
|
-
* (isIslandCallbackParamType) and whose return classifies
|
|
1015
|
-
* (islandCallbackRet). Same arity cap — the runtime's host-call argument
|
|
1016
|
-
* buffer. Statically typed closure parameters stay fenced; unknown values
|
|
1017
|
-
* enter as checked-dynamic values and are validated at each typed use. */
|
|
1018
|
-
export function canMarshalTypedFuncIntoIsland(t, getRecord, getUnion) {
|
|
1019
|
-
if (t.kind !== "func")
|
|
1020
|
-
return false;
|
|
1021
|
-
// The ISLAND-REST form (`async (...args) =>` in JS under --dynamic —
|
|
1022
|
-
// the withPlugins wrapper): the trailing ABI param is the ENGINE array
|
|
1023
|
-
// of the call's surplus arguments; leading params convert per argument
|
|
1024
|
-
// like any typed callback. Plain rest signatures (dynRest, typed
|
|
1025
|
-
// rests) stay out — no completed-ABI spelling exists for them here.
|
|
1026
|
-
if (t.rest === true) {
|
|
1027
|
-
return (t.restAbi === "jsval" &&
|
|
1028
|
-
t.params.length >= 1 &&
|
|
1029
|
-
t.params.length <= MAX_ISLAND_CALLBACK_ARITY &&
|
|
1030
|
-
t.params[t.params.length - 1].kind === "jsval" &&
|
|
1031
|
-
t.params.slice(0, -1).every((p) => isIslandCallbackParamType(p, getRecord, getUnion)) &&
|
|
1032
|
-
islandCallbackRet(t.ret, getRecord, getUnion) !== null);
|
|
1033
|
-
}
|
|
1034
|
-
return (t.params.length <= MAX_ISLAND_CALLBACK_ARITY &&
|
|
1035
|
-
t.params.every((p) => isIslandCallbackParamType(p, getRecord, getUnion)) &&
|
|
1036
|
-
islandCallbackRet(t.ret, getRecord, getUnion) !== null);
|
|
1037
|
-
}
|
|
1038
864
|
/* ── the checked-dynamic FUNCTION boundary ──────────────────────────────
|
|
1039
|
-
*
|
|
1040
|
-
* (canMarshalTypedFuncIntoIsland): closures cross the dyn boundary as a
|
|
865
|
+
* Closures cross the checked-value boundary as a
|
|
1041
866
|
* callable dyn kind carrying the closure + a compiled per-signature call
|
|
1042
867
|
* thunk. Two directions, two predicates, mutually recursive with the
|
|
1043
868
|
* conversion domains (function types cannot ride records/unions — jsonSafe
|
|
@@ -1296,9 +1121,7 @@ function canDynCheckToAt(t, getRecord, getUnion, visiting) {
|
|
|
1296
1121
|
if (t.kind === "procStream")
|
|
1297
1122
|
return true;
|
|
1298
1123
|
// Unknown fields keep an owned dyn subtree; checking the surrounding
|
|
1299
|
-
// record/array still validates its layout.
|
|
1300
|
-
// stringify/island JSON domain, which cannot assume opaque slots are
|
|
1301
|
-
// serializable. Backends already retain dyn fields and fill missing
|
|
1124
|
+
// record/array still validates its layout. Backends retain dyn fields and fill missing
|
|
1302
1125
|
// unknown record fields with the undefined value.
|
|
1303
1126
|
if (isJsonSafeAt(t, getRecord, getUnion, false, false, new Set(), true))
|
|
1304
1127
|
return true;
|
|
@@ -1368,21 +1191,14 @@ export function canBoxFuncIntoDyn(t, getRecord, getUnion, visiting = new Set())
|
|
|
1368
1191
|
return (t.kind === "func" &&
|
|
1369
1192
|
// Typed rest occupies the final native array parameter; its thunk
|
|
1370
1193
|
// checks a fresh array containing all remaining call arguments.
|
|
1371
|
-
// Island rest keeps its separate engine host-callback adapter.
|
|
1372
1194
|
(t.rest !== true ||
|
|
1373
1195
|
t.restAbi === undefined ||
|
|
1374
1196
|
(t.restAbi === "typed" && t.params.at(-1)?.kind === "array")) &&
|
|
1375
|
-
//
|
|
1376
|
-
|
|
1377
|
-
//
|
|
1378
|
-
// (`bag.list.map((x) => ...)` with x typed any).
|
|
1379
|
-
t.params.every((p) => p.kind === "dyn" || p.kind === "jsval" || canDynCheckTo(p, getRecord, getUnion, visiting)) &&
|
|
1380
|
-
// A jsval return converts through the by-reference wrap
|
|
1381
|
-
// (dynFromJsval — the thunk's result conversion), so engine-returning
|
|
1382
|
-
// callbacks box too: the routed-dispatch lane's flatMap shape.
|
|
1197
|
+
// The thunk checks each argument against the declared native type.
|
|
1198
|
+
t.params.every((p) => p.kind === "dyn" || canDynCheckTo(p, getRecord, getUnion, visiting)) &&
|
|
1199
|
+
// The result must be representable as a checked native value.
|
|
1383
1200
|
(t.ret.kind === "void" ||
|
|
1384
1201
|
t.ret.kind === "dyn" ||
|
|
1385
|
-
t.ret.kind === "jsval" ||
|
|
1386
1202
|
canConvertToDyn(t.ret, getRecord, getUnion, visiting)));
|
|
1387
1203
|
}
|
|
1388
1204
|
/** A closure type a dyn function value can ADAPT to (dynCheck): every
|
|
@@ -1392,75 +1208,10 @@ export function canBoxFuncIntoDyn(t, getRecord, getUnion, visiting = new Set())
|
|
|
1392
1208
|
export function canAdaptDynFuncTo(t, getRecord, getUnion, visiting = new Set()) {
|
|
1393
1209
|
return (t.kind === "func" &&
|
|
1394
1210
|
// Checked rest and arguments packs retain all actual arguments. Typed
|
|
1395
|
-
// and island rest ABIs still require their own conversion plan.
|
|
1396
1211
|
(t.rest !== true || t.restAbi === undefined) &&
|
|
1397
1212
|
t.params.every((p) => p.kind === "dyn" || canConvertToDyn(p, getRecord, getUnion, visiting)) &&
|
|
1398
1213
|
(t.ret.kind === "void" ||
|
|
1399
1214
|
t.ret.kind === "dyn" ||
|
|
1400
1215
|
canDynCheckTo(t.ret, getRecord, getUnion, visiting)));
|
|
1401
1216
|
}
|
|
1402
|
-
/** The MARSHAL-direction boundary (jsMarshal): everything that can cross
|
|
1403
|
-
* out and back (canCrossIslandBoundary) plus qualifying closures — those
|
|
1404
|
-
* enter as host functions but never EXIT (jsExit keeps the narrower
|
|
1405
|
-
* predicate). */
|
|
1406
|
-
export function canMarshalIntoIsland(t, getRecord, getUnion) {
|
|
1407
|
-
return isJsonSafeType(t, getRecord, getUnion) || canMarshalFuncIntoIsland(t);
|
|
1408
|
-
}
|
|
1409
|
-
/** The EXIT-direction boundary (jsExit): everything round-trippable
|
|
1410
|
-
* (canCrossIslandBoundary) plus BARE undefined/null-armed unions whose
|
|
1411
|
-
* data arms are all JSON-safe — the engine's undefined takes the
|
|
1412
|
-
* undefined arm before the JSON detour (JSON cannot spell undefined, and
|
|
1413
|
-
* bare undefined-armed unions are JSON-unsafe for exactly that reason),
|
|
1414
|
-
* null and data ride the round trip into the union's dynCheck. The
|
|
1415
|
-
* package-API shape `result.headers` : `Record<string, string> |
|
|
1416
|
-
* undefined` is the motivating case. */
|
|
1417
|
-
/** The static-promise→engine bridge's payload domain: the fulfillment
|
|
1418
|
-
* types a scriptc promise may deliver INTO the island as a real engine
|
|
1419
|
-
* thenable (scr_jsval_from_promise — the async-callback return bridge,
|
|
1420
|
-
* reused by promise VALUES crossing at jsvalIn edges and the island
|
|
1421
|
-
* Promise.all arm). Null = outside the domain (the boundary fence). */
|
|
1422
|
-
export function islandPromisePayloadTag(inner) {
|
|
1423
|
-
switch (inner.kind) {
|
|
1424
|
-
case "void":
|
|
1425
|
-
return "void";
|
|
1426
|
-
case "f64":
|
|
1427
|
-
return "f64";
|
|
1428
|
-
case "bool":
|
|
1429
|
-
return "bool";
|
|
1430
|
-
case "string":
|
|
1431
|
-
return "string";
|
|
1432
|
-
case "jsval":
|
|
1433
|
-
return "jsval";
|
|
1434
|
-
case "array":
|
|
1435
|
-
return inner.elem.kind === "jsval" ? "jsvalArr" : null;
|
|
1436
|
-
default:
|
|
1437
|
-
return null;
|
|
1438
|
-
}
|
|
1439
|
-
}
|
|
1440
|
-
export function canExitIslandToType(t, getRecord, getUnion) {
|
|
1441
|
-
if (canCrossIslandBoundary(t, getRecord, getUnion))
|
|
1442
|
-
return true;
|
|
1443
|
-
// Uint8Array exits with a validated kind check + copy (engine Buffers
|
|
1444
|
-
// pass — they ARE Uint8Arrays); other element widths stay out.
|
|
1445
|
-
if (t.kind === "bytes" && t.elem === "u8")
|
|
1446
|
-
return true;
|
|
1447
|
-
// `any[]`-declared slots (the jsval-element-array spelling): the engine
|
|
1448
|
-
// array exits Array.isArray-gated, elements BY REFERENCE (identity
|
|
1449
|
-
// crosses; the withPlugins `loadPlugins(plugins)` boundary).
|
|
1450
|
-
if (t.kind === "array" && t.elem.kind === "jsval")
|
|
1451
|
-
return true;
|
|
1452
|
-
if (t.kind === "union") {
|
|
1453
|
-
const def = getUnion(t.unionId);
|
|
1454
|
-
if (!def || !def.arms.some((a) => a.kind === "undefinedT"))
|
|
1455
|
-
return false;
|
|
1456
|
-
if (def.arms.every((a) => isUnitType(a) || isJsonSafeType(a, getRecord, getUnion)))
|
|
1457
|
-
return true;
|
|
1458
|
-
// `any[] | undefined` (the defaulted-parameter spelling): exactly one
|
|
1459
|
-
// jsval-element-array data arm beside units — the engine's undefined
|
|
1460
|
-
// takes the undefined arm, everything else the array exit.
|
|
1461
|
-
const dataArms = def.arms.filter((a) => !isUnitType(a));
|
|
1462
|
-
return (dataArms.length === 1 && dataArms[0].kind === "array" && dataArms[0].elem.kind === "jsval");
|
|
1463
|
-
}
|
|
1464
|
-
return false;
|
|
1465
|
-
}
|
|
1466
1217
|
//# sourceMappingURL=ir.js.map
|
package/dist/ir/ir.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ir.js","sourceRoot":"","sources":["../../src/ir/ir.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ir.js","sourceRoot":"","sources":["../../src/ir/ir.ts"],"names":[],"mappings":"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"}
|
package/dist/ir/ir.test.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, test } from "vitest";
|
|
2
|
-
import { DYN, F64, HANDLE_KINDS, BYTES_ELEMENT_NAME, bytesOf, canConvertToDyn, canDynCheckTo,
|
|
2
|
+
import { DYN, F64, HANDLE_KINDS, BYTES_ELEMENT_NAME, bytesOf, canConvertToDyn, canDynCheckTo, isJsonSafeType, isJsonStringifySafeType, isJsonStringifyDynamicType, POINTER_KINDS, STRING, arrayOf, typeEquals, typeKey, } from "./ir.js";
|
|
3
3
|
describe("IR kind sets", () => {
|
|
4
4
|
test("keeps procStream as the scalar handle exception", () => {
|
|
5
5
|
expect(HANDLE_KINDS.has("procStream")).toBe(true);
|
|
@@ -97,10 +97,8 @@ describe("checked records with opaque payloads", () => {
|
|
|
97
97
|
expect(isJsonSafeType(type, record, union)).toBe(false);
|
|
98
98
|
expect(isJsonStringifySafeType(type, record, union)).toBe(false);
|
|
99
99
|
expect(isJsonStringifyDynamicType(type, record, union)).toBe(true);
|
|
100
|
-
expect(isIslandCallbackParamType(type, record, union)).toBe(false);
|
|
101
100
|
});
|
|
102
101
|
test("opaque arrays and optional records retain their actual payload representation", () => {
|
|
103
|
-
expect(isIslandCallbackParamType(DYN, record, union)).toBe(true);
|
|
104
102
|
expect(canDynCheckTo(arrayOf(DYN), record, union)).toBe(true);
|
|
105
103
|
expect(canDynCheckTo({ kind: "union", unionId: "optional" }, record, union)).toBe(true);
|
|
106
104
|
});
|
|
@@ -129,7 +127,6 @@ describe("native typed-array boundaries", () => {
|
|
|
129
127
|
expect(canConvertToDyn(shape, record, union)).toBe(true);
|
|
130
128
|
expect(canDynCheckTo(shape, record, union)).toBe(true);
|
|
131
129
|
expect(isJsonSafeType(shape, record, union)).toBe(false);
|
|
132
|
-
expect(isIslandCallbackParamType(shape, record, union)).toBe(false);
|
|
133
130
|
});
|
|
134
131
|
});
|
|
135
132
|
describe("native bigint checked storage", () => {
|
|
@@ -146,7 +143,6 @@ describe("native bigint checked storage", () => {
|
|
|
146
143
|
expect(canDynCheckTo(type, record, union)).toBe(true);
|
|
147
144
|
expect(isJsonSafeType(type, record, union)).toBe(false);
|
|
148
145
|
expect(isJsonStringifySafeType(type, record, union)).toBe(false);
|
|
149
|
-
expect(isIslandCallbackParamType(type, record, union)).toBe(false);
|
|
150
146
|
}
|
|
151
147
|
});
|
|
152
148
|
});
|
|
@@ -165,7 +161,6 @@ describe("native process stream checked storage", () => {
|
|
|
165
161
|
expect(canConvertToDyn(type, record, union)).toBe(true);
|
|
166
162
|
expect(canDynCheckTo(type, record, union)).toBe(true);
|
|
167
163
|
expect(isJsonSafeType(type, record, union)).toBe(false);
|
|
168
|
-
expect(isIslandCallbackParamType(type, record, union)).toBe(false);
|
|
169
164
|
}
|
|
170
165
|
expect(canConvertToDyn(arrayOf(stream), record, union)).toBe(false);
|
|
171
166
|
expect(canDynCheckTo(arrayOf(stream), record, union)).toBe(false);
|
|
@@ -212,7 +207,7 @@ describe("checked conversion graph traversal", () => {
|
|
|
212
207
|
id: "parent",
|
|
213
208
|
fields: [
|
|
214
209
|
{ name: "child", type: { kind: "record", shapeId: "child" } },
|
|
215
|
-
{ name: "unsupported", type: { kind: "
|
|
210
|
+
{ name: "unsupported", type: { kind: "caught" } },
|
|
216
211
|
],
|
|
217
212
|
},
|
|
218
213
|
],
|