func (r *callstackResult) toSerial(res *serial.Result, fset *token.FileSet) { var callers []serial.Caller for i := len(r.callpath) - 1; i >= 0; i-- { // (innermost first) edge := r.callpath[i] callers = append(callers, serial.Caller{ Pos: fset.Position(edge.Pos()).String(), Caller: edge.Caller.Func.String(), Desc: edge.Description(), }) } res.Callstack = &serial.CallStack{ Pos: fset.Position(r.target.Pos()).String(), Target: r.target.String(), Callers: callers, } }