slang::ast::UninstantiatedDefSymbol class

Represents an instance of a definition (module / interface / program / checker) that is not actually instantiated in the design. This is a placeholder in the AST to record this instance and capture its port expressions.

Base classes

class Symbol

Public functions

auto getPortConnections() const -> std::span<const AssertionExpr*const>
auto getPortNames() const -> std::span<std::string_view const>
auto isChecker() const -> bool

Public variables

std::string_view definitionName
The name of the definition.
std::span<const Expression*const > paramExpressions

Function documentation

std::span<const AssertionExpr*const> slang::ast::UninstantiatedDefSymbol::getPortConnections() const

Gets the self-determined expressions that are assigned to the ports in the instantiation. These aren't necessarily correctly typed since we can't know the destination type of each port.

std::span<std::string_view const> slang::ast::UninstantiatedDefSymbol::getPortNames() const

The names of the ports that were connected in the instance. If the names are not known, because ordered connection syntax was used, the associated port name will be the empty string.

bool slang::ast::UninstantiatedDefSymbol::isChecker() const

Returns true if we've determined this must be a checker instance based on the syntax used to instantiate it.

Variable documentation

std::span<const Expression*const > slang::ast::UninstantiatedDefSymbol::paramExpressions

The self-determined expressions that are assigned to the parameters in the instantiation. These aren't necessarily correctly typed since we can't know the destination type of each parameter.