| // Copyright 2014 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 runtime | |
| const ( | |
| kindBool = 1 + iota | |
| kindInt | |
| kindInt8 | |
| kindInt16 | |
| kindInt32 | |
| kindInt64 | |
| kindUint | |
| kindUint8 | |
| kindUint16 | |
| kindUint32 | |
| kindUint64 | |
| kindUintptr | |
| kindFloat32 | |
| kindFloat64 | |
| kindComplex64 | |
| kindComplex128 | |
| kindArray | |
| kindChan | |
| kindFunc | |
| kindInterface | |
| kindMap | |
| kindPtr | |
| kindSlice | |
| kindString | |
| kindStruct | |
| kindUnsafePointer | |
| kindDirectIface = 1 << 5 | |
| kindGCProg = 1 << 6 | |
| kindMask = (1 << 5) - 1 | |
| ) | |
| // isDirectIface reports whether t is stored directly in an interface value. | |
| func isDirectIface(t *_type) bool { | |
| return t.kind&kindDirectIface != 0 | |
| } |