From 8cf092d5de113fc218b84421a2db4449a370ccb6 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 25 Jan 2019 15:16:50 +0300 Subject: :arrow_up salsa --- crates/ra_ide_api/src/db.rs | 56 ++++++--------------------------------------- 1 file changed, 7 insertions(+), 49 deletions(-) (limited to 'crates/ra_ide_api/src/db.rs') diff --git a/crates/ra_ide_api/src/db.rs b/crates/ra_ide_api/src/db.rs index 11305613c..f0190ae51 100644 --- a/crates/ra_ide_api/src/db.rs +++ b/crates/ra_ide_api/src/db.rs @@ -7,6 +7,13 @@ use ra_db::{ use crate::{symbol_index, LineIndex}; +#[salsa::database( + ra_db::FilesDatabase, + ra_db::SyntaxDatabase, + LineIndexDatabase, + symbol_index::SymbolsDatabase, + hir::db::HirDatabase +)] #[derive(Debug)] pub(crate) struct RootDatabase { runtime: salsa::Runtime, @@ -64,52 +71,3 @@ fn line_index(db: &impl ra_db::FilesDatabase, file_id: FileId) -> Arc let text = db.file_text(file_id); Arc::new(LineIndex::new(&*text)) } - -salsa::database_storage! { - pub(crate) struct RootDatabaseStorage for RootDatabase { - impl ra_db::FilesDatabase { - fn file_text() for ra_db::FileTextQuery; - fn file_relative_path() for ra_db::FileRelativePathQuery; - fn file_source_root() for ra_db::FileSourceRootQuery; - fn source_root() for ra_db::SourceRootQuery; - fn source_root_crates() for ra_db::SourceRootCratesQuery; - fn local_roots() for ra_db::LocalRootsQuery; - fn library_roots() for ra_db::LibraryRootsQuery; - fn crate_graph() for ra_db::CrateGraphQuery; - } - impl ra_db::SyntaxDatabase { - fn source_file() for ra_db::SourceFileQuery; - } - impl LineIndexDatabase { - fn line_index() for LineIndexQuery; - } - impl symbol_index::SymbolsDatabase { - fn file_symbols() for symbol_index::FileSymbolsQuery; - fn library_symbols() for symbol_index::LibrarySymbolsQuery; - } - impl hir::db::HirDatabase { - fn hir_source_file() for hir::db::HirSourceFileQuery; - fn expand_macro_invocation() for hir::db::ExpandMacroInvocationQuery; - fn module_tree() for hir::db::ModuleTreeQuery; - fn fn_scopes() for hir::db::FnScopesQuery; - fn file_items() for hir::db::FileItemsQuery; - fn file_item() for hir::db::FileItemQuery; - fn lower_module() for hir::db::LowerModuleQuery; - fn lower_module_module() for hir::db::LowerModuleModuleQuery; - fn lower_module_source_map() for hir::db::LowerModuleSourceMapQuery; - fn item_map() for hir::db::ItemMapQuery; - fn submodules() for hir::db::SubmodulesQuery; - fn infer() for hir::db::InferQuery; - fn type_for_def() for hir::db::TypeForDefQuery; - fn type_for_field() for hir::db::TypeForFieldQuery; - fn struct_data() for hir::db::StructDataQuery; - fn enum_data() for hir::db::EnumDataQuery; - fn impls_in_module() for hir::db::ImplsInModuleQuery; - fn impls_in_crate() for hir::db::ImplsInCrateQuery; - fn body_hir() for hir::db::BodyHirQuery; - fn body_syntax_mapping() for hir::db::BodySyntaxMappingQuery; - fn fn_signature() for hir::db::FnSignatureQuery; - fn generic_params() for hir::db::GenericParamsQuery; - } - } -} -- cgit v1.2.3