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
Literal
A literal value
Punct
A punctuation symbol
Keyword
A keyword
Group
A group (delimited tokens)
Path
A path (e.g., std::collections::HashMap)
MethodCall
A method call
FnCall
A function call
FieldAccess
A field access
BinOp
A binary operation
UnaryOp
A unary operation
If
An if expression
Match
A match expression
Let
A let binding
Return
A return statement
Block
A block
Closure
A closure
Raw
Raw source when we canโt parse further
Trait Implementationsยง
Sourceยงimpl<'de> Deserialize<'de> for Token
impl<'de> Deserialize<'de> for Token
Sourceยงfn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementationsยง
impl Freeze for Token
impl RefUnwindSafe for Token
impl Send for Token
impl Sync for Token
impl Unpin for Token
impl UnwindSafe for Token
Blanket Implementationsยง
Sourceยงimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Sourceยงfn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more