@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.
- package/dist/backend/c/exprs.js +36 -8
- package/dist/backend/c/exprs.js.map +1 -1
- package/dist/backend/llvm/expr-containers.js +28 -2
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.js +8 -0
- package/dist/backend/llvm/lib-filesystem.js.map +1 -1
- package/dist/backend/llvm/lib-process.js +4 -3
- package/dist/backend/llvm/lib-process.js.map +1 -1
- package/dist/backend/llvm/lib-shared.js +1 -0
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/coverage/surface-manifest.js +6 -1
- package/dist/coverage/surface-manifest.js.map +1 -1
- package/dist/frontend/lowering/array-indexed-mutation.d.ts +8 -0
- package/dist/frontend/lowering/array-indexed-mutation.js +176 -0
- package/dist/frontend/lowering/array-indexed-mutation.js.map +1 -0
- package/dist/frontend/lowering/containers/string-and-regexp.d.ts +7 -0
- package/dist/frontend/lowering/containers/string-and-regexp.js +190 -13
- package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
- package/dist/frontend/lowering/indexed-comparison.d.ts +6 -0
- package/dist/frontend/lowering/indexed-comparison.js +30 -0
- package/dist/frontend/lowering/indexed-comparison.js.map +1 -0
- package/dist/frontend/lowering/lower-builtins.d.ts +1 -1
- package/dist/frontend/lowering/lower-builtins.js +6 -6
- package/dist/frontend/lowering/lower-builtins.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.js +266 -10
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.js +3 -27
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-containers.d.ts +8 -2
- package/dist/frontend/lowering/lower-containers.js +454 -104
- package/dist/frontend/lowering/lower-containers.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.js +18 -2
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/surfaces.d.ts +2 -0
- package/dist/frontend/lowering/surfaces.js +13 -1
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/ir/ir.d.ts +15 -2
- package/dist/ir/ir.js +2 -0
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/validate.js +43 -26
- package/dist/ir/validate.js.map +1 -1
- package/dist/ir/validate.test.js +17 -0
- package/dist/ir/validate.test.js.map +1 -1
- package/package.json +17 -17
- 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).
|
|
46
|
-
*
|
|
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
|