Enum moore_svlog::ast::StmtKind [−][src]
pub enum StmtKind<'a> {
Show 26 variants
NullStmt,
SequentialBlock(Vec<Node<'a, StmtData<'a>>, Global>),
ParallelBlock(Vec<Node<'a, StmtData<'a>>, Global>, JoinKind),
IfStmt {
up: Option<UniquePriority>,
cond: Node<'a, ExprData<'a>>,
main_stmt: Box<Node<'a, StmtData<'a>>, Global>,
else_stmt: Option<Box<Node<'a, StmtData<'a>>, Global>>,
},
BlockingAssignStmt {
lhs: Node<'a, ExprData<'a>>,
rhs: Node<'a, ExprData<'a>>,
op: AssignOp,
},
NonblockingAssignStmt {
lhs: Node<'a, ExprData<'a>>,
rhs: Node<'a, ExprData<'a>>,
delay: Option<DelayControl<'a>>,
event: Option<()>,
},
TimedStmt(TimingControl<'a>, Box<Node<'a, StmtData<'a>>, Global>),
CaseStmt {
up: Option<UniquePriority>,
kind: CaseKind,
expr: Node<'a, ExprData<'a>>,
mode: CaseMode,
items: Vec<CaseItem<'a>, Global>,
},
ForeverStmt(Box<Node<'a, StmtData<'a>>, Global>),
RepeatStmt(Node<'a, ExprData<'a>>, Box<Node<'a, StmtData<'a>>, Global>),
WhileStmt(Node<'a, ExprData<'a>>, Box<Node<'a, StmtData<'a>>, Global>),
DoStmt(Box<Node<'a, StmtData<'a>>, Global>, Node<'a, ExprData<'a>>),
ForStmt(Box<Node<'a, StmtData<'a>>, Global>, Node<'a, ExprData<'a>>, Node<'a, ExprData<'a>>, Box<Node<'a, StmtData<'a>>, Global>),
ForeachStmt(Node<'a, ExprData<'a>>, Vec<Node<'a, ForeachIndexData>, Global>, Box<Node<'a, StmtData<'a>>, Global>),
ExprStmt(Node<'a, ExprData<'a>>),
VarDeclStmt(Node<'a, VarDeclData<'a>>),
GenvarDeclStmt(Vec<Node<'a, GenvarDeclData<'a>>, Global>),
ContinueStmt,
BreakStmt,
ReturnStmt(Option<Node<'a, ExprData<'a>>>),
ImportStmt(Node<'a, ImportDeclData<'a>>),
AssertionStmt(Box<Assertion<'a>, Global>),
WaitExprStmt(Node<'a, ExprData<'a>>, Box<Node<'a, StmtData<'a>>, Global>),
WaitForkStmt,
DisableForkStmt,
DisableStmt(Name),
}
Expand description
The different kinds of statement.
Variants
Fields of IfStmt
Fields of NonblockingAssignStmt
TimedStmt(TimingControl<'a>, Box<Node<'a, StmtData<'a>>, Global>)
Tuple Fields of TimedStmt
0: TimingControl<'a>
1: Box<Node<'a, StmtData<'a>>, Global>
Fields of CaseStmt
ForStmt(Box<Node<'a, StmtData<'a>>, Global>, Node<'a, ExprData<'a>>, Node<'a, ExprData<'a>>, Box<Node<'a, StmtData<'a>>, Global>)
Tuple Fields of ForStmt
ForeachStmt(Node<'a, ExprData<'a>>, Vec<Node<'a, ForeachIndexData>, Global>, Box<Node<'a, StmtData<'a>>, Global>)
Tuple Fields of ForeachStmt
VarDeclStmt(Node<'a, VarDeclData<'a>>)
Tuple Fields of VarDeclStmt
0: Node<'a, VarDeclData<'a>>
GenvarDeclStmt(Vec<Node<'a, GenvarDeclData<'a>>, Global>)
Tuple Fields of GenvarDeclStmt
0: Vec<Node<'a, GenvarDeclData<'a>>, Global>
ImportStmt(Node<'a, ImportDeclData<'a>>)
Tuple Fields of ImportStmt
0: Node<'a, ImportDeclData<'a>>
DisableStmt(Name)
Tuple Fields of DisableStmt
0: Name
Trait Implementations
Apply a function to each child node.
Apply a function to this node.
Auto Trait Implementations
impl<'a> !RefUnwindSafe for StmtKind<'a>
impl<'a> !UnwindSafe for StmtKind<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more