@scriptc/compiler 0.0.0 → 0.0.2
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 +5949 -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 +10102 -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 +65 -0
- package/dist/coverage/report.js +238 -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 +6286 -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 +486 -0
- package/dist/frontend/lowering/lower-containers.js +6345 -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 +8111 -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 +1074 -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 +6257 -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 +2255 -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 +67 -0
- package/dist/frontend/shared.js +241 -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 +429 -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 +4885 -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-modules.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lower-modules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import * as ts from "../ts7/adapter.js";
|
|
2
|
+
import type { Lowerer } from "./lowerer.js";
|
|
3
|
+
import type { FileParts } from "./lower-modules.js";
|
|
4
|
+
import { IrExpr, IrStmt, IrType } from "../../ir/nodes.js";
|
|
5
|
+
/** True when this module declaration produces NO runtime construct at all:
|
|
6
|
+
* ambient (`declare namespace/module`, `declare global`, string-named
|
|
7
|
+
* modules — .d.ts surface or user-file declares) or a non-instantiated
|
|
8
|
+
* body (only type-world statements inside). */
|
|
9
|
+
export declare function nsZeroRuntime(decl: ts.ModuleDeclaration): boolean;
|
|
10
|
+
/** Ambient module declaration: carries `declare` itself, sits in an
|
|
11
|
+
* ambient ancestor, or is the `declare global` augmentation. */
|
|
12
|
+
export declare function isAmbientModuleDecl(decl: ts.ModuleDeclaration): boolean;
|
|
13
|
+
/** A namespace SYMBOL's runtime state: "instantiated" when any merged
|
|
14
|
+
* declaration's block flattened (the object exists once a block ran;
|
|
15
|
+
* merged ambient declarations don't subtract), "typeOnly"/"ambient" when
|
|
16
|
+
* none did. Null for non-namespace symbols. */
|
|
17
|
+
export declare function nsSymbolRuntimeKind(L: Lowerer, sym: ts.Symbol): "instantiated" | "typeOnly" | "ambient" | null;
|
|
18
|
+
/** splitFiles' namespace hook: classify one top-level (or nested)
|
|
19
|
+
* ModuleDeclaration and either skip it (zero runtime — its blocks register
|
|
20
|
+
* as "typeOnly" so import= alias members still resolve statically) or
|
|
21
|
+
* FLATTEN its body into the file's parts: functions/classes hoist into the
|
|
22
|
+
* collection lists, everything else joins the init body in source order.
|
|
23
|
+
* Nested namespaces recurse; dotted declarations (`namespace A.B.C`)
|
|
24
|
+
* descend to the innermost block. */
|
|
25
|
+
export declare function collectNamespaceStmt(L: Lowerer, decl: ts.ModuleDeclaration, fp: FileParts): void;
|
|
26
|
+
/** The namespace-path prefix of a declaration's emitted name ("A%B." for
|
|
27
|
+
* an exported member of namespace A.B; "" at real top level). Segments
|
|
28
|
+
* join with '%' — a character no user identifier can contain, so a
|
|
29
|
+
* namespaced name can never collide with a plain top-level one after
|
|
30
|
+
* mangling. NON-exported members (and non-exported nested namespace
|
|
31
|
+
* segments) append the declaring block's source position: they are
|
|
32
|
+
* block-local bindings — two blocks of the same namespace may each declare
|
|
33
|
+
* one under the same spelling, and the position keeps their storage
|
|
34
|
+
* distinct (resolution is by symbol; names only need uniqueness and
|
|
35
|
+
* determinism). `modifierDecl` carries the declaration whose modifiers
|
|
36
|
+
* decide exportedness (the first declarator of a variable statement). */
|
|
37
|
+
export declare function nsPathPrefix(node: ts.Node, modifierDecl?: ts.Node): string;
|
|
38
|
+
/** The registered namespace-block kind a symbol's declaration sits in
|
|
39
|
+
* ("flattened" — a lowered value namespace; "typeOnly" — a skipped
|
|
40
|
+
* non-instantiated one, whose only value members are import= aliases), or
|
|
41
|
+
* null. The walk stops at class/function boundaries: a static member of a
|
|
42
|
+
* class INSIDE a namespace is the class's business, not the namespace's. */
|
|
43
|
+
export declare function nsBlockKindOfSymbol(L: Lowerer, sym: ts.Symbol): "flattened" | "typeOnly" | null;
|
|
44
|
+
/** The program SOURCE FILE a module-namespace expression denotes: the
|
|
45
|
+
* receiver is an identifier (an `import * as ns` / `export * as ns`
|
|
46
|
+
* binding — re-export chains resolve through getAliasedSymbol) or a
|
|
47
|
+
* property access whose member itself names a module (`agg.ns` where agg
|
|
48
|
+
* re-exports `* as ns`), and the alias chain lands on a module symbol
|
|
49
|
+
* whose declaration is a NON-DECLARATION source file of this program.
|
|
50
|
+
* Builtin/stdlib module namespaces (string-named ambient modules in
|
|
51
|
+
* .d.ts files) and npm packages answer null — their own chokepoints and
|
|
52
|
+
* fences keep ownership. */
|
|
53
|
+
export declare function moduleNsSourceFileOf(L: Lowerer, e: ts.Expression): ts.SourceFile | null;
|
|
54
|
+
/** The member identifier of a qualified namespace reference, when `access`
|
|
55
|
+
* reads a member declared in a lowered (or type-only) namespace block —
|
|
56
|
+
* or an EXPORT of a program module read through its namespace-import
|
|
57
|
+
* binding (`import * as ns from "./m"; ns.f`): the checker binds the
|
|
58
|
+
* member name to the exporter's own symbol either way. Callers delegate
|
|
59
|
+
* the actual lowering to the identifier paths — the member NAME resolves
|
|
60
|
+
* through resolveValueSymbol exactly like a bare reference (globals,
|
|
61
|
+
* function values, classes, generic functions). Module-namespace member
|
|
62
|
+
* reads are LIVE bindings in Node (the namespace object's properties
|
|
63
|
+
* alias the exporter's storage), which is exactly what resolving to the
|
|
64
|
+
* exporter's module global gives. */
|
|
65
|
+
export declare function nsMemberIdentOf(L: Lowerer, access: ts.PropertyAccessExpression): ts.Identifier | null;
|
|
66
|
+
/** The ROOT identifier of a qualifier chain that denotes a user-file
|
|
67
|
+
* AMBIENT namespace (every value declaration an ambient identifier-named
|
|
68
|
+
* ModuleDeclaration outside the stdlib/@types surface), or null. Reads
|
|
69
|
+
* through it compile to Node's ReferenceError naming the root — the
|
|
70
|
+
* ambient namespace object never exists at runtime. */
|
|
71
|
+
export declare function ambientNsRootOf(L: Lowerer, e: ts.Expression): ts.Identifier | null;
|
|
72
|
+
/** The ROOT identifier of a property/element-access chain that names an
|
|
73
|
+
* initializer-less AMBIENT variable (`declare const x: T;`, `declare var`)
|
|
74
|
+
* in a user program file — the `declare const __VERSION__` stance's CHAIN
|
|
75
|
+
* form. Node erases the declaration entirely, so the ROOT read throws the
|
|
76
|
+
* catchable ReferenceError "<name> is not defined" BEFORE any member or
|
|
77
|
+
* element key matters; callers lower the whole chain to that throw, typed
|
|
78
|
+
* by the use site. Mappable roots never need this (their bare-read
|
|
79
|
+
* undefRead composes through ordinary member lowerings); this serves the
|
|
80
|
+
* roots whose declared type has no mapping. Null for stdlib/@types roots
|
|
81
|
+
* (their own chokepoints stand), optional chains (conservative — the
|
|
82
|
+
* ordinary fences keep them), and anything declared with a value. */
|
|
83
|
+
export declare function ambientUndefVarRootOf(L: Lowerer, e: ts.Expression): ts.Identifier | null;
|
|
84
|
+
/** ambientUndefReadType's CONTEXTUAL fallback: when the use site's own
|
|
85
|
+
* type has no mapping (an `any`-typed member off a narrowed ambient), the
|
|
86
|
+
* type the value flows INTO types the throw instead — sound because the
|
|
87
|
+
* read never returns, so the typed dummy is never observed. */
|
|
88
|
+
export declare function contextualUndefReadType(L: Lowerer, node: ts.Expression): IrType | null;
|
|
89
|
+
/** The IR type an ambient-namespace undefRead carries at `node`: the use
|
|
90
|
+
* site's mapped type when it has one, the F64 dummy when the value is
|
|
91
|
+
* DISCARDED anyway (expression-statement position — the bare `Foo.a;`
|
|
92
|
+
* reads conformance tests are full of), null otherwise (the callers fall
|
|
93
|
+
* through to their ordinary fences). The read always throws, so the typed
|
|
94
|
+
* dummy is never observed. */
|
|
95
|
+
export declare function ambientUndefReadType(L: Lowerer, node: ts.Node): IrType | null;
|
|
96
|
+
/** The symbol behind `ident` when it names an ambient `declare function`
|
|
97
|
+
* NOTHING defines: every function declaration on the symbol is body-less
|
|
98
|
+
* and ambient in a USER program file (merge partners — the fundule's
|
|
99
|
+
* ambient namespace, an ambient class — may ride along; type-world
|
|
100
|
+
* declarations don't count). Node erases the declaration entirely, so a
|
|
101
|
+
* reference throws the catchable ReferenceError "<name> is not defined"
|
|
102
|
+
* at the use site — the `declare const` / ambient-namespace undefRead
|
|
103
|
+
* stance. Null for stdlib/@types surfaces (their own chokepoints stand),
|
|
104
|
+
* for overload signatures (an implementation exists), and for anything
|
|
105
|
+
* declared in a .d.ts. */
|
|
106
|
+
export declare function ambientUndefinedFnSymbolOf(L: Lowerer, ident: ts.Identifier): ts.Symbol | null;
|
|
107
|
+
/** Node's ReferenceError at an ambient namespace access — the undefRead
|
|
108
|
+
* libCall the ambient `declare const` path already uses, typed by the use
|
|
109
|
+
* site (it always throws; the typed dummy is abandoned by the unwind). */
|
|
110
|
+
export declare function nsUndefRead(L: Lowerer, rootName: string, node: ts.Node, type: IrType): IrExpr;
|
|
111
|
+
/** The source-order guard for one import=-alias segment (or a bare alias
|
|
112
|
+
* use): the alias statement captures its target's CURRENT value, so an
|
|
113
|
+
* init-position use above the alias — or an alias above its target — would
|
|
114
|
+
* observe what Node leaves uninitialized. Fences instead of diverging. */
|
|
115
|
+
export declare function fenceEarlyAliasUse(L: Lowerer, ident: ts.Identifier, refNode: ts.Node): void;
|
|
116
|
+
/** The source-order guard for a qualified namespace-member reference in
|
|
117
|
+
* init-executing position: the member's declaration (and every import=
|
|
118
|
+
* alias segment in the qualifier chain) must precede the reference —
|
|
119
|
+
* Node's namespace bodies run in source order, and `N.x` above the
|
|
120
|
+
* declaring statement observes an uninitialized binding (undefined member
|
|
121
|
+
* reads, TypeErrors on calls) that static resolution cannot reproduce.
|
|
122
|
+
* Function-body references are exempt: they take the module-globals stance
|
|
123
|
+
* the compiler already takes for top-level consts read through early
|
|
124
|
+
* calls. */
|
|
125
|
+
export declare function fenceEarlyNsMemberRef(L: Lowerer, access: ts.PropertyAccessExpression, memberSym: ts.Symbol): void;
|
|
126
|
+
/** The cross-block bare-reference fence. tsc's checker puts every
|
|
127
|
+
* exported member of EVERY block of a merged namespace in scope inside
|
|
128
|
+
* every other block, and tsc's own emit rewrites such bare references to
|
|
129
|
+
* the qualified form — but Node's transform (the oracle) does NOT:
|
|
130
|
+
* a bare `f()` in one block referring to `export function f` in a SIBLING
|
|
131
|
+
* block throws ReferenceError at runtime under
|
|
132
|
+
* `--experimental-transform-types`. Static resolution would silently
|
|
133
|
+
* print what Node crashes on, so those references fence with the fix in
|
|
134
|
+
* the message. References to members of the SAME block or an ENCLOSING
|
|
135
|
+
* namespace's block are lexically bound in the emitted nesting and lower
|
|
136
|
+
* fine; alias bindings (import=/ESM imports) are exempt here — the alias
|
|
137
|
+
* machinery carries its own guards. Called from resolveValueSymbol with
|
|
138
|
+
* the PRE-alias symbol; property NAMES (qualified reads — runtime
|
|
139
|
+
* property lookups, always fine) never reach it. */
|
|
140
|
+
export declare function fenceCrossBlockNsRef(L: Lowerer, ident: ts.Identifier, symbol: ts.Symbol): void;
|
|
141
|
+
/** Assignment-target resolution for namespace-qualified writes
|
|
142
|
+
* (`N.x = v`, `N.x += v`, `N.x++`): the member's module global — exported
|
|
143
|
+
* `let` members are ordinary mutable globals (tsc already rejected writes
|
|
144
|
+
* to consts/functions/classes through the qualifier). Null when `access`
|
|
145
|
+
* is not a lowered-namespace member at all; a member whose declaration
|
|
146
|
+
* never registered storage takes the blocked-binding cascade. */
|
|
147
|
+
export declare function nsWritableTarget(L: Lowerer, access: ts.PropertyAccessExpression): {
|
|
148
|
+
id: string;
|
|
149
|
+
type: IrType;
|
|
150
|
+
} | null;
|
|
151
|
+
/** lowerStmt's ImportEqualsDeclaration case. The RUNTIME require form
|
|
152
|
+
* keeps its fence (preflight owns the top-level sites; namespace-internal
|
|
153
|
+
* ones land here); `import type x = require(...)` is pure type surface and
|
|
154
|
+
* lowers to nothing. The entity form is pure alias plumbing — references
|
|
155
|
+
* resolve through the checker to the target's own registrations and the
|
|
156
|
+
* statement emits nothing — EXCEPT aliases of MUTABLE bindings: Node's
|
|
157
|
+
* transform emits `var x = N.y` (a snapshot at the alias statement), so
|
|
158
|
+
* collection registered the alias its own const global (keyed by the
|
|
159
|
+
* pre-alias symbol — resolveValueSymbol stops there) and this statement
|
|
160
|
+
* assigns it from the target's storage, exactly when Node does. */
|
|
161
|
+
export declare function lowerImportEquals(L: Lowerer, stmt: ts.ImportEqualsDeclaration): IrStmt | null;
|
|
162
|
+
/** The bare-identifier fence for namespace objects used as VALUES: the
|
|
163
|
+
* namespace has no first-class runtime object here — members lower at
|
|
164
|
+
* their qualified access sites. Ambient namespaces compile to Node's
|
|
165
|
+
* ReferenceError instead when the use site's type maps (the object never
|
|
166
|
+
* exists at runtime). Returns null when `ident` is not a namespace
|
|
167
|
+
* reference at all. */
|
|
168
|
+
export declare function lowerNsIdentifierValue(L: Lowerer, ident: ts.Identifier): IrExpr | null;
|