@typespec/compiler 1.17.0-dev.6 → 1.17.0-dev.8
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/manifest.js +2 -2
- package/dist/src/core/binder.d.ts +1 -1
- package/dist/src/core/binder.d.ts.map +1 -1
- package/dist/src/core/checker.d.ts.map +1 -1
- package/dist/src/core/checker.js +13 -3
- package/dist/src/core/checker.js.map +1 -1
- package/dist/src/core/name-resolver.d.ts.map +1 -1
- package/dist/src/core/name-resolver.js +8 -1
- package/dist/src/core/name-resolver.js.map +1 -1
- package/dist/src/core/types.d.ts +2 -1
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/types.js.map +1 -1
- package/dist/src/init/scaffold.d.ts.map +1 -1
- package/dist/src/init/scaffold.js +31 -3
- package/dist/src/init/scaffold.js.map +1 -1
- package/dist/src/init/template-source/in-memory-template-source.d.ts +1 -1
- package/dist/src/init/template-source/in-memory-template-source.d.ts.map +1 -1
- package/dist/src/init/template-source/in-memory-template-source.js +2 -1
- package/dist/src/init/template-source/in-memory-template-source.js.map +1 -1
- package/dist/src/init/template-source/types.d.ts +1 -0
- package/dist/src/init/template-source/types.d.ts.map +1 -1
- package/dist/src/init/template-source/types.js +10 -1
- package/dist/src/init/template-source/types.js.map +1 -1
- package/dist/src/init/template-source/uri-template-source.d.ts +1 -1
- package/dist/src/init/template-source/uri-template-source.d.ts.map +1 -1
- package/dist/src/init/template-source/uri-template-source.js +23 -2
- package/dist/src/init/template-source/uri-template-source.js.map +1 -1
- package/package.json +4 -4
package/dist/manifest.js
CHANGED
|
@@ -34,6 +34,6 @@ export declare function createSymbol(node: Node | undefined, name: string, flags
|
|
|
34
34
|
* If a declaration symbol get the first one `.declarations[0]`
|
|
35
35
|
* Otherwise get `.node`
|
|
36
36
|
*/
|
|
37
|
-
export declare function getSymNode(sym: Sym): Node;
|
|
37
|
+
export declare function getSymNode(sym: Sym): Node | undefined;
|
|
38
38
|
export {};
|
|
39
39
|
//# sourceMappingURL=binder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../../src/core/binder.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAgBV,gBAAgB,EAOhB,IAAI,EAMJ,GAAG,EACH,WAAW,EAEX,kBAAkB,EAKnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA4B,WAAW,EAAc,MAAM,YAAY,CAAC;AAK/E,QAAA,MAAM,WAAW;kBAGM,WAAW;;QAOhC,wCAAwC;wBACxB,WAAW,cAAc,GAAG;iBAUnC,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,CAmlBrD;AA0BD,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,CA0BL;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../../src/core/binder.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAgBV,gBAAgB,EAOhB,IAAI,EAMJ,GAAG,EACH,WAAW,EAEX,kBAAkB,EAKnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA4B,WAAW,EAAc,MAAM,YAAY,CAAC;AAK/E,QAAA,MAAM,WAAW;kBAGM,WAAW;;QAOhC,wCAAwC;wBACxB,WAAW,cAAc,GAAG;iBAUnC,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,CAmlBrD;AA0BD,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,CA0BL;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,CAErD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/checker.js
CHANGED
|
@@ -299,13 +299,17 @@ export function createChecker(program, resolver) {
|
|
|
299
299
|
*/
|
|
300
300
|
function checkMemberSym(ctx, sym) {
|
|
301
301
|
const symbolLinks = getSymbolLinks(sym);
|
|
302
|
-
const
|
|
302
|
+
const parentNode = getSymNode(sym.parent);
|
|
303
|
+
compilerAssert(parentNode, "Expected member container parent symbol to have a node");
|
|
304
|
+
const memberContainer = getTypeForNode(parentNode, ctx);
|
|
303
305
|
const type = symbolLinks.declaredType ?? symbolLinks.type;
|
|
304
306
|
if (type) {
|
|
305
307
|
return type;
|
|
306
308
|
}
|
|
307
309
|
else {
|
|
308
|
-
|
|
310
|
+
const memberNode = getSymNode(sym);
|
|
311
|
+
compilerAssert(memberNode, "Expected member symbol to have a node");
|
|
312
|
+
return checkMember(ctx, memberNode, memberContainer);
|
|
309
313
|
}
|
|
310
314
|
}
|
|
311
315
|
/**
|
|
@@ -1119,6 +1123,7 @@ export function createChecker(program, resolver) {
|
|
|
1119
1123
|
return sym.type;
|
|
1120
1124
|
}
|
|
1121
1125
|
else if (sym.flags & SymbolFlags.TemplateParameter) {
|
|
1126
|
+
compilerAssert(symNode, "Expected template parameter symbol to have a node");
|
|
1122
1127
|
const mapped = checkTemplateParameterDeclaration(ctx, symNode);
|
|
1123
1128
|
baseType = mapped;
|
|
1124
1129
|
}
|
|
@@ -1135,6 +1140,7 @@ export function createChecker(program, resolver) {
|
|
|
1135
1140
|
}
|
|
1136
1141
|
else {
|
|
1137
1142
|
// don't have a cached type for this symbol, so go grab it and cache it
|
|
1143
|
+
compilerAssert(symNode, "Expected symbol to have a node to resolve type");
|
|
1138
1144
|
baseType = getTypeForNode(symNode, ctx);
|
|
1139
1145
|
symbolLinks.type = baseType;
|
|
1140
1146
|
}
|
|
@@ -3253,7 +3259,7 @@ export function createChecker(program, resolver) {
|
|
|
3253
3259
|
return getCanonicalResolvedMemberSymbol(type, node.id.sv);
|
|
3254
3260
|
}
|
|
3255
3261
|
function getMemberKindName(node) {
|
|
3256
|
-
switch (node
|
|
3262
|
+
switch (node?.kind) {
|
|
3257
3263
|
case SyntaxKind.ModelStatement:
|
|
3258
3264
|
case SyntaxKind.ModelDeclarationExpression:
|
|
3259
3265
|
case SyntaxKind.ModelExpression:
|
|
@@ -3374,6 +3380,7 @@ export function createChecker(program, resolver) {
|
|
|
3374
3380
|
*/
|
|
3375
3381
|
function getAliasedSymbol(ctx, aliasSymbol) {
|
|
3376
3382
|
const node = getSymNode(aliasSymbol);
|
|
3383
|
+
compilerAssert(node, "Expected alias symbol to have a node");
|
|
3377
3384
|
const links = resolver.getSymbolLinks(aliasSymbol);
|
|
3378
3385
|
if (!links.aliasResolutionIsTemplate) {
|
|
3379
3386
|
const aliased = links.aliasedSymbol ?? resolver.getNodeLinks(node).resolvedSymbol;
|
|
@@ -5403,6 +5410,7 @@ export function createChecker(program, resolver) {
|
|
|
5403
5410
|
}
|
|
5404
5411
|
else if (links.finalSymbol?.flags && links.finalSymbol.flags & SymbolFlags.Alias) {
|
|
5405
5412
|
const aliasNode = getSymNode(links.finalSymbol);
|
|
5413
|
+
compilerAssert(aliasNode, "Expected alias symbol to have a node");
|
|
5406
5414
|
program.reportDiagnostic(createDiagnostic({
|
|
5407
5415
|
code: "augment-decorator-target",
|
|
5408
5416
|
messageId: aliasNode.value.kind === SyntaxKind.UnionExpression ? "noUnionExpression" : "default",
|
|
@@ -6883,6 +6891,8 @@ function createFunctionContext(program, fnCall) {
|
|
|
6883
6891
|
};
|
|
6884
6892
|
}
|
|
6885
6893
|
function isTemplatedNode(node) {
|
|
6894
|
+
if (node === undefined)
|
|
6895
|
+
return false;
|
|
6886
6896
|
return "templateParameters" in node && node.templateParameters.length > 0;
|
|
6887
6897
|
}
|
|
6888
6898
|
var ResolutionKind;
|