fix(54580): Bad operation for find-all-references on import.meta when meta occurs in a comment (#54581)

This commit is contained in:
Oleksandr T 2023-06-09 23:48:36 +03:00 committed by GitHub
parent eeed72171f
commit af075841c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 36 additions and 1 deletions

View File

@ -1725,7 +1725,10 @@ export namespace Core {
}
function getPossibleSymbolReferenceNodes(sourceFile: SourceFile, symbolName: string, container: Node = sourceFile): readonly Node[] {
return getPossibleSymbolReferencePositions(sourceFile, symbolName, container).map(pos => getTouchingPropertyName(sourceFile, pos));
return mapDefined(getPossibleSymbolReferencePositions(sourceFile, symbolName, container), pos => {
const referenceLocation = getTouchingPropertyName(sourceFile, pos);
return referenceLocation === sourceFile ? undefined : referenceLocation;
});
}
function getPossibleSymbolReferencePositions(sourceFile: SourceFile, symbolName: string, container: Node = sourceFile): readonly number[] {

View File

@ -0,0 +1,25 @@
// === findAllReferences ===
// === /tests/cases/fourslash/findAllReferencesImportMeta.ts ===
// // Haha that's so meta!
//
// let x = import.[|meta|]/*FIND ALL REFS*/;
// === Definitions ===
// === /tests/cases/fourslash/findAllReferencesImportMeta.ts ===
// // Haha that's so meta!
//
// let x = import.[|meta|]/*FIND ALL REFS*/;
// === Details ===
[
{
"containerKind": "",
"containerName": "",
"kind": "keyword",
"displayParts": [
{
"kind": "keyword"
}
]
}
]

View File

@ -0,0 +1,7 @@
/// <reference path="fourslash.ts" />
////// Haha that's so meta!
////
////let x = import.meta/**/;
verify.baselineFindAllReferences("");