Tim King | 0be034b | 2024-01-31 14:34:13 -0800 | [diff] [blame] | 1 | // Copyright 2024 The Go Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style |
| 3 | // license that can be found in the LICENSE file. |
| 4 | |
| 5 | //go:build !go1.22 |
| 6 | // +build !go1.22 |
| 7 | |
| 8 | package aliases |
| 9 | |
| 10 | import ( |
| 11 | "go/types" |
| 12 | ) |
| 13 | |
| 14 | // Alias is a placeholder for a go/types.Alias for <=1.21. |
| 15 | // It will never be created by go/types. |
| 16 | type Alias struct{} |
| 17 | |
Alan Donovan | 8b51d66 | 2024-07-25 17:24:39 -0700 | [diff] [blame^] | 18 | func (*Alias) String() string { panic("unreachable") } |
| 19 | func (*Alias) Underlying() types.Type { panic("unreachable") } |
| 20 | func (*Alias) Obj() *types.TypeName { panic("unreachable") } |
| 21 | func Rhs(alias *Alias) types.Type { panic("unreachable") } |
| 22 | func TypeParams(alias *Alias) *types.TypeParamList { panic("unreachable") } |
Tim King | 0be034b | 2024-01-31 14:34:13 -0800 | [diff] [blame] | 23 | |
| 24 | // Unalias returns the type t for go <=1.21. |
| 25 | func Unalias(t types.Type) types.Type { return t } |
| 26 | |
Tim King | 0be034b | 2024-01-31 14:34:13 -0800 | [diff] [blame] | 27 | func newAlias(name *types.TypeName, rhs types.Type) *Alias { panic("unreachable") } |
Alan Donovan | 440f3c3 | 2024-04-19 14:21:28 -0400 | [diff] [blame] | 28 | |
| 29 | // Enabled reports whether [NewAlias] should create [types.Alias] types. |
| 30 | // |
| 31 | // Before go1.22, this function always returns false. |
| 32 | func Enabled() bool { return false } |