luaur_ast/methods/
position_shift.rs1use crate::records::position::Position;
2
3impl Position {
4 pub fn shift(&mut self, start: &Position, old_end: &Position, new_end: &Position) {
5 if self.position_operator_ge(start) {
6 if self.line > old_end.line {
7 self.line += new_end.line - old_end.line;
8 } else {
9 self.line = new_end.line;
10 self.column += new_end.column - old_end.column;
11 }
12 }
13 }
14}
15
16#[allow(non_snake_case)]
17pub fn position_shift(
18 position: &mut Position,
19 start: &Position,
20 old_end: &Position,
21 new_end: &Position,
22) {
23 position.shift(start, old_end, new_end);
24}