#[non_exhaustive]pub struct CallTree {
pub direction: Direction,
pub depth: usize,
pub rows: Vec<CallRow>,
pub methods: usize,
pub truncated: bool,
pub pruned: usize,
pub reached: Option<usize>,
pub errors: Vec<String>,
pub notes: Vec<String>,
}Expand description
Result of Engine::call_graph.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.direction: DirectionThe direction walked.
depth: usizeThe depth asked for.
rows: Vec<CallRow>The tree, one row per line in depth-first order.
methods: usizeDistinct methods discovered (roots included).
truncated: boolMore callers / callees exist than max_nodes allowed.
pruned: usizeMethods left out because their code matches CallQuery::unless.
reached: Option<usize>With CallQuery::from: the distinct from methods reached.
errors: Vec<String>DEX entries that could not be loaded or searched.
notes: Vec<String>What the conditions left out on purpose (crate::RefSummary::notes).
Implementations§
Source§impl CallTree
impl CallTree
Sourcepub fn lines(&self) -> Vec<String>
pub fn lines(&self) -> Vec<String>
One line per row: indentation and the depth number, an arrow
(<- caller, -> callee), the signature and flags:
[no body] (defined in no DEX of the APK, e.g. a framework method),
[services.jar] (in a program of several archives: those defining
it) and (repeated) (expanded elsewhere in the tree).
Footer comment summarising the walk.