thrift_analyzer/analyzer/
base.rs1use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Default, Serialize, Deserialize)]
7pub struct Position {
8 pub line: u32,
10 pub column: u32,
12}
13
14#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
16pub struct Range {
17 pub start: Position,
19 pub end: Position,
21}
22
23impl Range {
24 pub fn contains(&self, pos: Position) -> bool {
25 self.start <= pos && pos <= self.end
26 }
27}
28
29#[derive(Debug, Clone, Serialize, Deserialize)]
31pub struct Location {
32 pub path: String,
33 pub range: Range,
34}
35
36#[derive(Debug, Clone, Serialize, Deserialize)]
38pub struct Error {
39 pub range: Range,
40 pub message: String,
41}