aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src/db.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir_def/src/db.rs')
-rw-r--r--crates/ra_hir_def/src/db.rs16
1 files changed, 13 insertions, 3 deletions
diff --git a/crates/ra_hir_def/src/db.rs b/crates/ra_hir_def/src/db.rs
index e91e741bb..e87bd525a 100644
--- a/crates/ra_hir_def/src/db.rs
+++ b/crates/ra_hir_def/src/db.rs
@@ -3,7 +3,7 @@ use std::sync::Arc;
3 3
4use hir_expand::{db::AstDatabase, HirFileId}; 4use hir_expand::{db::AstDatabase, HirFileId};
5use ra_db::{salsa, CrateId, SourceDatabase}; 5use ra_db::{salsa, CrateId, SourceDatabase};
6use ra_syntax::ast; 6use ra_syntax::{ast, SmolStr};
7 7
8use crate::{ 8use crate::{
9 adt::{EnumData, StructData}, 9 adt::{EnumData, StructData},
@@ -11,12 +11,13 @@ use crate::{
11 body::{scope::ExprScopes, Body, BodySourceMap}, 11 body::{scope::ExprScopes, Body, BodySourceMap},
12 data::{ConstData, FunctionData, ImplData, TraitData, TypeAliasData}, 12 data::{ConstData, FunctionData, ImplData, TraitData, TypeAliasData},
13 generics::GenericParams, 13 generics::GenericParams,
14 lang_item::{LangItemTarget, LangItems},
14 nameres::{ 15 nameres::{
15 raw::{ImportSourceMap, RawItems}, 16 raw::{ImportSourceMap, RawItems},
16 CrateDefMap, 17 CrateDefMap,
17 }, 18 },
18 AttrDefId, ConstId, DefWithBodyId, EnumId, FunctionId, GenericDefId, ImplId, ItemLoc, StaticId, 19 AttrDefId, ConstId, DefWithBodyId, EnumId, FunctionId, GenericDefId, ImplId, ItemLoc, ModuleId,
19 StructOrUnionId, TraitId, TypeAliasId, 20 StaticId, StructOrUnionId, TraitId, TypeAliasId,
20}; 21};
21 22
22#[salsa::query_group(InternDatabaseStorage)] 23#[salsa::query_group(InternDatabaseStorage)]
@@ -91,4 +92,13 @@ pub trait DefDatabase2: InternDatabase + AstDatabase {
91 92
92 #[salsa::invoke(Attrs::attrs_query)] 93 #[salsa::invoke(Attrs::attrs_query)]
93 fn attrs(&self, def: AttrDefId) -> Attrs; 94 fn attrs(&self, def: AttrDefId) -> Attrs;
95
96 #[salsa::invoke(LangItems::module_lang_items_query)]
97 fn module_lang_items(&self, module: ModuleId) -> Option<Arc<LangItems>>;
98
99 #[salsa::invoke(LangItems::crate_lang_items_query)]
100 fn crate_lang_items(&self, krate: CrateId) -> Arc<LangItems>;
101
102 #[salsa::invoke(LangItems::lang_item_query)]
103 fn lang_item(&self, start_crate: CrateId, item: SmolStr) -> Option<LangItemTarget>;
94} 104}