MCPcopy Create free account
hub / github.com/dprint/jsonc-parser / parse_comment_line

Method parse_comment_line

src/scanner.rs:292–312  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

290 }
291
292 fn parse_comment_line(&mut self) -> Token<'a> {
293 debug_assert!(self.bytes[self.byte_index] == b'/');
294 self.byte_index += 1;
295 debug_assert!(self.bytes[self.byte_index] == b'/');
296 let start_byte_index = self.byte_index + 1;
297 self.byte_index += 1;
298
299 // scan byte-by-byte for newline; \n (0x0A) and \r (0x0D) are ASCII
300 // and can never appear as UTF-8 continuation bytes
301 while let Some(&b) = self.bytes.get(self.byte_index) {
302 if b == b'\n' {
303 break;
304 }
305 if b == b'\r' && self.bytes.get(self.byte_index + 1) == Some(&b'\n') {
306 break;
307 }
308 self.byte_index += 1;
309 }
310
311 Token::CommentLine(&self.file_text[start_byte_index..self.byte_index])
312 }
313
314 fn parse_comment_block(&mut self) -> Result<Token<'a>, ParseError> {
315 debug_assert!(self.bytes[self.byte_index] == b'/');

Callers 1

scanMethod · 0.80

Calls 2

CommentLineClass · 0.85
getMethod · 0.45

Tested by

no test coverage detected