Documentation ¶
Index ¶
- Constants
- func BasicKind(t *types.Basic) abi.Kind
- func BasicName(t *types.Basic) string
- func ChanDir(dir types.ChanDir) (abi.ChanDir, string)
- func FullName(pkg *types.Package, name string) string
- func HasPtrData(t types.Type) bool
- func IsReflexive(t types.Type) bool
- func MapBucketType(t *types.Map, sizes types.Sizes) types.Type
- func MapTypeFlags(t *types.Map, sizes types.Sizes) (flags int)
- func NamedName(t *types.Named) string
- func PathOf(pkg *types.Package) string
- func TypeArgs(typeArgs []types.Type) string
- func TypeName(o *types.TypeName) string
- func UnderlyingKind(t types.Type) abi.Kind
- type Builder
- type DataKind
Constants ¶
const ( BUCKETSIZE = abi.MapBucketCount MAXKEYSIZE = abi.MapMaxKeyBytes MAXELEMSIZE = abi.MapMaxElemBytes )
Builds a type representing a Bucket structure for the given map type. This type is not visible to users - we include only enough information to generate a correct GC program for it. Make sure this stays in sync with runtime/map.go.
A "bucket" is a "struct" { tophash [BUCKETSIZE]uint8 keys [BUCKETSIZE]keyType elems [BUCKETSIZE]elemType overflow *bucket }
const (
PatchPathPrefix = "github.com/goplus/llgo/internal/lib/"
)
Variables ¶
This section is empty.
Functions ¶
func HasPtrData ¶ added in v0.9.0
PtrDataSize returns the length in bytes of the prefix of t containing pointer data. Anything after this offset is scalar data.
PtrDataSize is only defined for actual Go types. It's an error to use it on compiler-internal types (e.g., TSSA, TRESULTS).
func IsReflexive ¶ added in v0.9.0
IsReflexive reports whether t has a reflexive equality operator. That is, if x==x for all x of type t.
func MapBucketType ¶ added in v0.9.0
MapBucketType makes the map bucket type given the type of the map.
Types ¶
type Builder ¶
type Builder struct { Pkg string // contains filtered or unexported fields }
Builder is a helper for constructing ABI types.
func (*Builder) InterfaceName ¶
InterfaceName returns the ABI type name for the specified interface type.
func (*Builder) StructName ¶
StructName returns the ABI type name for the specified struct type.