[gopls-release-branch.0.3] internal/lsp: remove nilness analyzer
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>
(cherry picked from commit 2ee7536ab1cc60871e8074439b63b1db31579ac0)
Reviewed-on: https://go-review.googlesource.com/c/tools/+/219223
diff --git a/gopls/internal/hooks/analysis.go b/gopls/internal/hooks/analysis.go
index 8e300f3..629bdc8 100644
--- a/gopls/internal/hooks/analysis.go
+++ b/gopls/internal/hooks/analysis.go
@@ -5,7 +5,6 @@
package hooks
import (
- "golang.org/x/tools/go/analysis/passes/nilness"
"golang.org/x/tools/internal/lsp/source"
"honnef.co/go/tools/simple"
"honnef.co/go/tools/staticcheck"
@@ -27,10 +26,5 @@
for _, a := range stylecheck.Analyzers {
options.Analyzers[a.Name] = a
}
- // Add the nilness analyzer only for users who have enabled staticcheck.
- // The assumption here is that a user who has enabled staticcheck will
- // be fine with gopls using significantly more memory. nilness requires
- // SSA, which makes it expensive.
- options.Analyzers[nilness.Analyzer.Name] = nilness.Analyzer
}
}