Information required to instantiate a sequence, property, or checker instance.
- const Symbol* symbol
- The assertion member being instantiated.
- const ASTContext* prevContext
- SourceLocation instanceLoc
- The location where the instance is being instantiated.
map_with_incomplete_type<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
- SourceLocation argExpansionLoc
- const AssertionInstanceDetails* argDetails
- bool isRecursive
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.
ast:: AssertionInstanceDetails:: 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* slang::
ast:: 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).
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.