@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
|
@@ -507,16 +507,16 @@ export class CheckerFacade {
|
|
|
507
507
|
base = this.raw.getBaseTypeOfLiteralType(type) ?? type;
|
|
508
508
|
}
|
|
509
509
|
else if (flags & (TypeFlags.StringLiteral | TypeFlags.TemplateLiteral)) {
|
|
510
|
-
base = this.
|
|
510
|
+
base = this.getStringType();
|
|
511
511
|
}
|
|
512
512
|
else if (flags & TypeFlags.NumberLiteral) {
|
|
513
|
-
base = this.
|
|
513
|
+
base = this.getNumberType();
|
|
514
514
|
}
|
|
515
515
|
else if (flags & TypeFlags.BigIntLiteral) {
|
|
516
516
|
base = this.intrinsic("bigint", () => this.raw.getBigIntType());
|
|
517
517
|
}
|
|
518
518
|
else if (flags & TypeFlags.BooleanLiteral) {
|
|
519
|
-
base = this.
|
|
519
|
+
base = this.getBooleanType();
|
|
520
520
|
}
|
|
521
521
|
else {
|
|
522
522
|
base = type;
|
|
@@ -639,6 +639,15 @@ export class CheckerFacade {
|
|
|
639
639
|
this.unknownType ??= this.raw.getUnknownType();
|
|
640
640
|
return this.unknownType;
|
|
641
641
|
}
|
|
642
|
+
getStringType() {
|
|
643
|
+
return this.intrinsic("string", () => this.raw.getStringType());
|
|
644
|
+
}
|
|
645
|
+
getNumberType() {
|
|
646
|
+
return this.intrinsic("number", () => this.raw.getNumberType());
|
|
647
|
+
}
|
|
648
|
+
getBooleanType() {
|
|
649
|
+
return this.intrinsic("boolean", () => this.raw.getBooleanType());
|
|
650
|
+
}
|
|
642
651
|
/** 7.0.2 dropped getAwaitedType (the census's one MISSING checker method).
|
|
643
652
|
* Shimmed per the survey: unwrap Promise/PromiseLike references through
|
|
644
653
|
* their type argument, distributing over unions. The client cannot BUILD
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/frontend/ts7/checker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/frontend/ts7/checker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/frontend/ts7/enums.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD;;;;;;;;;;;;;;;;gEAgBgE;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,UAAU,EACV,YAAY,EACZ,UAAU,EACV,UAAU,GACX,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,EACX,SAAS,EACT,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAElC,MAAM,OAAO,GAAG,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/frontend/ts7/enums.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD;;;;;;;;;;;;;;;;gEAgBgE;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,UAAU,EACV,YAAY,EACZ,UAAU,EACV,UAAU,GACX,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,EACX,SAAS,EACT,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAElC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C;;;qCAGqC;AACrC,SAAS,cAAc,CAAI,QAAgB,EAAE,GAAW;IACtD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAsB,CAAC;IAC/F,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,qBAAqB,CAAC,0BAA0B,QAAQ,kBAAkB,GAAG,EAAE,CAAC,CAAC;IACpH,OAAO,KAAK,CAAC;AACf,CAAC;AAiBD,MAAM,CAAC,MAAM,oBAAoB,GAC/B,cAAc,CAA2B,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;AAW3F,MAAM,CAAC,MAAM,mBAAmB,GAC9B,cAAc,CAA0B,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;AAGxF;;;4CAG4C;AAC5C,MAAM,UAAU,SAAS,CAAC,UAAoD,EAAE,KAAa;IAC3F,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC"}
|
|
@@ -66,7 +66,44 @@ function serializeOptions(options) {
|
|
|
66
66
|
}
|
|
67
67
|
return out;
|
|
68
68
|
}
|
|
69
|
+
/** TypeScript's filesystem reader removes a leading UTF-8 BOM before the
|
|
70
|
+
* parser sees source text. node:fs's utf8 reader keeps it, so normalize every
|
|
71
|
+
* virtual, shadowed, and real host response to the same parser contract. */
|
|
72
|
+
function stripSourceBom(text) {
|
|
73
|
+
return text.charCodeAt(0) === 0xfeff ? text.slice(1) : text;
|
|
74
|
+
}
|
|
69
75
|
let nextConfigId = 0;
|
|
76
|
+
const bomPreservingDecoderPrototypes = new WeakSet();
|
|
77
|
+
/** TypeScript 7.0.2's Wtf8Decoder inherits TextDecoder's default BOM
|
|
78
|
+
* handling, so decoding an individual AST/checker string-table cell strips
|
|
79
|
+
* one leading U+FEFF. Patch that decoder class once after the first project
|
|
80
|
+
* exposes an instance: delegate to its WTF-8-aware implementation, then
|
|
81
|
+
* restore the one BOM TextDecoder consumed. */
|
|
82
|
+
function preserveTransportBoms(project) {
|
|
83
|
+
const decoder = project.program.decoder;
|
|
84
|
+
if (decoder === undefined) {
|
|
85
|
+
throw new InternalCompilerError("ts7 createProgram: program decoder is unavailable");
|
|
86
|
+
}
|
|
87
|
+
const prototype = Object.getPrototypeOf(decoder);
|
|
88
|
+
if (prototype === null || typeof prototype.decode !== "function") {
|
|
89
|
+
throw new InternalCompilerError("ts7 createProgram: program decoder prototype is unavailable");
|
|
90
|
+
}
|
|
91
|
+
if (bomPreservingDecoderPrototypes.has(prototype))
|
|
92
|
+
return;
|
|
93
|
+
const decode = prototype.decode;
|
|
94
|
+
prototype.decode = function (input, options) {
|
|
95
|
+
const text = decode.call(this, input, options);
|
|
96
|
+
return this.ignoreBOM !== true &&
|
|
97
|
+
input !== undefined &&
|
|
98
|
+
input.length >= 3 &&
|
|
99
|
+
input[0] === 0xef &&
|
|
100
|
+
input[1] === 0xbb &&
|
|
101
|
+
input[2] === 0xbf
|
|
102
|
+
? "\uFEFF" + text
|
|
103
|
+
: text;
|
|
104
|
+
};
|
|
105
|
+
bomPreservingDecoderPrototypes.add(prototype);
|
|
106
|
+
}
|
|
70
107
|
/** One spawned tsgo server plus the virtual-FS overlay serving synthesized
|
|
71
108
|
* tsconfigs. Share a host across programs to pay the spawn once; the overlay
|
|
72
109
|
* is a live map, so each createProgram call adds its config before taking
|
|
@@ -87,15 +124,16 @@ export class Ts7Host {
|
|
|
87
124
|
readFile: (fileName) => {
|
|
88
125
|
const virtual = virtualFiles.get(tsgoPath(fileName));
|
|
89
126
|
if (virtual !== undefined)
|
|
90
|
-
return virtual;
|
|
127
|
+
return stripSourceBom(virtual);
|
|
91
128
|
if (shadow !== null) {
|
|
92
129
|
if (shadow.hideFile(fileName))
|
|
93
130
|
return null;
|
|
94
131
|
const replacement = shadow.readFile(fileName);
|
|
95
132
|
if (replacement !== undefined)
|
|
96
|
-
return replacement;
|
|
133
|
+
return stripSourceBom(replacement);
|
|
97
134
|
}
|
|
98
|
-
|
|
135
|
+
const source = trackedReadFile(fileName);
|
|
136
|
+
return source === null ? null : stripSourceBom(source);
|
|
99
137
|
},
|
|
100
138
|
fileExists: (fileName) => {
|
|
101
139
|
if (virtualFiles.has(tsgoPath(fileName)))
|
|
@@ -138,6 +176,7 @@ export class Ts7Host {
|
|
|
138
176
|
snapshot.dispose();
|
|
139
177
|
throw new InternalCompilerError(`ts7 createProgram: project failed to open for ${first}`);
|
|
140
178
|
}
|
|
179
|
+
preserveTransportBoms(project);
|
|
141
180
|
return new Ts7Program(project, snapshot, this, !programOwnsHost);
|
|
142
181
|
}
|
|
143
182
|
getTimingInfo() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program-adapter.js","sourceRoot":"","sources":["../../../src/frontend/ts7/program-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD;;;;;;;;;;;;;;;iDAeiD;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAQ/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5G,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAQ5I;;kCAEkC;AAClC,SAAS,gBAAgB,CAAC,OAA2B;IACnD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,QAAQ,GAAG,EAAE,CAAC;YACZ,uEAAuE;YACvE,wEAAwE;YACxE,+DAA+D;YAC/D,eAAe;YACf,KAAK,QAAQ;gBACX,iEAAiE;gBACjE,6DAA6D;gBAC7D,GAAG,CAAC,GAAG,CAAC;oBACN,KAAK,KAAK,YAAY,CAAC,MAAM;wBAC3B,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,CAAC,SAAS,CAAC,YAAqB,EAAE,KAAe,CAAC,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC,CAAC;gBAClF,MAAM;YACR,KAAK,QAAQ;gBACX,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,UAAmB,EAAE,KAAe,CAAC,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC;gBACnF,MAAM;YACR,KAAK,kBAAkB;gBACrB,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,oBAA6B,EAAE,KAAe,CAAC,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC;gBAC7F,MAAM;YACR,KAAK,iBAAiB;gBACpB,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,mBAA4B,EAAE,KAAe,CAAC,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC;gBAC5F,MAAM;YACR,KAAK,KAAK;gBACR,uEAAuE;gBACvE,GAAG,CAAC,GAAG,CAAC,GAAI,KAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACzC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CACzE,CAAC;gBACF,MAAM;YACR,
|
|
1
|
+
{"version":3,"file":"program-adapter.js","sourceRoot":"","sources":["../../../src/frontend/ts7/program-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -509,7 +509,7 @@ export function formatIrType(t, shapes, unions, seen = new Set()) {
|
|
|
509
509
|
case "promise":
|
|
510
510
|
return `Promise<${formatIrType(t.inner, shapes, unions, seen)}>`;
|
|
511
511
|
case "generator":
|
|
512
|
-
return
|
|
512
|
+
return `${t.async ? "AsyncGenerator" : "Generator"}<${formatIrType(t.yieldT, shapes, unions, seen)}, ${formatIrType(t.retT, shapes, unions, seen)}, ${formatIrType(t.nextT, shapes, unions, seen)}>`;
|
|
513
513
|
default: {
|
|
514
514
|
const _exhaustive = t;
|
|
515
515
|
void _exhaustive;
|
|
@@ -1070,6 +1070,17 @@ function mapTypeInner(type, ctx) {
|
|
|
1070
1070
|
fields.sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
|
|
1071
1071
|
return { kind: "record", shapeId: ctx.shapes.intern(fields, true) };
|
|
1072
1072
|
}
|
|
1073
|
+
// BRANDED PRIMITIVES (`string & { readonly __brand: "UserId" }`,
|
|
1074
|
+
// `number & { readonly [tag]: "Meters" }`): the marker object is purely
|
|
1075
|
+
// type-level, so the value rides the primitive's runtime representation.
|
|
1076
|
+
// The recognizer is deliberately narrower than primitive-and-any-object:
|
|
1077
|
+
// runtime-bearing class, callable, indexed, and non-literal data shapes
|
|
1078
|
+
// remain intersections with no representation.
|
|
1079
|
+
if (widened.isIntersectionType()) {
|
|
1080
|
+
const brandedPrimitive = mapBrandedPrimitiveIntersection(widened, ctx);
|
|
1081
|
+
if (brandedPrimitive)
|
|
1082
|
+
return brandedPrimitive;
|
|
1083
|
+
}
|
|
1073
1084
|
// Class instances: the type's symbol is a class declared in the user's
|
|
1074
1085
|
// file. The class NAME as a value has the *constructor* type — same
|
|
1075
1086
|
// REFINED handle intersections — @types/node's idioms: `ServerResponse<
|
|
@@ -1254,6 +1265,20 @@ function mapTypeInner(type, ctx) {
|
|
|
1254
1265
|
// (`x.toString()`) fences at each use site, never silently.
|
|
1255
1266
|
if (isStdlibInterface("Object"))
|
|
1256
1267
|
return DYN;
|
|
1268
|
+
// NodeJS.Module / the shipped fallback's ScriptcModule: a process-lifetime
|
|
1269
|
+
// scalar handle into the compiled CommonJS module registry. Module
|
|
1270
|
+
// identity is numeric identity; its fields are served by the dedicated
|
|
1271
|
+
// module lowering before generic number operations can observe the
|
|
1272
|
+
// representation. The node:module class's merged instance interface is
|
|
1273
|
+
// included, while unrelated user interfaces named Module stay structural.
|
|
1274
|
+
if ((psym?.name === "ScriptcModule" || psym?.name === "Module") &&
|
|
1275
|
+
checker.declarationsOf(psym).some((d) => (ts.isInterfaceDeclaration(d) || ts.isClassDeclaration(d)) &&
|
|
1276
|
+
ctx.isStdlibFile(d.getSourceFile()) &&
|
|
1277
|
+
(psym.name === "ScriptcModule" ||
|
|
1278
|
+
isDeclaredInAmbientNamespace(d, "NodeJS") ||
|
|
1279
|
+
isDeclaredInAmbientModule(d, "module")))) {
|
|
1280
|
+
return F64;
|
|
1281
|
+
}
|
|
1257
1282
|
// events.EventEmitter: the runtime-provided emitter base class (the
|
|
1258
1283
|
// Error-hierarchy precedent — user subclasses resolved through the
|
|
1259
1284
|
// class-instance branch above). Both type layers declare it in the
|
|
@@ -1811,9 +1836,9 @@ function mapTypeInner(type, ctx) {
|
|
|
1811
1836
|
return null;
|
|
1812
1837
|
return { kind: "promise", inner };
|
|
1813
1838
|
}
|
|
1814
|
-
// Generator<T, TReturn, TNext
|
|
1815
|
-
// the
|
|
1816
|
-
// generator kind. Channel normalization keeps the runtime honest:
|
|
1839
|
+
// Generator<T, TReturn, TNext>, AsyncGenerator<T, TReturn, TNext> (and
|
|
1840
|
+
// the lib's IterableIterator<T, ...>, the older sync annotation spelling):
|
|
1841
|
+
// the generator kind. Channel normalization keeps the runtime honest:
|
|
1817
1842
|
// yield channel — T must be a real value type (a generator that could
|
|
1818
1843
|
// only yield undefined has no C value form); `never`
|
|
1819
1844
|
// (a generator that never yields) rides the VOID
|
|
@@ -1829,7 +1854,7 @@ function mapTypeInner(type, ctx) {
|
|
|
1829
1854
|
// argument — fenced at the call).
|
|
1830
1855
|
// Mixed dyn/concrete channels stay unmapped: the shared result record's
|
|
1831
1856
|
// value slot would need a dyn union arm, which does not exist.
|
|
1832
|
-
if (isStdlibInterface("Generator") || isStdlibInterface("IterableIterator")) {
|
|
1857
|
+
if (isStdlibInterface("Generator") || isStdlibInterface("AsyncGenerator") || isStdlibInterface("IterableIterator")) {
|
|
1833
1858
|
const args = checker.getTypeArguments(widened);
|
|
1834
1859
|
const channels = genChannels(args[0], args[1], args[2], ctx);
|
|
1835
1860
|
if (!channels)
|
|
@@ -1838,7 +1863,11 @@ function mapTypeInner(type, ctx) {
|
|
|
1838
1863
|
// `.next()` could never answer — mapped generators always resume.
|
|
1839
1864
|
if (!genResultRecord(channels.yieldT, channels.retT, ctx.shapes, unions))
|
|
1840
1865
|
return null;
|
|
1841
|
-
return {
|
|
1866
|
+
return {
|
|
1867
|
+
kind: "generator",
|
|
1868
|
+
...(isStdlibInterface("AsyncGenerator") ? { async: true } : {}),
|
|
1869
|
+
...channels,
|
|
1870
|
+
};
|
|
1842
1871
|
}
|
|
1843
1872
|
// IteratorResult<T, TReturn> — the checker's type of `g.next()` (an
|
|
1844
1873
|
// alias for IteratorYieldResult<T> | IteratorReturnResult<TReturn>):
|
|
@@ -2733,7 +2762,7 @@ export function genResultRecord(yieldT, retT, shapes, unions) {
|
|
|
2733
2762
|
shapeId: shapes.intern([
|
|
2734
2763
|
{ name: "done", type: BOOL },
|
|
2735
2764
|
{ name: "value", type: valueT },
|
|
2736
|
-
]),
|
|
2765
|
+
], false, undefined, ["value", "done"]),
|
|
2737
2766
|
};
|
|
2738
2767
|
}
|
|
2739
2768
|
/** True when a checker type is inhabited ONLY by the unit values —
|
|
@@ -2830,6 +2859,90 @@ function mapHybridCallableIntersection(widened, ctx) {
|
|
|
2830
2859
|
fields.sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
|
|
2831
2860
|
return { kind: "record", shapeId: shapes.intern(fields, false, undefined, declaredOrder) };
|
|
2832
2861
|
}
|
|
2862
|
+
/** A conventional primitive brand has one runtime-carrying primitive part
|
|
2863
|
+
* and one or more phantom object parts whose fields are literal marker
|
|
2864
|
+
* values. The marker can use a string or unique-symbol key, can be imported
|
|
2865
|
+
* from a declaration file, and can be expressed through a generic alias;
|
|
2866
|
+
* none of those facts changes the runtime value. Empty `{}` refinements are
|
|
2867
|
+
* the marker-free form of the same primitive narrowing.
|
|
2868
|
+
*
|
|
2869
|
+
* Arbitrary primitive/object intersections do not erase here. A companion
|
|
2870
|
+
* with a class identity, call/construct/index signature, accessor, or a
|
|
2871
|
+
* non-literal value field might describe runtime behavior, so it retains the
|
|
2872
|
+
* SC2008 refusal instead of borrowing the primitive representation. */
|
|
2873
|
+
function mapBrandedPrimitiveIntersection(widened, ctx) {
|
|
2874
|
+
if (!widened.isIntersectionType())
|
|
2875
|
+
return null;
|
|
2876
|
+
const { checker, resolveTypeParam, resolveTypeParamTs } = ctx;
|
|
2877
|
+
const primitivePart = (part) => {
|
|
2878
|
+
const base = checker.getBaseTypeOfLiteralType(part);
|
|
2879
|
+
if (base.flags & ts.TypeFlags.Number)
|
|
2880
|
+
return F64;
|
|
2881
|
+
if (base.flags & ts.TypeFlags.String)
|
|
2882
|
+
return STRING;
|
|
2883
|
+
if (base.flags & (ts.TypeFlags.Boolean | ts.TypeFlags.BooleanLiteral))
|
|
2884
|
+
return BOOL;
|
|
2885
|
+
if (base.flags & (ts.TypeFlags.ESSymbol | ts.TypeFlags.UniqueESSymbol))
|
|
2886
|
+
return SYMBOL_T;
|
|
2887
|
+
if (base.flags & ts.TypeFlags.TypeParameter) {
|
|
2888
|
+
const bound = resolveTypeParam?.(base) ?? null;
|
|
2889
|
+
if (bound && (bound.kind === "f64" || bound.kind === "string" || bound.kind === "bool" || bound.kind === "symbol")) {
|
|
2890
|
+
contextResolutions++;
|
|
2891
|
+
return bound;
|
|
2892
|
+
}
|
|
2893
|
+
}
|
|
2894
|
+
return null;
|
|
2895
|
+
};
|
|
2896
|
+
const markerValue = (value) => {
|
|
2897
|
+
if (value.flags &
|
|
2898
|
+
(ts.TypeFlags.StringLiteral |
|
|
2899
|
+
ts.TypeFlags.NumberLiteral |
|
|
2900
|
+
ts.TypeFlags.BigIntLiteral |
|
|
2901
|
+
ts.TypeFlags.BooleanLiteral |
|
|
2902
|
+
ts.TypeFlags.UniqueESSymbol |
|
|
2903
|
+
ts.TypeFlags.EnumLiteral |
|
|
2904
|
+
ts.TypeFlags.Never |
|
|
2905
|
+
ts.TypeFlags.Undefined |
|
|
2906
|
+
ts.TypeFlags.Void |
|
|
2907
|
+
ts.TypeFlags.Null)) {
|
|
2908
|
+
return true;
|
|
2909
|
+
}
|
|
2910
|
+
if (value.isUnionType())
|
|
2911
|
+
return ts.constituentTypes(value).every(markerValue);
|
|
2912
|
+
if (value.flags & ts.TypeFlags.TypeParameter) {
|
|
2913
|
+
const bound = resolveTypeParamTs?.(value) ?? null;
|
|
2914
|
+
if (bound) {
|
|
2915
|
+
contextResolutions++;
|
|
2916
|
+
return markerValue(bound);
|
|
2917
|
+
}
|
|
2918
|
+
}
|
|
2919
|
+
return false;
|
|
2920
|
+
};
|
|
2921
|
+
let primitive = null;
|
|
2922
|
+
let markerParts = 0;
|
|
2923
|
+
for (const part of ts.constituentTypes(widened)) {
|
|
2924
|
+
const mappedPrimitive = primitivePart(part);
|
|
2925
|
+
if (mappedPrimitive) {
|
|
2926
|
+
if (primitive && !typeEquals(primitive, mappedPrimitive))
|
|
2927
|
+
return null;
|
|
2928
|
+
primitive = mappedPrimitive;
|
|
2929
|
+
continue;
|
|
2930
|
+
}
|
|
2931
|
+
const partSym = part.getSymbol();
|
|
2932
|
+
const props = checker.getPropertiesOfType(part);
|
|
2933
|
+
if ((part.flags & ts.TypeFlags.Object) === 0 ||
|
|
2934
|
+
checker.getCallSignatures(part).length > 0 ||
|
|
2935
|
+
checker.getConstructSignatures(part).length > 0 ||
|
|
2936
|
+
checker.getIndexInfosOfType(part).length > 0 ||
|
|
2937
|
+
(partSym !== undefined && (partSym.flags & ts.SymbolFlags.Class) !== 0) ||
|
|
2938
|
+
props.some((prop) => (prop.flags & (ts.SymbolFlags.GetAccessor | ts.SymbolFlags.SetAccessor)) !== 0 ||
|
|
2939
|
+
!markerValue(checker.getTypeOfSymbol(prop)))) {
|
|
2940
|
+
return null;
|
|
2941
|
+
}
|
|
2942
|
+
markerParts++;
|
|
2943
|
+
}
|
|
2944
|
+
return primitive && markerParts > 0 ? primitive : null;
|
|
2945
|
+
}
|
|
2833
2946
|
/** True for MAPPED-type results — `Partial<Config>`, `Record<"a", n>`,
|
|
2834
2947
|
* whatever `Pick`/`Omit` reduce to. Their shape is computed by the checker,
|
|
2835
2948
|
* not declared anywhere: the only declaration behind them is the utility
|