Revert "internal/typeparams: hide go1.18 API usage behind a build constraint"

This reverts commit 0df0ca0f43117120bd7cc900ebf765f9b799438a.

Reason for revert: we've tagged x/tools@v0.1.7, and want to use the new APIs again.

Change-Id: I5c6f2075833948cc21896d1746e0c51cc0712bb1
Reviewed-on: https://go-review.googlesource.com/c/tools/+/352855
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
Trust: Robert Findley <rfindley@google.com>
Run-TryBot: Robert Findley <rfindley@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
diff --git a/go/internal/gcimporter/gcimporter_test.go b/go/internal/gcimporter/gcimporter_test.go
index c586f1f..e5eb9ed 100644
--- a/go/internal/gcimporter/gcimporter_test.go
+++ b/go/internal/gcimporter/gcimporter_test.go
@@ -22,7 +22,6 @@
 	"time"
 
 	"golang.org/x/tools/internal/testenv"
-	"golang.org/x/tools/internal/typeparams"
 )
 
 func TestMain(m *testing.M) {
@@ -107,12 +106,6 @@
 			for _, ext := range pkgExts {
 				if strings.HasSuffix(f.Name(), ext) {
 					name := f.Name()[0 : len(f.Name())-len(ext)] // remove extension
-					if testenv.UsesGenerics(name) && !typeparams.Enabled {
-						// golang/go#48632: Skip generic packages when type parameters are
-						// not enabled, as a temporary measure to allow avoiding the new
-						// go/types API on Go 1.18.
-						continue
-					}
 					if testPath(t, filepath.Join(dir, name), dir) != nil {
 						nimports++
 					}
diff --git a/go/internal/gcimporter/iexport_go118_test.go b/go/internal/gcimporter/iexport_go118_test.go
index 631d2b7..3c9610e 100644
--- a/go/internal/gcimporter/iexport_go118_test.go
+++ b/go/internal/gcimporter/iexport_go118_test.go
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-//go:build typeparams && go1.18
-// +build typeparams,go1.18
+//go:build go1.18
+// +build go1.18
 
 package gcimporter_test
 
diff --git a/go/internal/gcimporter/iexport_test.go b/go/internal/gcimporter/iexport_test.go
index f247d97..084679b 100644
--- a/go/internal/gcimporter/iexport_test.go
+++ b/go/internal/gcimporter/iexport_test.go
@@ -32,7 +32,6 @@
 	"golang.org/x/tools/go/internal/gcimporter"
 	"golang.org/x/tools/go/loader"
 	"golang.org/x/tools/internal/testenv"
-	"golang.org/x/tools/internal/typeparams"
 )
 
 func readExportFile(filename string) ([]byte, error) {
@@ -97,12 +96,9 @@
 	// TODO(#48595): fix this test with GOEXPERIMENT=unified.
 	isUnified := isUnifiedBuilder()
 	for _, path := range buildutil.AllPackages(conf.Build) {
-		if testenv.UsesGenerics(path) && (isUnified || !typeparams.Enabled) {
-			// golang/go#48632: Skip generic packages if we can't handle type
-			// parameters.
-			continue
+		if !(isUnified && testenv.UsesGenerics(path)) {
+			conf.Import(path)
 		}
-		conf.Import(path)
 	}
 
 	// Create a package containing type and value errors to ensure
diff --git a/go/internal/gcimporter/support_go117.go b/go/internal/gcimporter/support_go117.go
index 817a147..d892273 100644
--- a/go/internal/gcimporter/support_go117.go
+++ b/go/internal/gcimporter/support_go117.go
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-//go:build !typeparams || !go1.18
-// +build !typeparams !go1.18
+//go:build !go1.18
+// +build !go1.18
 
 package gcimporter
 
diff --git a/go/internal/gcimporter/support_go118.go b/go/internal/gcimporter/support_go118.go
index e6b81fc..2c98f0a 100644
--- a/go/internal/gcimporter/support_go118.go
+++ b/go/internal/gcimporter/support_go118.go
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-//go:build typeparams && go1.18
-// +build typeparams,go1.18
+//go:build go1.18
+// +build go1.18
 
 package gcimporter
 
diff --git a/internal/typeparams/enabled_go117.go b/internal/typeparams/enabled_go117.go
index 72d010e..1821239 100644
--- a/internal/typeparams/enabled_go117.go
+++ b/internal/typeparams/enabled_go117.go
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-//go:build !typeparams || !go1.18
-// +build !typeparams !go1.18
+//go:build !go1.18
+// +build !go1.18
 
 package typeparams
 
diff --git a/internal/typeparams/enabled_go118.go b/internal/typeparams/enabled_go118.go
index 642fc8e..d671488 100644
--- a/internal/typeparams/enabled_go118.go
+++ b/internal/typeparams/enabled_go118.go
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-//go:build typeparams && go1.18
-// +build typeparams,go1.18
+//go:build go1.18
+// +build go1.18
 
 package typeparams
 
diff --git a/internal/typeparams/typeparams_go117.go b/internal/typeparams/typeparams_go117.go
index 12817af..479b556 100644
--- a/internal/typeparams/typeparams_go117.go
+++ b/internal/typeparams/typeparams_go117.go
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-//go:build !typeparams || !go1.18
-// +build !typeparams !go1.18
+//go:build !go1.18
+// +build !go1.18
 
 package typeparams
 
diff --git a/internal/typeparams/typeparams_go118.go b/internal/typeparams/typeparams_go118.go
index 8ab17b7..16c6c0d 100644
--- a/internal/typeparams/typeparams_go118.go
+++ b/internal/typeparams/typeparams_go118.go
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-//go:build typeparams && go1.18
-// +build typeparams,go1.18
+//go:build go1.18
+// +build go1.18
 
 package typeparams
 
diff --git a/internal/typeparams/typeparams_test.go b/internal/typeparams/typeparams_test.go
index 68e6409..9302ad7 100644
--- a/internal/typeparams/typeparams_test.go
+++ b/internal/typeparams/typeparams_test.go
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-//go:build typeparams && go1.18
-// +build typeparams,go1.18
+//go:build go1.18
+// +build go1.18
 
 package typeparams_test