@tsonic/emitter 0.0.66 → 0.0.68
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/.tsbuildinfo +1 -1
- package/dist/array.test.js +67 -3
- package/dist/array.test.js.map +1 -1
- package/dist/core/format/backend-ast/index.d.ts +1 -1
- package/dist/core/format/backend-ast/index.d.ts.map +1 -1
- package/dist/core/format/backend-ast/index.js.map +1 -1
- package/dist/core/format/backend-ast/printer.d.ts.map +1 -1
- package/dist/core/format/backend-ast/printer.js +5 -1
- package/dist/core/format/backend-ast/printer.js.map +1 -1
- package/dist/core/format/backend-ast/types.d.ts +6 -1
- package/dist/core/format/backend-ast/types.d.ts.map +1 -1
- package/dist/core/format/module-emitter/orchestrator.d.ts.map +1 -1
- package/dist/core/format/module-emitter/orchestrator.js +7 -0
- package/dist/core/format/module-emitter/orchestrator.js.map +1 -1
- package/dist/core/module-emitter.test.js +125 -0
- package/dist/core/module-emitter.test.js.map +1 -1
- package/dist/core/semantic/imports.d.ts.map +1 -1
- package/dist/core/semantic/imports.js +62 -4
- package/dist/core/semantic/imports.js.map +1 -1
- package/dist/core/semantic/imports.test.js +186 -0
- package/dist/core/semantic/imports.test.js.map +1 -1
- package/dist/core/semantic/module-map.d.ts.map +1 -1
- package/dist/core/semantic/module-map.js +6 -0
- package/dist/core/semantic/module-map.js.map +1 -1
- package/dist/core/semantic/module-map.test.js +52 -1
- package/dist/core/semantic/module-map.test.js.map +1 -1
- package/dist/core/semantic/mutable-storage.d.ts +10 -0
- package/dist/core/semantic/mutable-storage.d.ts.map +1 -0
- package/dist/core/semantic/mutable-storage.js +479 -0
- package/dist/core/semantic/mutable-storage.js.map +1 -0
- package/dist/core/semantic/type-resolution.d.ts.map +1 -1
- package/dist/core/semantic/type-resolution.js +14 -5
- package/dist/core/semantic/type-resolution.js.map +1 -1
- package/dist/core/semantic/type-resolution.test.js +2 -0
- package/dist/core/semantic/type-resolution.test.js.map +1 -1
- package/dist/core/semantic/unsafe.d.ts.map +1 -1
- package/dist/core/semantic/unsafe.js +4 -0
- package/dist/core/semantic/unsafe.js.map +1 -1
- package/dist/emitter-types/core.d.ts +10 -0
- package/dist/emitter-types/core.d.ts.map +1 -1
- package/dist/expression-emitter.d.ts.map +1 -1
- package/dist/expression-emitter.js +73 -3
- package/dist/expression-emitter.js.map +1 -1
- package/dist/expressions/access.d.ts +2 -2
- package/dist/expressions/access.d.ts.map +1 -1
- package/dist/expressions/access.js +16 -2
- package/dist/expressions/access.js.map +1 -1
- package/dist/expressions/calls/call-emitter.d.ts.map +1 -1
- package/dist/expressions/calls/call-emitter.js +1350 -122
- package/dist/expressions/calls/call-emitter.js.map +1 -1
- package/dist/expressions/collections.d.ts +3 -0
- package/dist/expressions/collections.d.ts.map +1 -1
- package/dist/expressions/collections.js +126 -43
- package/dist/expressions/collections.js.map +1 -1
- package/dist/expressions/functions.d.ts.map +1 -1
- package/dist/expressions/functions.js +126 -50
- package/dist/expressions/functions.js.map +1 -1
- package/dist/expressions/index.test.js +447 -0
- package/dist/expressions/index.test.js.map +1 -1
- package/dist/expressions/operators/assignment-emitter.d.ts.map +1 -1
- package/dist/expressions/operators/assignment-emitter.js +5 -1
- package/dist/expressions/operators/assignment-emitter.js.map +1 -1
- package/dist/expressions/parentheses.d.ts.map +1 -1
- package/dist/expressions/parentheses.js +4 -0
- package/dist/expressions/parentheses.js.map +1 -1
- package/dist/integration.test.js +343 -0
- package/dist/integration.test.js.map +1 -1
- package/dist/json-aot-generic.test.js +114 -0
- package/dist/json-aot-generic.test.js.map +1 -1
- package/dist/patterns.d.ts.map +1 -1
- package/dist/patterns.js +194 -0
- package/dist/patterns.js.map +1 -1
- package/dist/patterns.test.js +79 -0
- package/dist/patterns.test.js.map +1 -1
- package/dist/statements/classes/members/properties.d.ts.map +1 -1
- package/dist/statements/classes/members/properties.js +10 -3
- package/dist/statements/classes/members/properties.js.map +1 -1
- package/dist/statements/classes/members/static-readonly-properties.test.js +74 -1
- package/dist/statements/classes/members/static-readonly-properties.test.js.map +1 -1
- package/dist/statements/classes/properties.d.ts.map +1 -1
- package/dist/statements/classes/properties.js +4 -2
- package/dist/statements/classes/properties.js.map +1 -1
- package/dist/statements/control/conditionals/if-emitter.d.ts.map +1 -1
- package/dist/statements/control/conditionals/if-emitter.js +137 -0
- package/dist/statements/control/conditionals/if-emitter.js.map +1 -1
- package/dist/statements/control/loops.d.ts.map +1 -1
- package/dist/statements/control/loops.js +65 -3
- package/dist/statements/control/loops.js.map +1 -1
- package/dist/statements/declarations/classes.d.ts.map +1 -1
- package/dist/statements/declarations/classes.js +4 -1
- package/dist/statements/declarations/classes.js.map +1 -1
- package/dist/statements/declarations/interfaces-mutable-storage.test.d.ts +2 -0
- package/dist/statements/declarations/interfaces-mutable-storage.test.d.ts.map +1 -0
- package/dist/statements/declarations/interfaces-mutable-storage.test.js +84 -0
- package/dist/statements/declarations/interfaces-mutable-storage.test.js.map +1 -0
- package/dist/statements/declarations/interfaces.d.ts.map +1 -1
- package/dist/statements/declarations/interfaces.js +4 -1
- package/dist/statements/declarations/interfaces.js.map +1 -1
- package/dist/statements/declarations/variables.d.ts.map +1 -1
- package/dist/statements/declarations/variables.js +89 -2
- package/dist/statements/declarations/variables.js.map +1 -1
- package/dist/types/functions.d.ts.map +1 -1
- package/dist/types/functions.js +3 -1
- package/dist/types/functions.js.map +1 -1
- package/dist/types/references.d.ts.map +1 -1
- package/dist/types/references.js +19 -16
- package/dist/types/references.js.map +1 -1
- package/dist/types/references.test.js +17 -0
- package/dist/types/references.test.js.map +1 -1
- package/dist/types/unions.d.ts.map +1 -1
- package/dist/types/unions.js +41 -16
- package/dist/types/unions.js.map +1 -1
- package/package.json +2 -2
package/dist/patterns.js
CHANGED
|
@@ -11,6 +11,68 @@ import { emitExpressionAst } from "./expression-emitter.js";
|
|
|
11
11
|
import { emitCSharpName } from "./naming-policy.js";
|
|
12
12
|
import { allocateLocalName, emitRemappedLocalName, registerLocalName, } from "./core/format/local-names.js";
|
|
13
13
|
const objectTypeAst = { kind: "identifierType", name: "object" };
|
|
14
|
+
const tupleElementMemberName = (index) => index < 7 ? `Item${index + 1}` : "Rest";
|
|
15
|
+
const emitTupleElementAccessAst = (inputExpr, index) => {
|
|
16
|
+
if (index < 7) {
|
|
17
|
+
return {
|
|
18
|
+
kind: "memberAccessExpression",
|
|
19
|
+
expression: inputExpr,
|
|
20
|
+
memberName: tupleElementMemberName(index),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
return emitTupleElementAccessAst({
|
|
24
|
+
kind: "memberAccessExpression",
|
|
25
|
+
expression: inputExpr,
|
|
26
|
+
memberName: "Rest",
|
|
27
|
+
}, index - 7);
|
|
28
|
+
};
|
|
29
|
+
const getTupleElementType = (tupleType, index) => {
|
|
30
|
+
const direct = tupleType.elementTypes[index];
|
|
31
|
+
if (direct)
|
|
32
|
+
return direct;
|
|
33
|
+
if (index < 7)
|
|
34
|
+
return undefined;
|
|
35
|
+
const rest = tupleType.elementTypes.slice(7);
|
|
36
|
+
if (rest.length === 0)
|
|
37
|
+
return undefined;
|
|
38
|
+
return getTupleElementType({
|
|
39
|
+
kind: "tupleType",
|
|
40
|
+
elementTypes: rest,
|
|
41
|
+
}, index - 7);
|
|
42
|
+
};
|
|
43
|
+
const getTupleRestArrayType = (tupleType, startIndex) => {
|
|
44
|
+
const remaining = tupleType.elementTypes.slice(startIndex);
|
|
45
|
+
if (remaining.length === 0) {
|
|
46
|
+
return {
|
|
47
|
+
kind: "arrayType",
|
|
48
|
+
elementType: { kind: "unknownType" },
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
const [first, ...rest] = remaining;
|
|
52
|
+
if (!first) {
|
|
53
|
+
return {
|
|
54
|
+
kind: "arrayType",
|
|
55
|
+
elementType: { kind: "unknownType" },
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
if (rest.length === 0) {
|
|
59
|
+
return { kind: "arrayType", elementType: first };
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
kind: "arrayType",
|
|
63
|
+
elementType: {
|
|
64
|
+
kind: "unionType",
|
|
65
|
+
types: remaining.filter((item) => item !== undefined),
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
const emitTupleRestArrayAst = (inputExpr, tupleType, startIndex) => ({
|
|
70
|
+
kind: "arrayCreationExpression",
|
|
71
|
+
elementType: { kind: "varType" },
|
|
72
|
+
initializer: tupleType.elementTypes
|
|
73
|
+
.slice(startIndex)
|
|
74
|
+
.map((_, offset) => emitTupleElementAccessAst(inputExpr, startIndex + offset)),
|
|
75
|
+
});
|
|
14
76
|
const generateTemp = (prefix, ctx) => {
|
|
15
77
|
const tempId = ctx.tempVarId ?? 0;
|
|
16
78
|
const name = `__${prefix}${tempId}`;
|
|
@@ -158,6 +220,56 @@ const lowerArrayPatternAst = (pattern, inputExpr, elementType, ctx) => {
|
|
|
158
220
|
}
|
|
159
221
|
return { statements, context: currentCtx };
|
|
160
222
|
};
|
|
223
|
+
const lowerTuplePatternAst = (pattern, inputExpr, tupleType, ctx) => {
|
|
224
|
+
const statements = [];
|
|
225
|
+
let currentCtx = ctx;
|
|
226
|
+
const [rawTempName, nextCtx] = generateTemp("tuple", currentCtx);
|
|
227
|
+
currentCtx = nextCtx;
|
|
228
|
+
const alloc = allocateLocalName(rawTempName, currentCtx);
|
|
229
|
+
const tempName = alloc.emittedName;
|
|
230
|
+
currentCtx = alloc.context;
|
|
231
|
+
statements.push({
|
|
232
|
+
kind: "localDeclarationStatement",
|
|
233
|
+
modifiers: [],
|
|
234
|
+
type: { kind: "varType" },
|
|
235
|
+
declarators: [{ name: tempName, initializer: inputExpr }],
|
|
236
|
+
});
|
|
237
|
+
const tempExpr = {
|
|
238
|
+
kind: "identifierExpression",
|
|
239
|
+
identifier: tempName,
|
|
240
|
+
};
|
|
241
|
+
let index = 0;
|
|
242
|
+
for (const elem of pattern.elements) {
|
|
243
|
+
if (!elem) {
|
|
244
|
+
index++;
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
if (elem.isRest) {
|
|
248
|
+
const restExpr = emitTupleRestArrayAst(tempExpr, tupleType, index);
|
|
249
|
+
const rest = lowerPatternAst(elem.pattern, restExpr, getTupleRestArrayType(tupleType, index), currentCtx);
|
|
250
|
+
statements.push(...rest.statements);
|
|
251
|
+
currentCtx = rest.context;
|
|
252
|
+
break;
|
|
253
|
+
}
|
|
254
|
+
const accessExpr = emitTupleElementAccessAst(tempExpr, index);
|
|
255
|
+
let valueExpr = accessExpr;
|
|
256
|
+
if (elem.defaultExpr) {
|
|
257
|
+
const [defaultAst, defaultCtx] = emitDefaultExprAst(elem.defaultExpr, currentCtx);
|
|
258
|
+
currentCtx = defaultCtx;
|
|
259
|
+
valueExpr = {
|
|
260
|
+
kind: "binaryExpression",
|
|
261
|
+
operatorToken: "??",
|
|
262
|
+
left: accessExpr,
|
|
263
|
+
right: defaultAst,
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
const nested = lowerPatternAst(elem.pattern, valueExpr, getTupleElementType(tupleType, index), currentCtx);
|
|
267
|
+
statements.push(...nested.statements);
|
|
268
|
+
currentCtx = nested.context;
|
|
269
|
+
index++;
|
|
270
|
+
}
|
|
271
|
+
return { statements, context: currentCtx };
|
|
272
|
+
};
|
|
161
273
|
const lowerObjectPatternAst = (pattern, inputExpr, inputType, ctx) => {
|
|
162
274
|
const statements = [];
|
|
163
275
|
let currentCtx = ctx;
|
|
@@ -235,6 +347,9 @@ export const lowerPatternAst = (pattern, inputExpr, type, ctx) => {
|
|
|
235
347
|
case "identifierPattern":
|
|
236
348
|
return lowerIdentifierAst(pattern.name, inputExpr, type, ctx);
|
|
237
349
|
case "arrayPattern": {
|
|
350
|
+
if (type?.kind === "tupleType") {
|
|
351
|
+
return lowerTuplePatternAst(pattern, inputExpr, type, ctx);
|
|
352
|
+
}
|
|
238
353
|
const elementType = type?.kind === "arrayType" ? type.elementType : undefined;
|
|
239
354
|
return lowerArrayPatternAst(pattern, inputExpr, elementType, ctx);
|
|
240
355
|
}
|
|
@@ -332,6 +447,49 @@ const lowerArrayPatternStaticAst = (pattern, inputExpr, elementType, arrayType,
|
|
|
332
447
|
}
|
|
333
448
|
return { members, context: currentCtx };
|
|
334
449
|
};
|
|
450
|
+
const lowerTuplePatternStaticAst = (pattern, inputExpr, tupleType, ctx) => {
|
|
451
|
+
const members = [];
|
|
452
|
+
let currentCtx = ctx;
|
|
453
|
+
const [rawTempName, nextCtx] = generateTemp("tuple", currentCtx);
|
|
454
|
+
currentCtx = nextCtx;
|
|
455
|
+
const tempName = emitCSharpName(rawTempName, "fields", currentCtx);
|
|
456
|
+
members.push(createStaticField(tempName, { kind: "varType" }, inputExpr));
|
|
457
|
+
const tempExpr = {
|
|
458
|
+
kind: "identifierExpression",
|
|
459
|
+
identifier: tempName,
|
|
460
|
+
};
|
|
461
|
+
let index = 0;
|
|
462
|
+
for (const elem of pattern.elements) {
|
|
463
|
+
if (!elem) {
|
|
464
|
+
index++;
|
|
465
|
+
continue;
|
|
466
|
+
}
|
|
467
|
+
if (elem.isRest) {
|
|
468
|
+
const restExpr = emitTupleRestArrayAst(tempExpr, tupleType, index);
|
|
469
|
+
const rest = lowerPatternToStaticMembersAst(elem.pattern, restExpr, getTupleRestArrayType(tupleType, index), currentCtx);
|
|
470
|
+
members.push(...rest.members);
|
|
471
|
+
currentCtx = rest.context;
|
|
472
|
+
break;
|
|
473
|
+
}
|
|
474
|
+
const accessExpr = emitTupleElementAccessAst(tempExpr, index);
|
|
475
|
+
let valueExpr = accessExpr;
|
|
476
|
+
if (elem.defaultExpr) {
|
|
477
|
+
const [defaultAst, defaultCtx] = emitDefaultExprAst(elem.defaultExpr, currentCtx);
|
|
478
|
+
currentCtx = defaultCtx;
|
|
479
|
+
valueExpr = {
|
|
480
|
+
kind: "binaryExpression",
|
|
481
|
+
operatorToken: "??",
|
|
482
|
+
left: accessExpr,
|
|
483
|
+
right: defaultAst,
|
|
484
|
+
};
|
|
485
|
+
}
|
|
486
|
+
const nested = lowerPatternToStaticMembersAst(elem.pattern, valueExpr, getTupleElementType(tupleType, index), currentCtx);
|
|
487
|
+
members.push(...nested.members);
|
|
488
|
+
currentCtx = nested.context;
|
|
489
|
+
index++;
|
|
490
|
+
}
|
|
491
|
+
return { members, context: currentCtx };
|
|
492
|
+
};
|
|
335
493
|
const lowerObjectPatternStaticAst = (pattern, inputExpr, inputType, ctx) => {
|
|
336
494
|
const members = [];
|
|
337
495
|
let currentCtx = ctx;
|
|
@@ -408,6 +566,9 @@ export const lowerPatternToStaticMembersAst = (pattern, inputExpr, type, ctx) =>
|
|
|
408
566
|
case "identifierPattern":
|
|
409
567
|
return lowerIdentifierStaticAst(pattern.name, inputExpr, type, ctx);
|
|
410
568
|
case "arrayPattern": {
|
|
569
|
+
if (type?.kind === "tupleType") {
|
|
570
|
+
return lowerTuplePatternStaticAst(pattern, inputExpr, type, ctx);
|
|
571
|
+
}
|
|
411
572
|
const elementType = type?.kind === "arrayType" ? type.elementType : undefined;
|
|
412
573
|
return lowerArrayPatternStaticAst(pattern, inputExpr, elementType, type, ctx);
|
|
413
574
|
}
|
|
@@ -469,6 +630,39 @@ const lowerAssignmentPatternStatementsAst = (pattern, inputExpr, type, ctx) => {
|
|
|
469
630
|
identifier: tempName,
|
|
470
631
|
};
|
|
471
632
|
if (pattern.kind === "arrayPattern") {
|
|
633
|
+
if (type?.kind === "tupleType") {
|
|
634
|
+
let index = 0;
|
|
635
|
+
for (const elem of pattern.elements) {
|
|
636
|
+
if (!elem) {
|
|
637
|
+
index++;
|
|
638
|
+
continue;
|
|
639
|
+
}
|
|
640
|
+
if (elem.isRest) {
|
|
641
|
+
const restExpr = emitTupleRestArrayAst(tempExpr, type, index);
|
|
642
|
+
const rest = lowerAssignmentPatternStatementsAst(elem.pattern, restExpr, getTupleRestArrayType(type, index), currentCtx);
|
|
643
|
+
statements.push(...rest.statements);
|
|
644
|
+
currentCtx = rest.context;
|
|
645
|
+
break;
|
|
646
|
+
}
|
|
647
|
+
const accessExpr = emitTupleElementAccessAst(tempExpr, index);
|
|
648
|
+
let valueExpr = accessExpr;
|
|
649
|
+
if (elem.defaultExpr) {
|
|
650
|
+
const [defaultAst, defaultCtx] = emitDefaultExprAst(elem.defaultExpr, currentCtx);
|
|
651
|
+
currentCtx = defaultCtx;
|
|
652
|
+
valueExpr = {
|
|
653
|
+
kind: "binaryExpression",
|
|
654
|
+
operatorToken: "??",
|
|
655
|
+
left: accessExpr,
|
|
656
|
+
right: defaultAst,
|
|
657
|
+
};
|
|
658
|
+
}
|
|
659
|
+
const nested = lowerAssignmentPatternStatementsAst(elem.pattern, valueExpr, getTupleElementType(type, index), currentCtx);
|
|
660
|
+
statements.push(...nested.statements);
|
|
661
|
+
currentCtx = nested.context;
|
|
662
|
+
index++;
|
|
663
|
+
}
|
|
664
|
+
return { statements, context: currentCtx };
|
|
665
|
+
}
|
|
472
666
|
const elementType = type?.kind === "arrayType" ? type.elementType : undefined;
|
|
473
667
|
let index = 0;
|
|
474
668
|
for (const elem of pattern.elements) {
|
package/dist/patterns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"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"}
|
package/dist/patterns.test.js
CHANGED
|
@@ -206,6 +206,45 @@ describe("Destructuring Pattern Lowering", () => {
|
|
|
206
206
|
// Outer second element gets array element type (double[])
|
|
207
207
|
expect(result).to.include("double[] c = __arr0[1];");
|
|
208
208
|
});
|
|
209
|
+
it("should lower tuple destructuring via Item access instead of array indexing", () => {
|
|
210
|
+
const tupleType = {
|
|
211
|
+
kind: "tupleType",
|
|
212
|
+
elementTypes: [stringType, numberType],
|
|
213
|
+
};
|
|
214
|
+
const module = createModule([
|
|
215
|
+
{
|
|
216
|
+
kind: "variableDeclaration",
|
|
217
|
+
declarationKind: "const",
|
|
218
|
+
declarations: [
|
|
219
|
+
{
|
|
220
|
+
kind: "variableDeclarator",
|
|
221
|
+
name: {
|
|
222
|
+
kind: "arrayPattern",
|
|
223
|
+
elements: [
|
|
224
|
+
{
|
|
225
|
+
pattern: { kind: "identifierPattern", name: "key" },
|
|
226
|
+
isRest: false,
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
pattern: { kind: "identifierPattern", name: "value" },
|
|
230
|
+
isRest: false,
|
|
231
|
+
},
|
|
232
|
+
],
|
|
233
|
+
},
|
|
234
|
+
type: tupleType,
|
|
235
|
+
initializer: { kind: "identifier", name: "entry" },
|
|
236
|
+
},
|
|
237
|
+
],
|
|
238
|
+
isExported: false,
|
|
239
|
+
},
|
|
240
|
+
]);
|
|
241
|
+
const result = emitModule(module);
|
|
242
|
+
expect(result).to.include("var __tuple0 = entry;");
|
|
243
|
+
expect(result).to.include("string key = __tuple0.Item1;");
|
|
244
|
+
expect(result).to.include("double value = __tuple0.Item2;");
|
|
245
|
+
expect(result).to.not.include("__tuple0[0]");
|
|
246
|
+
expect(result).to.not.include("__tuple0[1]");
|
|
247
|
+
});
|
|
209
248
|
});
|
|
210
249
|
describe("Variable Declaration - Object Patterns", () => {
|
|
211
250
|
// Helper to create a reference type with structural members (required by emitter)
|
|
@@ -451,6 +490,46 @@ describe("Destructuring Pattern Lowering", () => {
|
|
|
451
490
|
// Should NOT create temp variable
|
|
452
491
|
expect(result).to.not.include("__item");
|
|
453
492
|
});
|
|
493
|
+
it("should use tuple element typing when destructuring Map iteration", () => {
|
|
494
|
+
const module = createModule([
|
|
495
|
+
{
|
|
496
|
+
kind: "forOfStatement",
|
|
497
|
+
variable: {
|
|
498
|
+
kind: "arrayPattern",
|
|
499
|
+
elements: [
|
|
500
|
+
{
|
|
501
|
+
pattern: { kind: "identifierPattern", name: "key" },
|
|
502
|
+
isRest: false,
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
pattern: { kind: "identifierPattern", name: "value" },
|
|
506
|
+
isRest: false,
|
|
507
|
+
},
|
|
508
|
+
],
|
|
509
|
+
},
|
|
510
|
+
expression: {
|
|
511
|
+
kind: "identifier",
|
|
512
|
+
name: "entries",
|
|
513
|
+
inferredType: {
|
|
514
|
+
kind: "referenceType",
|
|
515
|
+
name: "Map",
|
|
516
|
+
typeArguments: [stringType, numberType],
|
|
517
|
+
},
|
|
518
|
+
},
|
|
519
|
+
body: {
|
|
520
|
+
kind: "blockStatement",
|
|
521
|
+
statements: [],
|
|
522
|
+
},
|
|
523
|
+
isAwait: false,
|
|
524
|
+
},
|
|
525
|
+
]);
|
|
526
|
+
const result = emitModule(module);
|
|
527
|
+
expect(result).to.include("foreach (var __item in entries)");
|
|
528
|
+
expect(result).to.include("Item1");
|
|
529
|
+
expect(result).to.include("Item2");
|
|
530
|
+
expect(result).to.not.include("[0]");
|
|
531
|
+
expect(result).to.not.include("[1]");
|
|
532
|
+
});
|
|
454
533
|
});
|
|
455
534
|
describe("Parameter Destructuring", () => {
|
|
456
535
|
it("should lower array destructuring in function parameters", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.test.js","sourceRoot":"","sources":["../src/patterns.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"patterns.test.js","sourceRoot":"","sources":["../src/patterns.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../../../src/statements/classes/members/properties.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAA8B,MAAM,mBAAmB,CAAC;AAO/E,OAAO,KAAK,EACV,eAAe,EAKhB,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../../../src/statements/classes/members/properties.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAA8B,MAAM,mBAAmB,CAAC;AAO/E,OAAO,KAAK,EACV,eAAe,EAKhB,MAAM,2CAA2C,CAAC;AAGnD;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,aAAa,GAAG;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,EACvD,SAAS,cAAc,KACtB,CAAC,eAAe,EAAE,cAAc,CA+MlC,CAAC"}
|
|
@@ -8,12 +8,14 @@ import { emitAttributes } from "../../../core/format/attributes.js";
|
|
|
8
8
|
import { emitBlockStatementAst } from "../../../statement-emitter.js";
|
|
9
9
|
import { emitCSharpName } from "../../../naming-policy.js";
|
|
10
10
|
import { allocateLocalName } from "../../../core/format/local-names.js";
|
|
11
|
+
import { isMutablePropertySlot } from "../../../core/semantic/mutable-storage.js";
|
|
11
12
|
/**
|
|
12
13
|
* Emit a property declaration as a CSharpMemberAst
|
|
13
14
|
*/
|
|
14
15
|
export const emitPropertyMember = (member, context) => {
|
|
15
16
|
let currentContext = context;
|
|
16
17
|
const hasAccessors = !!(member.getterBody || member.setterBody);
|
|
18
|
+
const needsMutableStorage = isMutablePropertySlot(currentContext.declaringTypeName, member.name, currentContext);
|
|
17
19
|
const shouldEmitField = !!member.emitAsField && !hasAccessors;
|
|
18
20
|
// Build modifier list
|
|
19
21
|
const modifiers = [];
|
|
@@ -22,7 +24,7 @@ export const emitPropertyMember = (member, context) => {
|
|
|
22
24
|
if (member.isStatic) {
|
|
23
25
|
modifiers.push("static");
|
|
24
26
|
}
|
|
25
|
-
if (shouldEmitField && member.isReadonly) {
|
|
27
|
+
if (shouldEmitField && member.isReadonly && !needsMutableStorage) {
|
|
26
28
|
modifiers.push("readonly");
|
|
27
29
|
}
|
|
28
30
|
// Shadowing/hiding modifier
|
|
@@ -77,6 +79,8 @@ export const emitPropertyMember = (member, context) => {
|
|
|
77
79
|
}
|
|
78
80
|
// Case 2: Auto-property (no explicit accessors)
|
|
79
81
|
if (!hasAccessors) {
|
|
82
|
+
const usesPrivateSetter = member.isReadonly && needsMutableStorage;
|
|
83
|
+
const setterAccessibility = usesPrivateSetter && accessibility !== "private" ? "private" : undefined;
|
|
80
84
|
const propAst = {
|
|
81
85
|
kind: "propertyDeclaration",
|
|
82
86
|
attributes: attrs,
|
|
@@ -84,8 +88,11 @@ export const emitPropertyMember = (member, context) => {
|
|
|
84
88
|
type: typeAst,
|
|
85
89
|
name,
|
|
86
90
|
hasGetter: true,
|
|
87
|
-
hasSetter: !member.isReadonly,
|
|
88
|
-
|
|
91
|
+
hasSetter: !member.isReadonly || usesPrivateSetter,
|
|
92
|
+
setterAccessibility,
|
|
93
|
+
hasInit: member.isReadonly && !member.isStatic && !usesPrivateSetter
|
|
94
|
+
? true
|
|
95
|
+
: undefined,
|
|
89
96
|
isAutoProperty: true,
|
|
90
97
|
initializer: initAst,
|
|
91
98
|
};
|