go/src/cmd/compile/internal/rttype/rttype.go

var Type

var ArrayType

var ChanType

var FuncType

var InterfaceType

var OldMapType

var SwissMapType

var PtrType

var SliceType

var StructType

var IMethod

var Method

var StructField

var UncommonType

var InterfaceSwitch

var TypeAssert

var ITab

func Init() {}

// fromReflect translates from a host type to the equivalent target type.
func fromReflect(rt reflect.Type) *types.Type {}

// reflectToType converts from a reflect.Type (which is a compiler
// host type) to a *types.Type, which is a target type.  The result
// must be CalcSize'd before using.
func reflectToType(rt reflect.Type) *types.Type {}

type Cursor

// NewCursor returns a cursor starting at lsym+off and having type t.
func NewCursor(lsym *obj.LSym, off int64, t *types.Type) Cursor {}

// WritePtr writes a pointer "target" to the component at the location specified by c.
func (c Cursor) WritePtr(target *obj.LSym) {}

func (c Cursor) WritePtrWeak(target *obj.LSym) {}

func (c Cursor) WriteUintptr(val uint64) {}

func (c Cursor) WriteUint32(val uint32) {}

func (c Cursor) WriteUint16(val uint16) {}

func (c Cursor) WriteUint8(val uint8) {}

func (c Cursor) WriteInt(val int64) {}

func (c Cursor) WriteInt32(val int32) {}

func (c Cursor) WriteBool(val bool) {}

// WriteSymPtrOff writes a "pointer" to the given symbol. The symbol
// is encoded as a uint32 offset from the start of the section.
func (c Cursor) WriteSymPtrOff(target *obj.LSym, weak bool) {}

// WriteSlice writes a slice header to c. The pointer is target+off, the len and cap fields are given.
func (c Cursor) WriteSlice(target *obj.LSym, off, len, cap int64) {}

// Reloc adds a relocation from the current cursor position.
// Reloc fills in Off and Siz fields. Caller should fill in the rest (Type, others).
func (c Cursor) Reloc() *obj.Reloc {}

// Field selects the field with the given name from the struct pointed to by c.
func (c Cursor) Field(name string) Cursor {}

func (c Cursor) Elem(i int64) Cursor {}

type ArrayCursor

// NewArrayCursor returns a cursor starting at lsym+off and having n copies of type t.
func NewArrayCursor(lsym *obj.LSym, off int64, t *types.Type, n int) ArrayCursor {}

// Elem selects element i of the array pointed to by c.
func (a ArrayCursor) Elem(i int) Cursor {}

// ModifyArray converts a cursor pointing at a type [k]T to a cursor pointing
// at a type [n]T.
// Also returns the size delta, aka (n-k)*sizeof(T).
func (c Cursor) ModifyArray(n int) (ArrayCursor, int64) {}