@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
@@ -1 +1 @@
1
- {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../../src/statements/classes/members/properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../../src/statements/classes/members/properties.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAEL,MAAM,EACN,SAAS,EACT,MAAM,EACN,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAuD,EACvD,OAAuB,EACG,EAAE;IAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,cAAc,GAAG,OAAO,CAAC;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,MAAM,CAAC,kBAAkB,KAAK,IAAI,CAAC;IAC1D,MAAM,aAAa,GAAG,YAAY,IAAI,cAAc,CAAC;IAErD,kBAAkB;IAClB,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,QAAQ,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE1B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,+DAA+D;IAC/D,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,gEAAgE;IAChE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,uDAAuD;IACvD,2EAA2E;IAC3E,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACrE,cAAc,GAAG,UAAU,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,IAAI,CACR,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAC9E,CAAC;IAEF,kDAAkD;IAClD,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG,cAAc,CAClD,MAAM,CAAC,UAAU,EACjB,cAAc,CACf,CAAC;IACF,cAAc,GAAG,WAAW,CAAC;IAE7B,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,2EAA2E;QAC3E,IAAI,IAAI,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,cAAc,CAC7C,MAAM,CAAC,WAAW,EAClB,cAAc,CACf,CAAC;YACF,IAAI,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC9B,cAAc,GAAG,YAAY,CAAC;QAChC,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,cAAc,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC;QAEnE,IAAI,IAAI,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;QAChE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YACpF,cAAc,GAAG,YAAY,CAAC;YAC9B,IAAI,IAAI,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC;QACjC,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEpD,6CAA6C;IAC7C,IAAI,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAE1B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,CAAC,CAAC;QAC5B,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,UAAU,CACzC,iBAAiB,EACjB,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,EAC3B,CAAC,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAW,EAAE,SAAS,CAAC,CACjE,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,CAAC,CAAC;QAC5B,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAE/C,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG,UAAU,CAC5C,iBAAiB,EACjB;YACE,YAAY,EACV,eAAe,IAAI,eAAe,KAAK,OAAO;gBAC5C,CAAC,CAAC,IAAI,GAAG,CAAC;oBACN,GAAG,CAAC,iBAAiB,CAAC,YAAY,IAAI,EAAE,CAAC;oBACzC,CAAC,eAAe,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;iBAC3D,CAAC;gBACJ,CAAC,CAAC,iBAAiB,CAAC,YAAY;SACrC,EACD,CAAC,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAW,EAAE,SAAS,CAAC,CACjE,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;YACxB,IAAI,CAAC,eAAe,IAAI,eAAe,KAAK,OAAO;gBAAE,OAAO,cAAc,CAAC;YAE3E,MAAM,YAAY,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,GAAG,OAAO,OAAO,YAAY,WAAW,CAAC;YAE5D,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;gBACxC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC,EAAE,CAAC;QAEL,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAE1B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../../src/statements/classes/properties.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAa,MAAM,gBAAgB,CAAC;AAM3D;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GACxC,QAAQ,iBAAiB,EACzB,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAoFzB,CAAC"}
1
+ {"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../../src/statements/classes/properties.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAa,MAAM,gBAAgB,CAAC;AAK3D;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GACxC,QAAQ,iBAAiB,EACzB,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAoFzB,CAAC"}
@@ -3,9 +3,8 @@
3
3
  */
4
4
  import { getIndent } from "../../types.js";
5
5
  import { emitType } from "../../type-emitter.js";
6
- import { capitalize } from "./helpers.js";
7
6
  import { emitParameters } from "./parameters.js";
8
- import { escapeCSharpIdentifier } from "../../emitter-types/index.js";
7
+ import { emitCSharpName, getCSharpName } from "../../naming-policy.js";
9
8
  /**
10
9
  * Emit interface member as C# auto-property (for classes)
11
10
  * Per spec/16-types-and-interfaces.md §2.1
@@ -26,8 +25,8 @@ export const emitInterfaceMemberAsProperty = (member, context) => {
26
25
  // If this is an inline object type, use the extracted class name
27
26
  let typeName;
28
27
  if (member.type.kind === "objectType") {
29
- // Use capitalized property name as the class name
30
- typeName = capitalize(member.name);
28
+ // Use naming policy for generated type names
29
+ typeName = getCSharpName(member.name, "classes", context);
31
30
  }
32
31
  else {
33
32
  const [emittedType, newContext] = emitType(member.type, currentContext);
@@ -43,7 +42,7 @@ export const emitInterfaceMemberAsProperty = (member, context) => {
43
42
  parts.push(typeStr);
44
43
  }
45
44
  // Property name (escape C# keywords)
46
- parts.push(escapeCSharpIdentifier(member.name));
45
+ parts.push(emitCSharpName(member.name, "properties", context));
47
46
  // Getter/setter (readonly is get-only)
48
47
  const accessors = member.isReadonly ? "{ get; }" : "{ get; set; }";
49
48
  return [`${ind}${parts.join(" ")} ${accessors}`, currentContext];
@@ -62,7 +61,7 @@ export const emitInterfaceMemberAsProperty = (member, context) => {
62
61
  parts.push("void");
63
62
  }
64
63
  // Method name (escape C# keywords)
65
- parts.push(escapeCSharpIdentifier(member.name));
64
+ parts.push(emitCSharpName(member.name, "methods", context));
66
65
  // Parameters
67
66
  const params = emitParameters(member.parameters, currentContext);
68
67
  currentContext = params[1];
@@ -1 +1 @@
1
- {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/statements/classes/properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/statements/classes/properties.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"conditionals.d.ts","sourceRoot":"","sources":["../../../src/statements/control/conditionals.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAgB,WAAW,EAAU,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACL,cAAc,EAKf,MAAM,gBAAgB,CAAC;AAiWxB;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,EACnD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CA8SzB,CAAC;AAEF;;GAEG;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,CA4CzB,CAAC"}
1
+ {"version":3,"file":"conditionals.d.ts","sourceRoot":"","sources":["../../../src/statements/control/conditionals.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAgB,WAAW,EAAU,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACL,cAAc,EAKf,MAAM,gBAAgB,CAAC;AAoaxB;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,EACnD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CA0azB,CAAC;AAEF;;GAEG;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,CA4CzB,CAAC"}
@@ -59,6 +59,49 @@ const tryResolvePredicateGuard = (call, context) => {
59
59
  narrowedMap,
60
60
  };
61
61
  };
62
+ /**
63
+ * Try to extract guard info from an `instanceof` binary expression.
64
+ * Returns guard info if:
65
+ * - condition is `binary` with operator `instanceof`
66
+ * - lhs is identifier
67
+ *
68
+ * Note: rhs is emitted as a type name (C# pattern).
69
+ */
70
+ const tryResolveInstanceofGuard = (condition, context) => {
71
+ if (condition.kind !== "binary")
72
+ return undefined;
73
+ if (condition.operator !== "instanceof")
74
+ return undefined;
75
+ if (condition.left.kind !== "identifier")
76
+ return undefined;
77
+ const originalName = condition.left.name;
78
+ const escapedOrig = escapeCSharpIdentifier(originalName);
79
+ const nextId = (context.tempVarId ?? 0) + 1;
80
+ const ctxWithId = { ...context, tempVarId: nextId };
81
+ // Emit RHS as a type name (e.g., global::System.String)
82
+ const [rhsFrag, ctxAfterRhs] = emitExpression(condition.right, ctxWithId);
83
+ const rhsTypeText = rhsFrag.text;
84
+ // Pattern variable name for the narrowed value.
85
+ const narrowedName = `${originalName}__is_${nextId}`;
86
+ const escapedNarrow = escapeCSharpIdentifier(narrowedName);
87
+ const narrowedMap = new Map(ctxAfterRhs.narrowedBindings ?? []);
88
+ narrowedMap.set(originalName, {
89
+ kind: "rename",
90
+ name: narrowedName,
91
+ type: condition.right.inferredType ?? undefined,
92
+ });
93
+ return {
94
+ originalName,
95
+ rhsTypeText,
96
+ ctxWithId,
97
+ ctxAfterRhs,
98
+ narrowedName,
99
+ escapedOrig,
100
+ escapedNarrow,
101
+ narrowedMap,
102
+ targetType: condition.right.inferredType ?? undefined,
103
+ };
104
+ };
62
105
  /**
63
106
  * Check if an expression represents null or undefined.
64
107
  * Handles both literal form (from null/undefined keyword) and identifier form
@@ -296,6 +339,27 @@ export const emitIfStatement = (stmt, context) => {
296
339
  return [code, finalContext];
297
340
  }
298
341
  }
342
+ // Case A2: if (x instanceof Foo) { ... }
343
+ // C# pattern var narrowing → if (x is Foo x__is_k) { ... } (then-branch sees narrowed x)
344
+ const instanceofGuard = tryResolveInstanceofGuard(stmt.condition, context);
345
+ if (instanceofGuard) {
346
+ const { ctxAfterRhs, escapedOrig, escapedNarrow, rhsTypeText, narrowedMap, } = instanceofGuard;
347
+ const condText = `${escapedOrig} is ${rhsTypeText} ${escapedNarrow}`;
348
+ const thenCtx = {
349
+ ...indent(ctxAfterRhs),
350
+ narrowedBindings: narrowedMap,
351
+ };
352
+ const [thenCode, thenCtxAfter] = emitStatement(stmt.thenStatement, thenCtx);
353
+ let code = `${ind}if (${condText})\n${thenCode}`;
354
+ let finalContext = dedent(thenCtxAfter);
355
+ finalContext = { ...finalContext, narrowedBindings: ctxAfterRhs.narrowedBindings };
356
+ if (stmt.elseStatement) {
357
+ const [elseCode, elseCtx] = emitStatement(stmt.elseStatement, indent(finalContext));
358
+ code += `\n${ind}else\n${elseCode}`;
359
+ finalContext = dedent(elseCtx);
360
+ }
361
+ return [code, finalContext];
362
+ }
299
363
  // Case B: if (!isUser(account)) { ... } else { ... }
300
364
  // Negated guard → for 2-member unions, narrow THEN to OTHER member, ELSE to guard's target
301
365
  if (stmt.condition.kind === "unary" &&
@@ -352,6 +416,28 @@ export const emitIfStatement = (stmt, context) => {
352
416
  return [code, dedent(thenCtx)];
353
417
  }
354
418
  }
419
+ // Case B2: if (!(x instanceof Foo)) { ... } else { ... }
420
+ // Swap branches so ELSE runs under the narrowed pattern var.
421
+ if (stmt.condition.kind === "unary" &&
422
+ stmt.condition.operator === "!" &&
423
+ stmt.elseStatement) {
424
+ const inner = stmt.condition.expression;
425
+ const guard = tryResolveInstanceofGuard(inner, context);
426
+ if (guard) {
427
+ const { ctxAfterRhs, escapedOrig, escapedNarrow, rhsTypeText, narrowedMap, } = guard;
428
+ const condText = `${escapedOrig} is ${rhsTypeText} ${escapedNarrow}`;
429
+ // THEN branch is the original ELSE (narrowed)
430
+ const thenCtx = {
431
+ ...indent(ctxAfterRhs),
432
+ narrowedBindings: narrowedMap,
433
+ };
434
+ const [thenCode, thenCtxAfter] = emitStatement(stmt.elseStatement, thenCtx);
435
+ // ELSE branch is the original THEN (not narrowed)
436
+ const [elseCode, elseCtxAfter] = emitStatement(stmt.thenStatement, indent({ ...dedent(thenCtxAfter), narrowedBindings: ctxAfterRhs.narrowedBindings }));
437
+ const code = `${ind}if (${condText})\n${thenCode}\n${ind}else\n${elseCode}`;
438
+ return [code, dedent(elseCtxAfter)];
439
+ }
440
+ }
355
441
  // Case C: if (isUser(account) && account.foo) { ... }
356
442
  // Logical AND with predicate guard on left → nested-if lowering (preserves short-circuit)
357
443
  if (stmt.condition.kind === "logical" && stmt.condition.operator === "&&") {
@@ -399,6 +485,35 @@ export const emitIfStatement = (stmt, context) => {
399
485
  return [code, finalContext];
400
486
  }
401
487
  }
488
+ // Case C2: if (x instanceof Foo && x.foo) { ... }
489
+ // Preserve short-circuit and expose narrowed x in RHS and THEN.
490
+ if (left.kind === "binary" && left.operator === "instanceof") {
491
+ const guard = tryResolveInstanceofGuard(left, context);
492
+ if (guard) {
493
+ const { ctxAfterRhs, escapedOrig, escapedNarrow, rhsTypeText, narrowedMap, } = guard;
494
+ const rhsCtx = {
495
+ ...ctxAfterRhs,
496
+ narrowedBindings: narrowedMap,
497
+ };
498
+ const [rhsFrag, rhsCtxAfterEmit] = emitExpression(right, rhsCtx);
499
+ const [rhsCondText, rhsCtxAfterCond] = toBooleanCondition(right, rhsFrag.text, rhsCtxAfterEmit);
500
+ const condText = `(${escapedOrig} is ${rhsTypeText} ${escapedNarrow} && ${rhsCondText})`;
501
+ const thenCtx = {
502
+ ...indent(rhsCtxAfterCond),
503
+ narrowedBindings: narrowedMap,
504
+ };
505
+ const [thenCode, thenCtxAfter] = emitStatement(stmt.thenStatement, thenCtx);
506
+ let code = `${ind}if (${condText})\n${thenCode}`;
507
+ let finalContext = dedent(thenCtxAfter);
508
+ finalContext = { ...finalContext, narrowedBindings: ctxAfterRhs.narrowedBindings };
509
+ if (stmt.elseStatement) {
510
+ const [elseCode, elseCtx] = emitStatement(stmt.elseStatement, indent(finalContext));
511
+ code += `\n${ind}else\n${elseCode}`;
512
+ finalContext = dedent(elseCtx);
513
+ }
514
+ return [code, finalContext];
515
+ }
516
+ }
402
517
  }
403
518
  // Case D: Nullable value type narrowing
404
519
  // if (id !== null) { ... } → id becomes id.Value in then-branch
@@ -1 +1 @@
1
- {"version":3,"file":"conditionals.js","sourceRoot":"","sources":["../../../src/statements/control/conditionals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conditionals.js","sourceRoot":"","sources":["../../../src/statements/control/conditionals.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"classes.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/classes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAe,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,cAAc,EAIf,MAAM,gBAAgB,CAAC;AAQxB;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAAC,EACxD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAwOzB,CAAC"}
1
+ {"version":3,"file":"classes.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/classes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAe,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,cAAc,EAIf,MAAM,gBAAgB,CAAC;AASxB;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAAC,EACxD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CA+PzB,CAAC"}
@@ -8,10 +8,18 @@ import { escapeCSharpIdentifier } from "../../emitter-types/index.js";
8
8
  import { emitAttributes } from "../../core/attributes.js";
9
9
  import { substituteType } from "../../specialization/substitution.js";
10
10
  import { statementUsesPointer } from "../../core/unsafe.js";
11
+ import { emitCSharpName } from "../../naming-policy.js";
11
12
  /**
12
13
  * Emit a class declaration
13
14
  */
14
15
  export const emitClassDeclaration = (stmt, context) => {
16
+ const savedScoped = {
17
+ typeParameters: context.typeParameters,
18
+ typeParamConstraints: context.typeParamConstraints,
19
+ typeParameterNameMap: context.typeParameterNameMap,
20
+ returnType: context.returnType,
21
+ localNameMap: context.localNameMap,
22
+ };
15
23
  const ind = getIndent(context);
16
24
  const parts = [];
17
25
  const needsUnsafe = statementUsesPointer(stmt);
@@ -107,7 +115,19 @@ export const emitClassDeclaration = (stmt, context) => {
107
115
  const escapedClassName = escapeCSharpIdentifier(stmt.name);
108
116
  parts.push(escapedClassName);
109
117
  // Type parameters
110
- const [typeParamsStr, whereClauses, typeParamContext] = emitTypeParameters(stmt.typeParameters, currentContext);
118
+ const reservedTypeParamNames = new Set();
119
+ for (const member of membersToEmit) {
120
+ if (member.kind === "methodDeclaration") {
121
+ reservedTypeParamNames.add(emitCSharpName(member.name, "methods", context));
122
+ continue;
123
+ }
124
+ if (member.kind === "propertyDeclaration") {
125
+ const hasAccessors = !!(member.getterBody || member.setterBody);
126
+ const emitsProperty = hasAccessors || member.emitAsAutoProperty === true;
127
+ reservedTypeParamNames.add(emitCSharpName(member.name, emitsProperty ? "properties" : "fields", context));
128
+ }
129
+ }
130
+ const [typeParamsStr, whereClauses, typeParamContext] = emitTypeParameters(stmt.typeParameters, currentContext, reservedTypeParamNames);
111
131
  currentContext = typeParamContext;
112
132
  // Base class and interfaces
113
133
  const heritage = [];
@@ -192,9 +212,9 @@ export const emitClassDeclaration = (stmt, context) => {
192
212
  const staticBody = staticMemberCodes.join("\n\n");
193
213
  const staticClassCode = `${ind}${staticSignature}\n${ind}{\n${staticBody}\n${ind}}`;
194
214
  const code = `${staticClassCode}\n${mainClassCode}`;
195
- return [code, currentContext];
215
+ return [code, { ...currentContext, ...savedScoped }];
196
216
  }
197
217
  const code = mainClassCode;
198
- return [code, currentContext];
218
+ return [code, { ...currentContext, ...savedScoped }];
199
219
  };
200
220
  //# sourceMappingURL=classes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"classes.js","sourceRoot":"","sources":["../../../src/statements/declarations/classes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classes.js","sourceRoot":"","sources":["../../../src/statements/declarations/classes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/enums.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAqB,MAAM,gBAAgB,CAAC;AAInE;;GAEG;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,CAoBzB,CAAC"}
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/enums.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAqB,MAAM,gBAAgB,CAAC;AAKnE;;GAEG;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,CAoBzB,CAAC"}
@@ -4,6 +4,7 @@
4
4
  import { getIndent, indent } from "../../types.js";
5
5
  import { emitExpression } from "../../expression-emitter.js";
6
6
  import { escapeCSharpIdentifier } from "../../emitter-types/index.js";
7
+ import { emitCSharpName } from "../../naming-policy.js";
7
8
  /**
8
9
  * Emit an enum declaration
9
10
  */
@@ -15,7 +16,7 @@ export const emitEnumDeclaration = (stmt, context) => {
15
16
  const enumContext = { ...context, isArrayIndex: true };
16
17
  const members = stmt.members
17
18
  .map((member) => {
18
- const escapedName = escapeCSharpIdentifier(member.name);
19
+ const escapedName = emitCSharpName(member.name, "enumMembers", context);
19
20
  if (member.initializer) {
20
21
  const [initFrag] = emitExpression(member.initializer, enumContext);
21
22
  return `${memberInd}${escapedName} = ${initFrag.text}`;
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/statements/declarations/enums.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAkB,SAAS,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAAuD,EACvD,OAAuB,EACG,EAAE;IAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAE7C,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IAC9D,2EAA2E;IAC3E,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;SACzB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACnE,OAAO,GAAG,SAAS,GAAG,WAAW,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzD,CAAC;QACD,OAAO,GAAG,SAAS,GAAG,WAAW,EAAE,CAAC;IACtC,CAAC,CAAC;SACD,IAAI,CAAC,KAAK,CAAC,CAAC;IAEf,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,aAAa,SAAS,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,OAAO,KAAK,GAAG,GAAG,CAAC;IAC9G,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../src/statements/declarations/enums.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAkB,SAAS,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAAuD,EACvD,OAAuB,EACG,EAAE;IAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAE7C,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IAC9D,2EAA2E;IAC3E,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;SACzB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QACxE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACnE,OAAO,GAAG,SAAS,GAAG,WAAW,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzD,CAAC;QACD,OAAO,GAAG,SAAS,GAAG,WAAW,EAAE,CAAC;IACtC,CAAC,CAAC;SACD,IAAI,CAAC,KAAK,CAAC,CAAC;IAEf,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,aAAa,SAAS,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,OAAO,KAAK,GAAG,GAAG,CAAC;IAC9G,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACzB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/functions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAoB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EACL,cAAc,EAMf,MAAM,gBAAgB,CAAC;AA4BxB;;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,CAwPzB,CAAC"}
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/functions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAoB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EACL,cAAc,EAMf,MAAM,gBAAgB,CAAC;AA6BxB;;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,CAiQzB,CAAC"}
@@ -8,6 +8,7 @@ import { emitParametersWithDestructuring, generateParameterDestructuring, } from
8
8
  import { escapeCSharpIdentifier } from "../../emitter-types/index.js";
9
9
  import { needsBidirectionalSupport, hasGeneratorReturnType, extractGeneratorTypeArgs, } from "../../generator-wrapper.js";
10
10
  import { emitAttributes } from "../../core/attributes.js";
11
+ import { emitCSharpName, getCSharpName } from "../../naming-policy.js";
11
12
  const seedLocalNameMapFromParameters = (params, context) => {
12
13
  const map = new Map(context.localNameMap ?? []);
13
14
  for (const p of params) {
@@ -21,8 +22,16 @@ const seedLocalNameMapFromParameters = (params, context) => {
21
22
  * Emit a function declaration
22
23
  */
23
24
  export const emitFunctionDeclaration = (stmt, context) => {
25
+ const savedScoped = {
26
+ typeParameters: context.typeParameters,
27
+ typeParamConstraints: context.typeParamConstraints,
28
+ typeParameterNameMap: context.typeParameterNameMap,
29
+ returnType: context.returnType,
30
+ localNameMap: context.localNameMap,
31
+ };
24
32
  const ind = getIndent(context);
25
33
  const parts = [];
34
+ const csharpBaseName = getCSharpName(stmt.name, "methods", context);
26
35
  // Build type parameter names set FIRST - needed when emitting return type and parameters
27
36
  // Type parameters must be in scope before we emit types that reference them
28
37
  const funcTypeParams = new Set([
@@ -53,12 +62,12 @@ export const emitFunctionDeclaration = (stmt, context) => {
53
62
  if (stmt.isGenerator) {
54
63
  if (isBidirectional) {
55
64
  // Bidirectional generators return the wrapper class
56
- const wrapperName = `${stmt.name}_Generator`;
65
+ const wrapperName = `${csharpBaseName}_Generator`;
57
66
  parts.push(wrapperName);
58
67
  }
59
68
  else {
60
69
  // Unidirectional generators return IEnumerable<exchange> or IAsyncEnumerable<exchange>
61
- const exchangeName = `${stmt.name}_exchange`;
70
+ const exchangeName = `${csharpBaseName}_exchange`;
62
71
  if (stmt.isAsync) {
63
72
  parts.push(`async global::System.Collections.Generic.IAsyncEnumerable<${exchangeName}>`);
64
73
  }
@@ -87,7 +96,7 @@ export const emitFunctionDeclaration = (stmt, context) => {
87
96
  parts.push(stmt.isAsync ? "global::System.Threading.Tasks.Task" : "void");
88
97
  }
89
98
  // Function name
90
- parts.push(escapeCSharpIdentifier(stmt.name));
99
+ parts.push(emitCSharpName(stmt.name, "methods", context));
91
100
  // Parameters (with destructuring support)
92
101
  const paramsResult = emitParametersWithDestructuring(stmt.parameters, currentContext);
93
102
  currentContext = paramsResult.context;
@@ -129,8 +138,8 @@ export const emitFunctionDeclaration = (stmt, context) => {
129
138
  }
130
139
  // Handle bidirectional generators specially
131
140
  if (stmt.isGenerator && isBidirectional) {
132
- const exchangeName = `${stmt.name}_exchange`;
133
- const wrapperName = `${stmt.name}_Generator`;
141
+ const exchangeName = `${csharpBaseName}_exchange`;
142
+ const wrapperName = `${csharpBaseName}_Generator`;
134
143
  const enumerableType = stmt.isAsync
135
144
  ? `global::System.Collections.Generic.IAsyncEnumerable<${exchangeName}>`
136
145
  : `global::System.Collections.Generic.IEnumerable<${exchangeName}>`;
@@ -178,7 +187,7 @@ export const emitFunctionDeclaration = (stmt, context) => {
178
187
  else {
179
188
  // Add generator exchange initialization for unidirectional generators
180
189
  if (stmt.isGenerator) {
181
- const exchangeName = `${stmt.name}_exchange`;
190
+ const exchangeName = `${csharpBaseName}_exchange`;
182
191
  injectLines.push(`${bodyInd}var exchange = new ${exchangeName}();`);
183
192
  }
184
193
  // Add out parameter initializations
@@ -207,6 +216,6 @@ export const emitFunctionDeclaration = (stmt, context) => {
207
216
  const attrPrefix = attributesCode ? attributesCode + "\n" : "";
208
217
  const code = `${attrPrefix}${ind}${signature}${typeParamsStr}(${paramsResult.parameterList})${whereClause}\n${finalBodyCode}`;
209
218
  // Return context - no usings tracking needed with global:: FQN approach
210
- return [code, currentContext];
219
+ return [code, { ...currentContext, ...savedScoped }];
211
220
  };
212
221
  //# sourceMappingURL=functions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/statements/declarations/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/statements/declarations/functions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/interfaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAqB,MAAM,gBAAgB,CAAC;AAUnE;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,sBAAsB,CAAA;CAAE,CAAC,EAC5D,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CA+JzB,CAAC"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/interfaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAqB,MAAM,gBAAgB,CAAC;AAWnE;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,sBAAsB,CAAA;CAAE,CAAC,EAC5D,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAoLzB,CAAC"}