github.com/ice-blockchain/go/src@v0.0.0-20240403114104-1564d284e521/internal/abi/iface.go (about) 1 // Copyright 2023 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 abi 6 7 // The first word of every non-empty interface type contains an *ITab. 8 // It records the underlying concrete type (Type), the interface type it 9 // is implementing (Inter), and some ancillary information. 10 // 11 // allocated in non-garbage-collected memory 12 type ITab struct { 13 Inter *InterfaceType 14 Type *Type 15 Hash uint32 // copy of Type.Hash. Used for type switches. 16 Fun [1]uintptr // variable sized. fun[0]==0 means Type does not implement Inter. 17 }