]> git.lizzy.rs Git - rust.git/commitdiff
remove query_definitions
authorAleksey Kladov <aleksey.kladov@gmail.com>
Mon, 11 Feb 2019 14:44:54 +0000 (17:44 +0300)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Mon, 11 Feb 2019 14:44:54 +0000 (17:44 +0300)
crates/ra_hir/src/db.rs
crates/ra_hir/src/ids.rs
crates/ra_hir/src/lib.rs
crates/ra_hir/src/query_definitions.rs [deleted file]

index e03632519bdf07cb46e410743ada572228add46f..740a7be7aa7642ad365e975303dde106bc94940c 100644 (file)
@@ -6,7 +6,6 @@
 use crate::{
     MacroCallId, HirFileId,
     SourceFileItems, SourceItemId, Crate, Module, HirInterner,
-    query_definitions,
     Function, FnSignature, ExprScopes,
     Struct, Enum, StructField,
     macros::MacroExpansion,
@@ -33,10 +32,10 @@ pub trait PersistentHirDatabase: SourceDatabase + AsRef<HirInterner> {
     #[salsa::invoke(crate::adt::EnumData::enum_data_query)]
     fn enum_data(&self, e: Enum) -> Arc<EnumData>;
 
-    #[salsa::invoke(query_definitions::file_items)]
+    #[salsa::invoke(crate::ids::SourceFileItems::file_items_query)]
     fn file_items(&self, file_id: HirFileId) -> Arc<SourceFileItems>;
 
-    #[salsa::invoke(query_definitions::file_item)]
+    #[salsa::invoke(crate::ids::SourceFileItems::file_item_query)]
     fn file_item(&self, source_item_id: SourceItemId) -> TreeArc<SyntaxNode>;
 
     #[salsa::invoke(crate::module_tree::Submodule::submodules_query)]
index ea13c1196da431772f3f495afc5ac1220caafb86..d3fa7d266403f07890ddefcc07bfe9012e402f44 100644 (file)
@@ -1,6 +1,7 @@
 use std::{
     marker::PhantomData,
     hash::{Hash, Hasher},
+    sync::Arc,
 };
 
 use ra_db::{LocationIntener, FileId};
@@ -301,10 +302,24 @@ pub struct SourceFileItems {
 }
 
 impl SourceFileItems {
-    pub(crate) fn new(file_id: HirFileId, source_file: &SourceFile) -> SourceFileItems {
+    pub(crate) fn file_items_query(
+        db: &impl PersistentHirDatabase,
+        file_id: HirFileId,
+    ) -> Arc<SourceFileItems> {
+        let source_file = db.hir_parse(file_id);
         let mut res = SourceFileItems { file_id, arena: Arena::default() };
-        res.init(source_file);
-        res
+        res.init(&source_file);
+        Arc::new(res)
+    }
+
+    pub(crate) fn file_item_query(
+        db: &impl PersistentHirDatabase,
+        source_item_id: SourceItemId,
+    ) -> TreeArc<SyntaxNode> {
+        let source_file = db.hir_parse(source_item_id.file_id);
+        db.file_items(source_item_id.file_id)[source_item_id.item_id]
+            .to_node(&source_file)
+            .to_owned()
     }
 
     fn init(&mut self, source_file: &SourceFile) {
index 8ed8c4bdc2976d33ae3a0517a59bcddd8d6c7475..b212c3399ab2b4e65a6f1e90405f193a5bda41ea 100644 (file)
@@ -20,7 +20,6 @@ fn from(it: $v) -> $e {
 pub mod db;
 #[macro_use]
 pub mod mock;
-mod query_definitions;
 mod path;
 pub mod source_binder;
 
diff --git a/crates/ra_hir/src/query_definitions.rs b/crates/ra_hir/src/query_definitions.rs
deleted file mode 100644 (file)
index 03113e7..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-use std::sync::Arc;
-
-use ra_syntax::{
-    SyntaxNode, TreeArc,
-};
-
-use crate::{
-    SourceFileItems, SourceItemId, HirFileId,
-    PersistentHirDatabase,
-};
-
-pub(super) fn file_items(
-    db: &impl PersistentHirDatabase,
-    file_id: HirFileId,
-) -> Arc<SourceFileItems> {
-    let source_file = db.hir_parse(file_id);
-    let res = SourceFileItems::new(file_id, &source_file);
-    Arc::new(res)
-}
-
-pub(super) fn file_item(
-    db: &impl PersistentHirDatabase,
-    source_item_id: SourceItemId,
-) -> TreeArc<SyntaxNode> {
-    let source_file = db.hir_parse(source_item_id.file_id);
-    db.file_items(source_item_id.file_id)[source_item_id.item_id].to_node(&source_file).to_owned()
-}