[][src]Enum moore_vhdl::hir::ExprData

pub enum ExprData {
    Name(DefSpan),
    ConstName(ConstDeclRef),
    SignalName(SignalRef),
    VarName(VarDeclRef),
    FileName(FileDeclRef),
    EnumName(Vec<Spanned<EnumRef>>),
    OverloadedName(Vec<Spanned<Def>>),
    Select(ExprRefSpanned<ResolvableName>),
    Attr(ExprRefSpanned<ResolvableName>),
    StringLiteral(Vec<(TypeDeclRef, Vec<usize>)>),
    IntegerLiteral(ConstInt),
    FloatLiteral(ConstFloat),
    Unary(Spanned<UnaryOp>, Vec<Spanned<Def>>, ExprRef),
    Binary(Spanned<BinaryOp>, Vec<Spanned<Def>>, ExprRefExprRef),
    Range(DirExprRefExprRef),
    Aggregate(AggregateRef),
    Qualified(Spanned<TypeMarkRef>, ExprRef),
    Allocator(Spanned<TypeMarkRef>, Option<ExprRef>),
    Cast(Spanned<TypeMarkRef>, ExprRef),
    Call(ExprRefSpanned<AssocList>),
}

An expression variant.

Variants

Name(DefSpan)

A resolved name. Consists of the definition and the definition's span.

ConstName(ConstDeclRef)

A resolved constant name.

SignalName(SignalRef)

A resolved signal name.

VarName(VarDeclRef)

A resolved variable name.

FileName(FileDeclRef)

A resolved file name.

EnumName(Vec<Spanned<EnumRef>>)

An overloaded enum name.

OverloadedName(Vec<Spanned<Def>>)
👎 Deprecated

An overloaded resolved name.

A selection, e.g. a.b.

An attribute selection, e.g. a'b.

StringLiteral(Vec<(TypeDeclRef, Vec<usize>)>)

A bit string literal.

IntegerLiteral(ConstInt)

An integer literal.

FloatLiteral(ConstFloat)

A float literal.

A unary operator expression.

A binary operator expression.

Range(DirExprRefExprRef)

A range expression.

Aggregate(AggregateRef)

An aggregate expression.

A qualified expression.

An allocator expression, i.e. new.

A cast expression.

A function call expression.

Trait Implementations

impl Debug 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<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.