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