[][src]Struct rustc_ast::token::Token

pub struct Token {
    pub kind: TokenKind,
    pub span: Span,
}

Fields

kind: TokenKindspan: Span

Implementations

impl Token[src]

pub fn new(kind: TokenKind, span: Span) -> Self[src]

pub fn dummy() -> Self[src]

Some token that will be thrown away later.

pub fn from_ast_ident(ident: Ident) -> Self[src]

Recovers a Token from an Ident. This creates a raw identifier if necessary.

pub fn take(&mut self) -> Self[src]

Return this token by value and leave a dummy token in its place.

pub fn uninterpolated_span(&self) -> Span[src]

For interpolated tokens, returns a span of the fragment to which the interpolated token refers. For all other tokens this is just a regular span. It is particularly important to use this for identifiers and lifetimes for which spans affect name resolution and edition checks. Note that keywords are also identifiers, so they should use this if they keep spans or perform edition checks.

pub fn is_op(&self) -> bool[src]

pub fn is_like_plus(&self) -> bool[src]

pub fn can_begin_expr(&self) -> bool[src]

Returns true if the token can appear at the start of an expression.

pub fn can_begin_type(&self) -> bool[src]

Returns true if the token can appear at the start of a type.

pub fn can_begin_const_arg(&self) -> bool[src]

Returns true if the token can appear at the start of a const param.

pub fn can_begin_bound(&self) -> bool[src]

Returns true if the token can appear at the start of a generic bound.

pub fn is_lit(&self) -> bool[src]

Returns true if the token is any literal

pub fn can_begin_literal_maybe_minus(&self) -> bool[src]

Returns true if the token is any literal, a minus (which can prefix a literal, for example a '-42', or one of the boolean idents).

In other words, would this token be a valid start of parse_literal_maybe_minus?

Keep this in sync with and Lit::from_token, excluding unary negation.

pub fn uninterpolate(&self) -> Cow<'_, Token>[src]

pub fn ident(&self) -> Option<(Ident, bool)>[src]

Returns an identifier if this token is an identifier.

pub fn lifetime(&self) -> Option<Ident>[src]

Returns a lifetime identifier if this token is a lifetime.

pub fn is_ident(&self) -> bool[src]

Returns true if the token is an identifier.

pub fn is_lifetime(&self) -> bool[src]

Returns true if the token is a lifetime.

pub fn is_ident_named(&self, name: Symbol) -> bool[src]

Returns true if the token is a identifier whose name is the given string slice.

fn is_path(&self) -> bool[src]

Returns true if the token is an interpolated path.

pub fn is_whole_expr(&self) -> bool[src]

Would maybe_whole_expr in parser.rs return Ok(..)? That is, is this a pre-parsed expression dropped into the token stream (which happens while parsing the result of macro expansion)?

pub fn is_whole_block(&self) -> bool[src]

pub fn is_mutability(&self) -> bool[src]

Returns true if the token is either the mut or const keyword.

pub fn is_qpath_start(&self) -> bool[src]

pub fn is_path_start(&self) -> bool[src]

pub fn is_keyword(&self, kw: Symbol) -> bool[src]

Returns true if the token is a given keyword, kw.

pub fn is_path_segment_keyword(&self) -> bool[src]

pub fn is_special_ident(&self) -> bool[src]

pub fn is_used_keyword(&self) -> bool[src]

Returns true if the token is a keyword used in the language.

pub fn is_unused_keyword(&self) -> bool[src]

Returns true if the token is a keyword reserved for possible future use.

pub fn is_reserved_ident(&self) -> bool[src]

Returns true if the token is either a special identifier or a keyword.

pub fn is_bool_lit(&self) -> bool[src]

Returns true if the token is the identifier true or false.

pub fn is_non_raw_ident_where(&self, pred: impl FnOnce(Ident) -> bool) -> bool[src]

Returns true if the token is a non-raw identifier for which pred holds.

pub fn glue(&self, joint: &Token) -> Option<Token>[src]

Trait Implementations

impl Clone for Token[src]

impl Debug for Token[src]

impl Decodable for Token[src]

impl Encodable for Token[src]

impl<__CTX> HashStable<__CTX> for Token where
    __CTX: HashStableContext
[src]

impl PartialEq<Token> for Token[src]

impl PartialEq<TokenKind> for Token[src]

impl StructuralPartialEq for Token[src]

Auto Trait Implementations

impl !RefUnwindSafe for Token

impl !Send for Token

impl !Sync for Token

impl Unpin for Token

impl !UnwindSafe for Token

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> Decodable for T where
    T: UseSpecializedDecodable
[src]

impl<T> Encodable for T where
    T: UseSpecializedEncodable + ?Sized
[src]

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.