slang::ast::EvaluatedDimension struct

The result of evaluating dimension syntax nodes.

Public functions

bool isRange() const
Indicates whether the dimension is for a range (as opposed to a single index or an associative array access, for example).

Public variables

DimensionKind kind
The kind of dimension indicated by the syntax nodes.
ConstantRange range
The compile-time constant range specifying the dimensions.
const Type* associativeType
If the dimension is for an associative type, this is a pointer to that type.
uint32_t queueMaxSize
If the dimension is for a queue type, this is the optionally specified max queue size.
const Expression* leftExpr
For Range and AbbreviatedRange kinds, the original left-bound expression as it appeared in the source (e.g.
const Expression* rightExpr
For Range kind only, the original right-bound expression as it appeared in the source (e.g.

Variable documentation

const Type* slang::ast::EvaluatedDimension::associativeType

If the dimension is for an associative type, this is a pointer to that type.

Otherwise nullptr.

const Expression* slang::ast::EvaluatedDimension::leftExpr

For Range and AbbreviatedRange kinds, the original left-bound expression as it appeared in the source (e.g.

the expression for W-1 in [W-1:0]), or nullptr if not applicable.

const Expression* slang::ast::EvaluatedDimension::rightExpr

For Range kind only, the original right-bound expression as it appeared in the source (e.g.

the expression for 0 in [W-1:0]), or nullptr if not applicable.