[−][src]Module rustc_ap_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 SourceFile
s. 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 |