aboutsummaryrefslogtreecommitdiff
path: root/internal/lsp/analysis
diff options
context:
space:
mode:
Diffstat (limited to 'internal/lsp/analysis')
-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`
}