Class SensitiveOperatorCallMatcher¶
Defined in File SensitivityMatcher.h
Inheritance Relationships¶
Base Type¶
public MatchCallback
Class Documentation¶
-
class
sc_ast_matchers::SensitiveOperatorCallMatcher: public MatchCallback¶ class SensitiveOperatorCallMatcher
Public Functions
-
inline clang::CXXMemberCallExpr *
getMemberExprCallExpr()¶
-
inline clang::MemberExpr *
getMemberExprWithoutCall()¶
-
inline const clang::ArraySubscriptExpr *
getMemberArraySubscriptExpr()¶
-
inline void
registerMatchers(MatchFinder &finder)¶ 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
-
inline virtual void
run(const MatchFinder::MatchResult &result)¶
-
inline clang::CXXMemberCallExpr *