25 lines
657 B
Rust
25 lines
657 B
Rust
use std::sync::Arc;
|
|
use tokio::sync::RwLock;
|
|
use tokio_util::sync::CancellationToken;
|
|
|
|
use prometeu_analysis::FileDB;
|
|
|
|
#[derive(Default)]
|
|
pub struct AnalysisDb {
|
|
pub file_db: FileDB,
|
|
|
|
// Os campos abaixo serão conectados conforme PR-03/04/05 (podem começar como None)
|
|
// pub ast: Option<AstArena>,
|
|
// pub symbols: Option<SymbolArena>,
|
|
// pub types: Option<TypeArena>,
|
|
// pub diagnostics: Vec<Diagnostic>,
|
|
|
|
/// Incrementa a cada rebuild concluído com sucesso
|
|
pub revision: u64,
|
|
|
|
/// Cancel token do último rebuild em progresso (se houver)
|
|
pub active_rebuild: Option<CancellationToken>,
|
|
}
|
|
|
|
pub type SharedDb = Arc<RwLock<AnalysisDb>>;
|