@scriptc/compiler 0.0.36 → 0.1.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/ambient/scriptc-node-fallback.d.ts +52 -22
- package/ambient/scriptc-overrides.d.ts +0 -7
- package/ambient/scriptc.d.ts +3 -2
- package/dist/backend/build-cache.js.map +1 -1
- package/dist/backend/c/async.js +24 -2
- package/dist/backend/c/async.js.map +1 -1
- package/dist/backend/c/c-emitter.d.ts +22 -10
- package/dist/backend/c/c-emitter.js +60 -15
- package/dist/backend/c/c-emitter.js.map +1 -1
- package/dist/backend/c/exprs.js +289 -55
- package/dist/backend/c/exprs.js.map +1 -1
- package/dist/backend/c/island.js.map +1 -1
- package/dist/backend/c/may-throw.js +3 -0
- package/dist/backend/c/may-throw.js.map +1 -1
- package/dist/backend/c/stmts.d.ts +3 -5
- package/dist/backend/c/stmts.js +76 -17
- package/dist/backend/c/stmts.js.map +1 -1
- package/dist/backend/c/types.js.map +1 -1
- package/dist/backend/c/walkers.js +36 -12
- package/dist/backend/c/walkers.js.map +1 -1
- package/dist/backend/external-c.d.ts +33 -0
- package/dist/backend/external-c.js +51 -0
- package/dist/backend/external-c.js.map +1 -0
- package/dist/backend/link-plan.d.ts +37 -0
- package/dist/backend/link-plan.js +26 -0
- package/dist/backend/link-plan.js.map +1 -0
- package/dist/backend/linker.d.ts +22 -0
- package/dist/backend/linker.js +236 -0
- package/dist/backend/linker.js.map +1 -0
- package/dist/backend/llvm/blocks.js.map +1 -1
- package/dist/backend/llvm/dyn.js +63 -3
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emitter.js +132 -26
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/expr-async.js +85 -3
- package/dist/backend/llvm/expr-async.js.map +1 -1
- package/dist/backend/llvm/expr-bytes.js.map +1 -1
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-containers.js +68 -54
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-context.d.ts +2 -1
- package/dist/backend/llvm/expr-control.js.map +1 -1
- package/dist/backend/llvm/expr-dispatch.js +2 -0
- package/dist/backend/llvm/expr-dispatch.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.js +6 -3
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-island.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.d.ts +1 -1
- package/dist/backend/llvm/expr-primitives.js +20 -0
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-records.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.js +245 -10
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/lib-dispatch.js +2 -0
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-shared.js +18 -0
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/lib-stream.js +6 -3
- package/dist/backend/llvm/lib-stream.js.map +1 -1
- package/dist/backend/llvm/split.js.map +1 -1
- package/dist/backend/llvm/unsupported.js.map +1 -1
- package/dist/backend/llvm/walkers.js +31 -4
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/native-codegen.d.ts +8 -1
- package/dist/backend/native-codegen.js +39 -25
- package/dist/backend/native-codegen.js.map +1 -1
- package/dist/backend/native-codegen.test.js +44 -4
- package/dist/backend/native-codegen.test.js.map +1 -1
- package/dist/backend/native-link-info.d.ts +1 -1
- package/dist/backend/native-link-info.js +42 -18
- package/dist/backend/native-link-info.js.map +1 -1
- package/dist/backend/native-toolchain.js.map +1 -1
- package/dist/backend/native-toolchain.test.js +5 -1
- package/dist/backend/native-toolchain.test.js.map +1 -1
- package/dist/backend/runtime-pack-targets.test.d.ts +1 -0
- package/dist/backend/runtime-pack-targets.test.js +54 -0
- package/dist/backend/runtime-pack-targets.test.js.map +1 -0
- package/dist/backend/runtime-pack.d.ts +5 -30
- package/dist/backend/runtime-pack.js +46 -141
- package/dist/backend/runtime-pack.js.map +1 -1
- package/dist/backend/runtime-pack.test.js +49 -14
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/backend/targets.d.ts +63 -17
- package/dist/backend/targets.js +251 -35
- package/dist/backend/targets.js.map +1 -1
- package/dist/backend/targets.test.js +27 -5
- package/dist/backend/targets.test.js.map +1 -1
- package/dist/backend/vendor-archives.js.map +1 -1
- package/dist/compat/fetch-profile.js +4 -2
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/coverage/report.js.map +1 -1
- package/dist/coverage/surface-manifest.js +22 -1
- package/dist/coverage/surface-manifest.js.map +1 -1
- package/dist/diagnostics/diagnostic.d.ts +6 -5
- package/dist/diagnostics/diagnostic.js +7 -6
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/diagnostics/render.js.map +1 -1
- package/dist/ffi/ffi-manifest.js.map +1 -1
- package/dist/frontend/cjs-lexer.js.map +1 -1
- package/dist/frontend/dts-paths.js.map +1 -1
- package/dist/frontend/input-tracker.d.ts +10 -0
- package/dist/frontend/input-tracker.js +26 -3
- package/dist/frontend/input-tracker.js.map +1 -1
- package/dist/frontend/input-tracker.test.js +8 -1
- package/dist/frontend/input-tracker.test.js.map +1 -1
- package/dist/frontend/lib-contract.js.map +1 -1
- package/dist/frontend/lowering/array-values.d.ts +12 -0
- package/dist/frontend/lowering/array-values.js +76 -0
- package/dist/frontend/lowering/array-values.js.map +1 -0
- package/dist/frontend/lowering/callback-arg.js.map +1 -1
- package/dist/frontend/lowering/containers/bytes.d.ts +35 -0
- package/dist/frontend/lowering/containers/bytes.js +1021 -0
- package/dist/frontend/lowering/containers/bytes.js.map +1 -0
- package/dist/frontend/lowering/containers/string-and-regexp.d.ts +17 -0
- package/dist/frontend/lowering/containers/string-and-regexp.js +345 -0
- package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -0
- package/dist/frontend/lowering/expressions/evaluation-safety.d.ts +13 -0
- package/dist/frontend/lowering/expressions/evaluation-safety.js +76 -0
- package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -0
- package/dist/frontend/lowering/expressions/object-literals.d.ts +44 -0
- package/dist/frontend/lowering/expressions/object-literals.js +1815 -0
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -0
- package/dist/frontend/lowering/expressions/optional-chains.d.ts +31 -0
- package/dist/frontend/lowering/expressions/optional-chains.js +382 -0
- package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -0
- package/dist/frontend/lowering/expressions/try-lower-expression.d.ts +7 -0
- package/dist/frontend/lowering/expressions/try-lower-expression.js +26 -0
- package/dist/frontend/lowering/expressions/try-lower-expression.js.map +1 -0
- package/dist/frontend/lowering/lib-boundary.js +7 -2
- package/dist/frontend/lowering/lib-boundary.js.map +1 -1
- package/dist/frontend/lowering/lower-array-sort.d.ts +22 -0
- package/dist/frontend/lowering/lower-array-sort.js +619 -0
- package/dist/frontend/lowering/lower-array-sort.js.map +1 -0
- package/dist/frontend/lowering/lower-assert.js.map +1 -1
- package/dist/frontend/lowering/lower-async-iteration.d.ts +7 -0
- package/dist/frontend/lowering/lower-async-iteration.js +657 -0
- package/dist/frontend/lowering/lower-async-iteration.js.map +1 -0
- package/dist/frontend/lowering/lower-builtins.d.ts +18 -0
- package/dist/frontend/lowering/lower-builtins.js +379 -48
- package/dist/frontend/lowering/lower-builtins.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +16 -8
- package/dist/frontend/lowering/lower-calls.js +667 -91
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +7 -13
- package/dist/frontend/lowering/lower-classes.js +128 -35
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-comptime.js.map +1 -1
- package/dist/frontend/lowering/lower-containers.d.ts +1 -47
- package/dist/frontend/lowering/lower-containers.js +779 -2038
- package/dist/frontend/lowering/lower-containers.js.map +1 -1
- package/dist/frontend/lowering/lower-event-emitter.js +51 -5
- package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +4 -78
- package/dist/frontend/lowering/lower-exprs.js +1128 -2409
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-generators.d.ts +18 -3
- package/dist/frontend/lowering/lower-generators.js +145 -9
- package/dist/frontend/lowering/lower-generators.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.js +50 -36
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-island.d.ts +11 -4
- package/dist/frontend/lowering/lower-island.js +47 -10
- package/dist/frontend/lowering/lower-island.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.js +52 -15
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-node-module.d.ts +18 -0
- package/dist/frontend/lowering/lower-node-module.js +302 -0
- package/dist/frontend/lowering/lower-node-module.js.map +1 -0
- package/dist/frontend/lowering/lower-server.js +11 -1
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +5 -24
- package/dist/frontend/lowering/lower-stmts.js +811 -314
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.js +4 -4
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +109 -34
- package/dist/frontend/lowering/lowerer.js +1225 -62
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/optional-arguments.d.ts +9 -0
- package/dist/frontend/lowering/optional-arguments.js +57 -0
- package/dist/frontend/lowering/optional-arguments.js.map +1 -0
- package/dist/frontend/lowering/surfaces.d.ts +10 -2
- package/dist/frontend/lowering/surfaces.js +15 -3
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/npm-static-declarations.d.ts +35 -0
- package/dist/frontend/npm-static-declarations.js +506 -0
- package/dist/frontend/npm-static-declarations.js.map +1 -0
- package/dist/frontend/npm-static-declarations.test.d.ts +1 -0
- package/dist/frontend/npm-static-declarations.test.js +122 -0
- package/dist/frontend/npm-static-declarations.test.js.map +1 -0
- package/dist/frontend/npm-static.d.ts +2 -0
- package/dist/frontend/npm-static.js +26 -10
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/npm.d.ts +60 -0
- package/dist/frontend/npm.js +38 -4
- package/dist/frontend/npm.js.map +1 -1
- package/dist/frontend/npm.test.d.ts +1 -0
- package/dist/frontend/npm.test.js +50 -0
- package/dist/frontend/npm.test.js.map +1 -0
- package/dist/frontend/program.d.ts +3 -2
- package/dist/frontend/program.js +495 -68
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/resolve.d.ts +10 -2
- package/dist/frontend/resolve.js +90 -14
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/resolve.test.js +4 -1
- package/dist/frontend/resolve.test.js.map +1 -1
- package/dist/frontend/runtime-resolve.d.ts +22 -0
- package/dist/frontend/runtime-resolve.js +101 -0
- package/dist/frontend/runtime-resolve.js.map +1 -0
- package/dist/frontend/runtime-resolve.test.d.ts +1 -0
- package/dist/frontend/runtime-resolve.test.js +18 -0
- package/dist/frontend/runtime-resolve.test.js.map +1 -0
- package/dist/frontend/ts7/adapter.js +12 -13
- package/dist/frontend/ts7/adapter.js.map +1 -1
- package/dist/frontend/ts7/ast.js.map +1 -1
- package/dist/frontend/ts7/census-check.js +3 -3
- package/dist/frontend/ts7/census-check.js.map +1 -1
- package/dist/frontend/ts7/checker.d.ts +3 -0
- package/dist/frontend/ts7/checker.js +12 -3
- package/dist/frontend/ts7/checker.js.map +1 -1
- package/dist/frontend/ts7/enums.js.map +1 -1
- package/dist/frontend/ts7/program-adapter.js +42 -3
- package/dist/frontend/ts7/program-adapter.js.map +1 -1
- package/dist/frontend/type-mapper.js +120 -7
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +50 -28
- package/dist/index.js.map +1 -1
- package/dist/ir/analysis.js.map +1 -1
- package/dist/ir/ir.d.ts +125 -41
- package/dist/ir/ir.js +82 -31
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/serialize.d.ts +1 -1
- package/dist/ir/serialize.js +1 -1
- package/dist/ir/validate.js +127 -95
- package/dist/ir/validate.js.map +1 -1
- package/dist/library/cache-primitives.js.map +1 -1
- package/dist/library/cache-reset.test.js.map +1 -1
- package/dist/library/compiler-self-identity.js.map +1 -1
- package/dist/library/fence-eval.js +3 -1
- package/dist/library/fence-eval.js.map +1 -1
- package/dist/library/int-infer.js +12 -1
- package/dist/library/int-infer.js.map +1 -1
- package/dist/library/int-infer.test.js +4 -4
- package/dist/library/int-infer.test.js.map +1 -1
- package/dist/library/library-cache.test.js +5 -5
- package/dist/library/library-profile.js.map +1 -1
- package/dist/library/sidecar-validate.js.map +1 -1
- package/dist/library/sidecar.js.map +1 -1
- package/dist/startup-cache.d.ts +9 -1
- package/dist/startup-cache.js +16 -1
- package/dist/startup-cache.js.map +1 -1
- package/dist/wasi-paths.js.map +1 -1
- package/package.json +18 -5
- package/surface-manifest.json +64 -8
|
@@ -296,6 +296,20 @@ declare var process: {
|
|
|
296
296
|
declare var __dirname: string;
|
|
297
297
|
declare var __filename: string;
|
|
298
298
|
|
|
299
|
+
interface ScriptcModule {
|
|
300
|
+
children: ScriptcModule[];
|
|
301
|
+
exports: any;
|
|
302
|
+
filename: string;
|
|
303
|
+
id: string;
|
|
304
|
+
isPreloading: boolean;
|
|
305
|
+
loaded: boolean;
|
|
306
|
+
parent: ScriptcModule | null | undefined;
|
|
307
|
+
path: string;
|
|
308
|
+
paths: string[];
|
|
309
|
+
require(id: string): any;
|
|
310
|
+
}
|
|
311
|
+
declare var module: ScriptcModule;
|
|
312
|
+
|
|
299
313
|
/* `global` IS globalThis (Node's alias), and `declare var process` above
|
|
300
314
|
* puts process on `typeof globalThis` — so `globalThis.process` and
|
|
301
315
|
* `global.process` read the same object as the bare name. */
|
|
@@ -303,29 +317,36 @@ declare var global: typeof globalThis;
|
|
|
303
317
|
|
|
304
318
|
/* The `require` VALUE's non-call surface. require() CALLS are module
|
|
305
319
|
* edges (the checker models them as imports); the object's own members
|
|
306
|
-
* are declared here so harness idioms typecheck.
|
|
307
|
-
*
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
320
|
+
* are declared here so harness idioms typecheck. The main/cache values and
|
|
321
|
+
* the CommonJS module graph lower to native process-lifetime handles. */
|
|
322
|
+
interface ScriptcRequireResolveOptions {
|
|
323
|
+
paths?: string[];
|
|
324
|
+
}
|
|
325
|
+
interface ScriptcRequireResolve {
|
|
326
|
+
(id: string, options?: ScriptcRequireResolveOptions): string;
|
|
327
|
+
paths(id: string): string[] | null;
|
|
328
|
+
}
|
|
329
|
+
interface ScriptcRequire {
|
|
311
330
|
/* The call signature types NON-IMPORT-SHAPED require expressions (the
|
|
312
331
|
* checker models import-shaped requires as module aliases regardless,
|
|
313
332
|
* exactly like under @types/node's NodeRequire). `any`, like
|
|
314
333
|
* @types/node: the value's home is the module system, not the static
|
|
315
334
|
* value model — reached uses fence per site. */
|
|
316
335
|
(id: string): any;
|
|
317
|
-
main:
|
|
318
|
-
resolve
|
|
319
|
-
cache: { [id: string]:
|
|
320
|
-
}
|
|
336
|
+
main: ScriptcModule | undefined;
|
|
337
|
+
resolve: ScriptcRequireResolve;
|
|
338
|
+
cache: { [id: string]: ScriptcModule | undefined };
|
|
339
|
+
}
|
|
340
|
+
declare var require: ScriptcRequire;
|
|
321
341
|
|
|
322
342
|
/* setImmediate/clearImmediate — Node's macrotask pair (fires after I/O
|
|
323
343
|
* events of the current loop turn, before timers due later). The handle
|
|
324
344
|
* follows the Timeout pattern: loop-liveness bookkeeping. */
|
|
325
|
-
interface Immediate {
|
|
345
|
+
interface Immediate extends Disposable {
|
|
326
346
|
ref(): Immediate;
|
|
327
347
|
unref(): Immediate;
|
|
328
348
|
hasRef(): boolean;
|
|
349
|
+
[Symbol.dispose](): void;
|
|
329
350
|
}
|
|
330
351
|
declare function setImmediate(callback: () => void): Immediate;
|
|
331
352
|
/* The trailing-argument form — Node passes the extras to the callback. */
|
|
@@ -642,6 +663,8 @@ interface ReadableStream<T = unknown> {
|
|
|
642
663
|
readonly locked: boolean;
|
|
643
664
|
cancel(reason?: unknown): Promise<void>;
|
|
644
665
|
getReader(): ReadableStreamDefaultReader<T>;
|
|
666
|
+
[Symbol.asyncIterator](options?: { preventCancel?: boolean }): AsyncIterableIterator<T>;
|
|
667
|
+
values(options?: { preventCancel?: boolean }): AsyncIterableIterator<T>;
|
|
645
668
|
}
|
|
646
669
|
declare var ReadableStream: {
|
|
647
670
|
new <T = unknown>(source?: UnderlyingSource<T>): ReadableStream<T>;
|
|
@@ -776,12 +799,13 @@ declare module "timers" {
|
|
|
776
799
|
/* node:timers/promises — the promisified pair the Node test harness leans
|
|
777
800
|
* on (`await setTimeout(ms)` as a sleep). setTimeout's delay-only form and
|
|
778
801
|
* setImmediate's bare form lower (a void promise the shared timer heap
|
|
779
|
-
* settles);
|
|
780
|
-
*
|
|
802
|
+
* settles); setInterval(delay, value) lowers to a typed async iterator.
|
|
803
|
+
* Resolve values on the one-shot pair and AbortSignal options remain
|
|
804
|
+
* declared surface that fences per site. */
|
|
781
805
|
declare module "node:timers/promises" {
|
|
782
806
|
export function setTimeout(delay?: number): Promise<void>;
|
|
783
807
|
export function setImmediate(): Promise<void>;
|
|
784
|
-
export function setInterval(delay?: number, value?:
|
|
808
|
+
export function setInterval<T = unknown>(delay?: number, value?: T, options?: unknown): AsyncGenerator<T, void, undefined>;
|
|
785
809
|
export const scheduler: {
|
|
786
810
|
wait(delay?: number): Promise<void>;
|
|
787
811
|
yield(): Promise<void>;
|
|
@@ -912,7 +936,7 @@ declare var performance: import("node:perf_hooks").Performance;
|
|
|
912
936
|
* name the builtin, like in Node (the builtin wins over the npm package
|
|
913
937
|
* named "module" for the bare specifier there too). */
|
|
914
938
|
declare module "node:module" {
|
|
915
|
-
export function createRequire(filename: string | URL):
|
|
939
|
+
export function createRequire(filename: string | URL): ScriptcRequire;
|
|
916
940
|
export const builtinModules: string[];
|
|
917
941
|
export function isBuiltin(moduleName: string): boolean;
|
|
918
942
|
export function syncBuiltinESMExports(): void;
|
|
@@ -921,15 +945,17 @@ declare module "module" {
|
|
|
921
945
|
export * from "node:module";
|
|
922
946
|
}
|
|
923
947
|
/* import.meta: module-loader metadata with no value representation —
|
|
924
|
-
*
|
|
925
|
-
*
|
|
926
|
-
*
|
|
927
|
-
*
|
|
928
|
-
*
|
|
948
|
+
* direct file-backed fields lower to constants, while the object and
|
|
949
|
+
* remaining members fence (SC1090) EXCEPT as createRequire's base, where it
|
|
950
|
+
* only NAMES the containing file. Declared so unsupported forms reach their
|
|
951
|
+
* named lowering fences; @types/node's own augmentation stands in when
|
|
952
|
+
* adopted. */
|
|
929
953
|
interface ImportMeta {
|
|
930
954
|
url: string;
|
|
931
955
|
filename: string;
|
|
932
956
|
dirname: string;
|
|
957
|
+
main: boolean;
|
|
958
|
+
resolve(specifier: string, parent?: string | URL): string;
|
|
933
959
|
}
|
|
934
960
|
|
|
935
961
|
/* The synchronous node:fs surface — utf8-only, no options objects, no
|
|
@@ -1115,7 +1141,7 @@ declare module "fs/promises" {
|
|
|
1115
1141
|
bytesWritten: number;
|
|
1116
1142
|
buffer: T;
|
|
1117
1143
|
}
|
|
1118
|
-
export interface FileHandle {
|
|
1144
|
+
export interface FileHandle extends AsyncDisposable {
|
|
1119
1145
|
readonly fd: number;
|
|
1120
1146
|
close(): Promise<void>;
|
|
1121
1147
|
read<T extends Uint8Array>(
|
|
@@ -1136,6 +1162,7 @@ declare module "fs/promises" {
|
|
|
1136
1162
|
writeFile(data: string | Uint8Array, encoding?: "utf8" | "utf-8" | null): Promise<void>;
|
|
1137
1163
|
appendFile(data: string | Uint8Array, encoding?: "utf8" | "utf-8" | null): Promise<void>;
|
|
1138
1164
|
stat(): Promise<import("node:fs").Stats>;
|
|
1165
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
1139
1166
|
}
|
|
1140
1167
|
export function open(path: string, flags?: string, mode?: number): Promise<FileHandle>;
|
|
1141
1168
|
export function readFile(path: string, encoding: "utf8" | "utf-8"): Promise<string>;
|
|
@@ -1499,7 +1526,7 @@ declare module "child_process" {
|
|
|
1499
1526
|
* quiescence (SEMANTICS.md documents the divergence). An "error"
|
|
1500
1527
|
* event with no registered listener prints the error and exits 1,
|
|
1501
1528
|
* exactly the unhandled-'error' EventEmitter behavior. */
|
|
1502
|
-
export interface ChildProcess {
|
|
1529
|
+
export interface ChildProcess extends Disposable {
|
|
1503
1530
|
/* The exit listener may also take Node's second parameter — the
|
|
1504
1531
|
* terminating signal's name, null for a normal exit. */
|
|
1505
1532
|
on(event: "exit", listener: (code: number | null, signal: string | null) => void): void;
|
|
@@ -1519,6 +1546,7 @@ declare module "child_process" {
|
|
|
1519
1546
|
readonly killed: boolean;
|
|
1520
1547
|
kill(signal?: string | number): boolean;
|
|
1521
1548
|
unref(): void;
|
|
1549
|
+
[Symbol.dispose](): void;
|
|
1522
1550
|
/* The piped-output streams — non-null exactly when the matching
|
|
1523
1551
|
* stdio slot was "pipe" (Node's shape). */
|
|
1524
1552
|
readonly stdout: NodeJS.ReadableStream | null;
|
|
@@ -1926,10 +1954,11 @@ declare module "node:querystring" {
|
|
|
1926
1954
|
* on("close", cb). An open interface keeps the process alive until
|
|
1927
1955
|
* close()/EOF, Node's semantics; lines split on \n and \r\n. */
|
|
1928
1956
|
declare module "readline" {
|
|
1929
|
-
export interface Interface {
|
|
1957
|
+
export interface Interface extends Disposable {
|
|
1930
1958
|
question(query: string, callback: (answer: string) => void): void;
|
|
1931
1959
|
close(): void;
|
|
1932
1960
|
on(event: "close", listener: () => void): void;
|
|
1961
|
+
[Symbol.dispose](): void;
|
|
1933
1962
|
}
|
|
1934
1963
|
export function createInterface(options: {
|
|
1935
1964
|
input: unknown;
|
|
@@ -3277,6 +3306,7 @@ declare module "stream" {
|
|
|
3277
3306
|
_read(size: number): void;
|
|
3278
3307
|
_destroy(error: Error | null, callback: (error?: Error | null) => void): void;
|
|
3279
3308
|
[Symbol.asyncIterator](): AsyncIterableIterator<any>;
|
|
3309
|
+
iterator(options?: { destroyOnReturn?: boolean }): AsyncIterableIterator<any>;
|
|
3280
3310
|
push(chunk: Buffer | string | null, encoding?: string): boolean;
|
|
3281
3311
|
unshift(chunk: Buffer | string, encoding?: string): void;
|
|
3282
3312
|
read(size?: number): Buffer | null;
|
|
@@ -13,13 +13,6 @@
|
|
|
13
13
|
* primitives every world needs (comptime, setTimeout, __island_eval) live
|
|
14
14
|
* in scriptc.d.ts, which ships to BOTH programs. */
|
|
15
15
|
|
|
16
|
-
/* `pop(): T`, not the lib's `T | undefined`: popping an empty array traps
|
|
17
|
-
* at runtime — a documented divergence (SEMANTICS.md) this override keeps
|
|
18
|
-
* typecheckable. Check `.length` first, as real code must. */
|
|
19
|
-
interface Array<T> {
|
|
20
|
-
pop(): T;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
16
|
/* `at(): string`, not the lib's `string | undefined`: undefined is
|
|
24
17
|
* unrepresentable, so an out-of-range at() THROWS a catchable TypeError at
|
|
25
18
|
* the validated island exit instead of returning undefined (documented
|
package/ambient/scriptc.d.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* This file ships to EVERY program scriptc builds — the lowering program
|
|
16
16
|
* and preflight's project-world second-chance program alike (a project
|
|
17
17
|
* using comptime must typecheck in both). The divergence/precision
|
|
18
|
-
* overrides (JSON.parse(): unknown,
|
|
18
|
+
* overrides (JSON.parse(): unknown, the Promise executor shape,
|
|
19
19
|
* ...) live in scriptc-overrides.d.ts, which joins the LOWERING program only.
|
|
20
20
|
*
|
|
21
21
|
* console, process, and the "node:fs" module live in scriptc-node-fallback.d.ts,
|
|
@@ -31,13 +31,14 @@
|
|
|
31
31
|
* ref() restores it; hasRef() reports the state. The methods return the
|
|
32
32
|
* handle for chaining. Under @types/node this MERGES with NodeJS.Timeout
|
|
33
33
|
* (both map to the same numeric handle). */
|
|
34
|
-
interface Timeout {
|
|
34
|
+
interface Timeout extends Disposable {
|
|
35
35
|
ref(): Timeout;
|
|
36
36
|
unref(): Timeout;
|
|
37
37
|
hasRef(): boolean;
|
|
38
38
|
/* Re-arms the timer to fire at now + the original delay (Node's
|
|
39
39
|
* Timeout.refresh). Chaining like ref/unref. */
|
|
40
40
|
refresh(): Timeout;
|
|
41
|
+
[Symbol.dispose](): void;
|
|
41
42
|
}
|
|
42
43
|
/* The callback is invoked with NO arguments; the second overload admits a
|
|
43
44
|
* callback declared with one parameter for the sleep idiom —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-cache.js","sourceRoot":"","sources":["../../src/backend/build-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1H,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7D,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,EACjB,GAAG,EAAE,CAAC,KAAK,CACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAA8B,EAAE,IAAY;IAChF,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAmB,EAAE,KAAa;IACnE,uEAAuE;IACvE,2EAA2E;IAC3E,4EAA4E;IAC5E,OAAO,IAAI,CACT,OAAO,CAAC,WAAW,CAAC,EACpB,YAAY,KAAK,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAC1E,CAAC;AACJ,CAAC;AAED;;sCAEsC;AACtC,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,WAAmB,EACnB,IAAa;IAEb,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACjC,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED;mFACmF;AACnF,MAAM,UAAU,qBAAqB,CACnC,
|
|
1
|
+
{"version":3,"file":"build-cache.js","sourceRoot":"","sources":["../../src/backend/build-cache.ts"],"names":[],"mappings":"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"}
|
package/dist/backend/c/async.js
CHANGED
|
@@ -53,7 +53,7 @@ function emitArgPackAndTrampolinePrologue(fn) {
|
|
|
53
53
|
* their closure env through the pack (+1, released after the body). */
|
|
54
54
|
export function emitAsyncScaffolding(emitter, out) {
|
|
55
55
|
for (const fn of emitter.mod.functions) {
|
|
56
|
-
if (!fn.async)
|
|
56
|
+
if (!fn.async || fn.generator !== undefined)
|
|
57
57
|
continue;
|
|
58
58
|
const { definitions, ret, lines, spawnParams, argPackLines } = emitArgPackAndTrampolinePrologue(fn);
|
|
59
59
|
out.push(...definitions);
|
|
@@ -157,9 +157,31 @@ function emitGenScaffolding(emitter, out) {
|
|
|
157
157
|
? [` ${releaseCallC(ret, "sc_r")}; /* unwound: the never-read dummy */`]
|
|
158
158
|
: []), ` }`, `}`);
|
|
159
159
|
out.push(...lines);
|
|
160
|
+
let settleAsync = null;
|
|
161
|
+
if (fn.async) {
|
|
162
|
+
const genT = {
|
|
163
|
+
kind: "generator",
|
|
164
|
+
async: true,
|
|
165
|
+
yieldT: fn.generator.yieldT,
|
|
166
|
+
retT: ret,
|
|
167
|
+
nextT: fn.generator.nextT,
|
|
168
|
+
};
|
|
169
|
+
const resultT = fn.generator.resultType;
|
|
170
|
+
const build = genResultThunkFor(emitter, genT, resultT);
|
|
171
|
+
settleAsync = `${build}_async`;
|
|
172
|
+
const settleKey = `async:${typeKey(genT)}`;
|
|
173
|
+
if (!emitter.genResThunks.has(settleKey)) {
|
|
174
|
+
emitter.genResThunks.set(settleKey, settleAsync);
|
|
175
|
+
const adapters = vAdapters(resultT);
|
|
176
|
+
out.push(`static void ${settleAsync}(ScrGen *sc_g, ScrPromise *sc_p);`);
|
|
177
|
+
emitter.walkerDefs.push(`static void ${settleAsync}(ScrGen *sc_g, ScrPromise *sc_p) {`, ` ${mangleRecordStruct(resultT.shapeId)} *sc_r = ${build}(sc_g);`, ` scr_promise_fulfill_ref(sc_p, sc_r, ${adapters.retain}, ${adapters.release}, ${emitter.traceArgC(resultT)});`, `}`, ``);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
160
180
|
out.push(`static void ${mangleGenDrop(fn.name)}(void *sc_ap0) {`, ` ${pack} sc_a = *(${pack} *)sc_ap0;`, ` free(sc_ap0);`, ...(lifted ? [` scr_closure_release(sc_a.sc_env);`] : []), ...fn.params
|
|
161
181
|
.filter((p) => isRefCounted(p.type))
|
|
162
|
-
.map((p) => ` ${releaseCallC(p.type, `sc_a.${pname(p)}`)};`), ...(!lifted && !fn.params.some((p) => isRefCounted(p.type)) ? [` (void)sc_a;`] : []), `}`, `static ScrGen *${mangleGenSpawn(fn.name)}(${spawnParams.join(", ") || "void"}) {`, ...argPackLines,
|
|
182
|
+
.map((p) => ` ${releaseCallC(p.type, `sc_a.${pname(p)}`)};`), ...(!lifted && !fn.params.some((p) => isRefCounted(p.type)) ? [` (void)sc_a;`] : []), `}`, `static ScrGen *${mangleGenSpawn(fn.name)}(${spawnParams.join(", ") || "void"}) {`, ...argPackLines, settleAsync === null
|
|
183
|
+
? ` return scr_gen_new(&${mangleTrampoline(fn.name)}, sc_ap, &${mangleGenDrop(fn.name)});`
|
|
184
|
+
: ` return scr_async_gen_new(&${mangleTrampoline(fn.name)}, sc_ap, &${mangleGenDrop(fn.name)}, &${settleAsync});`, `}`);
|
|
163
185
|
}
|
|
164
186
|
}
|
|
165
187
|
/** Interned per-union child exit adapter: the runtime invokes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async.js","sourceRoot":"","sources":["../../../src/backend/c/async.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"async.js","sourceRoot":"","sources":["../../../src/backend/c/async.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ export declare class CEmitter {
|
|
|
29
29
|
/** Kind-specialized typed-array access helpers actually used by this
|
|
30
30
|
* program. Keeping these in the generated TU means unrelated binaries do
|
|
31
31
|
* not pay even debug/link metadata for byte-loop fast paths. */
|
|
32
|
-
readonly bytesElementHelpers: Set<"
|
|
32
|
+
readonly bytesElementHelpers: Set<"get:f32:f64" | "get:f32:u64" | "get:i32:f64" | "get:i32:u64" | "get:u32:f64" | "get:u32:u64" | "get:u8:f64" | "get:u8:u64" | "set:f32:f64" | "set:f32:u64" | "set:i32:f64" | "set:i32:u64" | "set:u32:f64" | "set:u32:u64" | "set:u8:f64" | "set:u8:u64">;
|
|
33
33
|
/** Interned unit-armed union instances: "unionId:tag" → static symbol.
|
|
34
34
|
* A unit arm (undefined/null) has no payload, so every instance of one
|
|
35
35
|
* (union, tag) pair is identical — ONE immortal (rc == SIZE_MAX) static
|
|
@@ -176,8 +176,8 @@ export declare class CEmitter {
|
|
|
176
176
|
* for each pull, preserving iterator-time reads without teaching the
|
|
177
177
|
* runtime the compiler's program-specific record/union layouts. */
|
|
178
178
|
readonly streamFromArrayAdapters: Map<string, string>;
|
|
179
|
-
/** Identity-preserving static→dyn capsules
|
|
180
|
-
* remain directly observable
|
|
179
|
+
/** Identity-preserving static→dyn capsules for program classes and Web
|
|
180
|
+
* APIs whose values remain directly observable. */
|
|
181
181
|
readonly liveDynRefAdapters: Map<string, {
|
|
182
182
|
snapshot: string;
|
|
183
183
|
commit: string;
|
|
@@ -244,6 +244,7 @@ export declare class CEmitter {
|
|
|
244
244
|
labels?: string[];
|
|
245
245
|
scopeDepth: number;
|
|
246
246
|
frameDepth: number;
|
|
247
|
+
finallyDepth: number;
|
|
247
248
|
} | {
|
|
248
249
|
kind: "switch";
|
|
249
250
|
endLabel: string;
|
|
@@ -251,6 +252,7 @@ export declare class CEmitter {
|
|
|
251
252
|
labels?: string[];
|
|
252
253
|
scopeDepth: number;
|
|
253
254
|
frameDepth: number;
|
|
255
|
+
finallyDepth: number;
|
|
254
256
|
} | {
|
|
255
257
|
kind: "block";
|
|
256
258
|
endLabel: string;
|
|
@@ -258,6 +260,7 @@ export declare class CEmitter {
|
|
|
258
260
|
labels: string[];
|
|
259
261
|
scopeDepth: number;
|
|
260
262
|
frameDepth: number;
|
|
263
|
+
finallyDepth: number;
|
|
261
264
|
})[];
|
|
262
265
|
labelCounter: number;
|
|
263
266
|
readonly returnTypeByFn: Map<string, IrType>;
|
|
@@ -277,19 +280,22 @@ export declare class CEmitter {
|
|
|
277
280
|
frameDepth: number;
|
|
278
281
|
scopeDepth: number;
|
|
279
282
|
}[];
|
|
280
|
-
/** Enclosing try-with-
|
|
281
|
-
* return
|
|
282
|
-
*
|
|
283
|
-
* the region's depths, and jumps to `label` (the region's pending-return
|
|
284
|
-
* finally copy), whose tail dispatches to the next region out or emits
|
|
285
|
-
* the actual return. Spans tryBody and catchBody; the finally body
|
|
286
|
-
* itself is outside (the frontend fences jumps there). */
|
|
283
|
+
/** Enclosing try-with-finally regions, innermost last. Returns use the
|
|
284
|
+
* central pending-return copies; break/continue inline the crossed bodies
|
|
285
|
+
* with the same truncated ownership and exception context as LLVM. */
|
|
287
286
|
finallyStack: {
|
|
288
287
|
label: string;
|
|
289
288
|
used: boolean;
|
|
290
289
|
frameDepth: number;
|
|
291
290
|
scopeDepth: number;
|
|
291
|
+
tryDepth: number;
|
|
292
|
+
body: IrStmt[];
|
|
292
293
|
}[];
|
|
294
|
+
/** Scope entry protecting sc_pret while a pending-return finally copy
|
|
295
|
+
* runs. A return in that copy replaces the old completion: it evaluates
|
|
296
|
+
* first, releases the old slot, then removes this protection from its
|
|
297
|
+
* own unwind path before dispatching. */
|
|
298
|
+
pendingReturnScopeIndex: number | null;
|
|
293
299
|
/** Return type of the function being emitted — the unwind path returns a
|
|
294
300
|
* dummy of this type (never read: callers check the pending flag first). */
|
|
295
301
|
currentReturnType: IrType;
|
|
@@ -402,6 +408,12 @@ export declare class CEmitter {
|
|
|
402
408
|
* label are still on the jump's path (return passes 0/0 — it leaves the
|
|
403
409
|
* whole function). */
|
|
404
410
|
releaseForJump(frameDepth: number, scopeDepth: number): void;
|
|
411
|
+
/** Run the finally regions a break/continue exits, then release to its
|
|
412
|
+
* resolved target. Every body sees compile-time frame/scope/finally/try
|
|
413
|
+
* stacks truncated to the region boundary: a throw propagates outside
|
|
414
|
+
* the completing try, and a jump inside the finally replaces the pending
|
|
415
|
+
* jump without re-entering the same cleanup. */
|
|
416
|
+
emitFinallysForJump(finallyDepth: number, frameDepth: number, scopeDepth: number): void;
|
|
405
417
|
/** THE unwind path at a point where an exception is pending: release
|
|
406
418
|
* everything between here and the innermost try handler — or the whole
|
|
407
419
|
* function — via releaseForJump, then jump to the handler / return a
|