Trait SourceMapper
pub trait SourceMapper: Send + Sync {
// Required methods
fn lookup_char_pos(&self, pos: BytePos) -> Loc;
fn span_to_lines(&self, sp: Span) -> Result<FileLines, Box<SpanLinesError>>;
fn span_to_string(&self, sp: Span) -> String;
fn span_to_filename(&self, sp: Span) -> Arc<FileName>;
fn merge_spans(&self, sp_lhs: Span, sp_rhs: Span) -> Option<Span>;
fn call_span_if_macro(&self, sp: Span) -> Span;
fn doctest_offset_line(&self, line: usize) -> usize;
fn span_to_snippet(&self, sp: Span) -> Result<String, Box<SpanSnippetError>>;
}
Available on crate feature
__common
only.Required Methods§
fn lookup_char_pos(&self, pos: BytePos) -> Loc
fn span_to_lines(&self, sp: Span) -> Result<FileLines, Box<SpanLinesError>>
fn span_to_string(&self, sp: Span) -> String
fn span_to_filename(&self, sp: Span) -> Arc<FileName>
fn merge_spans(&self, sp_lhs: Span, sp_rhs: Span) -> Option<Span>
fn call_span_if_macro(&self, sp: Span) -> Span
fn doctest_offset_line(&self, line: usize) -> usize
fn span_to_snippet(&self, sp: Span) -> Result<String, Box<SpanSnippetError>>
Trait Implementations§
§impl SourceMapperExt for dyn SourceMapper
impl SourceMapperExt for dyn SourceMapper
fn get_code_map(&self) -> &dyn SourceMapper
fn is_on_same_line(&self, _lo: BytePos, _hi: BytePos) -> bool
fn should_write_separating_line_terminator( &self, prev: Option<Span>, next: Option<Span>, format: ListFormat, ) -> bool
fn should_write_leading_line_terminator( &self, parent_node: Span, first_child: Option<Span>, format: ListFormat, ) -> bool
fn should_write_closing_line_terminator( &self, parent_node: Span, last_child: Option<Span>, format: ListFormat, ) -> bool
Implementors§
impl SourceMapper for PluginSourceMapProxy
Subset of SourceMap interface supported in plugin.
Unlike Comments
, this does not fully implement SourceMap
.