Struct syntax::parse::lexer::StringReader [] [src]

pub struct StringReader<'a> {
    pub sess: &'a ParseSess,
    pub next_pos: BytePos,
    pub pos: BytePos,
    pub col: CharPos,
    pub ch: Option<char>,
    pub filemap: Rc<FileMap>,
    pub terminator: Option<BytePos>,
    pub save_new_lines_and_multibyte: bool,
    pub peek_tok: Token,
    pub peek_span: Span,
    pub fatal_errs: Vec<DiagnosticBuilder<'a>>,
    // some fields omitted
}
🔬 This is a nightly-only experimental API. (rustc_private)

Fields

🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)

The absolute offset within the codemap of the next character to read

🔬 This is a nightly-only experimental API. (rustc_private)

The absolute offset within the codemap of the current character

🔬 This is a nightly-only experimental API. (rustc_private)

The column of the next character to read

🔬 This is a nightly-only experimental API. (rustc_private)

The current character (which has been read from self.pos)

🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)

If Some, stop reading the source at this position (inclusive).

🔬 This is a nightly-only experimental API. (rustc_private)

Whether to record new-lines and multibyte chars in filemap. This is only necessary the first time a filemap is lexed. If part of a filemap is being re-lexed, this should be set to false.

🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)

Methods

impl<'a> StringReader<'a>
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

impl<'a> StringReader<'a>
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

Return the next token. EFFECT: advances the string_reader.

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

impl<'a> StringReader<'a>
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

For comments.rs, which hackily pokes into next_pos and ch

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

Report a fatal lexical error with a given span.

🔬 This is a nightly-only experimental API. (rustc_private)

Report a lexical error with a given span.

🔬 This is a nightly-only experimental API. (rustc_private)

Calls f with a string slice of the source text spanning from start up to but excluding self.pos, meaning the slice does not include the character self.ch.

🔬 This is a nightly-only experimental API. (rustc_private)

Create a Name from a given offset to the current offset, each adjusted 1 towards each other (assumes that on either side there is a single-byte delimiter).

🔬 This is a nightly-only experimental API. (rustc_private)

As name_from, with an explicit endpoint.

🔬 This is a nightly-only experimental API. (rustc_private)

Advance the StringReader by one character. If a newline is discovered, add it to the FileMap's list of line start offsets.

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)