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 new_imported_filemap(&self, filename: FileName, source_len: usize, file_local_lines: Vec<BytePos>, file_local_multibyte_chars: Vec<MultiByteChar>) -> Rc<FileMap>
Allocates a new FileMap representing a source file from an external crate. The source code of such an "imported filemap" is not available, but we still know enough to generate accurate debuginfo location information for things inlined from other crates.
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
For a global BytePos compute the local offset within the containing FileMap
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_allows_unstable(&self, span: Span) -> bool
Check if a span is "internal" to a macro in which #[unstable]
items can be used (that is, a macro marked with
#[allow_internal_unstable]
).