simplify
This commit is contained in:
parent
0b820cacab
commit
f6f2d69bb8
3 changed files with 6 additions and 8 deletions
|
@ -61,9 +61,8 @@ use ra_db::{FileId, Edition};
|
|||
use test_utils::tested_by;
|
||||
|
||||
use crate::{
|
||||
ModuleDef, Name, Crate, Module,
|
||||
ModuleDef, Name, Crate, Module, SourceItemId,
|
||||
DefDatabase, Path, PathKind, HirFileId, Trait,
|
||||
SourceItemId, SourceFileItemId,
|
||||
ids::{MacroCallId, MacroDefId},
|
||||
diagnostics::DiagnosticSink,
|
||||
nameres::diagnostics::DefDiagnostic,
|
||||
|
@ -242,9 +241,8 @@ impl CrateDefMap {
|
|||
pub(crate) fn find_module_by_source(
|
||||
&self,
|
||||
file_id: HirFileId,
|
||||
decl_id: Option<SourceFileItemId>,
|
||||
decl_id: Option<SourceItemId>,
|
||||
) -> Option<CrateModuleId> {
|
||||
let decl_id = decl_id.map(|it| it.with_file_id(file_id));
|
||||
let (module_id, _module_data) = self.modules.iter().find(|(_module_id, module_data)| {
|
||||
if decl_id.is_some() {
|
||||
module_data.declaration == decl_id
|
||||
|
|
|
@ -13,7 +13,7 @@ use ra_syntax::{
|
|||
};
|
||||
|
||||
use crate::{
|
||||
HirDatabase, Function, Struct, Enum, SourceFileItemId,
|
||||
HirDatabase, Function, Struct, Enum, SourceItemId,
|
||||
AsName, Module, HirFileId, Crate, Trait, Resolver,
|
||||
ids::LocationCtx,
|
||||
expr
|
||||
|
@ -55,7 +55,7 @@ fn module_from_inline(
|
|||
assert!(!module.has_semi());
|
||||
let file_id = file_id.into();
|
||||
let file_items = db.file_items(file_id);
|
||||
let item_id = file_items.id_of(file_id, module.syntax());
|
||||
let item_id = file_items.id_of(file_id, module.syntax()).with_file_id(file_id);
|
||||
module_from_source(db, file_id, Some(item_id))
|
||||
}
|
||||
|
||||
|
@ -75,7 +75,7 @@ pub fn module_from_child_node(
|
|||
fn module_from_source(
|
||||
db: &impl HirDatabase,
|
||||
file_id: HirFileId,
|
||||
decl_id: Option<SourceFileItemId>,
|
||||
decl_id: Option<SourceItemId>,
|
||||
) -> Option<Module> {
|
||||
let source_root_id = db.file_source_root(file_id.as_original_file());
|
||||
db.source_root_crates(source_root_id).iter().map(|&crate_id| Crate { crate_id }).find_map(
|
||||
|
|
|
@ -8,7 +8,7 @@ use crate::{HirFileId, DefDatabase};
|
|||
/// Identifier of item within a specific file. This is stable over reparses, so
|
||||
/// it's OK to use it as a salsa key/value.
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||
pub struct SourceFileItemId(RawId);
|
||||
pub(crate) struct SourceFileItemId(RawId);
|
||||
impl_arena_id!(SourceFileItemId);
|
||||
|
||||
impl SourceFileItemId {
|
||||
|
|
Loading…
Add table
Reference in a new issue