github.com/tcnksm/go@v0.0.0-20141208075154-439b32936367/src/runtime/typekind.go (about)

     1  // Copyright 2014 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  package runtime
     6  
     7  const (
     8  	kindBool          = _KindBool
     9  	kindInt           = _KindInt
    10  	kindInt8          = _KindInt8
    11  	kindInt16         = _KindInt16
    12  	kindInt32         = _KindInt32
    13  	kindInt64         = _KindInt64
    14  	kindUint          = _KindUint
    15  	kindUint8         = _KindUint8
    16  	kindUint16        = _KindUint16
    17  	kindUint32        = _KindUint32
    18  	kindUint64        = _KindUint64
    19  	kindUintptr       = _KindUintptr
    20  	kindFloat32       = _KindFloat32
    21  	kindFloat64       = _KindFloat64
    22  	kindComplex64     = _KindComplex64
    23  	kindComplex128    = _KindComplex128
    24  	kindArray         = _KindArray
    25  	kindChan          = _KindChan
    26  	kindFunc          = _KindFunc
    27  	kindInterface     = _KindInterface
    28  	kindMap           = _KindMap
    29  	kindPtr           = _KindPtr
    30  	kindSlice         = _KindSlice
    31  	kindString        = _KindString
    32  	kindStruct        = _KindStruct
    33  	kindUnsafePointer = _KindUnsafePointer
    34  
    35  	kindDirectIface = _KindDirectIface
    36  	kindGCProg      = _KindGCProg
    37  	kindNoPointers  = _KindNoPointers
    38  	kindMask        = _KindMask
    39  )
    40  
    41  // isDirectIface reports whether t is stored directly in an interface value.
    42  func isDirectIface(t *_type) bool {
    43  	return t.kind&kindDirectIface != 0
    44  }