Skip to main content

Crate backhopper_xref_graph

Crate backhopper_xref_graph 

Source
Expand description

Whole-program call-graph primitives for backhopper-xref.

This crate has no Erlang knowledge. It provides:

  • Vertex and FunctionRef: entities the graph tracks
  • VertexSet and Relation: finite sets and binary relations with the operators a call-graph analysis needs (union, intersection, compose, image, transitive_closure, …)
  • CallGraph: the aggregate, parameterised on a mode marker (Functions vs Modules) and a phase marker (Building vs Built) so misuses become compile errors

Re-exports§

pub use call::CallKind;
pub use call::CallTarget;
pub use call::FunctionRef;
pub use call::FunctionSig;
pub use call::LocalFunctionRef;
pub use call::UnresolvedCallSite;
pub use errors::GraphError;
pub use graph::CallGraph;
pub use graph::Deprecation;
pub use graph::DeprecationTier;
pub use graph::ModuleSummary;
pub use loc::Loc;
pub use loc::PathId;
pub use loc::PathInterner;
pub use loc::Position;
pub use relation::Relation;
pub use relation::VertexSet;
pub use state::Building;
pub use state::Built;
pub use state::Functions;
pub use state::Mode;
pub use state::Modules;
pub use state::Phase;
pub use vertex::Vertex;

Modules§

call
Call-site, function-reference, and call-kind types.
errors
graph
The aggregate CallGraph type.
loc
Source locations.
relation
Vertex sets and binary relations.
state
Sealed type-state markers for CallGraph.
vertex
Graph vertices.