use crate::FileId; #[derive(Debug, Clone, PartialEq, Eq)] pub struct Inherit { pub attr_count: usize, } #[derive(Debug, Clone, PartialEq, Eq)] pub enum NodeData { Inherit(Inherit), } #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub struct SourceRange { pub start: usize, pub end: usize, } #[derive(Debug, Clone, PartialEq, Eq)] pub struct Node { pub range: SourceRange, pub data: NodeData, } #[derive(Debug, Clone, PartialEq, Eq)] pub struct ParseError { pub range: SourceRange, pub message: String, } #[derive(Debug)] pub struct ParsedFile { pub file_id: FileId, pub nodes: Vec, pub errors: Vec, }