Struct rustc_ap_rustc_ast::token::Token[][src]

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.

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]

fn clone(&self) -> Token[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Token[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<__D: Decoder> Decodable<__D> for Token[src]

fn decode(__decoder: &mut __D) -> Result<Self, <__D as Decoder>::Error>[src]

impl<__E: Encoder> Encodable<__E> for Token[src]

fn encode(&self, __encoder: &mut __E) -> Result<(), <__E as Encoder>::Error>[src]

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

fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)[src]

impl PartialEq<Token> for Token[src]

fn eq(&self, other: &Token) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &Token) -> bool[src]

This method tests for !=.

impl PartialEq<TokenKind> for Token[src]

fn eq(&self, rhs: &TokenKind) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests for !=.

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]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

fn instrument(self, span: Span) -> Instrumented<Self>[src]

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

fn in_current_span(self) -> Instrumented<Self>[src]

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

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

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

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

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

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

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V

impl<'a, T> Captures<'a> for T where
    T: ?Sized
[src]

impl<T> Erased for T[src]