pub struct CouplingReport {
pub schema: &'static str,
pub edge_kind: &'static str,
pub order: &'static str,
pub limit: usize,
pub call_edges: usize,
pub self_calls: usize,
pub cross_language_calls: usize,
pub coupled_nodes: usize,
pub items: Vec<CouplingItem>,
}Expand description
Directed call coupling: per-node fan-in and fan-out over Calls edges,
ranked. The counterpart to an undirected degree ranking, which cannot tell
“everything calls this” from “this calls everything”.
Fields§
§schema: &'static strStable schema tag (SCHEMA).
edge_kind: &'static strThe edge kind measured. Always calls — the only edge kind whose
direction carries a caller/callee meaning.
order: &'static strThe ranking that produced items (CouplingOrder::as_str).
limit: usizeThe requested cap on items; 0 means unlimited.
call_edges: usizeTotal Calls edges scanned, including duplicates and self-calls.
self_calls: usizeSelf-referential Calls edges (recursion), counted in call_edges but
excluded from every fan — see coupling.
cross_language_calls: usizeCalls edges whose endpoints are in two different languages: name
collisions from simple-name call resolution, not calls. Counted in
call_edges but excluded from every fan — see coupling.
coupled_nodes: usizeDistinct nodes with at least one non-self Calls edge. items is the
top limit of these, so coupled_nodes > items.len() means truncation.
items: Vec<CouplingItem>The ranked nodes: by order descending, ties broken by key ascending.
Trait Implementations§
Source§impl Clone for CouplingReport
impl Clone for CouplingReport
Source§fn clone(&self) -> CouplingReport
fn clone(&self) -> CouplingReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more