slk_tokenstream/span.rs
1use core::marker::PhantomData;
2
3use crate::Mark;
4
5
6
7pub struct TokenstreamSpan {
8 start: Mark,
9 end: Mark,
10}
11
12impl TokenstreamSpan {
13 pub fn new(mut start: Mark, mut end: Mark) -> Self {
14 if start.position() > end.position() {
15 core::mem::swap(&mut start, &mut end);
16 }
17 Self { start, end }
18 }
19 pub fn start(&self) -> Mark {
20 self.start
21 }
22 pub fn end(&self) -> Mark {
23 self.end
24 }
25}