github.com/thrasher-corp/golangci-lint@v1.17.3/pkg/lint/linter/context.go (about) 1 package linter 2 3 import ( 4 "golang.org/x/tools/go/loader" 5 "golang.org/x/tools/go/packages" 6 "golang.org/x/tools/go/ssa" 7 8 "github.com/golangci/golangci-lint/pkg/fsutils" 9 10 "github.com/golangci/golangci-lint/pkg/config" 11 "github.com/golangci/golangci-lint/pkg/lint/astcache" 12 "github.com/golangci/golangci-lint/pkg/logutils" 13 ) 14 15 type Context struct { 16 Packages []*packages.Package 17 NotCompilingPackages []*packages.Package 18 19 LoaderConfig *loader.Config // deprecated, don't use for new linters 20 Program *loader.Program // deprecated, use Packages for new linters 21 22 SSAProgram *ssa.Program // for unparam and interfacer but not for megacheck (it change it) 23 24 Cfg *config.Config 25 ASTCache *astcache.Cache 26 FileCache *fsutils.FileCache 27 LineCache *fsutils.LineCache 28 Log logutils.Log 29 } 30 31 func (c *Context) Settings() *config.LintersSettings { 32 return &c.Cfg.LintersSettings 33 }