Enum moore_vhdl::hir::ExprData
[−]
[src]
pub enum ExprData { 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(Name), IntegerLiteral(ConstInt), FloatLiteral(ConstFloat), Unary(Spanned<UnaryOp>, ExprRef), Binary(Operator, 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>), }
An expression variant.
Variants
Name(Def, Span)
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.
Select(ExprRef, Spanned<ResolvableName>)
A selection, e.g. a.b
.
Attr(ExprRef, Spanned<ResolvableName>)
An attribute selection, e.g. a'b
.
StringLiteral(Name)
A bit string literal.
IntegerLiteral(ConstInt)
An integer literal.
FloatLiteral(ConstFloat)
A float literal.
Unary(Spanned<UnaryOp>, ExprRef)
A unary operator expression.
Binary(Operator, ExprRef, ExprRef)
A binary operator expression.
Range(Dir, ExprRef, ExprRef)
A range expression.
Aggregate(AggregateRef)
An aggregate expression.
Qualified(Spanned<TypeMarkRef>, ExprRef)
A qualified expression.
Allocator(Spanned<TypeMarkRef>, Option<ExprRef>)
An allocator expression, i.e. new
.
Cast(Spanned<TypeMarkRef>, ExprRef)
A cast expression.
Call(ExprRef, Spanned<AssocList>)
A function call expression.