pub struct RustModuleResolver { /* private fields */ }Expand description
Maps Rust module paths to file paths within a crate.
Implementations§
Source§impl RustModuleResolver
impl RustModuleResolver
Sourcepub fn from_crate(crate_root: &Path) -> Option<Self>
pub fn from_crate(crate_root: &Path) -> Option<Self>
Build a module resolver from a crate root directory.
Walks src/ to build the module tree from file structure.
The crate name is derived from Cargo.toml or the directory name.
Sourcepub fn index_nodes(&mut self, nodes: &[CodeNode])
pub fn index_nodes(&mut self, nodes: &[CodeNode])
Populate the name→ID index from parsed CodeNodes.
Call this after parsing all files to enable cross-file name resolution.
Sourcepub fn resolve_use(
&self,
module: &str,
names: &[String],
) -> Vec<(String, String)>
pub fn resolve_use( &self, module: &str, names: &[String], ) -> Vec<(String, String)>
Resolve a use path to a CodeNode ID.
Handles crate::, self::, super::, and external crate paths.
Returns None if the target can’t be resolved (e.g., external crate).
Sourcepub fn resolve_name(&self, name: &str) -> Option<String>
pub fn resolve_name(&self, name: &str) -> Option<String>
Resolve a type name or function call to a CodeNode ID.
Tries active imports first, then same-module lookup.
Sourcepub fn module_count(&self) -> usize
pub fn module_count(&self) -> usize
Number of indexed module paths.
Sourcepub fn name_count(&self) -> usize
pub fn name_count(&self) -> usize
Number of indexed names.
Auto Trait Implementations§
impl Freeze for RustModuleResolver
impl RefUnwindSafe for RustModuleResolver
impl Send for RustModuleResolver
impl Sync for RustModuleResolver
impl Unpin for RustModuleResolver
impl UnsafeUnpin for RustModuleResolver
impl UnwindSafe for RustModuleResolver
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more