]> Cypherpunks.ru repositories - gostls13.git/commit
go/types, types2: remove local version processing in favor of go/version
authorRobert Griesemer <gri@golang.org>
Thu, 9 Nov 2023 23:37:34 +0000 (15:37 -0800)
committerRobert Griesemer <gri@golang.org>
Wed, 15 Nov 2023 00:07:05 +0000 (00:07 +0000)
commit56c91c05020408fbe18a8c511fc005c365f30d58
treea1d527bdc7b594bf1e7877358c23970c1d6b2fe4
parent3073f3f9411737de2232e6f6d634c118b53aed22
go/types, types2: remove local version processing in favor of go/version

In the Checker, maintain a map of versions for each file, even if the
file doensn't specify a version. In that case, the version is the module
version.

If Info.FileVersions is set, use that map directly; otherwise allocate
a Checker-local map.

Introduce a new type, goVersion, which represents a Go language version.
This type effectively takes the role of the earlier version struct.
Replace all versions-related logic accordingly and use the go/version
package for version parsing/validation/comparison.

Added more tests.

Fixes #63974.

Change-Id: Ia05ff47a9eae0f0bb03c6b4cb65a7ce0a5857402
Reviewed-on: https://go-review.googlesource.com/c/go/+/541395
Run-TryBot: Robert Griesemer <gri@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
Reviewed-by: Robert Griesemer <gri@google.com>
src/cmd/compile/internal/types2/api_test.go
src/cmd/compile/internal/types2/check.go
src/cmd/compile/internal/types2/errors.go
src/cmd/compile/internal/types2/version.go
src/cmd/compile/internal/types2/version_test.go [deleted file]
src/go/types/api_test.go
src/go/types/check.go
src/go/types/errors.go
src/go/types/generate_test.go
src/go/types/version.go
src/go/types/version_test.go [deleted file]