mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-01 11:31:15 +00:00
Fix dead code warnings
This commit is contained in:
parent
96051bc0d8
commit
9197b541c2
@ -34,7 +34,7 @@ use std::{
|
|||||||
use proc_macro_api::{
|
use proc_macro_api::{
|
||||||
msg::{
|
msg::{
|
||||||
self, deserialize_span_data_index_map, serialize_span_data_index_map, ExpnGlobals,
|
self, deserialize_span_data_index_map, serialize_span_data_index_map, ExpnGlobals,
|
||||||
SpanDataIndexMap, SpanMode, TokenId, CURRENT_API_VERSION,
|
SpanMode, TokenId, CURRENT_API_VERSION,
|
||||||
},
|
},
|
||||||
ProcMacroKind,
|
ProcMacroKind,
|
||||||
};
|
};
|
||||||
|
@ -13,8 +13,6 @@ use crate::server::{
|
|||||||
Symbol, SymbolInternerRef, SYMBOL_INTERNER,
|
Symbol, SymbolInternerRef, SYMBOL_INTERNER,
|
||||||
};
|
};
|
||||||
mod tt {
|
mod tt {
|
||||||
pub use proc_macro_api::msg::TokenId;
|
|
||||||
|
|
||||||
pub use ::tt::*;
|
pub use ::tt::*;
|
||||||
|
|
||||||
pub type Subtree = ::tt::Subtree<super::Span>;
|
pub type Subtree = ::tt::Subtree<super::Span>;
|
||||||
@ -24,11 +22,7 @@ mod tt {
|
|||||||
pub type Punct = ::tt::Punct<super::Span>;
|
pub type Punct = ::tt::Punct<super::Span>;
|
||||||
pub type Ident = ::tt::Ident<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>;
|
type TokenStream = crate::server::TokenStream<Span>;
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
@ -96,14 +90,14 @@ impl server::TokenStream for RaSpanServer {
|
|||||||
) -> Self::TokenStream {
|
) -> Self::TokenStream {
|
||||||
match tree {
|
match tree {
|
||||||
bridge::TokenTree::Group(group) => {
|
bridge::TokenTree::Group(group) => {
|
||||||
let group = Group {
|
let group = tt::Subtree {
|
||||||
delimiter: delim_to_internal(group.delimiter, group.span),
|
delimiter: delim_to_internal(group.delimiter, group.span),
|
||||||
token_trees: match group.stream {
|
token_trees: match group.stream {
|
||||||
Some(stream) => stream.into_iter().collect(),
|
Some(stream) => stream.into_iter().collect(),
|
||||||
None => Vec::new(),
|
None => Vec::new(),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
let tree = TokenTree::from(group);
|
let tree = tt::TokenTree::from(group);
|
||||||
Self::TokenStream::from_iter(iter::once(tree))
|
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 };
|
if ident.is_raw { ::tt::SmolStr::from_iter(["r#", &text]) } else { text };
|
||||||
let ident: tt::Ident = tt::Ident { text, span: ident.span };
|
let ident: tt::Ident = tt::Ident { text, span: ident.span };
|
||||||
let leaf = tt::Leaf::from(ident);
|
let leaf = tt::Leaf::from(ident);
|
||||||
let tree = TokenTree::from(leaf);
|
let tree = tt::TokenTree::from(leaf);
|
||||||
Self::TokenStream::from_iter(iter::once(tree))
|
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 literal = tt::Literal { text, span: literal.0.span };
|
||||||
let leaf = tt::Leaf::from(literal);
|
let leaf: ::tt::Leaf<
|
||||||
let tree = TokenTree::from(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))
|
Self::TokenStream::from_iter(iter::once(tree))
|
||||||
}
|
}
|
||||||
|
|
||||||
bridge::TokenTree::Punct(p) => {
|
bridge::TokenTree::Punct(p) => {
|
||||||
let punct = tt::Punct {
|
let punct = tt::Punct {
|
||||||
char: p.ch as char,
|
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,
|
span: p.span,
|
||||||
};
|
};
|
||||||
let leaf = tt::Leaf::from(punct);
|
let leaf = tt::Leaf::from(punct);
|
||||||
let tree = TokenTree::from(leaf);
|
let tree = tt::TokenTree::from(leaf);
|
||||||
Self::TokenStream::from_iter(iter::once(tree))
|
Self::TokenStream::from_iter(iter::once(tree))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -208,7 +204,7 @@ impl server::TokenStream for RaSpanServer {
|
|||||||
tt::TokenTree::Leaf(tt::Leaf::Punct(punct)) => {
|
tt::TokenTree::Leaf(tt::Leaf::Punct(punct)) => {
|
||||||
bridge::TokenTree::Punct(bridge::Punct {
|
bridge::TokenTree::Punct(bridge::Punct {
|
||||||
ch: punct.char as u8,
|
ch: punct.char as u8,
|
||||||
joint: punct.spacing == Spacing::Joint,
|
joint: punct.spacing == tt::Spacing::Joint,
|
||||||
span: punct.span,
|
span: punct.span,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -141,42 +141,6 @@ pub(super) mod token_stream {
|
|||||||
::tt::pretty(&self.token_trees)
|
::tt::pretty(&self.token_trees)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn subtree_replace_spans_with_call_site<S: Copy>(
|
|
||||||
subtree: tt::Subtree<S>,
|
|
||||||
call_site: S,
|
|
||||||
) -> tt::Subtree<S> {
|
|
||||||
tt::Subtree {
|
|
||||||
delimiter: tt::Delimiter { open: call_site, close: call_site, ..subtree.delimiter },
|
|
||||||
token_trees: subtree
|
|
||||||
.token_trees
|
|
||||||
.into_iter()
|
|
||||||
.map(|it| token_tree_replace_spans_with_call_site(it, call_site))
|
|
||||||
.collect(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn token_tree_replace_spans_with_call_site<S: Copy>(
|
|
||||||
tt: tt::TokenTree<S>,
|
|
||||||
call_site: S,
|
|
||||||
) -> tt::TokenTree<S> {
|
|
||||||
match tt {
|
|
||||||
tt::TokenTree::Leaf(leaf) => {
|
|
||||||
tt::TokenTree::Leaf(leaf_replace_spans_with_call_site(leaf, call_site))
|
|
||||||
}
|
|
||||||
tt::TokenTree::Subtree(subtree) => {
|
|
||||||
tt::TokenTree::Subtree(subtree_replace_spans_with_call_site(subtree, call_site))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn leaf_replace_spans_with_call_site<S: Copy>(leaf: tt::Leaf<S>, call_site: S) -> tt::Leaf<S> {
|
|
||||||
match leaf {
|
|
||||||
tt::Leaf::Literal(lit) => tt::Leaf::Literal(tt::Literal { span: call_site, ..lit }),
|
|
||||||
tt::Leaf::Punct(punct) => tt::Leaf::Punct(tt::Punct { span: call_site, ..punct }),
|
|
||||||
tt::Leaf::Ident(ident) => tt::Leaf::Ident(tt::Ident { span: call_site, ..ident }),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<S> TokenStreamBuilder<S> {
|
impl<S> TokenStreamBuilder<S> {
|
||||||
|
@ -5,7 +5,7 @@ use base_db::{
|
|||||||
FileId,
|
FileId,
|
||||||
};
|
};
|
||||||
use expect_test::Expect;
|
use expect_test::Expect;
|
||||||
use proc_macro_api::msg::{SpanDataIndexMap, TokenId};
|
use proc_macro_api::msg::TokenId;
|
||||||
use tt::TextRange;
|
use tt::TextRange;
|
||||||
|
|
||||||
use crate::{dylib, proc_macro_test_dylib_path, ProcMacroSrv};
|
use crate::{dylib, proc_macro_test_dylib_path, ProcMacroSrv};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user