pub struct ProjectAnalysis {
pub all_files: Vec<FileInfo>,
pub file_map: HashMap<PathBuf, FileInfo>,
pub project_root: PathBuf,
}Expand description
Cached project analysis results
Fields§
§all_files: Vec<FileInfo>All files in the project with semantic analysis
file_map: HashMap<PathBuf, FileInfo>Map from canonical paths to file info for fast lookups
project_root: PathBufProject root directory
Implementations§
Source§impl ProjectAnalysis
impl ProjectAnalysis
Sourcepub fn analyze_project(
start_path: &Path,
base_walk_options: &WalkOptions,
config: &Config,
cache: &Arc<FileCache>,
) -> Result<Self, ContextCreatorError>
pub fn analyze_project( start_path: &Path, base_walk_options: &WalkOptions, config: &Config, cache: &Arc<FileCache>, ) -> Result<Self, ContextCreatorError>
Perform a single comprehensive analysis of the entire project
Sourcepub fn get_file(&self, path: &Path) -> Option<&FileInfo>
pub fn get_file(&self, path: &Path) -> Option<&FileInfo>
Get a file by path (handles both canonical and non-canonical paths)
Sourcepub fn filter_files(&self, walk_options: &WalkOptions) -> Vec<FileInfo>
pub fn filter_files(&self, walk_options: &WalkOptions) -> Vec<FileInfo>
Filter files by the original walk options
Auto Trait Implementations§
impl Freeze for ProjectAnalysis
impl RefUnwindSafe for ProjectAnalysis
impl Send for ProjectAnalysis
impl Sync for ProjectAnalysis
impl Unpin for ProjectAnalysis
impl UnwindSafe for ProjectAnalysis
Blanket Implementations§
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more