|
Static Value-Flow Analysis
|
#include <WTO.h>
Public Types | |
| typedef GraphT::NodeType | NodeT |
| typedef NodeRefList::const_iterator | Iterator |
Public Member Functions | |
| WTOCycleDepth ()=default | |
| Constructor. | |
| WTOCycleDepth (const WTOCycleDepth &)=default | |
| Copy constructor. | |
| WTOCycleDepth (WTOCycleDepth &&)=default | |
| Move constructor. | |
| WTOCycleDepth & | operator= (const WTOCycleDepth &)=default |
| Copy assignment operator. | |
| WTOCycleDepth & | operator= (WTOCycleDepth &&)=default |
| Move assignment operator. | |
| ~WTOCycleDepth ()=default | |
| Destructor. | |
| void | add (const NodeT *head) |
| Add a cycle head in the cycleDepth. | |
| Iterator | begin () const |
| Begin iterator over the head of cycles. | |
| Iterator | end () const |
| End iterator over the head of cycles. | |
| WTOCycleDepth | operator^ (const WTOCycleDepth &other) const |
| Return the common prefix of the given cycle depths. | |
| 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. | |
Private Types | |
| typedef std::vector< const NodeT * > | NodeRefList |
Private Member Functions | |
| int | compare (const WTOCycleDepth &other) const |
| Compare the given cycle depths. | |
Private Attributes | |
| NodeRefList | _heads |
Friends | |
| std::ostream & | operator<< (std::ostream &o, const WTOCycleDepth< GraphT > &wto) |
| Overloading operator << for dumping ICFG node ID. | |
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 |
|
inlineprivate |
Compare the given cycle depths.
Definition at line 174 of file WTO.h.
|
inline |
|
inline |
|
inline |
|
default |
Copy assignment operator.
|
default |
Move assignment operator.
|
inline |
|
inline |
|
inline |
|
inline |
Return the common prefix of the given cycle depths.
Definition at line 154 of file WTO.h.
|
inline |
Dump the cycleDepth, for debugging purpose.
|
friend |
|
private |