From 18e9a710cd2f2ced84fde19e88d0b967dcb5939e Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 15 Jan 2019 19:04:49 +0300 Subject: remove Cancelable from fn_scopes --- crates/ra_hir/src/code_model_api.rs | 8 ++++---- crates/ra_hir/src/db.rs | 2 +- crates/ra_hir/src/query_definitions.rs | 4 ++-- crates/ra_hir/src/ty.rs | 2 +- crates/ra_hir/src/ty/tests.rs | 2 +- crates/ra_ide_api/src/completion/complete_scope.rs | 2 +- crates/ra_ide_api/src/goto_definition.rs | 2 +- crates/ra_ide_api/src/imp.rs | 4 ++-- 8 files changed, 13 insertions(+), 13 deletions(-) (limited to 'crates') diff --git a/crates/ra_hir/src/code_model_api.rs b/crates/ra_hir/src/code_model_api.rs index 87175476b..4d7925ac4 100644 --- a/crates/ra_hir/src/code_model_api.rs +++ b/crates/ra_hir/src/code_model_api.rs @@ -305,13 +305,13 @@ impl Function { db.body_syntax_mapping(self.def_id) } - pub fn scopes(&self, db: &impl HirDatabase) -> Cancelable { - let scopes = db.fn_scopes(self.def_id)?; + pub fn scopes(&self, db: &impl HirDatabase) -> ScopesWithSyntaxMapping { + let scopes = db.fn_scopes(self.def_id); let syntax_mapping = db.body_syntax_mapping(self.def_id); - Ok(ScopesWithSyntaxMapping { + ScopesWithSyntaxMapping { scopes, syntax_mapping, - }) + } } pub fn signature(&self, db: &impl HirDatabase) -> Arc { diff --git a/crates/ra_hir/src/db.rs b/crates/ra_hir/src/db.rs index c81b8f5f4..d20c03f43 100644 --- a/crates/ra_hir/src/db.rs +++ b/crates/ra_hir/src/db.rs @@ -32,7 +32,7 @@ pub trait HirDatabase: SyntaxDatabase use fn crate::macros::expand_macro_invocation; } - fn fn_scopes(def_id: DefId) -> Cancelable> { + fn fn_scopes(def_id: DefId) -> Arc { type FnScopesQuery; use fn query_definitions::fn_scopes; } diff --git a/crates/ra_hir/src/query_definitions.rs b/crates/ra_hir/src/query_definitions.rs index 31086d1e1..8f33ec707 100644 --- a/crates/ra_hir/src/query_definitions.rs +++ b/crates/ra_hir/src/query_definitions.rs @@ -18,10 +18,10 @@ use crate::{ nameres::{InputModuleItems, ItemMap, Resolver}, }; -pub(super) fn fn_scopes(db: &impl HirDatabase, def_id: DefId) -> Cancelable> { +pub(super) fn fn_scopes(db: &impl HirDatabase, def_id: DefId) -> Arc { let body = db.body_hir(def_id); let res = FnScopes::new(body); - Ok(Arc::new(res)) + Arc::new(res) } pub(super) fn file_items(db: &impl HirDatabase, file_id: HirFileId) -> Arc { diff --git a/crates/ra_hir/src/ty.rs b/crates/ra_hir/src/ty.rs index 519660084..54eece165 100644 --- a/crates/ra_hir/src/ty.rs +++ b/crates/ra_hir/src/ty.rs @@ -1206,7 +1206,7 @@ pub fn infer(db: &impl HirDatabase, def_id: DefId) -> Cancelable String { { let func = source_binder::function_from_source(&db, file_id, fn_def).unwrap(); let inference_result = func.infer(&db).unwrap(); - let body_syntax_mapping = func.body_syntax_mapping(&db).unwrap(); + let body_syntax_mapping = func.body_syntax_mapping(&db); let mut types = Vec::new(); for (pat, ty) in inference_result.type_of_pat.iter() { let syntax_ptr = match body_syntax_mapping.pat_syntax(pat) { diff --git a/crates/ra_ide_api/src/completion/complete_scope.rs b/crates/ra_ide_api/src/completion/complete_scope.rs index f422bb9a7..fdb64895e 100644 --- a/crates/ra_ide_api/src/completion/complete_scope.rs +++ b/crates/ra_ide_api/src/completion/complete_scope.rs @@ -15,7 +15,7 @@ pub(super) fn complete_scope(acc: &mut Completions, ctx: &CompletionContext) -> None => return Ok(()), }; if let Some(function) = &ctx.function { - let scopes = function.scopes(ctx.db)?; + let scopes = function.scopes(ctx.db); complete_fn(acc, &scopes, ctx.offset); } diff --git a/crates/ra_ide_api/src/goto_definition.rs b/crates/ra_ide_api/src/goto_definition.rs index 46fd6883f..5d522181b 100644 --- a/crates/ra_ide_api/src/goto_definition.rs +++ b/crates/ra_ide_api/src/goto_definition.rs @@ -50,7 +50,7 @@ pub(crate) fn reference_definition( if let Some(function) = hir::source_binder::function_from_child_node(db, file_id, name_ref.syntax()) { - let scope = function.scopes(db)?; + let scope = function.scopes(db); // First try to resolve the symbol locally if let Some(entry) = scope.resolve_local_name(name_ref) { let nav = NavigationTarget::from_scope_entry(file_id, &entry); diff --git a/crates/ra_ide_api/src/imp.rs b/crates/ra_ide_api/src/imp.rs index 3ef11dfa1..8b2cd6e27 100644 --- a/crates/ra_ide_api/src/imp.rs +++ b/crates/ra_ide_api/src/imp.rs @@ -128,7 +128,7 @@ impl db::RootDatabase { .collect::>(); ret.extend( descr - .scopes(self)? + .scopes(self) .find_all_refs(binding) .into_iter() .map(|ref_desc| (position.file_id, ref_desc.range)), @@ -156,7 +156,7 @@ impl db::RootDatabase { position.file_id, name_ref.syntax(), )); - let scope = descr.scopes(db)?; + let scope = descr.scopes(db); let resolved = ctry!(scope.resolve_local_name(name_ref)); let resolved = resolved.ptr().resolve(source_file); let binding = ctry!(find_node_at_offset::( -- cgit v1.2.3