From 83b4c9ebc87d0fddf4e638f13e3af1483912e3a5 Mon Sep 17 00:00:00 2001 From: Terin Stock Date: Tue, 26 Apr 2022 20:30:25 -0700 Subject: [chore] remove vendor --- vendor/codeberg.org/gruf/go-errors/v2/callers.go | 102 ----------------------- 1 file changed, 102 deletions(-) delete mode 100644 vendor/codeberg.org/gruf/go-errors/v2/callers.go (limited to 'vendor/codeberg.org/gruf/go-errors/v2/callers.go') diff --git a/vendor/codeberg.org/gruf/go-errors/v2/callers.go b/vendor/codeberg.org/gruf/go-errors/v2/callers.go deleted file mode 100644 index 77a2c1c1b..000000000 --- a/vendor/codeberg.org/gruf/go-errors/v2/callers.go +++ /dev/null @@ -1,102 +0,0 @@ -package errors - -import ( - "encoding/json" - "runtime" - "strconv" - "strings" - "unsafe" -) - -// Callers is a stacktrace of caller PCs. -type Callers []uintptr - -// GetCallers returns a Callers slice of PCs, of at most 'depth'. -func GetCallers(skip int, depth int) Callers { - rpc := make([]uintptr, depth) - n := runtime.Callers(skip+1, rpc) - return Callers(rpc[0:n]) -} - -// Frames fetches runtime frames for a slice of caller PCs. -func (f Callers) Frames() []runtime.Frame { - // Allocate expected frames slice - frames := make([]runtime.Frame, 0, len(f)) - - // Get frames iterator for PCs - iter := runtime.CallersFrames(f) - - for { - // Get next frame in iter - frame, ok := iter.Next() - if !ok { - break - } - - // Append to frames slice - frames = append(frames, frame) - } - - return frames -} - -// MarshalJSON implements json.Marshaler to provide an easy, simply default. -func (f Callers) MarshalJSON() ([]byte, error) { - // JSON-able frame type - type frame struct { - Func string `json:"func"` - File string `json:"file"` - Line int `json:"line"` - } - - // Allocate expected frames slice - frames := make([]frame, 0, len(f)) - - // Get frames iterator for PCs - iter := runtime.CallersFrames(f) - - for { - // Get next frame - f, ok := iter.Next() - if !ok { - break - } - - // Append to frames slice - frames = append(frames, frame{ - Func: funcname(f.Function), - File: f.File, - Line: f.Line, - }) - } - - // marshal converted frames - return json.Marshal(frames) -} - -// String will return a simple string representation of receiving Callers slice. -func (f Callers) String() string { - // Guess-timate to reduce allocs - buf := make([]byte, 0, 64*len(f)) - - // Convert to frames - frames := f.Frames() - - for i := 0; i < len(frames); i++ { - frame := frames[i] - - // Append formatted caller info - funcname := funcname(frame.Function) - buf = append(buf, funcname+"()\n\t"+frame.File+":"...) - buf = strconv.AppendInt(buf, int64(frame.Line), 10) - buf = append(buf, '\n') - } - - return *(*string)(unsafe.Pointer(&buf)) -} - -// funcname splits a function name with pkg from its path prefix. -func funcname(name string) string { - i := strings.LastIndex(name, "/") - return name[i+1:] -} -- cgit v1.2.3