Skip to content

Commit a0376e9

Browse files
committed
extract common code
1 parent 0d9c871 commit a0376e9

File tree

1 file changed

+10
-11
lines changed
  • compiler/rustc_parse/src/lexer

1 file changed

+10
-11
lines changed

compiler/rustc_parse/src/lexer/mod.rs

+10-11
Original file line numberDiff line numberDiff line change
@@ -166,10 +166,7 @@ impl<'a> StringReader<'a> {
166166
continue;
167167
}
168168
rustc_lexer::TokenKind::Ident => {
169-
let sym = nfc_normalize(self.str_from(start));
170-
let span = self.mk_sp(start, self.pos);
171-
self.sess.symbol_gallery.insert(sym, span);
172-
token::Ident(sym, false)
169+
self.ident(start)
173170
}
174171
rustc_lexer::TokenKind::RawIdent => {
175172
let sym = nfc_normalize(self.str_from(start + BytePos(2)));
@@ -183,10 +180,7 @@ impl<'a> StringReader<'a> {
183180
}
184181
rustc_lexer::TokenKind::UnknownPrefix => {
185182
self.report_unknown_prefix(start);
186-
let sym = nfc_normalize(self.str_from(start));
187-
let span = self.mk_sp(start, self.pos);
188-
self.sess.symbol_gallery.insert(sym, span);
189-
token::Ident(sym, false)
183+
self.ident(start)
190184
}
191185
rustc_lexer::TokenKind::InvalidIdent
192186
// Do not recover an identifier with emoji if the codepoint is a confusable
@@ -222,10 +216,8 @@ impl<'a> StringReader<'a> {
222216
self.cursor = Cursor::new(&str_before[prefix_len as usize..]);
223217

224218
self.report_unknown_prefix(start);
225-
let sym = nfc_normalize(self.str_from(start));
226219
let prefix_span = self.mk_sp(start, lit_start);
227-
self.sess.symbol_gallery.insert(sym, prefix_span);
228-
return (Token::new(token::Ident(sym, false), prefix_span), preceded_by_whitespace);
220+
return (Token::new(self.ident(start), prefix_span), preceded_by_whitespace);
229221
}
230222
rustc_lexer::TokenKind::Literal { kind, suffix_start } => {
231223
let suffix_start = start + BytePos(suffix_start);
@@ -341,6 +333,13 @@ impl<'a> StringReader<'a> {
341333
}
342334
}
343335

336+
fn ident(&self, start: BytePos) -> TokenKind {
337+
let sym = nfc_normalize(self.str_from(start));
338+
let span = self.mk_sp(start, self.pos);
339+
self.sess.symbol_gallery.insert(sym, span);
340+
token::Ident(sym, false)
341+
}
342+
344343
fn struct_fatal_span_char(
345344
&self,
346345
from_pos: BytePos,

0 commit comments

Comments
 (0)