|
2 | 2 | // Use of this source code is governed by a BSD-style |
3 | 3 | // license that can be found in the LICENSE file. |
4 | 4 |
|
5 | | -package typesinternal |
| 5 | +//go:build go1.25 |
6 | 6 |
|
7 | | -// TODO(adonovan): when CL 645115 lands, define the go1.25 version of |
8 | | -// this API that actually does something. |
| 7 | +package typesinternal |
9 | 8 |
|
10 | 9 | import "go/types" |
11 | 10 |
|
12 | | -type VarKind uint8 |
| 11 | +type VarKind = types.VarKind |
13 | 12 |
|
14 | 13 | const ( |
15 | | - _ VarKind = iota // (not meaningful) |
16 | | - PackageVar // a package-level variable |
17 | | - LocalVar // a local variable |
18 | | - RecvVar // a method receiver variable |
19 | | - ParamVar // a function parameter variable |
20 | | - ResultVar // a function result variable |
21 | | - FieldVar // a struct field |
| 14 | + PackageVar = types.PackageVar |
| 15 | + LocalVar = types.LocalVar |
| 16 | + RecvVar = types.RecvVar |
| 17 | + ParamVar = types.ParamVar |
| 18 | + ResultVar = types.ResultVar |
| 19 | + FieldVar = types.FieldVar |
22 | 20 | ) |
23 | 21 |
|
24 | | -func (kind VarKind) String() string { |
25 | | - return [...]string{ |
26 | | - 0: "VarKind(0)", |
27 | | - PackageVar: "PackageVar", |
28 | | - LocalVar: "LocalVar", |
29 | | - RecvVar: "RecvVar", |
30 | | - ParamVar: "ParamVar", |
31 | | - ResultVar: "ResultVar", |
32 | | - FieldVar: "FieldVar", |
33 | | - }[kind] |
34 | | -} |
35 | | - |
36 | | -// GetVarKind returns an invalid VarKind. |
37 | | -func GetVarKind(v *types.Var) VarKind { return 0 } |
38 | | - |
39 | | -// SetVarKind has no effect. |
40 | | -func SetVarKind(v *types.Var, kind VarKind) {} |
| 22 | +func GetVarKind(v *types.Var) VarKind { return v.Kind() } |
| 23 | +func SetVarKind(v *types.Var, kind VarKind) { v.SetKind(kind) } |
0 commit comments