// Copyright 2021 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. //go:build go1.7 // +build go1.7 package pkgbits import "runtime" // walkFrames calls visit for each call frame represented by pcs. // // pcs should be a slice of PCs, as returned by runtime.Callers. func walkFrames(pcs []uintptr, visit frameVisitor) { if len(pcs) == 0 { return } frames := runtime.CallersFrames(pcs) for { frame, more := frames.Next() visit(frame.File, frame.Line, frame.Function, frame.PC-frame.Entry) if !more { return } } }