type internal/abi.Type
173 uses
internal/abi (current package)
type.go#L20: type Type struct {
type.go#L163: func (t *Type) Kind() Kind { return Kind(t.Kind_ & KindMask) }
type.go#L165: func (t *Type) HasName() bool {
type.go#L169: func (t *Type) Pointers() bool { return t.PtrBytes != 0 }
type.go#L172: func (t *Type) IfaceIndir() bool {
type.go#L177: func (t *Type) IsDirectIface() bool {
type.go#L181: func (t *Type) GcSlice(begin, end uintptr) []byte {
type.go#L238: Type
type.go#L239: Elem *Type // array element type
type.go#L240: Slice *Type // slice type
type.go#L245: func (t *Type) Len() int {
type.go#L252: func (t *Type) Common() *Type {
type.go#L267: Type
type.go#L268: Elem *Type
type.go#L278: func (t *Type) ChanDir() ChanDir {
type.go#L287: func (t *Type) Uncommon() *UncommonType {
type.go#L338: Type
type.go#L346: func (t *Type) Elem() *Type {
type.go#L368: func (t *Type) StructType() *StructType {
type.go#L376: func (t *Type) MapType() *MapType {
type.go#L384: func (t *Type) ArrayType() *ArrayType {
type.go#L392: func (t *Type) FuncType() *FuncType {
type.go#L400: func (t *Type) InterfaceType() *InterfaceType {
type.go#L408: func (t *Type) Size() uintptr { return t.Size_ }
type.go#L411: func (t *Type) Align() int { return int(t.Align_) }
type.go#L413: func (t *Type) FieldAlign() int { return int(t.FieldAlign_) }
type.go#L416: Type
type.go#L421: func (t *Type) ExportedMethods() []Method {
type.go#L429: func (t *Type) NumMethod() int {
type.go#L441: Type
type.go#L442: Key *Type
type.go#L443: Elem *Type
type.go#L444: Bucket *Type // internal type representing a hash bucket
type.go#L471: func (t *Type) Key() *Type {
type.go#L479: Type
type.go#L480: Elem *Type // slice element type
type.go#L495: Type
type.go#L500: func (t *FuncType) In(i int) *Type {
type.go#L512: func (t *FuncType) Out(i int) *Type {
type.go#L516: func (t *FuncType) InSlice() []*Type {
type.go#L524: return (*[1 << 16]*Type)(addChecked(unsafe.Pointer(t), uadd, "t.inCount > 0"))[:t.InCount:t.InCount]
type.go#L526: func (t *FuncType) OutSlice() []*Type {
type.go#L535: return (*[1 << 17]*Type)(addChecked(unsafe.Pointer(t), uadd, "outCount > 0"))[t.InCount : t.InCount+outCount : t.InCount+outCount]
type.go#L543: Type
type.go#L544: Elem *Type // pointer element (pointed at) type
type.go#L549: Typ *Type // type of field
type.go#L558: Type
internal/reflectlite
type.go#L66: common() *abi.Type
type.go#L95: *abi.Type
type.go#L117: Key *abi.Type // map key type
type.go#L118: Elem *abi.Type // map element (value) type
type.go#L119: Bucket *abi.Type // internal bucket structure
type.go#L247: func (t rtype) typeOff(off typeOff) *abi.Type {
type.go#L248: return (*abi.Type)(resolveTypeOff(unsafe.Pointer(t.Type), int32(off)))
type.go#L263: func (t rtype) common() *abi.Type { return t.Type }
type.go#L311: func toRType(t *abi.Type) rtype {
type.go#L315: func elem(t *abi.Type) *abi.Type {
type.go#L425: func implements(T, V *abi.Type) bool {
type.go#L516: func directlyAssignable(T, V *abi.Type) bool {
type.go#L532: func haveIdenticalType(T, V *abi.Type, cmpTags bool) bool {
type.go#L544: func haveIdenticalUnderlyingType(T, V *abi.Type, cmpTags bool) bool {
type.go#L649: func toType(t *abi.Type) Type {
type.go#L657: func ifaceIndir(t *abi.Type) bool {
value.go#L38: typ *abi.Type
value.go#L182: typ *abi.Type
value.go#L391: func unsafe_New(*abi.Type) unsafe.Pointer
value.go#L412: func (v Value) assignTo(context string, dst *abi.Type, target unsafe.Pointer) Value {
value.go#L459: func ifaceE2I(t *abi.Type, src any, dst unsafe.Pointer)
value.go#L464: func typedmemmove(t *abi.Type, dst, src unsafe.Pointer)
reflect
abi.go#L124: func (a *abiSeq) addArg(t *abi.Type) *abiStep {
abi.go#L165: func (a *abiSeq) addRcvr(rcvr *abi.Type) (*abiStep, bool) {
abi.go#L198: func (a *abiSeq) regAssign(t *abi.Type, offset uintptr) bool {
abi.go#L387: func newAbiDesc(t *funcType, rcvr *abi.Type) abiDesc {
type.go#L221: common() *abi.Type
type.go#L284: abi.Type
type.go#L290: t abi.Type
type.go#L293: func (t *rtype) common() *abi.Type {
type.go#L342: func nameOffFor(t *abi.Type, off aNameOff) abi.Name {
type.go#L346: func typeOffFor(t *abi.Type, off aTypeOff) *abi.Type {
type.go#L350: func (t *interfaceType) typeOff(off aTypeOff) *abi.Type {
type.go#L354: func (t *interfaceType) common() *abi.Type {
type.go#L514: func resolveReflectType(t *abi.Type) aTypeOff {
type.go#L529: func (t *rtype) typeOff(off aTypeOff) *abi.Type {
type.go#L530: return (*abi.Type)(resolveTypeOff(unsafe.Pointer(t), int32(off)))
type.go#L537: func textOffFor(t *abi.Type, off aTextOff) unsafe.Pointer {
type.go#L661: func pkgPathFor(t *abi.Type) string {
type.go#L684: func nameFor(t *abi.Type) string {
type.go#L696: func toRType(t *abi.Type) *rtype {
type.go#L700: func elem(t *abi.Type) *abi.Type {
type.go#L1074: var ntyp *abi.Type
type.go#L1157: return toType((*abi.Type)(noescape(unsafe.Pointer(eface.typ))))
type.go#L1161: func rtypeOf(i any) *abi.Type {
type.go#L1182: func (t *rtype) ptrTo() *abi.Type {
type.go#L1226: func ptrTo(t *abi.Type) *abi.Type {
type.go#L1268: func implements(T, V *abi.Type) bool {
type.go#L1356: func specialChannelAssignability(T, V *abi.Type) bool {
type.go#L1369: func directlyAssignable(T, V *abi.Type) bool {
type.go#L1389: func haveIdenticalType(T, V *abi.Type, cmpTags bool) bool {
type.go#L1401: func haveIdenticalUnderlyingType(T, V *abi.Type, cmpTags bool) bool {
type.go#L1514: func rtypeOff(section unsafe.Pointer, off int32) *abi.Type {
type.go#L1515: return (*abi.Type)(add(section, uintptr(off), "sizeof(rtype) > 0"))
type.go#L1522: func typesByString(s string) []*abi.Type {
type.go#L1524: var ret []*abi.Type
type.go#L1565: t1 *abi.Type
type.go#L1566: t2 *abi.Type
type.go#L1797: for _, t := range ts.([]*abi.Type) {
type.go#L1808: for _, t := range ts.([]*abi.Type) {
type.go#L1815: addToCache := func(tt *abi.Type) Type {
type.go#L1816: var rts []*abi.Type
type.go#L1818: rts = rti.([]*abi.Type)
type.go#L1837: func stringFor(t *abi.Type) string {
type.go#L1877: func isReflexive(t *abi.Type) bool {
type.go#L1901: func needKeyUpdate(t *abi.Type) bool {
type.go#L1928: func hashMightPanic(t *abi.Type) bool {
type.go#L1958: func bucketOf(ktyp, etyp *abi.Type) *abi.Type {
type.go#L2009: b := &abi.Type{
type.go#L2027: func emitGCMask(out []byte, base uintptr, typ *abi.Type, n uintptr) {
type.go#L2046: func appendGCProg(dst []byte, typ *abi.Type) []byte {
type.go#L2593: func typeptrdata(t *abi.Type) uintptr {
type.go#L2772: func toType(t *abi.Type) Type {
type.go#L2781: rcvr *abi.Type // receiver type, or nil if none
type.go#L2785: t *abi.Type
type.go#L2799: func funcLayout(t *funcType, rcvr *abi.Type) (frametype *abi.Type, framePool *sync.Pool, abid abiDesc) {
type.go#L2816: x := &abi.Type{
type.go#L2851: func ifaceIndir(t *abi.Type) bool {
type.go#L2875: func addTypeBits(bv *bitVector, offset uintptr, t *abi.Type) {
value.go#L42: typ_ *abi.Type
value.go#L96: func (v Value) typ() *abi.Type {
value.go#L102: return (*abi.Type)(noescape(unsafe.Pointer(v.typ_)))
value.go#L207: typ *abi.Type
value.go#L215: ityp *abi.Type // static interface type
value.go#L216: typ *abi.Type // dynamic concrete type
value.go#L406: rcvrtype *abi.Type
value.go#L887: func methodReceiver(op string, v Value, methodIndex int) (rcvrtype *abi.Type, t *funcType, fn unsafe.Pointer) {
value.go#L1994: func copyVal(typ *abi.Type, fl flag, ptr unsafe.Pointer) Value {
value.go#L3126: func unsafe_New(*abi.Type) unsafe.Pointer
value.go#L3129: func unsafe_NewArray(*abi.Type, int) unsafe.Pointer
value.go#L3274: func (v Value) assignTo(context string, dst *abi.Type, target unsafe.Pointer) Value {
value.go#L3461: func convertOp(dst, src *abi.Type) func(Value, Type) Value {
value.go#L3813: func makechan(typ *abi.Type, size int) (ch unsafe.Pointer)
value.go#L3814: func makemap(t *abi.Type, cap int) (m unsafe.Pointer)
value.go#L3817: func mapaccess(t *abi.Type, m unsafe.Pointer, key unsafe.Pointer) (val unsafe.Pointer)
value.go#L3820: func mapaccess_faststr(t *abi.Type, m unsafe.Pointer, key string) (val unsafe.Pointer)
value.go#L3823: func mapassign0(t *abi.Type, m unsafe.Pointer, key, val unsafe.Pointer)
value.go#L3825: func mapassign(t *abi.Type, m unsafe.Pointer, key, val unsafe.Pointer) {
value.go#L3832: func mapassign_faststr0(t *abi.Type, m unsafe.Pointer, key string, val unsafe.Pointer)
value.go#L3834: func mapassign_faststr(t *abi.Type, m unsafe.Pointer, key string, val unsafe.Pointer) {
value.go#L3841: func mapdelete(t *abi.Type, m unsafe.Pointer, key unsafe.Pointer)
value.go#L3844: func mapdelete_faststr(t *abi.Type, m unsafe.Pointer, key string)
value.go#L3847: func mapiterinit(t *abi.Type, m unsafe.Pointer, it *hiter)
value.go#L3861: func mapclear(t *abi.Type, m unsafe.Pointer)
value.go#L3889: func call(stackArgsType *abi.Type, f, stackArgs unsafe.Pointer, stackArgsSize, stackRetOffset, frameSize uint32, regArgs *abi.RegArgs)
value.go#L3891: func ifaceE2I(t *abi.Type, src any, dst unsafe.Pointer)
value.go#L3901: func typedmemmove(t *abi.Type, dst, src unsafe.Pointer)
value.go#L3906: func typedmemclr(t *abi.Type, ptr unsafe.Pointer)
value.go#L3912: func typedmemclrpartial(t *abi.Type, ptr unsafe.Pointer, off, size uintptr)
value.go#L3918: func typedslicecopy(t *abi.Type, dst, src unsafeheader.Slice) int
value.go#L3924: func typedarrayclear(elemType *abi.Type, ptr unsafe.Pointer, len int)
value.go#L3927: func typehash(t *abi.Type, p unsafe.Pointer, h uintptr) uintptr
value.go#L3932: func growslice(t *abi.Type, old unsafeheader.Slice, num int) unsafeheader.Slice
runtime
mbarrier.go#L152: func typedmemmove(typ *abi.Type, dst, src unsafe.Pointer) {
type.go#L18: type _type = abi.Type
type.go#L22: *abi.Type // embedding is okay here (unlike reflect) because none of this is public
type.go#L311: func toRType(t *abi.Type) rtype {
|
The pages are generated with Golds v0.6.7. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |