slang::ast::AssignmentExpression class

Represents an assignment expression.

Base classes

class Expression
The base class for all expressions in SystemVerilog.

Public functions

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

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).