diff options
| author | Edvard Thörnros <edvard.thornros@gmail.com> | 2021-01-10 16:55:26 +0100 |
|---|---|---|
| committer | Edvard Thörnros <edvard.thornros@gmail.com> | 2021-01-10 16:55:26 +0100 |
| commit | 6d94077778d6043e135640f40b09e2582d3a3064 (patch) | |
| tree | 871bffa3f6b9e061f9af5f620a8d432139a3f310 /src/vm.rs | |
| parent | d61370656d9f3deb39bb37f9c1d45e8ddc62efd5 (diff) | |
| download | sylt-6d94077778d6043e135640f40b09e2582d3a3064.tar.gz | |
Fix this shit
Diffstat (limited to 'src/vm.rs')
| -rw-r--r-- | src/vm.rs | 13 |
1 files changed, 6 insertions, 7 deletions
@@ -49,7 +49,7 @@ pub struct Block { name: String, file: PathBuf, ops: Vec<Op>, - last_line_offset: Option<usize>, + last_line_offset: usize, line_offsets: HashMap<usize, usize>, } @@ -59,23 +59,22 @@ impl Block { name: String::from(name), file: file.to_owned(), ops: Vec::new(), - last_line_offset: None, + last_line_offset: 0, line_offsets: HashMap::new(), } } - pub fn add(&mut self, op: Op, token_position: Option<usize>) -> usize { + pub fn add(&mut self, op: Op, token_position: usize) -> usize { let len = self.ops.len(); if token_position != self.last_line_offset { - if let Some(token_position) = token_position { - self.line_offsets.insert(len, token_position); - } + self.line_offsets.insert(len, token_position); + self.last_line_offset = token_position; } self.ops.push(op); len } - pub fn add_from(&mut self, ops: &[Op], token_position: Option<usize>) -> usize { + pub fn add_from(&mut self, ops: &[Op], token_position: usize) -> usize { let len = self.ops.len(); for op in ops { self.add(*op, token_position); |
