[−][src]Module syntax::source_map
The SourceMap tracks all the source code used within a single crate, mapping
from integer byte positions to the original source code location. Each bit
of source parsed during crate parsing (typically files, in-memory strings,
or various bits of macro expansion) cover a continuous range of bytes in the
SourceMap and are represented by SourceFiles. Byte positions are stored in
Span`` and used pervasively in the compiler. They are absolute positions within the SourceMap`, which upon request can be converted to line and column
information, source code snippets, etc.
Modules
| edition | |
| hygiene | Machinery for hygienic macros, inspired by the |
| symbol | An "interner" is a data structure that associates values with usize tags and allows bidirectional lookup; i.e., given a value, one can easily find the type, and vice versa. |
Structs
| BytePos | A byte offset. Keep this small (currently 32-bits), as AST contains a lot of them. |
| CharPos | A character offset. Because of multibyte UTF-8 characters, a byte offset
is not equivalent to a character offset. The |
| DistinctSources | |
| ExpnData | A subset of properties from both macro definition and macro call available through global data. Avoid using this if you have access to the original definition or call structures. |
| FileLines | |
| FilePathMapping | |
| Globals | |
| InnerSpan | Range inside of a |
| LineInfo | |
| Loc | A source code location used for error reporting. |
| MacroBacktrace | |
| MalformedSourceMapPositions | |
| MultiByteChar | Identifies an offset of a multi-byte character in a |
| MultiSpan | A collection of spans. Spans have two orthogonal attributes: |
| OffsetOverflowError | |
| RealFileLoader | A FileLoader that uses std::fs to load real files. |
| SourceFile | A single source in the |
| SourceFileAndBytePos | |
| SourceFileAndLine | |
| SourceMap | |
| Span | A compressed span. |
| SpanData | Spans represent a region of code, used for error reporting. Positions in spans
are absolute positions from the beginning of the source_map, not positions
relative to |
| SpanLabel | |
| Spanned | |
| StableSourceFileId |
Enums
| ExpnKind | Expansion kind. |
| ExternalSource | The state of the lazy external source loading mechanism of a |
| FileName | Differentiates between real files and common virtual files. |
| NonNarrowChar | Identifies an offset of a non-narrow character in a |
| SpanLinesError | |
| SpanSnippetError |
Constants
| DUMMY_SP | Dummy span, both position and length are zero, syntax context is zero as well. |
| SPAN_DEBUG |
Statics
| GLOBALS |
Traits
| FileLoader | An abstraction over the fs operations used by the Parser. |
| Pos |
Functions
| default_span_debug | |
| dummy_spanned | |
| original_sp | Returns the span itself if it doesn't come from a macro expansion,
otherwise return the call site span up to the |
| respan |
Type Definitions
| FileLinesResult |