Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-expand/src/db.rs')
-rw-r--r--crates/hir-expand/src/db.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/crates/hir-expand/src/db.rs b/crates/hir-expand/src/db.rs
index ad25a1168c..e1fb3953f4 100644
--- a/crates/hir-expand/src/db.rs
+++ b/crates/hir-expand/src/db.rs
@@ -133,6 +133,15 @@ pub trait ExpandDatabase: SourceDatabase {
&self,
macro_call: MacroCallId,
) -> Option<Arc<ExpandResult<Arc<[SyntaxError]>>>>;
+ #[salsa::transparent]
+ fn syntax_context(&self, file: HirFileId) -> SyntaxContextId;
+}
+
+fn syntax_context(db: &dyn ExpandDatabase, file: HirFileId) -> SyntaxContextId {
+ match file.repr() {
+ HirFileIdRepr::FileId(_) => SyntaxContextId::ROOT,
+ HirFileIdRepr::MacroFile(m) => db.macro_arg(m.macro_call_id).2.ctx,
+ }
}
/// This expands the given macro call, but with different arguments. This is