retdec
Public Member Functions | Private Attributes | Friends | List of all members
retdec::llvmir2hll::CFG::Edge Class Reference

An edge of a CFG (represents program flow). More...

#include <cfg.h>

Inheritance diagram for retdec::llvmir2hll::CFG::Edge:
Inheritance graph
[legend]
Collaboration diagram for retdec::llvmir2hll::CFG::Edge:
Collaboration graph
[legend]

Public Member Functions

 Edge (ShPtr< Node > src, ShPtr< Node > dst, ShPtr< Expression > label=nullptr)
 Constructs a new edge src -> dst, optionally labelled by label. More...
 
ShPtr< NodegetSrc () const
 Returns the source node of the edge. More...
 
ShPtr< ExpressiongetLabel () const
 Returns the edge's label. More...
 
ShPtr< NodegetDst () const
 Returns the destination node of the edge. More...
 

Private Attributes

ShPtr< Nodesrc
 Edge source. More...
 
ShPtr< Expressionlabel
 Edge label. More...
 
ShPtr< Nodedst
 Edge destination. More...
 

Friends

class RecursiveCFGBuilder
 
class NonRecursiveCFGBuilder
 

Additional Inherited Members

- Private Member Functions inherited from retdec::utils::NonCopyable
 NonCopyable (const NonCopyable &)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
 NonCopyable ()=default
 
 ~NonCopyable ()=default
 

Detailed Description

An edge of a CFG (represents program flow).

Instances of this class have reference object semantics.

Constructor & Destructor Documentation

◆ Edge()

retdec::llvmir2hll::CFG::Edge::Edge ( ShPtr< Node src,
ShPtr< Node dst,
ShPtr< Expression label = nullptr 
)

Constructs a new edge src -> dst, optionally labelled by label.

Parameters
[in]srcSource node.
[in]dstDestination node.
[in]labelOptional edge label.

Member Function Documentation

◆ getDst()

ShPtr< CFG::Node > retdec::llvmir2hll::CFG::Edge::getDst ( ) const

Returns the destination node of the edge.

◆ getLabel()

ShPtr< Expression > retdec::llvmir2hll::CFG::Edge::getLabel ( ) const

Returns the edge's label.

The returned label may be null.

◆ getSrc()

ShPtr< CFG::Node > retdec::llvmir2hll::CFG::Edge::getSrc ( ) const

Returns the source node of the edge.

Friends And Related Function Documentation

◆ NonRecursiveCFGBuilder

friend class NonRecursiveCFGBuilder
friend

◆ RecursiveCFGBuilder

friend class RecursiveCFGBuilder
friend

Member Data Documentation

◆ dst

ShPtr<Node> retdec::llvmir2hll::CFG::Edge::dst
private

Edge destination.

◆ label

ShPtr<Expression> retdec::llvmir2hll::CFG::Edge::label
private

Edge label.

◆ src

ShPtr<Node> retdec::llvmir2hll::CFG::Edge::src
private

Edge source.


The documentation for this class was generated from the following files: