[−][src]Struct rustc_parse::lexer::tokentrees::TokenTreesReader

pub(in lexer::tokentrees) struct TokenTreesReader<'a> {
    string_reader: StringReader<'a>,
    token: Token,
    open_braces: Vec<(DelimToken, Span)>,
    unmatched_braces: Vec<UnmatchedBrace>,
    matching_delim_spans: Vec<(DelimToken, Span, Span)>,
    last_unclosed_found_span: Option<Span>,
    last_delim_empty_block_spans: FxHashMap<DelimToken, Span>,
    matching_block_spans: Vec<(Span, Span)>,
}

Fields

string_reader: StringReader<'a>token: Tokenopen_braces: Vec<(DelimToken, Span)>

Stack of open delimiters and their spans. Used for error message.

unmatched_braces: Vec<UnmatchedBrace>matching_delim_spans: Vec<(DelimToken, Span, Span)>

The type and spans for all braces

Used only for error recovery when arriving to EOF with mismatched braces.

last_unclosed_found_span: Option<Span>last_delim_empty_block_spans: FxHashMap<DelimToken, Span>

Collect empty block spans that might have been auto-inserted by editors.

matching_block_spans: Vec<(Span, Span)>

Collect the spans of braces (Open, Close). Used only for detecting if blocks are empty and only braces.

Implementations

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

pub(in lexer::tokentrees) fn parse_all_token_trees(
    &mut self
) -> PResult<'a, TokenStream>
[src]

pub(in lexer::tokentrees) fn parse_token_trees_until_close_delim(
    &mut self
) -> TokenStream
[src]

pub(in lexer::tokentrees) fn parse_token_tree(
    &mut self
) -> PResult<'a, TreeAndSpacing>
[src]

pub(in lexer::tokentrees) fn bump(
    &mut self
) -> Spacing
[src]

Auto Trait Implementations

impl<'a> !RefUnwindSafe for TokenTreesReader<'a>

impl<'a> !Send for TokenTreesReader<'a>

impl<'a> !Sync for TokenTreesReader<'a>

impl<'a> Unpin for TokenTreesReader<'a>

impl<'a> !UnwindSafe for TokenTreesReader<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.