26 lines
357 B
Rust
26 lines
357 B
Rust
|
|
#[derive(Debug, Clone)]
|
|
pub struct SourceMap<T> {
|
|
pub node: T,
|
|
pub data: Option<SourceData>
|
|
}
|
|
|
|
impl<T> SourceMap<T> {
|
|
pub fn get(&self) -> &T {
|
|
&self.node
|
|
}
|
|
|
|
pub fn get_source_data(&self) -> Option<SourceData> {
|
|
self.data.clone()
|
|
}
|
|
}
|
|
|
|
#[derive(Debug, Clone)]
|
|
pub struct SourceData {
|
|
pub line_number: usize,
|
|
pub char_idx: usize
|
|
}
|
|
|
|
|
|
|