mirror of
https://github.com/golang/go
synced 2024-11-20 02:54:39 -07:00
2961cab965
The duplication of _Kind and kind constants is a legacy of the conversion from C. Change-Id: I368b35a41f215cf91ac4b09dac59699edb414a0e Reviewed-on: https://go-review.googlesource.com/15800 Reviewed-by: Minux Ma <minux@golang.org> Run-TryBot: Minux Ma <minux@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
45 lines
769 B
Go
45 lines
769 B
Go
// 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
|
|
}
|