slang::ast::AssignmentExpression class final

Represents an assignment expression.

Base classes

class Expression
The base class for all expressions in SystemVerilog.

Public functions

bool isCompound() const
bool isNonBlocking() const
bool isBlocking() const
bool isLValueArg() const
const Expression& left() const
Expression& left()
const Expression& right() const
Expression& right()

Public variables

std::optional<BinaryOperator> op
An optional operator that applies to the assignment (i.e.
const TimingControl* timingControl
An optional timing control that applies to the assignment.

Function documentation

bool slang::ast::AssignmentExpression::isCompound() const

Returns true if this is a compound assignment

bool slang::ast::AssignmentExpression::isNonBlocking() const

Returns true if this is a non-blocking assignment

bool slang::ast::AssignmentExpression::isBlocking() const

Returns true if this is a blocking assignment

bool slang::ast::AssignmentExpression::isLValueArg() const

Returns true if this assignment has been implied by the lhs being the target of an lvalue argument or port connection (i.e. there is no explicit assignment operator or rhs here).

const Expression& slang::ast::AssignmentExpression::left() const

Returns the left-hand side of the assignment

Expression& slang::ast::AssignmentExpression::left()

Returns the left-hand side of the assignment

const Expression& slang::ast::AssignmentExpression::right() const

Returns the right-hand side of the assignment

Expression& slang::ast::AssignmentExpression::right()

Returns the right-hand side of the assignment

Variable documentation

std::optional<BinaryOperator> slang::ast::AssignmentExpression::op

An optional operator that applies to the assignment (i.e.

a compound assignment expression).