mirror of
https://github.com/golang/go
synced 2024-11-05 18:16:10 -07:00
332987a829
SA5011 relies on facts from dependencies to avoid false positives. However, gopls currently only loads export data for dependencies, it does not compute facts. SA5011 is unlike other analyzers in staticcheck, which may produce false negatives if facts are missing, but no false positives. Change-Id: I5063b701bbedca7b09d1894997f8c574fa497939 Reviewed-on: https://go-review.googlesource.com/c/tools/+/228119 Run-TryBot: Dominik Honnef <dominik@honnef.co> Reviewed-by: Rebecca Stambler <rstambler@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
35 lines
881 B
Go
35 lines
881 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.AddDefaultAnalyzer(a)
|
|
}
|
|
for _, a := range staticcheck.Analyzers {
|
|
switch a.Name {
|
|
case "SA5009":
|
|
// This check conflicts with the vet printf check (golang/go#34494).
|
|
case "SA5011":
|
|
// This check relies on facts from dependencies, which
|
|
// we don't currently compute.
|
|
default:
|
|
options.AddDefaultAnalyzer(a)
|
|
}
|
|
}
|
|
for _, a := range stylecheck.Analyzers {
|
|
options.AddDefaultAnalyzer(a)
|
|
}
|
|
}
|
|
}
|