Struct panopticon_core::function::Function [] [src]

pub struct Function {
    pub name: String,
    // some fields omitted
}

A set of basic blocks connected by conditional jumps

Fields

Display name of the function.

Methods

impl Function
[src]

[src]

Create an undefined Function. This function has undefined behavior. Creating an undefined Function always succeeds, and is usually a bad idea. Don't do it unless you know what you're doing.

[src]

Continue disassembling from start, at region, with CPU configuration, using the functions current, internal control flow graph.

[src]

Create and start disassembling a new function with name, inside memory region, starting at entry point start, with a random UUID.

[src]

Returns the start address of the first basic block in this function

[src]

Returns the end address of the highest basic block in this function

[src]

Whether the given address is contained within this function

[src]

New function starting at start, with name name, inside memory region region and UUID uuid.

[src]

Returns the UUID of this function

[src]

The size of this function, in bytes (only counts the number of instructions, not padding bytes, or gaps for non-contiguous functions)

[src]

Returns a reference to this functions control flow graph

[src]

Adds alias to this functions known aliases

[src]

Sets this function's plt stub entry at plt_address, as name. Note This will alter the function's kind from Regular to Stub, and will also change move its canonical name into aliases.

[src]

Returns this functions FunctionKind

[src]

Returns this functions known name aliases (names pointing to the same start address)

[src]

Returns a mutable reference to this functions control flow graph; WARNING this can cause instability if the entry point is not correctly updated

[src]

Returns a reference to the entry point vertex in the cfg

[src]

Sets the functions entry point vertex in the cfg to vx (this is primarily for use in tests).

WARNING Make sure the vertex descriptor actually is the entry point and points to a resolved basic block, otherwise subsequent operations on this function will be undefined.

[src]

Returns a reference to the BasicBlock entry point of this function.

[src]

Returns a mutable reference to the BasicBlock entry point of this function.

[src]

Whether this function is a leaf function or not (no outgoing calls)

[src]

Returns an iterator over this functions BasicBlocks

[src]

Returns the address of every function this function calls

[src]

Returns all call targets.

[src]

Returns the basic block that begins at a.

[src]

Returns the basic block that contains a.

[src]

Returns all nodes in the graph of this function in post order.

[src]

Return a boxed iterator over every statement in this function

[src]

Returns the functions basic block graph in graphivz's DOT format. Useful for debugging.

Trait Implementations

impl Debug for Function
[src]

[src]

Formats the value using the given formatter. Read more

impl Clone for Function
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more