@@ -17,22 +17,21 @@ pub(super) struct TokenTreesReader<'psess, 'src> {
1717}
1818
1919impl < ' psess , ' src > TokenTreesReader < ' psess , ' src > {
20- pub ( super ) fn parse_all_token_trees (
20+ pub ( super ) fn lex_all_token_trees (
2121 string_reader : StringReader < ' psess , ' src > ,
2222 ) -> ( TokenStream , Result < ( ) , Vec < PErr < ' psess > > > , Vec < UnmatchedDelim > ) {
2323 let mut tt_reader = TokenTreesReader {
2424 string_reader,
2525 token : Token :: dummy ( ) ,
2626 diag_info : TokenTreeDiagInfo :: default ( ) ,
2727 } ;
28- let ( _open_spacing, stream, res) =
29- tt_reader. parse_token_trees ( /* is_delimited */ false ) ;
28+ let ( _open_spacing, stream, res) = tt_reader. lex_token_trees ( /* is_delimited */ false ) ;
3029 ( stream, res, tt_reader. diag_info . unmatched_delims )
3130 }
3231
33- // Parse a stream of tokens into a list of `TokenTree`s . The `Spacing` in
34- // the result is that of the opening delimiter.
35- fn parse_token_trees (
32+ // Lex into a token stream . The `Spacing` in the result is that of the
33+ // opening delimiter.
34+ fn lex_token_trees (
3635 & mut self ,
3736 is_delimited : bool ,
3837 ) -> ( Spacing , TokenStream , Result < ( ) , Vec < PErr < ' psess > > > ) {
@@ -42,12 +41,10 @@ impl<'psess, 'src> TokenTreesReader<'psess, 'src> {
4241 let mut buf = Vec :: new ( ) ;
4342 loop {
4443 match self . token . kind {
45- token:: OpenDelim ( delim) => {
46- buf. push ( match self . parse_token_tree_open_delim ( delim) {
47- Ok ( val) => val,
48- Err ( errs) => return ( open_spacing, TokenStream :: new ( buf) , Err ( errs) ) ,
49- } )
50- }
44+ token:: OpenDelim ( delim) => buf. push ( match self . lex_token_tree_open_delim ( delim) {
45+ Ok ( val) => val,
46+ Err ( errs) => return ( open_spacing, TokenStream :: new ( buf) , Err ( errs) ) ,
47+ } ) ,
5148 token:: CloseDelim ( delim) => {
5249 return (
5350 open_spacing,
@@ -95,24 +92,24 @@ impl<'psess, 'src> TokenTreesReader<'psess, 'src> {
9592 err
9693 }
9794
98- fn parse_token_tree_open_delim (
95+ fn lex_token_tree_open_delim (
9996 & mut self ,
10097 open_delim : Delimiter ,
10198 ) -> Result < TokenTree , Vec < PErr < ' psess > > > {
102- // The span for beginning of the delimited section
99+ // The span for beginning of the delimited section.
103100 let pre_span = self . token . span ;
104101
105102 self . diag_info . open_braces . push ( ( open_delim, self . token . span ) ) ;
106103
107- // Parse the token trees within the delimiters.
104+ // Lex the token trees within the delimiters.
108105 // We stop at any delimiter so we can try to recover if the user
109106 // uses an incorrect delimiter.
110- let ( open_spacing, tts, res) = self . parse_token_trees ( /* is_delimited */ true ) ;
107+ let ( open_spacing, tts, res) = self . lex_token_trees ( /* is_delimited */ true ) ;
111108 if let Err ( errs) = res {
112109 return Err ( self . unclosed_delim_err ( tts, errs) ) ;
113110 }
114111
115- // Expand to cover the entire delimited token tree
112+ // Expand to cover the entire delimited token tree.
116113 let delim_span = DelimSpan :: from_pair ( pre_span, self . token . span ) ;
117114 let sm = self . string_reader . psess . source_map ( ) ;
118115
@@ -150,7 +147,7 @@ impl<'psess, 'src> TokenTreesReader<'psess, 'src> {
150147 self . diag_info . last_unclosed_found_span = Some ( self . token . span ) ;
151148 // This is a conservative error: only report the last unclosed
152149 // delimiter. The previous unclosed delimiters could actually be
153- // closed! The parser just hasn't gotten to them yet.
150+ // closed! The lexer just hasn't gotten to them yet.
154151 if let Some ( & ( _, sp) ) = self . diag_info . open_braces . last ( ) {
155152 unclosed_delimiter = Some ( sp) ;
156153 } ;
@@ -236,9 +233,9 @@ impl<'psess, 'src> TokenTreesReader<'psess, 'src> {
236233 // out instead of complaining about the unclosed delims.
237234 let mut parser = crate :: stream_to_parser ( self . string_reader . psess , tts, None ) ;
238235 let mut diff_errs = vec ! [ ] ;
239- // Suggest removing a `{` we think appears in an `if`/`while` condition
240- // We want to suggest removing a `{` only if we think we're in an `if`/`while` condition, but
241- // we have no way of tracking this in the lexer itself, so we piggyback on the parser
236+ // Suggest removing a `{` we think appears in an `if`/`while` condition.
237+ // We want to suggest removing a `{` only if we think we're in an `if`/`while` condition,
238+ // but we have no way of tracking this in the lexer itself, so we piggyback on the parser.
242239 let mut in_cond = false ;
243240 while parser. token != token:: Eof {
244241 if let Err ( diff_err) = parser. err_vcs_conflict_marker ( ) {
@@ -249,14 +246,15 @@ impl<'psess, 'src> TokenTreesReader<'psess, 'src> {
249246 parser. token. kind,
250247 token:: CloseDelim ( Delimiter :: Brace ) | token:: FatArrow
251248 ) {
252- // end of the `if`/`while` body, or the end of a `match` guard
249+ // End of the `if`/`while` body, or the end of a `match` guard.
253250 in_cond = false ;
254251 } else if in_cond && parser. token == token:: OpenDelim ( Delimiter :: Brace ) {
255252 // Store the `&&` and `let` to use their spans later when creating the diagnostic
256253 let maybe_andand = parser. look_ahead ( 1 , |t| t. clone ( ) ) ;
257254 let maybe_let = parser. look_ahead ( 2 , |t| t. clone ( ) ) ;
258255 if maybe_andand == token:: OpenDelim ( Delimiter :: Brace ) {
259- // This might be the beginning of the `if`/`while` body (i.e., the end of the condition)
256+ // This might be the beginning of the `if`/`while` body (i.e., the end of the
257+ // condition).
260258 in_cond = false ;
261259 } else if maybe_andand == token:: AndAnd && maybe_let. is_keyword ( kw:: Let ) {
262260 let mut err = parser. dcx ( ) . struct_span_err (
@@ -288,8 +286,7 @@ impl<'psess, 'src> TokenTreesReader<'psess, 'src> {
288286 }
289287
290288 fn close_delim_err ( & mut self , delim : Delimiter ) -> PErr < ' psess > {
291- // An unexpected closing delimiter (i.e., there is no
292- // matching opening delimiter).
289+ // An unexpected closing delimiter (i.e., there is no matching opening delimiter).
293290 let token_str = token_to_string ( & self . token ) ;
294291 let msg = format ! ( "unexpected closing delimiter: `{token_str}`" ) ;
295292 let mut err = self . string_reader . psess . dcx . struct_span_err ( self . token . span , msg) ;
0 commit comments