Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/expr_store/lower.rs')
-rw-r--r--crates/hir-def/src/expr_store/lower.rs19
1 files changed, 10 insertions, 9 deletions
diff --git a/crates/hir-def/src/expr_store/lower.rs b/crates/hir-def/src/expr_store/lower.rs
index 6e505a6b11..c3ca610fae 100644
--- a/crates/hir-def/src/expr_store/lower.rs
+++ b/crates/hir-def/src/expr_store/lower.rs
@@ -1931,11 +1931,11 @@ impl ExprCollector<'_> {
None => (HygieneId::ROOT, None),
Some(span_map) => {
let span = span_map.span_at(lifetime.syntax().text_range().start());
- let ctx = self.db.lookup_intern_syntax_context(span.ctx);
- let hygiene_id = HygieneId::new(ctx.opaque_and_semitransparent);
- let hygiene_info = ctx.outer_expn.map(|expansion| {
+ let ctx = span.ctx;
+ let hygiene_id = HygieneId::new(ctx.opaque_and_semitransparent(self.db));
+ let hygiene_info = ctx.outer_expn(self.db).map(|expansion| {
let expansion = self.db.lookup_intern_macro_call(expansion);
- (ctx.parent, expansion.def)
+ (ctx.parent(self.db), expansion.def)
});
(hygiene_id, hygiene_info)
}
@@ -1962,11 +1962,12 @@ impl ExprCollector<'_> {
// A macro is allowed to refer to labels from before its declaration.
// Therefore, if we got to the rib of its declaration, give up its hygiene
// and use its parent expansion.
- let parent_ctx = self.db.lookup_intern_syntax_context(parent_ctx);
- hygiene_id = HygieneId::new(parent_ctx.opaque_and_semitransparent);
- hygiene_info = parent_ctx.outer_expn.map(|expansion| {
+
+ hygiene_id =
+ HygieneId::new(parent_ctx.opaque_and_semitransparent(self.db));
+ hygiene_info = parent_ctx.outer_expn(self.db).map(|expansion| {
let expansion = self.db.lookup_intern_macro_call(expansion);
- (parent_ctx.parent, expansion.def)
+ (parent_ctx.parent(self.db), expansion.def)
});
}
}
@@ -2593,7 +2594,7 @@ impl ExprCollector<'_> {
None => HygieneId::ROOT,
Some(span_map) => {
let ctx = span_map.span_at(span_start).ctx;
- HygieneId::new(self.db.lookup_intern_syntax_context(ctx).opaque_and_semitransparent)
+ HygieneId::new(ctx.opaque_and_semitransparent(self.db))
}
}
}