[][src]Trait language_reporting::ReportingFiles

pub trait ReportingFiles: Debug + Clone {
    type Span: ReportingSpan;
    type FileId: Copy;
    fn byte_span(
        &self,
        file: Self::FileId,
        from_index: usize,
        to_index: usize
    ) -> Option<Self::Span>;
fn file_id(&self, span: Self::Span) -> Self::FileId;
fn file_name(&self, file: Self::FileId) -> FileName;
fn byte_index(
        &self,
        file: Self::FileId,
        line: usize,
        column: usize
    ) -> Option<usize>;
fn location(
        &self,
        file: Self::FileId,
        byte_index: usize
    ) -> Option<Location>;
fn line_span(&self, file: Self::FileId, lineno: usize) -> Option<Self::Span>;
fn source(&self, span: Self::Span) -> Option<String>; }

Associated Types

Loading content...

Required methods

fn byte_span(
    &self,
    file: Self::FileId,
    from_index: usize,
    to_index: usize
) -> Option<Self::Span>

fn file_id(&self, span: Self::Span) -> Self::FileId

fn file_name(&self, file: Self::FileId) -> FileName

fn byte_index(
    &self,
    file: Self::FileId,
    line: usize,
    column: usize
) -> Option<usize>

fn location(&self, file: Self::FileId, byte_index: usize) -> Option<Location>

fn line_span(&self, file: Self::FileId, lineno: usize) -> Option<Self::Span>

fn source(&self, span: Self::Span) -> Option<String>

Loading content...

Implementors

impl ReportingFiles for SimpleReportingFiles[src]

type Span = SimpleSpan

type FileId = usize

Loading content...