func PrintLocal(fr *interp.Frame, i uint, isPtr bool) { fn := fr.Fn() v := fr.Local(i) l := fn.Locals[i] name := l.Name() scope := l.Scope scopeStr := "" if scope != nil { scopeStr = fmt.Sprintf(" scope %d", scope.ScopeId()) } ssaVal := ssa2.Value(l) if name[0] == 't' && fr.Reg2Var[name] != "" { nameStr := fr.Reg2Var[name] Msg("%3d:\t%s %s (%s) = %s%s %s", i, nameStr, name, deref(l.Type()), interp.ToInspect(v, &ssaVal), scopeStr, ssa2.FmtRange(fn, l.Pos(), l.EndP())) } else { Msg("%3d:\t%s %s = %s%s %s", i, l.Name(), deref(l.Type()), interp.ToInspect(v, &ssaVal), scopeStr, ssa2.FmtRange(fn, l.Pos(), l.EndP())) } }