aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_analysis/src/db.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2018-11-27 22:38:39 +0000
committerAleksey Kladov <[email protected]>2018-11-27 22:38:39 +0000
commit4c9933c01657349438f9170c2ef7d6352144b224 (patch)
tree47b9b3ecde0c9bbfcc8a9ba4fd063a743eaf9c64 /crates/ra_analysis/src/db.rs
parent806ea03b64455a0c10fd8a8d6d98ed4e7ac15058 (diff)
check_canceled is a method
Diffstat (limited to 'crates/ra_analysis/src/db.rs')
-rw-r--r--crates/ra_analysis/src/db.rs17
1 files changed, 6 insertions, 11 deletions
diff --git a/crates/ra_analysis/src/db.rs b/crates/ra_analysis/src/db.rs
index 78bbfcf2d..d7fffc188 100644
--- a/crates/ra_analysis/src/db.rs
+++ b/crates/ra_analysis/src/db.rs
@@ -6,7 +6,6 @@ use ra_syntax::{SourceFileNode, SyntaxNode};
6use salsa::{self, Database}; 6use salsa::{self, Database};
7 7
8use crate::{ 8use crate::{
9 db,
10 hir, 9 hir,
11 symbol_index::SymbolIndex, 10 symbol_index::SymbolIndex,
12 syntax_ptr::SyntaxPtr, 11 syntax_ptr::SyntaxPtr,
@@ -59,14 +58,6 @@ impl Default for RootDatabase {
59 } 58 }
60} 59}
61 60
62pub(crate) fn check_canceled(db: &impl salsa::Database) -> Cancelable<()> {
63 if db.salsa_runtime().is_current_revision_canceled() {
64 Err(Canceled)
65 } else {
66 Ok(())
67 }
68}
69
70impl salsa::ParallelDatabase for RootDatabase { 61impl salsa::ParallelDatabase for RootDatabase {
71 fn snapshot(&self) -> salsa::Snapshot<RootDatabase> { 62 fn snapshot(&self) -> salsa::Snapshot<RootDatabase> {
72 salsa::Snapshot::new(RootDatabase { 63 salsa::Snapshot::new(RootDatabase {
@@ -80,7 +71,11 @@ impl salsa::ParallelDatabase for RootDatabase {
80pub(crate) trait BaseDatabase: salsa::Database { 71pub(crate) trait BaseDatabase: salsa::Database {
81 fn id_maps(&self) -> &IdMaps; 72 fn id_maps(&self) -> &IdMaps;
82 fn check_canceled(&self) -> Cancelable<()> { 73 fn check_canceled(&self) -> Cancelable<()> {
83 check_canceled(self) 74 if self.salsa_runtime().is_current_revision_canceled() {
75 Err(Canceled)
76 } else {
77 Ok(())
78 }
84 } 79 }
85} 80}
86 81
@@ -171,7 +166,7 @@ fn file_lines(db: &impl SyntaxDatabase, file_id: FileId) -> Arc<LineIndex> {
171 Arc::new(LineIndex::new(&*text)) 166 Arc::new(LineIndex::new(&*text))
172} 167}
173fn file_symbols(db: &impl SyntaxDatabase, file_id: FileId) -> Cancelable<Arc<SymbolIndex>> { 168fn file_symbols(db: &impl SyntaxDatabase, file_id: FileId) -> Cancelable<Arc<SymbolIndex>> {
174 db::check_canceled(db)?; 169 db.check_canceled()?;
175 let syntax = db.file_syntax(file_id); 170 let syntax = db.file_syntax(file_id);
176 Ok(Arc::new(SymbolIndex::for_file(file_id, syntax))) 171 Ok(Arc::new(SymbolIndex::for_file(file_id, syntax)))
177} 172}