lib_ruby_parser/lexer/tokadd.rs
1use crate::lexer::*;
2use crate::maybe_byte::*;
3
4pub(crate) trait TokAdd<T> {
5 fn tokadd(&mut self, c: T);
6}
7
8impl TokAdd<MaybeByte> for Lexer {
9 fn tokadd(&mut self, c: MaybeByte) {
10 match c {
11 MaybeByte::Some(c) => self.tokadd(c),
12 MaybeByte::EndOfInput => panic!("can't emit EOF"),
13 }
14 }
15}
16
17impl TokAdd<u8> for Lexer {
18 fn tokadd(&mut self, c: u8) {
19 self.tokenbuf.push(c)
20 }
21}