class
UninstantiatedDefSymbolRepresents 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
- Base class for all symbols (logical code constructs) such as modules, types, functions, variables, etc.
Public functions
-
auto getPortConnections() const -> std::
span<const AssertionExpr*const> - Gets the self-determined expressions that are assigned to the ports in the instantiation.
-
auto getPortNames() const -> std::
span<std:: string_view const> - The names of the ports that were connected in the instance.
- auto isChecker() const -> bool
- Returns true if we've determined this must be a checker instance based on the syntax used to instantiate it.
Public variables
-
std::
string_view definitionName - The name of the definition.
-
std::
span<const Expression*const > paramExpressions - The self-determined expressions that are assigned to the parameters in the instantiation.
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.
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.