diff options
Diffstat (limited to 'core/source_map.rs')
-rw-r--r-- | core/source_map.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/core/source_map.rs b/core/source_map.rs index 6a261fa7d..0df58c4be 100644 --- a/core/source_map.rs +++ b/core/source_map.rs @@ -5,6 +5,7 @@ use crate::resolve_url; pub use sourcemap::SourceMap; use std::collections::HashMap; +use std::rc::Rc; use std::str; pub trait SourceMapGetter { @@ -17,6 +18,23 @@ pub trait SourceMapGetter { ) -> Option<String>; } +impl<T> SourceMapGetter for Rc<T> +where + T: SourceMapGetter, +{ + fn get_source_map(&self, file_name: &str) -> Option<Vec<u8>> { + (**self).get_source_map(file_name) + } + + fn get_source_line( + &self, + file_name: &str, + line_number: usize, + ) -> Option<String> { + (**self).get_source_line(file_name, line_number) + } +} + #[derive(Debug, Default)] pub struct SourceMapCache { maps: HashMap<String, Option<SourceMap>>, |