OSDN Git Service

equity compiler tool (#18)
[bytom/equity.git] / vendor / github.com / bytom / common / debug.go
diff --git a/vendor/github.com/bytom/common/debug.go b/vendor/github.com/bytom/common/debug.go
new file mode 100644 (file)
index 0000000..2373594
--- /dev/null
@@ -0,0 +1,36 @@
+package common
+
+import (
+       "fmt"
+       "os"
+       "runtime"
+       "runtime/debug"
+       "strings"
+)
+
+// Report gives off a warning requesting the user to submit an issue to the github tracker.
+func Report(extra ...interface{}) {
+       fmt.Fprintln(os.Stderr, "You've encountered a sought after, hard to reproduce bug. Please report this to the developers <3 https://github.com/ethereum/go-ethereum/issues")
+       fmt.Fprintln(os.Stderr, extra...)
+
+       _, file, line, _ := runtime.Caller(1)
+       fmt.Fprintf(os.Stderr, "%v:%v\n", file, line)
+
+       debug.PrintStack()
+
+       fmt.Fprintln(os.Stderr, "#### BUG! PLEASE REPORT ####")
+}
+
+// PrintDepricationWarning prinst the given string in a box using fmt.Println.
+func PrintDepricationWarning(str string) {
+       line := strings.Repeat("#", len(str)+4)
+       emptyLine := strings.Repeat(" ", len(str))
+       fmt.Printf(`
+%s
+# %s #
+# %s #
+# %s #
+%s
+
+`, line, emptyLine, str, emptyLine, line)
+}