pub struct SymbolChainTrace {
pub file: PathBuf,
pub symbol: String,
pub symbol_found: bool,
pub depth: u32,
pub best_effort: bool,
pub callers: Option<Vec<ChainHop>>,
pub callees: Option<Vec<ChainHop>>,
pub unresolved_callees: Option<Vec<UnresolvedCallee>>,
pub star_export_ambiguity: Option<StarExportAmbiguity>,
pub reason: String,
}Expand description
The result of a symbol-level call-chain trace. Its own surface (kind: "trace"), NOT folded into the ranked brief.
Fields§
§file: PathBufThe file containing the traced symbol (project-root-relative).
symbol: StringThe traced symbol name.
symbol_found: boolWhether the symbol’s defining export was found in the graph. When
false, the chains are empty and reason explains why.
depth: u32The chain depth applied to both directions.
best_effort: boolWhether this trace is best-effort (always true: symbol-level chains are
labeled best-effort, syntactic per ADR-001).
callers: Option<Vec<ChainHop>>Caller chain hops (UP). Present only when --callers was requested.
callees: Option<Vec<ChainHop>>Callee chain hops (DOWN) resolved to an import-symbol edge. Present only
when --callees was requested.
unresolved_callees: Option<Vec<UnresolvedCallee>>Callees referenced at a call site in the symbol’s module that the
syntactic walk could NOT resolve to an import-symbol edge (locals,
globals, dynamic dispatch, re-bound callees). Reported, never dropped.
Present only when --callees was requested.
star_export_ambiguity: Option<StarExportAmbiguity>Set when the name is unresolvable because two different export *
sources of this file supply it. symbol_found is false in that case
for the same reason it is false for an unknown name (the file exports
nothing under it per ECMA-262 ResolveExport), so this field is the only
thing that separates a barrel mistake from a typo.
reason: StringA human-readable summary of the trace outcome.