github.com/vanstinator/golangci-lint@v0.0.0-20240223191551-cc572f00d9d1/pkg/golinters/nilnil.go (about) 1 package golinters 2 3 import ( 4 "strings" 5 6 "github.com/Antonboom/nilnil/pkg/analyzer" 7 "golang.org/x/tools/go/analysis" 8 9 "github.com/vanstinator/golangci-lint/pkg/config" 10 "github.com/vanstinator/golangci-lint/pkg/golinters/goanalysis" 11 ) 12 13 func NewNilNil(cfg *config.NilNilSettings) *goanalysis.Linter { 14 a := analyzer.New() 15 16 cfgMap := make(map[string]map[string]any) 17 if cfg != nil && len(cfg.CheckedTypes) != 0 { 18 cfgMap[a.Name] = map[string]any{ 19 "checked-types": strings.Join(cfg.CheckedTypes, ","), 20 } 21 } 22 23 return goanalysis.NewLinter( 24 a.Name, 25 a.Doc, 26 []*analysis.Analyzer{a}, 27 cfgMap, 28 ). 29 WithLoadMode(goanalysis.LoadModeTypesInfo) 30 }