mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-27 05:23:24 +00:00
Simplify
This commit is contained in:
parent
c83f14a44a
commit
7bd2e305d6
2 changed files with 7 additions and 18 deletions
|
@ -5,7 +5,7 @@ use std::{mem, sync::Arc};
|
|||
|
||||
use either::Either;
|
||||
use hir_expand::{
|
||||
ast_id_map::{AstIdMap, FileAstId},
|
||||
ast_id_map::AstIdMap,
|
||||
hygiene::Hygiene,
|
||||
name::{name, AsName, Name},
|
||||
AstId, ExpandError, HirFileId, InFile,
|
||||
|
@ -62,22 +62,14 @@ impl<'a> LowerCtx<'a> {
|
|||
&self.hygiene
|
||||
}
|
||||
|
||||
pub(crate) fn file_id(&self) -> HirFileId {
|
||||
self.ast_id_map.as_ref().unwrap().0
|
||||
}
|
||||
|
||||
pub(crate) fn lower_path(&self, ast: ast::Path) -> Option<Path> {
|
||||
Path::from_src(ast, self)
|
||||
}
|
||||
|
||||
pub(crate) fn ast_id<N: AstNode>(
|
||||
&self,
|
||||
db: &dyn DefDatabase,
|
||||
item: &N,
|
||||
) -> Option<FileAstId<N>> {
|
||||
let (file_id, ast_id_map) = self.ast_id_map.as_ref()?;
|
||||
let ast_id_map = ast_id_map.get_or_init(|| db.ast_id_map(*file_id));
|
||||
Some(ast_id_map.ast_id(item))
|
||||
pub(crate) fn ast_id<N: AstNode>(&self, db: &dyn DefDatabase, item: &N) -> Option<AstId<N>> {
|
||||
let &(file_id, ref ast_id_map) = self.ast_id_map.as_ref()?;
|
||||
let ast_id_map = ast_id_map.get_or_init(|| db.ast_id_map(file_id));
|
||||
Some(InFile::new(file_id, ast_id_map.ast_id(item)))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ use std::fmt::Write;
|
|||
|
||||
use hir_expand::{
|
||||
name::{AsName, Name},
|
||||
AstId, InFile,
|
||||
AstId,
|
||||
};
|
||||
use syntax::ast::{self, HasName};
|
||||
|
||||
|
@ -236,10 +236,7 @@ impl TypeRef {
|
|||
TypeRef::DynTrait(type_bounds_from_ast(ctx, inner.type_bound_list()))
|
||||
}
|
||||
ast::Type::MacroType(mt) => match mt.macro_call() {
|
||||
Some(mc) => ctx
|
||||
.ast_id(ctx.db, &mc)
|
||||
.map(|mc| TypeRef::Macro(InFile::new(ctx.file_id(), mc)))
|
||||
.unwrap_or(TypeRef::Error),
|
||||
Some(mc) => ctx.ast_id(ctx.db, &mc).map(TypeRef::Macro).unwrap_or(TypeRef::Error),
|
||||
None => TypeRef::Error,
|
||||
},
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue