mod validate;
#[cfg(test)]
mod tests;
use crate::diagnostic::{Diagnostic, Severity};
pub fn validate(module: &crate::ir::PhenotypeModule, file: &str) -> Vec<Diagnostic> {
validate::validate_module(module, file)
}
fn error(file: &str, summary: String) -> Diagnostic {
Diagnostic {
severity: Severity::Error,
summary,
file: file.to_string(),
line: 0,
col: 0,
explanation: None,
suggestion: None,
}
}
fn error_with_explanation(file: &str, summary: String, explanation: String) -> Diagnostic {
Diagnostic {
severity: Severity::Error,
summary,
file: file.to_string(),
line: 0,
col: 0,
explanation: Some(explanation),
suggestion: None,
}
}
fn error_with_suggestion(
file: &str,
summary: String,
explanation: String,
suggestion: String,
) -> Diagnostic {
Diagnostic {
severity: Severity::Error,
summary,
file: file.to_string(),
line: 0,
col: 0,
explanation: Some(explanation),
suggestion: Some(suggestion),
}
}
#[allow(dead_code)]
fn warning(file: &str, summary: String) -> Diagnostic {
Diagnostic {
severity: Severity::Warning,
summary,
file: file.to_string(),
line: 0,
col: 0,
explanation: None,
suggestion: None,
}
}