Module panopticon_core::program [] [src]

A graph of functions and symbolic references.

The edges of the function graph (call graph) signify that one function calls another. Aside from functions symbolic references are also part of the call graph. These are placeholders for external functions imported from dynamic libraries.

Program instances also have a human-readable name and a unique ID.

Unlike the basic block graph of a function, a call graph has no error nodes. If disassembling a function fails, it will still be added to the call graph. The function will only have a single error node.

Structs

FunctionIterator

An iterator over every Function in this Program

FunctionMutIterator

An iterator over every Function in this Program

Program

A collection of functions calling each other.

Enums

CallTarget

Node of the program call graph.

Type Definitions

CallGraph

Graph of functions/symbolic references

CallGraphRef

Stable reference to a call graph node