pub enum Expression {
InfixOp {
meta: Meta,
lhe: Box<Expression>,
infix_op: ExpressionInfixOpcode,
rhe: Box<Expression>,
},
PrefixOp {
meta: Meta,
prefix_op: ExpressionPrefixOpcode,
rhe: Box<Expression>,
},
InlineSwitchOp {
meta: Meta,
cond: Box<Expression>,
if_true: Box<Expression>,
if_false: Box<Expression>,
},
ParallelOp {
meta: Meta,
rhe: Box<Expression>,
},
Variable {
meta: Meta,
name: String,
access: Vec<Access>,
},
Number(Meta, BigInt),
Call {
meta: Meta,
id: String,
args: Vec<Expression>,
},
AnonymousComponent {
meta: Meta,
id: String,
is_parallel: bool,
params: Vec<Expression>,
signals: Vec<Expression>,
names: Option<Vec<(AssignOp, String)>>,
},
ArrayInLine {
meta: Meta,
values: Vec<Expression>,
},
Tuple {
meta: Meta,
values: Vec<Expression>,
},
}Variants§
InfixOp
PrefixOp
InlineSwitchOp
ParallelOp
Variable
Number(Meta, BigInt)
Call
AnonymousComponent
ArrayInLine
Tuple
Implementations§
source§impl Expression
impl Expression
pub fn meta(&self) -> &Meta
pub fn meta_mut(&mut self) -> &mut Meta
pub fn is_array(&self) -> bool
pub fn is_infix(&self) -> bool
pub fn is_prefix(&self) -> bool
pub fn is_switch(&self) -> bool
pub fn is_variable(&self) -> bool
pub fn is_number(&self) -> bool
pub fn is_call(&self) -> bool
pub fn is_parallel(&self) -> bool
pub fn is_tuple(&self) -> bool
pub fn is_anonymous_component(&self) -> bool
pub fn make_anonymous_parallel(self) -> Expression
Trait Implementations§
source§impl Clone for Expression
impl Clone for Expression
source§fn clone(&self) -> Expression
fn clone(&self) -> Expression
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more