From a1e18695548b5cd6661f26a985b34c8b105e1896 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 29 Feb 2020 21:24:40 +0100 Subject: Rename ast::ImplBlock -> ast::ImplDef --- .../ra_ide/src/completion/complete_trait_impl.rs | 50 ++++++++++------------ crates/ra_ide/src/completion/completion_context.rs | 8 ++-- crates/ra_ide/src/display/navigation_target.rs | 2 +- crates/ra_ide/src/display/structure.rs | 6 +-- crates/ra_ide/src/expand_macro.rs | 4 +- crates/ra_ide/src/goto_definition.rs | 12 +++--- crates/ra_ide/src/impls.rs | 28 ++++++------ crates/ra_ide/src/references/classify.rs | 2 +- 8 files changed, 53 insertions(+), 59 deletions(-) (limited to 'crates/ra_ide/src') diff --git a/crates/ra_ide/src/completion/complete_trait_impl.rs b/crates/ra_ide/src/completion/complete_trait_impl.rs index 9a27c164b..18a1d2995 100644 --- a/crates/ra_ide/src/completion/complete_trait_impl.rs +++ b/crates/ra_ide/src/completion/complete_trait_impl.rs @@ -3,7 +3,7 @@ //! This module adds the completion items related to implementing associated //! items within a `impl Trait for Struct` block. The current context node //! must be within either a `FN_DEF`, `TYPE_ALIAS_DEF`, or `CONST_DEF` node -//! and an direct child of an `IMPL_BLOCK`. +//! and an direct child of an `IMPL_DEF`. //! //! # Examples //! @@ -55,49 +55,43 @@ pub(crate) fn complete_trait_impl(acc: &mut Completions, ctx: &CompletionContext _ => false, }); - let impl_block = trigger + let impl_def = trigger .as_ref() .and_then(|node| node.parent()) .and_then(|node| node.parent()) - .and_then(ast::ImplBlock::cast); + .and_then(ast::ImplDef::cast); - if let (Some(trigger), Some(impl_block)) = (trigger, impl_block) { + if let (Some(trigger), Some(impl_def)) = (trigger, impl_def) { match trigger.kind() { SyntaxKind::FN_DEF => { - for missing_fn in - get_missing_impl_items(&ctx.sema, &impl_block).iter().filter_map(|item| { - match item { - hir::AssocItem::Function(fn_item) => Some(fn_item), - _ => None, - } - }) - { + for missing_fn in get_missing_impl_items(&ctx.sema, &impl_def).iter().filter_map( + |item| match item { + hir::AssocItem::Function(fn_item) => Some(fn_item), + _ => None, + }, + ) { add_function_impl(&trigger, acc, ctx, &missing_fn); } } SyntaxKind::TYPE_ALIAS_DEF => { - for missing_fn in - get_missing_impl_items(&ctx.sema, &impl_block).iter().filter_map(|item| { - match item { - hir::AssocItem::TypeAlias(type_item) => Some(type_item), - _ => None, - } - }) - { + for missing_fn in get_missing_impl_items(&ctx.sema, &impl_def).iter().filter_map( + |item| match item { + hir::AssocItem::TypeAlias(type_item) => Some(type_item), + _ => None, + }, + ) { add_type_alias_impl(&trigger, acc, ctx, &missing_fn); } } SyntaxKind::CONST_DEF => { - for missing_fn in - get_missing_impl_items(&ctx.sema, &impl_block).iter().filter_map(|item| { - match item { - hir::AssocItem::Const(const_item) => Some(const_item), - _ => None, - } - }) - { + for missing_fn in get_missing_impl_items(&ctx.sema, &impl_def).iter().filter_map( + |item| match item { + hir::AssocItem::Const(const_item) => Some(const_item), + _ => None, + }, + ) { add_const_impl(&trigger, acc, ctx, &missing_fn); } } diff --git a/crates/ra_ide/src/completion/completion_context.rs b/crates/ra_ide/src/completion/completion_context.rs index 81321a897..9aa5a705d 100644 --- a/crates/ra_ide/src/completion/completion_context.rs +++ b/crates/ra_ide/src/completion/completion_context.rs @@ -27,7 +27,7 @@ pub(crate) struct CompletionContext<'a> { pub(super) use_item_syntax: Option, pub(super) record_lit_syntax: Option, pub(super) record_lit_pat: Option, - pub(super) impl_block: Option, + pub(super) impl_def: Option, pub(super) is_param: bool, /// If a name-binding or reference to a const in a pattern. /// Irrefutable patterns (like let) are excluded. @@ -81,7 +81,7 @@ impl<'a> CompletionContext<'a> { use_item_syntax: None, record_lit_syntax: None, record_lit_pat: None, - impl_block: None, + impl_def: None, is_param: false, is_pat_binding: false, is_trivial_path: false, @@ -161,12 +161,12 @@ impl<'a> CompletionContext<'a> { self.record_lit_syntax = find_node_at_offset(original_file.syntax(), self.offset); } - self.impl_block = self + self.impl_def = self .token .parent() .ancestors() .take_while(|it| it.kind() != SOURCE_FILE && it.kind() != MODULE) - .find_map(ast::ImplBlock::cast); + .find_map(ast::ImplDef::cast); let top_node = name_ref .syntax() diff --git a/crates/ra_ide/src/display/navigation_target.rs b/crates/ra_ide/src/display/navigation_target.rs index 5afb23764..4d3dd477e 100644 --- a/crates/ra_ide/src/display/navigation_target.rs +++ b/crates/ra_ide/src/display/navigation_target.rs @@ -269,7 +269,7 @@ impl ToNav for hir::Module { } } -impl ToNav for hir::ImplBlock { +impl ToNav for hir::ImplDef { fn to_nav(&self, db: &RootDatabase) -> NavigationTarget { let src = self.source(db); let frange = if let Some(item) = self.is_builtin_derive(db) { diff --git a/crates/ra_ide/src/display/structure.rs b/crates/ra_ide/src/display/structure.rs index 944cc79df..5774e9a8b 100644 --- a/crates/ra_ide/src/display/structure.rs +++ b/crates/ra_ide/src/display/structure.rs @@ -129,7 +129,7 @@ fn structure_node(node: &SyntaxNode) -> Option { ast::RecordFieldDef(it) => { decl_with_ascription(it) }, ast::ConstDef(it) => { decl_with_ascription(it) }, ast::StaticDef(it) => { decl_with_ascription(it) }, - ast::ImplBlock(it) => { + ast::ImplDef(it) => { let target_type = it.target_type()?; let target_trait = it.target_trait(); let label = match target_trait { @@ -360,7 +360,7 @@ fn very_obsolete() {} label: "impl E", navigation_range: [239; 240), node_range: [234; 243), - kind: IMPL_BLOCK, + kind: IMPL_DEF, detail: None, deprecated: false, }, @@ -369,7 +369,7 @@ fn very_obsolete() {} label: "impl fmt::Debug for E", navigation_range: [265; 266), node_range: [245; 269), - kind: IMPL_BLOCK, + kind: IMPL_DEF, detail: None, deprecated: false, }, diff --git a/crates/ra_ide/src/expand_macro.rs b/crates/ra_ide/src/expand_macro.rs index 5a079de27..f6667cb33 100644 --- a/crates/ra_ide/src/expand_macro.rs +++ b/crates/ra_ide/src/expand_macro.rs @@ -195,7 +195,7 @@ fn some_thing() -> u32 { mat<|>ch_ast! { match container { ast::TraitDef(it) => {}, - ast::ImplBlock(it) => {}, + ast::ImplDef(it) => {}, _ => { continue }, } } @@ -207,7 +207,7 @@ fn some_thing() -> u32 { assert_snapshot!(res.expansion, @r###" { if let Some(it) = ast::TraitDef::cast(container.clone()){} - else if let Some(it) = ast::ImplBlock::cast(container.clone()){} + else if let Some(it) = ast::ImplDef::cast(container.clone()){} else { { continue diff --git a/crates/ra_ide/src/goto_definition.rs b/crates/ra_ide/src/goto_definition.rs index 621ab982c..e67585203 100644 --- a/crates/ra_ide/src/goto_definition.rs +++ b/crates/ra_ide/src/goto_definition.rs @@ -477,7 +477,7 @@ mod tests { } } ", - "impl IMPL_BLOCK FileId(1) [12; 73)", + "impl IMPL_DEF FileId(1) [12; 73)", "impl Foo {...}", ); @@ -491,7 +491,7 @@ mod tests { } } ", - "impl IMPL_BLOCK FileId(1) [12; 73)", + "impl IMPL_DEF FileId(1) [12; 73)", "impl Foo {...}", ); @@ -505,7 +505,7 @@ mod tests { } } ", - "impl IMPL_BLOCK FileId(1) [15; 75)", + "impl IMPL_DEF FileId(1) [15; 75)", "impl Foo {...}", ); @@ -518,7 +518,7 @@ mod tests { } } ", - "impl IMPL_BLOCK FileId(1) [15; 62)", + "impl IMPL_DEF FileId(1) [15; 62)", "impl Foo {...}", ); } @@ -538,7 +538,7 @@ mod tests { } } ", - "impl IMPL_BLOCK FileId(1) [49; 115)", + "impl IMPL_DEF FileId(1) [49; 115)", "impl Make for Foo {...}", ); @@ -555,7 +555,7 @@ mod tests { } } ", - "impl IMPL_BLOCK FileId(1) [49; 115)", + "impl IMPL_DEF FileId(1) [49; 115)", "impl Make for Foo {...}", ); } diff --git a/crates/ra_ide/src/impls.rs b/crates/ra_ide/src/impls.rs index bf82b2a16..68529c8a5 100644 --- a/crates/ra_ide/src/impls.rs +++ b/crates/ra_ide/src/impls.rs @@ -1,6 +1,6 @@ //! FIXME: write short doc here -use hir::{Crate, ImplBlock, Semantics}; +use hir::{Crate, ImplDef, Semantics}; use ra_ide_db::RootDatabase; use ra_syntax::{algo::find_node_at_offset, ast, AstNode}; @@ -42,12 +42,12 @@ fn impls_for_def( ast::NominalDef::UnionDef(def) => sema.to_def(def)?.ty(sema.db), }; - let impls = ImplBlock::all_in_crate(sema.db, krate); + let impls = ImplDef::all_in_crate(sema.db, krate); Some( impls .into_iter() - .filter(|impl_block| ty.is_equal_for_find_impls(&impl_block.target_ty(sema.db))) + .filter(|impl_def| ty.is_equal_for_find_impls(&impl_def.target_ty(sema.db))) .map(|imp| imp.to_nav(sema.db)) .collect(), ) @@ -60,7 +60,7 @@ fn impls_for_trait( ) -> Option> { let tr = sema.to_def(node)?; - let impls = ImplBlock::for_trait(sema.db, krate, tr); + let impls = ImplDef::for_trait(sema.db, krate, tr); Some(impls.into_iter().map(|imp| imp.to_nav(sema.db)).collect()) } @@ -86,7 +86,7 @@ mod tests { struct Foo<|>; impl Foo {} ", - &["impl IMPL_BLOCK FileId(1) [12; 23)"], + &["impl IMPL_DEF FileId(1) [12; 23)"], ); } @@ -99,7 +99,7 @@ mod tests { impl Foo {} impl Foo {} ", - &["impl IMPL_BLOCK FileId(1) [12; 23)", "impl IMPL_BLOCK FileId(1) [24; 35)"], + &["impl IMPL_DEF FileId(1) [12; 23)", "impl IMPL_DEF FileId(1) [24; 35)"], ); } @@ -116,7 +116,7 @@ mod tests { impl super::Foo {} } ", - &["impl IMPL_BLOCK FileId(1) [24; 42)", "impl IMPL_BLOCK FileId(1) [57; 75)"], + &["impl IMPL_DEF FileId(1) [24; 42)", "impl IMPL_DEF FileId(1) [57; 75)"], ); } @@ -133,7 +133,7 @@ mod tests { //- /b.rs impl crate::Foo {} ", - &["impl IMPL_BLOCK FileId(2) [0; 18)", "impl IMPL_BLOCK FileId(3) [0; 18)"], + &["impl IMPL_DEF FileId(2) [0; 18)", "impl IMPL_DEF FileId(3) [0; 18)"], ); } @@ -146,7 +146,7 @@ mod tests { struct Foo; impl T for Foo {} ", - &["impl IMPL_BLOCK FileId(1) [23; 40)"], + &["impl IMPL_DEF FileId(1) [23; 40)"], ); } @@ -164,7 +164,7 @@ mod tests { //- /b.rs impl crate::T for crate::Foo {} ", - &["impl IMPL_BLOCK FileId(2) [0; 31)", "impl IMPL_BLOCK FileId(3) [0; 31)"], + &["impl IMPL_DEF FileId(2) [0; 31)", "impl IMPL_DEF FileId(3) [0; 31)"], ); } @@ -180,9 +180,9 @@ mod tests { impl T for &Foo {} ", &[ - "impl IMPL_BLOCK FileId(1) [23; 34)", - "impl IMPL_BLOCK FileId(1) [35; 52)", - "impl IMPL_BLOCK FileId(1) [53; 71)", + "impl IMPL_DEF FileId(1) [23; 34)", + "impl IMPL_DEF FileId(1) [35; 52)", + "impl IMPL_DEF FileId(1) [53; 71)", ], ); } @@ -195,7 +195,7 @@ mod tests { #[derive(Copy)] struct Foo<|>; ", - &["impl IMPL_BLOCK FileId(1) [0; 15)"], + &["impl IMPL_DEF FileId(1) [0; 15)"], ); } } diff --git a/crates/ra_ide/src/references/classify.rs b/crates/ra_ide/src/references/classify.rs index 91b21429a..fdd07d8d1 100644 --- a/crates/ra_ide/src/references/classify.rs +++ b/crates/ra_ide/src/references/classify.rs @@ -61,7 +61,7 @@ pub(crate) fn classify_name_ref( PathResolution::Local(local) => NameDefinition::Local(local), PathResolution::TypeParam(par) => NameDefinition::TypeParam(par), PathResolution::Macro(def) => NameDefinition::Macro(def), - PathResolution::SelfType(impl_block) => NameDefinition::SelfType(impl_block), + PathResolution::SelfType(impl_def) => NameDefinition::SelfType(impl_def), }; Some(res) } -- cgit v1.2.3