Class SensitivityMatcher

Inheritance Relationships

Base Type

  • public MatchCallback

Class Documentation

class sc_ast_matchers::SensitivityMatcher : public MatchCallback

Class SensitivityMatcher.

Public Types

typedef std::tuple<std::string, clang::ValueDecl*, clang::MemberExpr*, clang::DeclRefExpr*, clang::ArraySubscriptExpr*> SensitivityTupleType

A sensitivity will typically have a member field, and sometimes a call on the member field. The ValueDecl records the FieldDecl, and the VarDecl that may be used in the sensitivity list. The MemberExpr is just a way to represent where this particular ValueDecl was found for further parsing. The VarDecl* is the process handle to which this sensitivity is bound to.

typedef std::pair<std::string, std::vector<SensitivityTupleType>> SensitivityPairType

This is the pair for inserting key-value entries in the map.

typedef std::map<std::string, std::vector<SensitivityTupleType>> SenseMapType

The key is going to be the name of the FieldDecl/VarDecl.

Public Functions

inline SenseMapType getSensitivityMap()

Return the sensitivity map that has been created.

This method just returns the identified map of sensitivity lists.

Returns

A map of sensitivity lists found.

inline void registerMatchers(MatchFinder &finder)

Defines the matcher, and setup the matcher.

inline virtual void run(const MatchFinder::MatchResult &result)

This is the callback function whenever there is a match.

inline void dump()

Dump out the detected sensitivity list for every process.

This is going to print out the sensitivity list.