Enum moore_vhdl::hir::ExprData [−][src]
pub enum ExprData {
Show 20 variants
Name(Def, Span),
ConstName(ConstDeclRef),
SignalName(SignalRef),
VarName(VarDeclRef),
FileName(FileDeclRef),
EnumName(Vec<Spanned<EnumRef>>),
OverloadedName(Vec<Spanned<Def>>),
Select(ExprRef, Spanned<ResolvableName>),
Attr(ExprRef, Spanned<ResolvableName>),
StringLiteral(Vec<(TypeDeclRef, Vec<usize>)>),
IntegerLiteral(ConstInt),
FloatLiteral(ConstFloat),
Unary(Spanned<UnaryOp>, Vec<Spanned<Def>>, ExprRef),
Binary(Spanned<BinaryOp>, Vec<Spanned<Def>>, ExprRef, ExprRef),
Range(Dir, ExprRef, ExprRef),
Aggregate(AggregateRef),
Qualified(Spanned<TypeMarkRef>, ExprRef),
Allocator(Spanned<TypeMarkRef>, Option<ExprRef>),
Cast(Spanned<TypeMarkRef>, ExprRef),
Call(ExprRef, Spanned<AssocList>),
}
Expand description
An expression variant.
Variants
A resolved name. Consists of the definition and the definition’s span.
ConstName(ConstDeclRef)
A resolved constant name.
Tuple Fields of ConstName
0: ConstDeclRef
SignalName(SignalRef)
A resolved signal name.
Tuple Fields of SignalName
0: SignalRef
VarName(VarDeclRef)
A resolved variable name.
Tuple Fields of VarName
0: VarDeclRef
FileName(FileDeclRef)
A resolved file name.
Tuple Fields of FileName
0: FileDeclRef
An overloaded enum name.
👎 Deprecated
An overloaded resolved name.
Select(ExprRef, Spanned<ResolvableName>)
A selection, e.g. a.b
.
Tuple Fields of Select
0: ExprRef
1: Spanned<ResolvableName>
Attr(ExprRef, Spanned<ResolvableName>)
An attribute selection, e.g. a'b
.
Tuple Fields of Attr
0: ExprRef
1: Spanned<ResolvableName>
A bit string literal.
IntegerLiteral(ConstInt)
An integer literal.
Tuple Fields of IntegerLiteral
0: ConstInt
FloatLiteral(ConstFloat)
A float literal.
Tuple Fields of FloatLiteral
0: ConstFloat
A unary operator expression.
A binary operator expression.
A range expression.
Aggregate(AggregateRef)
An aggregate expression.
Tuple Fields of Aggregate
0: AggregateRef
Qualified(Spanned<TypeMarkRef>, ExprRef)
A qualified expression.
Tuple Fields of Qualified
0: Spanned<TypeMarkRef>
1: ExprRef
Allocator(Spanned<TypeMarkRef>, Option<ExprRef>)
An allocator expression, i.e. new
.
Tuple Fields of Allocator
0: Spanned<TypeMarkRef>
1: Option<ExprRef>
Cast(Spanned<TypeMarkRef>, ExprRef)
A cast expression.
Tuple Fields of Cast
0: Spanned<TypeMarkRef>
1: ExprRef
A function call expression.