istanbul_oxide/
range.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Copy, Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
4pub struct Location {
5    pub line: u32,
6    pub column: u32,
7}
8impl Location {
9    pub fn default() -> Location {
10        Location { line: 0, column: 0 }
11    }
12}
13
14#[derive(Copy, Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Range {
16    pub start: Location,
17    pub end: Location,
18}
19
20impl Range {
21    pub fn default() -> Range {
22        Range {
23            start: Default::default(),
24            end: Default::default(),
25        }
26    }
27    pub fn new(start_line: u32, start_column: u32, end_line: u32, end_column: u32) -> Range {
28        Range {
29            start: Location {
30                line: start_line,
31                column: start_column,
32            },
33            end: Location {
34                line: end_line,
35                column: end_column,
36            },
37        }
38    }
39}