@@ -414,7 +414,8 @@ namespace ts {
414
414
},
415
415
getSymbolAtLocation: node => {
416
416
node = getParseTreeNode(node);
417
- return node ? getSymbolAtLocation(node) : undefined;
417
+ // set ignoreErrors: true because any lookups invoked by the API shouldn't cause any new errors
418
+ return node ? getSymbolAtLocation(node, /*ignoreErrors*/ true) : undefined;
418
419
},
419
420
getShorthandAssignmentValueSymbol: node => {
420
421
node = getParseTreeNode(node);
@@ -34412,7 +34413,7 @@ namespace ts {
34412
34413
return undefined;
34413
34414
}
34414
34415
34415
- function getSymbolAtLocation(node: Node): Symbol | undefined {
34416
+ function getSymbolAtLocation(node: Node, ignoreErrors?: boolean ): Symbol | undefined {
34416
34417
if (node.kind === SyntaxKind.SourceFile) {
34417
34418
return isExternalModule(<SourceFile>node) ? getMergedSymbol(node.symbol) : undefined;
34418
34419
}
@@ -34496,7 +34497,7 @@ namespace ts {
34496
34497
((isInJSFile(node) && isRequireCall(node.parent, /*checkArgumentIsStringLiteralLike*/ false)) || isImportCall(node.parent)) ||
34497
34498
(isLiteralTypeNode(node.parent) && isLiteralImportTypeNode(node.parent.parent) && node.parent.parent.argument === node.parent)
34498
34499
) {
34499
- return resolveExternalModuleName(node, <LiteralExpression>node);
34500
+ return resolveExternalModuleName(node, <LiteralExpression>node, ignoreErrors );
34500
34501
}
34501
34502
if (isCallExpression(parent) && isBindableObjectDefinePropertyCall(parent) && parent.arguments[1] === node) {
34502
34503
return getSymbolOfNode(parent);
@@ -34518,7 +34519,7 @@ namespace ts {
34518
34519
case SyntaxKind.ClassKeyword:
34519
34520
return getSymbolOfNode(node.parent);
34520
34521
case SyntaxKind.ImportType:
34521
- return isLiteralImportTypeNode(node) ? getSymbolAtLocation(node.argument.literal) : undefined;
34522
+ return isLiteralImportTypeNode(node) ? getSymbolAtLocation(node.argument.literal, ignoreErrors ) : undefined;
34522
34523
34523
34524
case SyntaxKind.ExportKeyword:
34524
34525
return isExportAssignment(node.parent) ? Debug.assertDefined(node.parent.symbol) : undefined;
0 commit comments