Struct syntax::codemap::CodeMapUnstable [-] [+] [src]

pub struct CodeMap {
    pub files: RefCell<Vec<Rc<FileMap>>>,
    // some fields omitted
}

Fields

files

Methods

impl CodeMap

fn new() -> CodeMap

fn new_filemap(&self, filename: FileName, src: String) -> Rc<FileMap>

fn mk_substr_filename(&self, sp: Span) -> String

fn lookup_char_pos(&self, pos: BytePos) -> Loc

Lookup source information about a BytePos

fn lookup_char_pos_adj(&self, pos: BytePos) -> LocWithOpt

fn span_to_string(&self, sp: Span) -> String

fn span_to_filename(&self, sp: Span) -> FileName

fn span_to_lines(&self, sp: Span) -> FileLines

fn span_to_snippet(&self, sp: Span) -> Result<String, SpanSnippetError>

fn get_filemap(&self, filename: &str) -> Rc<FileMap>

fn lookup_byte_offset(&self, bpos: BytePos) -> FileMapAndBytePos

fn bytepos_to_file_charpos(&self, bpos: BytePos) -> CharPos

Converts an absolute BytePos to a CharPos relative to the filemap and above.

fn record_expansion(&self, expn_info: ExpnInfo) -> ExpnId

fn with_expn_info<T, F>(&self, id: ExpnId, f: F) -> T where F: FnOnce(Option<&ExpnInfo>) -> T

fn span_is_internal(&self, span: Span) -> bool

Check if a span is "internal" to a macro. This means that it is entirely generated by a macro expansion and contains no code that was passed in as an argument.