@scriptc/compiler 0.3.3 → 0.3.4

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 (213) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +713 -26
  2. package/dist/backend/cycle-mutability.d.ts +5 -0
  3. package/dist/backend/cycle-mutability.js +62 -3
  4. package/dist/backend/cycle-mutability.js.map +1 -1
  5. package/dist/backend/executable-features.js +1 -0
  6. package/dist/backend/executable-features.js.map +1 -1
  7. package/dist/backend/library-pack.js +1 -0
  8. package/dist/backend/library-pack.js.map +1 -1
  9. package/dist/backend/llvm/call-lifetimes.d.ts +5 -1
  10. package/dist/backend/llvm/call-lifetimes.js +11 -3
  11. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  12. package/dist/backend/llvm/call-lifetimes.test.js +31 -1
  13. package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
  14. package/dist/backend/llvm/common.d.ts +5 -0
  15. package/dist/backend/llvm/common.js +7 -0
  16. package/dist/backend/llvm/common.js.map +1 -1
  17. package/dist/backend/llvm/dense-array-access.js +2 -2
  18. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  19. package/dist/backend/llvm/dyn.d.ts +40 -1
  20. package/dist/backend/llvm/dyn.js +178 -27
  21. package/dist/backend/llvm/dyn.js.map +1 -1
  22. package/dist/backend/llvm/emitter.d.ts +12 -0
  23. package/dist/backend/llvm/emitter.js +164 -27
  24. package/dist/backend/llvm/emitter.js.map +1 -1
  25. package/dist/backend/llvm/expr-bytes.d.ts +9 -0
  26. package/dist/backend/llvm/expr-bytes.js +158 -63
  27. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  28. package/dist/backend/llvm/expr-calls.d.ts +3 -1
  29. package/dist/backend/llvm/expr-calls.js +49 -1
  30. package/dist/backend/llvm/expr-calls.js.map +1 -1
  31. package/dist/backend/llvm/expr-containers.js +16 -5
  32. package/dist/backend/llvm/expr-containers.js.map +1 -1
  33. package/dist/backend/llvm/intern-tables.test.d.ts +1 -0
  34. package/dist/backend/llvm/intern-tables.test.js +77 -0
  35. package/dist/backend/llvm/intern-tables.test.js.map +1 -0
  36. package/dist/backend/llvm/lib-datagram.js +10 -0
  37. package/dist/backend/llvm/lib-datagram.js.map +1 -1
  38. package/dist/backend/llvm/lib-dispatch.js +92 -1
  39. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  40. package/dist/backend/llvm/lib-filesystem.js +51 -0
  41. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  42. package/dist/backend/llvm/lib-network.js +16 -0
  43. package/dist/backend/llvm/lib-network.js.map +1 -1
  44. package/dist/backend/llvm/lib-shared.d.ts +5 -0
  45. package/dist/backend/llvm/lib-shared.js +80 -1
  46. package/dist/backend/llvm/lib-shared.js.map +1 -1
  47. package/dist/backend/llvm/lib-stream.js +87 -0
  48. package/dist/backend/llvm/lib-stream.js.map +1 -1
  49. package/dist/backend/llvm/lib-test.js +9 -0
  50. package/dist/backend/llvm/lib-test.js.map +1 -1
  51. package/dist/backend/llvm/map-number-lookup.d.ts +4 -0
  52. package/dist/backend/llvm/map-number-lookup.js +22 -0
  53. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  54. package/dist/backend/llvm/map-number-lookup.test.js +56 -0
  55. package/dist/backend/llvm/map-number-lookup.test.js.map +1 -1
  56. package/dist/backend/llvm/map-read-lifetimes.d.ts +9 -0
  57. package/dist/backend/llvm/map-read-lifetimes.js +89 -1
  58. package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
  59. package/dist/backend/llvm/map-read-lifetimes.test.js +129 -1
  60. package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
  61. package/dist/backend/llvm/publish.d.ts +5 -0
  62. package/dist/backend/llvm/publish.js +22 -3
  63. package/dist/backend/llvm/publish.js.map +1 -1
  64. package/dist/backend/llvm/reference-writes.js +5 -2
  65. package/dist/backend/llvm/reference-writes.js.map +1 -1
  66. package/dist/backend/llvm/regions.d.ts +4 -1
  67. package/dist/backend/llvm/regions.js +12 -3
  68. package/dist/backend/llvm/regions.js.map +1 -1
  69. package/dist/backend/llvm/string-reads.js +2 -2
  70. package/dist/backend/llvm/string-reads.js.map +1 -1
  71. package/dist/backend/llvm/string-slices.js +2 -2
  72. package/dist/backend/llvm/string-slices.js.map +1 -1
  73. package/dist/backend/may-throw.js +4 -0
  74. package/dist/backend/may-throw.js.map +1 -1
  75. package/dist/backend/native/contracts.d.ts +3 -0
  76. package/dist/backend/native/executable.js +13 -5
  77. package/dist/backend/native/executable.js.map +1 -1
  78. package/dist/backend/native/runtime-inputs.d.ts +1 -1
  79. package/dist/backend/native/runtime-inputs.js +1 -0
  80. package/dist/backend/native/runtime-inputs.js.map +1 -1
  81. package/dist/backend/native-codegen-core.d.ts +4 -4
  82. package/dist/backend/native-codegen-core.js +4 -6
  83. package/dist/backend/native-codegen-core.js.map +1 -1
  84. package/dist/backend/native-codegen.test.js +7 -8
  85. package/dist/backend/native-codegen.test.js.map +1 -1
  86. package/dist/backend/native-link-info-core.d.ts +3 -0
  87. package/dist/backend/native-link-info-core.js.map +1 -1
  88. package/dist/backend/publication.js +3 -1
  89. package/dist/backend/publication.js.map +1 -1
  90. package/dist/backend/runtime-pack-targets.test.js +1 -0
  91. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  92. package/dist/backend/runtime-pack.test.js +1 -0
  93. package/dist/backend/runtime-pack.test.js.map +1 -1
  94. package/dist/backend/target-diagnostics.js +7 -0
  95. package/dist/backend/target-diagnostics.js.map +1 -1
  96. package/dist/backend/warm-cache.js +1 -0
  97. package/dist/backend/warm-cache.js.map +1 -1
  98. package/dist/executable/executable-cache.d.ts +1 -0
  99. package/dist/executable/executable-cache.js +1 -0
  100. package/dist/executable/executable-cache.js.map +1 -1
  101. package/dist/executable/executable-cache.test.js +1 -0
  102. package/dist/executable/executable-cache.test.js.map +1 -1
  103. package/dist/frontend/experimental-import.d.ts +5 -1
  104. package/dist/frontend/experimental-import.js +28 -3
  105. package/dist/frontend/experimental-import.js.map +1 -1
  106. package/dist/frontend/lowering/assert-instances.d.ts +38 -0
  107. package/dist/frontend/lowering/assert-instances.js +269 -0
  108. package/dist/frontend/lowering/assert-instances.js.map +1 -0
  109. package/dist/frontend/lowering/builtins/compression.d.ts +18 -0
  110. package/dist/frontend/lowering/builtins/compression.js +175 -2
  111. package/dist/frontend/lowering/builtins/compression.js.map +1 -1
  112. package/dist/frontend/lowering/builtins/constants.js +7 -2
  113. package/dist/frontend/lowering/builtins/constants.js.map +1 -1
  114. package/dist/frontend/lowering/builtins/crypto.d.ts +6 -0
  115. package/dist/frontend/lowering/builtins/crypto.js +111 -1
  116. package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
  117. package/dist/frontend/lowering/builtins/errors.js +23 -0
  118. package/dist/frontend/lowering/builtins/errors.js.map +1 -1
  119. package/dist/frontend/lowering/builtins/timers.d.ts +3 -0
  120. package/dist/frontend/lowering/builtins/timers.js +109 -23
  121. package/dist/frontend/lowering/builtins/timers.js.map +1 -1
  122. package/dist/frontend/lowering/call-signatures.js +6 -0
  123. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  124. package/dist/frontend/lowering/class-dynamic-dispatch.js +66 -12
  125. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  126. package/dist/frontend/lowering/intern-tables.d.ts +13 -0
  127. package/dist/frontend/lowering/intern-tables.js +536 -0
  128. package/dist/frontend/lowering/intern-tables.js.map +1 -0
  129. package/dist/frontend/lowering/lower-assert.js +700 -61
  130. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  131. package/dist/frontend/lowering/lower-async-iteration.js +11 -2
  132. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  133. package/dist/frontend/lowering/lower-calls.js +17 -3
  134. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  135. package/dist/frontend/lowering/lower-classes.d.ts +3 -0
  136. package/dist/frontend/lowering/lower-classes.js +36 -0
  137. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  138. package/dist/frontend/lowering/lower-dgram.js +77 -52
  139. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  140. package/dist/frontend/lowering/lower-exprs.js +12 -0
  141. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  142. package/dist/frontend/lowering/lower-inspect.d.ts +6 -0
  143. package/dist/frontend/lowering/lower-inspect.js +112 -39
  144. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  145. package/dist/frontend/lowering/lower-mock.d.ts +11 -0
  146. package/dist/frontend/lowering/lower-mock.js +504 -0
  147. package/dist/frontend/lowering/lower-mock.js.map +1 -0
  148. package/dist/frontend/lowering/lower-modules.js +7 -0
  149. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  150. package/dist/frontend/lowering/lower-server.d.ts +3 -0
  151. package/dist/frontend/lowering/lower-server.js +380 -30
  152. package/dist/frontend/lowering/lower-server.js.map +1 -1
  153. package/dist/frontend/lowering/lower-stmts.js +23 -2
  154. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  155. package/dist/frontend/lowering/lower-stream.d.ts +10 -6
  156. package/dist/frontend/lowering/lower-stream.js +786 -27
  157. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  158. package/dist/frontend/lowering/lower-test.js +86 -8
  159. package/dist/frontend/lowering/lower-test.js.map +1 -1
  160. package/dist/frontend/lowering/lowerer.d.ts +22 -0
  161. package/dist/frontend/lowering/lowerer.js +72 -7
  162. package/dist/frontend/lowering/lowerer.js.map +1 -1
  163. package/dist/frontend/lowering/pairs-snapshot.d.ts +6 -0
  164. package/dist/frontend/lowering/pairs-snapshot.js +49 -0
  165. package/dist/frontend/lowering/pairs-snapshot.js.map +1 -1
  166. package/dist/frontend/lowering/surfaces.d.ts +4 -0
  167. package/dist/frontend/lowering/surfaces.js +61 -15
  168. package/dist/frontend/lowering/surfaces.js.map +1 -1
  169. package/dist/frontend/lowering/zlib-constants.d.ts +1 -0
  170. package/dist/frontend/lowering/zlib-constants.js +181 -0
  171. package/dist/frontend/lowering/zlib-constants.js.map +1 -0
  172. package/dist/frontend/mock-shapes.d.ts +10 -0
  173. package/dist/frontend/mock-shapes.js +76 -0
  174. package/dist/frontend/mock-shapes.js.map +1 -0
  175. package/dist/frontend/pipeline.js +5 -3
  176. package/dist/frontend/pipeline.js.map +1 -1
  177. package/dist/frontend/program.js +6 -1
  178. package/dist/frontend/program.js.map +1 -1
  179. package/dist/frontend/resolve.d.ts +4 -0
  180. package/dist/frontend/resolve.js +14 -0
  181. package/dist/frontend/resolve.js.map +1 -1
  182. package/dist/frontend/tsc-codes.js +1 -0
  183. package/dist/frontend/tsc-codes.js.map +1 -1
  184. package/dist/frontend/type-mapper.d.ts +5 -0
  185. package/dist/frontend/type-mapper.js +102 -9
  186. package/dist/frontend/type-mapper.js.map +1 -1
  187. package/dist/index.js +2 -1
  188. package/dist/index.js.map +1 -1
  189. package/dist/ir/builtin-effects.js +36 -0
  190. package/dist/ir/builtin-effects.js.map +1 -1
  191. package/dist/ir/builtin-signatures.d.ts +1 -1
  192. package/dist/ir/builtin-signatures.js +147 -8
  193. package/dist/ir/builtin-signatures.js.map +1 -1
  194. package/dist/ir/ir.d.ts +20 -1
  195. package/dist/ir/ir.js +17 -0
  196. package/dist/ir/ir.js.map +1 -1
  197. package/dist/ir/runtime-features.d.ts +1 -0
  198. package/dist/ir/runtime-features.js +29 -2
  199. package/dist/ir/runtime-features.js.map +1 -1
  200. package/dist/ir/validate.js +195 -5
  201. package/dist/ir/validate.js.map +1 -1
  202. package/dist/library/ir-policy.js +1 -0
  203. package/dist/library/ir-policy.js.map +1 -1
  204. package/dist/native/cli.js +1 -0
  205. package/dist/native/cli.js.map +1 -1
  206. package/dist/native/compiler.js +1 -3
  207. package/dist/native/compiler.js.map +1 -1
  208. package/dist/native/prepare.js +1 -0
  209. package/dist/native/prepare.js.map +1 -1
  210. package/dist/native/sanitizer.test.js +1 -0
  211. package/dist/native/sanitizer.test.js.map +1 -1
  212. package/package.json +20 -20
  213. package/surface-manifest.json +869 -48
@@ -1 +1 @@
1
- {"version":3,"file":"lower-test.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lower-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lower-test.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lower-test.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ import type { InstantiationPath } from "./instantiation-path.js";
32
32
  import { type ArrayHofInfo } from "./containers/array-pipelines.js";
33
33
  import { type ComputedEventPattern, type EmitSpecCtx, type EmitSpecRequest, type EventSig } from "./lower-event-emitter.js";
34
34
  import { type ConsoleMethodMember, type ConsoleOutputMember } from "./builtins/console.js";
35
+ import type { AssertInstanceOptions } from "./assert-instances.js";
35
36
  import { type FieldTarget } from "./lower-exprs.js";
36
37
  import type { ExpandoMembers } from "./lower-expando.js";
37
38
  /** Entry function name. '%' cannot appear in a TS identifier, so a user
@@ -448,6 +449,11 @@ export declare class Lowerer {
448
449
  * prepass. This includes explicit annotations: unchecked TS annotations do
449
450
  * not prove that an array property read produced a value. */
450
451
  readonly runtimeOptionalBindingTypes: Map<ts.Symbol, IrType>;
452
+ /** A pipeline() function stage's `source` parameter: the IR type of what
453
+ * the pipeline passes it (the previous stage as an async iterable), set
454
+ * while the stage lowers. Parameter typing and `for await` heads read
455
+ * it before the checker's `AsyncIterable<T>`. */
456
+ readonly stageSourceTypes: Map<ts.Symbol, IrType>;
451
457
  /** Set when a match result lowers to execGroups/matchGroups, the inputs
452
458
  * of regex span folding. */
453
459
  regexGroupResults: boolean;
@@ -582,6 +588,12 @@ export declare class Lowerer {
582
588
  * typeKey, throws wrappers keyed by callback type + expected class) —
583
589
  * the valueHelpers pattern with its own namespace. */
584
590
  readonly assertHelpers: Map<string, string>;
591
+ /** Static node:assert Assert instances by declaration (assert-instances.ts);
592
+ * null for declarations that are not one. */
593
+ readonly assertInstances: Map<import("../ts7/ast-node.js").AstNode, AssertInstanceOptions | null>;
594
+ /** The options of the Assert instance whose method call is being lowered,
595
+ * or null for module calls. */
596
+ assertCallOptions: AssertInstanceOptions | null;
585
597
  /** util.inspect's per-type traversal helpers (%util.insp.N), interned
586
598
  * by typeKey — the assertHelpers pattern with its own namespace. */
587
599
  readonly inspectHelpers: Map<string, string>;
@@ -775,6 +787,13 @@ export declare class Lowerer {
775
787
  readonly experimentalFiles: Map<string, boolean>;
776
788
  /** Interned LifetimeRegion.run helpers, by callback type key. */
777
789
  readonly regionRunHelpers: Map<string, string>;
790
+ /** Interned InternTable helpers, by member and type keys (intern-tables.ts). */
791
+ readonly internTableHelpers: Map<string, string>;
792
+ /** Each InternTable name's type arguments and first construction site. */
793
+ readonly internTableNames: Map<string, {
794
+ key: string;
795
+ node: ts.Node;
796
+ }>;
778
797
  readonly forkTargetIdByPath: Map<string, number>;
779
798
  /** Namespace ModuleBlocks this program lowers, filled by splitFiles:
780
799
  * "flattened" — an instantiated namespace whose body joined the file's
@@ -1506,6 +1525,9 @@ export declare class Lowerer {
1506
1525
  * so the sorted pair is always [t, undefined]. */
1507
1526
  withUndefinedArm(t: IrType): IrType;
1508
1527
  paramShape(param: ts.ParameterDeclaration): ParamShape;
1528
+ /** The pipeline stage source type bound to `node` (a parameter name or
1529
+ * a reference to it), or null. */
1530
+ stageSourceType(node: ts.Node): IrType | null;
1509
1531
  checkDefaultParamBodyType(param: ts.ParameterDeclaration, bodyType: IrType): void;
1510
1532
  paramShapes(params: readonly ts.ParameterDeclaration[]): ParamShape[];
1511
1533
  completeArgs(argNodes: readonly ts.Expression[], shapes: readonly ParamShape[], loc: SrcLoc, blame: ts.Node): IrExpr[];
@@ -1,4 +1,5 @@
1
1
  import { lifetimeRegionType, lowerLifetimeRegionCall, lowerLifetimeRegionNew, } from "./lifetime-regions.js";
2
+ import { internTableType, lowerInternTableCall, lowerInternTableNew } from "./intern-tables.js";
2
3
  import { isExperimentalDeclarationFile } from "../experimental-import.js";
3
4
  import { checkCycleBindingAccesses, refuseUncheckedCycleReads, } from "./cycle-initialization.js";
4
5
  import { identityPreservingWidening } from "./coercions/identity.js";
@@ -531,8 +532,18 @@ export function dynFallbackType(lowerer, node, t) {
531
532
  const args = symbol && lowerer.isStdlibSymbol(symbol)
532
533
  ? lowerer.checker.getTypeArguments(t)
533
534
  : [];
534
- if (symbol?.name === "Promise" && args[0] && args[0].flags & ts.TypeFlags.Any)
535
- return jsFallbackPromiseType(lowerer, t);
535
+ // Promise<any> and Promise<any[]> (an any[] is itself a checked
536
+ // value below): a promise of a checked value.
537
+ const anyArray = (x) => lowerer.checker.isArrayType(x) &&
538
+ ((lowerer.checker.getTypeArguments(x)[0]?.flags ?? 0) &
539
+ ts.TypeFlags.Any) !==
540
+ 0;
541
+ if (symbol?.name === "Promise" &&
542
+ args[0] &&
543
+ (args[0].flags & ts.TypeFlags.Any || anyArray(args[0])))
544
+ return symbol.name === "Promise" && anyArray(args[0])
545
+ ? { kind: "promise", inner: DYN }
546
+ : jsFallbackPromiseType(lowerer, t);
536
547
  if (symbol &&
537
548
  ["Generator", "AsyncGenerator", "IterableIterator"].includes(symbol.name) &&
538
549
  args.some((arg) => arg.flags & ts.TypeFlags.Any))
@@ -841,6 +852,14 @@ export function jsFuncNameOf(node, lowerer) {
841
852
  return null;
842
853
  }
843
854
  /** Answers `fallback` when a checker query panics inside the type checker. */
855
+ /** The storage of a global whose binding type widened. A lexical binding's
856
+ * TDZ guard needs pointer, record or checked-value storage, so a guarded
857
+ * function binding that may now hold undefined is a checked value. */
858
+ function tdzStorage(global, type) {
859
+ return global.tdz && type.kind !== "record" && type.kind !== "func" && type.kind !== "dyn"
860
+ ? DYN
861
+ : type;
862
+ }
844
863
  function panicSafe(query, fallback) {
845
864
  try {
846
865
  return query();
@@ -1146,6 +1165,11 @@ export class Lowerer {
1146
1165
  * prepass. This includes explicit annotations: unchecked TS annotations do
1147
1166
  * not prove that an array property read produced a value. */
1148
1167
  runtimeOptionalBindingTypes = new Map();
1168
+ /** A pipeline() function stage's `source` parameter: the IR type of what
1169
+ * the pipeline passes it (the previous stage as an async iterable), set
1170
+ * while the stage lowers. Parameter typing and `for await` heads read
1171
+ * it before the checker's `AsyncIterable<T>`. */
1172
+ stageSourceTypes = new Map();
1149
1173
  /** Set when a match result lowers to execGroups/matchGroups, the inputs
1150
1174
  * of regex span folding. */
1151
1175
  regexGroupResults = false;
@@ -1205,8 +1229,10 @@ export class Lowerer {
1205
1229
  if (!symbol)
1206
1230
  return fallback ?? null;
1207
1231
  const known = this.runtimeOptionalBindingTypes.get(symbol);
1208
- if (known)
1209
- return known;
1232
+ if (known) {
1233
+ const global = this.globalsBySymbol.get(symbol);
1234
+ return global ? tdzStorage(global, known) : known;
1235
+ }
1210
1236
  // A module-scope function alias is collected as a global before the
1211
1237
  // optional-read fixed point settles. Derive its promoted function ABI
1212
1238
  // directly from the aliased declaration as a final read-side hook, so
@@ -1535,6 +1561,12 @@ export class Lowerer {
1535
1561
  * typeKey, throws wrappers keyed by callback type + expected class) —
1536
1562
  * the valueHelpers pattern with its own namespace. */
1537
1563
  assertHelpers = new Map();
1564
+ /** Static node:assert Assert instances by declaration (assert-instances.ts);
1565
+ * null for declarations that are not one. */
1566
+ assertInstances = new Map();
1567
+ /** The options of the Assert instance whose method call is being lowered,
1568
+ * or null for module calls. */
1569
+ assertCallOptions = null;
1538
1570
  /** util.inspect's per-type traversal helpers (%util.insp.N), interned
1539
1571
  * by typeKey — the assertHelpers pattern with its own namespace. */
1540
1572
  inspectHelpers = new Map();
@@ -1698,6 +1730,10 @@ export class Lowerer {
1698
1730
  experimentalFiles = new Map();
1699
1731
  /** Interned LifetimeRegion.run helpers, by callback type key. */
1700
1732
  regionRunHelpers = new Map();
1733
+ /** Interned InternTable helpers, by member and type keys (intern-tables.ts). */
1734
+ internTableHelpers = new Map();
1735
+ /** Each InternTable name's type arguments and first construction site. */
1736
+ internTableNames = new Map();
1701
1737
  forkTargetIdByPath = new Map();
1702
1738
  /** Namespace ModuleBlocks this program lowers, filled by splitFiles:
1703
1739
  * "flattened" — an instantiated namespace whose body joined the file's
@@ -2015,6 +2051,9 @@ export class Lowerer {
2015
2051
  lifetimeRegionClass: (decl) => isExperimentalDeclarationFile(decl.getSourceFile(), this.experimentalFiles)
2016
2052
  ? lifetimeRegionType(this)
2017
2053
  : null,
2054
+ internTableClass: (decl) => isExperimentalDeclarationFile(decl.getSourceFile(), this.experimentalFiles)
2055
+ ? internTableType(this)
2056
+ : null,
2018
2057
  moduleNamespaceId: (type) => this.moduleNamespaceIdOfType(type),
2019
2058
  };
2020
2059
  // Modules reachable only through literal import() joined
@@ -3957,7 +3996,19 @@ export class Lowerer {
3957
3996
  // Checker answers for the fixed point's repeated element-ABI queries.
3958
3997
  // Only a binding's widened storage can change between passes.
3959
3998
  const checkerTypes = new Map();
3960
- const arrayKeysOf = (node) => panicSafe(() => arrayKeysUnsafe(node), null);
3999
+ // Mapping a type can lower a local class expression. When that class is
4000
+ // unsupported, its diagnostic is already recorded and the element ABI
4001
+ // is unknown here; the program fails with that diagnostic.
4002
+ const arrayKeysOf = (node) => panicSafe(() => {
4003
+ try {
4004
+ return arrayKeysUnsafe(node);
4005
+ }
4006
+ catch (e) {
4007
+ if (e instanceof PoisonError)
4008
+ return null;
4009
+ throw e;
4010
+ }
4011
+ }, null);
3961
4012
  const arrayKeysUnsafe = (node) => {
3962
4013
  let checkerType = checkerTypes.get(node);
3963
4014
  if (checkerType === undefined) {
@@ -5048,7 +5099,7 @@ export class Lowerer {
5048
5099
  ? this.globalOf(node.name)
5049
5100
  : this.globalsBySymbol.get(symbol);
5050
5101
  if (global) {
5051
- global.type = promoted;
5102
+ global.type = tdzStorage(global, promoted);
5052
5103
  this.runtimeOptionalGlobals.add(global);
5053
5104
  }
5054
5105
  }
@@ -5543,7 +5594,7 @@ export class Lowerer {
5543
5594
  for (const info of this.classes.values()) {
5544
5595
  if (info.builtinError)
5545
5596
  continue; // runtime-provided; nothing lowers
5546
- if (info.lifetimeRegion)
5597
+ if (info.lifetimeRegion || info.internTable)
5547
5598
  continue; // synthesized with the class
5548
5599
  // Generic-class INSTANTIATIONS (and mixin instantiations) are
5549
5600
  // demand-driven, not units: their members lower unconditionally in
@@ -7872,6 +7923,18 @@ export class Lowerer {
7872
7923
  paramShape(param) {
7873
7924
  return paramShape(this, param);
7874
7925
  }
7926
+ /** The pipeline stage source type bound to `node` (a parameter name or
7927
+ * a reference to it), or null. */
7928
+ stageSourceType(node) {
7929
+ if (this.stageSourceTypes.size === 0)
7930
+ return null;
7931
+ while (ts.isParenthesizedExpression(node))
7932
+ node = node.expression;
7933
+ if (!ts.isIdentifier(node))
7934
+ return null;
7935
+ const symbol = this.checker.getSymbolAtLocation(node);
7936
+ return (symbol && this.stageSourceTypes.get(symbol)) ?? null;
7937
+ }
7875
7938
  checkDefaultParamBodyType(param, bodyType) {
7876
7939
  return checkDefaultParamBodyType(this, param, bodyType);
7877
7940
  }
@@ -9245,6 +9308,7 @@ export class Lowerer {
9245
9308
  // promise-returning ambient global, and `import` is a keyword callee no
9246
9309
  // identifier path matches.
9247
9310
  return (lowerLifetimeRegionCall(this, expr) ??
9311
+ lowerInternTableCall(this, expr) ??
9248
9312
  lowerFfiCall(this, expr) ??
9249
9313
  lowerFetchCall(this, expr) ??
9250
9314
  lowerStaticFetchCompanionCall(this, expr) ??
@@ -9383,6 +9447,7 @@ export class Lowerer {
9383
9447
  }
9384
9448
  lowerNew(expr) {
9385
9449
  const builtin = lowerLifetimeRegionNew(this, expr) ??
9450
+ lowerInternTableNew(this, expr) ??
9386
9451
  lowerAbortControllerNew(this, expr) ??
9387
9452
  lowerEventTargetNew(this, expr) ??
9388
9453
  lowerFetchWebNew(this, expr) ??