var funcStack … // DeclFunc declares the parameters for fn and adds it to // Target.Funcs. // // Before returning, it sets CurFunc to fn. When the caller is done // constructing fn, it must call FinishFuncBody to restore CurFunc. func DeclFunc(fn *ir.Func) { … } // FinishFuncBody restores ir.CurFunc to its state before the last // call to DeclFunc. func FinishFuncBody() { … } func CheckFuncStack() { … } // make a new Node off the books. func TempAt(pos src.XPos, curfn *ir.Func, typ *types.Type) *ir.Name { … } var autotmpnamesmu … var autotmpnames … // autotmpname returns the name for an autotmp variable numbered n. func autotmpname(n int) string { … } // f is method type, with receiver. // return function type, receiver as first argument (or not). func NewMethodType(sig *types.Type, recv *types.Type) *types.Type { … }