(&self, c: Cursor)
| 201 | } |
| 202 | |
| 203 | pub fn to_atom<A: AtomSet + PartialEq>(&self, c: Cursor) -> A { |
| 204 | let bits = c.atom_bits(); |
| 205 | if bits == 0 { |
| 206 | if c != KindSet::ATOM_LIKE { |
| 207 | return A::from_bits(0); |
| 208 | } |
| 209 | let source_cursor = self.to_source_cursor(c); |
| 210 | return A::from_str(&source_cursor.parse(self.bump)); |
| 211 | } |
| 212 | #[cfg(debug_assertions)] |
| 213 | if c == KindSet::ATOM_LIKE && !((c == Kind::Ident || c == Kind::Function) && c.token().is_dashed_ident()) { |
| 214 | let source_cursor = self.to_source_cursor(c); |
| 215 | debug_assert!( |
| 216 | A::from_bits(bits) == A::from_str(&source_cursor.parse(self.bump)), |
| 217 | "{:?} -> {:?} != {:?} ({:?})", |
| 218 | c, |
| 219 | A::from_bits(bits), |
| 220 | A::from_str(&source_cursor.parse(self.bump)), |
| 221 | source_cursor.parse(self.bump) |
| 222 | ); |
| 223 | } |
| 224 | A::from_bits(bits) |
| 225 | } |
| 226 | |
| 227 | #[inline(always)] |
| 228 | pub fn offset(&self) -> SourceOffset { |
no test coverage detected