@scriptc/compiler 0.0.10 → 0.0.11

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.
Files changed (78) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +54 -9
  2. package/dist/backend/emission/emit-exprs.js +34 -2
  3. package/dist/backend/emission/emit-exprs.js.map +1 -1
  4. package/dist/backend/emission/emitter.js +25 -1
  5. package/dist/backend/emission/emitter.js.map +1 -1
  6. package/dist/backend/llvm/emitter.js +59 -4
  7. package/dist/backend/llvm/emitter.js.map +1 -1
  8. package/dist/coverage/surface-manifest.js +16 -2
  9. package/dist/coverage/surface-manifest.js.map +1 -1
  10. package/dist/diagnostics/diagnostic.d.ts +20 -7
  11. package/dist/diagnostics/diagnostic.js +44 -11
  12. package/dist/diagnostics/diagnostic.js.map +1 -1
  13. package/dist/frontend/lowering/lower-builtins.d.ts +56 -0
  14. package/dist/frontend/lowering/lower-builtins.js +235 -4
  15. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  16. package/dist/frontend/lowering/lower-calls.js +38 -4
  17. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  18. package/dist/frontend/lowering/lower-classes.d.ts +7 -0
  19. package/dist/frontend/lowering/lower-classes.js +51 -1
  20. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  21. package/dist/frontend/lowering/lower-containers.d.ts +4 -0
  22. package/dist/frontend/lowering/lower-containers.js +69 -7
  23. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  24. package/dist/frontend/lowering/lower-emitter.d.ts +70 -3
  25. package/dist/frontend/lowering/lower-emitter.js +436 -29
  26. package/dist/frontend/lowering/lower-emitter.js.map +1 -1
  27. package/dist/frontend/lowering/lower-exprs.d.ts +80 -5
  28. package/dist/frontend/lowering/lower-exprs.js +472 -13
  29. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  30. package/dist/frontend/lowering/lower-modules.d.ts +8 -5
  31. package/dist/frontend/lowering/lower-modules.js +141 -47
  32. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  33. package/dist/frontend/lowering/lower-namespaces.d.ts +14 -0
  34. package/dist/frontend/lowering/lower-namespaces.js +122 -15
  35. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  36. package/dist/frontend/lowering/lower-stmts.js +80 -6
  37. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  38. package/dist/frontend/lowering/lower-stream.js +113 -6
  39. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  40. package/dist/frontend/lowering/lowerer.d.ts +17 -0
  41. package/dist/frontend/lowering/lowerer.js +105 -17
  42. package/dist/frontend/lowering/lowerer.js.map +1 -1
  43. package/dist/frontend/lowering/surfaces.d.ts +44 -0
  44. package/dist/frontend/lowering/surfaces.js +234 -3
  45. package/dist/frontend/lowering/surfaces.js.map +1 -1
  46. package/dist/frontend/npm.d.ts +12 -0
  47. package/dist/frontend/npm.js +30 -0
  48. package/dist/frontend/npm.js.map +1 -1
  49. package/dist/frontend/program.d.ts +25 -0
  50. package/dist/frontend/program.js +144 -135
  51. package/dist/frontend/program.js.map +1 -1
  52. package/dist/frontend/shared.d.ts +1 -1
  53. package/dist/frontend/shared.js +1 -1
  54. package/dist/frontend/shared.js.map +1 -1
  55. package/dist/index.d.ts +2 -1
  56. package/dist/index.js +137 -4
  57. package/dist/index.js.map +1 -1
  58. package/dist/ir/nodes.d.ts +64 -8
  59. package/dist/ir/nodes.js +21 -3
  60. package/dist/ir/nodes.js.map +1 -1
  61. package/dist/ir/validate.js +11 -2
  62. package/dist/ir/validate.js.map +1 -1
  63. package/dist/library/fence-eval.js +12 -2
  64. package/dist/library/fence-eval.js.map +1 -1
  65. package/dist/library/int-infer.d.ts +119 -0
  66. package/dist/library/int-infer.js +1301 -0
  67. package/dist/library/int-infer.js.map +1 -0
  68. package/dist/library/int-infer.test.d.ts +1 -0
  69. package/dist/library/int-infer.test.js +279 -0
  70. package/dist/library/int-infer.test.js.map +1 -0
  71. package/dist/library/profile.d.ts +32 -5
  72. package/dist/library/profile.js +77 -13
  73. package/dist/library/profile.js.map +1 -1
  74. package/dist/library/sidecar.d.ts +23 -0
  75. package/dist/library/sidecar.js +150 -16
  76. package/dist/library/sidecar.js.map +1 -1
  77. package/package.json +2 -2
  78. package/surface-manifest.json +208 -10
@@ -37,6 +37,7 @@
37
37
  * statement is not modeled — same as top-level const reads through early
38
38
  * calls). */
39
39
  import * as ts from "../ts7/adapter.js";
40
+ import { boundIdentifiersOf } from "./lowerer.js";
40
41
  import { locOf, resolveImport } from "../program.js";
41
42
  import { F64, STRING } from "../../ir/nodes.js";
42
43
  /** True when this module declaration produces NO runtime construct at all:
@@ -388,28 +389,134 @@ export function ambientUndefVarRootOf(L, e) {
388
389
  }
389
390
  if (!ts.isIdentifier(root))
390
391
  return null;
391
- const sym = L.resolveValueSymbol(root);
392
- if (!sym)
393
- return null;
394
- if (L.trapBindings.has(sym))
392
+ // PROBE resolution: every caller asks "is this chain ambient-rooted?"
393
+ // and proceeds to its ordinary lowering on a null answer — so the
394
+ // question must not carry resolution's side effects. Bare
395
+ // resolveValueSymbol flushes the root's DEFERRED collection
396
+ // diagnostics onto the build (reached-only-by-the-probe declarations
397
+ // reported eagerly — collectGlobals runs this walk on every
398
+ // initializer) and throws the cross-block merged-namespace fence's
399
+ // PoisonError out of collection entirely. The collect-phase guard
400
+ // suppresses both; the ordinary lowering that follows a null answer
401
+ // re-resolves with full effects at its own site.
402
+ const wasCollecting = L.collecting;
403
+ L.collecting = true;
404
+ try {
405
+ const sym = L.resolveValueSymbol(root);
406
+ if (!sym)
407
+ return null;
408
+ if (L.trapBindings.has(sym))
409
+ return root;
410
+ if (L.isStdlibSymbol(sym))
411
+ return null;
412
+ if (ambientUndefinedFnSymbolOf(L, root) !== null)
413
+ return root;
414
+ const decls = L.checker.declarationsOf(sym);
415
+ if (decls.length === 0)
416
+ return null;
417
+ for (const d of decls) {
418
+ if (!ts.isVariableDeclaration(d) || d.initializer !== undefined)
419
+ return null;
420
+ if (d.getSourceFile().isDeclarationFile)
421
+ return null; // lib/@types keep their own fences
422
+ if (!(ts.getCombinedModifierFlags(d) & ts.ModifierFlags.Ambient))
423
+ return null;
424
+ }
395
425
  return root;
396
- if (L.isStdlibSymbol(sym))
426
+ }
427
+ finally {
428
+ L.collecting = wasCollecting;
429
+ }
430
+ }
431
+ /** The declaration-classification form of ambientUndefVarRootOf: the root
432
+ * that makes `decl` a TRAP BINDING — its initializer provably throws the
433
+ * root's ReferenceError, so the binding never holds a value and needs no
434
+ * storage — with the storage question answered honestly: a binding the
435
+ * program WRITES anywhere keeps ordinary storage instead, because the
436
+ * no-storage stance would fence every write site ("assignment to 'x'
437
+ * (not a writable local or module global)") where the ordinary lowering
438
+ * compiles them (`declare const numLiteral: 0; let t1 = numLiteral;
439
+ * t1 = t1 + 42` — the literal-widening corpus shape). The writes still
440
+ * never RUN either way — module init unwinds at the declaration's throw,
441
+ * which the initializer READ lowers to through the ordinary chain walk
442
+ * (lower-exprs) — so runtime semantics are identical; only the binding's
443
+ * storage story changes. */
444
+ export function trapDeclRootOf(L, decl) {
445
+ if (decl.initializer === undefined)
397
446
  return null;
398
- if (ambientUndefinedFnSymbolOf(L, root) !== null)
399
- return root;
400
- const decls = L.checker.declarationsOf(sym);
401
- if (decls.length === 0)
447
+ const root = ambientUndefVarRootOf(L, decl.initializer);
448
+ if (root === null)
402
449
  return null;
403
- for (const d of decls) {
404
- if (!ts.isVariableDeclaration(d) || d.initializer !== undefined)
405
- return null;
406
- if (d.getSourceFile().isDeclarationFile)
407
- return null; // lib/@types keep their own fences
408
- if (!(ts.getCombinedModifierFlags(d) & ts.ModifierFlags.Ambient))
450
+ for (const nameNode of boundIdentifiersOf(decl.name)) {
451
+ const sym = L.checker.getSymbolAtLocation(nameNode);
452
+ if (sym && bindingEverWritten(L, sym, decl.getSourceFile()))
409
453
  return null;
410
454
  }
411
455
  return root;
412
456
  }
457
+ /** True when any identifier resolving to `sym` sits in a WRITE position in
458
+ * `sf` (module-scope bindings cannot be written from other modules — ESM
459
+ * imported bindings are read-only): an assignment LHS (compound forms
460
+ * included), a destructuring-assignment element, ++/--, or a bare
461
+ * for-in/of cursor. Resolution is plain getSymbolAtLocation — a probe
462
+ * must not flush deferred diagnostics or fence. */
463
+ function bindingEverWritten(L, sym, sf) {
464
+ const symText = sym.name;
465
+ const namesSym = (e) => ts.isIdentifier(e) && e.text === symText && L.checker.getSymbolAtLocation(e) === sym;
466
+ const patternWrites = (target) => {
467
+ if (namesSym(target))
468
+ return true;
469
+ let hit = false;
470
+ const walk = (m) => {
471
+ if (hit)
472
+ return;
473
+ if (namesSym(m))
474
+ hit = true;
475
+ else
476
+ m.forEachChild(walk);
477
+ };
478
+ target.forEachChild(walk);
479
+ return hit;
480
+ };
481
+ let written = false;
482
+ const visit = (n) => {
483
+ if (written)
484
+ return;
485
+ if (ts.isBinaryExpression(n)) {
486
+ const k = n.operatorToken.kind;
487
+ if (k >= ts.SyntaxKind.FirstAssignment && k <= ts.SyntaxKind.LastAssignment) {
488
+ let lhs = n.left;
489
+ while (ts.isParenthesizedExpression(lhs))
490
+ lhs = lhs.expression;
491
+ if (namesSym(lhs))
492
+ written = true;
493
+ else if (ts.isArrayLiteralExpression(lhs) || ts.isObjectLiteralExpression(lhs)) {
494
+ if (patternWrites(lhs))
495
+ written = true;
496
+ }
497
+ }
498
+ }
499
+ else if ((ts.isPrefixUnaryExpression(n) || ts.isPostfixUnaryExpression(n)) &&
500
+ (n.operator === ts.SyntaxKind.PlusPlusToken || n.operator === ts.SyntaxKind.MinusMinusToken)) {
501
+ let op = n.operand;
502
+ while (ts.isParenthesizedExpression(op))
503
+ op = op.expression;
504
+ if (namesSym(op))
505
+ written = true;
506
+ }
507
+ else if ((ts.isForOfStatement(n) || ts.isForInStatement(n)) && !ts.isVariableDeclarationList(n.initializer)) {
508
+ let t = n.initializer;
509
+ while (ts.isParenthesizedExpression(t))
510
+ t = t.expression;
511
+ if (namesSym(t) || ((ts.isArrayLiteralExpression(t) || ts.isObjectLiteralExpression(t)) && patternWrites(t))) {
512
+ written = true;
513
+ }
514
+ }
515
+ n.forEachChild(visit);
516
+ };
517
+ sf.forEachChild(visit);
518
+ return written;
519
+ }
413
520
  /** ambientUndefReadType's CONTEXTUAL fallback: when the use site's own
414
521
  * type has no mapping (an `any`-typed member off a narrowed ambient), the
415
522
  * type the value flows INTO types the throw instead — sound because the
@@ -1 +1 @@
1
- {"version":3,"file":"lower-namespaces.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lower-namespaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lower-namespaces.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lower-namespaces.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ import { enforceLibBoundary } from "./lib-boundary.js";
10
10
  import { cjsExportAssignmentOf, cjsExportDiscardReason, cjsExportTargetLiteral, isCjsJsFile, isJsSourceFile, locOf, requireSpecOf } from "../program.js";
11
11
  import { COMPOUND_ASSIGN_OPS, STR_METHODS, UNSUPPORTED_STMT, isStdlibMember, sideEffectFreeOptionValue, stdlibGlobalAliasDecl, stdlibGlobalNameOf } from "./surfaces.js";
12
12
  import { isProvenanceSourceFile } from "../provenance-registry.js";
13
- import { ambientUndefVarRootOf, lowerImportEquals, nsUndefRead, nsWritableTarget } from "./lower-namespaces.js";
13
+ import { ambientUndefVarRootOf, lowerImportEquals, nsUndefRead, nsWritableTarget, trapDeclRootOf } from "./lower-namespaces.js";
14
14
  import { expandoWritableTarget, lowerExpandoAssignStmt } from "./lower-expando.js";
15
15
  import { lowerForOfArrayIter, lowerForOfMap, lowerForOfSearchParams, lowerForOfSet, objectIterOverIndexShape, strCharsCall } from "./lower-containers.js";
16
16
  import { bindingContextualGenericFnNodeOf, bindingGenericFnAliasInfoOf, bindingGenericFnInfoOf, bindingGenericFnNodeOf, deadUnmappableBinding, implicitLocalFnInfoOf, implicitLocalFnNodeOf, nullishExprUnitOf, nullishGenericBindingUnitOf, recordKeysArrayCall } from "./lower-calls.js";
@@ -18,9 +18,9 @@ import { isMixinFnBinding, mixinResultBindingClassOf } from "./lower-mixins.js";
18
18
  import { genericIfaceBindingKeepsClass } from "./lower-classes.js";
19
19
  import { lowerStreamUnderscoreAssign, streamClassAliasDecl, streamSidesOf } from "./lower-stream.js";
20
20
  import { lowerHttpResPropertyAssignment, lowerServerCloseOverrideAssignment } from "./lower-server.js";
21
- import { builtinMemberRequireDecl, builtinNamespaceDestructureModuleOf } from "./lower-builtins.js";
21
+ import { builtinMemberRequireDecl, builtinNamespaceDestructureModuleOf, createRequireBindingDecl, createRequireCalleeFileOf, createRequireNamespaceDecl } from "./lower-builtins.js";
22
22
  import { lowerEnumDeclaration } from "./lower-enums.js";
23
- import { abstractPropertyDeclOf, aliasTypeofNarrows, probeLower, pureReemittable, symbolFieldInfo } from "./lower-exprs.js";
23
+ import { abstractPropertyDeclOf, aliasTypeofNarrows, isMatchSliceType, lowerGroupsProjection, matchResultNamedGroupsOf, probeLower, pureReemittable, symbolFieldInfo } from "./lower-exprs.js";
24
24
  import { checkerPanicDiag, isCheckerPanic, requiresDynamicDiag } from "../../diagnostics/diagnostic.js";
25
25
  import { isUnitOnlyTsType, unitOnlyUnion } from "../types.js";
26
26
  import { canonicalBuiltinModule, isRelativeSpecifier } from "../shared.js";
@@ -1103,6 +1103,39 @@ export function lowerDestructuringDecl(L, decl, isLet) {
1103
1103
  init = { kind: "unionNarrow", unionId: init.type.unionId, tag, value: uref, type: arm, loc };
1104
1104
  }
1105
1105
  }
1106
+ // `const { groups } = re.exec(s)!` / `const { groups: { year } } = m`
1107
+ // — every pattern element binds `groups` off a MATCH SLICE whose
1108
+ // regex is statically known: the slice has no record shape of its
1109
+ // own, so the groups projection (lowerGroupsProjection — the same
1110
+ // record `m.groups` reads produce) wraps one level in a synthesized
1111
+ // `{ groups: ... }` record and the ordinary record destructure below
1112
+ // serves the pattern — aliases and nested patterns included. Only
1113
+ // named-group regexes take the wrap: a group-less regex destructures
1114
+ // `groups: undefined` in Node (a nested pattern then throws), which
1115
+ // the fence reports honestly instead.
1116
+ if (ts.isObjectBindingPattern(decl.name) &&
1117
+ decl.name.elements.length > 0 &&
1118
+ isMatchSliceType(L, init.type) &&
1119
+ decl.name.elements.every((el) => {
1120
+ if (el.dotDotDotToken !== undefined || el.name === undefined)
1121
+ return false;
1122
+ const prop = el.propertyName;
1123
+ if (prop === undefined)
1124
+ return ts.isIdentifier(el.name) && el.name.text === "groups";
1125
+ return (ts.isIdentifier(prop) || ts.isStringLiteral(prop)) && prop.text === "groups";
1126
+ })) {
1127
+ const groups = matchResultNamedGroupsOf(L, decl.initializer);
1128
+ if (groups !== null && groups.length > 0) {
1129
+ const proj = lowerGroupsProjection(L, init, groups, loc);
1130
+ const outerShape = L.shapes.intern([{ name: "groups", type: proj.type }], false, undefined, ["groups"]);
1131
+ init = {
1132
+ kind: "recordLit",
1133
+ fields: [{ name: "groups", value: proj }],
1134
+ type: { kind: "record", shapeId: outerShape },
1135
+ loc,
1136
+ };
1137
+ }
1138
+ }
1106
1139
  const tmp = L.declareHiddenLocal("%destr", init.type);
1107
1140
  out.push({ kind: "varDecl", localId: tmp.id, init, loc });
1108
1141
  // V8's destructuring TypeError spells STATIC sources: an identifier
@@ -1586,6 +1619,29 @@ export function lowerBindingPattern(L, pattern, srcRef, srcType, isLet, out, dyn
1586
1619
  continue;
1587
1620
  }
1588
1621
  const fieldType = shape.fields.find((f) => f.name === propName)?.type;
1622
+ if (!fieldType && shape.indexValue !== undefined && !shape.tuple) {
1623
+ // An UNDECLARED key of an INDEX-SIGNATURE shape (`const { m, n, p }
1624
+ // = ....groups` over `{ [key: string]: string }` — the groups
1625
+ // record, `Record<string, T>` tables generally): the overflow-map
1626
+ // read, exactly the dot access's recordKeyGet — a missing key
1627
+ // traps when the value type carries no undefined arm (the checker
1628
+ // claimed V), or binds the undefined arm (where a default applies
1629
+ // like any field's).
1630
+ const loc = locOf(el);
1631
+ let value = {
1632
+ kind: "recordKeyGet",
1633
+ obj: srcRef(),
1634
+ shapeId: srcType.shapeId,
1635
+ key: { kind: "strLit", value: propName, type: STRING, loc },
1636
+ overflowOnly: true,
1637
+ type: shape.indexValue,
1638
+ loc,
1639
+ };
1640
+ if (el.initializer)
1641
+ value = applyBindingDefault(L, el, value);
1642
+ L.bindPatternTarget(el.name, value, isLet, out);
1643
+ continue;
1644
+ }
1589
1645
  if (!fieldType) {
1590
1646
  // The pattern names a field the source SHAPE does not carry —
1591
1647
  // `for (let {x = 1} of [{}])` (signature 08): tsc types the binding
@@ -2566,8 +2622,10 @@ export function lowerVarDecl(L, decl, isLet) {
2566
2622
  // statement lowers to exactly that throw; the binding registers as a
2567
2623
  // trap (references lower to the same never-reached shape), and no
2568
2624
  // storage or type mapping is needed for a value that never exists.
2569
- if (decl.initializer !== undefined) {
2570
- const root = ambientUndefVarRootOf(L, decl.initializer);
2625
+ // Written bindings keep ordinary storage (trapDeclRootOf) — the
2626
+ // initializer read still lowers to the root's throw below.
2627
+ {
2628
+ const root = trapDeclRootOf(L, decl);
2571
2629
  if (root !== null) {
2572
2630
  for (const nameNode of boundIdentifiersOf(decl.name)) {
2573
2631
  const sym = L.checker.getSymbolAtLocation(nameNode);
@@ -2631,6 +2689,17 @@ export function lowerVarDecl(L, decl, isLet) {
2631
2689
  // skipped its global by the same test).
2632
2690
  if (builtinMemberRequireDecl(decl.name, decl.initializer))
2633
2691
  return null;
2692
+ // `const require = createRequire(import.meta.url)` — compile-time
2693
+ // plumbing: each call through the binding resolves per site
2694
+ // (lowerCreateRequireCall); no storage, no code (collectGlobals
2695
+ // skipped its global by the same test).
2696
+ if (!isLet && createRequireBindingDecl(L, decl.name, decl.initializer))
2697
+ return null;
2698
+ // `const fs = require("node:fs")` through that binding — a builtin
2699
+ // namespace import in const clothing: alias plumbing, no storage
2700
+ // (builtinNamespaceModuleOf resolves member uses).
2701
+ if (!isLet && createRequireNamespaceDecl(L, decl.name, decl.initializer))
2702
+ return null;
2634
2703
  // `const { NGHTTP2_CANCEL } = http2.constants` — a destructure over
2635
2704
  // the baked constants table: alias plumbing, no storage (uses read
2636
2705
  // their literals via http2ConstantBindingOf; collectGlobals skipped
@@ -3647,7 +3716,12 @@ export function lowerExprStatement(L, expr) {
3647
3716
  ts.isExpressionStatement(stmtNode) &&
3648
3717
  ts.isSourceFile(stmtNode.parent) &&
3649
3718
  isJsSourceFile(stmtNode.parent);
3650
- if (requireSpecOf(expr) !== null && ts.isCallExpression(expr) && ts.isIdentifier(expr.expression)) {
3719
+ if (requireSpecOf(expr) !== null &&
3720
+ ts.isCallExpression(expr) &&
3721
+ ts.isIdentifier(expr.expression) &&
3722
+ // A binding NAMED require made by createRequire is not the CJS
3723
+ // global — the expression path owns it (lowerCreateRequireCall).
3724
+ createRequireCalleeFileOf(L, expr.expression) === null) {
3651
3725
  const sf = expr.getSourceFile();
3652
3726
  // A bare require of a package NOTHING INSTALLED resolves, in ANY
3653
3727
  // CommonJS JS file (the export-assignment spellings tsgo marks