MCPcopy Create free account
hub / github.com/csskit/csskit / next_char

Method next_char

crates/css_lexer/src/private.rs:109–123  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

107 /// Advance past one char, return it. Returns None if at end.
108 #[inline(always)]
109 fn next_char(&mut self) -> Option<char> {
110 if self.pos >= self.bytes.len() {
111 return None;
112 }
113 let b = unsafe { *self.bytes.get_unchecked(self.pos) };
114 if b < 128 {
115 self.pos += 1;
116 Some(b as char)
117 } else {
118 let remaining = unsafe { std::str::from_utf8_unchecked(&self.bytes[self.pos..]) };
119 let c = remaining.chars().next()?;
120 self.pos += c.len_utf8();
121 Some(c)
122 }
123 }
124
125 /// Check if at end (no more bytes)
126 #[inline(always)]

Callers 4

parse_escape_sequenceMethod · 0.80
read_next_tokenMethod · 0.80

Calls 2

lenMethod · 0.45
nextMethod · 0.45

Tested by

no test coverage detected