@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.
- package/dist/core/binder.d.ts.map +1 -1
- package/dist/core/binder.js +52 -10
- package/dist/core/binder.js.map +1 -1
- package/dist/core/checker.d.ts.map +1 -1
- package/dist/core/checker.js +155 -65
- package/dist/core/checker.js.map +1 -1
- package/dist/core/helpers/index.d.ts +1 -0
- package/dist/core/helpers/index.d.ts.map +1 -1
- package/dist/core/helpers/index.js +1 -0
- package/dist/core/helpers/index.js.map +1 -1
- package/dist/core/helpers/path-interpolation.d.ts +8 -0
- package/dist/core/helpers/path-interpolation.d.ts.map +1 -0
- package/dist/core/helpers/path-interpolation.js +34 -0
- package/dist/core/helpers/path-interpolation.js.map +1 -0
- package/dist/core/helpers/type-name-utils.d.ts +1 -0
- package/dist/core/helpers/type-name-utils.d.ts.map +1 -1
- package/dist/core/helpers/type-name-utils.js +20 -4
- package/dist/core/helpers/type-name-utils.js.map +1 -1
- package/dist/core/messages.js +1 -1
- package/dist/core/messages.js.map +1 -1
- package/dist/core/parser.d.ts.map +1 -1
- package/dist/core/parser.js +87 -36
- package/dist/core/parser.js.map +1 -1
- package/dist/core/path-utils.d.ts +1 -0
- package/dist/core/path-utils.d.ts.map +1 -1
- package/dist/core/path-utils.js +1 -0
- package/dist/core/path-utils.js.map +1 -1
- package/dist/core/projection-members.d.ts.map +1 -1
- package/dist/core/projection-members.js +4 -7
- package/dist/core/projection-members.js.map +1 -1
- package/dist/core/projector.d.ts.map +1 -1
- package/dist/core/projector.js +41 -13
- package/dist/core/projector.js.map +1 -1
- package/dist/core/types.d.ts +60 -30
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +27 -24
- package/dist/core/types.js.map +1 -1
- package/dist/formatter/print/printer.d.ts.map +1 -1
- package/dist/formatter/print/printer.js +18 -7
- package/dist/formatter/print/printer.js.map +1 -1
- package/dist/lib/decorators.d.ts.map +1 -1
- package/dist/lib/decorators.js +15 -1
- package/dist/lib/decorators.js.map +1 -1
- package/dist/manifest.js +2 -2
- package/dist/server/language-config.d.ts +5 -1
- package/dist/server/language-config.d.ts.map +1 -1
- package/dist/server/language-config.js +5 -1
- package/dist/server/language-config.js.map +1 -1
- package/dist/server/serverlib.d.ts.map +1 -1
- package/dist/server/serverlib.js +3 -0
- package/dist/server/serverlib.js.map +1 -1
- package/dist/server/type-signature.js +4 -2
- package/dist/server/type-signature.js.map +1 -1
- package/lib/lib.tsp +6 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../core/binder.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/core/binder.js
CHANGED
|
@@ -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
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
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
|
package/dist/core/binder.js.map
CHANGED
|
@@ -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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"}
|
package/dist/core/checker.js
CHANGED
|
@@ -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
|
|
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 (
|
|
1451
|
-
|
|
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
|
|
1467
|
-
|
|
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
|
-
|
|
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: "
|
|
1479
|
-
format: {
|
|
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
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
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
|
-
|
|
1522
|
+
const sym = resolveIdentifierInTable(node.id, base.members, resolveDecorator);
|
|
1523
|
+
if (!sym) {
|
|
1506
1524
|
reportCheckerDiagnostic(createDiagnostic({
|
|
1507
1525
|
code: "invalid-ref",
|
|
1508
|
-
messageId: "
|
|
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
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
...
|
|
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
|
|
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
|
|
3521
|
+
return evalProjection(projection, target, args.map((x) => marshalProjectionReturn(x)));
|
|
3432
3522
|
}
|
|
3433
3523
|
function memberExpressionToString(expr) {
|
|
3434
3524
|
let current = expr;
|