2024-02-08 03:48:59 -06:00
|
|
|
// Copyright (c) The OpenTofu Authors
|
|
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
// Copyright (c) 2023 HashiCorp, Inc.
|
2023-05-02 10:33:06 -05:00
|
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
|
2018-03-15 18:02:23 -05:00
|
|
|
package tfdiags
|
|
|
|
|
|
|
|
// diagnosticBase can be embedded in other diagnostic structs to get
|
|
|
|
// default implementations of Severity and Description. This type also
|
2018-10-17 19:47:13 -05:00
|
|
|
// has default implementations of Source and FromExpr that return no source
|
|
|
|
// location or expression-related information, so embedders should generally
|
|
|
|
// override those method to return more useful results where possible.
|
2018-03-15 18:02:23 -05:00
|
|
|
type diagnosticBase struct {
|
|
|
|
severity Severity
|
|
|
|
summary string
|
|
|
|
detail string
|
2021-04-02 15:49:25 -05:00
|
|
|
address string
|
2018-03-15 18:02:23 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
func (d diagnosticBase) Severity() Severity {
|
|
|
|
return d.severity
|
|
|
|
}
|
|
|
|
|
|
|
|
func (d diagnosticBase) Description() Description {
|
|
|
|
return Description{
|
|
|
|
Summary: d.summary,
|
|
|
|
Detail: d.detail,
|
2021-04-02 15:49:25 -05:00
|
|
|
Address: d.address,
|
2018-03-15 18:02:23 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (d diagnosticBase) Source() Source {
|
|
|
|
return Source{}
|
|
|
|
}
|
2018-10-17 19:47:13 -05:00
|
|
|
|
|
|
|
func (d diagnosticBase) FromExpr() *FromExpr {
|
|
|
|
return nil
|
|
|
|
}
|
2022-06-21 17:38:55 -05:00
|
|
|
|
|
|
|
func (d diagnosticBase) ExtraInfo() interface{} {
|
|
|
|
return nil
|
|
|
|
}
|