mirror of
https://github.com/golang/go
synced 2024-11-05 11:56:12 -07:00
2ee7536ab1
The nilness analyzer requires SSA, which is very expensive to build and uses a lot of RAM. It also seems to really shoot up memory usage when it hits certain cases, which is causing a lot of problems for users. Disable this analysis - we'll leave SSA to staticcheck. Updates golang/go#36639 Change-Id: I46e67a6fd7828a5fddcd42d1aa00876f17c79e3d Reviewed-on: https://go-review.googlesource.com/c/tools/+/219203 Run-TryBot: Rebecca Stambler <rstambler@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Heschi Kreinick <heschi@google.com>
31 lines
758 B
Go
31 lines
758 B
Go
// Copyright 2019 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package hooks
|
|
|
|
import (
|
|
"golang.org/x/tools/internal/lsp/source"
|
|
"honnef.co/go/tools/simple"
|
|
"honnef.co/go/tools/staticcheck"
|
|
"honnef.co/go/tools/stylecheck"
|
|
)
|
|
|
|
func updateAnalyzers(options *source.Options) {
|
|
if options.StaticCheck {
|
|
for _, a := range simple.Analyzers {
|
|
options.Analyzers[a.Name] = a
|
|
}
|
|
for _, a := range staticcheck.Analyzers {
|
|
// This check conflicts with the vet printf check (golang/go#34494).
|
|
if a.Name == "SA5009" {
|
|
continue
|
|
}
|
|
options.Analyzers[a.Name] = a
|
|
}
|
|
for _, a := range stylecheck.Analyzers {
|
|
options.Analyzers[a.Name] = a
|
|
}
|
|
}
|
|
}
|