pub trait CallGraphRead {
Show 19 methods
// Required methods
fn project_root(&self) -> &Path;
fn project_key(&self) -> &str;
fn sqlite_path(&self) -> &Path;
fn is_current(&self) -> bool;
fn edge_snapshot(&self) -> Result<BTreeSet<StoredEdge>>;
fn indexed_file_count(&self) -> Result<usize>;
fn node_for(&self, file_rel: &Path, symbol: &str) -> Result<StoreNode>;
fn nodes_for(&self, file_rel: &Path, symbol: &str) -> Result<Vec<StoreNode>>;
fn nodes_matching(&self, symbol: &str) -> Result<Vec<StoreNode>>;
fn direct_callers_of(
&self,
file_rel: &Path,
symbol: &str,
) -> Result<Vec<StoreCallSite>>;
fn callers_of(
&self,
file_rel: &Path,
symbol: &str,
depth: usize,
) -> Result<StoreCallersResult>;
fn impact_of(
&self,
file_rel: &Path,
symbol: &str,
depth: usize,
) -> Result<StoreImpactResult>;
fn outgoing_calls_of(&self, node: &StoreNode) -> Result<Vec<StoreCallSite>>;
fn resolved_self_calls_of(
&self,
node: &StoreNode,
) -> Result<Vec<StoreCallSite>>;
fn unresolved_calls_of(
&self,
node: &StoreNode,
) -> Result<Vec<StoreUnresolvedCall>>;
fn call_tree(
&self,
file_rel: &Path,
symbol: &str,
depth: usize,
) -> Result<CallTreeNode>;
fn trace_to(
&self,
file_rel: &Path,
symbol: &str,
max_depth: usize,
) -> Result<TraceToResult>;
fn trace_to_symbol_candidates(
&self,
to_symbol: &str,
) -> Result<Vec<TraceToSymbolCandidate>>;
fn trace_to_symbol(
&self,
file_rel: &Path,
symbol: &str,
to_symbol: &str,
to_file: Option<&Path>,
max_depth: usize,
) -> Result<TraceToSymbolResult>;
}Required Methods§
fn project_root(&self) -> &Path
fn project_key(&self) -> &str
fn sqlite_path(&self) -> &Path
fn is_current(&self) -> bool
fn edge_snapshot(&self) -> Result<BTreeSet<StoredEdge>>
fn indexed_file_count(&self) -> Result<usize>
fn node_for(&self, file_rel: &Path, symbol: &str) -> Result<StoreNode>
fn nodes_for(&self, file_rel: &Path, symbol: &str) -> Result<Vec<StoreNode>>
fn nodes_matching(&self, symbol: &str) -> Result<Vec<StoreNode>>
fn direct_callers_of( &self, file_rel: &Path, symbol: &str, ) -> Result<Vec<StoreCallSite>>
fn callers_of( &self, file_rel: &Path, symbol: &str, depth: usize, ) -> Result<StoreCallersResult>
fn impact_of( &self, file_rel: &Path, symbol: &str, depth: usize, ) -> Result<StoreImpactResult>
fn outgoing_calls_of(&self, node: &StoreNode) -> Result<Vec<StoreCallSite>>
fn resolved_self_calls_of(&self, node: &StoreNode) -> Result<Vec<StoreCallSite>>
fn unresolved_calls_of( &self, node: &StoreNode, ) -> Result<Vec<StoreUnresolvedCall>>
fn call_tree( &self, file_rel: &Path, symbol: &str, depth: usize, ) -> Result<CallTreeNode>
fn trace_to( &self, file_rel: &Path, symbol: &str, max_depth: usize, ) -> Result<TraceToResult>
fn trace_to_symbol_candidates( &self, to_symbol: &str, ) -> Result<Vec<TraceToSymbolCandidate>>
fn trace_to_symbol( &self, file_rel: &Path, symbol: &str, to_symbol: &str, to_file: Option<&Path>, max_depth: usize, ) -> Result<TraceToSymbolResult>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".