@tsonic/emitter 0.0.15 → 0.0.16

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 (144) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/adapter-generator.js +3 -3
  3. package/dist/adapter-generator.js.map +1 -1
  4. package/dist/array.test.js +2 -2
  5. package/dist/core/imports.d.ts.map +1 -1
  6. package/dist/core/imports.js +6 -3
  7. package/dist/core/imports.js.map +1 -1
  8. package/dist/core/local-types.d.ts.map +1 -1
  9. package/dist/core/local-types.js +12 -0
  10. package/dist/core/local-types.js.map +1 -1
  11. package/dist/core/module-emitter/orchestrator.d.ts.map +1 -1
  12. package/dist/core/module-emitter/orchestrator.js +15 -2
  13. package/dist/core/module-emitter/orchestrator.js.map +1 -1
  14. package/dist/core/module-emitter/static-container.d.ts.map +1 -1
  15. package/dist/core/module-emitter/static-container.js +27 -3
  16. package/dist/core/module-emitter/static-container.js.map +1 -1
  17. package/dist/core/module-emitter.test.js +6 -6
  18. package/dist/core/module-map.d.ts.map +1 -1
  19. package/dist/core/module-map.js +42 -0
  20. package/dist/core/module-map.js.map +1 -1
  21. package/dist/core/naming-collisions.d.ts +4 -0
  22. package/dist/core/naming-collisions.d.ts.map +1 -0
  23. package/dist/core/naming-collisions.js +191 -0
  24. package/dist/core/naming-collisions.js.map +1 -0
  25. package/dist/core/type-member-index.d.ts +4 -0
  26. package/dist/core/type-member-index.d.ts.map +1 -0
  27. package/dist/core/type-member-index.js +62 -0
  28. package/dist/core/type-member-index.js.map +1 -0
  29. package/dist/emitter-types/context.d.ts +1 -1
  30. package/dist/emitter-types/context.d.ts.map +1 -1
  31. package/dist/emitter-types/context.js +1 -0
  32. package/dist/emitter-types/context.js.map +1 -1
  33. package/dist/emitter-types/core.d.ts +41 -0
  34. package/dist/emitter-types/core.d.ts.map +1 -1
  35. package/dist/emitter-types/index.d.ts +1 -1
  36. package/dist/emitter-types/index.d.ts.map +1 -1
  37. package/dist/emitter-types/index.js.map +1 -1
  38. package/dist/emitter.d.ts.map +1 -1
  39. package/dist/emitter.js +12 -1
  40. package/dist/emitter.js.map +1 -1
  41. package/dist/expression-emitter.d.ts.map +1 -1
  42. package/dist/expression-emitter.js +8 -4
  43. package/dist/expression-emitter.js.map +1 -1
  44. package/dist/expressions/access.d.ts +3 -1
  45. package/dist/expressions/access.d.ts.map +1 -1
  46. package/dist/expressions/access.js +112 -14
  47. package/dist/expressions/access.js.map +1 -1
  48. package/dist/expressions/calls.d.ts.map +1 -1
  49. package/dist/expressions/calls.js +58 -43
  50. package/dist/expressions/calls.js.map +1 -1
  51. package/dist/expressions/collections.d.ts.map +1 -1
  52. package/dist/expressions/collections.js +132 -16
  53. package/dist/expressions/collections.js.map +1 -1
  54. package/dist/expressions/identifiers.d.ts.map +1 -1
  55. package/dist/expressions/identifiers.js +6 -0
  56. package/dist/expressions/identifiers.js.map +1 -1
  57. package/dist/expressions/index.test.js +2 -2
  58. package/dist/expressions/literals.d.ts.map +1 -1
  59. package/dist/expressions/literals.js +32 -0
  60. package/dist/expressions/literals.js.map +1 -1
  61. package/dist/expressions/operators.d.ts.map +1 -1
  62. package/dist/expressions/operators.js +35 -5
  63. package/dist/expressions/operators.js.map +1 -1
  64. package/dist/expressions/parentheses.d.ts +4 -0
  65. package/dist/expressions/parentheses.d.ts.map +1 -0
  66. package/dist/expressions/parentheses.js +83 -0
  67. package/dist/expressions/parentheses.js.map +1 -0
  68. package/dist/extension-methods.test.js +2 -2
  69. package/dist/generator-exchange.d.ts.map +1 -1
  70. package/dist/generator-exchange.js +3 -1
  71. package/dist/generator-exchange.js.map +1 -1
  72. package/dist/generator-wrapper.d.ts.map +1 -1
  73. package/dist/generator-wrapper.js +13 -7
  74. package/dist/generator-wrapper.js.map +1 -1
  75. package/dist/generator-wrapper.test.js +12 -12
  76. package/dist/generator-wrapper.test.js.map +1 -1
  77. package/dist/generator.test.js +33 -33
  78. package/dist/generator.test.js.map +1 -1
  79. package/dist/hierarchical-bindings.test.js +1 -1
  80. package/dist/integration.test.js +16 -16
  81. package/dist/naming-policy.d.ts +5 -0
  82. package/dist/naming-policy.d.ts.map +1 -0
  83. package/dist/naming-policy.js +10 -0
  84. package/dist/naming-policy.js.map +1 -0
  85. package/dist/specialization/generic-classes.test.js +1 -1
  86. package/dist/specialization/generic-functions.test.js +6 -6
  87. package/dist/specialization/interfaces.test.js +5 -5
  88. package/dist/specialization/type-aliases.test.js +6 -6
  89. package/dist/statements/classes/inline-types.d.ts +1 -1
  90. package/dist/statements/classes/inline-types.d.ts.map +1 -1
  91. package/dist/statements/classes/inline-types.js +4 -4
  92. package/dist/statements/classes/inline-types.js.map +1 -1
  93. package/dist/statements/classes/members/constructors.d.ts.map +1 -1
  94. package/dist/statements/classes/members/constructors.js +10 -2
  95. package/dist/statements/classes/members/constructors.js.map +1 -1
  96. package/dist/statements/classes/members/methods.d.ts.map +1 -1
  97. package/dist/statements/classes/members/methods.js +11 -2
  98. package/dist/statements/classes/members/methods.js.map +1 -1
  99. package/dist/statements/classes/members/properties.d.ts.map +1 -1
  100. package/dist/statements/classes/members/properties.js +15 -2
  101. package/dist/statements/classes/members/properties.js.map +1 -1
  102. package/dist/statements/classes/properties.d.ts.map +1 -1
  103. package/dist/statements/classes/properties.js +5 -6
  104. package/dist/statements/classes/properties.js.map +1 -1
  105. package/dist/statements/control/conditionals.d.ts.map +1 -1
  106. package/dist/statements/control/conditionals.js +115 -0
  107. package/dist/statements/control/conditionals.js.map +1 -1
  108. package/dist/statements/declarations/classes.d.ts.map +1 -1
  109. package/dist/statements/declarations/classes.js +23 -3
  110. package/dist/statements/declarations/classes.js.map +1 -1
  111. package/dist/statements/declarations/enums.d.ts.map +1 -1
  112. package/dist/statements/declarations/enums.js +2 -1
  113. package/dist/statements/declarations/enums.js.map +1 -1
  114. package/dist/statements/declarations/functions.d.ts.map +1 -1
  115. package/dist/statements/declarations/functions.js +16 -7
  116. package/dist/statements/declarations/functions.js.map +1 -1
  117. package/dist/statements/declarations/interfaces.d.ts.map +1 -1
  118. package/dist/statements/declarations/interfaces.js +23 -5
  119. package/dist/statements/declarations/interfaces.js.map +1 -1
  120. package/dist/statements/declarations/structs.test.js +5 -5
  121. package/dist/statements/declarations/type-aliases.d.ts.map +1 -1
  122. package/dist/statements/declarations/type-aliases.js +18 -4
  123. package/dist/statements/declarations/type-aliases.js.map +1 -1
  124. package/dist/statements/declarations/variables.d.ts.map +1 -1
  125. package/dist/statements/declarations/variables.js +20 -3
  126. package/dist/statements/declarations/variables.js.map +1 -1
  127. package/dist/type-assertion.test.js +1 -1
  128. package/dist/types/emitter.d.ts.map +1 -1
  129. package/dist/types/emitter.js +3 -2
  130. package/dist/types/emitter.js.map +1 -1
  131. package/dist/types/index.test.js +3 -3
  132. package/dist/types/parameters.d.ts +1 -1
  133. package/dist/types/parameters.d.ts.map +1 -1
  134. package/dist/types/parameters.js +41 -7
  135. package/dist/types/parameters.js.map +1 -1
  136. package/dist/types/references.d.ts.map +1 -1
  137. package/dist/types/references.js +40 -4
  138. package/dist/types/references.js.map +1 -1
  139. package/dist/types/references.test.js +11 -11
  140. package/dist/types/unions.test.js +9 -9
  141. package/dist/types.d.ts +1 -1
  142. package/dist/types.d.ts.map +1 -1
  143. package/dist/types.js.map +1 -1
  144. package/package.json +2 -2
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Parenthesization helpers for C# precedence correctness.
3
+ *
4
+ * C# precedence differs from TS in a few critical places:
5
+ * - Cast expressions like `(T)x` bind *less* tightly than postfix operators like `.`, `[]`, `()`.
6
+ * So `(${T})x.Member` parses as `(${T})(x.Member)` unless wrapped: `((T)x).Member`.
7
+ * - The `as` operator also requires parentheses when used as a postfix receiver: `(x as T).Member`.
8
+ * - The `?:` conditional operator must be parenthesized before postfix: `(cond ? a : b).Member`.
9
+ *
10
+ * Additionally, conditional access chains (`?.`, `?[`) must NOT be wrapped when continuing a chain,
11
+ * otherwise null-propagation semantics change:
12
+ * `x?.Y.Z` is not equivalent to `(x?.Y).Z`.
13
+ */
14
+ const hasConditionalAccessChain = (text) => text.includes("?.") || text.includes("?[");
15
+ const needsParensForPostfixByKind = (kind) => {
16
+ // These IR kinds emit C# primary/postfix expressions that can be directly followed by
17
+ // `.member`, `[index]`, or `(args)` without changing parse/semantics.
18
+ switch (kind) {
19
+ case "identifier":
20
+ case "memberAccess":
21
+ case "call":
22
+ case "new":
23
+ case "this":
24
+ case "literal":
25
+ case "array":
26
+ case "object":
27
+ case "templateLiteral":
28
+ return false;
29
+ default:
30
+ return true;
31
+ }
32
+ };
33
+ const needsParensForPostfixByText = (text) => {
34
+ const trimmed = text.trim();
35
+ // Cast-like forms frequently start with '(' (e.g. `(int)expr`) and must be wrapped
36
+ // when used as a postfix receiver/callee.
37
+ if (trimmed.startsWith("("))
38
+ return true;
39
+ // `as` has low precedence and must be wrapped before postfix operators.
40
+ if (trimmed.includes(" as "))
41
+ return true;
42
+ return false;
43
+ };
44
+ export const formatPostfixExpressionText = (expr, text) => {
45
+ // Never wrap conditional access chains when continuing a postfix chain, otherwise
46
+ // we change null-propagation semantics.
47
+ if (hasConditionalAccessChain(text))
48
+ return text;
49
+ if (needsParensForPostfixByKind(expr.kind) || needsParensForPostfixByText(text)) {
50
+ return `(${text})`;
51
+ }
52
+ return text;
53
+ };
54
+ const needsParensForCastOperandByKind = (kind) => {
55
+ // Cast operands must be a C# unary-expression; wrap composite expressions.
56
+ switch (kind) {
57
+ case "identifier":
58
+ case "memberAccess":
59
+ case "call":
60
+ case "new":
61
+ case "this":
62
+ case "literal":
63
+ case "array":
64
+ case "object":
65
+ case "templateLiteral":
66
+ case "unary":
67
+ case "update":
68
+ case "await":
69
+ case "numericNarrowing":
70
+ case "typeAssertion":
71
+ case "trycast":
72
+ case "stackalloc":
73
+ return false;
74
+ default:
75
+ return true;
76
+ }
77
+ };
78
+ export const formatCastOperandText = (expr, text) => {
79
+ if (needsParensForCastOperandByKind(expr.kind))
80
+ return `(${text})`;
81
+ return text;
82
+ };
83
+ //# sourceMappingURL=parentheses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parentheses.js","sourceRoot":"","sources":["../../src/expressions/parentheses.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,MAAM,yBAAyB,GAAG,CAAC,IAAY,EAAW,EAAE,CAC1D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,MAAM,2BAA2B,GAAG,CAAC,IAA0B,EAAW,EAAE;IAC1E,sFAAsF;IACtF,sEAAsE;IACtE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY,CAAC;QAClB,KAAK,cAAc,CAAC;QACpB,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,iBAAiB;YACpB,OAAO,KAAK,CAAC;QACf;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAAC,IAAY,EAAW,EAAE;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE5B,mFAAmF;IACnF,0CAA0C;IAC1C,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,wEAAwE;IACxE,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,IAAkB,EAClB,IAAY,EACJ,EAAE;IACV,kFAAkF;IAClF,wCAAwC;IACxC,IAAI,yBAAyB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjD,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;QAChF,OAAO,IAAI,IAAI,GAAG,CAAC;IACrB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAAG,CAAC,IAA0B,EAAW,EAAE;IAC9E,2EAA2E;IAC3E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY,CAAC;QAClB,KAAK,cAAc,CAAC;QACpB,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,iBAAiB,CAAC;QACvB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,kBAAkB,CAAC;QACxB,KAAK,eAAe,CAAC;QACrB,KAAK,SAAS,CAAC;QACf,KAAK,YAAY;YACf,OAAO,KAAK,CAAC;QACf;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,IAAkB,EAClB,IAAY,EACJ,EAAE;IACV,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,IAAI,GAAG,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -51,7 +51,7 @@ describe("Extension Method Emission", () => {
51
51
  ],
52
52
  };
53
53
  const result = emitModule(module);
54
- expect(result).to.include("addOne(this int x)");
54
+ expect(result).to.include("AddOne(this int x)");
55
55
  });
56
56
  it("should emit `this ref` for ref receivers", () => {
57
57
  const module = {
@@ -104,7 +104,7 @@ describe("Extension Method Emission", () => {
104
104
  ],
105
105
  };
106
106
  const result = emitModule(module);
107
- expect(result).to.include("inc(this ref int x)");
107
+ expect(result).to.include("Inc(this ref int x)");
108
108
  });
109
109
  });
110
110
  //# sourceMappingURL=extension-methods.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator-exchange.d.ts","sourceRoot":"","sources":["../src/generator-exchange.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAyB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAC;AA2F/D;;GAEG;AACH,eAAO,MAAM,0BAA0B,GACrC,QAAQ,QAAQ,EAChB,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAmCzB,CAAC"}
1
+ {"version":3,"file":"generator-exchange.d.ts","sourceRoot":"","sources":["../src/generator-exchange.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAyB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAC;AA6F/D;;GAEG;AACH,eAAO,MAAM,0BAA0B,GACrC,QAAQ,QAAQ,EAChB,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAmCzB,CAAC"}
@@ -5,6 +5,7 @@
5
5
  import { getIndent, indent } from "./types.js";
6
6
  import { emitType } from "./type-emitter.js";
7
7
  import { needsBidirectionalSupport, generateWrapperClass, } from "./generator-wrapper.js";
8
+ import { getCSharpName } from "./naming-policy.js";
8
9
  /**
9
10
  * Collect all generator functions from a module
10
11
  */
@@ -37,7 +38,8 @@ const generateExchangeClass = (func, context) => {
37
38
  const bodyInd = getIndent(indent(context));
38
39
  const parts = [];
39
40
  let currentContext = context;
40
- const exchangeName = `${func.name}_exchange`;
41
+ const csharpBaseName = getCSharpName(func.name, "methods", context);
42
+ const exchangeName = `${csharpBaseName}_exchange`;
41
43
  parts.push(`${ind}public sealed class ${exchangeName}`);
42
44
  parts.push(`${ind}{`);
43
45
  // Determine output type from return type or yield expressions
@@ -1 +1 @@
1
- {"version":3,"file":"generator-exchange.js","sourceRoot":"","sources":["../src/generator-exchange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator-exchange.js","sourceRoot":"","sources":["../src/generator-exchange.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generator-wrapper.d.ts","sourceRoot":"","sources":["../src/generator-wrapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAC;AAG/D;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GACnC,YAAY,MAAM,GAAG,SAAS,EAC9B,SAAS,cAAc,KACtB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,cAAc,CAAC;CA4D5B,CAAC;AAKF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,qBAAqB,EAC3B,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAwNzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,MAAM,qBAAqB,KAC1B,OAqBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,MAAM,qBAAqB,KAC1B,OAuBF,CAAC"}
1
+ {"version":3,"file":"generator-wrapper.d.ts","sourceRoot":"","sources":["../src/generator-wrapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAC;AAI/D;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GACnC,YAAY,MAAM,GAAG,SAAS,EAC9B,SAAS,cAAc,KACtB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,cAAc,CAAC;CA4D5B,CAAC;AAKF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,qBAAqB,EAC3B,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAiOzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,MAAM,qBAAqB,KAC1B,OAqBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,MAAM,qBAAqB,KAC1B,OAuBF,CAAC"}
@@ -12,6 +12,7 @@
12
12
  */
13
13
  import { getIndent, indent } from "./types.js";
14
14
  import { emitType } from "./type-emitter.js";
15
+ import { emitCSharpName, getCSharpName } from "./naming-policy.js";
15
16
  /**
16
17
  * Extract Generator type arguments from a return type
17
18
  * Generator<T, TReturn, TNext> -> { yieldType: T, returnType: TReturn, nextType: TNext }
@@ -119,8 +120,13 @@ export const generateWrapperClass = (func, context) => {
119
120
  const innerInd = getIndent(indent(indent(context)));
120
121
  const parts = [];
121
122
  let currentContext = context;
122
- const wrapperName = `${func.name}_Generator`;
123
- const exchangeName = `${func.name}_exchange`;
123
+ const csharpBaseName = getCSharpName(func.name, "methods", context);
124
+ const wrapperName = `${csharpBaseName}_Generator`;
125
+ const exchangeName = `${csharpBaseName}_exchange`;
126
+ const nextMethodName = emitCSharpName("next", "methods", context);
127
+ const returnMethodName = emitCSharpName("return", "methods", context);
128
+ const throwMethodName = emitCSharpName("throw", "methods", context);
129
+ const returnValuePropertyName = emitCSharpName("returnValue", "properties", context);
124
130
  // Extract type arguments
125
131
  const { yieldType, returnType, nextType, hasNextType, newContext } = extractGeneratorTypeArgs(func.returnType, currentContext);
126
132
  currentContext = newContext;
@@ -169,7 +175,7 @@ export const generateWrapperClass = (func, context) => {
169
175
  const asyncKeyword = func.isAsync ? "async " : "";
170
176
  const awaitKeyword = func.isAsync ? "await " : "";
171
177
  const moveNextMethod = func.isAsync ? "MoveNextAsync()" : "MoveNext()";
172
- parts.push(`${bodyInd}public ${asyncKeyword}${nextReturnType} next(${nextParamType} value = default)`);
178
+ parts.push(`${bodyInd}public ${asyncKeyword}${nextReturnType} ${nextMethodName}(${nextParamType} value = default)`);
173
179
  parts.push(`${bodyInd}{`);
174
180
  // When already done, return cached result (with TReturn value if available)
175
181
  // Note: JS IteratorResult has value: TYield | TReturn on completion
@@ -192,10 +198,10 @@ export const generateWrapperClass = (func, context) => {
192
198
  parts.push(`${bodyInd}/// <summary>`);
193
199
  parts.push(`${bodyInd}/// Gets the return value of the generator after it completes.`);
194
200
  parts.push(`${bodyInd}/// Only valid after the generator is done (next() returned done=true).`);
195
- parts.push(`${bodyInd}/// If terminated via @return(value), returns that value.`);
201
+ parts.push(`${bodyInd}/// If terminated via return(value), returns that value.`);
196
202
  parts.push(`${bodyInd}/// Otherwise, returns the value from the generator's return statement.`);
197
203
  parts.push(`${bodyInd}/// </summary>`);
198
- parts.push(`${bodyInd}public ${returnType} returnValue => _wasExternallyTerminated ? _returnValue : _getReturnValue();`);
204
+ parts.push(`${bodyInd}public ${returnType} ${returnValuePropertyName} => _wasExternallyTerminated ? _returnValue : _getReturnValue();`);
199
205
  parts.push("");
200
206
  }
201
207
  // return() method - use @ prefix since 'return' is a C# keyword
@@ -217,7 +223,7 @@ export const generateWrapperClass = (func, context) => {
217
223
  parts.push(`${bodyInd}/// C# cannot represent JavaScript's TYield | TReturn union type.`);
218
224
  parts.push(`${bodyInd}/// Access the return value via the 'returnValue' property after calling this method.`);
219
225
  parts.push(`${bodyInd}/// </remarks>`);
220
- parts.push(`${bodyInd}public ${asyncKeyword}${returnReturnType} @return(${returnParamType} value = default!)`);
226
+ parts.push(`${bodyInd}public ${asyncKeyword}${returnReturnType} ${returnMethodName}(${returnParamType} value = default!)`);
221
227
  parts.push(`${bodyInd}{`);
222
228
  parts.push(`${innerInd}_done = true;`);
223
229
  // If TReturn is not void, capture the return value for the returnValue property
@@ -250,7 +256,7 @@ export const generateWrapperClass = (func, context) => {
250
256
  parts.push(`${bodyInd}/// suspended yield point. The exception is thrown externally after`);
251
257
  parts.push(`${bodyInd}/// disposing the enumerator. This is a limitation of C# iterators.`);
252
258
  parts.push(`${bodyInd}/// </summary>`);
253
- parts.push(`${bodyInd}public ${throwReturnType} @throw(object e)`);
259
+ parts.push(`${bodyInd}public ${throwReturnType} ${throwMethodName}(object e)`);
254
260
  parts.push(`${bodyInd}{`);
255
261
  parts.push(`${innerInd}_done = true;`);
256
262
  if (func.isAsync) {
@@ -1 +1 @@
1
- {"version":3,"file":"generator-wrapper.js","sourceRoot":"","sources":["../src/generator-wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator-wrapper.js","sourceRoot":"","sources":["../src/generator-wrapper.ts"],"names":[],"mappings":"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"}
@@ -118,28 +118,28 @@ describe("Generator Wrapper", () => {
118
118
  const context = createContext({ rootNamespace: "Test" });
119
119
  const [code] = generateWrapperClass(func, context);
120
120
  // Class declaration
121
- expect(code).to.include("public sealed class counter_Generator");
121
+ expect(code).to.include("public sealed class Counter_Generator");
122
122
  // Private fields
123
123
  expect(code).to.include("private readonly");
124
- expect(code).to.include("IEnumerator<counter_exchange>");
124
+ expect(code).to.include("IEnumerator<Counter_exchange>");
125
125
  expect(code).to.include("_enumerator");
126
- expect(code).to.include("counter_exchange _exchange");
126
+ expect(code).to.include("Counter_exchange _exchange");
127
127
  expect(code).to.include("bool _done = false");
128
128
  // Constructor
129
- expect(code).to.include("public counter_Generator(");
130
- expect(code).to.include("IEnumerable<counter_exchange> enumerable");
129
+ expect(code).to.include("public Counter_Generator(");
130
+ expect(code).to.include("IEnumerable<Counter_exchange> enumerable");
131
131
  expect(code).to.include("GetEnumerator()");
132
132
  // next() method
133
- expect(code).to.include("public global::Tsonic.Runtime.IteratorResult<double> next(");
133
+ expect(code).to.include("public global::Tsonic.Runtime.IteratorResult<double> Next(");
134
134
  expect(code).to.include("double? value = default");
135
135
  expect(code).to.include("_exchange.Input = value");
136
136
  expect(code).to.include("MoveNext()");
137
137
  expect(code).to.include("_exchange.Output");
138
138
  // return() method - takes object when TReturn is void
139
- expect(code).to.include("public global::Tsonic.Runtime.IteratorResult<double> @return(");
139
+ expect(code).to.include("public global::Tsonic.Runtime.IteratorResult<double> Return(");
140
140
  expect(code).to.include("Dispose()");
141
141
  // throw() method
142
- expect(code).to.include("public global::Tsonic.Runtime.IteratorResult<double> @throw(object e)");
142
+ expect(code).to.include("public global::Tsonic.Runtime.IteratorResult<double> Throw(object e)");
143
143
  expect(code).to.include("System.Exception");
144
144
  });
145
145
  it("should generate async wrapper class for async generator", () => {
@@ -155,13 +155,13 @@ describe("Generator Wrapper", () => {
155
155
  const context = createContext({ rootNamespace: "Test" });
156
156
  const [code] = generateWrapperClass(func, context);
157
157
  // Async class
158
- expect(code).to.include("public sealed class asyncCounter_Generator");
158
+ expect(code).to.include("public sealed class AsyncCounter_Generator");
159
159
  // Async enumerator
160
- expect(code).to.include("IAsyncEnumerator<asyncCounter_exchange>");
161
- expect(code).to.include("IAsyncEnumerable<asyncCounter_exchange>");
160
+ expect(code).to.include("IAsyncEnumerator<AsyncCounter_exchange>");
161
+ expect(code).to.include("IAsyncEnumerable<AsyncCounter_exchange>");
162
162
  expect(code).to.include("GetAsyncEnumerator()");
163
163
  // Async next() method
164
- expect(code).to.include("public async global::System.Threading.Tasks.Task<global::Tsonic.Runtime.IteratorResult<double>> next(");
164
+ expect(code).to.include("public async global::System.Threading.Tasks.Task<global::Tsonic.Runtime.IteratorResult<double>> Next(");
165
165
  expect(code).to.include("await _enumerator.MoveNextAsync()");
166
166
  // Async return() method
167
167
  expect(code).to.include("public async");
@@ -1 +1 @@
1
- {"version":3,"file":"generator-wrapper.test.js","sourceRoot":"","sources":["../src/generator-wrapper.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator-wrapper.test.js","sourceRoot":"","sources":["../src/generator-wrapper.test.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ describe("Generator Emission", () => {
11
11
  kind: "module",
12
12
  filePath: "/test/counter.ts",
13
13
  namespace: "Test",
14
- className: "counter",
14
+ className: "Counter",
15
15
  isStaticContainer: true,
16
16
  imports: [],
17
17
  exports: [],
@@ -81,15 +81,15 @@ describe("Generator Emission", () => {
81
81
  };
82
82
  const code = emitModule(module);
83
83
  // Should contain exchange class
84
- expect(code).to.include("public sealed class counter_exchange");
84
+ expect(code).to.include("public sealed class Counter_exchange");
85
85
  expect(code).to.include("public object? Input { get; set; }");
86
86
  expect(code).to.include("public double Output { get; set; }");
87
87
  // Should have IEnumerable return type with fully-qualified name
88
- expect(code).to.include("counter_exchange> counter()");
88
+ expect(code).to.include("Counter_exchange> Counter()");
89
89
  // Should NOT use using directives - all types use global:: FQN
90
90
  expect(code).to.not.include("using System.Collections.Generic");
91
91
  // Should initialize exchange variable
92
- expect(code).to.include("var exchange = new counter_exchange()");
92
+ expect(code).to.include("var exchange = new Counter_exchange()");
93
93
  // Should emit yield with exchange object pattern
94
94
  expect(code).to.include("exchange.Output = i");
95
95
  expect(code).to.include("yield return exchange");
@@ -99,7 +99,7 @@ describe("Generator Emission", () => {
99
99
  kind: "module",
100
100
  filePath: "/test/asyncCounter.ts",
101
101
  namespace: "Test",
102
- className: "asyncCounter",
102
+ className: "AsyncCounter",
103
103
  isStaticContainer: true,
104
104
  imports: [],
105
105
  exports: [],
@@ -169,9 +169,9 @@ describe("Generator Emission", () => {
169
169
  };
170
170
  const code = emitModule(module);
171
171
  // Should contain exchange class
172
- expect(code).to.include("public sealed class asyncCounter_exchange");
172
+ expect(code).to.include("public sealed class AsyncCounter_exchange");
173
173
  // Should have IAsyncEnumerable return type with async and global:: FQN
174
- expect(code).to.include("public static async global::System.Collections.Generic.IAsyncEnumerable<asyncCounter_exchange> asyncCounter()");
174
+ expect(code).to.include("public static async global::System.Collections.Generic.IAsyncEnumerable<AsyncCounter_exchange> AsyncCounter()");
175
175
  });
176
176
  describe("Bidirectional Generators", () => {
177
177
  it("should generate wrapper class for bidirectional generator", () => {
@@ -179,7 +179,7 @@ describe("Generator Emission", () => {
179
179
  kind: "module",
180
180
  filePath: "/test/accumulator.ts",
181
181
  namespace: "Test",
182
- className: "accumulator",
182
+ className: "Accumulator",
183
183
  isStaticContainer: true,
184
184
  imports: [],
185
185
  exports: [],
@@ -267,32 +267,32 @@ describe("Generator Emission", () => {
267
267
  const code = emitModule(module);
268
268
  // Note: IteratorResult<T> is now in Tsonic.Runtime, not emitted per-module
269
269
  // Should generate exchange class
270
- expect(code).to.include("public sealed class accumulator_exchange");
270
+ expect(code).to.include("public sealed class Accumulator_exchange");
271
271
  expect(code).to.include("public double? Input { get; set; }");
272
272
  expect(code).to.include("public double Output { get; set; }");
273
273
  // Should generate wrapper class
274
- expect(code).to.include("public sealed class accumulator_Generator");
275
- expect(code).to.include("IEnumerator<accumulator_exchange> _enumerator");
276
- expect(code).to.include("accumulator_exchange _exchange");
274
+ expect(code).to.include("public sealed class Accumulator_Generator");
275
+ expect(code).to.include("IEnumerator<Accumulator_exchange> _enumerator");
276
+ expect(code).to.include("Accumulator_exchange _exchange");
277
277
  // next() method with nullable parameter
278
- expect(code).to.include("global::Tsonic.Runtime.IteratorResult<double> next(double? value");
278
+ expect(code).to.include("global::Tsonic.Runtime.IteratorResult<double> Next(double? value");
279
279
  expect(code).to.include("_exchange.Input = value");
280
280
  expect(code).to.include("MoveNext()");
281
281
  // return() and throw() methods
282
- expect(code).to.include("global::Tsonic.Runtime.IteratorResult<double> @return(");
283
- expect(code).to.include("global::Tsonic.Runtime.IteratorResult<double> @throw(object e)");
282
+ expect(code).to.include("global::Tsonic.Runtime.IteratorResult<double> Return(");
283
+ expect(code).to.include("global::Tsonic.Runtime.IteratorResult<double> Throw(object e)");
284
284
  // Function should return wrapper type
285
- expect(code).to.include("accumulator_Generator accumulator(");
285
+ expect(code).to.include("Accumulator_Generator Accumulator(");
286
286
  // Should use local iterator pattern
287
287
  expect(code).to.include("__iterator()");
288
- expect(code).to.include("return new accumulator_Generator(__iterator(), exchange)");
288
+ expect(code).to.include("return new Accumulator_Generator(__iterator(), exchange)");
289
289
  });
290
290
  it("should emit yieldStatement with receiveTarget", () => {
291
291
  const module = {
292
292
  kind: "module",
293
293
  filePath: "/test/receiver.ts",
294
294
  namespace: "Test",
295
- className: "receiver",
295
+ className: "Receiver",
296
296
  isStaticContainer: true,
297
297
  imports: [],
298
298
  exports: [],
@@ -340,7 +340,7 @@ describe("Generator Emission", () => {
340
340
  kind: "module",
341
341
  filePath: "/test/unidirectional.ts",
342
342
  namespace: "Test",
343
- className: "unidirectional",
343
+ className: "Unidirectional",
344
344
  isStaticContainer: true,
345
345
  imports: [],
346
346
  exports: [],
@@ -379,19 +379,19 @@ describe("Generator Emission", () => {
379
379
  };
380
380
  const code = emitModule(module);
381
381
  // Should NOT generate wrapper class for unidirectional
382
- expect(code).to.not.include("range_Generator");
382
+ expect(code).to.not.include("Range_Generator");
383
383
  expect(code).to.not.include("IteratorResult<");
384
384
  // Should use IEnumerable return type
385
- expect(code).to.include("IEnumerable<range_exchange> range()");
385
+ expect(code).to.include("IEnumerable<Range_exchange> Range()");
386
386
  // Should generate exchange class
387
- expect(code).to.include("public sealed class range_exchange");
387
+ expect(code).to.include("public sealed class Range_exchange");
388
388
  });
389
389
  it("should handle async bidirectional generator", () => {
390
390
  const module = {
391
391
  kind: "module",
392
392
  filePath: "/test/asyncBidir.ts",
393
393
  namespace: "Test",
394
- className: "asyncBidir",
394
+ className: "AsyncBidir",
395
395
  isStaticContainer: true,
396
396
  imports: [],
397
397
  exports: [],
@@ -428,9 +428,9 @@ describe("Generator Emission", () => {
428
428
  };
429
429
  const code = emitModule(module);
430
430
  // Should generate async wrapper
431
- expect(code).to.include("asyncAccumulator_Generator");
432
- expect(code).to.include("IAsyncEnumerator<asyncAccumulator_exchange>");
433
- expect(code).to.include("async global::System.Threading.Tasks.Task<global::Tsonic.Runtime.IteratorResult<double>> next(");
431
+ expect(code).to.include("AsyncAccumulator_Generator");
432
+ expect(code).to.include("IAsyncEnumerator<AsyncAccumulator_exchange>");
433
+ expect(code).to.include("async global::System.Threading.Tasks.Task<global::Tsonic.Runtime.IteratorResult<double>> Next(");
434
434
  expect(code).to.include("await _enumerator.MoveNextAsync()");
435
435
  });
436
436
  describe("Edge Cases", () => {
@@ -440,7 +440,7 @@ describe("Generator Emission", () => {
440
440
  kind: "module",
441
441
  filePath: "/test/stringNext.ts",
442
442
  namespace: "Test",
443
- className: "stringNext",
443
+ className: "StringNext",
444
444
  isStaticContainer: true,
445
445
  imports: [],
446
446
  exports: [],
@@ -479,7 +479,7 @@ describe("Generator Emission", () => {
479
479
  // Should generate wrapper with string? Input
480
480
  expect(code).to.include("public string? Input { get; set; }");
481
481
  // next() method should accept string?
482
- expect(code).to.include("next(string? value = default)");
482
+ expect(code).to.include("Next(string? value = default)");
483
483
  });
484
484
  it("should use await foreach for async yield* delegation", () => {
485
485
  // Async generator with yield* should use await foreach
@@ -487,7 +487,7 @@ describe("Generator Emission", () => {
487
487
  kind: "module",
488
488
  filePath: "/test/asyncYieldStar.ts",
489
489
  namespace: "Test",
490
- className: "asyncYieldStar",
490
+ className: "AsyncYieldStar",
491
491
  isStaticContainer: true,
492
492
  imports: [],
493
493
  exports: [],
@@ -534,7 +534,7 @@ describe("Generator Emission", () => {
534
534
  kind: "module",
535
535
  filePath: "/test/arrayPattern.ts",
536
536
  namespace: "Test",
537
- className: "arrayPattern",
537
+ className: "ArrayPattern",
538
538
  isStaticContainer: true,
539
539
  imports: [],
540
540
  exports: [],
@@ -592,7 +592,7 @@ describe("Generator Emission", () => {
592
592
  kind: "module",
593
593
  filePath: "/test/objectPattern.ts",
594
594
  namespace: "Test",
595
- className: "objectPattern",
595
+ className: "ObjectPattern",
596
596
  isStaticContainer: true,
597
597
  imports: [],
598
598
  exports: [],
@@ -664,7 +664,7 @@ describe("Generator Emission", () => {
664
664
  kind: "module",
665
665
  filePath: "/test/generatorReturn.ts",
666
666
  namespace: "Test",
667
- className: "generatorReturn",
667
+ className: "GeneratorReturn",
668
668
  isStaticContainer: true,
669
669
  imports: [],
670
670
  exports: [],
@@ -717,7 +717,7 @@ describe("Generator Emission", () => {
717
717
  kind: "module",
718
718
  filePath: "/test/bareReturn.ts",
719
719
  namespace: "Test",
720
- className: "bareReturn",
720
+ className: "BareReturn",
721
721
  isStaticContainer: true,
722
722
  imports: [],
723
723
  exports: [],