Struct Graph

Source
pub struct Graph { /* private fields */ }
Expand description

The combined control-flow graph.

Implementations§

Source§

impl Graph

Source

pub fn new() -> Graph

Creates a new graph.

Source

pub fn merge(&mut self, gcov: Gcov) -> Result<()>

Merges a parsed GCNO/GCDA into the graph.

§Errors
  • Returns VersionMismatch if a file has a different version than the previous ones merged.
  • Returns DuplicatedFunction if the same function is merged twice.
  • Returns MissingFunction if a function referred in a GCDA does not exist in the graph.
  • Returns CountsMismatch if the number of profiled arcs in a GCDA does not match the corresponding GCNO.
Source

pub fn analyze(&mut self)

Analyzes the graph.

This should be called after all GCNO/GCDAs are merged and before a report is generated.

This method mainly converts the raw arc counts (branch coverage) to block counts (line coverage). If this is not called, the report will be empty.

Source

pub fn report(&self) -> Report

Obtains a coverage report from the graph.

Source§

impl Graph

Source

pub fn write_dot<W: Write>( &self, function_name: Symbol, writer: W, ) -> Result<()>

Writes out the graph as Graphvis *.dot format.

This is mainly intended for debugging.

Only functions with name matching the input function_name symbol will be printed. If the function_name is UNKNOWN_SYMBOL, however, all nodes will be printed.

Trait Implementations§

Source§

impl Clone for Graph

Source§

fn clone(&self) -> Graph

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Graph

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Graph

Source§

fn default() -> Graph

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Graph

§

impl RefUnwindSafe for Graph

§

impl Send for Graph

§

impl Sync for Graph

§

impl Unpin for Graph

§

impl UnwindSafe for Graph

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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 T
where 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<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

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 T
where U: TryFrom<T>,

Source§

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.