diff options
author | Russ Cox <rsc@golang.org> | 2022-01-18 13:51:12 -0500 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2022-01-18 21:28:05 +0000 |
commit | fddb0d54e992eac271a4e852def1c5091c9ad1fb (patch) | |
tree | e075474cd084eebb8de331b8238b73e2d148728d /internal/lsp/analysis/noresultvalues | |
parent | f29bdf1b5054720b2d7b470842d3734e34b9c251 (diff) | |
download | golang-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')
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` } |