@scriptc/compiler 0.1.5 → 0.1.6

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 (45) hide show
  1. package/dist/backend/c/exprs.js +36 -8
  2. package/dist/backend/c/exprs.js.map +1 -1
  3. package/dist/backend/llvm/expr-containers.js +28 -2
  4. package/dist/backend/llvm/expr-containers.js.map +1 -1
  5. package/dist/backend/llvm/lib-filesystem.js +8 -0
  6. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  7. package/dist/backend/llvm/lib-process.js +4 -3
  8. package/dist/backend/llvm/lib-process.js.map +1 -1
  9. package/dist/backend/llvm/lib-shared.js +1 -0
  10. package/dist/backend/llvm/lib-shared.js.map +1 -1
  11. package/dist/coverage/surface-manifest.js +6 -1
  12. package/dist/coverage/surface-manifest.js.map +1 -1
  13. package/dist/frontend/lowering/array-indexed-mutation.d.ts +8 -0
  14. package/dist/frontend/lowering/array-indexed-mutation.js +176 -0
  15. package/dist/frontend/lowering/array-indexed-mutation.js.map +1 -0
  16. package/dist/frontend/lowering/containers/string-and-regexp.d.ts +7 -0
  17. package/dist/frontend/lowering/containers/string-and-regexp.js +190 -13
  18. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  19. package/dist/frontend/lowering/indexed-comparison.d.ts +6 -0
  20. package/dist/frontend/lowering/indexed-comparison.js +30 -0
  21. package/dist/frontend/lowering/indexed-comparison.js.map +1 -0
  22. package/dist/frontend/lowering/lower-builtins.d.ts +1 -1
  23. package/dist/frontend/lowering/lower-builtins.js +6 -6
  24. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  25. package/dist/frontend/lowering/lower-calls.js +266 -10
  26. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  27. package/dist/frontend/lowering/lower-classes.js +3 -27
  28. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  29. package/dist/frontend/lowering/lower-containers.d.ts +8 -2
  30. package/dist/frontend/lowering/lower-containers.js +454 -104
  31. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  32. package/dist/frontend/lowering/lower-exprs.js +18 -2
  33. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  34. package/dist/frontend/lowering/surfaces.d.ts +2 -0
  35. package/dist/frontend/lowering/surfaces.js +13 -1
  36. package/dist/frontend/lowering/surfaces.js.map +1 -1
  37. package/dist/ir/ir.d.ts +15 -2
  38. package/dist/ir/ir.js +2 -0
  39. package/dist/ir/ir.js.map +1 -1
  40. package/dist/ir/validate.js +43 -26
  41. package/dist/ir/validate.js.map +1 -1
  42. package/dist/ir/validate.test.js +17 -0
  43. package/dist/ir/validate.test.js.map +1 -1
  44. package/package.json +17 -17
  45. package/surface-manifest.json +36 -4
@@ -33,6 +33,10 @@ export declare function lowerSafeIndexRead(lowerer: Lowerer, arr: IrExpr & {
33
33
  export declare function tryLowerNumericIndexRead(lowerer: Lowerer, operand: IrExpr, loc: SrcLoc): IrExpr | null;
34
34
  /** Backward-compatible name for the npm-static probe path. */
35
35
  export declare const lowerNpmStaticSafeIndexRead: typeof lowerSafeIndexRead;
36
+ /** The Array constructor's element and count forms, shared by calls and new. */
37
+ export declare function lowerArrayConstructor(lowerer: Lowerer, expr: ts.CallExpression | ts.NewExpression, args: readonly ts.Expression[]): IrExpr;
38
+ /** `Array.of` creates an array of its arguments, including a lone number. */
39
+ export declare function lowerArrayOfCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
36
40
  /** `Array.from({ length: n }, mapfn)` — the counted-generation idiom — on
37
41
  * THE stdlib Array global. The source must be an OBJECT LITERAL whose
38
42
  * single property is `length` (the shape the idiom always spells; the
@@ -42,8 +46,10 @@ export declare const lowerNpmStaticSafeIndexRead: typeof lowerSafeIndexRead;
42
46
  * checker's own `unknown` for it — and pushing each result. The loop
43
47
  * bound is `i <= n - 1`, which IS ToLength for the finite lengths that
44
48
  * terminate (fractional lengths truncate, negative/NaN produce an empty
45
- * array — Node-exact). Every other Array.from shape (arrays, iterables,
46
- * no mapper) keeps the fence. Null when the callee isn't an
49
+ * array — Node-exact). Array inputs copy through the iterator's indexed
50
+ * values, including holes as present undefined, and may map each value.
51
+ * Set inputs copy their values; strings iterate by code point and may map.
52
+ * Other iterable shapes keep the fence. Null when the callee isn't an
47
53
  * Array-static access. */
48
54
  export declare function lowerArrayFromCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
49
55
  /** `Array.from(s)` / `[...s]` on a STRING: the code-point split into a