From 67c2aea182c375108ebb8b923f5679e4f7fef1df Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 20 Dec 2019 11:30:22 +0100 Subject: Rebuild ra_lsp_server and nest helper function. Completion now works again, so there's no need not to nest --- crates/ra_hir/src/from_source.rs | 74 ++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 37 deletions(-) (limited to 'crates') diff --git a/crates/ra_hir/src/from_source.rs b/crates/ra_hir/src/from_source.rs index 4fd7c7573..3b6454a1d 100644 --- a/crates/ra_hir/src/from_source.rs +++ b/crates/ra_hir/src/from_source.rs @@ -212,43 +212,43 @@ impl Module { } fn analyze_container(db: &impl DefDatabase, src: InFile<&SyntaxNode>) -> DynMap { - _analyze_container(db, src).unwrap_or_default() -} + return child_by_source(db, src).unwrap_or_default(); -fn _analyze_container(db: &impl DefDatabase, src: InFile<&SyntaxNode>) -> Option { - for container in src.value.ancestors().skip(1) { - let res = match_ast! { - match container { - ast::TraitDef(it) => { - let def = Trait::from_source(db, src.with_value(it))?; - def.id.child_by_source(db) - }, - ast::ImplBlock(it) => { - let def = ImplBlock::from_source(db, src.with_value(it))?; - def.id.child_by_source(db) - }, - ast::FnDef(it) => { - let def = Function::from_source(db, src.with_value(it))?; - DefWithBodyId::from(def.id) - .child_by_source(db) - }, - ast::StaticDef(it) => { - let def = Static::from_source(db, src.with_value(it))?; - DefWithBodyId::from(def.id) - .child_by_source(db) - }, - ast::ConstDef(it) => { - let def = Const::from_source(db, src.with_value(it))?; - DefWithBodyId::from(def.id) - .child_by_source(db) - }, - _ => { continue }, - } - }; - return Some(res); - } + fn child_by_source(db: &impl DefDatabase, src: InFile<&SyntaxNode>) -> Option { + for container in src.value.ancestors().skip(1) { + let res = match_ast! { + match container { + ast::TraitDef(it) => { + let def = Trait::from_source(db, src.with_value(it))?; + def.id.child_by_source(db) + }, + ast::ImplBlock(it) => { + let def = ImplBlock::from_source(db, src.with_value(it))?; + def.id.child_by_source(db) + }, + ast::FnDef(it) => { + let def = Function::from_source(db, src.with_value(it))?; + DefWithBodyId::from(def.id) + .child_by_source(db) + }, + ast::StaticDef(it) => { + let def = Static::from_source(db, src.with_value(it))?; + DefWithBodyId::from(def.id) + .child_by_source(db) + }, + ast::ConstDef(it) => { + let def = Const::from_source(db, src.with_value(it))?; + DefWithBodyId::from(def.id) + .child_by_source(db) + }, + _ => { continue }, + } + }; + return Some(res); + } - let module_source = ModuleSource::from_child_node(db, src); - let c = Module::from_definition(db, src.with_value(module_source))?; - Some(c.id.child_by_source(db)) + let module_source = ModuleSource::from_child_node(db, src); + let c = Module::from_definition(db, src.with_value(module_source))?; + Some(c.id.child_by_source(db)) + } } -- cgit v1.2.3