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  }