@tsonic/emitter 0.0.38 → 0.0.40

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 (113) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/array.test.js +1 -0
  3. package/dist/array.test.js.map +1 -1
  4. package/dist/core/boolean-context.d.ts.map +1 -1
  5. package/dist/core/boolean-context.js +235 -25
  6. package/dist/core/boolean-context.js.map +1 -1
  7. package/dist/core/local-names.d.ts +26 -0
  8. package/dist/core/local-names.d.ts.map +1 -0
  9. package/dist/core/local-names.js +47 -0
  10. package/dist/core/local-names.js.map +1 -0
  11. package/dist/core/unsafe.d.ts.map +1 -1
  12. package/dist/core/unsafe.js +2 -0
  13. package/dist/core/unsafe.js.map +1 -1
  14. package/dist/emitter-types/context.d.ts.map +1 -1
  15. package/dist/emitter-types/context.js +1 -0
  16. package/dist/emitter-types/context.js.map +1 -1
  17. package/dist/emitter-types/core.d.ts +14 -0
  18. package/dist/emitter-types/core.d.ts.map +1 -1
  19. package/dist/expression-emitter.d.ts.map +1 -1
  20. package/dist/expression-emitter.js +11 -0
  21. package/dist/expression-emitter.js.map +1 -1
  22. package/dist/expressions/access.d.ts.map +1 -1
  23. package/dist/expressions/access.js +9 -33
  24. package/dist/expressions/access.js.map +1 -1
  25. package/dist/expressions/calls.d.ts.map +1 -1
  26. package/dist/expressions/calls.js +15 -3
  27. package/dist/expressions/calls.js.map +1 -1
  28. package/dist/expressions/functions.d.ts.map +1 -1
  29. package/dist/expressions/functions.js +24 -6
  30. package/dist/expressions/functions.js.map +1 -1
  31. package/dist/expressions/operators.js +3 -3
  32. package/dist/expressions/operators.js.map +1 -1
  33. package/dist/expressions/parentheses.d.ts.map +1 -1
  34. package/dist/expressions/parentheses.js +2 -0
  35. package/dist/expressions/parentheses.js.map +1 -1
  36. package/dist/golden-shard-0.test.d.ts +2 -0
  37. package/dist/golden-shard-0.test.d.ts.map +1 -0
  38. package/dist/golden-shard-0.test.js +3 -0
  39. package/dist/golden-shard-0.test.js.map +1 -0
  40. package/dist/golden-shard-1.test.d.ts +2 -0
  41. package/dist/golden-shard-1.test.d.ts.map +1 -0
  42. package/dist/golden-shard-1.test.js +3 -0
  43. package/dist/golden-shard-1.test.js.map +1 -0
  44. package/dist/golden-shard-2.test.d.ts +2 -0
  45. package/dist/golden-shard-2.test.d.ts.map +1 -0
  46. package/dist/golden-shard-2.test.js +3 -0
  47. package/dist/golden-shard-2.test.js.map +1 -0
  48. package/dist/golden-shard-3.test.d.ts +2 -0
  49. package/dist/golden-shard-3.test.d.ts.map +1 -0
  50. package/dist/golden-shard-3.test.js +3 -0
  51. package/dist/golden-shard-3.test.js.map +1 -0
  52. package/dist/golden-shard-4.test.d.ts +2 -0
  53. package/dist/golden-shard-4.test.d.ts.map +1 -0
  54. package/dist/golden-shard-4.test.js +3 -0
  55. package/dist/golden-shard-4.test.js.map +1 -0
  56. package/dist/golden-shard-5.test.d.ts +2 -0
  57. package/dist/golden-shard-5.test.d.ts.map +1 -0
  58. package/dist/golden-shard-5.test.js +3 -0
  59. package/dist/golden-shard-5.test.js.map +1 -0
  60. package/dist/golden-shard-6.test.d.ts +2 -0
  61. package/dist/golden-shard-6.test.d.ts.map +1 -0
  62. package/dist/golden-shard-6.test.js +3 -0
  63. package/dist/golden-shard-6.test.js.map +1 -0
  64. package/dist/golden-shard-7.test.d.ts +2 -0
  65. package/dist/golden-shard-7.test.d.ts.map +1 -0
  66. package/dist/golden-shard-7.test.js +3 -0
  67. package/dist/golden-shard-7.test.js.map +1 -0
  68. package/dist/golden-shards.d.ts +7 -0
  69. package/dist/golden-shards.d.ts.map +1 -0
  70. package/dist/golden-shards.js +35 -0
  71. package/dist/golden-shards.js.map +1 -0
  72. package/dist/patterns.d.ts.map +1 -1
  73. package/dist/patterns.js +33 -13
  74. package/dist/patterns.js.map +1 -1
  75. package/dist/statements/blocks.d.ts.map +1 -1
  76. package/dist/statements/blocks.js +21 -11
  77. package/dist/statements/blocks.js.map +1 -1
  78. package/dist/statements/classes/members/constructors.d.ts.map +1 -1
  79. package/dist/statements/classes/members/constructors.js +16 -6
  80. package/dist/statements/classes/members/constructors.js.map +1 -1
  81. package/dist/statements/classes/members/methods.d.ts.map +1 -1
  82. package/dist/statements/classes/members/methods.js +28 -8
  83. package/dist/statements/classes/members/methods.js.map +1 -1
  84. package/dist/statements/classes/members/properties.d.ts.map +1 -1
  85. package/dist/statements/classes/members/properties.js +30 -17
  86. package/dist/statements/classes/members/properties.js.map +1 -1
  87. package/dist/statements/control/conditionals.d.ts.map +1 -1
  88. package/dist/statements/control/conditionals.js +72 -35
  89. package/dist/statements/control/conditionals.js.map +1 -1
  90. package/dist/statements/control/exceptions.d.ts.map +1 -1
  91. package/dist/statements/control/exceptions.js +11 -4
  92. package/dist/statements/control/exceptions.js.map +1 -1
  93. package/dist/statements/control/loops.d.ts.map +1 -1
  94. package/dist/statements/control/loops.js +47 -16
  95. package/dist/statements/control/loops.js.map +1 -1
  96. package/dist/statements/declarations/classes.d.ts.map +1 -1
  97. package/dist/statements/declarations/classes.js +19 -6
  98. package/dist/statements/declarations/classes.js.map +1 -1
  99. package/dist/statements/declarations/functions.d.ts.map +1 -1
  100. package/dist/statements/declarations/functions.js +67 -18
  101. package/dist/statements/declarations/functions.js.map +1 -1
  102. package/dist/statements/declarations/variables.d.ts.map +1 -1
  103. package/dist/statements/declarations/variables.js +31 -25
  104. package/dist/statements/declarations/variables.js.map +1 -1
  105. package/dist/statements/index.test.js +1 -0
  106. package/dist/statements/index.test.js.map +1 -1
  107. package/dist/types/references.test.js +1 -0
  108. package/dist/types/references.test.js.map +1 -1
  109. package/package.json +3 -3
  110. package/dist/golden.test.d.ts +0 -11
  111. package/dist/golden.test.d.ts.map +0 -1
  112. package/dist/golden.test.js +0 -41
  113. package/dist/golden.test.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=golden-shard-0.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-0.test.d.ts","sourceRoot":"","sources":["../src/golden-shard-0.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { registerGoldenTestShard } from "./golden-shards.js";
2
+ registerGoldenTestShard({ shardIndex: 0, shardCount: 8 });
3
+ //# sourceMappingURL=golden-shard-0.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-0.test.js","sourceRoot":"","sources":["../src/golden-shard-0.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,uBAAuB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=golden-shard-1.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-1.test.d.ts","sourceRoot":"","sources":["../src/golden-shard-1.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { registerGoldenTestShard } from "./golden-shards.js";
2
+ registerGoldenTestShard({ shardIndex: 1, shardCount: 8 });
3
+ //# sourceMappingURL=golden-shard-1.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-1.test.js","sourceRoot":"","sources":["../src/golden-shard-1.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,uBAAuB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=golden-shard-2.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-2.test.d.ts","sourceRoot":"","sources":["../src/golden-shard-2.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { registerGoldenTestShard } from "./golden-shards.js";
2
+ registerGoldenTestShard({ shardIndex: 2, shardCount: 8 });
3
+ //# sourceMappingURL=golden-shard-2.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-2.test.js","sourceRoot":"","sources":["../src/golden-shard-2.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,uBAAuB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=golden-shard-3.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-3.test.d.ts","sourceRoot":"","sources":["../src/golden-shard-3.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { registerGoldenTestShard } from "./golden-shards.js";
2
+ registerGoldenTestShard({ shardIndex: 3, shardCount: 8 });
3
+ //# sourceMappingURL=golden-shard-3.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-3.test.js","sourceRoot":"","sources":["../src/golden-shard-3.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,uBAAuB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=golden-shard-4.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-4.test.d.ts","sourceRoot":"","sources":["../src/golden-shard-4.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { registerGoldenTestShard } from "./golden-shards.js";
2
+ registerGoldenTestShard({ shardIndex: 4, shardCount: 8 });
3
+ //# sourceMappingURL=golden-shard-4.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-4.test.js","sourceRoot":"","sources":["../src/golden-shard-4.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,uBAAuB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=golden-shard-5.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-5.test.d.ts","sourceRoot":"","sources":["../src/golden-shard-5.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { registerGoldenTestShard } from "./golden-shards.js";
2
+ registerGoldenTestShard({ shardIndex: 5, shardCount: 8 });
3
+ //# sourceMappingURL=golden-shard-5.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-5.test.js","sourceRoot":"","sources":["../src/golden-shard-5.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,uBAAuB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=golden-shard-6.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-6.test.d.ts","sourceRoot":"","sources":["../src/golden-shard-6.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { registerGoldenTestShard } from "./golden-shards.js";
2
+ registerGoldenTestShard({ shardIndex: 6, shardCount: 8 });
3
+ //# sourceMappingURL=golden-shard-6.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-6.test.js","sourceRoot":"","sources":["../src/golden-shard-6.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,uBAAuB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=golden-shard-7.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-7.test.d.ts","sourceRoot":"","sources":["../src/golden-shard-7.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { registerGoldenTestShard } from "./golden-shards.js";
2
+ registerGoldenTestShard({ shardIndex: 7, shardCount: 8 });
3
+ //# sourceMappingURL=golden-shard-7.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shard-7.test.js","sourceRoot":"","sources":["../src/golden-shard-7.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,uBAAuB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ type GoldenShardConfig = {
2
+ readonly shardIndex: number;
3
+ readonly shardCount: number;
4
+ };
5
+ export declare const registerGoldenTestShard: (cfg: GoldenShardConfig) => void;
6
+ export {};
7
+ //# sourceMappingURL=golden-shards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shards.d.ts","sourceRoot":"","sources":["../src/golden-shards.ts"],"names":[],"mappings":"AAaA,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAAC;AAYF,eAAO,MAAM,uBAAuB,GAAI,KAAK,iBAAiB,KAAG,IAmChE,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { describe } from "mocha";
2
+ import * as path from "path";
3
+ import { fileURLToPath } from "url";
4
+ import { buildDescribeTree, discoverScenarios, registerNode, } from "./golden-tests/index.js";
5
+ const __filename = fileURLToPath(import.meta.url);
6
+ const __dirname = path.dirname(__filename);
7
+ const selectShardScenarios = (allScenarios, cfg) => {
8
+ const sorted = [...allScenarios].sort((a, b) => a.inputPath.localeCompare(b.inputPath));
9
+ return sorted.filter((_, i) => i % cfg.shardCount === cfg.shardIndex);
10
+ };
11
+ export const registerGoldenTestShard = (cfg) => {
12
+ if (cfg.shardCount <= 0) {
13
+ throw new Error(`Invalid shardCount: ${cfg.shardCount}`);
14
+ }
15
+ if (cfg.shardIndex < 0 || cfg.shardIndex >= cfg.shardCount) {
16
+ throw new Error(`Invalid shardIndex: ${cfg.shardIndex} (count: ${cfg.shardCount})`);
17
+ }
18
+ describe(`Golden Tests (shard ${cfg.shardIndex + 1}/${cfg.shardCount})`, function () {
19
+ // Golden tests run the full compiler+emitter pipeline per scenario and can
20
+ // exceed the default timeout on slower machines / CI.
21
+ this.timeout(30000);
22
+ const testcasesDir = path.join(__dirname, "../testcases");
23
+ const scenarios = discoverScenarios(testcasesDir);
24
+ const sharded = selectShardScenarios(scenarios, cfg);
25
+ if (sharded.length === 0) {
26
+ console.warn(`⚠️ No golden test cases found for shard ${cfg.shardIndex + 1}/${cfg.shardCount}`);
27
+ return;
28
+ }
29
+ const tree = buildDescribeTree(sharded);
30
+ if (tree) {
31
+ registerNode(tree);
32
+ }
33
+ });
34
+ };
35
+ //# sourceMappingURL=golden-shards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golden-shards.js","sourceRoot":"","sources":["../src/golden-shards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,GACb,MAAM,yBAAyB,CAAC;AAGjC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAO3C,MAAM,oBAAoB,GAAG,CAC3B,YAAiC,EACjC,GAAsB,EACD,EAAE;IACvB,MAAM,MAAM,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CACvC,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAsB,EAAQ,EAAE;IACtE,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CACb,uBAAuB,GAAG,CAAC,UAAU,YAAY,GAAG,CAAC,UAAU,GAAG,CACnE,CAAC;IACJ,CAAC;IAED,QAAQ,CACN,uBAAuB,GAAG,CAAC,UAAU,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,GAAG,EAC9D;QACE,2EAA2E;QAC3E,sDAAsD;QACtD,IAAI,CAAC,OAAO,CAAC,KAAM,CAAC,CAAC;QAErB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAE1D,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAErD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CACV,4CAA4C,GAAG,CAAC,UAAU,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,CACnF,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,IAAI,EAAE,CAAC;YACT,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EACL,SAAS,EAGT,MAAM,EAEP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AA4SF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GACvB,SAAS,SAAS,EAClB,WAAW,MAAM,EACjB,MAAM,MAAM,GAAG,SAAS,EACxB,QAAQ,MAAM,EACd,KAAK,cAAc,KAClB,cA6BF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,SAAS,EAClB,aAAa,MAAM,EACnB,aAAa,MAAM,GAAG,SAAS,EAC/B,QAAQ,MAAM,EACd,KAAK,cAAc,KAClB,cASF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,SAAS,EAClB,WAAW,MAAM,EACjB,WAAW,MAAM,GAAG,SAAS,EAC7B,QAAQ,MAAM,EACd,KAAK,cAAc,KAClB,cAQF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,SAAS,EAClB,SAAS,MAAM,EACf,MAAM,MAAM,GAAG,SAAS,EACxB,KAAK,cAAc,KAClB,wBAoFF,CAAC"}
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EACL,SAAS,EAGT,MAAM,EAEP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAS1D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AAkUF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GACvB,SAAS,SAAS,EAClB,WAAW,MAAM,EACjB,MAAM,MAAM,GAAG,SAAS,EACxB,QAAQ,MAAM,EACd,KAAK,cAAc,KAClB,cA6BF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,SAAS,EAClB,aAAa,MAAM,EACnB,aAAa,MAAM,GAAG,SAAS,EAC/B,QAAQ,MAAM,EACd,KAAK,cAAc,KAClB,cASF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,SAAS,EAClB,WAAW,MAAM,EACjB,WAAW,MAAM,GAAG,SAAS,EAC7B,QAAQ,MAAM,EACd,KAAK,cAAc,KAClB,cAQF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,SAAS,EAClB,SAAS,MAAM,EACf,MAAM,MAAM,GAAG,SAAS,EACxB,KAAK,cAAc,KAClB,wBAoFF,CAAC"}
package/dist/patterns.js CHANGED
@@ -37,6 +37,7 @@
37
37
  */
38
38
  import { emitType } from "./types/emitter.js";
39
39
  import { escapeCSharpIdentifier } from "./emitter-types/identifiers.js";
40
+ import { allocateLocalName, emitRemappedLocalName, registerLocalName, } from "./core/local-names.js";
40
41
  /**
41
42
  * Generate a unique temporary variable name
42
43
  */
@@ -50,17 +51,26 @@ const generateTemp = (prefix, ctx) => {
50
51
  * Lower an identifier pattern to a simple variable declaration
51
52
  */
52
53
  const lowerIdentifier = (name, inputExpr, type, indent, ctx) => {
53
- const escapedName = escapeCSharpIdentifier(name);
54
54
  // In static context, we can't use 'var' - need explicit type with modifiers
55
55
  if (ctx.isStatic) {
56
+ const escapedName = escapeCSharpIdentifier(name);
56
57
  const typeStr = type ? emitType(type, ctx)[0] : "object";
57
58
  const stmt = `${indent}private static readonly ${typeStr} ${escapedName} = ${inputExpr};`;
58
59
  return { statements: [stmt], context: ctx };
59
60
  }
61
+ const alloc = allocateLocalName(name, ctx);
62
+ const localName = alloc.emittedName;
63
+ let currentCtx = alloc.context;
60
64
  // Local context: use var when type not available
61
- const typeStr = type ? emitType(type, ctx)[0] : "var";
62
- const stmt = `${indent}${typeStr} ${escapedName} = ${inputExpr};`;
63
- return { statements: [stmt], context: ctx };
65
+ let typeStr = "var";
66
+ if (type) {
67
+ const [emittedType, next] = emitType(type, currentCtx);
68
+ typeStr = emittedType;
69
+ currentCtx = next;
70
+ }
71
+ const stmt = `${indent}${typeStr} ${localName} = ${inputExpr};`;
72
+ currentCtx = registerLocalName(name, localName, currentCtx);
73
+ return { statements: [stmt], context: currentCtx };
64
74
  };
65
75
  /**
66
76
  * Lower an array pattern to a sequence of indexed accesses
@@ -69,8 +79,13 @@ const lowerArrayPattern = (pattern, inputExpr, elementType, indent, ctx, arrayTy
69
79
  const statements = [];
70
80
  let currentCtx = ctx;
71
81
  // Create temporary for the input to avoid re-evaluation
72
- const [tempName, ctx1] = generateTemp("arr", currentCtx);
82
+ let [tempName, ctx1] = generateTemp("arr", currentCtx);
73
83
  currentCtx = ctx1;
84
+ if (!ctx.isStatic) {
85
+ const alloc = allocateLocalName(tempName, currentCtx);
86
+ tempName = alloc.emittedName;
87
+ currentCtx = alloc.context;
88
+ }
74
89
  // In static context, we can't use 'var' - need explicit type
75
90
  if (ctx.isStatic && arrayType) {
76
91
  const [typeStr, ctx2] = emitType(arrayType, currentCtx);
@@ -124,8 +139,13 @@ const lowerObjectPattern = (pattern, inputExpr, inputType, indent, ctx) => {
124
139
  const statements = [];
125
140
  let currentCtx = ctx;
126
141
  // Create temporary for the input to avoid re-evaluation
127
- const [tempName, ctx1] = generateTemp("obj", currentCtx);
142
+ let [tempName, ctx1] = generateTemp("obj", currentCtx);
128
143
  currentCtx = ctx1;
144
+ if (!ctx.isStatic) {
145
+ const alloc = allocateLocalName(tempName, currentCtx);
146
+ tempName = alloc.emittedName;
147
+ currentCtx = alloc.context;
148
+ }
129
149
  // In static context, we can't use 'var' - need explicit type with modifiers
130
150
  if (ctx.isStatic && inputType) {
131
151
  const [typeStr, ctx2] = emitType(inputType, currentCtx);
@@ -221,7 +241,7 @@ const getPropertyType = (type, key, ctx) => {
221
241
  /**
222
242
  * Emit a default expression (simplified - just literals for now)
223
243
  */
224
- const emitDefaultExpr = (expr, _ctx) => {
244
+ const emitDefaultExpr = (expr, ctx) => {
225
245
  // Simplified default expression emission
226
246
  if (expr.kind === "literal") {
227
247
  if (typeof expr.value === "string") {
@@ -238,10 +258,10 @@ const emitDefaultExpr = (expr, _ctx) => {
238
258
  }
239
259
  }
240
260
  if (expr.kind === "identifier") {
241
- return escapeCSharpIdentifier(expr.name);
261
+ return emitRemappedLocalName(expr.name, ctx);
242
262
  }
243
- // For complex expressions, emit a placeholder
244
- return "default!";
263
+ throw new Error(`Unsupported destructuring default expression kind '${expr.kind}'. ` +
264
+ "Only literals and identifiers are supported (airplane-grade: no silent placeholder emission).");
245
265
  };
246
266
  /**
247
267
  * Lower a pattern to a sequence of C# statements
@@ -315,7 +335,7 @@ export const lowerParameterPattern = (pattern, paramName, paramType, indent, ctx
315
335
  export const lowerAssignmentPattern = (pattern, rhsExpr, type, ctx) => {
316
336
  // For identifier pattern, just emit simple assignment
317
337
  if (pattern.kind === "identifierPattern") {
318
- const escapedName = escapeCSharpIdentifier(pattern.name);
338
+ const escapedName = emitRemappedLocalName(pattern.name, ctx);
319
339
  return {
320
340
  expression: `${escapedName} = ${rhsExpr}`,
321
341
  context: ctx,
@@ -354,7 +374,7 @@ export const lowerAssignmentPattern = (pattern, rhsExpr, type, ctx) => {
354
374
  if (prop.kind === "rest") {
355
375
  // Rest property - would need synthetic type
356
376
  if (prop.pattern.kind === "identifierPattern") {
357
- const escapedName = escapeCSharpIdentifier(prop.pattern.name);
377
+ const escapedName = emitRemappedLocalName(prop.pattern.name, currentCtx);
358
378
  assignments.push(`/* ${escapedName} = rest of ${tempName} - needs synthetic type */`);
359
379
  }
360
380
  continue;
@@ -376,7 +396,7 @@ export const lowerAssignmentPattern = (pattern, rhsExpr, type, ctx) => {
376
396
  */
377
397
  const lowerAssignmentPatternElement = (pattern, inputExpr, type, ctx) => {
378
398
  if (pattern.kind === "identifierPattern") {
379
- const escapedName = escapeCSharpIdentifier(pattern.name);
399
+ const escapedName = emitRemappedLocalName(pattern.name, ctx);
380
400
  return {
381
401
  expression: `${escapedName} = ${inputExpr}`,
382
402
  context: ctx,
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/statements/blocks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAa,MAAM,aAAa,CAAC;AAKxD;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,EACtD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAqBzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC,EACvD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAczB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EAC9C,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAqCzB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,EACtD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CA+CzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC,EAC3D,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAYzB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,4BAA4B,GACvC,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,0BAA0B,CAAA;CAAE,CAAC,EAChE,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAmBzB,CAAC"}
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/statements/blocks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAa,MAAM,aAAa,CAAC;AAMxD;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,EACtD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAqBzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC,EACvD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAczB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EAC9C,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CA2CzB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,EACtD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAqDzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC,EAC3D,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAYzB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,4BAA4B,GACvC,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,0BAA0B,CAAA;CAAE,CAAC,EAChE,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAoBzB,CAAC"}
@@ -5,6 +5,7 @@ import { getIndent } from "../types.js";
5
5
  import { emitExpression } from "../expression-emitter.js";
6
6
  import { emitStatement } from "../statement-emitter.js";
7
7
  import { lowerPattern } from "../patterns.js";
8
+ import { allocateLocalName } from "../core/local-names.js";
8
9
  /**
9
10
  * Emit a block statement
10
11
  */
@@ -68,8 +69,10 @@ export const emitYieldExpression = (expr, context) => {
68
69
  const foreachKeyword = currentContext.isAsync
69
70
  ? "await foreach"
70
71
  : "foreach";
71
- parts.push(`${ind}${foreachKeyword} (var item in ${delegateFrag.text})`);
72
- parts.push(`${ind} yield return item;`);
72
+ const itemAlloc = allocateLocalName("item", currentContext);
73
+ currentContext = itemAlloc.context;
74
+ parts.push(`${ind}${foreachKeyword} (var ${itemAlloc.emittedName} in ${delegateFrag.text})`);
75
+ parts.push(`${ind} yield return ${itemAlloc.emittedName};`);
73
76
  }
74
77
  }
75
78
  else {
@@ -77,12 +80,14 @@ export const emitYieldExpression = (expr, context) => {
77
80
  if (expr.expression) {
78
81
  const [valueFrag, newContext] = emitExpression(expr.expression, currentContext);
79
82
  currentContext = newContext;
80
- parts.push(`${ind}exchange.Output = ${valueFrag.text};`);
81
- parts.push(`${ind}yield return exchange;`);
83
+ const exchangeVar = currentContext.generatorExchangeVar ?? "exchange";
84
+ parts.push(`${ind}${exchangeVar}.Output = ${valueFrag.text};`);
85
+ parts.push(`${ind}yield return ${exchangeVar};`);
82
86
  }
83
87
  else {
84
88
  // Bare yield (no value)
85
- parts.push(`${ind}yield return exchange;`);
89
+ const exchangeVar = currentContext.generatorExchangeVar ?? "exchange";
90
+ parts.push(`${ind}yield return ${exchangeVar};`);
86
91
  }
87
92
  }
88
93
  return [parts.join("\n"), currentContext];
@@ -115,8 +120,10 @@ export const emitYieldStatement = (stmt, context) => {
115
120
  const foreachKeyword = currentContext.isAsync
116
121
  ? "await foreach"
117
122
  : "foreach";
118
- parts.push(`${ind}${foreachKeyword} (var item in ${delegateFrag.text})`);
119
- parts.push(`${ind} yield return item;`);
123
+ const itemAlloc = allocateLocalName("item", currentContext);
124
+ currentContext = itemAlloc.context;
125
+ parts.push(`${ind}${foreachKeyword} (var ${itemAlloc.emittedName} in ${delegateFrag.text})`);
126
+ parts.push(`${ind} yield return ${itemAlloc.emittedName};`);
120
127
  }
121
128
  }
122
129
  else {
@@ -124,12 +131,14 @@ export const emitYieldStatement = (stmt, context) => {
124
131
  if (stmt.output) {
125
132
  const [valueFrag, newContext] = emitExpression(stmt.output, currentContext);
126
133
  currentContext = newContext;
127
- parts.push(`${ind}exchange.Output = ${valueFrag.text};`);
134
+ const exchangeVar = currentContext.generatorExchangeVar ?? "exchange";
135
+ parts.push(`${ind}${exchangeVar}.Output = ${valueFrag.text};`);
128
136
  }
129
- parts.push(`${ind}yield return exchange;`);
137
+ const exchangeVar = currentContext.generatorExchangeVar ?? "exchange";
138
+ parts.push(`${ind}yield return ${exchangeVar};`);
130
139
  // Handle receiveTarget for bidirectional communication
131
140
  if (stmt.receiveTarget) {
132
- const lowered = lowerPattern(stmt.receiveTarget, "(exchange.Input ?? default!)", stmt.receivedType, ind, currentContext);
141
+ const lowered = lowerPattern(stmt.receiveTarget, `(${exchangeVar}.Input ?? default!)`, stmt.receivedType, ind, currentContext);
133
142
  parts.push(...lowered.statements);
134
143
  currentContext = lowered.context;
135
144
  }
@@ -169,12 +178,13 @@ export const emitExpressionStatement = (stmt, context) => {
169
178
  export const emitGeneratorReturnStatement = (stmt, context) => {
170
179
  const ind = getIndent(context);
171
180
  let currentContext = context;
181
+ const returnVar = currentContext.generatorReturnValueVar ?? "__returnValue";
172
182
  const parts = [];
173
183
  if (stmt.expression) {
174
184
  // Capture the return value in __returnValue before terminating
175
185
  const [valueFrag, newContext] = emitExpression(stmt.expression, currentContext);
176
186
  currentContext = newContext;
177
- parts.push(`${ind}__returnValue = ${valueFrag.text};`);
187
+ parts.push(`${ind}${returnVar} = ${valueFrag.text};`);
178
188
  }
179
189
  // Terminate the iterator
180
190
  parts.push(`${ind}yield break;`);
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/statements/blocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/statements/blocks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constructors.d.ts","sourceRoot":"","sources":["../../../../src/statements/classes/members/constructors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAiC,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,cAAc,EAA6B,MAAM,mBAAmB,CAAC;AAuB9E;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,aAAa,GAAG;IAAE,IAAI,EAAE,wBAAwB,CAAA;CAAE,EAC1D,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAuGzB,CAAC"}
1
+ {"version":3,"file":"constructors.d.ts","sourceRoot":"","sources":["../../../../src/statements/classes/members/constructors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAiC,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,cAAc,EAA6B,MAAM,mBAAmB,CAAC;AA0B9E;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,aAAa,GAAG;IAAE,IAAI,EAAE,wBAAwB,CAAA;CAAE,EAC1D,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CA8GzB,CAAC"}
@@ -9,12 +9,15 @@ import { emitAttributes } from "../../../core/attributes.js";
9
9
  import { emitParametersWithDestructuring, generateParameterDestructuring, } from "../parameters.js";
10
10
  const seedLocalNameMapFromParameters = (params, context) => {
11
11
  const map = new Map(context.localNameMap ?? []);
12
+ const used = new Set();
12
13
  for (const p of params) {
13
14
  if (p.pattern.kind === "identifierPattern") {
14
- map.set(p.pattern.name, escapeCSharpIdentifier(p.pattern.name));
15
+ const emitted = escapeCSharpIdentifier(p.pattern.name);
16
+ map.set(p.pattern.name, emitted);
17
+ used.add(emitted);
15
18
  }
16
19
  }
17
- return { ...context, localNameMap: map };
20
+ return { ...context, localNameMap: map, usedLocalNames: used };
18
21
  };
19
22
  /**
20
23
  * Emit a constructor declaration
@@ -26,6 +29,7 @@ export const emitConstructorMember = (member, context) => {
26
29
  typeParameterNameMap: context.typeParameterNameMap,
27
30
  returnType: context.returnType,
28
31
  localNameMap: context.localNameMap,
32
+ usedLocalNames: context.usedLocalNames,
29
33
  };
30
34
  const ind = getIndent(context);
31
35
  let currentContext = context;
@@ -65,17 +69,23 @@ export const emitConstructorMember = (member, context) => {
65
69
  throw new Error("Unsupported constructor semantics: super() must be the first statement to preserve JavaScript initialization order.");
66
70
  }
67
71
  // Emit body without the super() call
68
- const bodyContext = indent(currentContext);
72
+ let bodyContext = indent(currentContext);
69
73
  const modifiedBody = {
70
74
  ...member.body,
71
75
  statements: bodyStatements,
72
76
  };
77
+ // Generate parameter destructuring statements BEFORE emitting the body so
78
+ // any renamed locals are visible to the body emitter via localNameMap.
79
+ const bodyInd = getIndent(bodyContext);
80
+ const [parameterDestructuringStmts, destructuringContext] = paramsResult.destructuringParams.length > 0
81
+ ? generateParameterDestructuring(paramsResult.destructuringParams, bodyInd, bodyContext)
82
+ : [[], bodyContext];
83
+ bodyContext = destructuringContext;
73
84
  const [bodyCode, finalContext] = emitBlockStatement(modifiedBody, bodyContext);
74
85
  // Inject parameter destructuring statements at the start of the body
75
86
  let finalBodyCode = bodyCode;
76
- if (paramsResult.destructuringParams.length > 0) {
77
- const bodyInd = getIndent(bodyContext);
78
- const [destructuringStmts] = generateParameterDestructuring(paramsResult.destructuringParams, bodyInd, finalContext);
87
+ if (parameterDestructuringStmts.length > 0) {
88
+ const destructuringStmts = parameterDestructuringStmts;
79
89
  // Inject lines after opening brace
80
90
  const lines = bodyCode.split("\n");
81
91
  if (lines.length > 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"constructors.js","sourceRoot":"","sources":["../../../../src/statements/classes/members/constructors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constructors.js","sourceRoot":"","sources":["../../../../src/statements/classes/members/constructors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../../../src/statements/classes/members/methods.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAoB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EACL,cAAc,EAMf,MAAM,mBAAmB,CAAC;AAwB3B;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,aAAa,GAAG;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,EACrD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAyMzB,CAAC"}
1
+ {"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../../../src/statements/classes/members/methods.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAA4B,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EACL,cAAc,EAMf,MAAM,mBAAmB,CAAC;AA4C3B;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,aAAa,GAAG;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,EACrD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAgNzB,CAAC"}