MCPcopy
hub / github.com/microsoft/pyright / _isImportNeededRecursive

Method _isImportNeededRecursive

server/src/analyzer/program.ts:512–533  ·  view source on GitHub ↗
(fileInfo: SourceFileInfo, recursionMap: { [path: string ]: boolean })

Source from the content-addressed store, hash-verified

510 }
511
512 private _isImportNeededRecursive(fileInfo: SourceFileInfo, recursionMap: { [path: string ]: boolean }) {
513 if (fileInfo.isTracked || fileInfo.isOpenByClient) {
514 return true;
515 }
516
517 const filePath = fileInfo.sourceFile.getFilePath();
518
519 // Avoid infinite recursion.
520 if (recursionMap[filePath]) {
521 return false;
522 }
523
524 recursionMap[filePath] = true;
525
526 for (let importerInfo of fileInfo.importedBy) {
527 if (this._isImportNeededRecursive(importerInfo, recursionMap)) {
528 return true;
529 }
530 }
531
532 return false;
533 }
534
535 private _updateSourceFileImports(sourceFileInfo: SourceFileInfo): SourceFileInfo[] {
536 let filesAdded: SourceFileInfo[] = [];

Callers 1

_isFileNeededMethod · 0.95

Calls 1

getFilePathMethod · 0.80

Tested by

no test coverage detected