Invert is_top_level
to avoid negation.
This commit is contained in:
parent
a822d08bd1
commit
4e5ddf1adf
1 changed files with 5 additions and 5 deletions
|
@ -40,26 +40,26 @@ impl<'a> TokenTreesReader<'a> {
|
||||||
last_delim_empty_block_spans: FxHashMap::default(),
|
last_delim_empty_block_spans: FxHashMap::default(),
|
||||||
matching_block_spans: Vec::new(),
|
matching_block_spans: Vec::new(),
|
||||||
};
|
};
|
||||||
let res = tt_reader.parse_token_trees(/* is_top_level */ true);
|
let res = tt_reader.parse_token_trees(/* is_delimited */ false);
|
||||||
(res, tt_reader.unmatched_braces)
|
(res, tt_reader.unmatched_braces)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Parse a stream of tokens into a list of `TokenTree`s.
|
// Parse a stream of tokens into a list of `TokenTree`s.
|
||||||
fn parse_token_trees(&mut self, is_top_level: bool) -> PResult<'a, TokenStream> {
|
fn parse_token_trees(&mut self, is_delimited: bool) -> PResult<'a, TokenStream> {
|
||||||
self.token = self.string_reader.next_token().0;
|
self.token = self.string_reader.next_token().0;
|
||||||
let mut buf = Vec::new();
|
let mut buf = Vec::new();
|
||||||
loop {
|
loop {
|
||||||
match self.token.kind {
|
match self.token.kind {
|
||||||
token::OpenDelim(delim) => buf.push(self.parse_token_tree_open_delim(delim)),
|
token::OpenDelim(delim) => buf.push(self.parse_token_tree_open_delim(delim)),
|
||||||
token::CloseDelim(delim) => {
|
token::CloseDelim(delim) => {
|
||||||
return if !is_top_level {
|
return if is_delimited {
|
||||||
Ok(TokenStream::new(buf))
|
Ok(TokenStream::new(buf))
|
||||||
} else {
|
} else {
|
||||||
Err(self.close_delim_err(delim))
|
Err(self.close_delim_err(delim))
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
token::Eof => {
|
token::Eof => {
|
||||||
if !is_top_level {
|
if is_delimited {
|
||||||
self.eof_err().emit();
|
self.eof_err().emit();
|
||||||
}
|
}
|
||||||
return Ok(TokenStream::new(buf));
|
return Ok(TokenStream::new(buf));
|
||||||
|
@ -133,7 +133,7 @@ impl<'a> TokenTreesReader<'a> {
|
||||||
// Parse the token trees within the delimiters.
|
// Parse the token trees within the delimiters.
|
||||||
// We stop at any delimiter so we can try to recover if the user
|
// We stop at any delimiter so we can try to recover if the user
|
||||||
// uses an incorrect delimiter.
|
// uses an incorrect delimiter.
|
||||||
let tts = self.parse_token_trees(/* is_top_level */ false).unwrap();
|
let tts = self.parse_token_trees(/* is_delimited */ true).unwrap();
|
||||||
|
|
||||||
// Expand to cover the entire delimited token tree
|
// Expand to cover the entire delimited token tree
|
||||||
let delim_span = DelimSpan::from_pair(pre_span, self.token.span);
|
let delim_span = DelimSpan::from_pair(pre_span, self.token.span);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue