Functions are a graph of
BasicBlocks connected with conditional jumps.
Functions have an entry point, a (non-unique) name and an unique identifier. Functions do not share basic blocks. In case functions overlap in the binary, the basic blocks are copied by the disassembler.
Functions have the concept of unresolved basic blocks. These are inserted into the graph if a indirect branch could not be resolved. If disassembly failes for example because an unknown instruction was found, an error node is inserted into the graph to allow displaying a message on the front-end.
An iterator over every BasicBlock in a Function
A set of basic blocks connected by conditional jumps
Node of the function graph.
The kind of function this is, to distinguish plt stubs from regular functions.
Stable reference to an edge in the
Graph of basic blocks and jumps
Stable reference to a node in the