golangci-lint/pkg/golinters/megacheck.go
Isaev Denis 95ec0cf21e
dramatically reduce memory usage (#758)
Run all linters per package. It allows unloading package data when it's
processed. It dramatically reduces memory (and CPU because of GC) usage.

Relates: #337
2019-09-30 16:19:41 +03:00

31 lines
639 B
Go

package golinters
import (
"fmt"
"github.com/golangci/golangci-lint/pkg/logutils"
"golang.org/x/tools/go/analysis"
)
var debugf = logutils.Debug("megacheck")
func analyzersMapToSlice(m map[string]*analysis.Analyzer) []*analysis.Analyzer {
var ret []*analysis.Analyzer
for _, v := range m {
ret = append(ret, v)
}
return ret
}
func setAnalyzersGoVersion(analyzers []*analysis.Analyzer) {
const goVersion = 13 // TODO
for _, a := range analyzers {
if v := a.Flags.Lookup("go"); v != nil {
if err := v.Value.Set(fmt.Sprintf("1.%d", goVersion)); err != nil {
debugf("Failed to set go version: %s", err)
}
}
}
}