#![allow(unused)]
mod analyzer;
mod diagnostics;
mod types;
pub use analyzer::CrossFileReactivityAnalyzer;
pub use types::{
CrossFileReactiveValue, CrossFileReactivityIssue, CrossFileReactivityIssueKind,
ReactiveConsumption, ReactiveExposure, ReactiveValueId, ReactivityFlow, ReactivityFlowKind,
ReactivityLossReason,
};
use crate::cross_file::diagnostics::CrossFileDiagnostic;
use crate::cross_file::graph::DependencyGraph;
use crate::cross_file::registry::ModuleRegistry;
pub(crate) use crate::cross_file::diagnostics::DiagnosticSeverity;
pub(crate) use crate::cross_file::registry::FileId;
pub(crate) use vize_carton::CompactString;
pub fn analyze_cross_file_reactivity(
registry: &ModuleRegistry,
graph: &DependencyGraph,
) -> (Vec<CrossFileReactivityIssue>, Vec<CrossFileDiagnostic>) {
let analyzer = CrossFileReactivityAnalyzer::new(registry, graph);
analyzer.analyze()
}
#[cfg(test)]
#[path = "../cross_file_reactivity_tests.rs"]
mod tests;