makai_vcd_reader/lexer/
position.rs

1#[derive(Clone, Copy, Debug, PartialEq, Eq, Default)]
2pub struct LexerPosition {
3    index: usize,
4    line: usize,
5    column: usize,
6    length: usize,
7}
8
9impl LexerPosition {
10    pub fn new(index: usize, line: usize, column: usize, length: usize) -> Self {
11        Self {
12            index,
13            line,
14            column,
15            length,
16        }
17    }
18
19    pub fn get_index(&self) -> usize {
20        self.index
21    }
22
23    pub fn get_line(&self) -> usize {
24        self.line
25    }
26
27    pub fn get_column(&self) -> usize {
28        self.column
29    }
30
31    pub fn len(&self) -> usize {
32        self.length
33    }
34
35    pub fn is_empty(&self) -> bool {
36        self.length == 0
37    }
38}