@@ -49,17 +49,19 @@ public bool HandleImport(ImportStatement node) {
4949 return false ;
5050 }
5151
52- private void HandleImport ( ModuleName moduleImportExpression , NameExpression asNameExpression , bool forceAbsolute ) {
52+ private void FindModule ( ModuleName moduleImportExpression , NameExpression asNameExpression , bool forceAbsolute ,
53+ out PythonVariableModule firstModule , out PythonVariableModule lastModule , out ImmutableArray < string > importNames , out IImportSearchResult imports ) {
5354 // "import fob.oar.baz" means
5455 // import_module('fob')
5556 // import_module('fob.oar')
5657 // import_module('fob.oar.baz')
57- var importNames = ImmutableArray < string > . Empty ;
58- var lastModule = default ( PythonVariableModule ) ;
59- var firstModule = default ( PythonVariableModule ) ;
58+ importNames = ImmutableArray < string > . Empty ;
59+ lastModule = default ;
60+ firstModule = default ;
61+ imports = null ;
6062 foreach ( var nameExpression in moduleImportExpression . Names ) {
6163 importNames = importNames . Add ( nameExpression . Name ) ;
62- var imports = ModuleResolution . CurrentPathResolver . GetImportsFromAbsoluteName ( Module . FilePath , importNames , forceAbsolute ) ;
64+ imports = ModuleResolution . CurrentPathResolver . GetImportsFromAbsoluteName ( Module . FilePath , importNames , forceAbsolute ) ;
6365 if ( ! HandleImportSearchResult ( imports , lastModule , asNameExpression , moduleImportExpression , out lastModule ) ) {
6466 lastModule = default ;
6567 break ;
@@ -69,7 +71,10 @@ private void HandleImport(ModuleName moduleImportExpression, NameExpression asNa
6971 firstModule = lastModule ;
7072 }
7173 }
74+ }
7275
76+ private void HandleImport ( ModuleName moduleImportExpression , NameExpression asNameExpression , bool forceAbsolute ) {
77+ FindModule ( moduleImportExpression , asNameExpression , forceAbsolute , out var firstModule , out var lastModule , out var importNames , out _ ) ;
7378 // "import fob.oar.baz as baz" is handled as baz = import_module('fob.oar.baz')
7479 // "import fob.oar.baz" is handled as fob = import_module('fob')
7580 if ( ! string . IsNullOrEmpty ( asNameExpression ? . Name ) && lastModule != default ) {
0 commit comments