pub struct ModuleAnalysis<'m> { /* private fields */ }
Expand description
Computes (and caches the results of) various analyses on a given Module
Implementations§
Source§impl<'m> ModuleAnalysis<'m>
impl<'m> ModuleAnalysis<'m>
Sourcepub fn new(module: &'m Module) -> Self
pub fn new(module: &'m Module) -> Self
Create a new ModuleAnalysis
for the given Module
.
This method itself is cheap; individual analyses will be computed lazily on demand.
Sourcepub fn module(&self) -> &'m Module
pub fn module(&self) -> &'m Module
Get a reference to the Module
which the ModuleAnalysis
was created
with.
Sourcepub fn call_graph(&self) -> Ref<'_, CallGraph<'m>>
pub fn call_graph(&self) -> Ref<'_, CallGraph<'m>>
Get the CallGraph
for the Module
.
Sourcepub fn functions_by_type(&self) -> Ref<'_, FunctionsByType<'m>>
pub fn functions_by_type(&self) -> Ref<'_, FunctionsByType<'m>>
Get the FunctionsByType
for the Module
.
Sourcepub fn fn_analysis<'s>(&'s self, func_name: &str) -> &'s FunctionAnalysis<'m>
pub fn fn_analysis<'s>(&'s self, func_name: &str) -> &'s FunctionAnalysis<'m>
Get the FunctionAnalysis
for the function with the given name.
Panics if no function of that name exists in the Module
which the
ModuleAnalysis
was created with.
Auto Trait Implementations§
impl<'m> !Freeze for ModuleAnalysis<'m>
impl<'m> !RefUnwindSafe for ModuleAnalysis<'m>
impl<'m> Send for ModuleAnalysis<'m>
impl<'m> !Sync for ModuleAnalysis<'m>
impl<'m> Unpin for ModuleAnalysis<'m>
impl<'m> UnwindSafe for ModuleAnalysis<'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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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