#include <SensitivityMatcher.h>
◆ getMemberArraySubscriptExpr()
const clang::ArraySubscriptExpr * sc_ast_matchers::SensitiveOperatorCallMatcher::getMemberArraySubscriptExpr |
( |
| ) |
|
|
inline |
◆ getMemberExprCallExpr()
clang::CXXMemberCallExpr * sc_ast_matchers::SensitiveOperatorCallMatcher::getMemberExprCallExpr |
( |
| ) |
|
|
inline |
◆ getMemberExprWithoutCall()
clang::MemberExpr * sc_ast_matchers::SensitiveOperatorCallMatcher::getMemberExprWithoutCall |
( |
| ) |
|
|
inline |
◆ registerMatchers()
void sc_ast_matchers::SensitiveOperatorCallMatcher::registerMatchers |
( |
MatchFinder & | finder | ) |
|
|
inline |
This is the main matcher for identifying sensitivity lists.
The matcher starts in the constructor of a SystemC module.
- Within the constructor, we need to identify operator<< since that is the overloaded member used to add sensitivity parameters.
- We want to find every operator<< call with an argument, and those that have the FieldDecl used to be of a certain type (sc_event, sc_interface, ...). This is done because those are the parameters that are allowed for the operator<<.
2a. For the argument, we identify a call expression (cxxMemberCallExpr), or just a MemberExpr that has a declaration of a FieldDecl. 2b. The parameters that are allowed in operator<< are the following.
- sc_event
- sc_interface
- sc_event_finder
- sc_port_base
clang-format on
Definition at line 136 of file SensitivityMatcher.h.
◆ run()
virtual void sc_ast_matchers::SensitiveOperatorCallMatcher::run |
( |
const MatchFinder::MatchResult & | result | ) |
|
|
inlinevirtual |
◆ array_fd_
const clang::ArraySubscriptExpr* sc_ast_matchers::SensitiveOperatorCallMatcher::array_fd_ |
|
private |
◆ cxx_mcall_
clang::CXXMemberCallExpr* sc_ast_matchers::SensitiveOperatorCallMatcher::cxx_mcall_ |
|
private |
◆ me_wo_mcall_
clang::MemberExpr* sc_ast_matchers::SensitiveOperatorCallMatcher::me_wo_mcall_ |
|
private |
The documentation for this class was generated from the following file: