Inline Printer's advance_right method

This commit is contained in:
David Tolnay 2022-01-18 19:02:49 -08:00
parent e5e2b0be26
commit fdb95f54e8
No known key found for this signature in database
GPG Key ID: F9BA143B95FF6D82

View File

@ -290,7 +290,8 @@ fn scan_begin(&mut self, b: BeginToken) {
self.right = self.left; self.right = self.left;
self.buf.truncate(1); self.buf.truncate(1);
} else { } else {
self.advance_right(); self.right += 1;
self.buf.advance_right();
} }
self.scan_push(BufEntry { token: Token::Begin(b), size: -self.right_total }); self.scan_push(BufEntry { token: Token::Begin(b), size: -self.right_total });
} }
@ -299,7 +300,8 @@ fn scan_end(&mut self) {
if self.scan_stack.is_empty() { if self.scan_stack.is_empty() {
self.print_end(); self.print_end();
} else { } else {
self.advance_right(); self.right += 1;
self.buf.advance_right();
self.scan_push(BufEntry { token: Token::End, size: -1 }); self.scan_push(BufEntry { token: Token::End, size: -1 });
} }
} }
@ -311,7 +313,8 @@ fn scan_break(&mut self, b: BreakToken) {
self.right = self.left; self.right = self.left;
self.buf.truncate(1); self.buf.truncate(1);
} else { } else {
self.advance_right(); self.right += 1;
self.buf.advance_right();
} }
self.check_stack(0); self.check_stack(0);
self.scan_push(BufEntry { token: Token::Break(b), size: -self.right_total }); self.scan_push(BufEntry { token: Token::Break(b), size: -self.right_total });
@ -322,7 +325,8 @@ fn scan_string(&mut self, s: Cow<'static, str>) {
if self.scan_stack.is_empty() { if self.scan_stack.is_empty() {
self.print_string(s); self.print_string(s);
} else { } else {
self.advance_right(); self.right += 1;
self.buf.advance_right();
let len = s.len() as isize; let len = s.len() as isize;
self.buf[self.right] = BufEntry { token: Token::String(s), size: len }; self.buf[self.right] = BufEntry { token: Token::String(s), size: len };
self.right_total += len; self.right_total += len;
@ -360,11 +364,6 @@ fn scan_pop_bottom(&mut self) -> usize {
self.scan_stack.pop_back().unwrap() self.scan_stack.pop_back().unwrap()
} }
fn advance_right(&mut self) {
self.right += 1;
self.buf.advance_right();
}
fn advance_left(&mut self) { fn advance_left(&mut self) {
let mut left_size = self.buf[self.left].size; let mut left_size = self.buf[self.left].size;