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.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/crates/proc-macro-api/src/lib.rs b/crates/proc-macro-api/src/lib.rs
index be68f6eff6..a87becd63e 100644
--- a/crates/proc-macro-api/src/lib.rs
+++ b/crates/proc-macro-api/src/lib.rs
@@ -21,8 +21,8 @@ use serde::{Deserialize, Serialize};
use crate::{
msg::{
- flat::serialize_span_data_index_map, ExpandMacro, ExpnGlobals, FlatTree, PanicMessage,
- HAS_GLOBAL_SPANS, RUST_ANALYZER_SPAN_SUPPORT,
+ deserialize_span_data_index_map, flat::serialize_span_data_index_map, ExpandMacro,
+ ExpnGlobals, FlatTree, PanicMessage, HAS_GLOBAL_SPANS, RUST_ANALYZER_SPAN_SUPPORT,
},
process::ProcMacroProcessSrv,
};
@@ -186,6 +186,13 @@ impl ProcMacro {
msg::Response::ExpandMacro(it) => {
Ok(it.map(|tree| FlatTree::to_subtree_resolved(tree, version, &span_data_table)))
}
+ msg::Response::ExpandMacroExtended(it) => Ok(it.map(|resp| {
+ FlatTree::to_subtree_resolved(
+ resp.tree,
+ version,
+ &deserialize_span_data_index_map(&resp.span_data_table),
+ )
+ })),
_ => Err(ServerError { message: "unexpected response".to_string(), io: None }),
}
}