// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: MPL-2.0 package diag var _ Diagnostic = ErrorDiagnostic{} // ErrorDiagnostic is a generic diagnostic with error severity. type ErrorDiagnostic struct { detail string summary string } // Detail returns the diagnostic detail. func (d ErrorDiagnostic) Detail() string { return d.detail } // Equal returns true if the other diagnostic is wholly equivalent. func (d ErrorDiagnostic) Equal(other Diagnostic) bool { ed, ok := other.(ErrorDiagnostic) if !ok { return false } return ed.Summary() == d.Summary() && ed.Detail() == d.Detail() } // Severity returns the diagnostic severity. func (d ErrorDiagnostic) Severity() Severity { return SeverityError } // Summary returns the diagnostic summary. func (d ErrorDiagnostic) Summary() string { return d.summary } // NewErrorDiagnostic returns a new error severity diagnostic with the given summary and detail. func NewErrorDiagnostic(summary string, detail string) ErrorDiagnostic { return ErrorDiagnostic{ detail: detail, summary: summary, } }