[][src]Enum common_expression_language::ast::Expression

pub enum Expression {
    Arithmetic {
        left: Box<Expression>,
        op: ArithmeticOp,
        right: Box<Expression>,
    },
    Relation {
        left: Box<Expression>,
        op: RelationOp,
        right: Box<Expression>,
    },
    Ternary {
        condition: Box<Expression>,
        left: Box<Expression>,
        right: Box<Expression>,
    },
    Or {
        left: Box<Expression>,
        right: Box<Expression>,
    },
    And {
        left: Box<Expression>,
        right: Box<Expression>,
    },
    Unary {
        op: UnaryOp,
        right: Box<Expression>,
    },
    Member {
        primary: Box<Expression>,
        member: Member,
    },
    Function {
        identifier: String,
        arguments: Vec<Box<Expression>>,
    },
    List {
        members: Vec<Box<Expression>>,
    },
    Map {
        fields: Vec<(Box<Expression>, Box<Expression>)>,
    },
    Literal(Literal),
    Ident(String),
}

Variants

Arithmetic

Fields of Arithmetic

left: Box<Expression>op: ArithmeticOpright: Box<Expression>
Relation

Fields of Relation

left: Box<Expression>op: RelationOpright: Box<Expression>
Ternary

Fields of Ternary

condition: Box<Expression>left: Box<Expression>right: Box<Expression>
Or

Fields of Or

left: Box<Expression>right: Box<Expression>
And

Fields of And

left: Box<Expression>right: Box<Expression>
Unary

Fields of Unary

op: UnaryOpright: Box<Expression>
Member

Fields of Member

primary: Box<Expression>member: Member
Function

Fields of Function

identifier: Stringarguments: Vec<Box<Expression>>
List

Fields of List

members: Vec<Box<Expression>>
Map

Fields of Map

fields: Vec<(Box<Expression>, Box<Expression>)>
Literal(Literal)
Ident(String)

Trait Implementations

impl Debug for Expression[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.