@@ -7,6 +7,7 @@ use enderpy_python_parser as parser;
7
7
use enderpy_python_parser:: ast:: { self , * } ;
8
8
9
9
use super :: { type_evaluator:: TypeEvaluator , types:: PythonType } ;
10
+ use crate :: file:: EnderpyFile ;
10
11
use crate :: symbol_table:: Id ;
11
12
use crate :: types:: ModuleRef ;
12
13
use crate :: { ast_visitor:: TraversalVisitor , diagnostic:: CharacterSpan , symbol_table:: SymbolTable } ;
@@ -28,13 +29,14 @@ pub struct TypeCheckError {
28
29
#[ allow( unused) ]
29
30
impl < ' a > TypeChecker < ' a > {
30
31
pub fn new (
32
+ file : & ' a EnderpyFile ,
31
33
symbol_table : SymbolTable ,
32
34
symbol_tables : & ' a DashMap < Id , SymbolTable > ,
33
35
ids : & ' a DashMap < PathBuf , Id > ,
34
36
) -> Self {
35
37
TypeChecker {
36
38
errors : vec ! [ ] ,
37
- type_evaluator : TypeEvaluator :: new ( symbol_table, symbol_tables, ids) ,
39
+ type_evaluator : TypeEvaluator :: new ( file , symbol_table, symbol_tables, ids) ,
38
40
types : Lapper :: new ( vec ! [ ] ) ,
39
41
}
40
42
}
@@ -629,7 +631,8 @@ mod tests {
629
631
let root = & PathBuf :: from ( "" ) ;
630
632
manager. build ( root) ;
631
633
manager. build_one ( root, & path) ;
632
- let checker = manager. type_check ( & path) ;
634
+ let module = manager. get_state ( & path) ;
635
+ let checker = manager. type_check ( & path, & module) ;
633
636
let module = manager. get_state ( & path) ;
634
637
635
638
let result = checker. types ;
0 commit comments