gopls/internal/hooks: update for Staticcheck 2021.1

Change-Id: I3b10339b4049453cd3d9393df79c333c1e4f7c82
Reviewed-on: https://go-review.googlesource.com/c/tools/+/322490
Trust: Dominik Honnef <dominik@honnef.co>
Run-TryBot: Dominik Honnef <dominik@honnef.co>
gopls-CI: kokoro <noreply+kokoro@google.com>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
diff --git a/gopls/go.mod b/gopls/go.mod
index ed33ee1..a993cce 100644
--- a/gopls/go.mod
+++ b/gopls/go.mod
@@ -15,7 +15,7 @@
 	golang.org/x/text v0.3.6 // indirect
 	golang.org/x/tools v0.1.0
 	golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
-	honnef.co/go/tools v0.1.4
+	honnef.co/go/tools v0.2.0
 	mvdan.cc/gofumpt v0.1.1
 	mvdan.cc/xurls/v2 v2.2.0
 )
diff --git a/gopls/go.sum b/gopls/go.sum
index 1c7cd9a..b889ac4 100644
--- a/gopls/go.sum
+++ b/gopls/go.sum
@@ -62,6 +62,8 @@
 gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 honnef.co/go/tools v0.1.4 h1:SadWOkti5uVN1FAMgxn165+Mw00fuQKyk4Gyn/inxNQ=
 honnef.co/go/tools v0.1.4/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
+honnef.co/go/tools v0.2.0 h1:ws8AfbgTX3oIczLPNPCu5166oBg9ST2vNs0rcht+mDE=
+honnef.co/go/tools v0.2.0/go.mod h1:lPVVZ2BS5TfnjLyizF7o7hv7j9/L+8cZY2hLyjP9cGY=
 mvdan.cc/gofumpt v0.1.1 h1:bi/1aS/5W00E2ny5q65w9SnKpWEF/UIOqDYBILpo9rA=
 mvdan.cc/gofumpt v0.1.1/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48=
 mvdan.cc/xurls/v2 v2.2.0 h1:NSZPykBXJFCetGZykLAxaL6SIpvbVy/UFEniIfHAa8A=
diff --git a/gopls/internal/hooks/analysis.go b/gopls/internal/hooks/analysis.go
index 04c97e1..f9feded 100644
--- a/gopls/internal/hooks/analysis.go
+++ b/gopls/internal/hooks/analysis.go
@@ -8,7 +8,6 @@
 package hooks
 
 import (
-	"golang.org/x/tools/go/analysis"
 	"golang.org/x/tools/internal/lsp/source"
 	"honnef.co/go/tools/analysis/lint"
 	"honnef.co/go/tools/simple"
@@ -17,24 +16,24 @@
 )
 
 func updateAnalyzers(options *source.Options) {
-	add := func(analyzers map[string]*analysis.Analyzer, docs map[string]*lint.Documentation, skip map[string]struct{}) {
-		for check, a := range analyzers {
-			if _, ok := skip[check]; ok {
+	add := func(analyzers []*lint.Analyzer, skip map[string]struct{}) {
+		for _, a := range analyzers {
+			if _, ok := skip[a.Analyzer.Name]; ok {
 				continue
 			}
 
-			enabled := !docs[check].NonDefault
-			options.AddStaticcheckAnalyzer(a, enabled)
+			enabled := !a.Doc.NonDefault
+			options.AddStaticcheckAnalyzer(a.Analyzer, enabled)
 		}
 	}
 
-	add(simple.Analyzers, simple.Docs, nil)
-	add(staticcheck.Analyzers, staticcheck.Docs, map[string]struct{}{
+	add(simple.Analyzers, nil)
+	add(staticcheck.Analyzers, map[string]struct{}{
 		// This check conflicts with the vet printf check (golang/go#34494).
 		"SA5009": {},
 		// This check relies on facts from dependencies, which
 		// we don't currently compute.
 		"SA5011": {},
 	})
-	add(stylecheck.Analyzers, stylecheck.Docs, nil)
+	add(stylecheck.Analyzers, nil)
 }