Simplify ring buffer pushes
This commit is contained in:
@@ -288,12 +288,11 @@ impl Printer {
|
||||
self.left_total = 1;
|
||||
self.right_total = 1;
|
||||
self.right = self.left;
|
||||
self.buf.truncate(1);
|
||||
self.buf.clear();
|
||||
} else {
|
||||
self.right += 1;
|
||||
self.buf.advance_right();
|
||||
}
|
||||
self.buf[self.right] = BufEntry { token: Token::Begin(b), size: -self.right_total };
|
||||
self.buf.push(BufEntry { token: Token::Begin(b), size: -self.right_total });
|
||||
self.scan_stack.push_front(self.right);
|
||||
}
|
||||
|
||||
@@ -302,8 +301,7 @@ impl Printer {
|
||||
self.print_end();
|
||||
} else {
|
||||
self.right += 1;
|
||||
self.buf.advance_right();
|
||||
self.buf[self.right] = BufEntry { token: Token::End, size: -1 };
|
||||
self.buf.push(BufEntry { token: Token::End, size: -1 });
|
||||
self.scan_stack.push_front(self.right);
|
||||
}
|
||||
}
|
||||
@@ -329,9 +327,8 @@ impl Printer {
|
||||
self.print_string(s);
|
||||
} else {
|
||||
self.right += 1;
|
||||
self.buf.advance_right();
|
||||
let len = s.len() as isize;
|
||||
self.buf[self.right] = BufEntry { token: Token::String(s), size: len };
|
||||
self.buf.push(BufEntry { token: Token::String(s), size: len });
|
||||
self.right_total += len;
|
||||
self.check_stream();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user