pub struct FunctionBuilder<'s> { /* private fields */ }
Expand description

Allows creating a Function from unordered line and inlinee records.

The created function will have the correct tree structure, all the line records will be on the correct function node within the tree, and all lines and inlinees will be sorted by address.

Implementations§

source§

impl<'s> FunctionBuilder<'s>

source

pub fn new( name: Name<'s>, compilation_dir: &'s [u8], address: u64, size: u64 ) -> Self

Create a new builder for a given outer function.

source

pub fn add_inlinee( &mut self, depth: u32, name: Name<'s>, address: u64, size: u64, call_file: FileInfo<'s>, call_line: u64 )

Add an inlinee record. This method can be called in any order.

Inlinees which are called directly from the outer function have depth 0.

source

pub fn add_leaf_line( &mut self, address: u64, size: Option<u64>, file: FileInfo<'s>, line: u64 )

Add a line record, specifying the line at this address inside the innermost inlinee that covers that address. This method can be called in any order.

source

pub fn finish(self) -> Function<'s>

Create the Function, consuming the builder.

Auto Trait Implementations§

§

impl<'s> RefUnwindSafe for FunctionBuilder<'s>

§

impl<'s> Send for FunctionBuilder<'s>

§

impl<'s> Sync for FunctionBuilder<'s>

§

impl<'s> Unpin for FunctionBuilder<'s>

§

impl<'s> UnwindSafe for FunctionBuilder<'s>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<I, T> ExtractContext<I, ()> for T

source§

fn extract_context(self, _original_input: I)

Given the context attached to a nom error, and given the original input to the nom parser, extract more the useful context information. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<I> RecreateContext<I> for I

source§

fn recreate_context(_original_input: I, tail: I) -> I

Given the original input, as well as the context reported by nom, recreate a context in the original string where the error occurred. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.