Skip to content

Commit c83c672

Browse files
committed
move eof_err below parsing logic
Signed-off-by: xizheyin <[email protected]>
1 parent 3983e0d commit c83c672

File tree

1 file changed

+38
-38
lines changed

1 file changed

+38
-38
lines changed

compiler/rustc_parse/src/lexer/tokentrees.rs

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -53,44 +53,6 @@ impl<'psess, 'src> Lexer<'psess, 'src> {
5353
}
5454
}
5555

56-
fn eof_err(&mut self) -> Diag<'psess> {
57-
let msg = "this file contains an unclosed delimiter";
58-
let mut err = self.dcx().struct_span_err(self.token.span, msg);
59-
60-
let len = usize::min(UNCLOSED_DELIMITER_SHOW_LIMIT, self.diag_info.open_delimiters.len());
61-
for &(_, span) in &self.diag_info.open_delimiters[..len] {
62-
err.span_label(span, "unclosed delimiter");
63-
self.diag_info.unmatched_delims.push(UnmatchedDelim {
64-
found_delim: None,
65-
found_span: self.token.span,
66-
unclosed_span: Some(span),
67-
candidate_span: None,
68-
});
69-
}
70-
71-
if let Some((_, span)) = self.diag_info.open_delimiters.get(UNCLOSED_DELIMITER_SHOW_LIMIT)
72-
&& self.diag_info.open_delimiters.len() >= UNCLOSED_DELIMITER_SHOW_LIMIT + 2
73-
{
74-
err.span_label(
75-
*span,
76-
format!(
77-
"another {} unclosed delimiters begin from here",
78-
self.diag_info.open_delimiters.len() - UNCLOSED_DELIMITER_SHOW_LIMIT
79-
),
80-
);
81-
}
82-
83-
if let Some((delim, _)) = self.diag_info.open_delimiters.last() {
84-
report_suspicious_mismatch_block(
85-
&mut err,
86-
&self.diag_info,
87-
self.psess.source_map(),
88-
*delim,
89-
)
90-
}
91-
err
92-
}
93-
9456
fn lex_token_tree_open_delim(
9557
&mut self,
9658
open_delim: Delimiter,
@@ -241,6 +203,44 @@ impl<'psess, 'src> Lexer<'psess, 'src> {
241203
this_spacing
242204
}
243205

206+
fn eof_err(&mut self) -> Diag<'psess> {
207+
let msg = "this file contains an unclosed delimiter";
208+
let mut err = self.dcx().struct_span_err(self.token.span, msg);
209+
210+
let len = usize::min(UNCLOSED_DELIMITER_SHOW_LIMIT, self.diag_info.open_delimiters.len());
211+
for &(_, span) in &self.diag_info.open_delimiters[..len] {
212+
err.span_label(span, "unclosed delimiter");
213+
self.diag_info.unmatched_delims.push(UnmatchedDelim {
214+
found_delim: None,
215+
found_span: self.token.span,
216+
unclosed_span: Some(span),
217+
candidate_span: None,
218+
});
219+
}
220+
221+
if let Some((_, span)) = self.diag_info.open_delimiters.get(UNCLOSED_DELIMITER_SHOW_LIMIT)
222+
&& self.diag_info.open_delimiters.len() >= UNCLOSED_DELIMITER_SHOW_LIMIT + 2
223+
{
224+
err.span_label(
225+
*span,
226+
format!(
227+
"another {} unclosed delimiters begin from here",
228+
self.diag_info.open_delimiters.len() - UNCLOSED_DELIMITER_SHOW_LIMIT
229+
),
230+
);
231+
}
232+
233+
if let Some((delim, _)) = self.diag_info.open_delimiters.last() {
234+
report_suspicious_mismatch_block(
235+
&mut err,
236+
&self.diag_info,
237+
self.psess.source_map(),
238+
*delim,
239+
)
240+
}
241+
err
242+
}
243+
244244
fn close_delim_err(&mut self, delim: Delimiter) -> Diag<'psess> {
245245
// An unexpected closing delimiter (i.e., there is no matching opening delimiter).
246246
let token_str = token_to_string(&self.token);

0 commit comments

Comments
 (0)