Remove TokenCursorFrame::open_delim
.
Because it's now always true.
This commit is contained in:
parent
86723d3d46
commit
3cd5e34617
@ -241,20 +241,13 @@ struct TokenCursor {
|
|||||||
struct TokenCursorFrame {
|
struct TokenCursorFrame {
|
||||||
delim: token::DelimToken,
|
delim: token::DelimToken,
|
||||||
span: DelimSpan,
|
span: DelimSpan,
|
||||||
open_delim: bool,
|
|
||||||
tree_cursor: tokenstream::Cursor,
|
tree_cursor: tokenstream::Cursor,
|
||||||
close_delim: bool,
|
close_delim: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TokenCursorFrame {
|
impl TokenCursorFrame {
|
||||||
fn new(
|
fn new(span: DelimSpan, delim: DelimToken, tts: TokenStream, close_delim: bool) -> Self {
|
||||||
span: DelimSpan,
|
TokenCursorFrame { delim, span, tree_cursor: tts.into_trees(), close_delim }
|
||||||
delim: DelimToken,
|
|
||||||
open_delim: bool,
|
|
||||||
tts: TokenStream,
|
|
||||||
close_delim: bool,
|
|
||||||
) -> Self {
|
|
||||||
TokenCursorFrame { delim, span, open_delim, tree_cursor: tts.into_trees(), close_delim }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -267,13 +260,7 @@ impl TokenCursor {
|
|||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
fn inlined_next(&mut self, desugar_doc_comments: bool) -> (Token, Spacing) {
|
fn inlined_next(&mut self, desugar_doc_comments: bool) -> (Token, Spacing) {
|
||||||
loop {
|
loop {
|
||||||
if !self.frame.open_delim {
|
if let Some((tree, spacing)) = self.frame.tree_cursor.next_with_spacing() {
|
||||||
self.frame.open_delim = true;
|
|
||||||
return (
|
|
||||||
Token::new(token::OpenDelim(self.frame.delim), self.frame.span.open),
|
|
||||||
Spacing::Alone,
|
|
||||||
);
|
|
||||||
} else if let Some((tree, spacing)) = self.frame.tree_cursor.next_with_spacing() {
|
|
||||||
return match tree {
|
return match tree {
|
||||||
TokenTree::Token(token) => match (desugar_doc_comments, &token) {
|
TokenTree::Token(token) => match (desugar_doc_comments, &token) {
|
||||||
(true, &Token { kind: token::DocComment(_, attr_style, data), span }) => {
|
(true, &Token { kind: token::DocComment(_, attr_style, data), span }) => {
|
||||||
@ -283,7 +270,7 @@ impl TokenCursor {
|
|||||||
},
|
},
|
||||||
TokenTree::Delimited(sp, delim, tts) => {
|
TokenTree::Delimited(sp, delim, tts) => {
|
||||||
// Set `open_delim` to true here because we deal with it immediately.
|
// Set `open_delim` to true here because we deal with it immediately.
|
||||||
let frame = TokenCursorFrame::new(sp, delim, true, tts, false);
|
let frame = TokenCursorFrame::new(sp, delim, tts, false);
|
||||||
self.stack.push(mem::replace(&mut self.frame, frame));
|
self.stack.push(mem::replace(&mut self.frame, frame));
|
||||||
(Token::new(token::OpenDelim(delim), sp.open), Spacing::Alone)
|
(Token::new(token::OpenDelim(delim), sp.open), Spacing::Alone)
|
||||||
}
|
}
|
||||||
@ -335,7 +322,6 @@ impl TokenCursor {
|
|||||||
TokenCursorFrame::new(
|
TokenCursorFrame::new(
|
||||||
delim_span,
|
delim_span,
|
||||||
token::NoDelim,
|
token::NoDelim,
|
||||||
true,
|
|
||||||
if attr_style == AttrStyle::Inner {
|
if attr_style == AttrStyle::Inner {
|
||||||
[TokenTree::token(token::Pound, span), TokenTree::token(token::Not, span), body]
|
[TokenTree::token(token::Pound, span), TokenTree::token(token::Not, span), body]
|
||||||
.iter()
|
.iter()
|
||||||
@ -436,8 +422,7 @@ impl<'a> Parser<'a> {
|
|||||||
desugar_doc_comments: bool,
|
desugar_doc_comments: bool,
|
||||||
subparser_name: Option<&'static str>,
|
subparser_name: Option<&'static str>,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
let start_frame =
|
let start_frame = TokenCursorFrame::new(DelimSpan::dummy(), token::NoDelim, tokens, true);
|
||||||
TokenCursorFrame::new(DelimSpan::dummy(), token::NoDelim, true, tokens, true);
|
|
||||||
|
|
||||||
let mut parser = Parser {
|
let mut parser = Parser {
|
||||||
sess,
|
sess,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user