@@ -166,10 +166,7 @@ impl<'a> StringReader<'a> {
166
166
continue;
167
167
}
168
168
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)
173
170
}
174
171
rustc_lexer::TokenKind::RawIdent => {
175
172
let sym = nfc_normalize(self.str_from(start + BytePos(2)));
@@ -183,10 +180,7 @@ impl<'a> StringReader<'a> {
183
180
}
184
181
rustc_lexer::TokenKind::UnknownPrefix => {
185
182
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)
190
184
}
191
185
rustc_lexer::TokenKind::InvalidIdent
192
186
// Do not recover an identifier with emoji if the codepoint is a confusable
@@ -222,10 +216,8 @@ impl<'a> StringReader<'a> {
222
216
self.cursor = Cursor::new(&str_before[prefix_len as usize..]);
223
217
224
218
self.report_unknown_prefix(start);
225
- let sym = nfc_normalize(self.str_from(start));
226
219
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);
229
221
}
230
222
rustc_lexer::TokenKind::Literal { kind, suffix_start } => {
231
223
let suffix_start = start + BytePos(suffix_start);
@@ -341,6 +333,13 @@ impl<'a> StringReader<'a> {
341
333
}
342
334
}
343
335
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
+
344
343
fn struct_fatal_span_char(
345
344
&self,
346
345
from_pos: BytePos,
0 commit comments