aboutsummaryrefslogtreecommitdiff
path: root/internal/lsp/analysis/noresultvalues
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2022-01-18 13:51:12 -0500
committerRuss Cox <rsc@golang.org>2022-01-18 21:28:05 +0000
commitfddb0d54e992eac271a4e852def1c5091c9ad1fb (patch)
treee075474cd084eebb8de331b8238b73e2d148728d /internal/lsp/analysis/noresultvalues
parentf29bdf1b5054720b2d7b470842d3734e34b9c251 (diff)
downloadgolang-x-tools-fddb0d54e992eac271a4e852def1c5091c9ad1fb.tar.gz
internal/lsp/analysis/noresultvalues: update for CL 379116 error message change
CL 379116 changes the format of the error this checker is looking for. Update it to handle both the old and new form. Change-Id: I91668e4fcbe203a9028d07b780fd17e9758fc838 Reviewed-on: https://go-review.googlesource.com/c/tools/+/379174 Trust: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> gopls-CI: kokoro <noreply+kokoro@google.com> Reviewed-by: Robert Findley <rfindley@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
Diffstat (limited to 'internal/lsp/analysis/noresultvalues')
-rw-r--r--internal/lsp/analysis/noresultvalues/noresultvalues.go9
-rw-r--r--internal/lsp/analysis/noresultvalues/testdata/src/a/a.go4
-rw-r--r--internal/lsp/analysis/noresultvalues/testdata/src/a/a.go.golden4
-rw-r--r--internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go2
-rw-r--r--internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go.golden2
5 files changed, 12 insertions, 9 deletions
diff --git a/internal/lsp/analysis/noresultvalues/noresultvalues.go b/internal/lsp/analysis/noresultvalues/noresultvalues.go
index 0e6b26f8b..b9f21f313 100644
--- a/internal/lsp/analysis/noresultvalues/noresultvalues.go
+++ b/internal/lsp/analysis/noresultvalues/noresultvalues.go
@@ -10,6 +10,7 @@ import (
"bytes"
"go/ast"
"go/format"
+ "strings"
"golang.org/x/tools/go/analysis"
"golang.org/x/tools/go/analysis/passes/inspect"
@@ -17,10 +18,11 @@ import (
"golang.org/x/tools/internal/analysisinternal"
)
-const Doc = `suggested fixes for "no result values expected"
+const Doc = `suggested fixes for unexpected return values
This checker provides suggested fixes for type errors of the
-type "no result values expected". For example:
+type "no result values expected" or "too many return values".
+For example:
func z() { return nil }
will turn into
func z() { return }
@@ -83,5 +85,6 @@ func run(pass *analysis.Pass) (interface{}, error) {
}
func FixesError(msg string) bool {
- return msg == "no result values expected"
+ return msg == "no result values expected" ||
+ strings.HasPrefix(msg, "too many return values") && strings.Contains(msg, "want ()")
}
diff --git a/internal/lsp/analysis/noresultvalues/testdata/src/a/a.go b/internal/lsp/analysis/noresultvalues/testdata/src/a/a.go
index 30265a42f..3daa7f7c7 100644
--- a/internal/lsp/analysis/noresultvalues/testdata/src/a/a.go
+++ b/internal/lsp/analysis/noresultvalues/testdata/src/a/a.go
@@ -4,6 +4,6 @@
package noresultvalues
-func x() { return nil } // want "no result values expected"
+func x() { return nil } // want `no result values expected|too many return values`
-func y() { return nil, "hello" } // want "no result values expected"
+func y() { return nil, "hello" } // want `no result values expected|too many return values`
diff --git a/internal/lsp/analysis/noresultvalues/testdata/src/a/a.go.golden b/internal/lsp/analysis/noresultvalues/testdata/src/a/a.go.golden
index 6b29cefa3..5e93aa413 100644
--- a/internal/lsp/analysis/noresultvalues/testdata/src/a/a.go.golden
+++ b/internal/lsp/analysis/noresultvalues/testdata/src/a/a.go.golden
@@ -4,6 +4,6 @@
package noresultvalues
-func x() { return } // want "no result values expected"
+func x() { return } // want `no result values expected|too many return values`
-func y() { return } // want "no result values expected"
+func y() { return } // want `no result values expected|too many return values`
diff --git a/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go b/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go
index d1b298010..f8aa43665 100644
--- a/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go
+++ b/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go
@@ -2,5 +2,5 @@ package noresult
func hello[T any]() {
var z T
- return z // want "no result values expected"
+ return z // want `no result values expected|too many return values`
}
diff --git a/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go.golden b/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go.golden
index c5f56a927..963e3f4e1 100644
--- a/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go.golden
+++ b/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go.golden
@@ -2,5 +2,5 @@ package noresult
func hello[T any]() {
var z T
- return // want "no result values expected"
+ return // want `no result values expected|too many return values`
}