about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLukas Wirth <lukastw97@gmail.com>2022-06-03 15:46:17 +0200
committerLukas Wirth <lukastw97@gmail.com>2022-06-03 15:46:17 +0200
commitc522669f00865c6bfc9160b2c810499ef8fa5552 (patch)
treecbccb0fdbb5e90c59714cf0a8c91f3d6ee0e265d
parentc5dcc77b40a19dada837e50374d1851754f5eb2a (diff)
downloadrust-c522669f00865c6bfc9160b2c810499ef8fa5552.tar.gz
rust-c522669f00865c6bfc9160b2c810499ef8fa5552.zip
Remove dead code
-rw-r--r--crates/ide-completion/src/completions/flyimport.rs4
-rw-r--r--crates/ide-completion/src/context.rs8
-rw-r--r--crates/ide-completion/src/patterns.rs69
3 files changed, 2 insertions, 79 deletions
diff --git a/crates/ide-completion/src/completions/flyimport.rs b/crates/ide-completion/src/completions/flyimport.rs
index c3bf298bc6e..22068096ba0 100644
--- a/crates/ide-completion/src/completions/flyimport.rs
+++ b/crates/ide-completion/src/completions/flyimport.rs
@@ -110,10 +110,8 @@ pub(crate) fn import_on_the_fly(acc: &mut Completions, ctx: &CompletionContext)
     if !ctx.config.enable_imports_on_the_fly {
         return None;
     }
-    if matches!(ctx.path_kind(), Some(PathKind::Vis { .. } | PathKind::Use))
+    if matches!(ctx.path_kind(), Some(PathKind::Vis { .. } | PathKind::Use | PathKind::Item { .. }))
         || ctx.is_path_disallowed()
-        || ctx.expects_item()
-        || ctx.expects_assoc_item()
     {
         return None;
     }
diff --git a/crates/ide-completion/src/context.rs b/crates/ide-completion/src/context.rs
index a4b38d3f246..f8073f54310 100644
--- a/crates/ide-completion/src/context.rs
+++ b/crates/ide-completion/src/context.rs
@@ -334,14 +334,6 @@ impl<'a> CompletionContext<'a> {
         self.dot_receiver().is_some()
     }
 
-    pub(crate) fn expects_assoc_item(&self) -> bool {
-        matches!(self.completion_location, Some(ImmediateLocation::Trait | ImmediateLocation::Impl))
-    }
-
-    pub(crate) fn expects_item(&self) -> bool {
-        matches!(self.completion_location, Some(ImmediateLocation::ItemList))
-    }
-
     // FIXME: This shouldn't exist
     pub(crate) fn expects_generic_arg(&self) -> bool {
         matches!(self.completion_location, Some(ImmediateLocation::GenericArgList(_)))
diff --git a/crates/ide-completion/src/patterns.rs b/crates/ide-completion/src/patterns.rs
index cc599a02cb2..27b271dde46 100644
--- a/crates/ide-completion/src/patterns.rs
+++ b/crates/ide-completion/src/patterns.rs
@@ -39,13 +39,7 @@ pub(crate) enum TypeAnnotation {
 /// from which file the nodes are.
 #[derive(Clone, Debug, PartialEq, Eq)]
 pub(crate) enum ImmediateLocation {
-    Impl,
-    Trait,
-    TupleField,
     RefExpr,
-    IdentPat,
-    StmtList,
-    ItemList,
     TypeBound,
     /// Original file ast node
     TypeAnnotation(TypeAnnotation),
@@ -140,30 +134,14 @@ pub(crate) fn determine_location(
             _ => parent,
         },
         // SourceFile
-        None => {
-            return match node.kind() {
-                MACRO_ITEMS | SOURCE_FILE => Some(ImmediateLocation::ItemList),
-                _ => None,
-            }
-        }
+        None => return None,
     };
 
     let res = match_ast! {
         match parent {
-            ast::IdentPat(_) => ImmediateLocation::IdentPat,
-            ast::StmtList(_) => ImmediateLocation::StmtList,
-            ast::SourceFile(_) => ImmediateLocation::ItemList,
-            ast::ItemList(_) => ImmediateLocation::ItemList,
             ast::RefExpr(_) => ImmediateLocation::RefExpr,
-            ast::TupleField(_) => ImmediateLocation::TupleField,
-            ast::TupleFieldList(_) => ImmediateLocation::TupleField,
             ast::TypeBound(_) => ImmediateLocation::TypeBound,
             ast::TypeBoundList(_) => ImmediateLocation::TypeBound,
-            ast::AssocItemList(it) => match it.syntax().parent().map(|it| it.kind()) {
-                Some(IMPL) => ImmediateLocation::Impl,
-                Some(TRAIT) => ImmediateLocation::Trait,
-                _ => return None,
-            },
             ast::GenericArgList(_) => sema
                 .find_node_at_offset_with_macros(original_file, offset)
                 .map(ImmediateLocation::GenericArgList)?,
@@ -360,56 +338,11 @@ mod tests {
     }
 
     #[test]
-    fn test_trait_loc() {
-        check_location(r"trait A { f$0 }", ImmediateLocation::Trait);
-        check_location(r"trait A { #[attr] f$0 }", ImmediateLocation::Trait);
-        check_location(r"trait A { f$0 fn f() {} }", ImmediateLocation::Trait);
-        check_location(r"trait A { fn f() {} f$0 }", ImmediateLocation::Trait);
-        check_location(r"trait A$0 {}", None);
-        check_location(r"trait A { fn f$0 }", None);
-    }
-
-    #[test]
-    fn test_impl_loc() {
-        check_location(r"impl A { f$0 }", ImmediateLocation::Impl);
-        check_location(r"impl A { #[attr] f$0 }", ImmediateLocation::Impl);
-        check_location(r"impl A { f$0 fn f() {} }", ImmediateLocation::Impl);
-        check_location(r"impl A { fn f() {} f$0 }", ImmediateLocation::Impl);
-        check_location(r"impl A$0 {}", None);
-        check_location(r"impl A { fn f$0 }", None);
-    }
-
-    #[test]
-    fn test_block_expr_loc() {
-        check_location(r"fn my_fn() { let a = 2; f$0 }", ImmediateLocation::StmtList);
-        check_location(r"fn my_fn() { f$0 f }", ImmediateLocation::StmtList);
-    }
-
-    #[test]
-    fn test_ident_pat_loc() {
-        check_location(r"fn my_fn(m$0) {}", ImmediateLocation::IdentPat);
-        check_location(r"fn my_fn() { let m$0 }", ImmediateLocation::IdentPat);
-        check_location(r"fn my_fn(&m$0) {}", ImmediateLocation::IdentPat);
-        check_location(r"fn my_fn() { let &m$0 }", ImmediateLocation::IdentPat);
-    }
-
-    #[test]
     fn test_ref_expr_loc() {
         check_location(r"fn my_fn() { let x = &m$0 foo; }", ImmediateLocation::RefExpr);
     }
 
     #[test]
-    fn test_item_list_loc() {
-        check_location(r"i$0", ImmediateLocation::ItemList);
-        check_location(r"#[attr] i$0", ImmediateLocation::ItemList);
-        check_location(r"fn f() {} i$0", ImmediateLocation::ItemList);
-        check_location(r"mod foo { f$0 }", ImmediateLocation::ItemList);
-        check_location(r"mod foo { #[attr] f$0 }", ImmediateLocation::ItemList);
-        check_location(r"mod foo { fn f() {} f$0 }", ImmediateLocation::ItemList);
-        check_location(r"mod foo$0 {}", None);
-    }
-
-    #[test]
     fn test_impl_prev_sibling() {
         check_prev_sibling(r"impl A w$0 ", ImmediatePrevSibling::ImplDefType);
         check_prev_sibling(r"impl A w$0 {}", ImmediatePrevSibling::ImplDefType);