当前函数实例使用处理过的Java名称来打印其toString()。
`
user=> (ns proj.util-fns)
nil
proj.util-fns=> (defn a->b [a] (inc a))
'proj.util-fns/a->b
proj.util-fns=> a->b
object[proj.util_fns$a__GT_b 0x141ba1f1 "proj.util_fns$a__GT_b@141ba1f1"]
`
出于调试目的,函数toString()应该描述Clojure方向的fn名称。
方法:在函数实例中存储原始名称,并在toString()中使用它而不是返回类名。
`
proj.util-fns=> a->b
object[proj.util_fns$a__GT_b 0x47d1a507 "proj.util-fns/a->b(NO_SOURCE_FILE:2)"]
`
权衡:函数实例大小因函数名称而增大。
补丁:CLJ-1278-2.patch