pub struct CallGraph<'m> { /* private fields */ }
Expand description
The call graph for the analyzed Module
(s): which functions may call which
other functions.
To construct a CallGraph
, use ModuleAnalysis
or CrossModuleAnalysis
.
Implementations§
Source§impl<'m> CallGraph<'m>
impl<'m> CallGraph<'m>
Sourcepub fn callers<'s>(
&'s self,
func_name: &'m str,
) -> impl Iterator<Item = &'m str> + 's
pub fn callers<'s>( &'s self, func_name: &'m str, ) -> impl Iterator<Item = &'m str> + 's
Get the names of functions in the analyzed Module
(s) which may call the
given function.
This analysis conservatively assumes that function pointers may point to
any function in the analyzed Module
(s) that has the appropriate type.
Panics if the given function is not found in the analyzed Module
(s).
Sourcepub fn callees<'s>(
&'s self,
func_name: &'m str,
) -> impl Iterator<Item = &'m str> + 's
pub fn callees<'s>( &'s self, func_name: &'m str, ) -> impl Iterator<Item = &'m str> + 's
Get the names of functions in the analyzed Module
(s) which may be
called by the given function.
This analysis conservatively assumes that function pointers may point to
any function in the analyzed Module
(s) that has the appropriate type.
Panics if the given function is not found in the analyzed Module
(s).
Auto Trait Implementations§
impl<'m> Freeze for CallGraph<'m>
impl<'m> RefUnwindSafe for CallGraph<'m>
impl<'m> Send for CallGraph<'m>
impl<'m> Sync for CallGraph<'m>
impl<'m> Unpin for CallGraph<'m>
impl<'m> UnwindSafe for CallGraph<'m>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more