| // Copyright 2011 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 types |
| |
| // A Type represents a type of Go. |
| // All types implement the Type interface. |
| type Type interface { |
| // Underlying returns the underlying type of a type. |
| // Underlying types are never Named, TypeParam, or Alias types. |
| // |
| // See https://go.dev/ref/spec#Underlying_types. |
| Underlying() Type |
| |
| // String returns a string representation of a type. |
| String() string |
| } |