[][src]Enum moore_svlog::ast::ExprData

pub enum ExprData {
    DummyExpr,
    LiteralExpr(Lit),
    IdentExpr(Identifier),
    SysIdentExpr(Identifier),
    ScopeExpr(Box<Expr>, Identifier),
    IndexExpr {
        indexee: Box<Expr>,
        index: Box<Expr>,
    },
    UnaryExpr {
        op: Op,
        expr: Box<Expr>,
        postfix: bool,
    },
    BinaryExpr {
        op: Op,
        lhs: Box<Expr>,
        rhs: Box<Expr>,
    },
    TernaryExpr {
        cond: Box<Expr>,
        true_expr: Box<Expr>,
        false_expr: Box<Expr>,
    },
    AssignExpr {
        op: AssignOp,
        lhs: Box<Expr>,
        rhs: Box<Expr>,
    },
    CallExpr(Box<Expr>, Vec<CallArg>),
    TypeExpr(Box<Type>),
    ConstructorCallExpr(Vec<CallArg>),
    ClassNewExpr(Option<Box<Expr>>),
    ArrayNewExpr(Box<Expr>, Option<Box<Expr>>),
    EmptyQueueExpr,
    StreamConcatExpr {
        slice: Option<StreamConcatSlice>,
        exprs: Vec<StreamExpr>,
    },
    ConcatExpr {
        repeat: Option<Box<Expr>>,
        exprs: Vec<Expr>,
    },
    MinTypMaxExpr {
        min: Box<Expr>,
        typ: Box<Expr>,
        max: Box<Expr>,
    },
    RangeExpr {
        mode: RangeMode,
        lhs: Box<Expr>,
        rhs: Box<Expr>,
    },
    MemberExpr {
        expr: Box<Expr>,
        name: Identifier,
    },
    PatternExpr(Vec<PatternField>),
    InsideExpr(Box<Expr>, Vec<ValueRange>),
    CastExpr(TypeBox<Expr>),
    CastSizeExpr(Box<Expr>, Box<Expr>),
}

Variants

DummyExpr
LiteralExpr(Lit)
IdentExpr(Identifier)
SysIdentExpr(Identifier)
ScopeExpr(Box<Expr>, Identifier)
IndexExpr

Fields of IndexExpr

indexee: Box<Expr>index: Box<Expr>
UnaryExpr

Fields of UnaryExpr

op: Opexpr: Box<Expr>postfix: bool
BinaryExpr

Fields of BinaryExpr

op: Oplhs: Box<Expr>rhs: Box<Expr>
TernaryExpr

Fields of TernaryExpr

cond: Box<Expr>true_expr: Box<Expr>false_expr: Box<Expr>
AssignExpr

Fields of AssignExpr

op: AssignOplhs: Box<Expr>rhs: Box<Expr>
CallExpr(Box<Expr>, Vec<CallArg>)
TypeExpr(Box<Type>)
ConstructorCallExpr(Vec<CallArg>)
ClassNewExpr(Option<Box<Expr>>)
ArrayNewExpr(Box<Expr>, Option<Box<Expr>>)
EmptyQueueExpr
StreamConcatExpr

Fields of StreamConcatExpr

slice: Option<StreamConcatSlice>exprs: Vec<StreamExpr>
ConcatExpr

Fields of ConcatExpr

repeat: Option<Box<Expr>>exprs: Vec<Expr>
MinTypMaxExpr

Fields of MinTypMaxExpr

min: Box<Expr>typ: Box<Expr>max: Box<Expr>
RangeExpr

Fields of RangeExpr

mode: RangeModelhs: Box<Expr>rhs: Box<Expr>
MemberExpr

Fields of MemberExpr

expr: Box<Expr>name: Identifier
PatternExpr(Vec<PatternField>)
InsideExpr(Box<Expr>, Vec<ValueRange>)
CastExpr(TypeBox<Expr>)
CastSizeExpr(Box<Expr>, Box<Expr>)

Trait Implementations

impl Clone for ExprData[src]

impl Debug for ExprData[src]

impl Decodable for ExprData[src]

impl Encodable for ExprData[src]

impl Eq for ExprData[src]

impl PartialEq<ExprData> for ExprData[src]

impl StructuralEq for ExprData[src]

impl StructuralPartialEq for ExprData[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<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> Erased for T

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.