Token

Enum Token 

Source
pub enum Token {
Show 18 variants Ident { name: String, }, Literal { kind: LiteralKind, value: String, }, Punct { ch: char, }, Keyword { name: String, }, Group { delimiter: Delimiter, tokens: Vec<Token>, }, Path { segments: Vec<String>, }, MethodCall { receiver: Box<Token>, method: String, args: Vec<Token>, }, FnCall { path: Vec<String>, args: Vec<Token>, }, FieldAccess { base: Box<Token>, field: String, }, BinOp { lhs: Box<Token>, op: String, rhs: Box<Token>, }, UnaryOp { op: String, expr: Box<Token>, }, If { cond: Box<Token>, then_branch: Vec<Token>, else_branch: Option<Vec<Token>>, }, Match { expr: Box<Token>, arms: Vec<MatchArm>, }, Let { pattern: String, ty: Option<String>, init: Option<Box<Token>>, }, Return { expr: Option<Box<Token>>, }, Block { stmts: Vec<Token>, }, Closure { params: Vec<String>, body: Box<Token>, }, Raw { source: String, },
}
Expand description

Simplified token representation for method bodies.

Variantsยง

ยง

Ident

An identifier

Fields

ยง

Literal

A literal value

ยง

Punct

A punctuation symbol

Fields

ยง

Keyword

A keyword

Fields

ยง

Group

A group (delimited tokens)

Fields

ยงdelimiter: Delimiter
ยงtokens: Vec<Token>
ยง

Path

A path (e.g., std::collections::HashMap)

Fields

ยงsegments: Vec<String>
ยง

MethodCall

A method call

Fields

ยงreceiver: Box<Token>
ยงmethod: String
ยง

FnCall

A function call

Fields

ยง

FieldAccess

A field access

Fields

ยง

BinOp

A binary operation

ยง

UnaryOp

A unary operation

Fields

ยง

If

An if expression

Fields

ยงthen_branch: Vec<Token>
ยงelse_branch: Option<Vec<Token>>
ยง

Match

A match expression

Fields

ยง

Let

A let binding

ยง

Return

A return statement

Fields

ยง

Block

A block

Fields

ยง

Closure

A closure

Fields

ยงparams: Vec<String>
ยง

Raw

Raw source when we canโ€™t parse further

Fields

ยงsource: String

Trait Implementationsยง

Sourceยง

impl Clone for Token

Sourceยง

fn clone(&self) -> Token

Returns a duplicate of the value. Read more
1.0.0 ยท Sourceยง

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Sourceยง

impl Debug for Token

Sourceยง

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

Formats the value using the given formatter. Read more
Sourceยง

impl<'de> Deserialize<'de> for Token

Sourceยง

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Sourceยง

impl Serialize for Token

Sourceยง

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementationsยง

Blanket Implementationsยง

Sourceยง

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

Sourceยง

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Sourceยง

impl<T> Borrow<T> for T
where T: ?Sized,

Sourceยง

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Sourceยง

impl<T> BorrowMut<T> for T
where T: ?Sized,

Sourceยง

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Sourceยง

impl<T> CloneToUninit for T
where T: Clone,

Sourceยง

unsafe fn clone_to_uninit(&self, dest: *mut u8)

๐Ÿ”ฌThis is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Sourceยง

impl<T> From<T> for T

Sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

Sourceยง

impl<T, U> Into<U> for T
where U: From<T>,

Sourceยง

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Sourceยง

impl<T> ToOwned for T
where T: Clone,

Sourceยง

type Owned = T

The resulting type after obtaining ownership.
Sourceยง

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Sourceยง

type Error = Infallible

The type returned in the event of a conversion error.
Sourceยง

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

Performs the conversion.
Sourceยง

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Sourceยง

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

The type returned in the event of a conversion error.
Sourceยง

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

Performs the conversion.
Sourceยง

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,