From 15224dfcd5fc5338844aec5993abf98f7f283e1e Mon Sep 17 00:00:00 2001 From: Florian Diebold Date: Tue, 5 Feb 2019 22:54:17 +0100 Subject: Add new crate --- crates/ra_batch/Cargo.toml | 24 ++++++++++++++++++++++++ crates/ra_batch/src/lib.rs | 30 ++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 crates/ra_batch/Cargo.toml create mode 100644 crates/ra_batch/src/lib.rs (limited to 'crates/ra_batch') diff --git a/crates/ra_batch/Cargo.toml b/crates/ra_batch/Cargo.toml new file mode 100644 index 000000000..3e83f8388 --- /dev/null +++ b/crates/ra_batch/Cargo.toml @@ -0,0 +1,24 @@ +[package] +edition = "2018" +name = "ra_batch" +version = "0.1.0" +authors = ["Aleksey Kladov "] + +[dependencies] +itertools = "0.8.0" +join_to_string = "0.1.3" +log = "0.4.5" +relative-path = "0.4.0" +rayon = "1.0.2" +fst = "0.3.1" +rustc-hash = "1.0" +parking_lot = "0.7.0" +unicase = "2.2.0" + +ra_syntax = { path = "../ra_syntax" } +ra_db = { path = "../ra_db" } +ra_hir = { path = "../ra_hir" } + +[dev-dependencies] +test_utils = { path = "../test_utils" } +insta = "0.6.1" diff --git a/crates/ra_batch/src/lib.rs b/crates/ra_batch/src/lib.rs new file mode 100644 index 000000000..25f1f7357 --- /dev/null +++ b/crates/ra_batch/src/lib.rs @@ -0,0 +1,30 @@ +use std::sync::Arc; + +use ra_db::{ + FilePosition, FileId, CrateGraph, SourceRoot, SourceRootId, SourceDatabase, salsa, +}; +use ra_hir::{db, HirInterner}; + +#[salsa::database( + ra_db::SourceDatabaseStorage, + db::HirDatabaseStorage, + db::PersistentHirDatabaseStorage +)] +#[derive(Debug)] +pub(crate) struct BatchDatabase { + runtime: salsa::Runtime, + interner: Arc, + file_counter: u32, +} + +impl salsa::Database for BatchDatabase { + fn salsa_runtime(&self) -> &salsa::Runtime { + &self.runtime + } +} + +impl AsRef for BatchDatabase { + fn as_ref(&self) -> &HirInterner { + &self.interner + } +} -- cgit v1.2.3