31 lines
938 B
Go
31 lines
938 B
Go
// 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.
|
|
|
|
//go:build !go1.22
|
|
// +build !go1.22
|
|
|
|
package versions
|
|
|
|
import (
|
|
"go/ast"
|
|
"go/types"
|
|
)
|
|
|
|
// FileVersion returns a language version (<=1.21) derived from runtime.Version()
|
|
// or an unknown future version.
|
|
func FileVersion(info *types.Info, file *ast.File) string {
|
|
// In x/tools built with Go <= 1.21, we do not have Info.FileVersions
|
|
// available. We use a go version derived from the toolchain used to
|
|
// compile the tool by default.
|
|
// This will be <= go1.21. We take this as the maximum version that
|
|
// this tool can support.
|
|
//
|
|
// There are no features currently in x/tools that need to tell fine grained
|
|
// differences for versions <1.22.
|
|
return toolchain
|
|
}
|
|
|
|
// InitFileVersions is a noop when compiled with this Go version.
|
|
func InitFileVersions(*types.Info) {}
|