#[non_exhaustive]pub struct HierarchyTree {
pub direction: Lineage,
pub depth: usize,
pub rows: Vec<HierarchyRow>,
pub classes: usize,
pub truncated: bool,
pub method: Option<String>,
pub errors: Vec<String>,
}Expand description
Result of Engine::hierarchy.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.direction: LineageThe direction walked.
depth: usizeThe depth asked for.
rows: Vec<HierarchyRow>The tree, one row per line in depth-first order.
classes: usizeDistinct classes discovered (the root included).
truncated: boolMore classes exist than max_nodes allowed.
method: Option<String>The queried method, as given.
errors: Vec<String>DEX entries that could not be loaded or read.
Implementations§
Source§impl HierarchyTree
impl HierarchyTree
Sourcepub fn lines(&self) -> Vec<String>
pub fn lines(&self) -> Vec<String>
One line per row: indentation and depth, how it relates to its parent
(subclass / implementer going down, extends / implements going
up), the class, its DEX or [not in APK], [defines m(..)V] and
(repeated) flags.
Sourcepub fn definition_lines(&self) -> Vec<String>
pub fn definition_lines(&self) -> Vec<String>
Lcls;->m(..)V dex of every definition of the queried method below
(or above) the root, one per line, prefixed override / inherited.
Footer comment summarising the walk.
Trait Implementations§
Source§impl Clone for HierarchyTree
impl Clone for HierarchyTree
Auto Trait Implementations§
impl Forget for HierarchyTree
impl Freeze for HierarchyTree
impl Move for HierarchyTree
impl RefUnwindSafe for HierarchyTree
impl Send for HierarchyTree
impl Sync for HierarchyTree
impl Unpin for HierarchyTree
impl UnsafeUnpin for HierarchyTree
impl UnwindSafe for HierarchyTree
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