go/pkg/mod/github.com/mmcloughlin/[email protected]/gotypes/components.go

var Sizes

var PointerSize

type Basic

type Component

type componenterr

func errorf(format string, args ...any) Component {}

func (c componenterr) Error() string                        {}

func (c componenterr) Resolve() (*Basic, error)             {}

func (c componenterr) Dereference(r reg.Register) Component {}

func (c componenterr) Base() Component                      {}

func (c componenterr) Len() Component                       {}

func (c componenterr) Cap() Component                       {}

func (c componenterr) Real() Component                      {}

func (c componenterr) Imag() Component                      {}

func (c componenterr) Index(int) Component                  {}

func (c componenterr) Field(string) Component               {}

type component

// NewComponent builds a component for the named type at the given address.
func NewComponent(t types.Type, addr operand.Mem) Component {}

func (c *component) Resolve() (*Basic, error) {}

func (c *component) Dereference(r reg.Register) Component {}

var slicehdroffsets

func (c *component) Base() Component {}

func (c *component) Len() Component {}

func (c *component) Cap() Component {}

func (c *component) Real() Component {}

func (c *component) Imag() Component {}

func (c *component) Index(i int) Component {}

func (c *component) Field(n string) Component {}

func (c *component) sub(suffix string, offset int, t types.Type) *component {}

func isslice(t types.Type) bool {}

func isstring(t types.Type) bool {}

func iscomplex(t types.Type) bool {}

func complextofloat(t types.Type) types.Type {}

// toprimitive determines whether t is primitive (cannot be reduced into
// components). If it is, it returns the basic type for t, otherwise returns
// nil.
func toprimitive(t types.Type) *types.Basic {}