11 : entry_name_(
"NONE"),
13 entry_method_decl_(nullptr) {}
16 clang::CXXMethodDecl *d, clang::Stmt *s)
17 : entry_name_(n), process_type_(p), entry_method_decl_(d) {}
34 std::pair<std::string, const clang::Expr *> reset_signal) {
39 std::pair<std::string, const clang::Expr *> reset_edge) {
53const std::pair<std::string, const clang::Expr *>
104 for (FindWait::waitListType::iterator it = wcalls.begin(), eit = wcalls.end();
133 for (FindNotify::NotifyCallListType::iterator it = ncalls.begin(),
145 os <<
"\n#############################################";
149 for (
unsigned int i = 0; i < susCFGVector.size(); i++) {
150 os <<
"\n Block ID : " << susCFGVector.at(i)->getBlockID();
151 os <<
"\n Is Wait Block : " << susCFGVector.at(i)->isWaitBlock();
152 if (susCFGVector.at(i)->getParentBlockID()) {
153 os <<
"\n Parent ID : " << susCFGVector.at(i)->getParentBlockID();
156 os <<
"\n Parent Block ID : " << parentBlock->
getBlockID();
159 vector<SusCFG *> predBlocks = susCFGVector.at(i)->getPredBlocks();
160 vector<SusCFG *> succBlocks = susCFGVector.at(i)->getSuccBlocks();
161 os <<
"\n Predecessor Blocks : ";
162 for (
unsigned int j = 0; j < predBlocks.size(); j++) {
163 if (predBlocks.at(j)) {
164 os << predBlocks.at(j)->getBlockID() <<
" ";
167 os <<
"\n Successor Blocks : ";
168 for (
unsigned int j = 0; j < succBlocks.size(); j++) {
169 if (succBlocks.at(j)) {
170 os << succBlocks.at(j)->getBlockID() <<
" ";
179 vector<Transition *> transitionVector =
_susAuto;
180 os <<
"\n Size of transitionVector : " << transitionVector.size();
181 for (
unsigned int i = 0; i < transitionVector.size(); i++) {
191 os <<
"EntryFunctionContainer '" <<
getName() <<
"' processType '";
200 os <<
"SC_CTHREAD' ";
217 os <<
" Wait Calls \n";
218 for (waitContainerListType::iterator it =
_waitCalls.begin(),
221 (*it)->dump(os, newTabn);
223 os <<
" Notify Calls \n";
224 for (notifyContainerListType::iterator it =
_notifyCalls.begin(),
227 (*it)->dump(os, newTabn);
230 os <<
"\nReset signals\n";
A container class to hold entry function information.
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_
bool isResetAsync() const
waitContainerListType getWaitCalls()
std::vector< Transition * > _susAuto
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 &)
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)
void dump(llvm::raw_ostream &)
SuspensionAutomata::susCFGVectorType getSusCFG()
std::vector< clang::CallExpr * > NotifyCallListType
clang::CXXMethodDecl * getEntryMethod() const
NotifyCallListType getNotifyCallList() const
vector< WaitContainer * > waitListType
clang::CXXMethodDecl * getEntryMethod() const
waitListType getWaitCalls()
SusCFG * getParentSusCFGBlock()
vector< SusCFG * > getChildBlockList()
unsigned int getBlockID()
transitionVectorType getSauto()
susCFGVectorType getSusCFG()
vector< SusCFG * > susCFGVectorType
vector< Transition * > transitionVectorType