@@ -9,10 +9,9 @@ use hir_expand::proc_macro::{
9
9
ProcMacro , ProcMacroExpander , ProcMacroExpansionError , ProcMacroKind , ProcMacroLoadResult ,
10
10
ProcMacros ,
11
11
} ;
12
- use ide:: { AnalysisHost , SourceRoot } ;
13
12
use ide_db:: {
14
- base_db:: { CrateGraph , Env } ,
15
- Change , FxHashMap ,
13
+ base_db:: { CrateGraph , Env , SourceRoot } ,
14
+ prime_caches , Change , FxHashMap , RootDatabase ,
16
15
} ;
17
16
use itertools:: Itertools ;
18
17
use proc_macro_api:: { MacroDylib , ProcMacroServer } ;
@@ -38,7 +37,7 @@ pub fn load_workspace_at(
38
37
cargo_config : & CargoConfig ,
39
38
load_config : & LoadCargoConfig ,
40
39
progress : & dyn Fn ( String ) ,
41
- ) -> anyhow:: Result < ( AnalysisHost , vfs:: Vfs , Option < ProcMacroServer > ) > {
40
+ ) -> anyhow:: Result < ( RootDatabase , vfs:: Vfs , Option < ProcMacroServer > ) > {
42
41
let root = AbsPathBuf :: assert ( std:: env:: current_dir ( ) ?. join ( root) ) ;
43
42
let root = ProjectManifest :: discover_single ( & root) ?;
44
43
let mut workspace = ProjectWorkspace :: load ( root, cargo_config, progress) ?;
@@ -55,7 +54,7 @@ pub fn load_workspace(
55
54
ws : ProjectWorkspace ,
56
55
extra_env : & FxHashMap < String , String > ,
57
56
load_config : & LoadCargoConfig ,
58
- ) -> anyhow:: Result < ( AnalysisHost , vfs:: Vfs , Option < ProcMacroServer > ) > {
57
+ ) -> anyhow:: Result < ( RootDatabase , vfs:: Vfs , Option < ProcMacroServer > ) > {
59
58
let ( sender, receiver) = unbounded ( ) ;
60
59
let mut vfs = vfs:: Vfs :: default ( ) ;
61
60
let mut loader = {
@@ -113,7 +112,7 @@ pub fn load_workspace(
113
112
version : 0 ,
114
113
} ) ;
115
114
116
- let host = load_crate_graph (
115
+ let db = load_crate_graph (
117
116
& ws,
118
117
crate_graph,
119
118
proc_macros,
@@ -123,9 +122,9 @@ pub fn load_workspace(
123
122
) ;
124
123
125
124
if load_config. prefill_caches {
126
- host . analysis ( ) . parallel_prime_caches ( 1 , |_| { } ) ? ;
125
+ prime_caches :: parallel_prime_caches ( & db , 1 , & |_| ( ) ) ;
127
126
}
128
- Ok ( ( host , vfs, proc_macro_server. ok ( ) ) )
127
+ Ok ( ( db , vfs, proc_macro_server. ok ( ) ) )
129
128
}
130
129
131
130
#[ derive( Default ) ]
@@ -308,16 +307,16 @@ fn load_crate_graph(
308
307
source_root_config : SourceRootConfig ,
309
308
vfs : & mut vfs:: Vfs ,
310
309
receiver : & Receiver < vfs:: loader:: Message > ,
311
- ) -> AnalysisHost {
310
+ ) -> RootDatabase {
312
311
let ( ProjectWorkspace :: Cargo { toolchain, target_layout, .. }
313
312
| ProjectWorkspace :: Json { toolchain, target_layout, .. }
314
313
| ProjectWorkspace :: DetachedFiles { toolchain, target_layout, .. } ) = ws;
315
314
316
315
let lru_cap = std:: env:: var ( "RA_LRU_CAP" ) . ok ( ) . and_then ( |it| it. parse :: < usize > ( ) . ok ( ) ) ;
317
- let mut host = AnalysisHost :: new ( lru_cap) ;
316
+ let mut db = RootDatabase :: new ( lru_cap) ;
318
317
let mut analysis_change = Change :: new ( ) ;
319
318
320
- host . raw_database_mut ( ) . enable_proc_attr_macros ( ) ;
319
+ db . enable_proc_attr_macros ( ) ;
321
320
322
321
// wait until Vfs has loaded all roots
323
322
for task in receiver {
@@ -352,8 +351,8 @@ fn load_crate_graph(
352
351
. set_target_data_layouts ( iter:: repeat ( target_layout. clone ( ) ) . take ( num_crates) . collect ( ) ) ;
353
352
analysis_change. set_toolchains ( iter:: repeat ( toolchain. clone ( ) ) . take ( num_crates) . collect ( ) ) ;
354
353
355
- host . apply_change ( analysis_change) ;
356
- host
354
+ db . apply_change ( analysis_change) ;
355
+ db
357
356
}
358
357
359
358
fn expander_to_proc_macro (
@@ -407,10 +406,10 @@ mod tests {
407
406
with_proc_macro_server : ProcMacroServerChoice :: None ,
408
407
prefill_caches : false ,
409
408
} ;
410
- let ( host , _vfs, _proc_macro) =
409
+ let ( db , _vfs, _proc_macro) =
411
410
load_workspace_at ( path, & cargo_config, & load_cargo_config, & |_| { } ) . unwrap ( ) ;
412
411
413
- let n_crates = host . raw_database ( ) . crate_graph ( ) . iter ( ) . count ( ) ;
412
+ let n_crates = db . crate_graph ( ) . iter ( ) . count ( ) ;
414
413
// RA has quite a few crates, but the exact count doesn't matter
415
414
assert ! ( n_crates > 20 ) ;
416
415
}
0 commit comments