@scriptc/compiler 0.0.0 → 0.0.1
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/LICENSE +202 -0
- package/ambient/package.json +3 -0
- package/ambient/scriptc-node-fallback.d.ts +3001 -0
- package/ambient/scriptc-overrides.d.ts +95 -0
- package/ambient/scriptc.d.ts +74 -0
- package/dist/backend/cc.d.ts +169 -0
- package/dist/backend/cc.js +897 -0
- package/dist/backend/cc.js.map +1 -0
- package/dist/backend/emission/emit-async.d.ts +145 -0
- package/dist/backend/emission/emit-async.js +996 -0
- package/dist/backend/emission/emit-async.js.map +1 -0
- package/dist/backend/emission/emit-exprs.d.ts +3 -0
- package/dist/backend/emission/emit-exprs.js +5947 -0
- package/dist/backend/emission/emit-exprs.js.map +1 -0
- package/dist/backend/emission/emit-island.d.ts +45 -0
- package/dist/backend/emission/emit-island.js +271 -0
- package/dist/backend/emission/emit-island.js.map +1 -0
- package/dist/backend/emission/emit-shapes.d.ts +142 -0
- package/dist/backend/emission/emit-shapes.js +575 -0
- package/dist/backend/emission/emit-shapes.js.map +1 -0
- package/dist/backend/emission/emit-stmts.d.ts +78 -0
- package/dist/backend/emission/emit-stmts.js +960 -0
- package/dist/backend/emission/emit-stmts.js.map +1 -0
- package/dist/backend/emission/emit-types.d.ts +65 -0
- package/dist/backend/emission/emit-types.js +652 -0
- package/dist/backend/emission/emit-types.js.map +1 -0
- package/dist/backend/emission/emit-walkers.d.ts +154 -0
- package/dist/backend/emission/emit-walkers.js +1587 -0
- package/dist/backend/emission/emit-walkers.js.map +1 -0
- package/dist/backend/emission/emitter.d.ts +452 -0
- package/dist/backend/emission/emitter.js +1249 -0
- package/dist/backend/emission/emitter.js.map +1 -0
- package/dist/backend/emission/may-throw.d.ts +15 -0
- package/dist/backend/emission/may-throw.js +250 -0
- package/dist/backend/emission/may-throw.js.map +1 -0
- package/dist/backend/llvm/blocks.d.ts +21 -0
- package/dist/backend/llvm/blocks.js +68 -0
- package/dist/backend/llvm/blocks.js.map +1 -0
- package/dist/backend/llvm/classes.d.ts +84 -0
- package/dist/backend/llvm/classes.js +438 -0
- package/dist/backend/llvm/classes.js.map +1 -0
- package/dist/backend/llvm/dyn.d.ts +123 -0
- package/dist/backend/llvm/dyn.js +2624 -0
- package/dist/backend/llvm/dyn.js.map +1 -0
- package/dist/backend/llvm/emitter.d.ts +3 -0
- package/dist/backend/llvm/emitter.js +10087 -0
- package/dist/backend/llvm/emitter.js.map +1 -0
- package/dist/backend/llvm/shapes.d.ts +78 -0
- package/dist/backend/llvm/shapes.js +754 -0
- package/dist/backend/llvm/shapes.js.map +1 -0
- package/dist/backend/llvm/unsupported.d.ts +6 -0
- package/dist/backend/llvm/unsupported.js +12 -0
- package/dist/backend/llvm/unsupported.js.map +1 -0
- package/dist/backend/llvm/walkers.d.ts +58 -0
- package/dist/backend/llvm/walkers.js +793 -0
- package/dist/backend/llvm/walkers.js.map +1 -0
- package/dist/backend/mangle.d.ts +124 -0
- package/dist/backend/mangle.js +232 -0
- package/dist/backend/mangle.js.map +1 -0
- package/dist/coverage/report.d.ts +64 -0
- package/dist/coverage/report.js +226 -0
- package/dist/coverage/report.js.map +1 -0
- package/dist/diagnostics/diagnostic.d.ts +140 -0
- package/dist/diagnostics/diagnostic.js +458 -0
- package/dist/diagnostics/diagnostic.js.map +1 -0
- package/dist/diagnostics/render.d.ts +11 -0
- package/dist/diagnostics/render.js +58 -0
- package/dist/diagnostics/render.js.map +1 -0
- package/dist/frontend/cjs-lexer.d.ts +20 -0
- package/dist/frontend/cjs-lexer.js +813 -0
- package/dist/frontend/cjs-lexer.js.map +1 -0
- package/dist/frontend/lowering/http2-constants.d.ts +1 -0
- package/dist/frontend/lowering/http2-constants.js +251 -0
- package/dist/frontend/lowering/http2-constants.js.map +1 -0
- package/dist/frontend/lowering/lib-boundary.d.ts +6 -0
- package/dist/frontend/lowering/lib-boundary.js +143 -0
- package/dist/frontend/lowering/lib-boundary.js.map +1 -0
- package/dist/frontend/lowering/lower-assert.d.ts +18 -0
- package/dist/frontend/lowering/lower-assert.js +1269 -0
- package/dist/frontend/lowering/lower-assert.js.map +1 -0
- package/dist/frontend/lowering/lower-builtins.d.ts +511 -0
- package/dist/frontend/lowering/lower-builtins.js +5249 -0
- package/dist/frontend/lowering/lower-builtins.js.map +1 -0
- package/dist/frontend/lowering/lower-calls.d.ts +581 -0
- package/dist/frontend/lowering/lower-calls.js +6281 -0
- package/dist/frontend/lowering/lower-calls.js.map +1 -0
- package/dist/frontend/lowering/lower-classes.d.ts +727 -0
- package/dist/frontend/lowering/lower-classes.js +4701 -0
- package/dist/frontend/lowering/lower-classes.js.map +1 -0
- package/dist/frontend/lowering/lower-comptime.d.ts +53 -0
- package/dist/frontend/lowering/lower-comptime.js +244 -0
- package/dist/frontend/lowering/lower-comptime.js.map +1 -0
- package/dist/frontend/lowering/lower-containers.d.ts +483 -0
- package/dist/frontend/lowering/lower-containers.js +6281 -0
- package/dist/frontend/lowering/lower-containers.js.map +1 -0
- package/dist/frontend/lowering/lower-dgram.d.ts +20 -0
- package/dist/frontend/lowering/lower-dgram.js +319 -0
- package/dist/frontend/lowering/lower-dgram.js.map +1 -0
- package/dist/frontend/lowering/lower-emitter.d.ts +10 -0
- package/dist/frontend/lowering/lower-emitter.js +688 -0
- package/dist/frontend/lowering/lower-emitter.js.map +1 -0
- package/dist/frontend/lowering/lower-enums.d.ts +22 -0
- package/dist/frontend/lowering/lower-enums.js +235 -0
- package/dist/frontend/lowering/lower-enums.js.map +1 -0
- package/dist/frontend/lowering/lower-expando.d.ts +35 -0
- package/dist/frontend/lowering/lower-expando.js +276 -0
- package/dist/frontend/lowering/lower-expando.js.map +1 -0
- package/dist/frontend/lowering/lower-exprs.d.ts +524 -0
- package/dist/frontend/lowering/lower-exprs.js +8099 -0
- package/dist/frontend/lowering/lower-exprs.js.map +1 -0
- package/dist/frontend/lowering/lower-generators.d.ts +50 -0
- package/dist/frontend/lowering/lower-generators.js +421 -0
- package/dist/frontend/lowering/lower-generators.js.map +1 -0
- package/dist/frontend/lowering/lower-inspect.d.ts +20 -0
- package/dist/frontend/lowering/lower-inspect.js +1069 -0
- package/dist/frontend/lowering/lower-inspect.js.map +1 -0
- package/dist/frontend/lowering/lower-island.d.ts +108 -0
- package/dist/frontend/lowering/lower-island.js +650 -0
- package/dist/frontend/lowering/lower-island.js.map +1 -0
- package/dist/frontend/lowering/lower-mixins.d.ts +96 -0
- package/dist/frontend/lowering/lower-mixins.js +534 -0
- package/dist/frontend/lowering/lower-mixins.js.map +1 -0
- package/dist/frontend/lowering/lower-modules.d.ts +135 -0
- package/dist/frontend/lowering/lower-modules.js +1613 -0
- package/dist/frontend/lowering/lower-modules.js.map +1 -0
- package/dist/frontend/lowering/lower-namespaces.d.ts +168 -0
- package/dist/frontend/lowering/lower-namespaces.js +706 -0
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -0
- package/dist/frontend/lowering/lower-server.d.ts +90 -0
- package/dist/frontend/lowering/lower-server.js +3471 -0
- package/dist/frontend/lowering/lower-server.js.map +1 -0
- package/dist/frontend/lowering/lower-stmts.d.ts +361 -0
- package/dist/frontend/lowering/lower-stmts.js +5341 -0
- package/dist/frontend/lowering/lower-stmts.js.map +1 -0
- package/dist/frontend/lowering/lower-stream.d.ts +88 -0
- package/dist/frontend/lowering/lower-stream.js +1533 -0
- package/dist/frontend/lowering/lower-stream.js.map +1 -0
- package/dist/frontend/lowering/lower-test.d.ts +27 -0
- package/dist/frontend/lowering/lower-test.js +353 -0
- package/dist/frontend/lowering/lower-test.js.map +1 -0
- package/dist/frontend/lowering/lowerer.d.ts +1748 -0
- package/dist/frontend/lowering/lowerer.js +6256 -0
- package/dist/frontend/lowering/lowerer.js.map +1 -0
- package/dist/frontend/lowering/surfaces.d.ts +272 -0
- package/dist/frontend/lowering/surfaces.js +1096 -0
- package/dist/frontend/lowering/surfaces.js.map +1 -0
- package/dist/frontend/npm-static.d.ts +55 -0
- package/dist/frontend/npm-static.js +300 -0
- package/dist/frontend/npm-static.js.map +1 -0
- package/dist/frontend/npm.d.ts +330 -0
- package/dist/frontend/npm.js +1259 -0
- package/dist/frontend/npm.js.map +1 -0
- package/dist/frontend/program.d.ts +186 -0
- package/dist/frontend/program.js +2172 -0
- package/dist/frontend/program.js.map +1 -0
- package/dist/frontend/provenance-registry.d.ts +48 -0
- package/dist/frontend/provenance-registry.js +87 -0
- package/dist/frontend/provenance-registry.js.map +1 -0
- package/dist/frontend/provenance.d.ts +6 -0
- package/dist/frontend/provenance.js +459 -0
- package/dist/frontend/provenance.js.map +1 -0
- package/dist/frontend/resolve.d.ts +56 -0
- package/dist/frontend/resolve.js +682 -0
- package/dist/frontend/resolve.js.map +1 -0
- package/dist/frontend/shared.d.ts +60 -0
- package/dist/frontend/shared.js +232 -0
- package/dist/frontend/shared.js.map +1 -0
- package/dist/frontend/ts7/adapter.d.ts +7 -0
- package/dist/frontend/ts7/adapter.js +54 -0
- package/dist/frontend/ts7/adapter.js.map +1 -0
- package/dist/frontend/ts7/ast.d.ts +50 -0
- package/dist/frontend/ts7/ast.js +211 -0
- package/dist/frontend/ts7/ast.js.map +1 -0
- package/dist/frontend/ts7/census-check.d.ts +1 -0
- package/dist/frontend/ts7/census-check.js +12 -0
- package/dist/frontend/ts7/census-check.js.map +1 -0
- package/dist/frontend/ts7/checker.d.ts +140 -0
- package/dist/frontend/ts7/checker.js +544 -0
- package/dist/frontend/ts7/checker.js.map +1 -0
- package/dist/frontend/ts7/enums.d.ts +18 -0
- package/dist/frontend/ts7/enums.js +43 -0
- package/dist/frontend/ts7/enums.js.map +1 -0
- package/dist/frontend/ts7/program.d.ts +99 -0
- package/dist/frontend/ts7/program.js +278 -0
- package/dist/frontend/ts7/program.js.map +1 -0
- package/dist/frontend/ts7/world-check.d.ts +3 -0
- package/dist/frontend/ts7/world-check.js +34 -0
- package/dist/frontend/ts7/world-check.js.map +1 -0
- package/dist/frontend/types.d.ts +205 -0
- package/dist/frontend/types.js +2485 -0
- package/dist/frontend/types.js.map +1 -0
- package/dist/index.d.ts +85 -0
- package/dist/index.js +424 -0
- package/dist/index.js.map +1 -0
- package/dist/ir/nodes.d.ts +4334 -0
- package/dist/ir/nodes.js +1906 -0
- package/dist/ir/nodes.js.map +1 -0
- package/dist/ir/serialize.d.ts +4 -0
- package/dist/ir/serialize.js +34 -0
- package/dist/ir/serialize.js.map +1 -0
- package/dist/ir/validate.d.ts +36 -0
- package/dist/ir/validate.js +4884 -0
- package/dist/ir/validate.js.map +1 -0
- package/package.json +30 -6
- package/README.md +0 -3
- package/index.js +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lower-assert.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lower-assert.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,511 @@
|
|
|
1
|
+
import * as ts from "../ts7/adapter.js";
|
|
2
|
+
import type { Lowerer } from "./lowerer.js";
|
|
3
|
+
import { BuiltinModuleFn } from "./surfaces.js";
|
|
4
|
+
import { IrExpr, IrType, SrcLoc } from "../../ir/nodes.js";
|
|
5
|
+
/** Resolves an identifier to a supported builtin-module IMPORT BINDING:
|
|
6
|
+
* a named import (through its alias, so `import { join as j }` matches)
|
|
7
|
+
* whose declaration is an ImportSpecifier under a supported builtin
|
|
8
|
+
* specifier — "fs"/"node:fs", "path"/"node:path", ... The SPECIFIER is
|
|
9
|
+
* the provenance: user code can only acquire these bindings by importing
|
|
10
|
+
* the module (preflight allowlists exactly these specifiers, and Node
|
|
11
|
+
* itself resolves bare builtin names to the builtin — no npm shadowing),
|
|
12
|
+
* and a same-named local or user function has a different symbol whose
|
|
13
|
+
* declaration is not an import specifier. Returns the CANONICAL module
|
|
14
|
+
* name and the EXPORTED member name (not the local alias). */
|
|
15
|
+
export declare function builtinImportOf(L: Lowerer, ident: ts.Identifier): {
|
|
16
|
+
module: string;
|
|
17
|
+
member: string;
|
|
18
|
+
} | null;
|
|
19
|
+
/** True for `const <name> = require("<builtin>").<member>` — the
|
|
20
|
+
* member-binding require import builtinImportOf resolves. Both
|
|
21
|
+
* declaration walks (lowerVarDecl, collectGlobals) skip these: like a
|
|
22
|
+
* named import, the binding is alias plumbing with no storage — call
|
|
23
|
+
* sites lower through the module tables, value uses fence per site. */
|
|
24
|
+
export declare function builtinMemberRequireDecl(nameNode: ts.Node, init: ts.Expression | undefined): boolean;
|
|
25
|
+
/** The supported builtin module when `decl` destructures a builtin
|
|
26
|
+
* NAMESPACE binding (`const crypto = require('crypto'); const {
|
|
27
|
+
* createSign, sign: mySign } = crypto;` — test/common/crypto.js's
|
|
28
|
+
* idiom; the `import * as ns` form rides the same resolution). Pure
|
|
29
|
+
* alias plumbing: the bindings key the same tables as named imports
|
|
30
|
+
* (builtinImportOf's alias hop), so no storage and no statement exist —
|
|
31
|
+
* both declaration walks skip by this test. Plain identifier elements
|
|
32
|
+
* and renames only: a rest element needs the namespace VALUE and a
|
|
33
|
+
* default needs a missing-member probe — those keep the existing
|
|
34
|
+
* namespace-as-value fence. The direct-require initializer answers null
|
|
35
|
+
* here (its own arm already resolves it). */
|
|
36
|
+
export declare function builtinNamespaceDestructureModuleOf(L: Lowerer, decl: ts.VariableDeclaration): string | null;
|
|
37
|
+
/** True when `node` denotes the http2.constants OBJECT — any of its
|
|
38
|
+
* spellings: `http2.constants` through a namespace/require binding, a
|
|
39
|
+
* destructured or member-bound `constants` alias from the http2 module,
|
|
40
|
+
* or `require("http2").constants` inline. The object itself never
|
|
41
|
+
* materializes; each member read bakes as its literal. */
|
|
42
|
+
export declare function isHttp2ConstantsExpr(L: Lowerer, node: ts.Expression): boolean;
|
|
43
|
+
/** `constants.NGHTTP2_CANCEL` (any http2.constants spelling) → the baked
|
|
44
|
+
* literal; unknown members fence by name. Null when the receiver is not
|
|
45
|
+
* the constants object (the property chain keeps trying). */
|
|
46
|
+
export declare function lowerHttp2ConstantsProperty(L: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
|
|
47
|
+
/** True for `const { NGHTTP2_CANCEL, ... } = http2.constants` — a plain
|
|
48
|
+
* object destructure (identifier elements, renames allowed, no rest/
|
|
49
|
+
* defaults/nesting) over the constants object whose every name is in
|
|
50
|
+
* the table. The declaration is alias plumbing with no storage
|
|
51
|
+
* (lowerVarDecl and collectGlobals both skip it); each USE reads its
|
|
52
|
+
* baked literal (http2ConstantBindingOf). */
|
|
53
|
+
export declare function http2ConstantsDestructureDecl(L: Lowerer, nameNode: ts.Node, init: ts.Expression | undefined): boolean;
|
|
54
|
+
/** Resolves an identifier bound by an http2ConstantsDestructureDecl to its
|
|
55
|
+
* baked literal value. Null for every other binding. */
|
|
56
|
+
export declare function http2ConstantBindingOf(L: Lowerer, ident: ts.Identifier): IrExpr | null;
|
|
57
|
+
/** One builtin-module function call → its libCall. Completes the call to
|
|
58
|
+
* the table's exact shape: variadicPack functions (path.join/resolve)
|
|
59
|
+
* accept any arity — or ONE spread of a string[] — and pack the
|
|
60
|
+
* arguments into a single array-literal argument; `defaults` complete
|
|
61
|
+
* omitted trailing arguments. fs.readFileSync keeps its historical
|
|
62
|
+
* per-site checks (the encoding must be the literal "utf8"). */
|
|
63
|
+
export declare function lowerBuiltinModuleCall(L: Lowerer, expr: ts.CallExpression, bi: {
|
|
64
|
+
module: string;
|
|
65
|
+
member: string;
|
|
66
|
+
}, fn: BuiltinModuleFn, loc: SrcLoc): IrExpr;
|
|
67
|
+
/** Reflect.apply(target, thisArg, argsList) where the TARGET is a builtin
|
|
68
|
+
* rest-parameter table fn (path.join / path.resolve — test/common
|
|
69
|
+
* fixtures.js's fixturesPath forwards its rest args exactly this way):
|
|
70
|
+
* the packed libCall over a validated string[] extraction of argsList.
|
|
71
|
+
* The builtins ignore the receiver, so thisArg must be an effect-free
|
|
72
|
+
* spelling (`this`, an identifier, a unit literal) whose dropped
|
|
73
|
+
* evaluation is unobservable; every other Reflect.apply keeps the
|
|
74
|
+
* fence. Null when this isn't a Reflect.apply call. */
|
|
75
|
+
export declare function lowerReflectApplyCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
76
|
+
/** The child-process args list: one string[] value. An omitted list
|
|
77
|
+
* completes to an empty literal (Node's default); an array LITERAL
|
|
78
|
+
* builds element-wise (its contextual type is the optional parameter's
|
|
79
|
+
* `string[] | undefined`, which the generic literal path cannot map —
|
|
80
|
+
* the Set-seed situation exactly); everything else lowers as itself. */
|
|
81
|
+
export declare function lowerChildArgsArg(L: Lowerer, node: ts.Expression | undefined, loc: SrcLoc): IrExpr;
|
|
82
|
+
/** `spawnSync(command, args?, options?)` → one cp.spawnSync /
|
|
83
|
+
* cp.spawnSyncOpts libCall. An omitted args list completes to an empty
|
|
84
|
+
* string[] literal (Node's default). The options argument must be an
|
|
85
|
+
* object LITERAL whose members are drawn from the honestly-implemented
|
|
86
|
+
* set: `encoding` (the "utf8"/"utf-8" literal — the runtime captures
|
|
87
|
+
* utf8 unconditionally, and the option flips @types/node's
|
|
88
|
+
* stdout/stderr to string), `timeout` (ms — killSignal fires at the
|
|
89
|
+
* deadline and the result carries error: ETIMEDOUT + the signal, never
|
|
90
|
+
* a throw: Node's spawnSync shape), `killSignal` (a signal-name
|
|
91
|
+
* literal, validated against Node's table), `stdio` (the "pipe"/
|
|
92
|
+
* "ignore"/"inherit" string form or a 3-tuple of those — non-piped
|
|
93
|
+
* outputs read "" where Node types them null, spawnSync's documented
|
|
94
|
+
* stance), and `windowsHide` (a POSIX no-op, evaluated for side
|
|
95
|
+
* effects). Everything else (shell, cwd, env, input, maxBuffer, ...)
|
|
96
|
+
* fences by name. The bare `{ encoding: "utf8" }` shape keeps its
|
|
97
|
+
* historical cp.spawnSync lowering. */
|
|
98
|
+
export declare function lowerSpawnSyncCall(L: Lowerer, expr: ts.CallExpression, loc: SrcLoc): IrExpr;
|
|
99
|
+
/** `spawn(command, args?, options)` → one cp.spawn / cp.spawnOpts
|
|
100
|
+
* libCall. The options argument must be an object LITERAL with an
|
|
101
|
+
* EXPLICIT stdio — "ignore" or "inherit" as the scalar, or the 3-tuple
|
|
102
|
+
* whose stdout/stderr slots may also be "pipe" (the child.stdout/
|
|
103
|
+
* child.stderr streams) or number fds; piped STDIN fences, and
|
|
104
|
+
* OMITTING the options means Node's default stdio, "pipe" on all
|
|
105
|
+
* three — fenced too, so a program never silently loses its child's
|
|
106
|
+
* output. The other lowered
|
|
107
|
+
* members: `detached` (a boolean literal, inline or carried by the
|
|
108
|
+
* conditional spread `...(c ? { detached: true } : {})` in either
|
|
109
|
+
* orientation — POSIX_SPAWN_SETSID, the child gets its own session and
|
|
110
|
+
* process group like Node's), `env` (a
|
|
111
|
+
* REPLACEMENT environment, the exec-core pairs machinery), `cwd`, and
|
|
112
|
+
* `windowsHide` (a POSIX no-op). The bare `{ stdio: "ignore" }` shape
|
|
113
|
+
* keeps its historical cp.spawn lowering. */
|
|
114
|
+
export declare function lowerSpawnCall(L: Lowerer, expr: ts.CallExpression, loc: SrcLoc): IrExpr;
|
|
115
|
+
export declare function lowerExecSyncCall(L: Lowerer, expr: ts.CallExpression, shell: boolean, loc: SrcLoc): IrExpr;
|
|
116
|
+
/** `const execFileAsync = promisify(execFile)` — the ONE lowered
|
|
117
|
+
* util.promisify shape. Returns true (and registers the declared symbol
|
|
118
|
+
* so call sites lower and value uses fence) when `init` is a promisify
|
|
119
|
+
* call over a child_process.execFile import binding; a promisify call
|
|
120
|
+
* over anything else fences HERE with the supported-target hint (the
|
|
121
|
+
* declaration is where the target is visible). False for non-promisify
|
|
122
|
+
* initializers, so the ordinary declaration paths apply. */
|
|
123
|
+
export declare function isPromisifyCall(L: Lowerer, init: ts.Expression): ts.CallExpression | null;
|
|
124
|
+
export declare function promisifiedExecFileDecl(L: Lowerer, nameNode: ts.Node, init: ts.Expression | undefined): boolean;
|
|
125
|
+
/** A call THROUGH a promisified-execFile binding:
|
|
126
|
+
* `execFileAsync(file, args?, options?)` → one call of the interned
|
|
127
|
+
* %execFileAsync helper — an ASYNC IR function (throw-becomes-rejection
|
|
128
|
+
* for free) that runs the exec core synchronously and returns
|
|
129
|
+
* `{ stdout, stderr }`, exactly Node's promisified execFile behind an
|
|
130
|
+
* already-settled promise (the fs/promises stance, divergence 23).
|
|
131
|
+
* Options are the exec-sync slice minus stdio (the async form always
|
|
132
|
+
* captures both streams, no echo): encoding must spell utf8, cwd/env/
|
|
133
|
+
* timeout lower, maxBuffer/windowsHide are accepted no-ops, killSignal
|
|
134
|
+
* only as its SIGTERM default. Rejections carry Node's async messages
|
|
135
|
+
* ("Command failed: <cmd>\n<stderr>" — the trailing newline is Node's —
|
|
136
|
+
* and "spawn <file> ENOENT" with .code); Node's numeric `.code` on a
|
|
137
|
+
* Command-failed rejection (the exit status) is NOT carried —
|
|
138
|
+
* SEMANTICS.md divergence 50's stance. */
|
|
139
|
+
export declare function lowerExecFileAsyncCall(L: Lowerer, expr: ts.CallExpression, loc: SrcLoc): IrExpr;
|
|
140
|
+
/** The interned `%execFileAsync` helper behind promisified-execFile
|
|
141
|
+
* calls: an ASYNC IR function (params: cmd, argv, cwd, hasEnv, envPairs,
|
|
142
|
+
* timeoutMs) whose body runs the may-throw cp.execCapture libCall — the
|
|
143
|
+
* async machinery turns a throw into the rejection, Node's promisified
|
|
144
|
+
* behavior — and returns the `{ stdout, stderr }` record built from the
|
|
145
|
+
* capture. One helper per program (the shape is fixed). */
|
|
146
|
+
export declare function execFileAsyncHelper(L: Lowerer, loc: SrcLoc): {
|
|
147
|
+
name: string;
|
|
148
|
+
shapeId: string;
|
|
149
|
+
envShapeId: string;
|
|
150
|
+
};
|
|
151
|
+
/** An `env` option object → the [k, v, ...] pairs array cp.execSync
|
|
152
|
+
* consumes. The value must be a record (an index-signature ProcessEnv
|
|
153
|
+
* snapshot — `{ ...process.env, X: y }` — or a plain string-map): its
|
|
154
|
+
* string-typed fields and, for index-signature shapes, overflow entries
|
|
155
|
+
* flatten in JS own-key order, undefined-armed values SKIPPED (Node
|
|
156
|
+
* drops undefined env entries). Reuses the interned overflow-keys/read
|
|
157
|
+
* machinery. */
|
|
158
|
+
export declare function recordToEnvPairs(L: Lowerer, node: ts.Expression): IrExpr;
|
|
159
|
+
/** Method calls on diagnostics_channel Channel receivers:
|
|
160
|
+
* publish(message), subscribe(fn), unsubscribe(fn) — over the f64
|
|
161
|
+
* channel handle. The rest of the declared surface (bindStore,
|
|
162
|
+
* runStores) fences member-qualified. Null for non-Channel receivers. */
|
|
163
|
+
export declare function lowerDcChannelMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
164
|
+
/** Method calls on AsyncLocalStorage receivers: run(store, fn, ...args),
|
|
165
|
+
* exit(fn, ...args), getStore(), enterWith(store), disable() — over the
|
|
166
|
+
* f64 store handle (als.* libCalls; values cross as DOM values). Null
|
|
167
|
+
* for non-ALS receivers. */
|
|
168
|
+
export declare function lowerAlsMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
169
|
+
/** Property reads on Channel receivers: `.name` (the registration
|
|
170
|
+
* string) and `.hasSubscribers` (the publish guard). Null for
|
|
171
|
+
* non-Channel receivers and other members (the method fence owns them). */
|
|
172
|
+
export declare function lowerDcChannelProperty(L: Lowerer, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
173
|
+
/** Method calls on TracingChannel receivers: subscribe/unsubscribe over
|
|
174
|
+
* a DOM handlers object, traceSync/traceCallback through the runtime's
|
|
175
|
+
* publish choreography (dc.tcTraceSync/dc.tcTraceCallback — fn, context,
|
|
176
|
+
* thisArg, and the argument vector all cross as DOM values; context
|
|
177
|
+
* defaults to a fresh `{}` and thisArg to undefined, Node's defaults),
|
|
178
|
+
* and tracePromise through the reaction-fiber choreography
|
|
179
|
+
* (dc.tcTracePromise — the result is the reaction promise, typed
|
|
180
|
+
* promise<dyn> so .then/.catch chains ride the promise lowerings).
|
|
181
|
+
* Null for non-TracingChannel receivers. */
|
|
182
|
+
export declare function lowerDcTracingChannelMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
183
|
+
/** Property reads on TracingChannel receivers: the five event channels
|
|
184
|
+
* (`.start` … `.error` — Channel-typed f64 handles the Channel lowerings
|
|
185
|
+
* take over) and `.hasSubscribers` (the five-channel disjunction). Null
|
|
186
|
+
* for other members and non-TracingChannel receivers. */
|
|
187
|
+
export declare function lowerDcTracingChannelProperty(L: Lowerer, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
188
|
+
export declare function lowerReadlineMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
189
|
+
/** Method calls on StringDecoder receivers: `d.write(chunk)` decodes the
|
|
190
|
+
* complete prefix of pending+chunk and re-buffers the trailing partial
|
|
191
|
+
* sequence; `d.end()` flushes the buffered partial as its replacement
|
|
192
|
+
* chars — Node's utf8 StringDecoder exactly (SEMANTICS.md), through the
|
|
193
|
+
* interned %strdec helpers over the packed-f64 pending field. end(buf)
|
|
194
|
+
* and the rest of @types/node's surface fence per member. Null for
|
|
195
|
+
* non-decoder receivers. */
|
|
196
|
+
export declare function lowerStringDecoderMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
197
|
+
/** The interned %strdec helpers: write(d, chunk) returns the decoded
|
|
198
|
+
* complete prefix and re-buffers the trailing partial into the pending
|
|
199
|
+
* field; end(d) flushes it. Both thread the packed-f64 state through
|
|
200
|
+
* the pure strdec.* libCalls. */
|
|
201
|
+
export declare function strdecHelper(L: Lowerer, op: "write" | "end", shapeId: string, loc: SrcLoc): string;
|
|
202
|
+
/** `JSON.parse(text)` / `JSON.stringify(value)`.
|
|
203
|
+
* - parse → a may-throw `libCall` producing a dyn value (the runtime JSON
|
|
204
|
+
* DOM); malformed input throws a catchable SyntaxError-shaped string.
|
|
205
|
+
* The divergence override types the one-argument form `unknown`; the
|
|
206
|
+
* lib's reviver form typechecks (returning `any`) and is fenced here.
|
|
207
|
+
* - stringify → the type-DIRECTED `jsonStringify` node: the lib
|
|
208
|
+
* signature honestly says `any`, but lowering requires the argument's
|
|
209
|
+
* STATIC IR type to be JSON-safe — the backend emits a per-type
|
|
210
|
+
* serializer, never a dynamic walk, so dyn (and closures/class
|
|
211
|
+
* instances) are rejected here with a specific message. The
|
|
212
|
+
* `stringify(v, null, space)` pretty-print form compiles when the
|
|
213
|
+
* replacer is the literal null (or undefined) and the space is a
|
|
214
|
+
* LITERAL — Node's rules apply at compile time (numbers clamp to 0–10
|
|
215
|
+
* spaces, strings truncate to 10 code units) and the resolved indent
|
|
216
|
+
* rides the node to the backend's re-indenter. Function replacers and
|
|
217
|
+
* non-literal spaces stay fenced.
|
|
218
|
+
* Null when this isn't a JSON member call. */
|
|
219
|
+
export declare function lowerJsonMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
220
|
+
/** The module specifier when `ident` is an import binding (named,
|
|
221
|
+
* default, or namespace) from a node BUILTIN module with no scriptc
|
|
222
|
+
* support — "child_process", "net", ... — or null. The coverage story's
|
|
223
|
+
* use-site half: preflight fenced the import line; statements using the
|
|
224
|
+
* binding poison with the same module-naming diagnostic. */
|
|
225
|
+
export declare function fencedBuiltinImportOf(L: Lowerer, ident: ts.Identifier): string | null;
|
|
226
|
+
/** The composed crypto pattern: `randomBytes(n).toString(enc)` lowers
|
|
227
|
+
* as ONE string-producing libCall — the Buffer between the two calls
|
|
228
|
+
* never exists at runtime. Only literal "hex"/"base64" encodings lower
|
|
229
|
+
* (the runtime implements exactly those); everything else — including a
|
|
230
|
+
* bare randomBytes(n) — fences with the Buffer story. Null when this
|
|
231
|
+
* isn't a toString on a crypto.randomBytes call. */
|
|
232
|
+
export declare function lowerCryptoComposedCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
233
|
+
/** Method calls on URL-typed receivers: `u.toString()` is Node's href
|
|
234
|
+
* serialization (the href getter's libCall). Everything else the lib
|
|
235
|
+
* declares fences member-qualified. Null for non-URL receivers. */
|
|
236
|
+
export declare function lowerUrlMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
237
|
+
/** `new URLSearchParams(init?)` — the WHATWG constructor's lowered init
|
|
238
|
+
* shapes: omitted / literal `undefined` (empty list), a string (parsed,
|
|
239
|
+
* one leading '?' strips), another URLSearchParams (snapshot copy — a
|
|
240
|
+
* `u.searchParams` argument included), a string[][] value (pairs;
|
|
241
|
+
* Node's ERR_INVALID_TUPLE TypeError on a non-pair row, thrown by the
|
|
242
|
+
* runtime), and an OBJECT LITERAL (each property appends in source
|
|
243
|
+
* order — folded to a sp.with chain at compile time; keys are the
|
|
244
|
+
* record-literal key forms, values coerce as strings). Tuple-typed pair
|
|
245
|
+
* arrays and unions keep named fences. */
|
|
246
|
+
export declare function lowerSearchParamsNew(L: Lowerer, expr: ts.NewExpression, loc: SrcLoc): IrExpr;
|
|
247
|
+
/** Method calls on URLSearchParams-typed receivers — the WHATWG list
|
|
248
|
+
* surface over the runtime's decoded pairs. get answers `string | null`
|
|
249
|
+
* (the checker's own union; the runtime's +1-or-NULL builds the arms);
|
|
250
|
+
* has/delete take the value-aware second argument (an explicitly
|
|
251
|
+
* `undefined`-typed second argument means the name-only form, Node's
|
|
252
|
+
* treatment); forEach desugars to a synthesized index loop over the
|
|
253
|
+
* LIVE list (sp.size re-reads every pass — appends mid-walk are
|
|
254
|
+
* visited, deletes shift, the spec's index-based iteration).
|
|
255
|
+
* keys()/values()/entries() lower only in a for-of head (lower-stmts
|
|
256
|
+
* routes them before this table) — stored iterator objects keep the
|
|
257
|
+
* drain fence. Null for non-searchParams receivers. */
|
|
258
|
+
export declare function lowerSearchParamsMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
259
|
+
/** Method calls on Stats-typed receivers: isFile()/isDirectory()/
|
|
260
|
+
* isSymbolicLink() are pure reads on the stat snapshot (a followed
|
|
261
|
+
* statSync snapshot never answers true to isSymbolicLink — take
|
|
262
|
+
* lstatSync's, Node's own split). Everything else @types/node declares
|
|
263
|
+
* (mtime, mode, ...) fences member-qualified. Null for non-Stats
|
|
264
|
+
* receivers. */
|
|
265
|
+
export declare function lowerStatsMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
266
|
+
/** `Atomics.wait(int32Array, idx, expected, timeoutMs)` — the
|
|
267
|
+
* synchronous-sleep idiom (RouteStore's
|
|
268
|
+
* `Atomics.wait(sleepBuffer, 0, 0, ms)`): scriptc has no threads, so
|
|
269
|
+
* nothing can ever notify a waiter and the spec's behavior for every
|
|
270
|
+
* compilable program is exactly "compare, then sleep out the timeout"
|
|
271
|
+
* — "not-equal" when the element differs, a real nanosleep and
|
|
272
|
+
* "timed-out" otherwise ("ok" is unreachable). The timeout argument is
|
|
273
|
+
* REQUIRED: without it Node blocks until a notify that cannot exist
|
|
274
|
+
* here — a certain deadlock, fenced with that explanation. Every other
|
|
275
|
+
* Atomics member (notify has no one to wake; add/load/... — nothing
|
|
276
|
+
* races) fences member-qualified. Null for non-Atomics receivers. */
|
|
277
|
+
export declare function lowerAtomicsCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
278
|
+
/** The property-read extensions this spoke owns, tried BEFORE the
|
|
279
|
+
* lower-exprs intrinsic-property fallback (the lowerer's wrapper chains
|
|
280
|
+
* them): Stats.mtimeMs (milliseconds with the nanosecond fraction,
|
|
281
|
+
* Node's arithmetic) and SpawnSyncReturns.signal (the termination
|
|
282
|
+
* signal's name as the call site's `Signals | null` union — null for a
|
|
283
|
+
* normal exit or spawn failure; a timeout kill reports its killSignal,
|
|
284
|
+
* Node's shape). Null for everything else, so the ordinary chain (and
|
|
285
|
+
* its fences) keeps going. */
|
|
286
|
+
export declare function lowerBuiltinExtraProperty(L: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
|
|
287
|
+
/** Method calls on ChildProcess receivers: `child.on("exit"|"error", cb)`
|
|
288
|
+
* registers a listener with the event loop's child registry. The event
|
|
289
|
+
* name must be one of the two terminal-event LITERALS; the callback
|
|
290
|
+
* takes at most one parameter — `(code: number | null)` for exit (the
|
|
291
|
+
* signal parameter has no lowering), `(err: Error)` for error — or none.
|
|
292
|
+
* `on` is statement-only (Node returns the child for chaining; here the
|
|
293
|
+
* result is void and chaining is fenced). kill(signal?) and unref()
|
|
294
|
+
* lower too (the property reads — pid/exitCode/killed — live in
|
|
295
|
+
* lowerIntrinsicProperty). Everything else @types/node declares on
|
|
296
|
+
* ChildProcess (stdout, once, ...) fences member-qualified. Null for
|
|
297
|
+
* non-child receivers. */
|
|
298
|
+
export declare function lowerChildMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
299
|
+
/** Method calls on piped child-output stream receivers (child.stdout /
|
|
300
|
+
* child.stderr — the childStream kind): on/once("data" | "end").
|
|
301
|
+
* 'data' listeners take zero parameters, `(chunk: Buffer)`, or a
|
|
302
|
+
* `Buffer | string`-union chunk (the ngrok appendOutput shape — the
|
|
303
|
+
* runtime only ever fires Buffers; the compiler-emitted adapter wraps
|
|
304
|
+
* the chunk at the union's Buffer arm); 'end' listeners take none.
|
|
305
|
+
* Statement position only (Node returns the stream for chaining; here
|
|
306
|
+
* the result is void). Chained receivers (`child.stdout?.on(...)`)
|
|
307
|
+
* ride the optional-chain re-dispatch (chainBlocked). Everything else
|
|
308
|
+
* @types/node declares on Readable fences member-qualified. Null for
|
|
309
|
+
* non-stream receivers. */
|
|
310
|
+
export declare function lowerChildStreamMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
311
|
+
/** Method calls on first-class process-stream receivers (procStream —
|
|
312
|
+
* a WritableStream-typed value like prefixStream's `output` param):
|
|
313
|
+
* write(data) with one string, dispatched at runtime onto the exact
|
|
314
|
+
* stdout/stderr write paths (the fd IS the value). Everything else
|
|
315
|
+
* @types/node declares on WritableStream fences member-qualified.
|
|
316
|
+
* Null for non-procStream receivers. */
|
|
317
|
+
export declare function lowerProcStreamMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
318
|
+
/** `fs.watch(path[, options][, listener])` → the fs.watch libCall
|
|
319
|
+
* (scr_watch.c — kqueue EVFILT_VNODE on the opened path; an unopenable
|
|
320
|
+
* path THROWS Node's fs error synchronously, the polling-fallback catch
|
|
321
|
+
* shape). The listener fires with "rename"/"change" and takes zero
|
|
322
|
+
* parameters or the eventType string — the filename parameter has no
|
|
323
|
+
* lowering (kqueue watches the inode, not the directory entry; you
|
|
324
|
+
* watched one path). The options record follows the options-record
|
|
325
|
+
* stance: persistent: true, recursive: false, and encoding: "utf8"
|
|
326
|
+
* state the lowered behavior and are accepted; persistent: false
|
|
327
|
+
* (a watcher that does NOT hold the loop), recursive: true (kqueue
|
|
328
|
+
* watches one inode), signal, and non-utf8 encodings fence by name;
|
|
329
|
+
* undocumented keys drop like Node. An open watcher keeps the loop
|
|
330
|
+
* alive until watcher.close(). */
|
|
331
|
+
export declare function lowerFsWatchCall(L: Lowerer, expr: ts.CallExpression, loc: SrcLoc): IrExpr;
|
|
332
|
+
/** Method calls on FSWatcher receivers: close() — idempotent, statement
|
|
333
|
+
* position (Node returns void there too). Everything else @types/node
|
|
334
|
+
* declares (ref/unref, the EventEmitter surface) fences member-
|
|
335
|
+
* qualified. Null for non-watcher receivers. */
|
|
336
|
+
export declare function lowerWatcherMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
337
|
+
/** `.code` on an error-hierarchy receiver — NodeJS.ErrnoException's
|
|
338
|
+
* member (the fallback declares the same shape): the runtime Error's
|
|
339
|
+
* code slot as `string | undefined` — the errno name where a throw site
|
|
340
|
+
* stamped one (fs, exec spawn/timeout, process.kill, the spawn 'error'
|
|
341
|
+
* event), undefined everywhere else. Stdlib provenance required (a user
|
|
342
|
+
* class's own `code` field takes the ordinary field paths — its
|
|
343
|
+
* declaration is not stdlib). Reads only: writes keep their fence (no
|
|
344
|
+
* compiled program constructs an errno error). Null for non-error
|
|
345
|
+
* receivers and non-stdlib members, so the chain keeps trying. */
|
|
346
|
+
export declare function lowerErrorCodeProperty(L: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
|
|
347
|
+
/** `JSON.parse` / `JSON.stringify` referenced without a call: rejected
|
|
348
|
+
* specifically, like process methods as values. Null for non-JSON
|
|
349
|
+
* receivers (the property chain keeps trying other lowerings). */
|
|
350
|
+
export declare function lowerJsonProperty(L: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
|
|
351
|
+
/** `constants.X_OK` where `constants` is a named fs import: the access-
|
|
352
|
+
* mode bits bake as number literals (POSIX values — Node's own on the
|
|
353
|
+
* supported hosts). Other fs.constants members (COPYFILE_*, O_*) fence
|
|
354
|
+
* by name. Null for non-fs-constants receivers. */
|
|
355
|
+
export declare function lowerFsConstantsProperty(L: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
|
|
356
|
+
/** `process.stdin/stdout/stderr.isTTY` → isatty(3) on the stream's fd
|
|
357
|
+
* (a REAL boolean: Node's non-TTY streams expose `undefined` here — the
|
|
358
|
+
* documented divergence; truthiness tests, the actual usage, agree), and
|
|
359
|
+
* `process.stdout/stderr.columns` → ioctl(TIOCGWINSZ) on the fd, with
|
|
360
|
+
* Node's non-TTY answer intact: the read is `number | undefined` and a
|
|
361
|
+
* non-TTY (or ioctl-refusing) stream yields the undefined arm. The
|
|
362
|
+
* receiver match sees through parens and as-casts to the SYMBOL —
|
|
363
|
+
* `(process.stderr as typeof process.stderr & { columns?: number })
|
|
364
|
+
* .columns` is the wild widening pattern (@types/node declares a plain
|
|
365
|
+
* `number`, so honest code casts the undefined possibility back in), and
|
|
366
|
+
* the cast changes the expression's TYPE, never the value. columns sites
|
|
367
|
+
* whose checker type does NOT admit undefined are fenced with that exact
|
|
368
|
+
* fix instead of lowering to a lie. Null for anything else, so the
|
|
369
|
+
* property chain keeps trying. */
|
|
370
|
+
export declare function lowerProcessStreamProperty(L: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
|
|
371
|
+
/** `process.argv` / `process.platform` / `process.pid` property READS
|
|
372
|
+
* lower to zero-arg libCalls (argv returns +1 on one interned array —
|
|
373
|
+
* identity and mutation semantics match Node's stable process.argv).
|
|
374
|
+
* `process.env` as a WHOLE value lowers to a fresh SNAPSHOT record —
|
|
375
|
+
* `{ [k: string]: string | undefined }` built over environ by the
|
|
376
|
+
* interned %env.snapshot helper: `{ ...process.env }`, Object.keys, and
|
|
377
|
+
* spawn-env flows all snapshot at the read, exactly what Node's own
|
|
378
|
+
* spread does (and nothing in a compiled program mutates environ between
|
|
379
|
+
* a snapshot and its use except process.env writes, which precede the
|
|
380
|
+
* read in source order). Method members referenced without a call are
|
|
381
|
+
* rejected specifically. Null for non-process receivers (the chain keeps
|
|
382
|
+
* trying other property lowerings). */
|
|
383
|
+
export declare function lowerProcessProperty(L: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
|
|
384
|
+
/** True iff `node` is THE ambient `process.env` object itself (the
|
|
385
|
+
* receiver of an env read). */
|
|
386
|
+
export declare function isProcessEnv(L: Lowerer, node: ts.Expression): boolean;
|
|
387
|
+
/** The interned `string | undefined` union — the type every env read
|
|
388
|
+
* produces (withUndefinedArm interns [string, undefined] in canonical
|
|
389
|
+
* order, so the string arm's tag is 0 and the undefined arm's is 1,
|
|
390
|
+
* program-wide). */
|
|
391
|
+
export declare function envValueType(L: Lowerer): IrType;
|
|
392
|
+
/** `os.networkInterfaces()` — getifaddrs(3) behind Node's exact result
|
|
393
|
+
* type. The libCall's type is the CALL SITE's mapped
|
|
394
|
+
* `NodeJS.Dict<NetworkInterfaceInfo[]>`: a pure index-signature record
|
|
395
|
+
* whose value is `Info[] | undefined`, Info the two-record union
|
|
396
|
+
* @types/node declares (IPv4: `scopeid?: number` — the undefined-armed
|
|
397
|
+
* union — and IPv6: `scopeid: number`; family literal types collapse to
|
|
398
|
+
* string in both). The emitter derives every shape/union/tag from that
|
|
399
|
+
* type, so the structure is verified HERE and anything else (an older
|
|
400
|
+
* @types/node, a user alias reshaping the result) fences honestly. Key
|
|
401
|
+
* and row order follow getifaddrs enumeration — Node itself guarantees
|
|
402
|
+
* no order (compare structurally). */
|
|
403
|
+
/** `fs.readdirSync(path, { withFileTypes: true })` — Dirent rows: name +
|
|
404
|
+
* parentPath (the path argument as given, Node's own rule) + the hidden
|
|
405
|
+
* %dtype entry kind (libuv's UV_DIRENT encoding; DT_UNKNOWN falls back
|
|
406
|
+
* to lstat, Node's getDirents rule). The options literal is checked
|
|
407
|
+
* member-by-member; the result type must be the interned Dirent record
|
|
408
|
+
* array from types.ts — anything else (encoding: 'buffer', a user alias
|
|
409
|
+
* reshaping Dirent) fences honestly. */
|
|
410
|
+
export declare function lowerFsReaddirTypesCall(L: Lowerer, call: ts.CallExpression, loc: SrcLoc): IrExpr;
|
|
411
|
+
/** `d.isFile()` / `d.isDirectory()` / `d.isSymbolicLink()` on a Dirent-
|
|
412
|
+
* typed receiver (the interned record — provenance via the checker's
|
|
413
|
+
* Dirent symbol, the StringDecoder pattern): a read of the hidden
|
|
414
|
+
* %dtype field compared against libuv's UV_DIRENT code. Node's other
|
|
415
|
+
* type probes (isBlockDevice, ...) fence with the supported list. */
|
|
416
|
+
export declare function lowerDirentMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
417
|
+
export declare function lowerOsNetworkInterfacesCall(L: Lowerer, call: ts.CallExpression, loc: SrcLoc): IrExpr;
|
|
418
|
+
/** `process.env.NAME` → the process.envGet intrinsic with a literal key
|
|
419
|
+
* (the element form lands in lowerElementAccess). getenv(3) at runtime:
|
|
420
|
+
* present wraps the string arm, absent yields the interned
|
|
421
|
+
* undefined-arm instance. Null for non-env receivers. */
|
|
422
|
+
export declare function lowerProcessEnvGet(L: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
|
|
423
|
+
/** `process.exit(code)` / `process.cwd()` → libCall. The fallback
|
|
424
|
+
* declaration makes exit's code required; @types/node declares it
|
|
425
|
+
* optional, and a bare `process.exit()` lowers as exit(0) — exactly
|
|
426
|
+
* Node's behavior when process.exitCode was never set (setting exitCode
|
|
427
|
+
* is fenced like every other unsupported process member, so "never set"
|
|
428
|
+
* always holds in a compiled program). */
|
|
429
|
+
export declare function lowerProcessMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
430
|
+
/** Method calls on THE `Number` global: the predicate statics lower to
|
|
431
|
+
* plain C over f64 arguments; `Number.parseFloat`/`Number.parseInt` ARE
|
|
432
|
+
* the global parsers (the spec aliases them), so they get the same
|
|
433
|
+
* island lowering — engine execution under --dynamic, per-site SC2012
|
|
434
|
+
* without it (parseInt takes an explicit radix, like the global). Null
|
|
435
|
+
* for non-Number receivers. */
|
|
436
|
+
export declare function lowerNumberStaticCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
437
|
+
/** The Date slice: `Date.now()` and the COMPOSED
|
|
438
|
+
* `new Date(ms?).toISOString()` — the Date object between the two calls
|
|
439
|
+
* never exists (the crypto randomBytes(n).toString(enc) precedent). An
|
|
440
|
+
* omitted constructor argument completes with date.now; a one-argument
|
|
441
|
+
* form takes the milliseconds. String parsing, Y/M/D fields (local-time
|
|
442
|
+
* semantics), and Date VALUES stay fenced — lowerNew carries the hint.
|
|
443
|
+
* Null when this is neither form. */
|
|
444
|
+
export declare function lowerDateCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
445
|
+
/** The WHATWG encoder pair, COMPOSED: `new TextDecoder().decode(bytes)`
|
|
446
|
+
* and `new TextEncoder().encode(s)` — the encoder object between the two
|
|
447
|
+
* calls never exists (the crypto/Date precedent; bare construction is
|
|
448
|
+
* fenced in lowerNew with the composed hint). decode is the runtime's
|
|
449
|
+
* WHATWG utf-8 decode with the leading BOM stripped; a zero-argument
|
|
450
|
+
* decode() is "" like the spec's. encode IS Buffer.from(s, "utf8") —
|
|
451
|
+
* ScrStr storage is well-formed UTF-8, so the bytes are identical (lone
|
|
452
|
+
* surrogates became U+FFFD at string construction, exactly what the
|
|
453
|
+
* spec's encoder emits). Null when this is neither composed form. */
|
|
454
|
+
export declare function lowerTextCodecCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
455
|
+
/** `String.fromCharCode(...codes)` on THE String global: every argument
|
|
456
|
+
* lowers as a number and packs into ONE f64[] array-literal argument
|
|
457
|
+
* (the path.join convention) — or ONE whole-array spread forwards the
|
|
458
|
+
* array itself. Other String statics (fromCodePoint, raw) fall through
|
|
459
|
+
* to the member fence. Null for non-String receivers. */
|
|
460
|
+
export declare function lowerStringStaticCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
461
|
+
/** `s.lastIndexOf(needle)` on string receivers — a libCall (scr_lib.c)
|
|
462
|
+
* rather than a strIntrinsic, but the same UTF-16 index semantics as
|
|
463
|
+
* indexOf. The lib's fromIndex parameter has no lowering (Node clamps
|
|
464
|
+
* it with ToIntegerOrInfinity; nothing in the corpus wants it) and
|
|
465
|
+
* fences per site. Null for non-string receivers / other members. */
|
|
466
|
+
export declare function lowerStringLastIndexOfCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
467
|
+
/** `Promise.race([...])` on THE Promise global: the entries lower
|
|
468
|
+
* individually (the array never materializes — promise-element arrays
|
|
469
|
+
* have no representation) into a promise.race intrinsic; the result
|
|
470
|
+
* type is the checker's combined promise, and each entry's inner type
|
|
471
|
+
* must be that inner type, one of its union arms, or a sub-union of it
|
|
472
|
+
* (the backend's interned adapters wrap/re-tag fulfillments; a wider
|
|
473
|
+
* entry would need machinery that doesn't exist and fences).
|
|
474
|
+
* Promise.all/allSettled/any fence with the sequential-await hint;
|
|
475
|
+
* resolve/reject and the rest fall to the member fence. Null for
|
|
476
|
+
* non-Promise receivers. */
|
|
477
|
+
export declare function lowerPromiseStaticCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
478
|
+
/** Property READS on THE `Number` global: the finite constants bake as
|
|
479
|
+
* number literals. NaN/POSITIVE_INFINITY/NEGATIVE_INFINITY and method
|
|
480
|
+
* members as values fall through to the member fence. Null for
|
|
481
|
+
* non-Number receivers. */
|
|
482
|
+
export declare function lowerNumberStaticProperty(L: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
|
|
483
|
+
/** `t.unref()` / `t.ref()` / `t.hasRef()` on a Timeout handle — loop-
|
|
484
|
+
* liveness bookkeeping over the numeric timer id (the handle is f64).
|
|
485
|
+
* unref/ref return the handle for chaining (Node); hasRef returns a
|
|
486
|
+
* bool. `refresh` and the rest of @types/node's Timeout surface fence.
|
|
487
|
+
* Null when the receiver isn't a Timeout handle. */
|
|
488
|
+
export declare function lowerTimeoutMethodCall(L: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
|
|
489
|
+
/** `process.getuid?.()` — the optional call of an optional process
|
|
490
|
+
* method. On a POSIX target the member always exists, so the `?.` IS the
|
|
491
|
+
* call (the checker's undefined arm covers Windows, which scriptc does
|
|
492
|
+
* not target) and the honest result is the plain number. Intercepted
|
|
493
|
+
* BEFORE the optional-chain machinery: `process.getuid` has no value
|
|
494
|
+
* lowering for the chain to guard. Null when this isn't that shape. */
|
|
495
|
+
export declare function lowerProcessOptionalMethodCall(L: Lowerer, expr: ts.CallExpression): IrExpr | null;
|
|
496
|
+
/** The interned `%env.snapshot` helper behind `process.env` as a VALUE: a
|
|
497
|
+
* fresh `{ [k: string]: string | undefined }` record built over environ —
|
|
498
|
+
* envPairs hands the [k0, v0, k1, v1, ...] strings in environ order and
|
|
499
|
+
* the helper keyed-writes each pair into the record's overflow map (JS
|
|
500
|
+
* own-key order follows insertion, exactly Node's Object.keys order over
|
|
501
|
+
* process.env). The target shape must be a pure index-signature record
|
|
502
|
+
* whose value slot is the `string | undefined` union (what ProcessEnv
|
|
503
|
+
* maps to); anything else answers null and the caller keeps its fence. */
|
|
504
|
+
export declare function envSnapshotHelper(L: Lowerer, shapeId: string, loc: SrcLoc): string | null;
|
|
505
|
+
export declare function isConsoleLog(L: Lowerer, call: ts.CallExpression): boolean;
|
|
506
|
+
/** The console member of a `console.<member>(...)` call, for the lowered
|
|
507
|
+
* trio: "log" (stdout), and "error"/"warn" (both stderr — Node's warn IS
|
|
508
|
+
* error under another name; the output is identical). Provenance-checked
|
|
509
|
+
* like every stdlib global. Null for anything else (console.info,
|
|
510
|
+
* console.table, a user's own console binding, ...). */
|
|
511
|
+
export declare function consoleCallMember(L: Lowerer, call: ts.CallExpression): "log" | "error" | "warn" | null;
|