Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/proc-macro-srv/src/server/rust_analyzer_span.rs')
| -rw-r--r-- | crates/proc-macro-srv/src/server/rust_analyzer_span.rs | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/crates/proc-macro-srv/src/server/rust_analyzer_span.rs b/crates/proc-macro-srv/src/server/rust_analyzer_span.rs index 37b68bba7d..59d492c6f6 100644 --- a/crates/proc-macro-srv/src/server/rust_analyzer_span.rs +++ b/crates/proc-macro-srv/src/server/rust_analyzer_span.rs @@ -13,8 +13,6 @@ use crate::server::{ Symbol, SymbolInternerRef, SYMBOL_INTERNER, }; mod tt { - pub use proc_macro_api::msg::TokenId; - pub use ::tt::*; pub type Subtree = ::tt::Subtree<super::Span>; @@ -24,11 +22,7 @@ mod tt { pub type Punct = ::tt::Punct<super::Span>; pub type Ident = ::tt::Ident<super::Span>; } -type Group = tt::Subtree; -type TokenTree = tt::TokenTree; -type Punct = tt::Punct; -type Spacing = tt::Spacing; -type Literal = tt::Literal; + type TokenStream = crate::server::TokenStream<Span>; #[derive(Clone)] @@ -96,14 +90,14 @@ impl server::TokenStream for RaSpanServer { ) -> Self::TokenStream { match tree { bridge::TokenTree::Group(group) => { - let group = Group { + let group = tt::Subtree { delimiter: delim_to_internal(group.delimiter, group.span), token_trees: match group.stream { Some(stream) => stream.into_iter().collect(), None => Vec::new(), }, }; - let tree = TokenTree::from(group); + let tree = tt::TokenTree::from(group); Self::TokenStream::from_iter(iter::once(tree)) } @@ -113,7 +107,7 @@ impl server::TokenStream for RaSpanServer { if ident.is_raw { ::tt::SmolStr::from_iter(["r#", &text]) } else { text }; let ident: tt::Ident = tt::Ident { text, span: ident.span }; let leaf = tt::Leaf::from(ident); - let tree = TokenTree::from(leaf); + let tree = tt::TokenTree::from(leaf); Self::TokenStream::from_iter(iter::once(tree)) } @@ -124,19 +118,21 @@ impl server::TokenStream for RaSpanServer { }); let literal = tt::Literal { text, span: literal.0.span }; - let leaf = tt::Leaf::from(literal); - let tree = TokenTree::from(leaf); + let leaf: ::tt::Leaf< + ::tt::SpanData<base_db::span::SpanAnchor, base_db::span::SyntaxContextId>, + > = tt::Leaf::from(literal); + let tree = tt::TokenTree::from(leaf); Self::TokenStream::from_iter(iter::once(tree)) } bridge::TokenTree::Punct(p) => { let punct = tt::Punct { char: p.ch as char, - spacing: if p.joint { Spacing::Joint } else { Spacing::Alone }, + spacing: if p.joint { tt::Spacing::Joint } else { tt::Spacing::Alone }, span: p.span, }; let leaf = tt::Leaf::from(punct); - let tree = TokenTree::from(leaf); + let tree = tt::TokenTree::from(leaf); Self::TokenStream::from_iter(iter::once(tree)) } } @@ -208,7 +204,7 @@ impl server::TokenStream for RaSpanServer { tt::TokenTree::Leaf(tt::Leaf::Punct(punct)) => { bridge::TokenTree::Punct(bridge::Punct { ch: punct.char as u8, - joint: punct.spacing == Spacing::Joint, + joint: punct.spacing == tt::Spacing::Joint, span: punct.span, }) } |