@scriptc/compiler 0.0.29 → 0.0.31
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 +5 -13
- package/dist/backend/emission/emit-async.d.ts +1 -0
- package/dist/backend/emission/emit-async.js +27 -1
- package/dist/backend/emission/emit-async.js.map +1 -1
- package/dist/backend/emission/emit-exprs.js +109 -18
- package/dist/backend/emission/emit-exprs.js.map +1 -1
- package/dist/backend/emission/emitter.d.ts +1 -0
- package/dist/backend/emission/emitter.js +25 -3
- package/dist/backend/emission/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.js +152 -0
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/mangle.d.ts +1 -0
- package/dist/backend/mangle.js +3 -0
- package/dist/backend/mangle.js.map +1 -1
- package/dist/diagnostics/diagnostic.d.ts +23 -1
- package/dist/diagnostics/diagnostic.js +34 -0
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +3 -1
- package/dist/frontend/lowering/lower-calls.js +201 -37
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-containers.d.ts +6 -5
- package/dist/frontend/lowering/lower-containers.js +27 -13
- package/dist/frontend/lowering/lower-containers.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +11 -1
- package/dist/frontend/lowering/lower-exprs.js +398 -49
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-server.d.ts +5 -0
- package/dist/frontend/lowering/lower-server.js +105 -55
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.js +74 -11
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +50 -12
- package/dist/frontend/lowering/lowerer.js +84 -15
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -1
- package/dist/ir/nodes.d.ts +52 -19
- package/dist/ir/nodes.js +2 -2
- package/dist/ir/nodes.js.map +1 -1
- package/dist/ir/validate.js +67 -9
- package/dist/ir/validate.js.map +1 -1
- package/dist/library/profile.d.ts +33 -0
- package/dist/library/profile.js +161 -3
- package/dist/library/profile.js.map +1 -1
- package/dist/library/sidecar.d.ts +3 -2
- package/dist/library/sidecar.js +7 -3
- package/dist/library/sidecar.js.map +1 -1
- package/package.json +2 -2
- package/surface-manifest.json +1 -1
package/dist/backend/mangle.d.ts
CHANGED
|
@@ -113,6 +113,7 @@ export declare function mangleNetLookupAnswerThunk(n: number): string;
|
|
|
113
113
|
* compat listener — its union's tag is program data), interned per cb
|
|
114
114
|
* func-type key. */
|
|
115
115
|
export declare function mangleConnectSockThunk(n: number): string;
|
|
116
|
+
export declare function mangleConnectResThunk(n: number): string;
|
|
116
117
|
/** Emitted EventEmitter listener invoke adapter (va_list → the listener's
|
|
117
118
|
* typed parameter prefix, each retained per the callee-owns convention),
|
|
118
119
|
* interned per listener func-type key. */
|
package/dist/backend/mangle.js
CHANGED
|
@@ -216,6 +216,9 @@ export function mangleNetLookupAnswerThunk(n) {
|
|
|
216
216
|
export function mangleConnectSockThunk(n) {
|
|
217
217
|
return `sc_h2conn_${n}`;
|
|
218
218
|
}
|
|
219
|
+
export function mangleConnectResThunk(n) {
|
|
220
|
+
return `sc_h2conn_res_${n}`;
|
|
221
|
+
}
|
|
219
222
|
/** Emitted EventEmitter listener invoke adapter (va_list → the listener's
|
|
220
223
|
* typed parameter prefix, each retained per the callee-owns convention),
|
|
221
224
|
* interned per listener func-type key. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mangle.js","sourceRoot":"","sources":["../../src/backend/mangle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,CAC3C,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAC3D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,QAAQ,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,QAAQ,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;AACrC,CAAC;AAED;kDACkD;AAClD,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,QAAQ,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;AACrC,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,QAAQ,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AACpC,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AACrC,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,OAAO,QAAQ,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;AACvC,CAAC;AACD,wEAAwE;AACxE,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,OAAO,SAAS,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;AACxC,CAAC;AACD,kEAAkE;AAClE,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,OAAO,SAAS,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;AACxC,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,OAAO,UAAU,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;AACzC,CAAC;AACD,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,OAAO,aAAa,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;AAC5C,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO,cAAc,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;AAC7C,CAAC;AACD,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,OAAO,UAAU,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;AACzC,CAAC;AACD;;;gEAGgE;AAChE,MAAM,UAAU,wBAAwB,CAAC,SAAiB;IACxD,OAAO,WAAW,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;AAC1C,CAAC;AACD;yDACyD;AACzD,MAAM,UAAU,cAAc,CAAC,aAAqB;IAClD,OAAO,UAAU,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;AAC7C,CAAC;AACD;2EAC2E;AAC3E,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,aAAa,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;AAC5C,CAAC;AACD;;;;;uDAKuD;AACvD,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,UAAU,GAAG,CAAC;IACzD,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AACnG,CAAC;AACD;;iCAEiC;AACjC,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,MAAc;IAC/D,OAAO,SAAS,QAAQ,CAAC,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC,EAAE,CAAC;AACvD,CAAC;AACD;;mEAEmE;AACnE,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,YAAY,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;AAC3C,CAAC;AACD,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,OAAO,aAAa,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;AAC5C,CAAC;AAED;;;4EAG4E;AAC5E,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,SAAS,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;AACtC,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,WAAW,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;AACxC,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,cAAc,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;AAC3C,CAAC;AACD,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,eAAe,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;AAC5C,CAAC;AACD;uEACuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,aAAa,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;AAC1C,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,cAAc,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED;gFACgF;AAChF,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,QAAQ,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AACrC,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AACrC,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AACrC,CAAC;AACD;;;yBAGyB;AACzB,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AACrC,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AACrC,CAAC;AACD,mEAAmE;AACnE,MAAM,UAAU,kBAAkB,CAAC,CAAS;IAC1C,OAAO,WAAW,CAAC,EAAE,CAAC;AACxB,CAAC;AACD;sCACsC;AACtC,MAAM,UAAU,iBAAiB,CAAC,CAAS;IACzC,OAAO,WAAW,CAAC,EAAE,CAAC;AACxB,CAAC;AACD;0CAC0C;AAC1C,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,OAAO,WAAW,CAAC,EAAE,CAAC;AACxB,CAAC;AACD;oCACoC;AACpC,MAAM,UAAU,oBAAoB,CAAC,CAAS;IAC5C,OAAO,aAAa,CAAC,EAAE,CAAC;AAC1B,CAAC;AACD;iEACiE;AACjE,MAAM,UAAU,mBAAmB,CAAC,CAAS;IAC3C,OAAO,YAAY,CAAC,EAAE,CAAC;AACzB,CAAC;AACD;;eAEe;AACf,MAAM,UAAU,oBAAoB,CAAC,CAAS;IAC5C,OAAO,aAAa,CAAC,EAAE,CAAC;AAC1B,CAAC;AACD;qEACqE;AACrE,MAAM,UAAU,oBAAoB,CAAC,CAAS;IAC5C,OAAO,aAAa,CAAC,EAAE,CAAC;AAC1B,CAAC;AACD;2CAC2C;AAC3C,MAAM,UAAU,uBAAuB,CAAC,CAAS;IAC/C,OAAO,aAAa,CAAC,EAAE,CAAC;AAC1B,CAAC;AACD;;8BAE8B;AAC9B,MAAM,UAAU,oBAAoB,CAAC,CAAS;IAC5C,OAAO,YAAY,CAAC,EAAE,CAAC;AACzB,CAAC;AACD;gDACgD;AAChD,MAAM,UAAU,mBAAmB,CAAC,CAAS;IAC3C,OAAO,YAAY,CAAC,EAAE,CAAC;AACzB,CAAC;AACD;;oCAEoC;AACpC,MAAM,UAAU,oBAAoB,CAAC,CAAS;IAC5C,OAAO,aAAa,CAAC,EAAE,CAAC;AAC1B,CAAC;AACD;;;oBAGoB;AACpB,MAAM,UAAU,0BAA0B,CAAC,CAAS;IAClD,OAAO,YAAY,CAAC,EAAE,CAAC;AACzB,CAAC;AACD;;oBAEoB;AACpB,MAAM,UAAU,sBAAsB,CAAC,CAAS;IAC9C,OAAO,aAAa,CAAC,EAAE,CAAC;AAC1B,CAAC;AAED;;0CAE0C;AAC1C,MAAM,UAAU,wBAAwB,CAAC,CAAS;IAChD,OAAO,YAAY,CAAC,EAAE,CAAC;AACzB,CAAC;AAED;;kDAEkD;AAClD,MAAM,UAAU,mBAAmB,CAAC,CAAS;IAC3C,OAAO,aAAa,CAAC,EAAE,CAAC;AAC1B,CAAC;AAED;;iCAEiC;AACjC,MAAM,UAAU,kBAAkB,CAAC,CAAS;IAC1C,OAAO,YAAY,CAAC,EAAE,CAAC;AACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"mangle.js","sourceRoot":"","sources":["../../src/backend/mangle.ts"],"names":[],"mappings":"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"}
|
|
@@ -296,12 +296,34 @@ export declare const LIB_INBOUND_BYTES_TRAP_CODE = "SC4012";
|
|
|
296
296
|
* SC4019 other detected trap (the family's residual: environment
|
|
297
297
|
* failures like getcwd/os lookups, unsupported regex
|
|
298
298
|
* operations, circular-structure conversion, the RC audit)
|
|
299
|
+
* SC4025 host callback invoked before registration ("scriptc: library
|
|
300
|
+
* callback ...": compiled code reached a profile-declared
|
|
301
|
+
* callback channel the host never registered through the
|
|
302
|
+
* profile's callback_register_symbol — a host-contract story
|
|
303
|
+
* like SC4012, but the trap site is inside compiled code, so
|
|
304
|
+
* the funnel assembles it and field 2 names the entry the
|
|
305
|
+
* host called)
|
|
299
306
|
*
|
|
300
307
|
* There is no arithmetic/div-by-zero kind: JS division never traps, so the
|
|
301
308
|
* runtime has no such site. The list here is the compile-time face of the
|
|
302
309
|
* family (profile overlay filtering); the funnel's classification table in
|
|
303
310
|
* scr_library.c is the runtime face — keep the two in step. */
|
|
304
|
-
export declare const LIB_RUNTIME_TRAP_CODES: readonly ["SC4013", "SC4014", "SC4015", "SC4016", "SC4017", "SC4018", "SC4019"];
|
|
311
|
+
export declare const LIB_RUNTIME_TRAP_CODES: readonly ["SC4013", "SC4014", "SC4015", "SC4016", "SC4017", "SC4018", "SC4019", "SC4025"];
|
|
312
|
+
/** SC4025 — the unregistered host-callback trap's code (the runtime
|
|
313
|
+
* family entry above; exported for the resolver that assembles the trap
|
|
314
|
+
* message and the tests that pin it). */
|
|
315
|
+
export declare const LIB_CALLBACK_UNREGISTERED_TRAP_CODE = "SC4025";
|
|
316
|
+
/** SC4024 — a host-callback reference the profile cannot serve. Library
|
|
317
|
+
* mode maps signature-only ambient function declarations onto the
|
|
318
|
+
* profile's declared callback channels (the outbound seam: compiled code
|
|
319
|
+
* delivers bytes and scalars to the embedder synchronously). When the
|
|
320
|
+
* profile declares ANY callback, a call of a program-authored
|
|
321
|
+
* signature-only declaration that names no channel — or whose TypeScript
|
|
322
|
+
* signature does not fit the channel's declared classes — is a refusal,
|
|
323
|
+
* never an inert ReferenceError lowering: the author reached for the
|
|
324
|
+
* host seam and the profile does not provide it. Decorated with the
|
|
325
|
+
* profile's SC4024 teaching text like every library refusal. */
|
|
326
|
+
export declare function libCallbackDiag(name: string, detail: string, loc: SrcLoc): ScrDiagnostic;
|
|
305
327
|
/** SC4020 — a bare npm specifier in a library graph naming a package that
|
|
306
328
|
* fails the npm-static eligibility bar (own .d.ts, unminified shipped JS,
|
|
307
329
|
* no build-transform markers) or whose static compilation the preflight
|
|
@@ -811,6 +811,13 @@ export const LIB_INBOUND_BYTES_TRAP_CODE = "SC4012";
|
|
|
811
811
|
* SC4019 other detected trap (the family's residual: environment
|
|
812
812
|
* failures like getcwd/os lookups, unsupported regex
|
|
813
813
|
* operations, circular-structure conversion, the RC audit)
|
|
814
|
+
* SC4025 host callback invoked before registration ("scriptc: library
|
|
815
|
+
* callback ...": compiled code reached a profile-declared
|
|
816
|
+
* callback channel the host never registered through the
|
|
817
|
+
* profile's callback_register_symbol — a host-contract story
|
|
818
|
+
* like SC4012, but the trap site is inside compiled code, so
|
|
819
|
+
* the funnel assembles it and field 2 names the entry the
|
|
820
|
+
* host called)
|
|
814
821
|
*
|
|
815
822
|
* There is no arithmetic/div-by-zero kind: JS division never traps, so the
|
|
816
823
|
* runtime has no such site. The list here is the compile-time face of the
|
|
@@ -824,7 +831,34 @@ export const LIB_RUNTIME_TRAP_CODES = [
|
|
|
824
831
|
"SC4017",
|
|
825
832
|
"SC4018",
|
|
826
833
|
"SC4019",
|
|
834
|
+
"SC4025",
|
|
827
835
|
];
|
|
836
|
+
/** SC4025 — the unregistered host-callback trap's code (the runtime
|
|
837
|
+
* family entry above; exported for the resolver that assembles the trap
|
|
838
|
+
* message and the tests that pin it). */
|
|
839
|
+
export const LIB_CALLBACK_UNREGISTERED_TRAP_CODE = "SC4025";
|
|
840
|
+
/** SC4024 — a host-callback reference the profile cannot serve. Library
|
|
841
|
+
* mode maps signature-only ambient function declarations onto the
|
|
842
|
+
* profile's declared callback channels (the outbound seam: compiled code
|
|
843
|
+
* delivers bytes and scalars to the embedder synchronously). When the
|
|
844
|
+
* profile declares ANY callback, a call of a program-authored
|
|
845
|
+
* signature-only declaration that names no channel — or whose TypeScript
|
|
846
|
+
* signature does not fit the channel's declared classes — is a refusal,
|
|
847
|
+
* never an inert ReferenceError lowering: the author reached for the
|
|
848
|
+
* host seam and the profile does not provide it. Decorated with the
|
|
849
|
+
* profile's SC4024 teaching text like every library refusal. */
|
|
850
|
+
export function libCallbackDiag(name, detail, loc) {
|
|
851
|
+
return {
|
|
852
|
+
code: "SC4024",
|
|
853
|
+
message: `library callback '${name}' cannot be compiled: ${detail}`,
|
|
854
|
+
loc,
|
|
855
|
+
hint: "profile-declared callbacks are the library's outbound seam: declare the channel in the profile's " +
|
|
856
|
+
"'callbacks' array (name, params, returns) and keep the ambient TypeScript signature on the callback " +
|
|
857
|
+
"marshalling classes — params f64/bool/string/bytes and the u8/u32/i32 plumbing classes, " +
|
|
858
|
+
"returns f64/bool/u8/u32/i32/void; the host registers an implementation through the profile's " +
|
|
859
|
+
"abi.callback_register_symbol before calling any entry that can reach the channel",
|
|
860
|
+
};
|
|
861
|
+
}
|
|
828
862
|
/** SC4020 — a bare npm specifier in a library graph naming a package that
|
|
829
863
|
* fails the npm-static eligibility bar (own .d.ts, unminified shipped JS,
|
|
830
864
|
* no build-transform markers) or whose static compilation the preflight
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../../src/diagnostics/diagnostic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../../src/diagnostics/diagnostic.ts"],"names":[],"mappings":"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"}
|
|
@@ -381,7 +381,9 @@ export interface FfiValidationResult {
|
|
|
381
381
|
* Candidate declarations are signature-only functions bearing the manifest
|
|
382
382
|
* name anywhere in the program. Multiple scoped declarations are all native
|
|
383
383
|
* bindings under the existing name-based call surface, so every candidate
|
|
384
|
-
* must fit the one manifest ABI.
|
|
384
|
+
* must fit the one manifest ABI. Library callbacks additionally exclude
|
|
385
|
+
* standard-library and package declaration files while retaining project
|
|
386
|
+
* declaration files as authored callback surface. */
|
|
385
387
|
export declare function validateFfiImports(L: Lowerer): FfiValidationResult;
|
|
386
388
|
/** A manifest-bound call of a signature-only ambient declaration. This
|
|
387
389
|
* recognition deliberately runs before ambientUndefVarRootOf: without the
|
|
@@ -10,12 +10,12 @@ import { isGenericCallableMemberType, typeKey } from "../types.js";
|
|
|
10
10
|
import { PoisonError, dynFallbackType, dynUndefinedExpr, importCallHandleType, jsFuncNameOf, newFnCtx, nodeThrowExpr } from "./lowerer.js";
|
|
11
11
|
import { enforceLibBoundary } from "./lib-boundary.js";
|
|
12
12
|
import { NARROW_FIRST, builtinFenceHintOf, builtinModuleFnOf } from "./surfaces.js";
|
|
13
|
-
import { ffiBindingDiag, ffiSignatureDiag, requiresDynamicDiag } from "../../diagnostics/diagnostic.js";
|
|
13
|
+
import { ffiBindingDiag, ffiSignatureDiag, libCallbackDiag, requiresDynamicDiag } from "../../diagnostics/diagnostic.js";
|
|
14
14
|
import { mixinFnShapeOf } from "./lower-mixins.js";
|
|
15
15
|
import { bufEncoding, dynStringReceiver, lowerArrayFromCall, lowerDynArrayFilterCall, lowerDynArrayFlatMapCall, lowerGroupByStaticCall, lowerIteratorHelperCall, lowerObjectAssignIndexShape, lowerObjectFromEntriesCall, lowerObjectIterOverIndexShape, lowerRegexMethodCall, lowerStringMethodCall, lowerTupleReadMethodCall } from "./lower-containers.js";
|
|
16
16
|
import { lowerChildStreamMethodCall, lowerCreateRequireCall, lowerDirentMethodCall, lowerFileHandleMethodCall, lowerPerfHooksCall, lowerProcStreamMethodCall, lowerReflectApplyCall, lowerWatcherMethodCall } from "./lower-builtins.js";
|
|
17
|
-
import { droppableStatic, lowerPromiseAllTupleCall, lowerPromiseRejectCall, probeLower, templateRawTextOf } from "./lower-exprs.js";
|
|
18
|
-
import { httpClientFnBindingOf, isStreamUndefCallExpr, lowerHttpClientFnCall } from "./lower-server.js";
|
|
17
|
+
import { droppableStatic, lowerAbsenceProbe, lowerPromiseAllTupleCall, lowerPromiseRejectCall, probeLower, templateRawTextOf } from "./lower-exprs.js";
|
|
18
|
+
import { httpClientFnBindingOf, isStreamUndefCallExpr, lowerCompatReqStreamOptionalCall, lowerHttpClientFnCall } from "./lower-server.js";
|
|
19
19
|
import { EMITTER_API_MEMBERS, exactInstanceClassOf, findGenericMethodOn, lowerClassGenericMethodCall, lowerStaticMethodCall } from "./lower-classes.js";
|
|
20
20
|
import { emitterRooted, lowerEmitterMethodCall } from "./lower-emitter.js";
|
|
21
21
|
import { lowerConsoleInspectArg, lowerFormatCall } from "./lower-inspect.js";
|
|
@@ -2313,29 +2313,59 @@ function ffiCallbackInputDiagnostic(L, descriptor, callbackType) {
|
|
|
2313
2313
|
}
|
|
2314
2314
|
return null;
|
|
2315
2315
|
}
|
|
2316
|
+
/** Values returned by native code flow into TypeScript, so a declaration
|
|
2317
|
+
* must admit the whole scalar domain the ABI class can produce. `mapType`
|
|
2318
|
+
* intentionally widens literal and enum types to their storage type; that
|
|
2319
|
+
* is sound for script-owned values but not for an external return contract
|
|
2320
|
+
* (`(): true` cannot describe a bool callback that is free to return false). */
|
|
2321
|
+
function ffiReturnDomainDiagnostic(L, nativeClass, returnType) {
|
|
2322
|
+
if (nativeClass === "void")
|
|
2323
|
+
return null;
|
|
2324
|
+
const domain = nativeClass === "bool" ? "boolean" : "number";
|
|
2325
|
+
const coversDomain = nativeClass === "bool"
|
|
2326
|
+
? (returnType.flags & ts.TypeFlags.Boolean) !== 0
|
|
2327
|
+
: (returnType.flags & ts.TypeFlags.Number) !== 0;
|
|
2328
|
+
return coversDomain
|
|
2329
|
+
? null
|
|
2330
|
+
: `the return type is '${L.checker.typeToString(returnType)}', but native class '${nativeClass}' may supply ` +
|
|
2331
|
+
`any ${domain}; declare it as '${domain}'`;
|
|
2332
|
+
}
|
|
2333
|
+
/** The binding surface's diagnostic flavor: native-manifest bindings
|
|
2334
|
+
* speak the SC5002/SC5003 FFI codes; library-mode host callbacks are the
|
|
2335
|
+
* same recognition machinery under the profile's vocabulary — SC4024 for
|
|
2336
|
+
* both the binding and signature halves, with "manifest" respelled
|
|
2337
|
+
* "profile" in the shared detail strings so the teaching names the
|
|
2338
|
+
* document the author actually edits. */
|
|
2339
|
+
function ffiFlavor(L) {
|
|
2340
|
+
if (!L.libraryCallbacks)
|
|
2341
|
+
return { binding: ffiBindingDiag, signature: ffiSignatureDiag };
|
|
2342
|
+
const lib = (name, detail, loc) => libCallbackDiag(name, detail.replaceAll("manifest", "profile"), loc);
|
|
2343
|
+
return { binding: lib, signature: lib };
|
|
2344
|
+
}
|
|
2316
2345
|
/** The declaration half of an outbound FFI binding. Kept independent of
|
|
2317
2346
|
* call-site argument checks so the whole manifest can be validated even
|
|
2318
2347
|
* when a configured function is never called. */
|
|
2319
2348
|
function ffiDeclarationDiagnostic(L, binding, symbol, loc) {
|
|
2349
|
+
const { binding: bindingDiag, signature: signatureDiag } = ffiFlavor(L);
|
|
2320
2350
|
const declarations = L.checker.declarationsOf(symbol);
|
|
2321
2351
|
const functionDecls = declarations.filter(ts.isFunctionDeclaration);
|
|
2322
2352
|
if (functionDecls.length === 0 ||
|
|
2323
2353
|
declarations.some((decl) => !ts.isFunctionDeclaration(decl)) ||
|
|
2324
2354
|
functionDecls.some((decl) => decl.body !== undefined)) {
|
|
2325
|
-
return
|
|
2355
|
+
return bindingDiag(binding.name, "the configured name does not resolve exclusively to signature-only function declarations", loc);
|
|
2326
2356
|
}
|
|
2327
2357
|
if (functionDecls.some((decl) => (decl.typeParameters?.length ?? 0) > 0)) {
|
|
2328
|
-
return
|
|
2358
|
+
return signatureDiag(binding.name, "generic ambient declarations cannot describe one fixed C ABI", loc);
|
|
2329
2359
|
}
|
|
2330
2360
|
const signatures = L.checker.getCallSignatures(L.checker.getTypeOfSymbol(symbol));
|
|
2331
2361
|
if (signatures.length !== 1) {
|
|
2332
|
-
return
|
|
2362
|
+
return signatureDiag(binding.name, `the ambient binding has ${signatures.length} call signatures; exactly one non-overloaded signature is required`, loc);
|
|
2333
2363
|
}
|
|
2334
2364
|
const signature = signatures[0];
|
|
2335
2365
|
const params = signature.getParameters();
|
|
2336
2366
|
const sourceParams = ffiSourceParams(binding);
|
|
2337
2367
|
if (params.length !== sourceParams.length) {
|
|
2338
|
-
return
|
|
2368
|
+
return signatureDiag(binding.name, `the TypeScript declaration has ${params.length} parameter(s), but the manifest declares ${sourceParams.length} source parameter(s) ` +
|
|
2339
2369
|
`(${binding.params.length - sourceParams.length} additional native context slot(s) are compiler-supplied)`, loc);
|
|
2340
2370
|
}
|
|
2341
2371
|
const expectedParams = ffiSourceParamTypes(binding.params);
|
|
@@ -2347,18 +2377,18 @@ function ffiDeclarationDiagnostic(L, binding, symbol, loc) {
|
|
|
2347
2377
|
// declaration is different: it is a callable external contract, so a
|
|
2348
2378
|
// `never` slot cannot truthfully describe any native parameter.
|
|
2349
2379
|
if ((paramType.flags & ts.TypeFlags.Never) !== 0) {
|
|
2350
|
-
return
|
|
2380
|
+
return signatureDiag(binding.name, `parameter ${i + 1} is 'never', an uninhabited TypeScript type that cannot describe a native ABI parameter`, loc);
|
|
2351
2381
|
}
|
|
2352
2382
|
if (isFfiCallbackParam(sourceParam)) {
|
|
2353
2383
|
const callbackDiagnostic = ffiCallbackInputDiagnostic(L, sourceParam, paramType);
|
|
2354
2384
|
if (callbackDiagnostic !== null) {
|
|
2355
|
-
return
|
|
2385
|
+
return signatureDiag(binding.name, callbackDiagnostic, loc);
|
|
2356
2386
|
}
|
|
2357
2387
|
}
|
|
2358
2388
|
const mapped = L.mapTypeOf(paramType);
|
|
2359
2389
|
const expected = expectedParams[i];
|
|
2360
2390
|
if (mapped === null || !typeEquals(mapped, expected)) {
|
|
2361
|
-
return
|
|
2391
|
+
return signatureDiag(binding.name, `parameter ${i + 1} maps to '${mapped === null ? L.checker.typeToString(paramType) : L.fmt(mapped)}', ` +
|
|
2362
2392
|
`which does not fit manifest ${ffiParamDisplay(sourceParam)}`, loc);
|
|
2363
2393
|
}
|
|
2364
2394
|
}
|
|
@@ -2367,21 +2397,36 @@ function ffiDeclarationDiagnostic(L, binding, symbol, loc) {
|
|
|
2367
2397
|
// let tsc erase all control flow after the call while the linked function
|
|
2368
2398
|
// continues, making the generated program disagree with TypeScript.
|
|
2369
2399
|
if ((returnType.flags & ts.TypeFlags.Never) !== 0) {
|
|
2370
|
-
return
|
|
2400
|
+
return signatureDiag(binding.name, "the return type is 'never', but a native ABI return cannot uphold TypeScript's non-returning contract", loc);
|
|
2371
2401
|
}
|
|
2372
2402
|
const declaredReturn = L.mapTypeOf(returnType);
|
|
2373
2403
|
const expectedReturn = ffiClassType(binding.returns);
|
|
2374
2404
|
if (declaredReturn === null || !typeEquals(declaredReturn, expectedReturn)) {
|
|
2375
|
-
return
|
|
2405
|
+
return signatureDiag(binding.name, `the return maps to '${declaredReturn === null ? L.checker.typeToString(returnType) : L.fmt(declaredReturn)}', ` +
|
|
2376
2406
|
`which does not fit manifest class '${binding.returns}'`, loc);
|
|
2377
2407
|
}
|
|
2408
|
+
const returnDomainDiagnostic = ffiReturnDomainDiagnostic(L, binding.returns, returnType);
|
|
2409
|
+
if (returnDomainDiagnostic !== null) {
|
|
2410
|
+
return signatureDiag(binding.name, returnDomainDiagnostic, loc);
|
|
2411
|
+
}
|
|
2378
2412
|
return null;
|
|
2379
2413
|
}
|
|
2414
|
+
/** True when a library callback may claim declarations from this file.
|
|
2415
|
+
* Ordinary program source is always eligible. Declaration files are
|
|
2416
|
+
* eligible only when they are project-owned: the standard library and
|
|
2417
|
+
* installed/workspace package declarations are existing ambient surfaces,
|
|
2418
|
+
* never callback declarations merely because a profile channel shares their
|
|
2419
|
+
* spelling. */
|
|
2420
|
+
function libraryCallbackOwnsFile(L, file) {
|
|
2421
|
+
return !file.isDeclarationFile || (!L.isStdlibFile(file) && !L.isNpmFile(file));
|
|
2422
|
+
}
|
|
2380
2423
|
/** Resolve and validate every configured outbound binding before emit.
|
|
2381
2424
|
* Candidate declarations are signature-only functions bearing the manifest
|
|
2382
2425
|
* name anywhere in the program. Multiple scoped declarations are all native
|
|
2383
2426
|
* bindings under the existing name-based call surface, so every candidate
|
|
2384
|
-
* must fit the one manifest ABI.
|
|
2427
|
+
* must fit the one manifest ABI. Library callbacks additionally exclude
|
|
2428
|
+
* standard-library and package declaration files while retaining project
|
|
2429
|
+
* declaration files as authored callback surface. */
|
|
2385
2430
|
export function validateFfiImports(L) {
|
|
2386
2431
|
const diagnostics = [];
|
|
2387
2432
|
const symbolsByName = new Map();
|
|
@@ -2390,6 +2435,8 @@ export function validateFfiImports(L) {
|
|
|
2390
2435
|
if (configuredNames.size === 0)
|
|
2391
2436
|
return { diagnostics, symbolsByName };
|
|
2392
2437
|
for (const file of L.program.getSourceFiles()) {
|
|
2438
|
+
if (L.libraryCallbacks && !libraryCallbackOwnsFile(L, file))
|
|
2439
|
+
continue;
|
|
2393
2440
|
ts.walkPreorder(file, (node) => {
|
|
2394
2441
|
if (ts.isFunctionDeclaration(node)) {
|
|
2395
2442
|
if (node.body === undefined &&
|
|
@@ -2415,7 +2462,23 @@ export function validateFfiImports(L) {
|
|
|
2415
2462
|
for (const binding of L.ffiImports) {
|
|
2416
2463
|
const bySymbol = candidates.get(binding.name);
|
|
2417
2464
|
if (bySymbol === undefined || bySymbol.size === 0) {
|
|
2418
|
-
|
|
2465
|
+
// A native-manifest binding with no declaration is a broken build
|
|
2466
|
+
// input. A library callback channel with no declaration is unused
|
|
2467
|
+
// CAPACITY: the registration symbol still dispatches it, nothing
|
|
2468
|
+
// calls it, and a later program revision may (a program that calls
|
|
2469
|
+
// the name without declaring it fails ordinary typechecking first).
|
|
2470
|
+
if (!L.libraryCallbacks) {
|
|
2471
|
+
diagnostics.push(ffiBindingDiag(binding.name, "the program has no signature-only function declaration with this name", { file: L.entry.fileName, start: 0, end: 0 }));
|
|
2472
|
+
}
|
|
2473
|
+
else {
|
|
2474
|
+
// Preserve the distinction between unused capacity and a binding
|
|
2475
|
+
// whose program declaration was found but failed validation. The
|
|
2476
|
+
// latter deliberately leaves no map entry so calls poison without
|
|
2477
|
+
// duplicating the program-level diagnostic; the empty set lets call
|
|
2478
|
+
// lowering inspect same-named builtins, implementations, and
|
|
2479
|
+
// unsupported ambient declaration shapes individually.
|
|
2480
|
+
symbolsByName.set(binding.name, new Set());
|
|
2481
|
+
}
|
|
2419
2482
|
continue;
|
|
2420
2483
|
}
|
|
2421
2484
|
const validSymbols = new Set();
|
|
@@ -2444,15 +2507,37 @@ export function lowerFfiCall(L, expr) {
|
|
|
2444
2507
|
if (!ts.isIdentifier(expr.expression))
|
|
2445
2508
|
return null;
|
|
2446
2509
|
const binding = L.ffiImportsByName.get(expr.expression.text);
|
|
2447
|
-
if (binding === undefined)
|
|
2510
|
+
if (binding === undefined) {
|
|
2511
|
+
// LIBRARY mode with a declared callback surface: a CALL of a
|
|
2512
|
+
// program-authored signature-only ambient function that names no
|
|
2513
|
+
// channel is the author reaching for the host seam the profile does
|
|
2514
|
+
// not provide — refuse with the callback teaching instead of the
|
|
2515
|
+
// ambient ReferenceError lowering. Scoped to project-owned source and
|
|
2516
|
+
// declaration files so lib.d.ts/@types/package ambients (parseInt,
|
|
2517
|
+
// setTimeout, …) keep every existing lowering; callback-free profiles
|
|
2518
|
+
// are untouched.
|
|
2519
|
+
if (L.libraryCallbacks) {
|
|
2520
|
+
const symbol = L.resolveValueSymbol(expr.expression);
|
|
2521
|
+
const decls = symbol === null ? [] : L.checker.declarationsOf(symbol);
|
|
2522
|
+
const callbackShaped = decls.length > 0 &&
|
|
2523
|
+
decls.every((decl) => ts.isFunctionDeclaration(decl) &&
|
|
2524
|
+
decl.body === undefined &&
|
|
2525
|
+
libraryCallbackOwnsFile(L, decl.getSourceFile()));
|
|
2526
|
+
if (callbackShaped) {
|
|
2527
|
+
L.pushDiag(libCallbackDiag(expr.expression.text, "the profile declares no callback channel with this name", locOf(expr)));
|
|
2528
|
+
throw new PoisonError();
|
|
2529
|
+
}
|
|
2530
|
+
}
|
|
2448
2531
|
return null;
|
|
2532
|
+
}
|
|
2449
2533
|
const loc = locOf(expr);
|
|
2534
|
+
const { binding: bindingFlavor, signature: signatureFlavor } = ffiFlavor(L);
|
|
2450
2535
|
const bindingError = (detail) => {
|
|
2451
|
-
L.pushDiag(
|
|
2536
|
+
L.pushDiag(bindingFlavor(binding.name, detail, loc));
|
|
2452
2537
|
throw new PoisonError();
|
|
2453
2538
|
};
|
|
2454
2539
|
const signatureError = (detail) => {
|
|
2455
|
-
L.pushDiag(
|
|
2540
|
+
L.pushDiag(signatureFlavor(binding.name, detail, loc));
|
|
2456
2541
|
throw new PoisonError();
|
|
2457
2542
|
};
|
|
2458
2543
|
const symbol = L.resolveValueSymbol(expr.expression) ??
|
|
@@ -2464,10 +2549,39 @@ export function lowerFfiCall(L, expr) {
|
|
|
2464
2549
|
if (validSymbols === undefined)
|
|
2465
2550
|
throw new PoisonError();
|
|
2466
2551
|
if (!validSymbols.has(symbol)) {
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2552
|
+
if (L.libraryCallbacks) {
|
|
2553
|
+
const declarations = L.checker.declarationsOf(symbol);
|
|
2554
|
+
const programDeclarations = declarations.filter((decl) => libraryCallbackOwnsFile(L, decl.getSourceFile()));
|
|
2555
|
+
const programAmbient = programDeclarations.length > 0 &&
|
|
2556
|
+
programDeclarations.every((decl) => decl.getSourceFile().isDeclarationFile ||
|
|
2557
|
+
(ts.getCombinedModifierFlags(decl) &
|
|
2558
|
+
ts.ModifierFlags.Ambient) !== 0);
|
|
2559
|
+
if (programAmbient) {
|
|
2560
|
+
// A called, program-authored ambient with a configured channel
|
|
2561
|
+
// name is not unused capacity. Validate the resolved symbol now
|
|
2562
|
+
// so unsupported declaration forms (`declare const cb: ...`)
|
|
2563
|
+
// refuse SC4024 instead of silently dropping the call. A valid
|
|
2564
|
+
// declaration missed by the up-front syntax walk may proceed as
|
|
2565
|
+
// the callback binding after this exact-symbol check.
|
|
2566
|
+
const diagnostic = ffiDeclarationDiagnostic(L, binding, symbol, loc);
|
|
2567
|
+
if (diagnostic !== null) {
|
|
2568
|
+
L.pushDiag(diagnostic);
|
|
2569
|
+
throw new PoisonError();
|
|
2570
|
+
}
|
|
2571
|
+
}
|
|
2572
|
+
else {
|
|
2573
|
+
// Standard-library/package ambients and same-named program
|
|
2574
|
+
// implementations remain their ordinary TypeScript bindings;
|
|
2575
|
+
// the profile does not claim them.
|
|
2576
|
+
return null;
|
|
2577
|
+
}
|
|
2578
|
+
}
|
|
2579
|
+
else {
|
|
2580
|
+
// TypeScript resolved this call to a distinct local declaration.
|
|
2581
|
+
// The manifest owns only the exact validated ambient binding; a
|
|
2582
|
+
// same-named function with a body remains ordinary scriptc code.
|
|
2583
|
+
return null;
|
|
2584
|
+
}
|
|
2471
2585
|
}
|
|
2472
2586
|
}
|
|
2473
2587
|
else {
|
|
@@ -2558,6 +2672,9 @@ export function lowerCall(L, expr) {
|
|
|
2558
2672
|
const processOptional = L.lowerProcessOptionalMethodCall(expr);
|
|
2559
2673
|
if (processOptional)
|
|
2560
2674
|
return processOptional;
|
|
2675
|
+
const reqStreamOptional = lowerCompatReqStreamOptionalCall(L, expr);
|
|
2676
|
+
if (reqStreamOptional)
|
|
2677
|
+
return reqStreamOptional;
|
|
2561
2678
|
// `t.unref?.()` on a Timeout handle — same story: the method always
|
|
2562
2679
|
// exists, so the optional call is the call.
|
|
2563
2680
|
if (expr.questionDotToken && ts.isPropertyAccessExpression(expr.expression)) {
|
|
@@ -2565,20 +2682,13 @@ export function lowerCall(L, expr) {
|
|
|
2565
2682
|
if (timeoutOptional)
|
|
2566
2683
|
return timeoutOptional;
|
|
2567
2684
|
}
|
|
2568
|
-
// `req.
|
|
2569
|
-
// stream
|
|
2570
|
-
//
|
|
2571
|
-
// the optional chain short-circuits, the arguments never evaluate, and
|
|
2572
|
-
// the whole statement is a no-op — exactly what lowers here (a VOID
|
|
2573
|
-
// no-op the emitter drops). The receiver is restricted to an
|
|
2574
|
-
// identifier so no evaluation is skipped, and to statement position so
|
|
2575
|
-
// no value is consumed (an unguarded or computed use meets the pointed
|
|
2576
|
-
// per-member fence in lower-server.ts instead).
|
|
2685
|
+
// `req.session?.m(...)` remains absent on compatibility requests. Live
|
|
2686
|
+
// `req.stream` calls now pass through the normal optional-chain and h2
|
|
2687
|
+
// stream lowering using lowerServerProperty's checked getter.
|
|
2577
2688
|
if (ts.isPropertyAccessExpression(expr.expression) &&
|
|
2578
2689
|
ts.isPropertyAccessExpression(expr.expression.expression) &&
|
|
2579
2690
|
!expr.expression.expression.questionDotToken &&
|
|
2580
|
-
|
|
2581
|
-
expr.expression.expression.name.text === "session") &&
|
|
2691
|
+
expr.expression.expression.name.text === "session" &&
|
|
2582
2692
|
ts.isIdentifier(expr.expression.expression.expression) &&
|
|
2583
2693
|
L.mapTypeOf(L.typeOf(expr.expression.expression.expression))?.kind === "httpReq" &&
|
|
2584
2694
|
L.isStdlibMember(expr.expression.expression)) {
|
|
@@ -3203,10 +3313,63 @@ export function lowerCall(L, expr) {
|
|
|
3203
3313
|
const x = L.lowerExprExpecting(expr.arguments[0], F64);
|
|
3204
3314
|
return { kind: "libCall", fn: "num.isNaN", args: [x], type: BOOL, loc };
|
|
3205
3315
|
}
|
|
3206
|
-
const s = L.lowerExprExpecting(expr.arguments[0], STRING);
|
|
3207
3316
|
const radix = expr.arguments[1]
|
|
3208
3317
|
? L.lowerExprExpecting(expr.arguments[1], F64)
|
|
3209
3318
|
: { kind: "numLit", value: 0, type: F64, loc };
|
|
3319
|
+
const optional = lowerAbsenceProbe(L, expr.arguments[0]);
|
|
3320
|
+
if (optional?.type.kind === "union") {
|
|
3321
|
+
const def = L.unions.get(optional.type.unionId);
|
|
3322
|
+
const stringTag = def?.arms.findIndex((arm) => arm.kind === "string") ?? -1;
|
|
3323
|
+
if (def &&
|
|
3324
|
+
stringTag >= 0 &&
|
|
3325
|
+
def.arms.every((arm) => arm.kind === "string" || isUnitType(arm))) {
|
|
3326
|
+
const unionT = optional.type;
|
|
3327
|
+
const key = `parseInt.optional:${unionT.unionId}`;
|
|
3328
|
+
let helper = L.widthHelpers.get(key);
|
|
3329
|
+
if (!helper) {
|
|
3330
|
+
helper = `%parseInt.optional.${L.widthHelpers.size}`;
|
|
3331
|
+
L.widthHelpers.set(key, helper);
|
|
3332
|
+
const value = { kind: "varRef", localId: "value.0", type: unionT, loc };
|
|
3333
|
+
const radixRef = { kind: "varRef", localId: "radix.0", type: F64, loc };
|
|
3334
|
+
const body = def.arms.flatMap((arm, tag) => isUnitType(arm)
|
|
3335
|
+
? [{
|
|
3336
|
+
kind: "if",
|
|
3337
|
+
cond: { kind: "unionIsTag", unionId: unionT.unionId, tag, negated: false, value, type: BOOL, loc },
|
|
3338
|
+
then: [{ kind: "return", value: { kind: "numLit", value: NaN, type: F64, loc }, loc }],
|
|
3339
|
+
else_: null,
|
|
3340
|
+
loc,
|
|
3341
|
+
}]
|
|
3342
|
+
: []);
|
|
3343
|
+
body.push({
|
|
3344
|
+
kind: "return",
|
|
3345
|
+
value: {
|
|
3346
|
+
kind: "libCall",
|
|
3347
|
+
fn: "num.parseInt",
|
|
3348
|
+
args: [{ kind: "unionNarrow", unionId: unionT.unionId, tag: stringTag, value, type: STRING, loc }, radixRef],
|
|
3349
|
+
type: F64,
|
|
3350
|
+
loc,
|
|
3351
|
+
},
|
|
3352
|
+
loc,
|
|
3353
|
+
});
|
|
3354
|
+
L.liftedFns.push({
|
|
3355
|
+
name: helper,
|
|
3356
|
+
params: [
|
|
3357
|
+
{ localId: "value.0", name: "value", type: unionT },
|
|
3358
|
+
{ localId: "radix.0", name: "radix", type: F64 },
|
|
3359
|
+
],
|
|
3360
|
+
returnType: F64,
|
|
3361
|
+
locals: [
|
|
3362
|
+
{ id: "value.0", name: "value", type: unionT, mutable: true },
|
|
3363
|
+
{ id: "radix.0", name: "radix", type: F64, mutable: true },
|
|
3364
|
+
],
|
|
3365
|
+
body,
|
|
3366
|
+
loc,
|
|
3367
|
+
});
|
|
3368
|
+
}
|
|
3369
|
+
return { kind: "call", callee: helper, args: [optional, radix], type: F64, loc };
|
|
3370
|
+
}
|
|
3371
|
+
}
|
|
3372
|
+
const s = L.lowerExprExpecting(expr.arguments[0], STRING);
|
|
3210
3373
|
return { kind: "libCall", fn: "num.parseInt", args: [s, radix], type: F64, loc };
|
|
3211
3374
|
}
|
|
3212
3375
|
// STATIC parseFloat/isFinite over exactly-typed arguments —
|
|
@@ -4226,8 +4389,9 @@ function lowerArrayIsArrayCall(L, call, access) {
|
|
|
4226
4389
|
}
|
|
4227
4390
|
if (arg.type.kind === "union") {
|
|
4228
4391
|
// A union answers by its RUNTIME TAG: true iff the active arm is an
|
|
4229
|
-
// array
|
|
4230
|
-
// is false in JS too). One
|
|
4392
|
+
// array value (homogeneous array or fixed tuple; bytes arms answer
|
|
4393
|
+
// false — Array.isArray(new Uint8Array) is false in JS too). One
|
|
4394
|
+
// array arm compiles to the plain tag test
|
|
4231
4395
|
// (`Array.isArray(tlds)` on `string | readonly string[]` — the
|
|
4232
4396
|
// narrowing test tsc's control flow then builds on); several array
|
|
4233
4397
|
// arms OR their tag tests, and zero arms fold to false — both only
|
|
@@ -4236,7 +4400,7 @@ function lowerArrayIsArrayCall(L, call, access) {
|
|
|
4236
4400
|
// static tag answer and keep the narrow-first fence.
|
|
4237
4401
|
const def = L.unions.get(arg.type.unionId);
|
|
4238
4402
|
const opaque = !def || def.arms.some((a) => a.kind === "dyn" || a.kind === "caught" || a.kind === "jsval");
|
|
4239
|
-
const arrayTags =
|
|
4403
|
+
const arrayTags = L.arrayValueTags(arg.type.unionId);
|
|
4240
4404
|
const freeRead = arg.kind === "varRef" || arg.kind === "recordGet" || arg.kind === "fieldGet";
|
|
4241
4405
|
if (!opaque && arrayTags.length === 1) {
|
|
4242
4406
|
return { kind: "unionIsTag", unionId: arg.type.unionId, tag: arrayTags[0], negated: false, value: arg, type: BOOL, loc };
|
|
@@ -4254,7 +4418,7 @@ function lowerArrayIsArrayCall(L, call, access) {
|
|
|
4254
4418
|
if (arg.type.kind === "jsval" || arg.type.kind === "caught")
|
|
4255
4419
|
return null;
|
|
4256
4420
|
if (arg.kind === "varRef" || arg.kind === "recordGet" || arg.kind === "fieldGet") {
|
|
4257
|
-
return { kind: "boolLit", value: arg.type
|
|
4421
|
+
return { kind: "boolLit", value: L.isArrayValueType(arg.type), type: BOOL, loc };
|
|
4258
4422
|
}
|
|
4259
4423
|
L.unsupported("SC1090", call, "statically-decided Array.isArray on computed arguments (bind the value to a variable first)");
|
|
4260
4424
|
}
|