pub enum Expr {
Show 16 variants
Number {
value: f64,
text: String,
span: Span,
},
String {
value: String,
span: Span,
},
Bool {
value: bool,
span: Span,
},
Null {
span: Span,
},
Array {
elements: Vec<Expr>,
span: Span,
},
Dict {
entries: Vec<DictEntry>,
span: Span,
},
Comprehension {
element: Box<Expr>,
variable: String,
variable_span: Span,
index: Option<(String, Span)>,
iterable: Box<Expr>,
condition: Option<Box<Expr>>,
span: Span,
},
Lambda {
params: Vec<(String, Span)>,
body: Box<Expr>,
span: Span,
},
StringModifier {
modifier: char,
value: String,
format_text: Option<String>,
interpolations: Vec<Expr>,
span: Span,
},
Call {
name: String,
args: Vec<CallArg>,
span: Span,
},
ReceiverCall {
receiver: Box<Expr>,
name: String,
args: Vec<CallArg>,
span: Span,
},
Name {
name: String,
span: Span,
},
Member {
receiver: Box<Expr>,
member: String,
member_span: Span,
span: Span,
},
Index {
array: Box<Expr>,
index: Box<Expr>,
span: Span,
},
Binary {
op: String,
left: Box<Expr>,
right: Box<Expr>,
span: Span,
},
Unary {
op: String,
operand: Box<Expr>,
span: Span,
},
}Expand description
An expression.
Variants§
Number
String
Bool
Null
Array
Dict
Comprehension
Fields
Lambda
StringModifier
Fields
§
format_text: Option<String>The decoded f-string template, with interpolation placeholders
normalized to {0}, {1}, …; present only for modifier f.
Call
A plain function call.
ReceiverCall
A call on a receiver (x.f(...)).
Name
An unresolved identifier (resolved during lowering).
Member
A member access x.y (resolved during lowering).
Fields
Index
Binary
Unary
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Expr
impl RefUnwindSafe for Expr
impl Send for Expr
impl Sync for Expr
impl Unpin for Expr
impl UnsafeUnpin for Expr
impl UnwindSafe for Expr
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