@scriptc/compiler 0.0.34 → 0.0.36
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 +7 -6
- package/dist/backend/build-cache.d.ts +44 -0
- package/dist/backend/build-cache.js +241 -0
- package/dist/backend/build-cache.js.map +1 -0
- package/dist/backend/{emission/emit-async.d.ts → c/async.d.ts} +21 -30
- package/dist/backend/{emission/emit-async.js → c/async.js} +270 -286
- package/dist/backend/c/async.js.map +1 -0
- package/dist/backend/{emission/emitter.d.ts → c/c-emitter.d.ts} +6 -23
- package/dist/backend/{emission/emitter.js → c/c-emitter.js} +53 -107
- package/dist/backend/c/c-emitter.js.map +1 -0
- package/dist/backend/c/exprs.d.ts +8 -0
- package/dist/backend/c/exprs.js +7913 -0
- package/dist/backend/c/exprs.js.map +1 -0
- package/dist/backend/{emission/emit-island.d.ts → c/island.d.ts} +5 -5
- package/dist/backend/{emission/emit-island.js → c/island.js} +24 -22
- package/dist/backend/c/island.js.map +1 -0
- package/dist/backend/{emission → c}/may-throw.d.ts +1 -1
- package/dist/backend/{emission → c}/may-throw.js +1 -1
- package/dist/backend/c/may-throw.js.map +1 -0
- package/dist/backend/{emission/emit-shapes.d.ts → c/shapes.d.ts} +19 -19
- package/dist/backend/{emission/emit-shapes.js → c/shapes.js} +78 -87
- package/dist/backend/c/shapes.js.map +1 -0
- package/dist/backend/{emission/emit-stmts.d.ts → c/stmts.d.ts} +12 -12
- package/dist/backend/{emission/emit-stmts.js → c/stmts.js} +377 -343
- package/dist/backend/c/stmts.js.map +1 -0
- package/dist/backend/{emission/emit-types.d.ts → c/types.d.ts} +1 -1
- package/dist/backend/{emission/emit-types.js → c/types.js} +42 -286
- package/dist/backend/c/types.js.map +1 -0
- package/dist/backend/c/types.test.js +25 -0
- package/dist/backend/c/types.test.js.map +1 -0
- package/dist/backend/{emission/emit-walkers.d.ts → c/walkers.d.ts} +19 -41
- package/dist/backend/{emission/emit-walkers.js → c/walkers.js} +238 -298
- package/dist/backend/c/walkers.js.map +1 -0
- package/dist/backend/ffi-callbacks.d.ts +1 -1
- package/dist/backend/ffi-callbacks.js +4 -3
- package/dist/backend/ffi-callbacks.js.map +1 -1
- package/dist/backend/{library-identity.d.ts → library-identity-markers.d.ts} +0 -4
- package/dist/backend/{library-identity.js → library-identity-markers.js} +10 -9
- package/dist/backend/library-identity-markers.js.map +1 -0
- package/dist/backend/llvm/blocks.d.ts +4 -0
- package/dist/backend/llvm/blocks.js +29 -0
- package/dist/backend/llvm/blocks.js.map +1 -1
- package/dist/backend/llvm/classes.d.ts +2 -19
- package/dist/backend/llvm/classes.js +20 -52
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/common.d.ts +4 -0
- package/dist/backend/llvm/common.js +27 -0
- package/dist/backend/llvm/common.js.map +1 -0
- package/dist/backend/llvm/dyn.d.ts +3 -8
- package/dist/backend/llvm/dyn.js +152 -224
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +4 -1
- package/dist/backend/llvm/emitter.js +514 -9981
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/expr-async.d.ts +4 -0
- package/dist/backend/llvm/expr-async.js +726 -0
- package/dist/backend/llvm/expr-async.js.map +1 -0
- package/dist/backend/llvm/expr-bytes.d.ts +13 -0
- package/dist/backend/llvm/expr-bytes.js +456 -0
- package/dist/backend/llvm/expr-bytes.js.map +1 -0
- package/dist/backend/llvm/expr-callbacks.d.ts +22 -0
- package/dist/backend/llvm/expr-callbacks.js +520 -0
- package/dist/backend/llvm/expr-callbacks.js.map +1 -0
- package/dist/backend/llvm/expr-calls.d.ts +2 -0
- package/dist/backend/llvm/expr-calls.js +618 -0
- package/dist/backend/llvm/expr-calls.js.map +1 -0
- package/dist/backend/llvm/expr-containers.d.ts +25 -0
- package/dist/backend/llvm/expr-containers.js +623 -0
- package/dist/backend/llvm/expr-containers.js.map +1 -0
- package/dist/backend/llvm/expr-context.d.ts +255 -0
- package/dist/backend/llvm/expr-context.js +2 -0
- package/dist/backend/llvm/expr-context.js.map +1 -0
- package/dist/backend/llvm/expr-control.d.ts +2 -0
- package/dist/backend/llvm/expr-control.js +473 -0
- package/dist/backend/llvm/expr-control.js.map +1 -0
- package/dist/backend/llvm/expr-dispatch.d.ts +4 -0
- package/dist/backend/llvm/expr-dispatch.js +151 -0
- package/dist/backend/llvm/expr-dispatch.js.map +1 -0
- package/dist/backend/llvm/expr-dynamic.d.ts +2 -0
- package/dist/backend/llvm/expr-dynamic.js +810 -0
- package/dist/backend/llvm/expr-dynamic.js.map +1 -0
- package/dist/backend/llvm/expr-island.d.ts +15 -0
- package/dist/backend/llvm/expr-island.js +690 -0
- package/dist/backend/llvm/expr-island.js.map +1 -0
- package/dist/backend/llvm/expr-primitives.d.ts +6 -0
- package/dist/backend/llvm/expr-primitives.js +622 -0
- package/dist/backend/llvm/expr-primitives.js.map +1 -0
- package/dist/backend/llvm/expr-records.d.ts +9 -0
- package/dist/backend/llvm/expr-records.js +299 -0
- package/dist/backend/llvm/expr-records.js.map +1 -0
- package/dist/backend/llvm/expr-stream-bridges.d.ts +13 -0
- package/dist/backend/llvm/expr-stream-bridges.js +396 -0
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -0
- package/dist/backend/llvm/expr-stream-callbacks.d.ts +12 -0
- package/dist/backend/llvm/expr-stream-callbacks.js +360 -0
- package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -0
- package/dist/backend/llvm/lib-dispatch.d.ts +5 -0
- package/dist/backend/llvm/lib-dispatch.js +267 -0
- package/dist/backend/llvm/lib-dispatch.js.map +1 -0
- package/dist/backend/llvm/lib-filesystem.d.ts +6 -0
- package/dist/backend/llvm/lib-filesystem.js +594 -0
- package/dist/backend/llvm/lib-filesystem.js.map +1 -0
- package/dist/backend/llvm/lib-network.d.ts +2 -0
- package/dist/backend/llvm/lib-network.js +429 -0
- package/dist/backend/llvm/lib-network.js.map +1 -0
- package/dist/backend/llvm/lib-process.d.ts +5 -0
- package/dist/backend/llvm/lib-process.js +585 -0
- package/dist/backend/llvm/lib-process.js.map +1 -0
- package/dist/backend/llvm/lib-shared.d.ts +6 -0
- package/dist/backend/llvm/lib-shared.js +687 -0
- package/dist/backend/llvm/lib-shared.js.map +1 -0
- package/dist/backend/llvm/lib-stream.d.ts +2 -0
- package/dist/backend/llvm/lib-stream.js +470 -0
- package/dist/backend/llvm/lib-stream.js.map +1 -0
- package/dist/backend/llvm/shapes.d.ts +12 -2
- package/dist/backend/llvm/shapes.js +66 -307
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/shapes.test.js +52 -0
- package/dist/backend/llvm/shapes.test.js.map +1 -0
- package/dist/backend/llvm/split.d.ts +43 -0
- package/dist/backend/llvm/split.js +227 -0
- package/dist/backend/llvm/split.js.map +1 -0
- package/dist/backend/llvm/split.test.d.ts +1 -0
- package/dist/backend/llvm/split.test.js +102 -0
- package/dist/backend/llvm/split.test.js.map +1 -0
- package/dist/backend/llvm/unsupported.d.ts +1 -1
- package/dist/backend/llvm/walkers.d.ts +2 -3
- package/dist/backend/llvm/walkers.js +164 -218
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/native-codegen.d.ts +38 -0
- package/dist/backend/native-codegen.js +261 -0
- package/dist/backend/native-codegen.js.map +1 -0
- package/dist/backend/native-codegen.test.d.ts +1 -0
- package/dist/backend/native-codegen.test.js +188 -0
- package/dist/backend/native-codegen.test.js.map +1 -0
- package/dist/backend/native-link-info.d.ts +96 -0
- package/dist/backend/native-link-info.js +219 -0
- package/dist/backend/native-link-info.js.map +1 -0
- package/dist/backend/native-link-info.test.d.ts +1 -0
- package/dist/backend/native-link-info.test.js +134 -0
- package/dist/backend/native-link-info.test.js.map +1 -0
- package/dist/backend/{cc.d.ts → native-toolchain.d.ts} +139 -47
- package/dist/backend/{cc.js → native-toolchain.js} +1008 -910
- package/dist/backend/native-toolchain.js.map +1 -0
- package/dist/backend/native-toolchain.test.d.ts +1 -0
- package/dist/backend/{cc-cache.test.js → native-toolchain.test.js} +1297 -127
- package/dist/backend/native-toolchain.test.js.map +1 -0
- package/dist/backend/object-localize.js +1 -1
- package/dist/backend/object-localize.test.js +20 -0
- package/dist/backend/object-localize.test.js.map +1 -1
- package/dist/backend/runtime-abi.d.ts +10 -0
- package/dist/backend/runtime-abi.js +11 -0
- package/dist/backend/runtime-abi.js.map +1 -0
- package/dist/backend/runtime-pack.d.ts +137 -0
- package/dist/backend/runtime-pack.js +400 -0
- package/dist/backend/runtime-pack.js.map +1 -0
- package/dist/backend/runtime-pack.test.d.ts +1 -0
- package/dist/backend/runtime-pack.test.js +438 -0
- package/dist/backend/runtime-pack.test.js.map +1 -0
- package/dist/backend/targets.d.ts +30 -0
- package/dist/backend/targets.js +46 -0
- package/dist/backend/targets.js.map +1 -0
- package/dist/backend/targets.test.d.ts +1 -0
- package/dist/backend/targets.test.js +19 -0
- package/dist/backend/targets.test.js.map +1 -0
- package/dist/backend/vendor-archives.d.ts +41 -0
- package/dist/backend/vendor-archives.js +462 -0
- package/dist/backend/vendor-archives.js.map +1 -0
- package/dist/compat/fetch-profile.d.ts +0 -1
- package/dist/compat/fetch-profile.js +0 -1
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/coverage/report.js +3 -3
- package/dist/coverage/report.js.map +1 -1
- package/dist/coverage/surface-manifest.js +25 -32
- package/dist/coverage/surface-manifest.js.map +1 -1
- package/dist/diagnostics/diagnostic.d.ts +11 -12
- package/dist/diagnostics/diagnostic.js +19 -17
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/diagnostics/render.d.ts +1 -1
- package/dist/diagnostics/render.js +1 -1
- package/dist/diagnostics/render.js.map +1 -1
- package/dist/errors.d.ts +5 -0
- package/dist/errors.js +9 -0
- package/dist/errors.js.map +1 -0
- package/dist/executable/executable-cache.d.ts +86 -0
- package/dist/executable/executable-cache.js +398 -0
- package/dist/executable/executable-cache.js.map +1 -0
- package/dist/executable/executable-cache.test.d.ts +1 -0
- package/dist/executable/executable-cache.test.js +300 -0
- package/dist/executable/executable-cache.test.js.map +1 -0
- package/dist/ffi/{profile.d.ts → ffi-manifest.d.ts} +7 -2
- package/dist/ffi/{profile.js → ffi-manifest.js} +2 -1
- package/dist/ffi/ffi-manifest.js.map +1 -0
- package/dist/frontend/builtin-modules.d.ts +21 -0
- package/dist/frontend/builtin-modules.js +82 -0
- package/dist/frontend/builtin-modules.js.map +1 -0
- package/dist/frontend/cjs-lexer.d.ts +7 -0
- package/dist/frontend/cjs-lexer.js +15 -17
- package/dist/frontend/cjs-lexer.js.map +1 -1
- package/dist/frontend/dts-paths.d.ts +26 -0
- package/dist/frontend/dts-paths.js +41 -0
- package/dist/frontend/dts-paths.js.map +1 -0
- package/dist/frontend/input-tracker.d.ts +0 -2
- package/dist/frontend/input-tracker.js +1 -4
- package/dist/frontend/input-tracker.js.map +1 -1
- package/dist/frontend/lib-contract.d.ts +1 -5
- package/dist/frontend/lib-contract.js +1 -1
- package/dist/frontend/lib-contract.js.map +1 -1
- package/dist/frontend/lib-exports.d.ts +1 -1
- package/dist/frontend/lowering/call-position.d.ts +4 -0
- package/dist/frontend/lowering/call-position.js +7 -0
- package/dist/frontend/lowering/call-position.js.map +1 -0
- package/dist/frontend/lowering/callback-arg.d.ts +20 -0
- package/dist/frontend/lowering/callback-arg.js +44 -0
- package/dist/frontend/lowering/callback-arg.js.map +1 -0
- package/dist/frontend/lowering/lib-boundary.d.ts +1 -1
- package/dist/frontend/lowering/lib-boundary.js +34 -34
- package/dist/frontend/lowering/lib-boundary.js.map +1 -1
- package/dist/frontend/lowering/lower-assert.d.ts +3 -3
- package/dist/frontend/lowering/lower-assert.js +214 -241
- package/dist/frontend/lowering/lower-assert.js.map +1 -1
- package/dist/frontend/lowering/lower-builtins.d.ts +74 -146
- package/dist/frontend/lowering/lower-builtins.js +1126 -1234
- package/dist/frontend/lowering/lower-builtins.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +56 -188
- package/dist/frontend/lowering/lower-calls.js +1409 -1494
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +62 -125
- package/dist/frontend/lowering/lower-classes.js +832 -866
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-comptime.d.ts +5 -12
- package/dist/frontend/lowering/lower-comptime.js +32 -31
- package/dist/frontend/lowering/lower-comptime.js.map +1 -1
- package/dist/frontend/lowering/lower-containers.d.ts +35 -135
- package/dist/frontend/lowering/lower-containers.js +1394 -1715
- package/dist/frontend/lowering/lower-containers.js.map +1 -1
- package/dist/frontend/lowering/lower-dgram.d.ts +3 -7
- package/dist/frontend/lowering/lower-dgram.js +97 -111
- package/dist/frontend/lowering/lower-dgram.js.map +1 -1
- package/dist/frontend/lowering/lower-enums.d.ts +4 -4
- package/dist/frontend/lowering/lower-enums.js +30 -30
- package/dist/frontend/lowering/lower-enums.js.map +1 -1
- package/dist/frontend/lowering/{lower-emitter.d.ts → lower-event-emitter.d.ts} +7 -18
- package/dist/frontend/lowering/{lower-emitter.js → lower-event-emitter.js} +172 -174
- package/dist/frontend/lowering/lower-event-emitter.js.map +1 -0
- package/dist/frontend/lowering/lower-expando.d.ts +5 -5
- package/dist/frontend/lowering/lower-expando.js +40 -40
- package/dist/frontend/lowering/lower-expando.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +56 -264
- package/dist/frontend/lowering/lower-exprs.js +1644 -1704
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-generators.d.ts +6 -6
- package/dist/frontend/lowering/lower-generators.js +73 -72
- package/dist/frontend/lowering/lower-generators.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.d.ts +5 -17
- package/dist/frontend/lowering/lower-inspect.js +236 -238
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-island.d.ts +34 -45
- package/dist/frontend/lowering/lower-island.js +440 -511
- package/dist/frontend/lowering/lower-island.js.map +1 -1
- package/dist/frontend/lowering/lower-mixins.d.ts +7 -10
- package/dist/frontend/lowering/lower-mixins.js +86 -86
- package/dist/frontend/lowering/lower-mixins.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.d.ts +12 -18
- package/dist/frontend/lowering/lower-modules.js +284 -283
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-namespaces.d.ts +23 -49
- package/dist/frontend/lowering/lower-namespaces.js +123 -115
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
- package/dist/frontend/lowering/lower-server.d.ts +18 -25
- package/dist/frontend/lowering/lower-server.js +899 -899
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +30 -149
- package/dist/frontend/lowering/lower-stmts.js +1176 -1229
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.d.ts +12 -12
- package/dist/frontend/lowering/lower-stream.js +300 -301
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lower-test.d.ts +5 -5
- package/dist/frontend/lowering/lower-test.js +82 -82
- package/dist/frontend/lowering/lower-test.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +66 -20
- package/dist/frontend/lowering/lowerer.js +421 -198
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/pairs-snapshot.d.ts +11 -0
- package/dist/frontend/lowering/pairs-snapshot.js +85 -0
- package/dist/frontend/lowering/pairs-snapshot.js.map +1 -0
- package/dist/frontend/lowering/static-this.d.ts +6 -0
- package/dist/frontend/lowering/static-this.js +24 -0
- package/dist/frontend/lowering/static-this.js.map +1 -0
- package/dist/frontend/lowering/surfaces.d.ts +14 -33
- package/dist/frontend/lowering/surfaces.js +64 -64
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/npm-static-rewrite.js +6 -28
- package/dist/frontend/npm-static-rewrite.js.map +1 -1
- package/dist/frontend/npm-static.d.ts +0 -10
- package/dist/frontend/npm-static.js +4 -7
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/npm.d.ts +0 -24
- package/dist/frontend/npm.js +11 -85
- package/dist/frontend/npm.js.map +1 -1
- package/dist/frontend/program.d.ts +3 -1
- package/dist/frontend/program.js +51 -17
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/provenance-registry.d.ts +0 -2
- package/dist/frontend/provenance-registry.js +0 -10
- package/dist/frontend/provenance-registry.js.map +1 -1
- package/dist/frontend/provenance.js +4 -7
- package/dist/frontend/provenance.js.map +1 -1
- package/dist/frontend/resolve.d.ts +7 -2
- package/dist/frontend/resolve.js +12 -17
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/resolve.test.d.ts +1 -0
- package/dist/frontend/resolve.test.js +29 -0
- package/dist/frontend/resolve.test.js.map +1 -0
- package/dist/frontend/ts7/adapter.d.ts +2 -2
- package/dist/frontend/ts7/adapter.js +1 -1
- package/dist/frontend/ts7/adapter.js.map +1 -1
- package/dist/frontend/ts7/checker.d.ts +40 -2
- package/dist/frontend/ts7/checker.js +182 -54
- package/dist/frontend/ts7/checker.js.map +1 -1
- package/dist/frontend/ts7/enums.js +2 -1
- package/dist/frontend/ts7/enums.js.map +1 -1
- package/dist/frontend/ts7/{program.js → program-adapter.js} +7 -6
- package/dist/frontend/ts7/program-adapter.js.map +1 -0
- package/dist/frontend/ts7/world-check.d.ts +1 -3
- package/dist/frontend/ts7/world-check.js +3 -1
- package/dist/frontend/ts7/world-check.js.map +1 -1
- package/dist/frontend/tsc-codes.d.ts +8 -0
- package/dist/frontend/tsc-codes.js +109 -0
- package/dist/frontend/tsc-codes.js.map +1 -0
- package/dist/frontend/{types.d.ts → type-mapper.d.ts} +2 -25
- package/dist/frontend/{types.js → type-mapper.js} +31 -52
- package/dist/frontend/type-mapper.js.map +1 -0
- package/dist/frontend/workspace-registry.d.ts +26 -0
- package/dist/frontend/workspace-registry.js +71 -0
- package/dist/frontend/workspace-registry.js.map +1 -0
- package/dist/index.d.ts +115 -30
- package/dist/index.js +650 -146
- package/dist/index.js.map +1 -1
- package/dist/ir/analysis.d.ts +37 -0
- package/dist/ir/analysis.js +118 -0
- package/dist/ir/analysis.js.map +1 -0
- package/dist/ir/analysis.test.d.ts +1 -0
- package/dist/ir/analysis.test.js +21 -0
- package/dist/ir/analysis.test.js.map +1 -0
- package/dist/ir/build.d.ts +9 -0
- package/dist/ir/build.js +33 -0
- package/dist/ir/build.js.map +1 -0
- package/dist/ir/integer-loops.d.ts +1 -1
- package/dist/ir/{nodes.d.ts → ir.d.ts} +60 -26
- package/dist/ir/{nodes.js → ir.js} +173 -141
- package/dist/ir/ir.js.map +1 -0
- package/dist/ir/ir.test.d.ts +1 -0
- package/dist/ir/ir.test.js +17 -0
- package/dist/ir/ir.test.js.map +1 -0
- package/dist/ir/serialize.d.ts +1 -1
- package/dist/ir/serialize.js +2 -1
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/validate.d.ts +1 -1
- package/dist/ir/validate.js +16 -5
- package/dist/ir/validate.js.map +1 -1
- package/dist/library/cache-primitives.d.ts +24 -0
- package/dist/library/cache-primitives.js +83 -0
- package/dist/library/cache-primitives.js.map +1 -0
- package/dist/library/cache-reset.test.d.ts +1 -0
- package/dist/library/cache-reset.test.js +47 -0
- package/dist/library/cache-reset.test.js.map +1 -0
- package/dist/library/compiler-self-identity.d.ts +23 -0
- package/dist/library/compiler-self-identity.js +84 -0
- package/dist/library/compiler-self-identity.js.map +1 -0
- package/dist/library/fence-eval.d.ts +3 -1
- package/dist/library/fence-eval.js +5 -1
- package/dist/library/fence-eval.js.map +1 -1
- package/dist/library/int-infer.d.ts +1 -36
- package/dist/library/int-infer.js +17 -17
- package/dist/library/int-infer.js.map +1 -1
- package/dist/library/{early-cache.d.ts → library-cache.d.ts} +1 -1
- package/dist/library/{early-cache.js → library-cache.js} +37 -111
- package/dist/library/library-cache.js.map +1 -0
- package/dist/library/library-cache.test.d.ts +1 -0
- package/dist/library/{early-cache.test.js → library-cache.test.js} +2 -2
- package/dist/library/library-cache.test.js.map +1 -0
- package/dist/library/{profile.d.ts → library-profile.d.ts} +4 -7
- package/dist/library/{profile.js → library-profile.js} +18 -11
- package/dist/library/library-profile.js.map +1 -0
- package/dist/library/semantic-source.js +2 -1
- package/dist/library/semantic-source.js.map +1 -1
- package/dist/library/sidecar.d.ts +5 -2
- package/dist/library/sidecar.js +11 -5
- package/dist/library/sidecar.js.map +1 -1
- package/dist/startup-cache.d.ts +6 -0
- package/dist/startup-cache.js +6 -0
- package/dist/startup-cache.js.map +1 -0
- package/package.json +7 -2
- package/surface-manifest.json +1 -1
- package/dist/backend/cc-cache.test.js.map +0 -1
- package/dist/backend/cc.js.map +0 -1
- package/dist/backend/emission/emit-async.js.map +0 -1
- package/dist/backend/emission/emit-exprs.d.ts +0 -13
- package/dist/backend/emission/emit-exprs.js +0 -7407
- package/dist/backend/emission/emit-exprs.js.map +0 -1
- package/dist/backend/emission/emit-island.js.map +0 -1
- package/dist/backend/emission/emit-shapes.js.map +0 -1
- package/dist/backend/emission/emit-stmts.js.map +0 -1
- package/dist/backend/emission/emit-types.js.map +0 -1
- package/dist/backend/emission/emit-walkers.js.map +0 -1
- package/dist/backend/emission/emitter.js.map +0 -1
- package/dist/backend/emission/may-throw.js.map +0 -1
- package/dist/backend/library-identity.js.map +0 -1
- package/dist/ffi/profile.js.map +0 -1
- package/dist/frontend/lowering/lower-emitter.js.map +0 -1
- package/dist/frontend/shared.d.ts +0 -82
- package/dist/frontend/shared.js +0 -308
- package/dist/frontend/shared.js.map +0 -1
- package/dist/frontend/ts7/program.js.map +0 -1
- package/dist/frontend/types.js.map +0 -1
- package/dist/ir/nodes.js.map +0 -1
- package/dist/library/early-cache.js.map +0 -1
- package/dist/library/early-cache.test.js.map +0 -1
- package/dist/library/profile.js.map +0 -1
- /package/dist/backend/{cc-cache.test.d.ts → c/types.test.d.ts} +0 -0
- /package/dist/{library/early-cache.test.d.ts → backend/llvm/shapes.test.d.ts} +0 -0
- /package/dist/frontend/ts7/{program.d.ts → program-adapter.d.ts} +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type IrExpr, type IrLibFn, type IrParam, type IrType, type SrcLoc } from "../../ir/ir.js";
|
|
2
|
+
import type { Lowerer } from "./lowerer.js";
|
|
3
|
+
/** Intern a helper that materializes a pure string-index record from a flat
|
|
4
|
+
* `[key, value, ...]` array returned by a runtime call. */
|
|
5
|
+
export declare function pairsSnapshotHelper(lowerer: Lowerer, shapeId: string, loc: SrcLoc, options: {
|
|
6
|
+
keyPrefix: string;
|
|
7
|
+
libCall: IrLibFn;
|
|
8
|
+
params?: IrParam[];
|
|
9
|
+
callArgs?: IrExpr[];
|
|
10
|
+
indexValueOk?: (indexValue: IrType) => boolean;
|
|
11
|
+
}): string | null;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { arrayOf, BOOL, F64, STRING } from "../../ir/ir.js";
|
|
2
|
+
import { numLit, varRef } from "../../ir/build.js";
|
|
3
|
+
/** Intern a helper that materializes a pure string-index record from a flat
|
|
4
|
+
* `[key, value, ...]` array returned by a runtime call. */
|
|
5
|
+
export function pairsSnapshotHelper(lowerer, shapeId, loc, options) {
|
|
6
|
+
const shape = lowerer.shapes.get(shapeId);
|
|
7
|
+
if (!shape || shape.tuple || shape.fields.length > 0 || !shape.indexValue)
|
|
8
|
+
return null;
|
|
9
|
+
const indexValue = shape.indexValue;
|
|
10
|
+
if (options.indexValueOk && !options.indexValueOk(indexValue))
|
|
11
|
+
return null;
|
|
12
|
+
if (indexValue.kind !== "union")
|
|
13
|
+
return null;
|
|
14
|
+
const stringTag = lowerer.armTag(indexValue.unionId, STRING);
|
|
15
|
+
if (stringTag < 0)
|
|
16
|
+
return null;
|
|
17
|
+
const key = `${options.keyPrefix}.snapshot:${shapeId}`;
|
|
18
|
+
const existing = lowerer.widthHelpers.get(key);
|
|
19
|
+
if (existing)
|
|
20
|
+
return existing;
|
|
21
|
+
const name = `%${options.keyPrefix}.snapshot.${lowerer.widthHelpers.size}`;
|
|
22
|
+
lowerer.widthHelpers.set(key, name);
|
|
23
|
+
const recordType = { kind: "record", shapeId };
|
|
24
|
+
const pairsType = arrayOf(STRING);
|
|
25
|
+
const pairAt = (offset) => ({
|
|
26
|
+
kind: "arrayGet",
|
|
27
|
+
arr: varRef("ps.0", pairsType, loc),
|
|
28
|
+
index: offset === 0
|
|
29
|
+
? varRef("i.0", F64, loc)
|
|
30
|
+
: { kind: "bin", op: "+", left: varRef("i.0", F64, loc), right: numLit(offset, loc), type: F64, loc },
|
|
31
|
+
type: STRING,
|
|
32
|
+
loc,
|
|
33
|
+
});
|
|
34
|
+
lowerer.liftedFns.push({
|
|
35
|
+
name,
|
|
36
|
+
params: options.params ?? [],
|
|
37
|
+
returnType: recordType,
|
|
38
|
+
locals: [
|
|
39
|
+
...(options.params ?? []).map((param) => ({ id: param.localId, name: param.name, type: param.type, mutable: false })),
|
|
40
|
+
{ id: "ps.0", name: "ps", type: pairsType, mutable: false },
|
|
41
|
+
{ id: "out.0", name: "out", type: recordType, mutable: false },
|
|
42
|
+
{ id: "i.0", name: "i", type: F64, mutable: true },
|
|
43
|
+
],
|
|
44
|
+
body: [
|
|
45
|
+
{
|
|
46
|
+
kind: "varDecl",
|
|
47
|
+
localId: "ps.0",
|
|
48
|
+
init: { kind: "libCall", fn: options.libCall, args: options.callArgs ?? [], type: pairsType, loc },
|
|
49
|
+
loc,
|
|
50
|
+
},
|
|
51
|
+
{ kind: "varDecl", localId: "out.0", init: { kind: "recordLit", fields: [], type: recordType, loc }, loc },
|
|
52
|
+
{
|
|
53
|
+
kind: "for",
|
|
54
|
+
init: { kind: "varDecl", localId: "i.0", init: numLit(0, loc), loc },
|
|
55
|
+
cond: {
|
|
56
|
+
kind: "bin",
|
|
57
|
+
op: "<",
|
|
58
|
+
left: varRef("i.0", F64, loc),
|
|
59
|
+
right: { kind: "arrIntrinsic", method: "length", receiver: varRef("ps.0", pairsType, loc), args: [], type: F64, loc },
|
|
60
|
+
type: BOOL,
|
|
61
|
+
loc,
|
|
62
|
+
},
|
|
63
|
+
update: {
|
|
64
|
+
kind: "assign",
|
|
65
|
+
localId: "i.0",
|
|
66
|
+
value: { kind: "bin", op: "+", left: varRef("i.0", F64, loc), right: numLit(2, loc), type: F64, loc },
|
|
67
|
+
loc,
|
|
68
|
+
},
|
|
69
|
+
body: [{
|
|
70
|
+
kind: "recordKeySet",
|
|
71
|
+
obj: varRef("out.0", recordType, loc),
|
|
72
|
+
shapeId,
|
|
73
|
+
key: pairAt(0),
|
|
74
|
+
value: { kind: "unionWrap", unionId: indexValue.unionId, tag: stringTag, value: pairAt(1), type: indexValue, loc },
|
|
75
|
+
loc,
|
|
76
|
+
}],
|
|
77
|
+
loc,
|
|
78
|
+
},
|
|
79
|
+
{ kind: "return", value: varRef("out.0", recordType, loc), loc },
|
|
80
|
+
],
|
|
81
|
+
loc,
|
|
82
|
+
});
|
|
83
|
+
return name;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=pairs-snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pairs-snapshot.js","sourceRoot":"","sources":["../../../src/frontend/lowering/pairs-snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as ts from "../ts7/adapter.js";
|
|
2
|
+
import type { Lowerer } from "./lowerer.js";
|
|
3
|
+
/** Walk a static class context for `this`/`super`. Arrows inherit the
|
|
4
|
+
* surrounding receiver and remain transparent; declarations that bind
|
|
5
|
+
* their own receiver (and nested classes) are opaque. */
|
|
6
|
+
export declare function rejectStaticThis(lowerer: Lowerer, root: ts.Node, message: (keyword: "this" | "super") => string, includeRoot?: boolean): void;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as ts from "../ts7/adapter.js";
|
|
2
|
+
/** Walk a static class context for `this`/`super`. Arrows inherit the
|
|
3
|
+
* surrounding receiver and remain transparent; declarations that bind
|
|
4
|
+
* their own receiver (and nested classes) are opaque. */
|
|
5
|
+
export function rejectStaticThis(lowerer, root, message, includeRoot = false) {
|
|
6
|
+
const visit = (node) => {
|
|
7
|
+
if (ts.isFunctionExpression(node) || ts.isFunctionDeclaration(node) ||
|
|
8
|
+
ts.isMethodDeclaration(node) || ts.isConstructorDeclaration(node) ||
|
|
9
|
+
ts.isGetAccessor(node) || ts.isSetAccessor(node) ||
|
|
10
|
+
ts.isClassDeclaration(node) || ts.isClassExpression(node)) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
if (node.kind === ts.SyntaxKind.ThisKeyword || node.kind === ts.SyntaxKind.SuperKeyword) {
|
|
14
|
+
const keyword = node.kind === ts.SyntaxKind.ThisKeyword ? "this" : "super";
|
|
15
|
+
lowerer.unsupported("SC1090", node, message(keyword));
|
|
16
|
+
}
|
|
17
|
+
node.forEachChild(visit);
|
|
18
|
+
};
|
|
19
|
+
if (includeRoot)
|
|
20
|
+
visit(root);
|
|
21
|
+
else
|
|
22
|
+
root.forEachChild(visit);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=static-this.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static-this.js","sourceRoot":"","sources":["../../../src/frontend/lowering/static-this.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGxC;;yDAEyD;AACzD,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,IAAa,EACb,OAA8C,EAC9C,WAAW,GAAG,KAAK;IAEnB,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QACpC,IACE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC/D,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC;YACjE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;YAChD,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EACzD,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YACxF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3E,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC;IACF,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC;;QACxB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as ts from "../ts7/adapter.js";
|
|
2
2
|
import type { Lowerer } from "./lowerer.js";
|
|
3
3
|
import { UNSUPPORTED } from "../../diagnostics/diagnostic.js";
|
|
4
|
-
import { IrExpr, IrLibFn, IrStrIntrinsicMethod, IrType } from "../../ir/
|
|
4
|
+
import { IrExpr, IrLibFn, IrStrIntrinsicMethod, IrType } from "../../ir/ir.js";
|
|
5
5
|
/** Statement-level constructs rejected wholesale, keyed by syntax kind. */
|
|
6
6
|
export declare const UNSUPPORTED_STMT: Partial<Record<ts.SyntaxKind, {
|
|
7
7
|
code: keyof typeof UNSUPPORTED;
|
|
@@ -27,7 +27,7 @@ export declare function sideEffectFreeOptionValue(node: ts.Expression): boolean;
|
|
|
27
27
|
* supported-options hint otherwise); undocumented keys drop like Node
|
|
28
28
|
* drops them when the value is side-effect-free, and fence when it is
|
|
29
29
|
* not. `prop` is the property entry (assignment or shorthand) for spans. */
|
|
30
|
-
export declare function fenceOrDropOptionKey(
|
|
30
|
+
export declare function fenceOrDropOptionKey(lowerer: Lowerer, prop: ts.ObjectLiteralElementLike, key: string, api: string, documented: ReadonlySet<string>, supportedHint: string, pointedHints?: Record<string, string | undefined>): void;
|
|
31
31
|
/** http.request/http.get's documented option keys (Node v24 — the
|
|
32
32
|
* `http.request(options)` and `net.socket.connect` tables); everything
|
|
33
33
|
* else on a client options literal is undocumented and drops. */
|
|
@@ -111,8 +111,6 @@ export interface IslandFnEntry {
|
|
|
111
111
|
args: IrType[];
|
|
112
112
|
ret: IrType;
|
|
113
113
|
}
|
|
114
|
-
export declare const ISL_N1: IslandFnEntry;
|
|
115
|
-
export declare const ISL_N2: IslandFnEntry;
|
|
116
114
|
export declare const boundaryIntoIslandMsg: (typeName: string) => string;
|
|
117
115
|
export declare const boundaryOutOfIslandMsg: (typeName: string) => string;
|
|
118
116
|
/** The island-backed surface — standard-library APIs with no static
|
|
@@ -215,7 +213,7 @@ export declare const BUILTIN_MODULE_FN_ALIASES: Record<string, Record<string, re
|
|
|
215
213
|
/** Ambient surfaces lowered through DEDICATED code paths (no lowering-table
|
|
216
214
|
* row): the Date compositions, perf_hooks' performance.now, and the process
|
|
217
215
|
* global's ambient reads and authority calls. These are the determinism
|
|
218
|
-
* attestation's ground (ir/
|
|
216
|
+
* attestation's ground (ir/ir.ts's LIB_NONDETERMINISTIC_PREFIXES), so
|
|
219
217
|
* each row projects one surface-manifest entry — a permanent, fenceable id
|
|
220
218
|
* — and carries the libCall spellings that witness the surface's reach in
|
|
221
219
|
* a compiled graph (the fence detector and the attestation must agree; the
|
|
@@ -231,20 +229,15 @@ export interface AmbientSurfaceRow {
|
|
|
231
229
|
note?: string;
|
|
232
230
|
}
|
|
233
231
|
export declare const AMBIENT_SURFACE_FNS: readonly AmbientSurfaceRow[];
|
|
234
|
-
/** BUILTIN_MODULE_FNS with the platform-conditional modules bound per
|
|
235
|
-
* TARGET: a win32 triple compiles Node-on-Windows semantics — `path` is
|
|
236
|
-
* path.win32 and url's bridge takes the win32 flavors. Fence wording is
|
|
237
|
-
* unaffected — callers keep naming the module the source spelled. */
|
|
238
|
-
export declare function builtinModuleFnsOf(L: Lowerer, module: string): Record<string, BuiltinModuleFn | undefined> | undefined;
|
|
239
232
|
/** One MEMBER's table entry, own-property-safe (`path.toString` must not
|
|
240
233
|
* answer Object.prototype.toString as a BuiltinModuleFn). */
|
|
241
|
-
export declare function builtinModuleFnOf(
|
|
234
|
+
export declare function builtinModuleFnOf(lowerer: Lowerer, module: string, member: string): BuiltinModuleFn | undefined;
|
|
242
235
|
/** One member's fence hint, own-property-safe (a collision would print an
|
|
243
236
|
* inherited function into the diagnostic text). */
|
|
244
237
|
export declare function builtinFenceHintOf(module: string, member: string): string | undefined;
|
|
245
238
|
/** BUILTIN_MODULE_CONSTS with the win32-target overrides applied — the
|
|
246
239
|
* constants twin of builtinModuleFnsOf. */
|
|
247
|
-
export declare function builtinModuleConstOf(
|
|
240
|
+
export declare function builtinModuleConstOf(lowerer: Lowerer, module: string, member: string): string | number | boolean | undefined;
|
|
248
241
|
/** The IR literal of a builtin-module constant — one place so both value
|
|
249
242
|
* paths (named-import bindings and namespace member reads) emit the same
|
|
250
243
|
* kinds. */
|
|
@@ -253,14 +246,6 @@ export declare function builtinConstLit(value: string | number | boolean, loc: {
|
|
|
253
246
|
start: number;
|
|
254
247
|
end: number;
|
|
255
248
|
}): IrExpr;
|
|
256
|
-
/** node:module's builtinModules, BAKED — Node v24's exact list (verbatim
|
|
257
|
-
* order: the bare names, then the node:-prefix-only tails), pinned to
|
|
258
|
-
* the compat target rather than read from the COMPILING host's Node so
|
|
259
|
-
* emitted programs are host-independent (the cache-identity contract).
|
|
260
|
-
* Node ships one frozen singleton; each read here mints a fresh string
|
|
261
|
-
* array — a divergence only mutation could observe, and mutating Node's
|
|
262
|
-
* frozen array throws anyway. */
|
|
263
|
-
export declare const NODE_BUILTIN_MODULES_V24: readonly string[];
|
|
264
249
|
/** The array-literal read of module.builtinModules — both value paths
|
|
265
250
|
* (the named-import binding and the namespace member read) mint the
|
|
266
251
|
* same fresh string[]. */
|
|
@@ -269,10 +254,6 @@ export declare function builtinModulesArrayLit(loc: {
|
|
|
269
254
|
start: number;
|
|
270
255
|
end: number;
|
|
271
256
|
}): IrExpr;
|
|
272
|
-
/** Member-specific hints for RECOGNIZED builtin modules whose member has
|
|
273
|
-
* no lowering. deflateSync/inflateSync lower now (Buffers are real);
|
|
274
|
-
* the rest of the zlib surface points at the lowered pair. */
|
|
275
|
-
export declare const ZLIB_HINT = "deflateSync and inflateSync are the lowered zlib surface";
|
|
276
257
|
export declare const BUILTIN_MODULE_FENCE_HINTS: Record<string, Record<string, string | undefined> | undefined>;
|
|
277
258
|
/** The MEMBER chokepoint of the lib fence: called from the property-read
|
|
278
259
|
* and method-call fallbacks after every lowering has passed. When the
|
|
@@ -281,23 +262,23 @@ export declare const BUILTIN_MODULE_FENCE_HINTS: Record<string, Record<string, s
|
|
|
281
262
|
* receiver's global name when it IS a stdlib global like Math or Promise,
|
|
282
263
|
* its widened type text otherwise). Returns silently for non-stdlib
|
|
283
264
|
* members so the caller's generic rejection applies. */
|
|
284
|
-
export declare function stdlibMemberFence(
|
|
265
|
+
export declare function stdlibMemberFence(lowerer: Lowerer, access: ts.PropertyAccessExpression): void;
|
|
285
266
|
/** True iff the accessed member is declared by the standard library —
|
|
286
267
|
* the same technique as isConsoleLog: trust declarations, not names. */
|
|
287
|
-
export declare function isStdlibMember(
|
|
268
|
+
export declare function isStdlibMember(lowerer: Lowerer, access: ts.PropertyAccessExpression): boolean;
|
|
288
269
|
/** The provenance check the CHILD receiver lowerings use: a stdlib
|
|
289
270
|
* member, OR a member the user's own child-shaped interface declares
|
|
290
271
|
* (the NgrokChildProcess idiom — mapType's duck rule admits an
|
|
291
272
|
* interface only when EVERY member names the lowered ChildProcess
|
|
292
273
|
* surface, so accepting its members here cannot widen the surface;
|
|
293
274
|
* the receiver-kind gate already proved the type maps to child). */
|
|
294
|
-
export declare function isChildSurfaceMember(
|
|
275
|
+
export declare function isChildSurfaceMember(lowerer: Lowerer, access: ts.PropertyAccessExpression): boolean;
|
|
295
276
|
/** True iff some declaration of the symbol lives in the standard library
|
|
296
277
|
* (shipped ambient or default lib — the provenance half of every
|
|
297
278
|
* supported-surface check). `some`, not `[0]`: divergence overrides merge
|
|
298
279
|
* with lib interfaces, so a member can carry declarations from both. A
|
|
299
280
|
* user's own declaration is in neither, so shadowing never matches. */
|
|
300
|
-
export declare function isStdlibSymbol(
|
|
281
|
+
export declare function isStdlibSymbol(lowerer: Lowerer, symbol: ts.Symbol | undefined): boolean;
|
|
301
282
|
/** The canonical stdlib-global name `expr` denotes, or null. Three
|
|
302
283
|
* spellings reach the same global (Node's own aliasing):
|
|
303
284
|
* - the bare identifier (`process`), name + provenance checked;
|
|
@@ -308,19 +289,19 @@ export declare function isStdlibSymbol(L: Lowerer, symbol: ts.Symbol | undefined
|
|
|
308
289
|
* `typeof globalThis`, same symbol either way;
|
|
309
290
|
* - a local alias binding (`const process = globalThis.process`, the
|
|
310
291
|
* tamper-guard prologue) registered in stdlibGlobalAliases. */
|
|
311
|
-
export declare function stdlibGlobalNameOf(
|
|
292
|
+
export declare function stdlibGlobalNameOf(lowerer: Lowerer, expr: ts.Expression): string | null;
|
|
312
293
|
/** True iff `expr` denotes THE standard-library global `name` — name AND
|
|
313
294
|
* provenance, because neither alone suffices: several globals share
|
|
314
295
|
* member names (Math.log must never lower as console.log), and a user
|
|
315
296
|
* binding shadowing a global's name has a different, non-stdlib symbol.
|
|
316
297
|
* All of stdlibGlobalNameOf's spellings answer (globalThis.process is
|
|
317
298
|
* process; `const process = globalThis.process` aliases through). */
|
|
318
|
-
export declare function isStdlibGlobal(
|
|
299
|
+
export declare function isStdlibGlobal(lowerer: Lowerer, expr: ts.Expression, name: string): boolean;
|
|
319
300
|
/** The member name of a `<global>.<member>` access whose receiver is THE
|
|
320
301
|
* standard-library global `name` (console, JSON, process, Math). Null for
|
|
321
302
|
* anything else, so property-lowering chains keep trying other
|
|
322
303
|
* receivers. */
|
|
323
|
-
export declare function stdlibGlobalMember(
|
|
304
|
+
export declare function stdlibGlobalMember(lowerer: Lowerer, access: ts.PropertyAccessExpression, name: string): string | null;
|
|
324
305
|
/** `const process = globalThis.process` (and any `const x = <stdlib
|
|
325
306
|
* global>` snapshot — the suite harness's tamper-guard prologue): the
|
|
326
307
|
* binding is pure alias plumbing. Nothing in a compiled program can
|
|
@@ -330,9 +311,9 @@ export declare function stdlibGlobalMember(L: Lowerer, access: ts.PropertyAccess
|
|
|
330
311
|
* nothing. Only the globals with lowered member surfaces alias this
|
|
331
312
|
* way; aliasing, say, `Math` would change nothing (its members lower
|
|
332
313
|
* by receiver too). Returns true when recognized. */
|
|
333
|
-
export declare function stdlibGlobalAliasDecl(
|
|
314
|
+
export declare function stdlibGlobalAliasDecl(lowerer: Lowerer, nameNode: ts.Node, init: ts.Expression | undefined): boolean;
|
|
334
315
|
/** True iff the symbol is declared ONLY by the adopted @types/node
|
|
335
316
|
* surface (no es-lib or shipped-ambient declaration merges in) — chooses
|
|
336
317
|
* the SC2020 fence's wording: "typed by @types/node", not "standard
|
|
337
318
|
* library". */
|
|
338
|
-
export declare function nodeTypesOnlySymbol(
|
|
319
|
+
export declare function nodeTypesOnlySymbol(lowerer: Lowerer, sym: ts.Symbol | null | undefined): boolean;
|