#![cfg_attr(coverage_nightly, coverage(off))]
use crate::services::cache::{
config::CacheConfig,
diagnostics::{CacheDiagnostics, CacheEffectiveness, CacheStatsSnapshot},
persistent::PersistentCache,
strategies::AstCacheStrategy,
};
use crate::services::context::FileContext;
use anyhow::Result;
use std::path::{Path, PathBuf};
use std::sync::Arc;
use std::time::Instant;
use uuid::Uuid;
pub struct PersistentCacheManager {
ast_cache: Arc<PersistentCache<AstCacheStrategy>>,
config: CacheConfig,
session_id: Uuid,
created: Instant,
#[allow(dead_code)]
cache_dir: PathBuf,
}
include!("persistent_manager_core.rs");
include!("persistent_manager_diagnostics.rs");
include!("persistent_manager_tests.rs");
include!("persistent_manager_proptests.rs");