Move TokenStream::to_string helpers inside the method

This commit is contained in:
Kevin Mehall 2021-03-06 12:30:43 -07:00
parent 93c9b34635
commit aea9749390

View File

@ -199,14 +199,16 @@ pub mod token_stream {
impl ToString for TokenStream {
fn to_string(&self) -> String {
tokentrees_to_text(&self.token_trees[..])
}
}
return tokentrees_to_text(&self.token_trees[..]);
fn tokentrees_to_text(tkns: &[tt::TokenTree]) -> String {
tkns.iter()
.fold((String::new(), true), |(last, last_to_joint), tkn| {
let s = [last, tokentree_to_text(tkn)].join(if last_to_joint { "" } else { " " });
let s = [last, tokentree_to_text(tkn)].join(if last_to_joint {
""
} else {
" "
});
let mut is_joint = false;
if let tt::TokenTree::Leaf(tt::Leaf::Punct(punct)) = tkn {
if punct.spacing == tt::Spacing::Joint {
@ -235,6 +237,8 @@ pub mod token_stream {
}
}
}
}
}
fn subtree_replace_token_ids_with_unspecified(subtree: tt::Subtree) -> tt::Subtree {
tt::Subtree {