package main.nl.uva.validation; import java.util.ArrayList; import java.util.List; import main.nl.uva.validation.error.ValidationError; import main.nl.uva.validation.warning.ValidationWarning; public class ASTValidation { private final List<ValidationError> _validationErrors = new ArrayList<>(); private final List<ValidationWarning> _validationWarnings = new ArrayList<>(); public boolean addError(final ValidationError error) { return _validationErrors.add(error); } public boolean addWarning(final ValidationWarning warning) { return _validationWarnings.add(warning); } public boolean combine(final ASTValidation other) { boolean validError = _validationErrors.addAll(other._validationErrors); boolean validWarning = _validationWarnings.addAll(other._validationWarnings); return validError && validWarning; } public boolean hasErrors() { return !_validationErrors.isEmpty(); } public boolean hasWarnings() { return !_validationWarnings.isEmpty(); } public List<ValidationError> getValidationErrors() { return _validationErrors; } public List<ValidationWarning> getValidationWarnings() { return _validationWarnings; } public void printErrors() { for (ValidationError error : _validationErrors) { System.err.println(error); } } public void printWarnings() { for (ValidationWarning warning : _validationWarnings) { System.out.println(warning); } } }