internal/lsp/analysis: add typeparams tests for nonewvars and noresultvalues

Also, change the way we test fillreturns to match the other analyzers.

Change-Id: If2124775c583524ff61017452bf065965a6cc97e
Reviewed-on: https://go-review.googlesource.com/c/tools/+/353171
Trust: Rebecca Stambler <rstambler@golang.org>
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
diff --git a/internal/lsp/analysis/fillreturns/fillreturns_test.go b/internal/lsp/analysis/fillreturns/fillreturns_test.go
index d1ad656..7ef0d46 100644
--- a/internal/lsp/analysis/fillreturns/fillreturns_test.go
+++ b/internal/lsp/analysis/fillreturns/fillreturns_test.go
@@ -9,9 +9,14 @@
 
 	"golang.org/x/tools/go/analysis/analysistest"
 	"golang.org/x/tools/internal/lsp/analysis/fillreturns"
+	"golang.org/x/tools/internal/typeparams"
 )
 
 func Test(t *testing.T) {
 	testdata := analysistest.TestData()
-	analysistest.RunWithSuggestedFixes(t, testdata, fillreturns.Analyzer, "a")
+	tests := []string{"a"}
+	if typeparams.Enabled {
+		tests = append(tests, "typeparams")
+	}
+	analysistest.RunWithSuggestedFixes(t, testdata, fillreturns.Analyzer, tests...)
 }
diff --git a/internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go b/internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go
deleted file mode 100644
index 8c371ea..0000000
--- a/internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go
+++ /dev/null
@@ -1,10 +0,0 @@
-//go:build go1.18
-// +build go1.18
-
-package fillreturns
-
-type Any interface{}
-
-func hello[T any]() int {
-	return
-}
diff --git a/internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go.golden b/internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go.golden
deleted file mode 100644
index 8c371ea..0000000
--- a/internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go.golden
+++ /dev/null
@@ -1,10 +0,0 @@
-//go:build go1.18
-// +build go1.18
-
-package fillreturns
-
-type Any interface{}
-
-func hello[T any]() int {
-	return
-}
diff --git a/internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go b/internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go
new file mode 100644
index 0000000..8454bd2
--- /dev/null
+++ b/internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go
@@ -0,0 +1,5 @@
+package fillreturns
+
+func hello[T any]() int {
+	return
+}
diff --git a/internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go.golden b/internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go.golden
new file mode 100644
index 0000000..8454bd2
--- /dev/null
+++ b/internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go.golden
@@ -0,0 +1,5 @@
+package fillreturns
+
+func hello[T any]() int {
+	return
+}
diff --git a/internal/lsp/analysis/nonewvars/nonewvars_test.go b/internal/lsp/analysis/nonewvars/nonewvars_test.go
index 3983bc5..dc58ab0 100644
--- a/internal/lsp/analysis/nonewvars/nonewvars_test.go
+++ b/internal/lsp/analysis/nonewvars/nonewvars_test.go
@@ -9,9 +9,14 @@
 
 	"golang.org/x/tools/go/analysis/analysistest"
 	"golang.org/x/tools/internal/lsp/analysis/nonewvars"
+	"golang.org/x/tools/internal/typeparams"
 )
 
 func Test(t *testing.T) {
 	testdata := analysistest.TestData()
-	analysistest.RunWithSuggestedFixes(t, testdata, nonewvars.Analyzer, "a")
+	tests := []string{"a"}
+	if typeparams.Enabled {
+		tests = append(tests, "typeparams")
+	}
+	analysistest.RunWithSuggestedFixes(t, testdata, nonewvars.Analyzer, tests...)
 }
diff --git a/internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go b/internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go
new file mode 100644
index 0000000..b381c9c
--- /dev/null
+++ b/internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go
@@ -0,0 +1,6 @@
+package nonewvars
+
+func hello[T any]() int {
+	var z T
+	z := 1 // want "no new variables on left side of :="
+}
diff --git a/internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go.golden b/internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go.golden
new file mode 100644
index 0000000..3a51173
--- /dev/null
+++ b/internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go.golden
@@ -0,0 +1,6 @@
+package nonewvars
+
+func hello[T any]() int {
+	var z T
+	z = 1 // want "no new variables on left side of :="
+}
diff --git a/internal/lsp/analysis/noresultvalues/noresultvalues_test.go b/internal/lsp/analysis/noresultvalues/noresultvalues_test.go
index 6b9451b..12198a1 100644
--- a/internal/lsp/analysis/noresultvalues/noresultvalues_test.go
+++ b/internal/lsp/analysis/noresultvalues/noresultvalues_test.go
@@ -9,9 +9,14 @@
 
 	"golang.org/x/tools/go/analysis/analysistest"
 	"golang.org/x/tools/internal/lsp/analysis/noresultvalues"
+	"golang.org/x/tools/internal/typeparams"
 )
 
 func Test(t *testing.T) {
 	testdata := analysistest.TestData()
-	analysistest.RunWithSuggestedFixes(t, testdata, noresultvalues.Analyzer, "a")
+	tests := []string{"a"}
+	if typeparams.Enabled {
+		tests = append(tests, "typeparams")
+	}
+	analysistest.RunWithSuggestedFixes(t, testdata, noresultvalues.Analyzer, tests...)
 }
diff --git a/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go b/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go
new file mode 100644
index 0000000..d1b2980
--- /dev/null
+++ b/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go
@@ -0,0 +1,6 @@
+package noresult
+
+func hello[T any]() {
+	var z T
+	return z // want "no result values expected"
+}
diff --git a/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go.golden b/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go.golden
new file mode 100644
index 0000000..c5f56a9
--- /dev/null
+++ b/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go.golden
@@ -0,0 +1,6 @@
+package noresult
+
+func hello[T any]() {
+	var z T
+	return // want "no result values expected"
+}