@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
@@ -8,6 +8,7 @@
8
8
  * just uses the pre-computed clrName directly (no string parsing).
9
9
  */
10
10
  import { resolveImportPath } from "./module-map.js";
11
+ import { emitCSharpName } from "../naming-policy.js";
11
12
  /**
12
13
  * Process imports and build ImportBindings for local and CLR modules.
13
14
  *
@@ -52,7 +53,7 @@ export const processImports = (imports, context, module) => {
52
53
  const actualExportName = reexportSource?.sourceName ?? exportName;
53
54
  const targetModule = moduleMap.get(actualSourcePath);
54
55
  if (targetModule) {
55
- const binding = createImportBinding(spec, targetModule.namespace, targetModule.className, actualExportName, targetModule.hasTypeCollision);
56
+ const binding = createImportBinding(spec, targetModule.namespace, targetModule.className, actualExportName, targetModule.hasTypeCollision, targetModule.exportedValueKinds, ctx);
56
57
  if (binding) {
57
58
  importBindings.set(binding.localName, binding.importBinding);
58
59
  }
@@ -127,7 +128,7 @@ const createClrImportBinding = (spec, namespace) => {
127
128
  * - Value imports: clrName is the container global:: FQN, member is the export name
128
129
  * - Namespace imports: clrName is the container global:: FQN
129
130
  */
130
- const createImportBinding = (spec, namespace, containerClassName, resolvedExportName, hasTypeCollision = false) => {
131
+ const createImportBinding = (spec, namespace, containerClassName, resolvedExportName, hasTypeCollision = false, exportedValueKinds, context) => {
131
132
  const localName = spec.localName;
132
133
  // Value exports live in ClassName__Module when there's a type collision, otherwise in ClassName
133
134
  const valueContainerName = hasTypeCollision
@@ -149,13 +150,15 @@ const createImportBinding = (spec, namespace, containerClassName, resolvedExport
149
150
  };
150
151
  }
151
152
  else {
153
+ const valueKind = exportedValueKinds?.get(resolvedExportName);
154
+ const bucket = valueKind === "variable" ? "fields" : "methods";
152
155
  // Value import: clrName is the value container, member is the export name
153
156
  return {
154
157
  localName,
155
158
  importBinding: {
156
159
  kind: "value",
157
160
  clrName: valueContainerFqn,
158
- member: resolvedExportName,
161
+ member: emitCSharpName(resolvedExportName, bucket, context),
159
162
  },
160
163
  };
161
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"imports.js","sourceRoot":"","sources":["../../src/core/imports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imports.js","sourceRoot":"","sources":["../../src/core/imports.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"local-types.d.ts","sourceRoot":"","sources":["../../src/core/local-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,QAAQ,EAKT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAC1B,QAAQ,QAAQ,KACf,WAAW,CAAC,MAAM,EAAE,aAAa,CAWnC,CAAC"}
1
+ {"version":3,"file":"local-types.d.ts","sourceRoot":"","sources":["../../src/core/local-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,QAAQ,EAMT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAC1B,QAAQ,QAAQ,KACf,WAAW,CAAC,MAAM,EAAE,aAAa,CAWnC,CAAC"}
@@ -34,6 +34,11 @@ const extractLocalTypeInfo = (stmt) => {
34
34
  name: stmt.name,
35
35
  info: buildClassInfo(stmt),
36
36
  };
37
+ case "enumDeclaration":
38
+ return {
39
+ name: stmt.name,
40
+ info: buildEnumInfo(stmt),
41
+ };
37
42
  case "interfaceDeclaration":
38
43
  return {
39
44
  name: stmt.name,
@@ -66,6 +71,13 @@ const buildInterfaceInfo = (stmt) => ({
66
71
  members: stmt.members,
67
72
  extends: stmt.extends,
68
73
  });
74
+ /**
75
+ * Build LocalTypeInfo for an enum declaration
76
+ */
77
+ const buildEnumInfo = (stmt) => ({
78
+ kind: "enum",
79
+ members: stmt.members.map((m) => m.name),
80
+ });
69
81
  /**
70
82
  * Build LocalTypeInfo for a type alias declaration
71
83
  */
@@ -1 +1 @@
1
- {"version":3,"file":"local-types.js","sourceRoot":"","sources":["../../src/core/local-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAAgB,EACoB,EAAE;IACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,IAAI,EAAE,CAAC;YACT,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,oBAAoB,GAAG,CAC3B,IAAiB,EACkC,EAAE;IACrD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,kBAAkB;YACrB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;aAC3B,CAAC;QAEJ,KAAK,sBAAsB;YACzB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;aAC/B,CAAC;QAEJ,KAAK,sBAAsB;YACzB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;aAC/B,CAAC;QAEJ;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAiB,EAAE,CAAC,CAAC;IACnE,IAAI,EAAE,OAAO;IACb,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;IAC/D,OAAO,EAAE,IAAI,CAAC,OAAO;IACrB,UAAU,EAAE,IAAI,CAAC,UAAU;CAC5B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,IAA4B,EAAiB,EAAE,CAAC,CAAC;IAC3E,IAAI,EAAE,WAAW;IACjB,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;IAC/D,OAAO,EAAE,IAAI,CAAC,OAAO;IACrB,OAAO,EAAE,IAAI,CAAC,OAAO;CACtB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,IAA4B,EAAiB,EAAE,CAAC,CAAC;IAC3E,IAAI,EAAE,WAAW;IACjB,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;IAC/D,IAAI,EAAE,IAAI,CAAC,IAAI;CAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"local-types.js","sourceRoot":"","sources":["../../src/core/local-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAAgB,EACoB,EAAE;IACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,IAAI,EAAE,CAAC;YACT,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,oBAAoB,GAAG,CAC3B,IAAiB,EACkC,EAAE;IACrD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,kBAAkB;YACrB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;aAC3B,CAAC;QAEJ,KAAK,iBAAiB;YACpB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;aAC1B,CAAC;QAEJ,KAAK,sBAAsB;YACzB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;aAC/B,CAAC;QAEJ,KAAK,sBAAsB;YACzB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;aAC/B,CAAC;QAEJ;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAiB,EAAE,CAAC,CAAC;IACnE,IAAI,EAAE,OAAO;IACb,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;IAC/D,OAAO,EAAE,IAAI,CAAC,OAAO;IACrB,UAAU,EAAE,IAAI,CAAC,UAAU;CAC5B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,IAA4B,EAAiB,EAAE,CAAC,CAAC;IAC3E,IAAI,EAAE,WAAW;IACjB,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;IAC/D,OAAO,EAAE,IAAI,CAAC,OAAO;IACrB,OAAO,EAAE,IAAI,CAAC,OAAO;CACtB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,IAAuB,EAAiB,EAAE,CAAC,CAAC;IACjE,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;CACzC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,IAA4B,EAAiB,EAAE,CAAC,CAAC;IAC3E,IAAI,EAAE,WAAW;IACjB,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;IAC/D,IAAI,EAAE,IAAI,CAAC,IAAI;CAChB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/module-emitter/orchestrator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAiB,MAAM,gBAAgB,CAAC;AAoB/D;;GAEG;AACH,eAAO,MAAM,UAAU,GACrB,QAAQ,QAAQ,EAChB,UAAS,OAAO,CAAC,cAAc,CAAM,KACpC,MA6EF,CAAC"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/module-emitter/orchestrator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAiB,MAAM,gBAAgB,CAAC;AAqB/D;;GAEG;AACH,eAAO,MAAM,UAAU,GACrB,QAAQ,QAAQ,EAChB,UAAS,OAAO,CAAC,cAAc,CAAM,KACpC,MA0FF,CAAC"}
@@ -14,6 +14,7 @@ import { separateStatements } from "./separation.js";
14
14
  import { emitNamespaceDeclarations } from "./namespace.js";
15
15
  import { emitStaticContainer, hasMatchingClassName, } from "./static-container.js";
16
16
  import { assembleOutput } from "./assembly.js";
17
+ import { escapeCSharpIdentifier } from "../../emitter-types/index.js";
17
18
  /**
18
19
  * Emit C# code from an IR module
19
20
  */
@@ -37,14 +38,26 @@ export const emitModule = (module, options = {}) => {
37
38
  const [exchangesCode, exchangesContext] = generateGeneratorExchanges(module, specializationsContext);
38
39
  // Separate namespace-level declarations from static container members
39
40
  const { namespaceLevelDecls, staticContainerMembers, hasInheritance } = separateStatements(module);
41
+ const hasCollision = staticContainerMembers.length > 0 &&
42
+ hasMatchingClassName(namespaceLevelDecls, module.className);
43
+ const escapedModuleClassName = escapeCSharpIdentifier(module.className);
44
+ const moduleStaticClassName = staticContainerMembers.length > 0
45
+ ? hasCollision
46
+ ? `${escapedModuleClassName}__Module`
47
+ : escapedModuleClassName
48
+ : undefined;
49
+ const moduleContext = {
50
+ ...exchangesContext,
51
+ moduleNamespace: module.namespace,
52
+ moduleStaticClassName,
53
+ };
40
54
  // Emit namespace-level declarations (classes, interfaces)
41
- const namespaceResult = emitNamespaceDeclarations(namespaceLevelDecls, exchangesContext, hasInheritance);
55
+ const namespaceResult = emitNamespaceDeclarations(namespaceLevelDecls, moduleContext, hasInheritance);
42
56
  // Emit static container class if there are any static members
43
57
  // Use __Module suffix when there's a name collision with namespace-level declarations
44
58
  let staticContainerCode = "";
45
59
  let finalContext = namespaceResult.context;
46
60
  if (staticContainerMembers.length > 0) {
47
- const hasCollision = hasMatchingClassName(namespaceLevelDecls, module.className);
48
61
  const containerResult = emitStaticContainer(module, staticContainerMembers, namespaceResult.context, // Use context from namespace declarations to preserve usings
49
62
  hasInheritance, hasCollision // Add __Module suffix only when there's a name collision
50
63
  );
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/core/module-emitter/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/core/module-emitter/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"static-container.d.ts","sourceRoot":"","sources":["../../../src/core/module-emitter/static-container.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAyB,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAiC,MAAM,gBAAgB,CAAC;AAM/E,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,cAAc,SAAS,WAAW,EAAE,EACpC,WAAW,MAAM,KAChB,OAOF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,QAAQ,EAChB,SAAS,SAAS,WAAW,EAAE,EAC/B,aAAa,cAAc,EAC3B,gBAAgB,OAAO,EACvB,kBAAiB,OAAe,KAC/B,qBAqGF,CAAC"}
1
+ {"version":3,"file":"static-container.d.ts","sourceRoot":"","sources":["../../../src/core/module-emitter/static-container.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAyB,MAAM,kBAAkB,CAAC;AAChF,OAAO,EACL,cAAc,EAKf,MAAM,gBAAgB,CAAC;AAOxB,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,cAAc,SAAS,WAAW,EAAE,EACpC,WAAW,MAAM,KAChB,OAOF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,QAAQ,EAChB,SAAS,SAAS,WAAW,EAAE,EAC/B,aAAa,cAAc,EAC3B,gBAAgB,OAAO,EACvB,kBAAiB,OAAe,KAC/B,qBA4HF,CAAC"}
@@ -2,11 +2,12 @@
2
2
  * Static container class emission
3
3
  */
4
4
  import { isExecutableStatement } from "@tsonic/frontend";
5
- import { indent, getIndent, withStatic } from "../../types.js";
5
+ import { indent, getIndent, withStatic, } from "../../types.js";
6
6
  import { emitStatement } from "../../statement-emitter.js";
7
7
  import { emitExport } from "../exports.js";
8
8
  import { escapeCSharpIdentifier } from "../../emitter-types/index.js";
9
9
  import { statementUsesPointer } from "../unsafe.js";
10
+ import { getCSharpName } from "../../naming-policy.js";
10
11
  /**
11
12
  * Check if there's a namespace-level class with the same name as the module
12
13
  */
@@ -20,7 +21,30 @@ export const hasMatchingClassName = (declarations, className) => {
20
21
  * @param useModuleSuffix - If true, adds __Module suffix to avoid collision with namespace-level types
21
22
  */
22
23
  export const emitStaticContainer = (module, members, baseContext, hasInheritance, useModuleSuffix = false) => {
23
- const classContext = withStatic(indent(baseContext), true);
24
+ const valueSymbols = new Map();
25
+ for (const member of members) {
26
+ if (member.kind === "functionDeclaration") {
27
+ valueSymbols.set(member.name, {
28
+ kind: "function",
29
+ csharpName: getCSharpName(member.name, "methods", baseContext),
30
+ });
31
+ continue;
32
+ }
33
+ if (member.kind === "variableDeclaration") {
34
+ for (const decl of member.declarations) {
35
+ if (decl.name.kind !== "identifierPattern")
36
+ continue;
37
+ valueSymbols.set(decl.name.name, {
38
+ kind: "variable",
39
+ csharpName: getCSharpName(decl.name.name, "fields", baseContext),
40
+ });
41
+ }
42
+ }
43
+ }
44
+ const classContext = {
45
+ ...withStatic(indent(baseContext), true),
46
+ valueSymbols,
47
+ };
24
48
  const bodyContext = indent(classContext);
25
49
  const ind = getIndent(classContext);
26
50
  const bodyInd = getIndent(bodyContext);
@@ -74,7 +98,7 @@ export const emitStaticContainer = (module, members, baseContext, hasInheritance
74
98
  // Wrap statements in Main method if this is an entry point with top-level code
75
99
  if (mainBodyStmts.length > 0 && baseContext.options.isEntryPoint) {
76
100
  const mainParts = [];
77
- mainParts.push(`${bodyInd}public static void Main()`);
101
+ mainParts.push(`${bodyInd}public static void __TopLevel()`);
78
102
  mainParts.push(`${bodyInd}{`);
79
103
  const mainBodyContext = indent(bodyCurrentContext);
80
104
  let mainCurrentContext = mainBodyContext;
@@ -1 +1 @@
1
- {"version":3,"file":"static-container.js","sourceRoot":"","sources":["../../../src/core/module-emitter/static-container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"static-container.js","sourceRoot":"","sources":["../../../src/core/module-emitter/static-container.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ describe("Module Generation", () => {
11
11
  kind: "module",
12
12
  filePath: "/src/math.ts",
13
13
  namespace: "MyApp",
14
- className: "math",
14
+ className: "Math",
15
15
  isStaticContainer: true,
16
16
  imports: [],
17
17
  body: [
@@ -71,10 +71,10 @@ describe("Module Generation", () => {
71
71
  exports: [],
72
72
  };
73
73
  const result = emitModule(module);
74
- expect(result).to.include("public static class math");
74
+ expect(result).to.include("public static class Math");
75
75
  // Static fields cannot use 'var' in C#; type is inferred from literal
76
76
  expect(result).to.include("public static readonly double PI = 3.14159");
77
- expect(result).to.include("public static double add(double a, double b)");
77
+ expect(result).to.include("public static double Add(double a, double b)");
78
78
  expect(result).to.include("return a + b");
79
79
  expect(result).to.include("namespace MyApp");
80
80
  });
@@ -140,9 +140,9 @@ describe("Module Generation", () => {
140
140
  };
141
141
  const result = emitModule(module);
142
142
  expect(result).to.include("public class User");
143
- expect(result).to.include("public string name;");
144
- expect(result).to.include("public string greet()");
145
- expect(result).to.include('$"Hello, I\'m {this.name}"');
143
+ expect(result).to.include("public string Name;");
144
+ expect(result).to.include("public string Greet()");
145
+ expect(result).to.include('$"Hello, I\'m {this.Name}"');
146
146
  });
147
147
  });
148
148
  //# sourceMappingURL=module-emitter.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-map.d.ts","sourceRoot":"","sources":["../../src/core/module-map.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,YAAY,EACZ,SAAS,EACV,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,KAAG,MAsBvD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,SAAS,QAAQ,EAAE,KAC3B,eA+DF,CAAC;AAqDF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,iBAAiB,MAAM,EACvB,cAAc,MAAM,KACnB,MA8CF,CAAC"}
1
+ {"version":3,"file":"module-map.d.ts","sourceRoot":"","sources":["../../src/core/module-map.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,YAAY,EACZ,SAAS,EACV,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,KAAG,MAsBvD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;AAEnE;;;;GAIG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,SAAS,QAAQ,EAAE,KAC3B,eAyGF,CAAC;AAqDF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,iBAAiB,MAAM,EACvB,cAAc,MAAM,KACnB,MA8CF,CAAC"}
@@ -75,11 +75,53 @@ export const buildModuleMap = (modules) => {
75
75
  const hasTypeCollision = module.body.some((stmt) => (stmt.kind === "classDeclaration" ||
76
76
  stmt.kind === "interfaceDeclaration") &&
77
77
  stmt.name === module.className);
78
+ const exportedValueKinds = (() => {
79
+ const kinds = new Map();
80
+ const findLocalValueKind = (localName) => {
81
+ for (const stmt of module.body) {
82
+ if (stmt.kind === "functionDeclaration" && stmt.name === localName) {
83
+ return "function";
84
+ }
85
+ if (stmt.kind === "variableDeclaration") {
86
+ for (const decl of stmt.declarations) {
87
+ if (decl.name.kind !== "identifierPattern")
88
+ continue;
89
+ if (decl.name.name === localName)
90
+ return "variable";
91
+ }
92
+ }
93
+ }
94
+ return undefined;
95
+ };
96
+ for (const exp of module.exports) {
97
+ if (exp.kind === "declaration") {
98
+ const decl = exp.declaration;
99
+ if (decl.kind === "functionDeclaration") {
100
+ kinds.set(decl.name, "function");
101
+ }
102
+ else if (decl.kind === "variableDeclaration") {
103
+ for (const d of decl.declarations) {
104
+ if (d.name.kind !== "identifierPattern")
105
+ continue;
106
+ kinds.set(d.name.name, "variable");
107
+ }
108
+ }
109
+ continue;
110
+ }
111
+ if (exp.kind === "named") {
112
+ const kind = findLocalValueKind(exp.localName);
113
+ if (kind)
114
+ kinds.set(exp.name, kind);
115
+ }
116
+ }
117
+ return kinds;
118
+ })();
78
119
  map.set(canonicalPath, {
79
120
  namespace: module.namespace,
80
121
  className: module.className,
81
122
  filePath: canonicalPath,
82
123
  hasTypeCollision,
124
+ exportedValueKinds,
83
125
  });
84
126
  }
85
127
  // Build the export map
@@ -1 +1 @@
1
- {"version":3,"file":"module-map.js","sourceRoot":"","sources":["../../src/core/module-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-map.js","sourceRoot":"","sources":["../../src/core/module-map.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Diagnostic, IrModule } from "@tsonic/frontend";
2
+ import { type NamingPolicyConfig } from "@tsonic/frontend";
3
+ export declare const validateNamingPolicyCollisions: (modules: readonly IrModule[], namingPolicy: NamingPolicyConfig | undefined) => readonly Diagnostic[];
4
+ //# sourceMappingURL=naming-collisions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naming-collisions.d.ts","sourceRoot":"","sources":["../../src/core/naming-collisions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAe,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAkG1B,eAAO,MAAM,8BAA8B,GACzC,SAAS,SAAS,QAAQ,EAAE,EAC5B,cAAc,kBAAkB,GAAG,SAAS,KAC3C,SAAS,UAAU,EAqKrB,CAAC"}
@@ -0,0 +1,191 @@
1
+ import { applyNamingPolicy, resolveNamingPolicy, } from "@tsonic/frontend";
2
+ import { escapeCSharpIdentifier } from "../emitter-types/index.js";
3
+ const getCSharpIdentifier = (original, bucket, namingPolicy) => {
4
+ const policy = resolveNamingPolicy(namingPolicy, bucket);
5
+ return escapeCSharpIdentifier(applyNamingPolicy(original, policy));
6
+ };
7
+ const addCollisionDiagnostics = (diagnostics, items, scope) => {
8
+ const byCsharp = new Map();
9
+ for (const item of items) {
10
+ const existing = byCsharp.get(item.csharp) ?? [];
11
+ byCsharp.set(item.csharp, [...existing, item]);
12
+ }
13
+ for (const [csharp, group] of byCsharp) {
14
+ const originalNames = [...new Set(group.map((g) => g.original))];
15
+ if (originalNames.length <= 1)
16
+ continue;
17
+ const details = [...group]
18
+ .sort((a, b) => a.original === b.original
19
+ ? a.kind.localeCompare(b.kind)
20
+ : a.original.localeCompare(b.original))
21
+ .map((g) => `${g.original} (${g.kind})`)
22
+ .join(", ");
23
+ diagnostics.push({
24
+ code: "TSN3003",
25
+ severity: "error",
26
+ message: `Naming policy collision in ${scope}: ` +
27
+ `${details} all map to C# identifier '${csharp}'. ` +
28
+ `Rename one declaration or set namingPolicy.all = \"none\" to preserve source casing.`,
29
+ });
30
+ }
31
+ };
32
+ const collectInlineTypeNames = (stmt, namingPolicy) => {
33
+ const items = [];
34
+ for (const member of stmt.members) {
35
+ if (member.kind !== "propertySignature")
36
+ continue;
37
+ if (member.type?.kind !== "objectType")
38
+ continue;
39
+ items.push({
40
+ original: `${stmt.name}.${member.name}`,
41
+ csharp: getCSharpIdentifier(member.name, "classes", namingPolicy),
42
+ kind: "inlineType",
43
+ });
44
+ }
45
+ return items;
46
+ };
47
+ const collectContainerNameItem = (module) => {
48
+ const hasTypeCollision = module.body.some((s) => (s.kind === "classDeclaration" || s.kind === "interfaceDeclaration") &&
49
+ s.name === module.className);
50
+ // The container is only emitted when there are static members.
51
+ const hasStaticMembers = module.body.some((s) => s.kind !== "classDeclaration" && s.kind !== "interfaceDeclaration");
52
+ if (!hasStaticMembers)
53
+ return undefined;
54
+ const base = escapeCSharpIdentifier(module.className);
55
+ const csharp = hasTypeCollision ? `${base}__Module` : base;
56
+ return {
57
+ original: module.className,
58
+ csharp,
59
+ kind: "moduleContainer",
60
+ };
61
+ };
62
+ export const validateNamingPolicyCollisions = (modules, namingPolicy) => {
63
+ const diagnostics = [];
64
+ for (const module of modules) {
65
+ const fileLabel = module.filePath;
66
+ // ---------------------------------------------------------------------
67
+ // Module-level values (static container fields/methods)
68
+ // ---------------------------------------------------------------------
69
+ const moduleValueItems = [];
70
+ for (const stmt of module.body) {
71
+ if (stmt.kind === "functionDeclaration") {
72
+ moduleValueItems.push({
73
+ original: stmt.name,
74
+ csharp: getCSharpIdentifier(stmt.name, "methods", namingPolicy),
75
+ kind: "function",
76
+ });
77
+ continue;
78
+ }
79
+ if (stmt.kind === "variableDeclaration") {
80
+ for (const decl of stmt.declarations) {
81
+ if (decl.name.kind !== "identifierPattern")
82
+ continue;
83
+ moduleValueItems.push({
84
+ original: decl.name.name,
85
+ csharp: getCSharpIdentifier(decl.name.name, "fields", namingPolicy),
86
+ kind: "variable",
87
+ });
88
+ }
89
+ }
90
+ }
91
+ addCollisionDiagnostics(diagnostics, moduleValueItems, `module values (${fileLabel})`);
92
+ // ---------------------------------------------------------------------
93
+ // Namespace-level types (classes/interfaces) + generated inline types + container name
94
+ // ---------------------------------------------------------------------
95
+ const namespaceTypeItems = [];
96
+ for (const stmt of module.body) {
97
+ if (stmt.kind === "classDeclaration") {
98
+ namespaceTypeItems.push({
99
+ original: stmt.name,
100
+ csharp: escapeCSharpIdentifier(stmt.name),
101
+ kind: "class",
102
+ });
103
+ continue;
104
+ }
105
+ if (stmt.kind === "interfaceDeclaration") {
106
+ namespaceTypeItems.push({
107
+ original: stmt.name,
108
+ csharp: escapeCSharpIdentifier(stmt.name),
109
+ kind: "interface",
110
+ });
111
+ namespaceTypeItems.push(...collectInlineTypeNames(stmt, namingPolicy));
112
+ }
113
+ }
114
+ const container = collectContainerNameItem(module);
115
+ if (container) {
116
+ namespaceTypeItems.push(container);
117
+ }
118
+ addCollisionDiagnostics(diagnostics, namespaceTypeItems, `namespace types (${fileLabel})`);
119
+ // ---------------------------------------------------------------------
120
+ // Type member collisions (per declaration)
121
+ // ---------------------------------------------------------------------
122
+ for (const stmt of module.body) {
123
+ if (stmt.kind === "classDeclaration") {
124
+ const items = [];
125
+ for (const m of stmt.members) {
126
+ if (m.kind === "methodDeclaration") {
127
+ items.push({
128
+ original: m.name,
129
+ csharp: getCSharpIdentifier(m.name, "methods", namingPolicy),
130
+ kind: "method",
131
+ });
132
+ continue;
133
+ }
134
+ if (m.kind === "propertyDeclaration") {
135
+ const hasAccessors = !!(m.getterBody || m.setterBody);
136
+ const bucket = hasAccessors
137
+ ? "properties"
138
+ : "fields";
139
+ items.push({
140
+ original: m.name,
141
+ csharp: getCSharpIdentifier(m.name, bucket, namingPolicy),
142
+ kind: hasAccessors ? "property" : "field",
143
+ });
144
+ }
145
+ }
146
+ addCollisionDiagnostics(diagnostics, items, `class ${stmt.name} members (${fileLabel})`);
147
+ continue;
148
+ }
149
+ if (stmt.kind === "interfaceDeclaration") {
150
+ const items = [];
151
+ for (const m of stmt.members) {
152
+ if (m.kind === "methodSignature") {
153
+ items.push({
154
+ original: m.name,
155
+ csharp: getCSharpIdentifier(m.name, "methods", namingPolicy),
156
+ kind: "method",
157
+ });
158
+ continue;
159
+ }
160
+ // propertySignature
161
+ items.push({
162
+ original: m.name,
163
+ csharp: getCSharpIdentifier(m.name, "properties", namingPolicy),
164
+ kind: "property",
165
+ });
166
+ }
167
+ addCollisionDiagnostics(diagnostics, items, `interface ${stmt.name} members (${fileLabel})`);
168
+ continue;
169
+ }
170
+ if (stmt.kind === "enumDeclaration") {
171
+ const items = stmt.members.map((m) => ({
172
+ original: m.name,
173
+ csharp: getCSharpIdentifier(m.name, "enumMembers", namingPolicy),
174
+ kind: "enumMember",
175
+ }));
176
+ addCollisionDiagnostics(diagnostics, items, `enum ${stmt.name} members (${fileLabel})`);
177
+ continue;
178
+ }
179
+ if (stmt.kind === "typeAliasDeclaration" && stmt.type.kind === "objectType") {
180
+ const items = stmt.type.members.map((m) => ({
181
+ original: m.name,
182
+ csharp: getCSharpIdentifier(m.name, "properties", namingPolicy),
183
+ kind: m.kind === "methodSignature" ? "method" : "property",
184
+ }));
185
+ addCollisionDiagnostics(diagnostics, items, `type ${stmt.name} members (${fileLabel})`);
186
+ }
187
+ }
188
+ }
189
+ return diagnostics;
190
+ };
191
+ //# sourceMappingURL=naming-collisions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naming-collisions.js","sourceRoot":"","sources":["../../src/core/naming-collisions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { IrModule } from "@tsonic/frontend";
2
+ import type { TypeMemberIndex } from "../emitter-types/core.js";
3
+ export declare const buildTypeMemberIndex: (modules: readonly IrModule[]) => TypeMemberIndex;
4
+ //# sourceMappingURL=type-member-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-member-index.d.ts","sourceRoot":"","sources":["../../src/core/type-member-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAqB,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAUlC,eAAO,MAAM,oBAAoB,GAC/B,SAAS,SAAS,QAAQ,EAAE,KAC3B,eAqEF,CAAC"}