// 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 | |
kindNoPointers = 1 << 7 | |
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 | |
} |