pub struct CrossModuleTracker { /* private fields */ }Expand description
Tracker for cross-module dependencies and public APIs
Implementations§
Source§impl CrossModuleTracker
impl CrossModuleTracker
Sourcepub fn analyze_workspace(
&mut self,
workspace_files: &[(PathBuf, File)],
) -> Result<()>
pub fn analyze_workspace( &mut self, workspace_files: &[(PathBuf, File)], ) -> Result<()>
Analyze workspace files for cross-module dependencies
Sourcepub fn get_cross_module_calls(&self) -> Vector<CrossModuleCall>
pub fn get_cross_module_calls(&self) -> Vector<CrossModuleCall>
Get all cross-module calls
Sourcepub fn get_public_apis(&self) -> Vec<PublicApiInfo>
pub fn get_public_apis(&self) -> Vec<PublicApiInfo>
Get all public APIs
Sourcepub fn is_public_api(&self, func_id: &FunctionId) -> bool
pub fn is_public_api(&self, func_id: &FunctionId) -> bool
Check if a function is a public API
Sourcepub fn resolve_module_call(
&self,
module_path: &str,
function_name: &str,
) -> Option<FunctionId>
pub fn resolve_module_call( &self, module_path: &str, function_name: &str, ) -> Option<FunctionId>
Resolve a cross-module call to a specific function
Sourcepub fn get_statistics(&self) -> CrossModuleStatistics
pub fn get_statistics(&self) -> CrossModuleStatistics
Get statistics about cross-module usage
Sourcepub fn get_public_exclusions(&self) -> HashSet<FunctionId>
pub fn get_public_exclusions(&self) -> HashSet<FunctionId>
Get functions that should be excluded from dead code analysis
Sourcepub fn get_crate_visible_functions(&self) -> HashSet<FunctionId>
pub fn get_crate_visible_functions(&self) -> HashSet<FunctionId>
Get crate-visible functions that might be used by other modules
Trait Implementations§
Source§impl Clone for CrossModuleTracker
impl Clone for CrossModuleTracker
Source§fn clone(&self) -> CrossModuleTracker
fn clone(&self) -> CrossModuleTracker
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CrossModuleTracker
impl Debug for CrossModuleTracker
Auto Trait Implementations§
impl Freeze for CrossModuleTracker
impl RefUnwindSafe for CrossModuleTracker
impl Send for CrossModuleTracker
impl Sync for CrossModuleTracker
impl Unpin for CrossModuleTracker
impl UnwindSafe for CrossModuleTracker
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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