@@ -49,17 +49,19 @@ public bool HandleImport(ImportStatement node) {
49
49
return false ;
50
50
}
51
51
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 ) {
53
54
// "import fob.oar.baz" means
54
55
// import_module('fob')
55
56
// import_module('fob.oar')
56
57
// 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 ;
60
62
foreach ( var nameExpression in moduleImportExpression . Names ) {
61
63
importNames = importNames . Add ( nameExpression . Name ) ;
62
- var imports = ModuleResolution . CurrentPathResolver . GetImportsFromAbsoluteName ( Module . FilePath , importNames , forceAbsolute ) ;
64
+ imports = ModuleResolution . CurrentPathResolver . GetImportsFromAbsoluteName ( Module . FilePath , importNames , forceAbsolute ) ;
63
65
if ( ! HandleImportSearchResult ( imports , lastModule , asNameExpression , moduleImportExpression , out lastModule ) ) {
64
66
lastModule = default ;
65
67
break ;
@@ -69,7 +71,10 @@ private void HandleImport(ModuleName moduleImportExpression, NameExpression asNa
69
71
firstModule = lastModule ;
70
72
}
71
73
}
74
+ }
72
75
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 _ ) ;
73
78
// "import fob.oar.baz as baz" is handled as baz = import_module('fob.oar.baz')
74
79
// "import fob.oar.baz" is handled as fob = import_module('fob')
75
80
if ( ! string . IsNullOrEmpty ( asNameExpression ? . Name ) && lastModule != default ) {
0 commit comments