@tsonic/emitter 0.0.14 → 0.0.15

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 (184) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/array.test.d.ts +1 -1
  3. package/dist/array.test.js +17 -16
  4. package/dist/array.test.js.map +1 -1
  5. package/dist/core/attributes.test.js +2 -2
  6. package/dist/core/attributes.test.js.map +1 -1
  7. package/dist/core/imports.d.ts.map +1 -1
  8. package/dist/core/imports.js +1 -9
  9. package/dist/core/imports.js.map +1 -1
  10. package/dist/core/module-emitter/static-container.d.ts.map +1 -1
  11. package/dist/core/module-emitter/static-container.js +3 -1
  12. package/dist/core/module-emitter/static-container.js.map +1 -1
  13. package/dist/core/unsafe.d.ts +11 -0
  14. package/dist/core/unsafe.d.ts.map +1 -0
  15. package/dist/core/unsafe.js +264 -0
  16. package/dist/core/unsafe.js.map +1 -0
  17. package/dist/emitter-types/context.d.ts +1 -1
  18. package/dist/emitter-types/context.d.ts.map +1 -1
  19. package/dist/emitter-types/context.js +4 -3
  20. package/dist/emitter-types/context.js.map +1 -1
  21. package/dist/emitter-types/core.d.ts +4 -2
  22. package/dist/emitter-types/core.d.ts.map +1 -1
  23. package/dist/emitter-types/fqn.d.ts +0 -7
  24. package/dist/emitter-types/fqn.d.ts.map +1 -1
  25. package/dist/emitter-types/fqn.js +0 -8
  26. package/dist/emitter-types/fqn.js.map +1 -1
  27. package/dist/expression-emitter.d.ts.map +1 -1
  28. package/dist/expression-emitter.js +248 -70
  29. package/dist/expression-emitter.js.map +1 -1
  30. package/dist/expressions/access.d.ts.map +1 -1
  31. package/dist/expressions/access.js +36 -40
  32. package/dist/expressions/access.js.map +1 -1
  33. package/dist/expressions/calls.d.ts.map +1 -1
  34. package/dist/expressions/calls.js +233 -70
  35. package/dist/expressions/calls.js.map +1 -1
  36. package/dist/expressions/collections.d.ts.map +1 -1
  37. package/dist/expressions/collections.js +37 -41
  38. package/dist/expressions/collections.js.map +1 -1
  39. package/dist/expressions/functions.d.ts.map +1 -1
  40. package/dist/expressions/functions.js +30 -10
  41. package/dist/expressions/functions.js.map +1 -1
  42. package/dist/expressions/identifiers.d.ts.map +1 -1
  43. package/dist/expressions/identifiers.js +5 -30
  44. package/dist/expressions/identifiers.js.map +1 -1
  45. package/dist/expressions/index.test.js +87 -198
  46. package/dist/expressions/index.test.js.map +1 -1
  47. package/dist/expressions/literals.d.ts +4 -5
  48. package/dist/expressions/literals.d.ts.map +1 -1
  49. package/dist/expressions/literals.js +62 -15
  50. package/dist/expressions/literals.js.map +1 -1
  51. package/dist/expressions/operators.d.ts +0 -4
  52. package/dist/expressions/operators.d.ts.map +1 -1
  53. package/dist/expressions/operators.js +49 -19
  54. package/dist/expressions/operators.js.map +1 -1
  55. package/dist/expressions/other.d.ts.map +1 -1
  56. package/dist/expressions/other.js +21 -3
  57. package/dist/expressions/other.js.map +1 -1
  58. package/dist/extension-methods.test.d.ts +5 -0
  59. package/dist/extension-methods.test.d.ts.map +1 -0
  60. package/dist/extension-methods.test.js +110 -0
  61. package/dist/extension-methods.test.js.map +1 -0
  62. package/dist/generator-exchange.d.ts.map +1 -1
  63. package/dist/generator-exchange.js +2 -1
  64. package/dist/generator-exchange.js.map +1 -1
  65. package/dist/generator.test.js +9 -9
  66. package/dist/generator.test.js.map +1 -1
  67. package/dist/golden-tests/discovery.d.ts +6 -11
  68. package/dist/golden-tests/discovery.d.ts.map +1 -1
  69. package/dist/golden-tests/discovery.js +14 -79
  70. package/dist/golden-tests/discovery.js.map +1 -1
  71. package/dist/golden-tests/index.d.ts +1 -1
  72. package/dist/golden-tests/index.d.ts.map +1 -1
  73. package/dist/golden-tests/index.js.map +1 -1
  74. package/dist/golden-tests/runner.d.ts.map +1 -1
  75. package/dist/golden-tests/runner.js +6 -7
  76. package/dist/golden-tests/runner.js.map +1 -1
  77. package/dist/golden-tests/types.d.ts +0 -7
  78. package/dist/golden-tests/types.d.ts.map +1 -1
  79. package/dist/golden.test.d.ts +3 -10
  80. package/dist/golden.test.d.ts.map +1 -1
  81. package/dist/golden.test.js +8 -24
  82. package/dist/golden.test.js.map +1 -1
  83. package/dist/hierarchical-bindings.test.js +17 -11
  84. package/dist/hierarchical-bindings.test.js.map +1 -1
  85. package/dist/integration.test.js +61 -20
  86. package/dist/integration.test.js.map +1 -1
  87. package/dist/invariants/emitter-globals-subset.test.d.ts +1 -1
  88. package/dist/invariants/emitter-globals-subset.test.js +34 -74
  89. package/dist/invariants/emitter-globals-subset.test.js.map +1 -1
  90. package/dist/invariants/numeric-proof-contract.test.js +3 -3
  91. package/dist/invariants/numeric-proof-contract.test.js.map +1 -1
  92. package/dist/patterns.d.ts +98 -0
  93. package/dist/patterns.d.ts.map +1 -0
  94. package/dist/patterns.js +366 -0
  95. package/dist/patterns.js.map +1 -0
  96. package/dist/patterns.test.d.ts +15 -0
  97. package/dist/patterns.test.d.ts.map +1 -0
  98. package/dist/patterns.test.js +1262 -0
  99. package/dist/patterns.test.js.map +1 -0
  100. package/dist/specialization/generation.d.ts.map +1 -1
  101. package/dist/specialization/generation.js +2 -2
  102. package/dist/specialization/generation.js.map +1 -1
  103. package/dist/specialization/substitution.d.ts.map +1 -1
  104. package/dist/specialization/substitution.js +4 -0
  105. package/dist/specialization/substitution.js.map +1 -1
  106. package/dist/specialization/type-aliases.test.js +1 -1
  107. package/dist/specialization/type-aliases.test.js.map +1 -1
  108. package/dist/statement-emitter.d.ts.map +1 -1
  109. package/dist/statement-emitter.js +1 -1
  110. package/dist/statement-emitter.js.map +1 -1
  111. package/dist/statements/blocks.d.ts.map +1 -1
  112. package/dist/statements/blocks.js +14 -45
  113. package/dist/statements/blocks.js.map +1 -1
  114. package/dist/statements/classes/index.d.ts +1 -1
  115. package/dist/statements/classes/index.d.ts.map +1 -1
  116. package/dist/statements/classes/index.js +1 -1
  117. package/dist/statements/classes/index.js.map +1 -1
  118. package/dist/statements/classes/inline-types.d.ts.map +1 -1
  119. package/dist/statements/classes/inline-types.js +11 -1
  120. package/dist/statements/classes/inline-types.js.map +1 -1
  121. package/dist/statements/classes/members/constructors.d.ts.map +1 -1
  122. package/dist/statements/classes/members/constructors.js +30 -12
  123. package/dist/statements/classes/members/constructors.js.map +1 -1
  124. package/dist/statements/classes/members/methods.d.ts.map +1 -1
  125. package/dist/statements/classes/members/methods.js +51 -23
  126. package/dist/statements/classes/members/methods.js.map +1 -1
  127. package/dist/statements/classes/members/orchestrator.d.ts.map +1 -1
  128. package/dist/statements/classes/members/orchestrator.js +1 -3
  129. package/dist/statements/classes/members/orchestrator.js.map +1 -1
  130. package/dist/statements/classes/members/properties.d.ts.map +1 -1
  131. package/dist/statements/classes/members/properties.js +56 -9
  132. package/dist/statements/classes/members/properties.js.map +1 -1
  133. package/dist/statements/classes/parameters.d.ts +43 -1
  134. package/dist/statements/classes/parameters.d.ts.map +1 -1
  135. package/dist/statements/classes/parameters.js +73 -13
  136. package/dist/statements/classes/parameters.js.map +1 -1
  137. package/dist/statements/classes/properties.d.ts.map +1 -1
  138. package/dist/statements/classes/properties.js +1 -1
  139. package/dist/statements/classes/properties.js.map +1 -1
  140. package/dist/statements/classes.d.ts +1 -1
  141. package/dist/statements/classes.d.ts.map +1 -1
  142. package/dist/statements/classes.js +1 -1
  143. package/dist/statements/classes.js.map +1 -1
  144. package/dist/statements/control/conditionals.d.ts.map +1 -1
  145. package/dist/statements/control/conditionals.js +78 -23
  146. package/dist/statements/control/conditionals.js.map +1 -1
  147. package/dist/statements/control/loops.d.ts.map +1 -1
  148. package/dist/statements/control/loops.js +25 -5
  149. package/dist/statements/control/loops.js.map +1 -1
  150. package/dist/statements/declarations/classes.d.ts.map +1 -1
  151. package/dist/statements/declarations/classes.js +128 -10
  152. package/dist/statements/declarations/classes.js.map +1 -1
  153. package/dist/statements/declarations/functions.d.ts.map +1 -1
  154. package/dist/statements/declarations/functions.js +28 -12
  155. package/dist/statements/declarations/functions.js.map +1 -1
  156. package/dist/statements/declarations/interfaces.d.ts.map +1 -1
  157. package/dist/statements/declarations/interfaces.js +50 -7
  158. package/dist/statements/declarations/interfaces.js.map +1 -1
  159. package/dist/statements/declarations/type-aliases.d.ts.map +1 -1
  160. package/dist/statements/declarations/type-aliases.js +6 -1
  161. package/dist/statements/declarations/type-aliases.js.map +1 -1
  162. package/dist/statements/declarations/variables.d.ts.map +1 -1
  163. package/dist/statements/declarations/variables.js +177 -37
  164. package/dist/statements/declarations/variables.js.map +1 -1
  165. package/dist/statements/index.test.js +7 -5
  166. package/dist/statements/index.test.js.map +1 -1
  167. package/dist/types/arrays.d.ts +3 -9
  168. package/dist/types/arrays.d.ts.map +1 -1
  169. package/dist/types/arrays.js +5 -19
  170. package/dist/types/arrays.js.map +1 -1
  171. package/dist/types/parameters.d.ts.map +1 -1
  172. package/dist/types/parameters.js +36 -1
  173. package/dist/types/parameters.js.map +1 -1
  174. package/dist/types/parameters.test.js +1 -1
  175. package/dist/types/parameters.test.js.map +1 -1
  176. package/dist/types/references.d.ts.map +1 -1
  177. package/dist/types/references.js +86 -51
  178. package/dist/types/references.js.map +1 -1
  179. package/dist/types/references.test.js +35 -95
  180. package/dist/types/references.test.js.map +1 -1
  181. package/dist/types/unions.d.ts.map +1 -1
  182. package/dist/types/unions.js +20 -0
  183. package/dist/types/unions.js.map +1 -1
  184. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/expressions/access.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/expressions/access.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../src/expressions/calls.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAU,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA4P7D;;GAEG;AACH,eAAO,MAAM,QAAQ,GACnB,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAC7C,SAAS,cAAc,KACtB,CAAC,cAAc,EAAE,cAAc,CA+KjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,GAClB,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC,EAC5C,SAAS,cAAc,KACtB,CAAC,cAAc,EAAE,cAAc,CA8CjC,CAAC"}
1
+ {"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../src/expressions/calls.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAU,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAqS7D;;GAEG;AACH,eAAO,MAAM,QAAQ,GACnB,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAC7C,SAAS,cAAc,KACtB,CAAC,cAAc,EAAE,cAAc,CAgMjC,CAAC;AAwJF;;GAEG;AACH,eAAO,MAAM,OAAO,GAClB,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC,EAC5C,SAAS,cAAc,KACtB,CAAC,cAAc,EAAE,cAAc,CAwDjC,CAAC"}
@@ -59,7 +59,7 @@ const isJsonSerializerCall = (callee) => {
59
59
  };
60
60
  /**
61
61
  * Check if a call targets global JSON.stringify or JSON.parse
62
- * These are JS-mode globals that should compile to JsonSerializer
62
+ * These global JSON methods compile to JsonSerializer
63
63
  */
64
64
  const isGlobalJsonCall = (callee) => {
65
65
  if (callee.kind !== "memberAccess")
@@ -78,28 +78,60 @@ const isGlobalJsonCall = (callee) => {
78
78
  return { method: "Deserialize" };
79
79
  return null;
80
80
  };
81
+ /**
82
+ * Heuristic: Determine if a member access is an instance-style access (receiver.value)
83
+ * vs a static type reference (Type.Member).
84
+ *
85
+ * This mirrors the logic in emitMemberAccess; extension-method lowering only applies
86
+ * to instance-style member accesses.
87
+ */
88
+ const isInstanceMemberAccess = (expr, context) => {
89
+ // Imported types (e.g., `Enumerable.Where(...)`) are static receiver expressions,
90
+ // even if TypeScript assigns them an inferredType.
91
+ if (expr.object.kind === "identifier") {
92
+ const importBinding = context.importBindings?.get(expr.object.name);
93
+ if (importBinding?.kind === "type") {
94
+ return false;
95
+ }
96
+ }
97
+ const objectType = expr.object.inferredType;
98
+ return (objectType?.kind === "referenceType" ||
99
+ objectType?.kind === "arrayType" ||
100
+ objectType?.kind === "intersectionType" ||
101
+ objectType?.kind === "unionType" ||
102
+ objectType?.kind === "primitiveType" ||
103
+ objectType?.kind === "literalType");
104
+ };
105
+ /**
106
+ * Whether a C# type string is a builtin/keyword type (optionally nullable).
107
+ *
108
+ * These must NOT be qualified with a namespace (e.g. `object`, not `MyNs.object`).
109
+ */
110
+ const isCSharpBuiltinType = (typeStr) => {
111
+ const base = typeStr.endsWith("?") ? typeStr.slice(0, -1) : typeStr;
112
+ return (base === "string" ||
113
+ base === "int" ||
114
+ base === "long" ||
115
+ base === "short" ||
116
+ base === "byte" ||
117
+ base === "sbyte" ||
118
+ base === "uint" ||
119
+ base === "ulong" ||
120
+ base === "ushort" ||
121
+ base === "float" ||
122
+ base === "double" ||
123
+ base === "decimal" ||
124
+ base === "bool" ||
125
+ base === "char" ||
126
+ base === "object" ||
127
+ base === "void");
128
+ };
81
129
  /**
82
130
  * Ensure a C# type string has global:: prefix for unambiguous resolution
83
131
  */
84
132
  const ensureGlobalPrefix = (typeStr) => {
85
133
  // Skip primitives and already-prefixed types
86
- if (typeStr.startsWith("global::") ||
87
- typeStr === "string" ||
88
- typeStr === "int" ||
89
- typeStr === "long" ||
90
- typeStr === "short" ||
91
- typeStr === "byte" ||
92
- typeStr === "sbyte" ||
93
- typeStr === "uint" ||
94
- typeStr === "ulong" ||
95
- typeStr === "ushort" ||
96
- typeStr === "float" ||
97
- typeStr === "double" ||
98
- typeStr === "decimal" ||
99
- typeStr === "bool" ||
100
- typeStr === "char" ||
101
- typeStr === "object" ||
102
- typeStr === "void") {
134
+ if (typeStr.startsWith("global::") || isCSharpBuiltinType(typeStr)) {
103
135
  return typeStr;
104
136
  }
105
137
  // Handle generic types: List<Foo> -> global::List<global::Foo>
@@ -117,11 +149,15 @@ const registerJsonAotType = (type, context) => {
117
149
  if (!context.options.jsonAotRegistry)
118
150
  return;
119
151
  const registry = context.options.jsonAotRegistry;
120
- const [typeStr] = emitType(type, context);
152
+ const [rawTypeStr] = emitType(type, context);
153
+ const typeStr = rawTypeStr.endsWith("?")
154
+ ? rawTypeStr.slice(0, -1)
155
+ : rawTypeStr;
121
156
  // If type already has a namespace (contains '.') or is global::, use as-is
122
157
  // Otherwise, qualify with rootNamespace (it's a local type)
123
158
  let qualifiedType;
124
- if (typeStr.startsWith("global::") ||
159
+ if (isCSharpBuiltinType(typeStr) ||
160
+ typeStr.startsWith("global::") ||
125
161
  typeStr.includes(".") ||
126
162
  typeStr.includes("<") // Generic types handle their own qualification
127
163
  ) {
@@ -158,9 +194,6 @@ const needsIntCast = (expr, calleeName) => {
158
194
  "Math.sqrt",
159
195
  "Math.min",
160
196
  "Math.max",
161
- "Tsonic.JSRuntime.Math.floor",
162
- "Tsonic.JSRuntime.Math.ceil",
163
- "Tsonic.JSRuntime.Math.round",
164
197
  ];
165
198
  return mathMethodsReturningDouble.some((m) => calleeName === m || calleeName.endsWith(`.${m.split(".").pop()}`));
166
199
  };
@@ -222,62 +255,59 @@ export const emitCall = (expr, context) => {
222
255
  if (jsonCall) {
223
256
  return emitJsonSerializerCall(expr, context, jsonCall.method);
224
257
  }
225
- // Check for global JSON.stringify/parse calls (JS mode)
226
- // These compile to JsonSerializer.Serialize/Deserialize for unified behavior
258
+ // Check for global JSON.stringify/parse calls
259
+ // These compile to JsonSerializer.Serialize/Deserialize
227
260
  const globalJsonCall = isGlobalJsonCall(expr.callee);
228
261
  if (globalJsonCall) {
229
262
  return emitJsonSerializerCall(expr, context, globalJsonCall.method);
230
263
  }
231
- // Type-aware method call rewriting
232
- // Use inferredType to determine if we need to rewrite as static helper
264
+ // Extension method lowering: emit explicit static invocation with receiver as first arg.
265
+ // This avoids relying on C# `using` directives for extension method discovery.
233
266
  if (expr.callee.kind === "memberAccess" &&
234
- typeof expr.callee.property === "string") {
235
- const methodName = expr.callee.property;
236
- const objectType = expr.callee.object.inferredType;
237
- // Rewrite based on type:
238
- // - string → Tsonic.JSRuntime.String.method()
239
- // - number Tsonic.JSRuntime.Number.method()
240
- // - Array<T> → Tsonic.JSRuntime.Array.method() (extension methods on List<T>)
241
- // - Other custom types → Keep as instance method
242
- const isStringType = objectType?.kind === "primitiveType" && objectType.name === "string";
243
- const isNumberType = objectType?.kind === "primitiveType" && objectType.name === "number";
244
- const isArrayType = objectType?.kind === "arrayType";
245
- const shouldRewriteAsStatic = isStringType || isNumberType || isArrayType;
246
- // Only rewrite to JSRuntime in "js" mode
247
- // In "dotnet" mode, there is no JS emulation - use .NET APIs directly
248
- const runtime = context.options.runtime ?? "js";
249
- if (shouldRewriteAsStatic && runtime === "js") {
250
- // Runtime mode "js": Use Tsonic.JSRuntime
251
- // Determine which runtime class based on type
252
- let runtimeClass;
253
- if (isStringType) {
254
- runtimeClass = "String";
255
- }
256
- else if (isNumberType) {
257
- runtimeClass = "Number";
267
+ expr.callee.memberBinding?.isExtensionMethod &&
268
+ isInstanceMemberAccess(expr.callee, context)) {
269
+ let currentContext = context;
270
+ const binding = expr.callee.memberBinding;
271
+ const receiverExpr = expr.callee.object;
272
+ const [receiverFrag, receiverContext] = emitExpression(receiverExpr, currentContext);
273
+ currentContext = receiverContext;
274
+ let finalCalleeName = `global::${binding.type}.${binding.member}`;
275
+ // Handle generic type arguments
276
+ let typeArgsStr = "";
277
+ if (expr.typeArguments && expr.typeArguments.length > 0) {
278
+ if (expr.requiresSpecialization) {
279
+ const [specializedName, specContext] = generateSpecializedName(finalCalleeName, expr.typeArguments, currentContext);
280
+ finalCalleeName = specializedName;
281
+ currentContext = specContext;
258
282
  }
259
283
  else {
260
- runtimeClass = "Array";
284
+ const [typeArgs, typeContext] = emitTypeArguments(expr.typeArguments, currentContext);
285
+ typeArgsStr = typeArgs;
286
+ currentContext = typeContext;
261
287
  }
262
- // Rewrite: obj.method(args) → global::Tsonic.JSRuntime.{Class}.method(obj, args)
263
- const [objectFrag, objContext] = emitExpression(expr.callee.object, context);
264
- let currentContext = objContext;
265
- const args = [objectFrag.text]; // Object becomes first argument
266
- for (let i = 0; i < expr.arguments.length; i++) {
267
- const arg = expr.arguments[i];
268
- if (!arg)
269
- continue; // Skip undefined (shouldn't happen in valid IR)
270
- if (arg.kind === "spread") {
271
- const [spreadFrag, ctx] = emitExpression(arg.expression, currentContext);
272
- args.push(`params ${spreadFrag.text}`);
288
+ }
289
+ const parameterTypes = expr.parameterTypes ?? [];
290
+ const args = [receiverFrag.text];
291
+ for (let i = 0; i < expr.arguments.length; i++) {
292
+ const arg = expr.arguments[i];
293
+ if (!arg)
294
+ continue;
295
+ const expectedType = parameterTypes[i];
296
+ if (arg.kind === "spread") {
297
+ const [spreadFrag, ctx] = emitExpression(arg.expression, currentContext);
298
+ args.push(`params ${spreadFrag.text}`);
299
+ currentContext = ctx;
300
+ }
301
+ else {
302
+ const castModifier = getPassingModifierFromCast(arg);
303
+ if (castModifier && isLValue(arg)) {
304
+ const [argFrag, ctx] = emitExpression(arg, currentContext);
305
+ args.push(`${castModifier} ${argFrag.text}`);
273
306
  currentContext = ctx;
274
307
  }
275
308
  else {
276
- const [argFrag, ctx] = emitExpression(arg, currentContext);
277
- // Check if this argument needs ref/out/in prefix
278
- // Note: argumentPassing[i] corresponds to method parameter i+1 (first param is the object)
279
- // Only add prefix if argument is an lvalue (identifier or member access)
280
- const passingMode = expr.argumentPassing?.[i + 1];
309
+ const [argFrag, ctx] = emitExpression(arg, currentContext, expectedType);
310
+ const passingMode = expr.argumentPassing?.[i];
281
311
  const prefix = passingMode && passingMode !== "value" && isLValue(arg)
282
312
  ? `${passingMode} `
283
313
  : "";
@@ -285,9 +315,18 @@ export const emitCall = (expr, context) => {
285
315
  currentContext = ctx;
286
316
  }
287
317
  }
288
- const text = `global::Tsonic.JSRuntime.${runtimeClass}.${methodName}(${args.join(", ")})`;
289
- return [{ text }, currentContext];
290
318
  }
319
+ const baseCallText = `${finalCalleeName}${typeArgsStr}(${args.join(", ")})`;
320
+ // JS runtime helpers often return List<T> for array-like results, while the IR
321
+ // models them as native CLR arrays. When the IR expects an array, coerce via
322
+ // Enumerable.ToArray to preserve the IR contract.
323
+ const callText = expr.inferredType?.kind === "arrayType"
324
+ ? `global::System.Linq.Enumerable.ToArray(${baseCallText})`
325
+ : baseCallText;
326
+ const text = needsIntCast(expr, finalCalleeName)
327
+ ? `(int)${callText}`
328
+ : callText;
329
+ return [{ text }, currentContext];
291
330
  }
292
331
  // Regular function call
293
332
  const [calleeFrag, newContext] = emitExpression(expr.callee, context);
@@ -357,10 +396,134 @@ export const emitCall = (expr, context) => {
357
396
  : callText;
358
397
  return [{ text }, currentContext];
359
398
  };
399
+ /**
400
+ * Check if a new expression is new List<T>([...]) with an array literal argument
401
+ * This pattern should be emitted as collection initializer: new List<T> { ... }
402
+ */
403
+ const isListConstructorWithArrayLiteral = (expr) => {
404
+ // Check if callee is identifier "List"
405
+ if (expr.callee.kind !== "identifier" || expr.callee.name !== "List") {
406
+ return false;
407
+ }
408
+ // Must have exactly one type argument
409
+ if (!expr.typeArguments || expr.typeArguments.length !== 1) {
410
+ return false;
411
+ }
412
+ // Must have exactly one argument that is an array literal
413
+ if (expr.arguments.length !== 1) {
414
+ return false;
415
+ }
416
+ const arg = expr.arguments[0];
417
+ if (!arg || arg.kind === "spread") {
418
+ return false;
419
+ }
420
+ // The argument must be an array literal
421
+ return arg.kind === "array";
422
+ };
423
+ /**
424
+ * Emit new List<T>([...]) as collection initializer: new List<T> { ... }
425
+ *
426
+ * Examples:
427
+ * new List<int>([1, 2, 3]) → new List<int> { 1, 2, 3 }
428
+ * new List<string>(["a", "b"]) → new List<string> { "a", "b" }
429
+ * new List<User>([u1, u2]) → new List<User> { u1, u2 }
430
+ */
431
+ const emitListCollectionInitializer = (expr, context) => {
432
+ let currentContext = context;
433
+ // Get the element type (verified by isListConstructorWithArrayLiteral)
434
+ const typeArgs = expr.typeArguments;
435
+ const elementType = typeArgs?.[0];
436
+ if (!elementType) {
437
+ return [{ text: "new List<object>()" }, currentContext];
438
+ }
439
+ const [elementTypeStr, typeContext] = emitType(elementType, currentContext);
440
+ currentContext = typeContext;
441
+ // Get the array literal argument
442
+ const arrayLiteral = expr.arguments[0];
443
+ // Emit each element
444
+ const elements = [];
445
+ for (const element of arrayLiteral.elements) {
446
+ if (element === undefined) {
447
+ continue; // Skip undefined slots (sparse arrays)
448
+ }
449
+ if (element.kind === "spread") {
450
+ // Spread in collection initializer - not supported, fall back to constructor
451
+ // This shouldn't happen in well-formed code, but handle gracefully
452
+ const [spreadFrag, ctx] = emitExpression(element.expression, currentContext);
453
+ elements.push(`..${spreadFrag.text}`);
454
+ currentContext = ctx;
455
+ }
456
+ else {
457
+ const [elemFrag, ctx] = emitExpression(element, currentContext);
458
+ elements.push(elemFrag.text);
459
+ currentContext = ctx;
460
+ }
461
+ }
462
+ // Use collection initializer syntax
463
+ const text = elements.length === 0
464
+ ? `new List<${elementTypeStr}>()`
465
+ : `new List<${elementTypeStr}> { ${elements.join(", ")} }`;
466
+ return [{ text }, currentContext];
467
+ };
468
+ /**
469
+ * Check if a new expression is new Array<T>(size)
470
+ * Returns the element type if it is, undefined otherwise
471
+ */
472
+ const isArrayConstructorCall = (expr) => {
473
+ // Check if callee is identifier "Array"
474
+ if (expr.callee.kind !== "identifier" || expr.callee.name !== "Array") {
475
+ return false;
476
+ }
477
+ // Must have exactly one type argument
478
+ if (!expr.typeArguments || expr.typeArguments.length !== 1) {
479
+ return false;
480
+ }
481
+ return true;
482
+ };
483
+ /**
484
+ * Emit new Array<T>(size) as new T[size]
485
+ *
486
+ * Examples:
487
+ * new Array<int>(10) → new int[10]
488
+ * new Array<string>(5) → new string[5]
489
+ * new Array<User>(count) → new User[count]
490
+ * new Array<int>() → new int[0]
491
+ */
492
+ const emitArrayConstructor = (expr, context) => {
493
+ let currentContext = context;
494
+ // Get the element type (verified by isArrayConstructorCall)
495
+ const typeArgs = expr.typeArguments;
496
+ const elementType = typeArgs?.[0];
497
+ if (!elementType) {
498
+ return [{ text: "new object[0]" }, currentContext];
499
+ }
500
+ const [elementTypeStr, typeContext] = emitType(elementType, currentContext);
501
+ currentContext = typeContext;
502
+ // Get the size argument (if any)
503
+ let sizeStr = "0"; // Default to empty array if no size argument
504
+ if (expr.arguments.length > 0) {
505
+ const sizeArg = expr.arguments[0];
506
+ if (sizeArg && sizeArg.kind !== "spread") {
507
+ const [sizeFrag, sizeContext] = emitExpression(sizeArg, currentContext);
508
+ sizeStr = sizeFrag.text;
509
+ currentContext = sizeContext;
510
+ }
511
+ }
512
+ const text = `new ${elementTypeStr}[${sizeStr}]`;
513
+ return [{ text }, currentContext];
514
+ };
360
515
  /**
361
516
  * Emit a new expression
362
517
  */
363
518
  export const emitNew = (expr, context) => {
519
+ // Special case: new Array<T>(size) → new T[size]
520
+ if (isArrayConstructorCall(expr)) {
521
+ return emitArrayConstructor(expr, context);
522
+ }
523
+ // Special case: new List<T>([...]) → new List<T> { ... }
524
+ if (isListConstructorWithArrayLiteral(expr)) {
525
+ return emitListCollectionInitializer(expr, context);
526
+ }
364
527
  const [calleeFrag, newContext] = emitExpression(expr.callee, context);
365
528
  let currentContext = newContext;
366
529
  // Handle generic type arguments
@@ -1 +1 @@
1
- {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../src/expressions/calls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../src/expressions/calls.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/expressions/collections.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAsB7D;;GAEG;AACH,eAAO,MAAM,SAAS,GACpB,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EAC9C,SAAS,cAAc,EACvB,eAAe,MAAM,KACpB,CAAC,cAAc,EAAE,cAAc,CAqMjC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,GACrB,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,EAC/C,SAAS,cAAc,EACvB,eAAe,MAAM,KACpB,CAAC,cAAc,EAAE,cAAc,CAoGjC,CAAC"}
1
+ {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/expressions/collections.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAsB7D;;GAEG;AACH,eAAO,MAAM,SAAS,GACpB,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EAC9C,SAAS,cAAc,EACvB,eAAe,MAAM,KACpB,CAAC,cAAc,EAAE,cAAc,CAmMjC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,GACrB,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,EAC/C,SAAS,cAAc,EACvB,eAAe,MAAM,KACpB,CAAC,cAAc,EAAE,cAAc,CAoGjC,CAAC"}
@@ -34,21 +34,27 @@ export const emitArray = (expr, context, expectedType) => {
34
34
  let currentContext = context;
35
35
  const elements = [];
36
36
  // Determine element type from expected type or inferred type
37
+ // We track both the IR type (for threading to elements) and C# string (for emission)
37
38
  let elementType = "object";
39
+ let expectedElementType = undefined;
38
40
  // Priority 1: Use explicit type annotation if provided (e.g., const arr: number[] = [1, 2, 3])
39
41
  // This ensures the array type matches the declared variable type
42
+ // IMPORTANT: Resolve aliases and strip nullish to handle type Longs = long[] etc.
40
43
  if (expectedType) {
41
- if (expectedType.kind === "arrayType") {
42
- const [elemTypeStr, newContext] = emitType(expectedType.elementType, currentContext);
44
+ const resolvedExpected = resolveTypeAlias(stripNullish(expectedType), context);
45
+ if (resolvedExpected.kind === "arrayType") {
46
+ expectedElementType = resolvedExpected.elementType;
47
+ const [elemTypeStr, newContext] = emitType(resolvedExpected.elementType, currentContext);
43
48
  elementType = elemTypeStr;
44
49
  currentContext = newContext;
45
50
  }
46
- else if (expectedType.kind === "referenceType" &&
47
- expectedType.name === "Array" &&
48
- expectedType.typeArguments &&
49
- expectedType.typeArguments.length > 0) {
50
- const firstArg = expectedType.typeArguments[0];
51
+ else if (resolvedExpected.kind === "referenceType" &&
52
+ resolvedExpected.name === "Array" &&
53
+ resolvedExpected.typeArguments &&
54
+ resolvedExpected.typeArguments.length > 0) {
55
+ const firstArg = resolvedExpected.typeArguments[0];
51
56
  if (firstArg) {
57
+ expectedElementType = firstArg;
52
58
  const [elemTypeStr, newContext] = emitType(firstArg, currentContext);
53
59
  elementType = elemTypeStr;
54
60
  currentContext = newContext;
@@ -66,10 +72,19 @@ export const emitArray = (expr, context, expectedType) => {
66
72
  // Check if all are numbers
67
73
  const allNumbers = literals.every((lit) => typeof lit.value === "number");
68
74
  if (allNumbers) {
69
- // Infer int vs double from numericIntent (based on raw lexeme)
70
- // All Int32int, any Doubledouble
75
+ // Infer int vs long vs double from numericIntent (based on raw lexeme)
76
+ // Any Doubledouble, any Int64long, otherwise → int
71
77
  const hasDouble = literals.some((lit) => lit.numericIntent === "Double");
72
- elementType = hasDouble ? "double" : "int";
78
+ const hasLong = literals.some((lit) => lit.numericIntent === "Int64");
79
+ if (hasDouble) {
80
+ elementType = "double";
81
+ }
82
+ else if (hasLong) {
83
+ elementType = "long";
84
+ }
85
+ else {
86
+ elementType = "int";
87
+ }
73
88
  }
74
89
  // Check if all are strings
75
90
  else if (literals.every((lit) => typeof lit.value === "string")) {
@@ -83,8 +98,10 @@ export const emitArray = (expr, context, expectedType) => {
83
98
  }
84
99
  }
85
100
  // Priority 3: Fall back to inferred type from expression
101
+ // IMPORTANT: Also set expectedElementType so literals get proper suffixes
86
102
  if (elementType === "object") {
87
103
  if (expr.inferredType && expr.inferredType.kind === "arrayType") {
104
+ expectedElementType = expr.inferredType.elementType;
88
105
  const [elemTypeStr, newContext] = emitType(expr.inferredType.elementType, currentContext);
89
106
  elementType = elemTypeStr;
90
107
  currentContext = newContext;
@@ -99,10 +116,7 @@ export const emitArray = (expr, context, expectedType) => {
99
116
  const firstSpread = spreadElements[0];
100
117
  if (!firstSpread) {
101
118
  // Should never happen due to allSpreads check, but satisfy TypeScript
102
- return [
103
- { text: "new global::System.Collections.Generic.List<object>()" },
104
- currentContext,
105
- ];
119
+ return [{ text: "new object[0]" }, currentContext];
106
120
  }
107
121
  const [firstFrag, firstContext] = emitExpression(firstSpread.expression, currentContext);
108
122
  currentContext = firstContext;
@@ -116,15 +130,9 @@ export const emitArray = (expr, context, expectedType) => {
116
130
  currentContext = newContext;
117
131
  }
118
132
  }
119
- // Determine whether to emit native CLR array or List
120
- const runtime = currentContext.options.runtime ?? "js";
121
- const shouldEmitNativeArray = runtime === "dotnet" &&
122
- expectedType?.kind === "arrayType" &&
123
- expectedType.origin === "explicit";
124
- // Wrap in ToArray() or ToList() depending on expected type
125
- const wrapperMethod = shouldEmitNativeArray ? "ToArray" : "ToList";
133
+ // Always emit native array via ToArray()
126
134
  return [
127
- { text: `global::System.Linq.Enumerable.${wrapperMethod}(${result})` },
135
+ { text: `global::System.Linq.Enumerable.ToArray(${result})` },
128
136
  currentContext,
129
137
  ];
130
138
  }
@@ -139,29 +147,17 @@ export const emitArray = (expr, context, expectedType) => {
139
147
  elements.push("/* ...spread */");
140
148
  }
141
149
  else {
142
- const [elemFrag, newContext] = emitExpression(element, currentContext);
150
+ const [elemFrag, newContext] = emitExpression(element, currentContext, expectedElementType);
143
151
  elements.push(elemFrag.text);
144
152
  currentContext = newContext;
145
153
  }
146
154
  }
147
- // Determine whether to emit native CLR array or List
148
- const runtime = currentContext.options.runtime ?? "js";
149
- const shouldEmitNativeArray = runtime === "dotnet" &&
150
- expectedType?.kind === "arrayType" &&
151
- expectedType.origin === "explicit";
152
- // In dotnet mode, use new[] { } syntax to let C# infer array type
153
- // This works for non-empty arrays with literal values
154
- const useInferredArraySyntax = runtime === "dotnet" && elements.length > 0 && !shouldEmitNativeArray;
155
- // Use constructor syntax for empty arrays, initializer syntax for non-empty
156
- const text = useInferredArraySyntax
157
- ? `new[] { ${elements.join(", ")} }`
158
- : shouldEmitNativeArray
159
- ? elements.length === 0
160
- ? `new ${elementType}[0]`
161
- : `new ${elementType}[] { ${elements.join(", ")} }`
162
- : elements.length === 0
163
- ? `new global::System.Collections.Generic.List<${elementType}>()`
164
- : `new global::System.Collections.Generic.List<${elementType}> { ${elements.join(", ")} }`;
155
+ // Always emit native CLR array
156
+ // Use new T[] { } syntax for non-empty arrays (explicit type for correct suffix handling)
157
+ // Use Array.Empty<T>() for empty arrays (cached singleton, no allocation)
158
+ const text = elements.length === 0
159
+ ? `global::System.Array.Empty<${elementType}>()`
160
+ : `new ${elementType}[] { ${elements.join(", ")} }`;
165
161
  return [{ text }, currentContext];
166
162
  };
167
163
  /**