aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/ids.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir/src/ids.rs')
-rw-r--r--crates/ra_hir/src/ids.rs21
1 files changed, 2 insertions, 19 deletions
diff --git a/crates/ra_hir/src/ids.rs b/crates/ra_hir/src/ids.rs
index c5408e277..b93b7f397 100644
--- a/crates/ra_hir/src/ids.rs
+++ b/crates/ra_hir/src/ids.rs
@@ -1,9 +1,9 @@
1use ra_db::{SourceRootId, LocationIntener, FileId}; 1use ra_db::{SourceRootId, LocationIntener, FileId};
2use ra_syntax::{TreeArc, SyntaxKind, SyntaxNode, SourceFile, AstNode, ast}; 2use ra_syntax::{TreeArc, SyntaxNode, SourceFile, AstNode, ast};
3use ra_arena::{Arena, RawId, impl_arena_id}; 3use ra_arena::{Arena, RawId, impl_arena_id};
4 4
5use crate::{ 5use crate::{
6 HirDatabase, PerNs, Def, Function, Struct, Enum, EnumVariant, ImplBlock, Crate, 6 HirDatabase, Def, Function, Struct, Enum, EnumVariant, ImplBlock, Crate,
7 Module, Trait, Type, Static, Const, 7 Module, Trait, Type, Static, Const,
8 module_tree::ModuleId, 8 module_tree::ModuleId,
9}; 9};
@@ -238,23 +238,6 @@ impl DefLoc {
238 } 238 }
239} 239}
240 240
241impl DefKind {
242 pub(crate) fn for_syntax_kind(kind: SyntaxKind) -> PerNs<DefKind> {
243 match kind {
244 SyntaxKind::FN_DEF => PerNs::values(DefKind::Function),
245 SyntaxKind::MODULE => PerNs::types(DefKind::Module),
246 SyntaxKind::STRUCT_DEF => PerNs::both(DefKind::Struct, DefKind::StructCtor),
247 SyntaxKind::ENUM_DEF => PerNs::types(DefKind::Enum),
248 // These define items, but don't have their own DefKinds yet:
249 SyntaxKind::TRAIT_DEF => PerNs::types(DefKind::Trait),
250 SyntaxKind::TYPE_DEF => PerNs::types(DefKind::Type),
251 SyntaxKind::CONST_DEF => PerNs::values(DefKind::Const),
252 SyntaxKind::STATIC_DEF => PerNs::values(DefKind::Static),
253 _ => PerNs::none(),
254 }
255 }
256}
257
258/// Identifier of item within a specific file. This is stable over reparses, so 241/// Identifier of item within a specific file. This is stable over reparses, so
259/// it's OK to use it as a salsa key/value. 242/// it's OK to use it as a salsa key/value.
260#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] 243#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]