Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/proc-macro-api/src/lib.rs')
-rw-r--r--crates/proc-macro-api/src/lib.rs21
1 files changed, 3 insertions, 18 deletions
diff --git a/crates/proc-macro-api/src/lib.rs b/crates/proc-macro-api/src/lib.rs
index ffae28f92c..fe17e14024 100644
--- a/crates/proc-macro-api/src/lib.rs
+++ b/crates/proc-macro-api/src/lib.rs
@@ -112,7 +112,7 @@ impl MacroDylib {
/// we share a single expander process for all macros within a workspace.
#[derive(Debug, Clone)]
pub struct ProcMacro {
- process: Arc<ProcMacroServerProcess>,
+ process: ProcMacroServerPool,
dylib_path: Arc<AbsPathBuf>,
name: Box<str>,
kind: ProcMacroKind,
@@ -126,7 +126,6 @@ impl PartialEq for ProcMacro {
&& self.kind == other.kind
&& self.dylib_path == other.dylib_path
&& self.dylib_last_modified == other.dylib_last_modified
- && Arc::ptr_eq(&self.process, &other.process)
}
}
@@ -210,8 +209,8 @@ impl ProcMacro {
self.kind
}
- fn needs_fixup_change(&self) -> bool {
- let version = self.process.version();
+ fn needs_fixup_change(&self, process: &ProcMacroServerProcess) -> bool {
+ let version = process.version();
(version::RUST_ANALYZER_SPAN_SUPPORT..version::HASHED_AST_ID).contains(&version)
}
@@ -241,20 +240,6 @@ impl ProcMacro {
current_dir: String,
callback: Option<SubCallback<'_>>,
) -> Result<Result<tt::TopSubtree, String>, ServerError> {
- let (mut subtree, mut attr) = (subtree, attr);
- let (mut subtree_changed, mut attr_changed);
- if self.needs_fixup_change() {
- subtree_changed = tt::TopSubtree::from_subtree(subtree);
- self.change_fixup_to_match_old_server(&mut subtree_changed);
- subtree = subtree_changed.view();
-
- if let Some(attr) = &mut attr {
- attr_changed = tt::TopSubtree::from_subtree(*attr);
- self.change_fixup_to_match_old_server(&mut attr_changed);
- *attr = attr_changed.view();
- }
- }
-
self.process.expand(
self,
subtree,