Type Alias Expr
Source pub type Expr = Expression;
pub enum Expr {
Show 13 variants
Literal(Literal),
Variable(String),
BinaryOp {
operator: String,
left: Box<Expression>,
right: Box<Expression>,
},
UnaryOp {
operator: String,
operand: Box<Expression>,
},
FunctionCall {
name: String,
arguments: Vec<Expression>,
},
Set {
elements: Vec<Expression>,
},
TypeCast {
target_type: Type,
expression: Box<Expression>,
},
SizeOf {
type_or_expression: Box<Expression>,
},
AddressOf {
expression: Box<Expression>,
},
Dereference {
expression: Box<Expression>,
},
Inherited {
member: Option<String>,
},
Is {
expression: Box<Expression>,
type_name: String,
},
As {
expression: Box<Expression>,
type_name: String,
},
}