struct
#include <slang/ast/ASTContext.h>
AssertionInstanceDetails Information required to instantiate a sequence, property, or checker instance.
Public variables
- const Symbol* symbol
- The assertion member being instantiated.
- const ASTContext* prevContext
- The previous AST context used to start the instantiation.
- SourceLocation instanceLoc
- The location where the instance is being instantiated.
-
flat_hash_map<const Symbol*, std::
tuple<const syntax:: PropertyExprSyntax*, ASTContext>> argumentMap - A map of formal argument symbols to their actual replacements.
-
flat_hash_map<std::
string_view, const Symbol*> localVars - A map of local variables declared in the assertion item.
- SourceLocation argExpansionLoc
- If an argument to a sequence or property is being expanded, this member contains the source location where the argument was referenced.
- const AssertionInstanceDetails* argDetails
- If an argument is being expanded, this is the context in which the argument was originally being created (as opposed to where it is being expanded now).
- bool isRecursive
- Indicates whether this particular instance has already been seen previously in the stack of assertion instances being expanded.
Variable documentation
const ASTContext* slang:: ast:: AssertionInstanceDetails:: prevContext
The previous AST context used to start the instantiation.
This effectively forms a linked list when expanding a nested stack of sequence and property instances.
flat_hash_map<std:: string_view, const Symbol*> slang:: ast:: AssertionInstanceDetails:: localVars
A map of local variables declared in the assertion item.
These don't exist in any scope because their types can depend on the expanded arguments.
bool slang:: ast:: AssertionInstanceDetails:: isRecursive
Indicates whether this particular instance has already been seen previously in the stack of assertion instances being expanded.
Only applicable to properties, since this is illegal for sequences.