@@ -336,21 +336,19 @@ export class Program {
336336
337337 addTrackedFile ( fileUri : Uri , isThirdPartyImport = false , isInPyTypedPackage = false ) : SourceFile {
338338 let sourceFileInfo = this . getSourceFileInfo ( fileUri ) ;
339- const moduleImportInfo = this . _getModuleImportInfoForFile ( fileUri ) ;
340- const importName = moduleImportInfo . moduleName ;
341339
342340 if ( sourceFileInfo ) {
343341 // The module name may have changed based on updates to the
344- // search paths, so update it here .
345- sourceFileInfo . sourceFile . setModuleName ( importName ) ;
342+ // search paths. Clear any cached module name so it is recomputed .
343+ sourceFileInfo . sourceFile . clearCachedModuleName ( ) ;
346344 sourceFileInfo . isTracked = true ;
347345 return sourceFileInfo . sourceFile ;
348346 }
349347
350348 const sourceFile = this . _sourceFileFactory . createSourceFile (
351349 this . serviceProvider ,
352350 fileUri ,
353- importName ,
351+ ( uri ) => this . _getModuleName ( uri ) ,
354352 isThirdPartyImport ,
355353 isInPyTypedPackage ,
356354 this . _editModeTracker ,
@@ -378,7 +376,7 @@ export class Program {
378376 const sourceFile = this . _sourceFileFactory . createSourceFile (
379377 this . serviceProvider ,
380378 fileUri ,
381- moduleImportInfo . moduleName ,
379+ ( uri ) => this . _getModuleName ( uri ) ,
382380 /* isThirdPartyImport */ false ,
383381 moduleImportInfo . isThirdPartyPyTypedPresent ,
384382 this . _editModeTracker ,
@@ -1506,11 +1504,10 @@ export class Program {
15061504 // of the program.
15071505 let importedFileInfo = this . getSourceFileInfo ( importInfo . path ) ;
15081506 if ( ! importedFileInfo ) {
1509- const moduleImportInfo = this . _getModuleImportInfoForFile ( importInfo . path ) ;
15101507 const sourceFile = this . _sourceFileFactory . createSourceFile (
15111508 this . serviceProvider ,
15121509 importInfo . path ,
1513- moduleImportInfo . moduleName ,
1510+ ( uri ) => this . _getModuleName ( uri ) ,
15141511 importInfo . isThirdPartyImport ,
15151512 importInfo . isPyTypedPresent ,
15161513 this . _editModeTracker ,
@@ -1582,6 +1579,11 @@ export class Program {
15821579 this . _sourceFileMap . set ( fileUri . key , fileInfo ) ;
15831580 }
15841581
1582+ private _getModuleName ( fileUri : Uri ) : string {
1583+ const moduleInfo = this . _getModuleImportInfoForFile ( fileUri ) ;
1584+ return moduleInfo . moduleName ;
1585+ }
1586+
15851587 private _getModuleImportInfoForFile ( fileUri : Uri ) {
15861588 // We allow illegal module names (e.g. names that include "-" in them)
15871589 // because we want a unique name for each module even if it cannot be
@@ -1622,11 +1624,10 @@ export class Program {
16221624 }
16231625
16241626 private _createInterimFileInfo ( fileUri : Uri ) {
1625- const moduleImportInfo = this . _getModuleImportInfoForFile ( fileUri ) ;
16261627 const sourceFile = this . _sourceFileFactory . createSourceFile (
16271628 this . serviceProvider ,
16281629 fileUri ,
1629- moduleImportInfo . moduleName ,
1630+ ( uri ) => this . _getModuleName ( uri ) ,
16301631 /* isThirdPartyImport */ false ,
16311632 /* isInPyTypedPackage */ false ,
16321633 this . _editModeTracker ,
0 commit comments