2024-02-17 03:48:29 +00:00
|
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
2022-10-03 13:55:14 -07:00
|
|
|
package common
|
2019-04-26 23:12:47 +08:00
|
|
|
|
2022-10-03 13:55:14 -07:00
|
|
|
import "fmt"
|
2019-04-26 23:12:47 +08:00
|
|
|
|
|
|
|
type Warnings struct {
|
2022-10-03 13:55:14 -07:00
|
|
|
List []error
|
|
|
|
Verbose bool
|
2019-04-26 23:12:47 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
func (w *Warnings) Add(err error) {
|
|
|
|
w.List = append(w.List, err)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (w *Warnings) Reference() error {
|
|
|
|
if len(w.List) > 0 {
|
|
|
|
return w
|
|
|
|
}
|
2021-12-22 23:49:50 +01:00
|
|
|
return nil
|
2019-04-26 23:12:47 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
func (w *Warnings) Error() string {
|
2022-10-03 13:55:14 -07:00
|
|
|
if w.Verbose {
|
|
|
|
str := ""
|
|
|
|
for i, e := range w.List {
|
|
|
|
str += fmt.Sprintf("\tError %d: %s\n", i, e.Error())
|
|
|
|
}
|
|
|
|
return str
|
|
|
|
}
|
2019-08-07 22:34:36 +02:00
|
|
|
return fmt.Sprintf("Number of warnings: %v", len(w.List))
|
2019-04-26 23:12:47 +08:00
|
|
|
}
|