decompiler
1.0.0
|
Class for holding an edge while the underlying graph is being manipulated. More...
#include <blockaction.hh>
Public Member Functions | |
FloatingEdge (FlowBlock *t, FlowBlock *b) | |
Construct given end points. | |
FlowBlock * | getTop (void) const |
Get the starting FlowBlock. | |
FlowBlock * | getBottom (void) const |
Get the ending FlowBlock. | |
FlowBlock * | getCurrentEdge (int4 &outedge, FlowBlock *graph) |
Get the current form of the edge. More... | |
Private Attributes | |
FlowBlock * | top |
Starting FlowBlock of the edge. | |
FlowBlock * | bottom |
Ending FlowBlock of the edge. | |
Class for holding an edge while the underlying graph is being manipulated.
The original FlowBlock nodes that define the end-points of the edge may get collapsed, but the edge may still exist between higher level components. The edge can still be retrieved via the getCurrentEdge() method.
Get the current form of the edge.
Retrieve the current edge (as a top FlowBlock and the index of the outgoing edge). If the end-points have been collapsed together, this returns NULL. The top and bottom nodes of the edge are updated to FlowBlocks in the current collapsed graph.
outedge | will hold the index of the edge (outgoing relative to returned FlowBlock) |
graph | is the containing BlockGraph |
References bottom, ghidra::FlowBlock::getOutIndex(), ghidra::FlowBlock::getParent(), and top.
Referenced by getBottom().