pub mod source_change;
pub mod ty_filter;
pub mod traits;
-pub mod call_info;
pub mod helpers;
pub mod path_transform;
pub mod search;
pub mod rename;
+pub mod active_parameter;
use std::{fmt, mem::ManuallyDrop, sync::Arc};
/// `base_db` is normally also needed in places where `ide_db` is used, so this re-export is for convenience.
pub use base_db;
+pub type FxIndexSet<T> = indexmap::IndexSet<T, std::hash::BuildHasherDefault<rustc_hash::FxHasher>>;
+pub type FxIndexMap<K, V> =
+ indexmap::IndexMap<K, V, std::hash::BuildHasherDefault<rustc_hash::FxHasher>>;
+
#[salsa::database(
base_db::SourceDatabaseStorage,
base_db::SourceDatabaseExtStorage,
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub enum SymbolKind {
+ Attribute,
+ BuiltinAttr,
Const,
ConstParam,
+ Derive,
Enum,
Field,
Function,
SelfParam,
Static,
Struct,
+ ToolModule,
Trait,
TypeAlias,
TypeParam,
Variant,
}
+impl From<hir::MacroKind> for SymbolKind {
+ fn from(it: hir::MacroKind) -> Self {
+ match it {
+ hir::MacroKind::Declarative | hir::MacroKind::BuiltIn | hir::MacroKind::ProcMacro => {
+ SymbolKind::Macro
+ }
+ hir::MacroKind::Derive => SymbolKind::Derive,
+ hir::MacroKind::Attr => SymbolKind::Attribute,
+ }
+ }
+}
+
#[cfg(test)]
mod tests {
mod sourcegen_lints;