core.rs 437 B

123456789101112131415161718192021222324
  1. #[derive(Debug, Copy, Clone, PartialEq, Eq)]
  2. pub struct FileRef {
  3. pub idx: usize,
  4. }
  5. /// A location in a source file
  6. #[derive(Debug, Clone, Copy)]
  7. pub struct Span {
  8. pub start: u32,
  9. pub end: u32,
  10. }
  11. impl Span {
  12. pub fn empty() -> Span {
  13. Span {
  14. start: u32::MAX,
  15. end: u32::MAX,
  16. }
  17. }
  18. pub fn exists(&self) -> bool {
  19. self.start != u32::MAX && self.end != u32::MAX
  20. }
  21. }