decompiler  1.0.0
Public Member Functions | Private Attributes | List of all members
ghidra::FloatingEdge Class Reference

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.
 
FlowBlockgetTop (void) const
 Get the starting FlowBlock.
 
FlowBlockgetBottom (void) const
 Get the ending FlowBlock.
 
FlowBlockgetCurrentEdge (int4 &outedge, FlowBlock *graph)
 Get the current form of the edge. More...
 

Private Attributes

FlowBlocktop
 Starting FlowBlock of the edge.
 
FlowBlockbottom
 Ending FlowBlock of the edge.
 

Detailed Description

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.

Member Function Documentation

◆ getCurrentEdge()

FlowBlock * ghidra::FloatingEdge::getCurrentEdge ( int4 &  outedge,
FlowBlock graph 
)

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.

Parameters
outedgewill hold the index of the edge (outgoing relative to returned FlowBlock)
graphis the containing BlockGraph
Returns
the current top of the edge or NULL

References bottom, ghidra::FlowBlock::getOutIndex(), ghidra::FlowBlock::getParent(), and top.

Referenced by getBottom().


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