15#ifndef _ENTRY_FUNCTION_CONTAINER_H_
16#define _ENTRY_FUNCTION_CONTAINER_H_
33 class ArraySubscriptExpr;
46 class NotifyContainer;
71 typedef std::pair<int, SuspensionAutomata::transitionVectorType>
73 typedef std::map<int, SuspensionAutomata::transitionVectorType>
76 typedef std::pair<int, SuspensionAutomata::susCFGVectorType>
78 typedef std::map<int, SuspensionAutomata::susCFGVectorType>
82 typedef std::tuple<std::string, clang::ValueDecl *, clang::MemberExpr *,
83 clang::VarDecl*, clang::ArraySubscriptExpr *, clang::ForStmt *>
85 typedef std::pair<std::string, std::vector<SensitivityTupleType>>
88 typedef std::map<std::string, std::vector<SensitivityTupleType>>
SenseMapType;
124 void dump(llvm::raw_ostream &);
128 void addResetSignal(std::pair<std::string, const clang::Expr*> reset_signal);
129 void addResetEdge(std::pair<std::string, const clang::Expr*> reset_edge);
132 const std::pair<std::string, const clang::Expr*>
getResetSignal()
const;
133 const std::pair<std::string, const clang::Expr*>
getResetEdge()
const;
A set of utility functions in the Utility class.
void setEntryMethod(clang::CXXMethodDecl *)
std::map< std::string, std::vector< SensitivityTupleType > > SenseMapType
std::vector< SusCFG * > _susCFG
const std::pair< std::string, const clang::Expr * > getResetSignal() const
notifyContainerListType _notifyCalls
SenseMapType getSenseMap()
virtual ~EntryFunctionContainer()
Destructor.
PROCESS_TYPE process_type_
std::map< int, SuspensionAutomata::transitionVectorType > instanceSautoMapType
bool isResetAsync() const
waitContainerListType getWaitCalls()
std::tuple< std::string, clang::ValueDecl *, clang::MemberExpr *, clang::VarDecl *, clang::ArraySubscriptExpr *, clang::ForStmt * > SensitivityTupleType
instanceSautoMapType getInstanceSautoMap()
std::pair< int, SuspensionAutomata::susCFGVectorType > instanceSusCFGPairType
std::vector< Transition * > _susAuto
instanceSusCFGMapType getInstanceSusCFGMap()
std::pair< std::string, const clang::Expr * > reset_signal_
Reset information.
const std::pair< std::string, const clang::Expr * > getResetEdge() const
waitContainerListType _waitCalls
clang::CXXMethodDecl * entry_method_decl_
void addNotifys(FindNotify &)
EntryFunctionContainer(std::string, PROCESS_TYPE, clang::CXXMethodDecl *, clang::Stmt *)
clang::CXXMethodDecl * getEntryMethod()
void addSusCFGAuto(SuspensionAutomata &)
void addSensitivityInfo(SenseMapType &)
notifyContainerListType getNotifyCalls()
SuspensionAutomata::transitionVectorType getSusAuto()
void dumpSusCFG(llvm::raw_ostream &)
void addWaits(FindWait &)
void dumpSauto(llvm::raw_ostream &)
std::vector< NotifyContainer * > notifyContainerListType
void setName(std::string)
PROCESS_TYPE getProcessType()
void addResetEdge(std::pair< std::string, const clang::Expr * > reset_edge)
std::pair< std::string, const clang::Expr * > reset_edge_
void addResetSignal(std::pair< std::string, const clang::Expr * > reset_signal)
void setProcessType(PROCESS_TYPE)
std::vector< WaitContainer * > waitContainerListType
typedefs
void addResetType(bool reset_type)
std::pair< int, SuspensionAutomata::transitionVectorType > instanceSautoPairType
void dump(llvm::raw_ostream &)
SuspensionAutomata::susCFGVectorType getSusCFG()
std::map< int, SuspensionAutomata::susCFGVectorType > instanceSusCFGMapType
std::pair< std::string, std::vector< SensitivityTupleType > > SensitivityPairType
vector< SusCFG * > susCFGVectorType
vector< Transition * > transitionVectorType
Clang forward declarations.