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.