# Module panopticon_core::function
[−]
[src]

Functions are a graph of `BasicBlock`

s 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.

## Structs

BasicBlockIterator |
An iterator over every BasicBlock in a Function |

Function |
A set of basic blocks connected by conditional jumps |

## Enums

ControlFlowTarget |
Node of the function graph. |

FunctionKind |
The kind of function this is, to distinguish plt stubs from regular functions. |

## Type Definitions

ControlFlowEdge |
Stable reference to an edge in the |

ControlFlowGraph |
Graph of basic blocks and jumps |

ControlFlowRef |
Stable reference to a node in the |