@@ -49,7 +49,19 @@ public bool HandleImport(ImportStatement node) {
49
49
return false ;
50
50
}
51
51
52
- private void FindModule ( ModuleName moduleImportExpression , NameExpression asNameExpression , bool forceAbsolute ,
52
+ private void HandleImport ( ModuleName moduleImportExpression , NameExpression asNameExpression , bool forceAbsolute ) {
53
+ FindModuleByAbsoluteName ( moduleImportExpression , asNameExpression , forceAbsolute , out var firstModule , out var lastModule , out var importNames , out _ ) ;
54
+ // "import fob.oar.baz as baz" is handled as baz = import_module('fob.oar.baz')
55
+ // "import fob.oar.baz" is handled as fob = import_module('fob')
56
+ if ( ! string . IsNullOrEmpty ( asNameExpression ? . Name ) && lastModule != default ) {
57
+ Eval . DeclareVariable ( asNameExpression . Name , lastModule , VariableSource . Import , asNameExpression ) ;
58
+ } else if ( firstModule != default && ! string . IsNullOrEmpty ( importNames [ 0 ] ) ) {
59
+ var firstName = moduleImportExpression . Names [ 0 ] ;
60
+ Eval . DeclareVariable ( importNames [ 0 ] , firstModule , VariableSource . Import , firstName ) ;
61
+ }
62
+ }
63
+
64
+ private void FindModuleByAbsoluteName ( ModuleName moduleImportExpression , NameExpression asNameExpression , bool forceAbsolute ,
53
65
out PythonVariableModule firstModule , out PythonVariableModule lastModule , out ImmutableArray < string > importNames , out IImportSearchResult imports ) {
54
66
// "import fob.oar.baz" means
55
67
// import_module('fob')
@@ -73,18 +85,6 @@ private void FindModule(ModuleName moduleImportExpression, NameExpression asName
73
85
}
74
86
}
75
87
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 _ ) ;
78
- // "import fob.oar.baz as baz" is handled as baz = import_module('fob.oar.baz')
79
- // "import fob.oar.baz" is handled as fob = import_module('fob')
80
- if ( ! string . IsNullOrEmpty ( asNameExpression ? . Name ) && lastModule != default ) {
81
- Eval . DeclareVariable ( asNameExpression . Name , lastModule , VariableSource . Import , asNameExpression ) ;
82
- } else if ( firstModule != default && ! string . IsNullOrEmpty ( importNames [ 0 ] ) ) {
83
- var firstName = moduleImportExpression . Names [ 0 ] ;
84
- Eval . DeclareVariable ( importNames [ 0 ] , firstModule , VariableSource . Import , firstName ) ;
85
- }
86
- }
87
-
88
88
private bool HandleImportSearchResult ( in IImportSearchResult imports , in PythonVariableModule parent , in NameExpression asNameExpression , in Node location , out PythonVariableModule variableModule ) {
89
89
switch ( imports ) {
90
90
case ModuleImport moduleImport when Module . ModuleType == ModuleType . Stub && moduleImport . FullName == Module . Name :
0 commit comments