@yabgu_gm/tensionscript 0.13.0 → 0.13.1

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.
@@ -6730,6 +6730,29 @@ declare module "types:tensionscript/src/compiler" {
6730
6730
  * value materialised somewhere, which is the return path, not this one.
6731
6731
  */
6732
6732
  private expandSroaArrayArgument;
6733
+ /**
6734
+ * Compiles an array literal into one operand per element leaf, starting at
6735
+ * `at`, and returns how many were written.
6736
+ *
6737
+ * Shared by the call site (`expandSroaArrayArgument`) and the return
6738
+ * (`compileMultivalueReturnStatement`) so the two positions accept the same
6739
+ * shapes and refuse the same ones by the same rule, instead of by two copies
6740
+ * of it. `verb` is `"passing"` or `"returning"` — the only word the two
6741
+ * refusals disagree on.
6742
+ *
6743
+ * Three rules:
6744
+ *
6745
+ * - A **record element** is several leaves and no literal names them, so it is
6746
+ * refused by name; building the array field-by-field in a local is the
6747
+ * working route in both positions.
6748
+ * - A **short** literal zero-fills. The slot exists either way, and a WASM
6749
+ * operand cannot be left out.
6750
+ * - A **long** literal is an arity error rather than a write past the operand
6751
+ * block — `sum([1, 2, 3, 4, 5])` into a `[u32 * 4]` parameter reached
6752
+ * Binaryen with five operands for four slots and crashed the compiler, so
6753
+ * this bound is a guard, not a formality.
6754
+ */
6755
+ private pushSroaArrayLiteralOperands;
6733
6756
  private expandSroaArgument;
6734
6757
  /**
6735
6758
  * The SROA local an expression names, or `null`.
@@ -7166,9 +7189,10 @@ declare module "types:tensionscript/src/compiler" {
7166
7189
  * Returns a value-form `[T * N]` value as WASM multivalue results.
7167
7190
  *
7168
7191
  * One result per element leaf, element-major — the order `resultRefs` declares
7169
- * and the caller's unpack indexes into. The leaves are read out of the value's
7170
- * SROA locals; a fresh array literal goes through the same path, because the
7171
- * literal binds to leaves before the return is compiled.
7192
+ * and the caller's unpack indexes into. Two shapes reach here, and both end as
7193
+ * one operand per leaf: a value-form local pushes its SROA leaves, and a fresh
7194
+ * array literal compiles element by element through the same walk the call
7195
+ * site uses (`pushSroaArrayLiteralOperands`).
7172
7196
  *
7173
7197
  * Requires `Feature.MultiValue`, which `Resolver` turns on when it resolves
7174
7198
  * this return type (`enableMultiValueOnce`), so a module that returns one of