self.lexer.eof()
}
+ #[inline]
+ pub fn add_lines_read(&mut self, lines_read: usize) {
+ self.lexer.line_num += lines_read;
+ }
+
#[inline]
pub fn num_lines_read(&self) -> usize {
self.lexer.line_num
ptr as *const u8
}
+ #[inline]
+ pub(crate) fn lines_read(&mut self) -> usize {
+ self.stream_inst.0.borrow_mut().lines_read
+ }
+
#[inline]
pub(crate) fn add_lines_read(&mut self, incr_num_lines_read: usize) {
self.stream_inst.0.borrow_mut().lines_read += incr_num_lines_read;
let mut parser = Parser::new(&mut stream, atom_tbl, self.flags);
parser.devour_whitespace()?;
- inner.add_lines_read(parser.num_lines_read());
let result = parser.eof();
let buf = stream.take_buf();
let mut stream = parsing_stream(inner.clone())?;
let (term, num_lines_read) = {
+ let prior_num_lines_read = inner.lines_read();
let mut parser = Parser::new(&mut stream, atom_tbl, self.flags);
- let term = parser.read_term(&CompositeOpDir::new(op_dir, None))?;
- (term, parser.num_lines_read())
+ parser.add_lines_read(prior_num_lines_read);
+
+ let term = parser.read_term(&CompositeOpDir::new(op_dir, None))?;
+ (term, parser.num_lines_read() - prior_num_lines_read)
};
inner.add_lines_read(num_lines_read);