@@ -41,12 +41,12 @@ use syntax::parse::token::InternedString;
4141use syntax:: visit;
4242use log;
4343
44- pub struct LocalCrateReader < ' a > {
44+ struct LocalCrateReader < ' a > {
4545 sess : & ' a Session ,
4646 cstore : & ' a CStore ,
4747 creader : CrateReader < ' a > ,
4848 krate : & ' a ast:: Crate ,
49- defintions : & ' a RefCell < hir_map:: Definitions > ,
49+ definitions : & ' a hir_map:: Definitions ,
5050}
5151
5252pub struct CrateReader < ' a > {
@@ -841,25 +841,25 @@ impl<'a> CrateReader<'a> {
841841}
842842
843843impl < ' 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 > {
850850 LocalCrateReader {
851851 sess : sess,
852852 cstore : cstore,
853853 creader : CrateReader :: new ( sess, cstore, local_crate_name) ,
854854 krate : krate,
855- defintions : defs,
855+ definitions : defs,
856856 }
857857 }
858858
859859 // Traverses an AST, reading all the information about use'd crates and
860860 // extern libraries necessary for later resolving, typechecking, linking,
861861 // etc.
862- pub fn read_crates ( & mut self , dep_graph : & DepGraph ) {
862+ fn read_crates ( & mut self , dep_graph : & DepGraph ) {
863863 let _task = dep_graph. in_task ( DepNode :: CrateReader ) ;
864864
865865 self . process_crate ( self . krate ) ;
@@ -902,9 +902,8 @@ impl<'a> LocalCrateReader<'a> {
902902 PathKind :: Crate ,
903903 true ) ;
904904
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 ( ) ;
908907
909908 self . creader . update_extern_crate ( cnum,
910909 ExternCrate {
@@ -982,6 +981,17 @@ impl<'a> LocalCrateReader<'a> {
982981 }
983982}
984983
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+
985995/// Imports the codemap from an external crate into the codemap of the crate
986996/// currently being compiled (the "local crate").
987997///
0 commit comments