Skip to main content

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}