@@ -57,7 +57,7 @@ func (diags Diagnostics) Append(new ...interface{}) Diagnostics {
57
57
diags = append (diags , ti )
58
58
case Diagnostics :
59
59
diags = append (diags , ti ... ) // flatten
60
- case diagnosticsAsError :
60
+ case DiagnosticsAsError :
61
61
diags = diags .Append (ti .Diagnostics ) // unwrap
62
62
case NonFatalError :
63
63
diags = diags .Append (ti .Diagnostics ) // unwrap
@@ -111,7 +111,7 @@ func diagnosticsForError(err error) []Diagnostic {
111
111
112
112
// If we've wrapped a Diagnostics in an error then we'll unwrap
113
113
// it and add it directly.
114
- var asErr diagnosticsAsError
114
+ var asErr DiagnosticsAsError
115
115
if errors .As (err , & asErr ) {
116
116
return asErr .Diagnostics
117
117
}
@@ -206,7 +206,7 @@ func (diags Diagnostics) Err() error {
206
206
if ! diags .HasErrors () {
207
207
return nil
208
208
}
209
- return diagnosticsAsError {diags }
209
+ return DiagnosticsAsError {diags }
210
210
}
211
211
212
212
// ErrWithWarnings is similar to Err except that it will also return a non-nil
@@ -257,11 +257,12 @@ func (diags Diagnostics) Sort() {
257
257
sort .Stable (sortDiagnostics (diags ))
258
258
}
259
259
260
- type diagnosticsAsError struct {
260
+ // DiagnosticsAsError embeds diagnostics, and satisfies the error interface.
261
+ type DiagnosticsAsError struct {
261
262
Diagnostics
262
263
}
263
264
264
- func (dae diagnosticsAsError ) Error () string {
265
+ func (dae DiagnosticsAsError ) Error () string {
265
266
diags := dae .Diagnostics
266
267
switch {
267
268
case len (diags ) == 0 :
@@ -291,7 +292,7 @@ func (dae diagnosticsAsError) Error() string {
291
292
292
293
// WrappedErrors is an implementation of errwrap.Wrapper so that an error-wrapped
293
294
// diagnostics object can be picked apart by errwrap-aware code.
294
- func (dae diagnosticsAsError ) WrappedErrors () []error {
295
+ func (dae DiagnosticsAsError ) WrappedErrors () []error {
295
296
var errs []error
296
297
for _ , diag := range dae .Diagnostics {
297
298
if wrapper , isErr := diag .(nativeError ); isErr {
0 commit comments