// Copyright 2023 The Go Authors. All rights reserved. | |
// Use of this source code is governed by a BSD-style | |
// license that can be found in the LICENSE file. | |
package versions | |
import ( | |
"go/types" | |
) | |
// GoVersion returns the Go version of the type package. | |
// It returns zero if no version can be determined. | |
func GoVersion(pkg *types.Package) string { | |
// TODO(taking): x/tools can call GoVersion() [from 1.21] after 1.25. | |
if pkg, ok := any(pkg).(interface{ GoVersion() string }); ok { | |
return pkg.GoVersion() | |
} | |
return "" | |
} |