logginghandler/vendor/github.com/sonatard/noctx/ngfunc/report.go
Marvin Preuss d095180eb4
All checks were successful
continuous-integration/drone/push Build is passing
build: uses go modules for tool handling
2022-01-14 13:51:56 +01:00

30 lines
514 B
Go

package ngfunc
import (
"fmt"
"go/token"
"go/types"
"golang.org/x/tools/go/analysis"
"golang.org/x/tools/go/ssa"
)
type Report struct {
Instruction ssa.Instruction
function *types.Func
}
func (n *Report) Pos() token.Pos {
return n.Instruction.Pos()
}
func (n *Report) Message() string {
return fmt.Sprintf("%s must not be called", n.function.FullName())
}
func report(pass *analysis.Pass, reports []*Report) {
for _, report := range reports {
pass.Reportf(report.Pos(), report.Message())
}
}