Expand description
Dependency tracking and graph analysis
This module provides functionality for tracking file dependencies (imports/includes) and analyzing the dependency graph of a codebase.
§Architecture
The system uses a “depth-1 storage” approach:
- Only direct dependencies are stored in the database
- Deeper relationships are computed on-demand via graph traversal
- This provides O(n) storage while enabling any-depth queries
§Example
use reflex::dependency::DependencyIndex;
use reflex::cache::CacheManager;
let cache = CacheManager::new(".");
let deps = DependencyIndex::new(cache);
// Get direct dependencies of a file
let file_deps = deps.get_dependencies(42)?;
// Get files that import this file (reverse lookup)
let dependents = deps.get_dependents(42)?;
// Traverse dependency graph to depth 3
let transitive = deps.get_transitive_deps(42, 3)?;Structs§
- Dependency
Index - Manages dependency storage and graph operations
Functions§
- resolve_
php_ import - Resolve a PHP import path to a file path
- resolve_
rust_ import - Resolve a Rust import path to an absolute file path
- resolve_
rust_ mod_ declaration - Resolve a
moddeclaration to a file path