Skip to main content

ontocore_diagnostics/
input.rs

1use ontocore_core::{Annotation, Axiom, Diagnostic, Entity, Import, Namespace, OntologyDocument};
2
3/// Read-only catalog snapshot for lint rules (avoids cyclic dependency on `ontocore-catalog`).
4#[derive(Debug, Clone, Default)]
5pub struct DiagnosticInput<'a> {
6    pub documents: &'a [OntologyDocument],
7    pub entities: &'a [Entity],
8    pub annotations: &'a [Annotation],
9    pub axioms: &'a [Axiom],
10    pub namespaces: &'a [Namespace],
11    pub imports: &'a [Import],
12}
13
14impl<'a> DiagnosticInput<'a> {
15    pub fn diagnostics(&self) -> Vec<Diagnostic> {
16        crate::engine::collect_diagnostics(self)
17    }
18}