// Param returns a the named argument of the active function. func (c *Context) Param(name string) gotypes.Component { … } // ParamIndex returns the ith argument of the active function. func (c *Context) ParamIndex(i int) gotypes.Component { … } // Return returns a the named return value of the active function. func (c *Context) Return(name string) gotypes.Component { … } // ReturnIndex returns the ith argument of the active function. func (c *Context) ReturnIndex(i int) gotypes.Component { … } // Load the function argument src into register dst. Returns the destination // register. This is syntactic sugar: it will attempt to select the right MOV // instruction based on the types involved. func (c *Context) Load(src gotypes.Component, dst reg.Register) reg.Register { … } // Store register src into return value dst. This is syntactic sugar: it will // attempt to select the right MOV instruction based on the types involved. func (c *Context) Store(src reg.Register, dst gotypes.Component) { … } // Dereference loads a pointer and returns its element type. func (c *Context) Dereference(ptr gotypes.Component) gotypes.Component { … } // ConstData builds a static data section containing just the given constant. func (c *Context) ConstData(name string, v operand.Constant) operand.Mem { … }