@tsonic/emitter 0.0.63 → 0.0.65

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 (55) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/core/semantic/boolean-context.d.ts.map +1 -1
  3. package/dist/core/semantic/boolean-context.js +88 -26
  4. package/dist/core/semantic/boolean-context.js.map +1 -1
  5. package/dist/core/semantic/boolean-context.test.js +42 -1
  6. package/dist/core/semantic/boolean-context.test.js.map +1 -1
  7. package/dist/core/semantic/imports.d.ts.map +1 -1
  8. package/dist/core/semantic/imports.js +83 -10
  9. package/dist/core/semantic/imports.js.map +1 -1
  10. package/dist/core/semantic/imports.test.js +244 -0
  11. package/dist/core/semantic/imports.test.js.map +1 -1
  12. package/dist/emitter-types/core.d.ts +2 -0
  13. package/dist/emitter-types/core.d.ts.map +1 -1
  14. package/dist/expression-emitter.d.ts.map +1 -1
  15. package/dist/expression-emitter.js +224 -2
  16. package/dist/expression-emitter.js.map +1 -1
  17. package/dist/expressions/access.d.ts.map +1 -1
  18. package/dist/expressions/access.js +134 -1
  19. package/dist/expressions/access.js.map +1 -1
  20. package/dist/expressions/calls/call-emitter.d.ts.map +1 -1
  21. package/dist/expressions/calls/call-emitter.js +76 -0
  22. package/dist/expressions/calls/call-emitter.js.map +1 -1
  23. package/dist/expressions/collections.d.ts.map +1 -1
  24. package/dist/expressions/collections.js +17 -0
  25. package/dist/expressions/collections.js.map +1 -1
  26. package/dist/expressions/index.test.js +442 -0
  27. package/dist/expressions/index.test.js.map +1 -1
  28. package/dist/integration.test.js +3 -0
  29. package/dist/integration.test.js.map +1 -1
  30. package/dist/specialization/type-aliases.test.js +44 -0
  31. package/dist/specialization/type-aliases.test.js.map +1 -1
  32. package/dist/statements/blocks.d.ts.map +1 -1
  33. package/dist/statements/blocks.js +52 -1
  34. package/dist/statements/blocks.js.map +1 -1
  35. package/dist/statements/classes/members/methods.d.ts.map +1 -1
  36. package/dist/statements/classes/members/methods.js +8 -3
  37. package/dist/statements/classes/members/methods.js.map +1 -1
  38. package/dist/statements/declarations/classes.d.ts.map +1 -1
  39. package/dist/statements/declarations/classes.js +43 -2
  40. package/dist/statements/declarations/classes.js.map +1 -1
  41. package/dist/statements/declarations/functions.d.ts.map +1 -1
  42. package/dist/statements/declarations/functions.js +8 -3
  43. package/dist/statements/declarations/functions.js.map +1 -1
  44. package/dist/statements/declarations/interfaces.d.ts.map +1 -1
  45. package/dist/statements/declarations/interfaces.js +21 -1
  46. package/dist/statements/declarations/interfaces.js.map +1 -1
  47. package/dist/statements/declarations/type-aliases.d.ts.map +1 -1
  48. package/dist/statements/declarations/type-aliases.js +27 -0
  49. package/dist/statements/declarations/type-aliases.js.map +1 -1
  50. package/dist/statements/declarations/variables.d.ts.map +1 -1
  51. package/dist/statements/declarations/variables.js +10 -5
  52. package/dist/statements/declarations/variables.js.map +1 -1
  53. package/dist/statements/index.test.js +307 -0
  54. package/dist/statements/index.test.js.map +1 -1
  55. package/package.json +2 -2
@@ -75,5 +75,249 @@ describe("Import Handling", () => {
75
75
  expect(result).to.not.include("using MyApp.services;");
76
76
  expect(result).to.not.include("using MyApp.models;");
77
77
  });
78
+ it("should lower named imports from module bindings to static CLR members", () => {
79
+ const module = {
80
+ kind: "module",
81
+ filePath: "/src/app.ts",
82
+ namespace: "MyApp",
83
+ className: "app",
84
+ isStaticContainer: true,
85
+ imports: [
86
+ {
87
+ kind: "import",
88
+ source: "node:fs",
89
+ isLocal: false,
90
+ isClr: false,
91
+ resolvedClrType: "nodejs.fs",
92
+ specifiers: [
93
+ {
94
+ kind: "named",
95
+ name: "readFileSync",
96
+ localName: "readFileSync",
97
+ isType: false,
98
+ },
99
+ ],
100
+ },
101
+ ],
102
+ body: [
103
+ {
104
+ kind: "expressionStatement",
105
+ expression: {
106
+ kind: "call",
107
+ callee: {
108
+ kind: "identifier",
109
+ name: "readFileSync",
110
+ },
111
+ arguments: [{ kind: "literal", value: "README.md" }],
112
+ isOptional: false,
113
+ },
114
+ },
115
+ ],
116
+ exports: [],
117
+ };
118
+ const result = emitModule(module);
119
+ expect(result).to.include('global::nodejs.fs.readFileSync("README.md")');
120
+ });
121
+ it("should lower node module object imports to namespace bindings", () => {
122
+ const module = {
123
+ kind: "module",
124
+ filePath: "/src/app.ts",
125
+ namespace: "MyApp",
126
+ className: "app",
127
+ isStaticContainer: true,
128
+ imports: [
129
+ {
130
+ kind: "import",
131
+ source: "node:fs",
132
+ isLocal: false,
133
+ isClr: false,
134
+ resolvedClrType: "nodejs.fs",
135
+ specifiers: [
136
+ {
137
+ kind: "named",
138
+ name: "fs",
139
+ localName: "fs",
140
+ isType: false,
141
+ },
142
+ ],
143
+ },
144
+ ],
145
+ body: [
146
+ {
147
+ kind: "expressionStatement",
148
+ expression: {
149
+ kind: "call",
150
+ callee: {
151
+ kind: "memberAccess",
152
+ object: {
153
+ kind: "identifier",
154
+ name: "fs",
155
+ },
156
+ property: "existsSync",
157
+ isComputed: false,
158
+ isOptional: false,
159
+ },
160
+ arguments: [{ kind: "literal", value: "." }],
161
+ isOptional: false,
162
+ },
163
+ },
164
+ ],
165
+ exports: [],
166
+ };
167
+ const result = emitModule(module);
168
+ expect(result).to.include("global::nodejs.fs");
169
+ expect(result).to.match(/global::nodejs\.fs\.[A-Za-z_][A-Za-z0-9_]*\("\."\)/);
170
+ });
171
+ it("should infer module-object namespace imports from resolvedClrType name (no hardcoded module list)", () => {
172
+ const module = {
173
+ kind: "module",
174
+ filePath: "/src/app.ts",
175
+ namespace: "MyApp",
176
+ className: "app",
177
+ isStaticContainer: true,
178
+ imports: [
179
+ {
180
+ kind: "import",
181
+ source: "node:child_process",
182
+ isLocal: false,
183
+ isClr: false,
184
+ resolvedClrType: "nodejs.child_process",
185
+ specifiers: [
186
+ {
187
+ kind: "named",
188
+ name: "child_process",
189
+ localName: "cp",
190
+ isType: false,
191
+ },
192
+ ],
193
+ },
194
+ ],
195
+ body: [
196
+ {
197
+ kind: "expressionStatement",
198
+ expression: {
199
+ kind: "call",
200
+ callee: {
201
+ kind: "memberAccess",
202
+ object: {
203
+ kind: "identifier",
204
+ name: "cp",
205
+ },
206
+ property: "exec",
207
+ isComputed: false,
208
+ isOptional: false,
209
+ },
210
+ arguments: [{ kind: "literal", value: "echo hi" }],
211
+ isOptional: false,
212
+ },
213
+ },
214
+ ],
215
+ exports: [],
216
+ };
217
+ const result = emitModule(module);
218
+ expect(result).to.include('global::nodejs.child_process.exec("echo hi")');
219
+ });
220
+ it("should lower namespace imports from node aliases to module CLR namespaces", () => {
221
+ const module = {
222
+ kind: "module",
223
+ filePath: "/src/app.ts",
224
+ namespace: "MyApp",
225
+ className: "app",
226
+ isStaticContainer: true,
227
+ imports: [
228
+ {
229
+ kind: "import",
230
+ source: "node:path",
231
+ isLocal: false,
232
+ isClr: false,
233
+ resolvedClrType: "nodejs.path",
234
+ specifiers: [
235
+ {
236
+ kind: "namespace",
237
+ localName: "pathMod",
238
+ },
239
+ ],
240
+ },
241
+ ],
242
+ body: [
243
+ {
244
+ kind: "expressionStatement",
245
+ expression: {
246
+ kind: "call",
247
+ callee: {
248
+ kind: "memberAccess",
249
+ object: {
250
+ kind: "memberAccess",
251
+ object: {
252
+ kind: "identifier",
253
+ name: "pathMod",
254
+ },
255
+ property: "posix",
256
+ isComputed: false,
257
+ isOptional: false,
258
+ },
259
+ property: "join",
260
+ isComputed: false,
261
+ isOptional: false,
262
+ },
263
+ arguments: [
264
+ { kind: "literal", value: "a" },
265
+ { kind: "literal", value: "b" },
266
+ ],
267
+ isOptional: false,
268
+ },
269
+ },
270
+ ],
271
+ exports: [],
272
+ };
273
+ const result = emitModule(module);
274
+ expect(result).to.include("global::nodejs.path");
275
+ expect(result).to.match(/global::nodejs\.path\.[A-Za-z_][A-Za-z0-9_]*\.[A-Za-z_][A-Za-z0-9_]*\("a", "b"\)/);
276
+ });
277
+ it("prefers module binding lowering when import is both CLR-resolved and module-bound", () => {
278
+ const module = {
279
+ kind: "module",
280
+ filePath: "/src/app.ts",
281
+ namespace: "MyApp",
282
+ className: "app",
283
+ isStaticContainer: true,
284
+ imports: [
285
+ {
286
+ kind: "import",
287
+ source: "node:path",
288
+ isLocal: false,
289
+ isClr: true,
290
+ resolvedNamespace: "nodejs",
291
+ resolvedClrType: "nodejs.path",
292
+ specifiers: [
293
+ {
294
+ kind: "named",
295
+ name: "join",
296
+ localName: "join",
297
+ isType: false,
298
+ },
299
+ ],
300
+ },
301
+ ],
302
+ body: [
303
+ {
304
+ kind: "expressionStatement",
305
+ expression: {
306
+ kind: "call",
307
+ callee: { kind: "identifier", name: "join" },
308
+ arguments: [
309
+ { kind: "literal", value: "a" },
310
+ { kind: "literal", value: "b" },
311
+ ],
312
+ isOptional: false,
313
+ },
314
+ },
315
+ ],
316
+ exports: [],
317
+ };
318
+ const result = emitModule(module);
319
+ expect(result).to.include('global::nodejs.path.join("a", "b")');
320
+ expect(result).not.to.include("ICE: Missing resolvedClrValue");
321
+ });
78
322
  });
79
323
  //# sourceMappingURL=imports.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"imports.test.js","sourceRoot":"","sources":["../../../src/core/semantic/imports.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,2EAA2E;QAC3E,oCAAoC;QACpC,MAAM,MAAM,GAAa;YACvB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,OAAO;YAClB,SAAS,EAAE,MAAM;YACjB,iBAAiB,EAAE,IAAI;YACvB,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI;oBACX,UAAU,EAAE,EAAE;oBACd,iBAAiB,EAAE,WAAW;iBAC/B;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,kBAAkB;oBAC1B,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI;oBACX,UAAU,EAAE,EAAE;oBACd,iBAAiB,EAAE,kBAAkB;iBACtC;aACF;YACD,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAElC,mEAAmE;QACnE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,yEAAyE;QACzE,6CAA6C;QAC7C,MAAM,MAAM,GAAa;YACvB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,sBAAsB;YAChC,SAAS,EAAE,gBAAgB;YAC3B,SAAS,EAAE,KAAK;YAChB,iBAAiB,EAAE,IAAI;YACvB,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,KAAK;oBACZ,UAAU,EAAE,EAAE;iBACf;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,mBAAmB;oBAC3B,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,KAAK;oBACZ,UAAU,EAAE,EAAE;iBACf;aACF;YACD,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;QAE9D,wDAAwD;QACxD,+DAA+D;QAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"imports.test.js","sourceRoot":"","sources":["../../../src/core/semantic/imports.test.ts"],"names":[],"mappings":"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"}
@@ -84,6 +84,8 @@ export type TypeAliasIndex = {
84
84
  * Options for C# code generation
85
85
  */
86
86
  export type EmitterOptions = {
87
+ /** Surface mode used during frontend compilation. */
88
+ readonly surface?: string;
87
89
  /** Root namespace for the application */
88
90
  readonly rootNamespace: string;
89
91
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/emitter-types/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/emitter-types/core.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"expression-emitter.d.ts","sourceRoot":"","sources":["../src/expression-emitter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,YAAY,EACZ,MAAM,EAOP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AA6c9E;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,YAAY,EAClB,SAAS,cAAc,EACvB,eAAe,MAAM,KACpB,CAAC,mBAAmB,EAAE,cAAc,CAoGtC,CAAC;AAGF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"expression-emitter.d.ts","sourceRoot":"","sources":["../src/expression-emitter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,YAAY,EACZ,MAAM,EAOP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAO5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AA6qB9E;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,YAAY,EAClB,SAAS,cAAc,EACvB,eAAe,MAAM,KACpB,CAAC,mBAAmB,EAAE,cAAc,CA0GtC,CAAC;AAGF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -5,7 +5,8 @@
5
5
  * Primary entry point is emitExpressionAst which returns [CSharpExpressionAst, EmitterContext].
6
6
  */
7
7
  import { emitTypeAst } from "./type-emitter.js";
8
- import { substituteTypeArgs } from "./core/semantic/type-resolution.js";
8
+ import { substituteTypeArgs, resolveTypeAlias, stripNullish, } from "./core/semantic/type-resolution.js";
9
+ import { renderTypeAst } from "./core/format/backend-ast/utils.js";
9
10
  // Import expression emitters from specialized modules
10
11
  import { emitLiteral } from "./expressions/literals.js";
11
12
  import { emitIdentifier } from "./expressions/identifiers.js";
@@ -166,6 +167,226 @@ const maybeUnwrapNullableValueTypeAst = (expr, ast, context, expectedType) => {
166
167
  context,
167
168
  ];
168
169
  };
170
+ const normalizeComparableType = (type, context) => resolveTypeAlias(stripNullish(type), context);
171
+ const areIrTypesEquivalent = (left, right, context) => {
172
+ const a = normalizeComparableType(left, context);
173
+ const b = normalizeComparableType(right, context);
174
+ if (a.kind !== b.kind)
175
+ return false;
176
+ switch (a.kind) {
177
+ case "primitiveType":
178
+ return a.name === b.name;
179
+ case "literalType":
180
+ return a.value === b.value;
181
+ case "referenceType": {
182
+ const rb = b;
183
+ if (a.name !== rb.name)
184
+ return false;
185
+ const aArgs = a.typeArguments ?? [];
186
+ const bArgs = rb.typeArguments ?? [];
187
+ if (aArgs.length !== bArgs.length)
188
+ return false;
189
+ for (let i = 0; i < aArgs.length; i++) {
190
+ const aa = aArgs[i];
191
+ const bb = bArgs[i];
192
+ if (!aa || !bb || !areIrTypesEquivalent(aa, bb, context))
193
+ return false;
194
+ }
195
+ return true;
196
+ }
197
+ case "arrayType":
198
+ return areIrTypesEquivalent(a.elementType, b.elementType, context);
199
+ case "dictionaryType":
200
+ return (areIrTypesEquivalent(a.keyType, b.keyType, context) &&
201
+ areIrTypesEquivalent(a.valueType, b.valueType, context));
202
+ case "tupleType": {
203
+ const rb = b;
204
+ if (a.elementTypes.length !== rb.elementTypes.length)
205
+ return false;
206
+ for (let i = 0; i < a.elementTypes.length; i++) {
207
+ const ae = a.elementTypes[i];
208
+ const be = rb.elementTypes[i];
209
+ if (!ae || !be || !areIrTypesEquivalent(ae, be, context))
210
+ return false;
211
+ }
212
+ return true;
213
+ }
214
+ case "functionType": {
215
+ const rb = b;
216
+ if (a.parameters.length !== rb.parameters.length)
217
+ return false;
218
+ for (let i = 0; i < a.parameters.length; i++) {
219
+ const ap = a.parameters[i];
220
+ const bp = rb.parameters[i];
221
+ if (!ap || !bp)
222
+ return false;
223
+ if (!ap.type && !bp.type)
224
+ continue;
225
+ if (!ap.type || !bp.type)
226
+ return false;
227
+ if (!areIrTypesEquivalent(ap.type, bp.type, context))
228
+ return false;
229
+ }
230
+ return areIrTypesEquivalent(a.returnType, rb.returnType, context);
231
+ }
232
+ case "unionType":
233
+ case "intersectionType": {
234
+ const rb = b;
235
+ if (a.types.length !== rb.types.length)
236
+ return false;
237
+ const used = new Set();
238
+ for (const at of a.types) {
239
+ if (!at)
240
+ return false;
241
+ let matched = false;
242
+ for (let i = 0; i < rb.types.length; i++) {
243
+ if (used.has(i))
244
+ continue;
245
+ const bt = rb.types[i];
246
+ if (!bt)
247
+ continue;
248
+ if (areIrTypesEquivalent(at, bt, context)) {
249
+ used.add(i);
250
+ matched = true;
251
+ break;
252
+ }
253
+ }
254
+ if (!matched)
255
+ return false;
256
+ }
257
+ return true;
258
+ }
259
+ case "typeParameterType":
260
+ return a.name === b.name;
261
+ case "voidType":
262
+ case "anyType":
263
+ case "unknownType":
264
+ case "neverType":
265
+ return true;
266
+ case "objectType": {
267
+ const rb = b;
268
+ if (a.members.length !== rb.members.length)
269
+ return false;
270
+ for (let i = 0; i < a.members.length; i++) {
271
+ const am = a.members[i];
272
+ const bm = rb.members[i];
273
+ if (!am || !bm || am.kind !== bm.kind)
274
+ return false;
275
+ if (am.kind === "propertySignature" &&
276
+ bm.kind === "propertySignature") {
277
+ if (am.name !== bm.name)
278
+ return false;
279
+ if (!areIrTypesEquivalent(am.type, bm.type, context))
280
+ return false;
281
+ continue;
282
+ }
283
+ if (am.kind === "methodSignature" && bm.kind === "methodSignature") {
284
+ if (am.name !== bm.name)
285
+ return false;
286
+ if (am.parameters.length !== bm.parameters.length)
287
+ return false;
288
+ for (let j = 0; j < am.parameters.length; j++) {
289
+ const ap = am.parameters[j];
290
+ const bp = bm.parameters[j];
291
+ if (!ap || !bp)
292
+ return false;
293
+ if (!ap.type || !bp.type)
294
+ return false;
295
+ if (!areIrTypesEquivalent(ap.type, bp.type, context))
296
+ return false;
297
+ }
298
+ if (!am.returnType || !bm.returnType)
299
+ return false;
300
+ if (!areIrTypesEquivalent(am.returnType, bm.returnType, context))
301
+ return false;
302
+ continue;
303
+ }
304
+ return false;
305
+ }
306
+ return true;
307
+ }
308
+ }
309
+ };
310
+ const maybeUpcastDictionaryUnionValueAst = (expr, ast, context, expectedType) => {
311
+ if (!expectedType || !expr.inferredType)
312
+ return [ast, context];
313
+ const expected = normalizeComparableType(expectedType, context);
314
+ const actual = normalizeComparableType(expr.inferredType, context);
315
+ if (expected.kind !== "dictionaryType" || actual.kind !== "dictionaryType") {
316
+ return [ast, context];
317
+ }
318
+ if (!areIrTypesEquivalent(expected.keyType, actual.keyType, context)) {
319
+ return [ast, context];
320
+ }
321
+ const expectedValue = normalizeComparableType(expected.valueType, context);
322
+ if (expectedValue.kind !== "unionType")
323
+ return [ast, context];
324
+ const actualValue = normalizeComparableType(actual.valueType, context);
325
+ if (areIrTypesEquivalent(expectedValue, actualValue, context)) {
326
+ return [ast, context];
327
+ }
328
+ let matchingMemberIndex = -1;
329
+ for (let i = 0; i < expectedValue.types.length; i++) {
330
+ const member = expectedValue.types[i];
331
+ if (!member)
332
+ continue;
333
+ if (areIrTypesEquivalent(member, actualValue, context)) {
334
+ matchingMemberIndex = i + 1;
335
+ break;
336
+ }
337
+ }
338
+ if (matchingMemberIndex === -1)
339
+ return [ast, context];
340
+ const [unionValueTypeAst, ctx1] = emitTypeAst(expected.valueType, context);
341
+ const unionTypeText = renderTypeAst(unionValueTypeAst);
342
+ const kvpId = "kvp";
343
+ const keySelector = {
344
+ kind: "lambdaExpression",
345
+ isAsync: false,
346
+ parameters: [{ name: kvpId }],
347
+ body: {
348
+ kind: "memberAccessExpression",
349
+ expression: { kind: "identifierExpression", identifier: kvpId },
350
+ memberName: "Key",
351
+ },
352
+ };
353
+ const valueSelector = {
354
+ kind: "lambdaExpression",
355
+ isAsync: false,
356
+ parameters: [{ name: kvpId }],
357
+ body: {
358
+ kind: "invocationExpression",
359
+ expression: {
360
+ kind: "memberAccessExpression",
361
+ expression: {
362
+ kind: "identifierExpression",
363
+ identifier: unionTypeText,
364
+ },
365
+ memberName: `From${matchingMemberIndex}`,
366
+ },
367
+ arguments: [
368
+ {
369
+ kind: "memberAccessExpression",
370
+ expression: { kind: "identifierExpression", identifier: kvpId },
371
+ memberName: "Value",
372
+ },
373
+ ],
374
+ },
375
+ };
376
+ const converted = {
377
+ kind: "invocationExpression",
378
+ expression: {
379
+ kind: "memberAccessExpression",
380
+ expression: {
381
+ kind: "identifierExpression",
382
+ identifier: "global::System.Linq.Enumerable",
383
+ },
384
+ memberName: "ToDictionary",
385
+ },
386
+ arguments: [ast, keySelector, valueSelector],
387
+ };
388
+ return [converted, ctx1];
389
+ };
169
390
  /**
170
391
  * Emit a numeric narrowing expression as CSharpExpressionAst.
171
392
  */
@@ -400,7 +621,8 @@ export const emitExpressionAst = (expr, context, expectedType) => {
400
621
  }
401
622
  })();
402
623
  const [castedAst, castedContext] = maybeCastNullishTypeParamAst(expr, ast, newContext, expectedType);
403
- return maybeUnwrapNullableValueTypeAst(expr, castedAst, castedContext, expectedType);
624
+ const [dictUpcastAst, dictUpcastContext] = maybeUpcastDictionaryUnionValueAst(expr, castedAst, castedContext, expectedType);
625
+ return maybeUnwrapNullableValueTypeAst(expr, dictUpcastAst, dictUpcastContext, expectedType);
404
626
  };
405
627
  // Re-export commonly used functions from barrel
406
628
  export { generateSpecializedName } from "./expressions/identifiers.js";
@@ -1 +1 @@
1
- {"version":3,"file":"expression-emitter.js","sourceRoot":"","sources":["../src/expression-emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression-emitter.js","sourceRoot":"","sources":["../src/expression-emitter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/expressions/access.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAe,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAe7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AA2B/E,KAAK,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC;AA8P1C;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,EACrD,SAAS,cAAc,EACvB,QAAO,iBAA2B,KACjC,CAAC,mBAAmB,EAAE,cAAc,CAoVtC,CAAC"}
1
+ {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/expressions/access.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAe,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAe7C,OAAO,KAAK,EACV,mBAAmB,EAEpB,MAAM,qCAAqC,CAAC;AA2B7C,KAAK,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC;AAiQ1C;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,EACrD,SAAS,cAAc,EACvB,QAAO,iBAA2B,KACjC,CAAC,mBAAmB,EAAE,cAAc,CA8etC,CAAC"}