slang/ast/Statements.h file

Statement creation and analysis.

Namespaces

namespace slang
Root namespace.
namespace slang::ast
The SystemVerilog AST.

Classes

class slang::ast::Statement
The base class for all statements in SystemVerilog.
struct slang::ast::Statement::StatementContext
Additional information passed along during statement creation.
class slang::ast::InvalidStatement
Represents an invalid statement.
class slang::ast::EmptyStatement
Represents an empty statement, used as a placeholder or an anchor for attributes.
class slang::ast::StatementList
Represents a list of statements.
class slang::ast::BlockStatement
Represents a sequential or parallel block statement.
class slang::ast::ReturnStatement
Represents a return statement.
class slang::ast::BreakStatement
Represents a break statement.
class slang::ast::ContinueStatement
Represents a continue statement.
class slang::ast::DisableStatement
Represents a disable statement.
class slang::ast::VariableDeclStatement
Represents a variable declaration in a statement context.
class slang::ast::ConditionalStatement
Represents a conditional statement.
struct slang::ast::ConditionalStatement::Condition
A condition.
class slang::ast::CaseStatement
Represents a case statement.
struct slang::ast::CaseStatement::ItemGroup
A group of items in a case statement.
class slang::ast::PatternCaseStatement
Represents a pattern case statement.
struct slang::ast::PatternCaseStatement::ItemGroup
A group of items in a pattern case statement.
class slang::ast::ForLoopStatement
Represents a for loop statement.
class slang::ast::RepeatLoopStatement
Represents a repeat loop statement.
class slang::ast::ForeachLoopStatement
Represents a foreach loop statement.
struct slang::ast::ForeachLoopStatement::LoopDim
Describes one dimension that will be iterated by the loop.
class slang::ast::WhileLoopStatement
Represents a while loop statement.
class slang::ast::DoWhileLoopStatement
Represents a do while loop statement.
class slang::ast::ForeverLoopStatement
Represents a forever loop statement.
class slang::ast::ExpressionStatement
Represents an expression that is executed as a standalone statement.
class slang::ast::TimedStatement
Represents a statement that has an associated timing control.
class slang::ast::ImmediateAssertionStatement
Represents an immediate assertion statement.
class slang::ast::ConcurrentAssertionStatement
Represents a concurrent assertion statement.
class slang::ast::DisableForkStatement
Represents a disable fork statement.
class slang::ast::WaitStatement
Represents a wait statement.
class slang::ast::WaitForkStatement
Represents a wait fork statement.
class slang::ast::WaitOrderStatement
Represents a wait_order statement.
class slang::ast::EventTriggerStatement
Represents an event triggering statement.
class slang::ast::ProceduralAssignStatement
Represents a procedural assign statement.
class slang::ast::ProceduralDeassignStatement
Represents a procedural deassign statement.
class slang::ast::RandCaseStatement
Represents a randcase statement.
struct slang::ast::RandCaseStatement::Item
An item in the randcase list.
class slang::ast::RandSequenceStatement
Represents a randsequence statement.
class slang::ast::ProceduralCheckerStatement
Represents a procedural checker instantiation statement.

Enums

enum class StatementFlags { None = 0, InLoop = 1 << 0, InForkJoin = 1 << 1, InRandSeq = 1 << 2, InForLoop = 1 << 3, HasTimingError = 1 << 4 }
Various flags that control statement construction.