Ghidra Decompiler Analysis Engine
Public Member Functions | Public Attributes | List of all members
BlockEdge Struct Reference

A control-flow edge between blocks (FlowBlock) More...

#include <block.hh>

Collaboration diagram for BlockEdge:
Collaboration graph
[legend]

Public Member Functions

void saveXml (ostream &s) const
 Save the edge to an XML stream. More...
 
void restoreXml (const Element *el, BlockMap &resolver)
 Restore this edge from an XML stream. More...
 

Public Attributes

uint4 label
 Label of the edge.
 
FlowBlockpoint
 Other end of the edge.
 
int4 reverse_index
 Index for edge coming other way.
 

Detailed Description

A control-flow edge between blocks (FlowBlock)

The edge is owned by the source block and can have FlowBlock::edge_flags labels applied to it. The point indicates the FlowBlock at the other end from the source block. NOTE: The control-flow direction of the edge can only be determined from context, whether the edge is in the incoming or outgoing edge list.

Member Function Documentation

◆ restoreXml()

void BlockEdge::restoreXml ( const Element el,
BlockMap resolver 
)

Restore this edge from an XML stream.

Parameters
elis the <edge> tag
resolveris used to cross-reference the edge's FlowBlock endpoints

◆ saveXml()

void BlockEdge::saveXml ( ostream &  s) const

Save the edge to an XML stream.

The edge is saved assuming we already know what block we are in

Parameters
sis the output stream

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