1
0
mirror of https://github.com/rancher/os.git synced 2025-09-10 11:11:31 +00:00

Update vendor/

This commit is contained in:
Darren Shepherd
2016-06-01 01:42:22 -07:00
parent 8ab32c820f
commit 03db5d1058
832 changed files with 125590 additions and 26 deletions

View File

@@ -0,0 +1,38 @@
package stacktrace
import (
"path/filepath"
"runtime"
"strings"
)
// NewFrame returns a new stack frame for the provided information
func NewFrame(pc uintptr, file string, line int) Frame {
fn := runtime.FuncForPC(pc)
if fn == nil {
return Frame{}
}
pack, name := parseFunctionName(fn.Name())
return Frame{
Line: line,
File: filepath.Base(file),
Package: pack,
Function: name,
}
}
func parseFunctionName(name string) (string, string) {
i := strings.LastIndex(name, ".")
if i == -1 {
return "", name
}
return name[:i], name[i+1:]
}
// Frame contains all the information for a stack frame within a go program
type Frame struct {
File string
Function string
Package string
Line int
}