pub struct GraphDiff {
pub added_nodes: Vec<Node>,
pub removed_node_ids: Vec<NodeId>,
pub removed_files: Vec<PathBuf>,
pub added_edges: Vec<Edge>,
pub removed_edges: Vec<(NodeId, NodeId, EdgeKind)>,
pub deferred_calls: Vec<(NodeId, String)>,
pub deferred_uses: Vec<(NodeId, String)>,
pub deferred_implements: Vec<(NodeId, String)>,
pub deferred_inherits: Vec<(NodeId, String)>,
pub deferred_throws: Vec<(NodeId, String)>,
pub deferred_annotated: Vec<(NodeId, String)>,
}Expand description
Incremental change set produced by the indexer after each commit.
Applying a GraphDiff to the store brings the persisted graph up to date.
Fields§
§added_nodes: Vec<Node>§removed_node_ids: Vec<NodeId>Explicit node IDs to remove (e.g. from a targeted replacement).
removed_files: Vec<PathBuf>Files that were deleted. The store removes all nodes whose file
field matches any path in this list. Preferred over removed_node_ids
when whole files are gone because the indexer does not need to know
prior node IDs (keeping indexer ↔ store decoupled).
added_edges: Vec<Edge>§removed_edges: Vec<(NodeId, NodeId, EdgeKind)>§deferred_calls: Vec<(NodeId, String)>Cross-file calls that couldn’t be resolved against the diff-local node set (because the callee lives in an unchanged file). The store resolves these after inserting the new nodes, using its full existing data.
deferred_uses: Vec<(NodeId, String)>Same for parameter/return-type Uses edges.
deferred_implements: Vec<(NodeId, String)>Same for struct→trait Implements edges.
deferred_inherits: Vec<(NodeId, String)>Same for extends / inheritance edges.
deferred_throws: Vec<(NodeId, String)>Same for throws ExceptionType edges.
deferred_annotated: Vec<(NodeId, String)>Same for decorator/annotation references.