Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/body.rs')
-rw-r--r--crates/hir-def/src/body.rs27
1 files changed, 5 insertions, 22 deletions
diff --git a/crates/hir-def/src/body.rs b/crates/hir-def/src/body.rs
index 7e9acd3f86..080a307b1f 100644
--- a/crates/hir-def/src/body.rs
+++ b/crates/hir-def/src/body.rs
@@ -5,21 +5,18 @@ mod lower;
mod tests;
pub mod scope;
-use std::{mem, ops::Index, sync::Arc};
+use std::{ops::Index, sync::Arc};
use base_db::CrateId;
use cfg::{CfgExpr, CfgOptions};
use drop_bomb::DropBomb;
use either::Either;
-use hir_expand::{
- ast_id_map::AstIdMap, hygiene::Hygiene, AstId, ExpandError, ExpandResult, HirFileId, InFile,
- MacroCallId,
-};
+use hir_expand::{hygiene::Hygiene, ExpandError, ExpandResult, HirFileId, InFile, MacroCallId};
use la_arena::{Arena, ArenaMap};
use limit::Limit;
use profile::Count;
use rustc_hash::FxHashMap;
-use syntax::{ast, AstNode, AstPtr, SyntaxNodePtr};
+use syntax::{ast, AstPtr, SyntaxNodePtr};
use crate::{
attr::{Attrs, RawAttrs},
@@ -50,7 +47,6 @@ pub struct Expander {
cfg_expander: CfgExpander,
def_map: Arc<DefMap>,
current_file_id: HirFileId,
- ast_id_map: Option<Arc<AstIdMap>>,
module: LocalModuleId,
recursion_limit: usize,
}
@@ -84,7 +80,6 @@ impl Expander {
cfg_expander,
def_map,
current_file_id,
- ast_id_map: None,
module: module.local_id,
recursion_limit: 0,
}
@@ -167,14 +162,10 @@ impl Expander {
tracing::debug!("macro expansion {:#?}", node.syntax());
self.recursion_limit += 1;
- let mark = Mark {
- file_id: self.current_file_id,
- ast_id_map: mem::take(&mut self.ast_id_map),
- bomb: DropBomb::new("expansion mark dropped"),
- };
+ let mark =
+ Mark { file_id: self.current_file_id, bomb: DropBomb::new("expansion mark dropped") };
self.cfg_expander.hygiene = Hygiene::new(db.upcast(), file_id);
self.current_file_id = file_id;
- self.ast_id_map = None;
ExpandResult { value: Some((mark, node)), err }
}
@@ -182,7 +173,6 @@ impl Expander {
pub fn exit(&mut self, db: &dyn DefDatabase, mut mark: Mark) {
self.cfg_expander.hygiene = Hygiene::new(db.upcast(), mark.file_id);
self.current_file_id = mark.file_id;
- self.ast_id_map = mem::take(&mut mark.ast_id_map);
self.recursion_limit -= 1;
mark.bomb.defuse();
}
@@ -212,12 +202,6 @@ impl Expander {
self.def_map.resolve_path(db, self.module, path, BuiltinShadowMode::Other).0.take_macros()
}
- fn ast_id<N: AstNode>(&mut self, db: &dyn DefDatabase, item: &N) -> AstId<N> {
- let file_local_id =
- self.ast_id_map.get_or_insert_with(|| db.ast_id_map(self.current_file_id)).ast_id(item);
- AstId::new(self.current_file_id, file_local_id)
- }
-
fn recursion_limit(&self, db: &dyn DefDatabase) -> Limit {
let limit = db.crate_limits(self.cfg_expander.krate).recursion_limit as _;
@@ -233,7 +217,6 @@ impl Expander {
#[derive(Debug)]
pub struct Mark {
file_id: HirFileId,
- ast_id_map: Option<Arc<AstIdMap>>,
bomb: DropBomb,
}