@typespec/compiler 0.43.0-dev.9 → 0.44.0-dev.1

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/core/binder.d.ts.map +1 -1
  2. package/dist/core/binder.js +52 -10
  3. package/dist/core/binder.js.map +1 -1
  4. package/dist/core/checker.d.ts.map +1 -1
  5. package/dist/core/checker.js +155 -65
  6. package/dist/core/checker.js.map +1 -1
  7. package/dist/core/helpers/index.d.ts +1 -0
  8. package/dist/core/helpers/index.d.ts.map +1 -1
  9. package/dist/core/helpers/index.js +1 -0
  10. package/dist/core/helpers/index.js.map +1 -1
  11. package/dist/core/helpers/path-interpolation.d.ts +8 -0
  12. package/dist/core/helpers/path-interpolation.d.ts.map +1 -0
  13. package/dist/core/helpers/path-interpolation.js +34 -0
  14. package/dist/core/helpers/path-interpolation.js.map +1 -0
  15. package/dist/core/helpers/type-name-utils.d.ts +1 -0
  16. package/dist/core/helpers/type-name-utils.d.ts.map +1 -1
  17. package/dist/core/helpers/type-name-utils.js +20 -4
  18. package/dist/core/helpers/type-name-utils.js.map +1 -1
  19. package/dist/core/messages.js +1 -1
  20. package/dist/core/messages.js.map +1 -1
  21. package/dist/core/parser.d.ts.map +1 -1
  22. package/dist/core/parser.js +87 -36
  23. package/dist/core/parser.js.map +1 -1
  24. package/dist/core/path-utils.d.ts +1 -0
  25. package/dist/core/path-utils.d.ts.map +1 -1
  26. package/dist/core/path-utils.js +1 -0
  27. package/dist/core/path-utils.js.map +1 -1
  28. package/dist/core/projection-members.d.ts.map +1 -1
  29. package/dist/core/projection-members.js +4 -7
  30. package/dist/core/projection-members.js.map +1 -1
  31. package/dist/core/projector.d.ts.map +1 -1
  32. package/dist/core/projector.js +41 -13
  33. package/dist/core/projector.js.map +1 -1
  34. package/dist/core/types.d.ts +60 -30
  35. package/dist/core/types.d.ts.map +1 -1
  36. package/dist/core/types.js +27 -24
  37. package/dist/core/types.js.map +1 -1
  38. package/dist/formatter/print/printer.d.ts.map +1 -1
  39. package/dist/formatter/print/printer.js +18 -7
  40. package/dist/formatter/print/printer.js.map +1 -1
  41. package/dist/lib/decorators.d.ts.map +1 -1
  42. package/dist/lib/decorators.js +15 -1
  43. package/dist/lib/decorators.js.map +1 -1
  44. package/dist/manifest.js +2 -2
  45. package/dist/server/language-config.d.ts +5 -1
  46. package/dist/server/language-config.d.ts.map +1 -1
  47. package/dist/server/language-config.js +5 -1
  48. package/dist/server/language-config.js.map +1 -1
  49. package/dist/server/serverlib.d.ts.map +1 -1
  50. package/dist/server/serverlib.js +3 -0
  51. package/dist/server/serverlib.js.map +1 -1
  52. package/dist/server/type-signature.js +4 -2
  53. package/dist/server/type-signature.js.map +1 -1
  54. package/lib/lib.tsp +6 -1
  55. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../core/binder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAQL,gBAAgB,EAGhB,IAAI,EASJ,GAAG,EACH,WAAW,EACX,WAAW,EAGX,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAMpB,QAAA,MAAM,WAAW;kBAGM,WAAW;;iBAcvB,MAAM,SAAS,GAAG;;;;;;;;;;;;;;CAkB5B,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjD,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAKtD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,CAEnE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAwbrD;AAoBD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,GAAG,SAAS,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,GAAG,EACZ,KAAK,CAAC,EAAE,GAAG,GACV,GAAG,CAmBL"}
1
+ {"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../core/binder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAQL,gBAAgB,EAIhB,IAAI,EASJ,GAAG,EACH,WAAW,EACX,WAAW,EAGX,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAMpB,QAAA,MAAM,WAAW;kBAGM,WAAW;;iBAcvB,MAAM,SAAS,GAAG;;;;;;;;;;;;;;CAkB5B,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjD,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAKtD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,CAEnE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAierD;AAqBD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,GAAG,SAAS,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,GAAG,EACZ,KAAK,CAAC,EAAE,GAAG,GACV,GAAG,CAoBL"}
@@ -1,3 +1,4 @@
1
+ import { compilerAssert } from "./diagnostics.js";
1
2
  import { visitChildren } from "./parser.js";
2
3
  import { SyntaxKind, } from "./types.js";
3
4
  import { mutate } from "./util.js";
@@ -156,6 +157,9 @@ export function createBinder(program) {
156
157
  case SyntaxKind.ModelStatement:
157
158
  bindModelStatement(node);
158
159
  break;
160
+ case SyntaxKind.ModelExpression:
161
+ bindModelExpression(node);
162
+ break;
159
163
  case SyntaxKind.ScalarStatement:
160
164
  bindScalarStatement(node);
161
165
  break;
@@ -263,15 +267,36 @@ export function createBinder(program) {
263
267
  mutate(node).symbol = sym;
264
268
  if (node.selector.kind !== SyntaxKind.Identifier &&
265
269
  node.selector.kind !== SyntaxKind.MemberExpression) {
266
- const selectorString = node.selector.kind === SyntaxKind.ProjectionModelSelector
267
- ? "model"
268
- : node.selector.kind === SyntaxKind.ProjectionOperationSelector
269
- ? "op"
270
- : node.selector.kind === SyntaxKind.ProjectionUnionSelector
271
- ? "union"
272
- : node.selector.kind === SyntaxKind.ProjectionEnumSelector
273
- ? "enum"
274
- : "interface";
270
+ let selectorString;
271
+ switch (node.selector.kind) {
272
+ case SyntaxKind.ProjectionModelSelector:
273
+ selectorString = "model";
274
+ break;
275
+ case SyntaxKind.ProjectionModelPropertySelector:
276
+ selectorString = "modelproperty";
277
+ break;
278
+ case SyntaxKind.ProjectionOperationSelector:
279
+ selectorString = "op";
280
+ break;
281
+ case SyntaxKind.ProjectionUnionSelector:
282
+ selectorString = "union";
283
+ break;
284
+ case SyntaxKind.ProjectionUnionVariantSelector:
285
+ selectorString = "unionvariant";
286
+ break;
287
+ case SyntaxKind.ProjectionEnumSelector:
288
+ selectorString = "enum";
289
+ break;
290
+ case SyntaxKind.ProjectionEnumMemberSelector:
291
+ selectorString = "enummember";
292
+ break;
293
+ case SyntaxKind.ProjectionInterfaceSelector:
294
+ selectorString = "interface";
295
+ break;
296
+ default:
297
+ const _never = node.selector;
298
+ compilerAssert(false, "Unreachable");
299
+ }
275
300
  let existingSelectors = projectionSymbolSelectors.get(sym);
276
301
  if (!existingSelectors) {
277
302
  existingSelectors = new Set();
@@ -302,6 +327,9 @@ export function createBinder(program) {
302
327
  // Initialize locals for type parameters
303
328
  mutate(node).locals = new SymbolTable();
304
329
  }
330
+ function bindModelExpression(node) {
331
+ bindSymbol(node, 2 /* SymbolFlags.Model */);
332
+ }
305
333
  function bindScalarStatement(node) {
306
334
  declareSymbol(node, 8 /* SymbolFlags.Scalar */);
307
335
  // Initialize locals for type parameters
@@ -366,6 +394,13 @@ export function createBinder(program) {
366
394
  const symbol = createSymbol(node, node.id.sv, 262144 /* SymbolFlags.FunctionParameter */, scope.symbol);
367
395
  mutate(node).symbol = symbol;
368
396
  }
397
+ /**
398
+ * Declare a symbole for the given node in the current scope.
399
+ * @param node Node
400
+ * @param flags Symbol flags
401
+ * @param name Optional symbol name, default to the node id.
402
+ * @returns Created Symbol
403
+ */
369
404
  function declareSymbol(node, flags, name) {
370
405
  switch (scope.kind) {
371
406
  case SyntaxKind.NamespaceStatement:
@@ -375,12 +410,17 @@ export function createBinder(program) {
375
410
  return declareScriptMember(node, flags, name);
376
411
  default:
377
412
  const key = name !== null && name !== void 0 ? name : node.id.sv;
378
- const symbol = createSymbol(node, key, flags, scope.symbol);
413
+ const symbol = createSymbol(node, key, flags, scope === null || scope === void 0 ? void 0 : scope.symbol);
379
414
  mutate(node).symbol = symbol;
380
415
  mutate(scope.locals).set(key, symbol);
381
416
  return symbol;
382
417
  }
383
418
  }
419
+ function bindSymbol(node, flags) {
420
+ const symbol = createSymbol(node, "-", flags, scope === null || scope === void 0 ? void 0 : scope.symbol);
421
+ mutate(node).symbol = symbol;
422
+ return symbol;
423
+ }
384
424
  function declareNamespaceMember(node, flags, name) {
385
425
  if (flags & 4096 /* SymbolFlags.Namespace */ &&
386
426
  mergeNamespaceDeclarations(node, scope)) {
@@ -419,6 +459,7 @@ export function createBinder(program) {
419
459
  function hasScope(node) {
420
460
  switch (node.kind) {
421
461
  case SyntaxKind.ModelStatement:
462
+ case SyntaxKind.ScalarStatement:
422
463
  case SyntaxKind.AliasStatement:
423
464
  case SyntaxKind.TypeSpecScript:
424
465
  case SyntaxKind.InterfaceStatement:
@@ -450,6 +491,7 @@ export function createSymbol(node, name, flags, parent, value) {
450
491
  flags,
451
492
  value,
452
493
  parent,
494
+ metatypeMembers: createSymbolTable(),
453
495
  };
454
496
  }
455
497
  //# sourceMappingURL=binder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"binder.js","sourceRoot":"","sources":["../../core/binder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binder.js","sourceRoot":"","sources":["../../core/binder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../core/checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../core/checker.ts"],"names":[],"mappings":"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"}
@@ -44,10 +44,13 @@ export function createChecker(program) {
44
44
  const nullSym = createSymbol(undefined, "null", 0 /* SymbolFlags.None */);
45
45
  const projectionsByTypeKind = new Map([
46
46
  ["Model", []],
47
+ ["ModelProperty", []],
47
48
  ["Union", []],
49
+ ["UnionVariant", []],
48
50
  ["Operation", []],
49
51
  ["Interface", []],
50
52
  ["Enum", []],
53
+ ["EnumMember", []],
51
54
  ]);
52
55
  const projectionsByType = new Map();
53
56
  // whether we've checked this specific projection statement before
@@ -96,7 +99,7 @@ export function createChecker(program) {
96
99
  cloneType,
97
100
  resolveIdentifier,
98
101
  resolveCompletions,
99
- evalProjection: evalProjectionStatement,
102
+ evalProjection,
100
103
  project,
101
104
  neverType,
102
105
  errorType,
@@ -192,6 +195,16 @@ export function createChecker(program) {
192
195
  for (const decNode of augmentDecorators) {
193
196
  const ref = resolveTypeReferenceSym(decNode.targetType, undefined);
194
197
  if (ref) {
198
+ let args = [];
199
+ if (ref.declarations[0].kind === SyntaxKind.AliasStatement) {
200
+ const aliasNode = ref.declarations[0];
201
+ if (aliasNode.value.kind === SyntaxKind.TypeReference) {
202
+ args = aliasNode.value.arguments;
203
+ }
204
+ }
205
+ else {
206
+ args = decNode.targetType.arguments;
207
+ }
195
208
  if (ref.flags & 4096 /* SymbolFlags.Namespace */) {
196
209
  const links = getSymbolLinks(getMergedSymbol(ref));
197
210
  const type = links.type;
@@ -201,7 +214,7 @@ export function createChecker(program) {
201
214
  applyDecoratorToType(program, decApp, type);
202
215
  }
203
216
  }
204
- else if (ref.flags & 16777216 /* SymbolFlags.LateBound */) {
217
+ else if (args.length > 0 || ref.flags & 16777216 /* SymbolFlags.LateBound */) {
205
218
  reportCheckerDiagnostic(createDiagnostic({
206
219
  code: "augment-decorator-target",
207
220
  messageId: "noInstance",
@@ -1447,83 +1460,93 @@ export function createChecker(program) {
1447
1460
  return undefined;
1448
1461
  }
1449
1462
  }
1450
- if (base.flags & 4096 /* SymbolFlags.Namespace */) {
1451
- const symbol = resolveIdentifierInTable(node.id, base.exports, resolveDecorator);
1452
- if (!symbol) {
1453
- reportCheckerDiagnostic(createDiagnostic({
1454
- code: "invalid-ref",
1455
- messageId: "underNamespace",
1456
- format: {
1457
- namespace: getFullyQualifiedSymbolName(base),
1458
- id: node.id.sv,
1459
- },
1460
- target: node,
1461
- }));
1462
- return undefined;
1463
- }
1464
- return symbol;
1463
+ if (node.selector === ".") {
1464
+ return resolveMemberInContainer(node, base, mapper, resolveDecorator);
1465
1465
  }
1466
- else if (base.flags & 16384 /* SymbolFlags.Decorator */) {
1467
- reportCheckerDiagnostic(createDiagnostic({
1468
- code: "invalid-ref",
1469
- messageId: "inDecorator",
1470
- format: { id: node.id.sv },
1471
- target: node,
1472
- }));
1473
- return undefined;
1466
+ else {
1467
+ return resolveMetaProperty(node, base);
1474
1468
  }
1475
- else if (base.flags & 131072 /* SymbolFlags.Function */) {
1469
+ }
1470
+ if (node.kind === SyntaxKind.Identifier) {
1471
+ const sym = resolveIdentifierInScope(node, mapper, resolveDecorator);
1472
+ if (!sym)
1473
+ return undefined;
1474
+ return sym.flags & 524288 /* SymbolFlags.Using */ ? sym.symbolSource : sym;
1475
+ }
1476
+ compilerAssert(false, `Unknown type reference kind "${SyntaxKind[node.kind]}"`, node);
1477
+ }
1478
+ function resolveMemberInContainer(node, base, mapper, resolveDecorator) {
1479
+ if (base.flags & 4096 /* SymbolFlags.Namespace */) {
1480
+ const symbol = resolveIdentifierInTable(node.id, base.exports, resolveDecorator);
1481
+ if (!symbol) {
1476
1482
  reportCheckerDiagnostic(createDiagnostic({
1477
1483
  code: "invalid-ref",
1478
- messageId: "node",
1479
- format: { id: node.id.sv, nodeName: "function" },
1484
+ messageId: "underNamespace",
1485
+ format: {
1486
+ namespace: getFullyQualifiedSymbolName(base),
1487
+ id: node.id.sv,
1488
+ },
1480
1489
  target: node,
1481
1490
  }));
1482
1491
  return undefined;
1483
1492
  }
1484
- else if (base.flags & 674 /* SymbolFlags.MemberContainer */) {
1485
- if (isTemplatedNode(base.declarations[0])) {
1486
- const type = base.flags & 16777216 /* SymbolFlags.LateBound */
1487
- ? base.type
1488
- : getTypeForNode(base.declarations[0], mapper);
1489
- if (isTemplateInstance(type)) {
1490
- lateBindMembers(type, base);
1491
- }
1492
- }
1493
- const sym = resolveIdentifierInTable(node.id, base.members, resolveDecorator);
1494
- if (!sym) {
1495
- reportCheckerDiagnostic(createDiagnostic({
1496
- code: "invalid-ref",
1497
- messageId: "underContainer",
1498
- format: { kind: getMemberKindName(base.declarations[0]), id: node.id.sv },
1499
- target: node,
1500
- }));
1501
- return undefined;
1493
+ return symbol;
1494
+ }
1495
+ else if (base.flags & 16384 /* SymbolFlags.Decorator */) {
1496
+ reportCheckerDiagnostic(createDiagnostic({
1497
+ code: "invalid-ref",
1498
+ messageId: "inDecorator",
1499
+ format: { id: node.id.sv },
1500
+ target: node,
1501
+ }));
1502
+ return undefined;
1503
+ }
1504
+ else if (base.flags & 131072 /* SymbolFlags.Function */) {
1505
+ reportCheckerDiagnostic(createDiagnostic({
1506
+ code: "invalid-ref",
1507
+ messageId: "node",
1508
+ format: { id: node.id.sv, nodeName: "function" },
1509
+ target: node,
1510
+ }));
1511
+ return undefined;
1512
+ }
1513
+ else if (base.flags & 674 /* SymbolFlags.MemberContainer */) {
1514
+ if (isTemplatedNode(base.declarations[0])) {
1515
+ const type = base.flags & 16777216 /* SymbolFlags.LateBound */
1516
+ ? base.type
1517
+ : getTypeForNode(base.declarations[0], mapper);
1518
+ if (isTemplateInstance(type)) {
1519
+ lateBindMembers(type, base);
1502
1520
  }
1503
- return sym;
1504
1521
  }
1505
- else {
1522
+ const sym = resolveIdentifierInTable(node.id, base.members, resolveDecorator);
1523
+ if (!sym) {
1506
1524
  reportCheckerDiagnostic(createDiagnostic({
1507
1525
  code: "invalid-ref",
1508
- messageId: "node",
1509
- format: {
1510
- id: node.id.sv,
1511
- nodeName: base.declarations[0]
1512
- ? SyntaxKind[base.declarations[0].kind]
1513
- : "Unknown node",
1514
- },
1526
+ messageId: "underContainer",
1527
+ format: { kind: getMemberKindName(base.declarations[0]), id: node.id.sv },
1515
1528
  target: node,
1516
1529
  }));
1517
1530
  return undefined;
1518
1531
  }
1532
+ return sym;
1519
1533
  }
1520
- if (node.kind === SyntaxKind.Identifier) {
1521
- const sym = resolveIdentifierInScope(node, mapper, resolveDecorator);
1522
- if (!sym)
1523
- return undefined;
1524
- return sym.flags & 524288 /* SymbolFlags.Using */ ? sym.symbolSource : sym;
1534
+ else {
1535
+ reportCheckerDiagnostic(createDiagnostic({
1536
+ code: "invalid-ref",
1537
+ messageId: "node",
1538
+ format: {
1539
+ id: node.id.sv,
1540
+ nodeName: base.declarations[0] ? SyntaxKind[base.declarations[0].kind] : "Unknown node",
1541
+ },
1542
+ target: node,
1543
+ }));
1544
+ return undefined;
1525
1545
  }
1526
- compilerAssert(false, "Unknown type reference kind", node);
1546
+ }
1547
+ function resolveMetaProperty(node, base) {
1548
+ const resolved = resolveIdentifierInTable(node.id, base.metatypeMembers);
1549
+ return resolved;
1527
1550
  }
1528
1551
  function getMemberKindName(node) {
1529
1552
  switch (node.kind) {
@@ -1548,7 +1571,7 @@ export function createChecker(program) {
1548
1571
  */
1549
1572
  function getAliasedSymbol(aliasSymbol, mapper) {
1550
1573
  var _a;
1551
- const aliasType = checkAlias(aliasSymbol.declarations[0], mapper);
1574
+ const aliasType = getTypeForNode(aliasSymbol.declarations[0], mapper);
1552
1575
  if (isErrorType(aliasType)) {
1553
1576
  return undefined;
1554
1577
  }
@@ -1583,6 +1606,9 @@ export function createChecker(program) {
1583
1606
  for (const file of program.sourceFiles.values()) {
1584
1607
  bindAllMembers(file);
1585
1608
  }
1609
+ for (const file of program.sourceFiles.values()) {
1610
+ bindMetaTypes(file);
1611
+ }
1586
1612
  for (const file of program.sourceFiles.values()) {
1587
1613
  for (const ns of file.namespaces) {
1588
1614
  const exports = (_b = (_a = mergedSymbols.get(ns.symbol)) === null || _a === void 0 ? void 0 : _a.exports) !== null && _b !== void 0 ? _b : ns.symbol.exports;
@@ -1825,6 +1851,17 @@ export function createChecker(program) {
1825
1851
  }
1826
1852
  }
1827
1853
  break;
1854
+ case SyntaxKind.ModelExpression:
1855
+ for (const prop of node.properties) {
1856
+ if (prop.kind === SyntaxKind.ModelSpreadProperty) {
1857
+ resolveAndCopyMembers(prop.target);
1858
+ }
1859
+ else {
1860
+ const name = prop.id.sv;
1861
+ bindMember(name, prop, 4 /* SymbolFlags.ModelProperty */);
1862
+ }
1863
+ }
1864
+ break;
1828
1865
  case SyntaxKind.EnumStatement:
1829
1866
  for (const member of node.members.values()) {
1830
1867
  if (member.kind === SyntaxKind.EnumSpreadMember) {
@@ -1893,6 +1930,41 @@ export function createChecker(program) {
1893
1930
  }
1894
1931
  }
1895
1932
  }
1933
+ function bindMetaTypes(node) {
1934
+ var _a;
1935
+ switch (node.kind) {
1936
+ case SyntaxKind.ModelProperty: {
1937
+ const sym = getSymbolForMember(node);
1938
+ if (sym) {
1939
+ const table = getOrCreateAugmentedSymbolTable(sym.metatypeMembers);
1940
+ table.set("type", node.value.kind === SyntaxKind.TypeReference
1941
+ ? createSymbol(node.value, "", 2048 /* SymbolFlags.Alias */)
1942
+ : node.value.symbol);
1943
+ }
1944
+ break;
1945
+ }
1946
+ case SyntaxKind.OperationStatement: {
1947
+ const sym = (_a = node.symbol) !== null && _a !== void 0 ? _a : getSymbolForMember(node);
1948
+ const table = getOrCreateAugmentedSymbolTable(sym.metatypeMembers);
1949
+ if (node.signature.kind === SyntaxKind.OperationSignatureDeclaration) {
1950
+ table.set("parameters", node.signature.parameters.symbol);
1951
+ table.set("returnType", node.signature.returnType.symbol);
1952
+ }
1953
+ else {
1954
+ const sig = resolveTypeReferenceSym(node.signature.baseOperation, undefined);
1955
+ if (sig) {
1956
+ const sigTable = getOrCreateAugmentedSymbolTable(sig.metatypeMembers);
1957
+ table.set("parameters", sigTable.get("parameters"));
1958
+ table.set("returnType", sigTable.get("returnType"));
1959
+ }
1960
+ }
1961
+ break;
1962
+ }
1963
+ }
1964
+ visitChildren(node, (child) => {
1965
+ bindMetaTypes(child);
1966
+ });
1967
+ }
1896
1968
  /**
1897
1969
  * Initializes a late bound symbol for the type. This is generally necessary when attempting to
1898
1970
  * access a symbol for a type that is created during the check phase.
@@ -2268,8 +2340,9 @@ export function createChecker(program) {
2268
2340
  var _a, _b;
2269
2341
  const sym = isMemberNode(node) ? (_a = getSymbolForMember(node)) !== null && _a !== void 0 ? _a : node.symbol : node.symbol;
2270
2342
  const decorators = [];
2343
+ const augmentDecoratorNodes = (_b = augmentDecoratorsForSym.get(sym)) !== null && _b !== void 0 ? _b : [];
2271
2344
  const decoratorNodes = [
2272
- ...((_b = (sym && augmentDecoratorsForSym.get(sym))) !== null && _b !== void 0 ? _b : []),
2345
+ ...augmentDecoratorNodes,
2273
2346
  ...node.decorators,
2274
2347
  ];
2275
2348
  for (const decNode of decoratorNodes) {
@@ -2431,6 +2504,7 @@ export function createChecker(program) {
2431
2504
  decorators: [],
2432
2505
  node,
2433
2506
  namespace: getParentNamespaceType(node),
2507
+ sourceInterfaces: [],
2434
2508
  operations: createRekeyableMap(),
2435
2509
  name: node.id.sv,
2436
2510
  });
@@ -2458,6 +2532,7 @@ export function createChecker(program) {
2458
2532
  }
2459
2533
  interfaceType.operations.set(newMember.name, newMember);
2460
2534
  }
2535
+ interfaceType.sourceInterfaces.push(extendsType);
2461
2536
  }
2462
2537
  for (const [key, value] of ownMembers) {
2463
2538
  interfaceType.operations.set(key, value);
@@ -2899,6 +2974,10 @@ export function createChecker(program) {
2899
2974
  projectionsByTypeKind.get("Model").push(node);
2900
2975
  type.nodeByKind.set("Model", node);
2901
2976
  break;
2977
+ case SyntaxKind.ProjectionModelPropertySelector:
2978
+ projectionsByTypeKind.get("ModelProperty").push(node);
2979
+ type.nodeByKind.set("ModelProperty", node);
2980
+ break;
2902
2981
  case SyntaxKind.ProjectionOperationSelector:
2903
2982
  projectionsByTypeKind.get("Operation").push(node);
2904
2983
  type.nodeByKind.set("Operation", node);
@@ -2907,6 +2986,10 @@ export function createChecker(program) {
2907
2986
  projectionsByTypeKind.get("Union").push(node);
2908
2987
  type.nodeByKind.set("Union", node);
2909
2988
  break;
2989
+ case SyntaxKind.ProjectionUnionVariantSelector:
2990
+ projectionsByTypeKind.get("UnionVariant").push(node);
2991
+ type.nodeByKind.set("UnionVariant", node);
2992
+ break;
2910
2993
  case SyntaxKind.ProjectionInterfaceSelector:
2911
2994
  projectionsByTypeKind.get("Interface").push(node);
2912
2995
  type.nodeByKind.set("Interface", node);
@@ -2915,6 +2998,10 @@ export function createChecker(program) {
2915
2998
  projectionsByTypeKind.get("Enum").push(node);
2916
2999
  type.nodeByKind.set("Enum", node);
2917
3000
  break;
3001
+ case SyntaxKind.ProjectionEnumMemberSelector:
3002
+ projectionsByTypeKind.get("EnumMember").push(node);
3003
+ type.nodeByKind.set("EnumMember", node);
3004
+ break;
2918
3005
  default:
2919
3006
  const projected = checkTypeReference(node.selector, undefined);
2920
3007
  let current = projectionsByType.get(projected);
@@ -3184,7 +3271,10 @@ export function createChecker(program) {
3184
3271
  return createLiteralType(lhs.value + rhs.value);
3185
3272
  }
3186
3273
  }
3187
- function evalProjectionStatement(node, target, args) {
3274
+ function evalProjection(node, target, args) {
3275
+ if (node.direction === "<error>") {
3276
+ throw new ProjectionError("Cannot evaluate projection with invalid direction.");
3277
+ }
3188
3278
  let topLevelProjection = false;
3189
3279
  if (!currentProjectionDirection) {
3190
3280
  topLevelProjection = true;
@@ -3428,7 +3518,7 @@ export function createChecker(program) {
3428
3518
  return createLiteralType(node.value, node);
3429
3519
  }
3430
3520
  function project(target, projection, args = []) {
3431
- return evalProjectionStatement(projection, target, args.map((x) => marshalProjectionReturn(x)));
3521
+ return evalProjection(projection, target, args.map((x) => marshalProjectionReturn(x)));
3432
3522
  }
3433
3523
  function memberExpressionToString(expr) {
3434
3524
  let current = expr;