@@ -41,12 +41,12 @@ use syntax::parse::token::InternedString;
41
41
use syntax:: visit;
42
42
use log;
43
43
44
- pub struct LocalCrateReader < ' a > {
44
+ struct LocalCrateReader < ' a > {
45
45
sess : & ' a Session ,
46
46
cstore : & ' a CStore ,
47
47
creader : CrateReader < ' a > ,
48
48
krate : & ' a ast:: Crate ,
49
- defintions : & ' a RefCell < hir_map:: Definitions > ,
49
+ definitions : & ' a hir_map:: Definitions ,
50
50
}
51
51
52
52
pub struct CrateReader < ' a > {
@@ -841,25 +841,25 @@ impl<'a> CrateReader<'a> {
841
841
}
842
842
843
843
impl < ' a > LocalCrateReader < ' a > {
844
- pub fn new ( sess : & ' a Session ,
845
- cstore : & ' a CStore ,
846
- defs : & ' a RefCell < hir_map:: Definitions > ,
847
- krate : & ' a ast:: Crate ,
848
- local_crate_name : & str )
849
- -> LocalCrateReader < ' a > {
844
+ fn new ( sess : & ' a Session ,
845
+ cstore : & ' a CStore ,
846
+ defs : & ' a hir_map:: Definitions ,
847
+ krate : & ' a ast:: Crate ,
848
+ local_crate_name : & str )
849
+ -> LocalCrateReader < ' a > {
850
850
LocalCrateReader {
851
851
sess : sess,
852
852
cstore : cstore,
853
853
creader : CrateReader :: new ( sess, cstore, local_crate_name) ,
854
854
krate : krate,
855
- defintions : defs,
855
+ definitions : defs,
856
856
}
857
857
}
858
858
859
859
// Traverses an AST, reading all the information about use'd crates and
860
860
// extern libraries necessary for later resolving, typechecking, linking,
861
861
// etc.
862
- pub fn read_crates ( & mut self , dep_graph : & DepGraph ) {
862
+ fn read_crates ( & mut self , dep_graph : & DepGraph ) {
863
863
let _task = dep_graph. in_task ( DepNode :: CrateReader ) ;
864
864
865
865
self . process_crate ( self . krate ) ;
@@ -902,9 +902,8 @@ impl<'a> LocalCrateReader<'a> {
902
902
PathKind :: Crate ,
903
903
true ) ;
904
904
905
- let defs = self . defintions . borrow ( ) ;
906
- let def_id = defs. opt_local_def_id ( i. id ) . unwrap ( ) ;
907
- let len = defs. def_path ( def_id. index ) . data . len ( ) ;
905
+ let def_id = self . definitions . opt_local_def_id ( i. id ) . unwrap ( ) ;
906
+ let len = self . definitions . def_path ( def_id. index ) . data . len ( ) ;
908
907
909
908
self . creader . update_extern_crate ( cnum,
910
909
ExternCrate {
@@ -982,6 +981,17 @@ impl<'a> LocalCrateReader<'a> {
982
981
}
983
982
}
984
983
984
+ /// Traverses an AST, reading all the information about use'd crates and extern
985
+ /// libraries necessary for later resolving, typechecking, linking, etc.
986
+ pub fn read_local_crates ( sess : & Session ,
987
+ cstore : & CStore ,
988
+ defs : & hir_map:: Definitions ,
989
+ krate : & ast:: Crate ,
990
+ local_crate_name : & str ,
991
+ dep_graph : & DepGraph ) {
992
+ LocalCrateReader :: new ( sess, cstore, defs, krate, local_crate_name) . read_crates ( dep_graph)
993
+ }
994
+
985
995
/// Imports the codemap from an external crate into the codemap of the crate
986
996
/// currently being compiled (the "local crate").
987
997
///
0 commit comments