mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-16 07:13:45 -05:00
Do not report errors when we fail to find a module symbol at an import specifier when invoked via API (#36742)
This commit is contained in:
@@ -414,7 +414,8 @@ namespace ts {
|
||||
},
|
||||
getSymbolAtLocation: node => {
|
||||
node = getParseTreeNode(node);
|
||||
return node ? getSymbolAtLocation(node) : undefined;
|
||||
// set ignoreErrors: true because any lookups invoked by the API shouldn't cause any new errors
|
||||
return node ? getSymbolAtLocation(node, /*ignoreErrors*/ true) : undefined;
|
||||
},
|
||||
getShorthandAssignmentValueSymbol: node => {
|
||||
node = getParseTreeNode(node);
|
||||
@@ -34412,7 +34413,7 @@ namespace ts {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
function getSymbolAtLocation(node: Node): Symbol | undefined {
|
||||
function getSymbolAtLocation(node: Node, ignoreErrors?: boolean): Symbol | undefined {
|
||||
if (node.kind === SyntaxKind.SourceFile) {
|
||||
return isExternalModule(<SourceFile>node) ? getMergedSymbol(node.symbol) : undefined;
|
||||
}
|
||||
@@ -34496,7 +34497,7 @@ namespace ts {
|
||||
((isInJSFile(node) && isRequireCall(node.parent, /*checkArgumentIsStringLiteralLike*/ false)) || isImportCall(node.parent)) ||
|
||||
(isLiteralTypeNode(node.parent) && isLiteralImportTypeNode(node.parent.parent) && node.parent.parent.argument === node.parent)
|
||||
) {
|
||||
return resolveExternalModuleName(node, <LiteralExpression>node);
|
||||
return resolveExternalModuleName(node, <LiteralExpression>node, ignoreErrors);
|
||||
}
|
||||
if (isCallExpression(parent) && isBindableObjectDefinePropertyCall(parent) && parent.arguments[1] === node) {
|
||||
return getSymbolOfNode(parent);
|
||||
@@ -34518,7 +34519,7 @@ namespace ts {
|
||||
case SyntaxKind.ClassKeyword:
|
||||
return getSymbolOfNode(node.parent);
|
||||
case SyntaxKind.ImportType:
|
||||
return isLiteralImportTypeNode(node) ? getSymbolAtLocation(node.argument.literal) : undefined;
|
||||
return isLiteralImportTypeNode(node) ? getSymbolAtLocation(node.argument.literal, ignoreErrors) : undefined;
|
||||
|
||||
case SyntaxKind.ExportKeyword:
|
||||
return isExportAssignment(node.parent) ? Debug.assertDefined(node.parent.symbol) : undefined;
|
||||
|
||||
Reference in New Issue
Block a user