func_name.go 311 B

1234567891011121314151617
  1. package render
  2. import (
  3. "reflect"
  4. "runtime"
  5. )
  6. func functionName(i interface{}) string {
  7. return runtime.FuncForPC(reflect.ValueOf(i).Pointer()).Name()
  8. }
  9. func typeName(i interface{}) string {
  10. if m, ok := i.(*memoise); ok {
  11. return "memoise:" + typeName(m.Renderer)
  12. }
  13. return reflect.TypeOf(i).String()
  14. }