pub struct RustCallGraphBuilder { /* private fields */ }Expand description
Builder for Rust-specific call graph analysis
Implementations§
Source§impl RustCallGraphBuilder
impl RustCallGraphBuilder
Sourcepub fn with_config(config: AnalysisConfig) -> Self
pub fn with_config(config: AnalysisConfig) -> Self
Create a builder with custom configuration
Sourcepub fn from_base_graph(base_graph: CallGraph) -> Self
pub fn from_base_graph(base_graph: CallGraph) -> Self
Start with an existing base call graph
Sourcepub fn analyze_basic_calls(
&mut self,
_file_path: &Path,
_ast: &File,
) -> Result<&mut Self>
pub fn analyze_basic_calls( &mut self, _file_path: &Path, _ast: &File, ) -> Result<&mut Self>
Phase 1: Analyze basic function calls (uses existing functionality)
Sourcepub fn analyze_trait_dispatch(
&mut self,
file_path: &Path,
ast: &File,
) -> Result<&mut Self>
pub fn analyze_trait_dispatch( &mut self, file_path: &Path, ast: &File, ) -> Result<&mut Self>
Phase 2: Analyze trait implementations and method dispatch
Sourcepub fn analyze_function_pointers(
&mut self,
file_path: &Path,
ast: &File,
) -> Result<&mut Self>
pub fn analyze_function_pointers( &mut self, file_path: &Path, ast: &File, ) -> Result<&mut Self>
Phase 3: Analyze function pointers and closures
Sourcepub fn analyze_framework_patterns(
&mut self,
file_path: &Path,
ast: &File,
) -> Result<&mut Self>
pub fn analyze_framework_patterns( &mut self, file_path: &Path, ast: &File, ) -> Result<&mut Self>
Phase 4: Detect framework patterns
Sourcepub fn analyze_cross_module(
&mut self,
workspace_files: &[(PathBuf, File)],
) -> Result<&mut Self>
pub fn analyze_cross_module( &mut self, workspace_files: &[(PathBuf, File)], ) -> Result<&mut Self>
Phase 5: Analyze cross-module dependencies
Sourcepub fn build(self) -> RustCallGraph
pub fn build(self) -> RustCallGraph
Complete the analysis and return the Rust-specific call graph
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RustCallGraphBuilder
impl RefUnwindSafe for RustCallGraphBuilder
impl Send for RustCallGraphBuilder
impl Sync for RustCallGraphBuilder
impl Unpin for RustCallGraphBuilder
impl UnwindSafe for RustCallGraphBuilder
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