1#ifndef _SUSPENSION_AUTOMATA_H_
2#define _SUSPENSION_AUTOMATA_H_
7#include "clang/AST/DeclCXX.h"
8#include "clang/AST/ParentMap.h"
9#include "clang/Analysis/CFG.h"
10#include "clang/Analysis/CFGStmtMap.h"
11#include "llvm/Support/raw_ostream.h"
109 void dump(raw_ostream &);
135 llvm::raw_ostream &);
138 void checkInsert(vector<SusCFG *>, vector<SusCFG *> &);
A set of utility functions in the Utility class.
SusCFG * returnSusCFGBlock()
State(SusCFG *, bool, bool, bool, bool)
void addEventName(string)
SusCFG * _parentSusCFGBlock
void addPredBlocks(SusCFG *)
vector< SusCFG * > getSuccBlocks()
void addParentBlock(CFGBlock *)
SusCFG * getParentSusCFGBlock()
CFGBlock * _parentCFGBlock
CFGBlock * getParentCFGBlock()
vector< SusCFG * > getChildBlockList()
vector< SusCFG * > getPredBlocks()
unsigned int getBlockID()
void addSuccBlocks(SusCFG *)
vector< SusCFG * > _childBlockList
vector< SusCFG * > _predBlocks
unsigned int getParentBlockID()
void addChildBlockList(SusCFG *)
vector< SusCFG * > _succBlocks
SuspensionAutomata(vector< WaitContainer * >, CXXMethodDecl *, ASTContext *, llvm::raw_ostream &)
bool isTimedWait(Stmt *stmt)
string getArgumentName(Expr *arg)
susCFGVectorType _susCFGVector
transitionVectorType getSauto()
map< SusCFG *, int > susCFGSuccIDMapType
stateCommonCodeBlockMapType _stateCommonCodeBlockMap
pair< SusCFG *, int > susCFGSuccIDPairType
susCFGVectorType getSusCFG()
void addRemainingBlocks(State *, vector< SusCFG * > &)
pair< State *, vector< SusCFG * > > stateCommonCodeBlockPairType
vector< SusCFG * > modifDFS(SusCFG *, State *)
susCFGStateMapType susCFGStateMap
vector< CallExpr * > _waitCalls
vector< SusCFG * > susCFGVectorType
pair< SusCFG *, State * > susCFGStatePairType
map< SusCFG *, State * > susCFGStateMapType
vector< Transition * > transitionVectorType
bool isFound(vector< SusCFG * >, SusCFG *)
bool isEventWait(Stmt *stmt)
void checkInsert(vector< SusCFG * >, vector< SusCFG * > &)
susCFGSuccIDMapType susCFGSuccIDMap
transitionVectorType _transitionVector
string getEvent(Stmt *stmt)
float getTime(Stmt *stmt)
bool isWaitCall(const CFGStmt *cs)
bool isDeltaWait(Stmt *stmt)
map< State *, vector< SusCFG * > > stateCommonCodeBlockMapType
void addFinalState(State *)
vector< SusCFG * > _codeBlockVector
vector< SusCFG * > returnCodeBlocks()
void addInitialState(State *)
State * returnInitialState()
State * returnFinalState()
void addCodeBlocks(SusCFG *)
Clang forward declarations.