pub struct CallGraph {
pub callers: HashMap<String, Vec<(PathBuf, usize, String)>>,
pub callees: HashMap<String, Vec<(PathBuf, usize, String)>>,
pub definitions: HashMap<String, Vec<(PathBuf, usize)>>,
/* private fields */
}Fields§
§callers: HashMap<String, Vec<(PathBuf, usize, String)>>§callees: HashMap<String, Vec<(PathBuf, usize, String)>>§definitions: HashMap<String, Vec<(PathBuf, usize)>>Implementations§
Source§impl CallGraph
impl CallGraph
pub fn new() -> Self
pub fn build_from_results( results: Vec<(PathBuf, SemanticAnalysis)>, ) -> Result<Self, GraphError>
pub fn find_incoming_chains( &self, symbol: &str, follow_depth: u32, ) -> Result<Vec<CallChain>, GraphError>
pub fn find_outgoing_chains( &self, symbol: &str, follow_depth: u32, ) -> Result<Vec<CallChain>, GraphError>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CallGraph
impl RefUnwindSafe for CallGraph
impl Send for CallGraph
impl Sync for CallGraph
impl Unpin for CallGraph
impl UnsafeUnpin for CallGraph
impl UnwindSafe for CallGraph
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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