Static Value-Flow Analysis
|
#include <WTO.h>
Public Types | |
typedef GraphT::NodeType | NodeT |
typedef NodeRefList::const_iterator | Iterator |
Public Member Functions | |
WTOCycleDepth ()=default | |
Constructor. More... | |
WTOCycleDepth (const WTOCycleDepth &)=default | |
Copy constructor. More... | |
WTOCycleDepth (WTOCycleDepth &&)=default | |
Move constructor. More... | |
WTOCycleDepth & | operator= (const WTOCycleDepth &)=default |
Copy assignment operator. More... | |
WTOCycleDepth & | operator= (WTOCycleDepth &&)=default |
Move assignment operator. More... | |
~WTOCycleDepth ()=default | |
Destructor. More... | |
void | add (const NodeT *head) |
Add a cycle head in the cycleDepth. More... | |
Iterator | begin () const |
Begin iterator over the head of cycles. More... | |
Iterator | end () const |
End iterator over the head of cycles. More... | |
WTOCycleDepth | operator^ (const WTOCycleDepth &other) const |
Return the common prefix of the given cycle depths. More... | |
bool | operator< (const WTOCycleDepth &other) const |
bool | operator<= (const WTOCycleDepth &other) const |
bool | operator== (const WTOCycleDepth &other) const |
bool | operator>= (const WTOCycleDepth &other) const |
bool | operator> (const WTOCycleDepth &other) const |
std::string | toString () const |
Dump the cycleDepth, for debugging purpose. More... | |
Private Types | |
typedef std::vector< const NodeT * > | NodeRefList |
Private Member Functions | |
int | compare (const WTOCycleDepth &other) const |
Compare the given cycle depths. More... | |
Private Attributes | |
NodeRefList | _heads |
Friends | |
std::ostream & | operator<< (std::ostream &o, const WTOCycleDepth< GraphT > &wto) |
Overloading operator << for dumping ICFG node ID. More... | |
Cycle depth of a WTO Component
The cycle depth is represented as a list of cycle's heads, from the outermost to the innermost.
e.g., consider the following nested cycle:
-->1 --> 2 --> 3 --> 4 \ / <– 6 <– 5 <– \ / >7>
where C1: (1 2 3 4 5 6 7) is the outer cycle, where 1 is the head, and C2: (5 6 7) is the inner cycle, where 5 is the head.
typedef NodeRefList::const_iterator SVF::WTOCycleDepth< GraphT >::Iterator |
|
private |
typedef GraphT::NodeType SVF::WTOCycleDepth< GraphT >::NodeT |
|
default |
Constructor.
|
default |
Copy constructor.
|
default |
Move constructor.
|
default |
Destructor.
|
inline |
|
inline |
|
inlineprivate |
|
inline |
|
inline |
|
inline |
|
default |
Copy assignment operator.
|
default |
Move assignment operator.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
|
private |