From b5a78fd826aa1d3e3a45cbee4bcb24a86bff8adf Mon Sep 17 00:00:00 2001 From: Martin Atkins Date: Tue, 16 May 2017 07:58:34 -0700 Subject: [PATCH] Helper for determining if a Diagnostics contains errors Checking if it's non-nil, as we would for Go errors, doesn't work here because there may be warnings. --- zcl/diagnostic.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/zcl/diagnostic.go b/zcl/diagnostic.go index 19cddc0..327b806 100644 --- a/zcl/diagnostic.go +++ b/zcl/diagnostic.go @@ -84,3 +84,14 @@ func (d Diagnostics) Append(diag *Diagnostic) Diagnostics { func (d Diagnostics) Extend(diags Diagnostics) Diagnostics { return append(d, diags...) } + +// HasErrors returns true if the receiver contains any diagnostics of +// severity DiagError. +func (d Diagnostics) HasErrors() bool { + for _, diag := range d { + if diag.Severity == DiagError { + return true + } + } + return false +}