欢迎!请访问关于页面,了解更多这个平台的信息。
在Clojurescript 1.10.844版本之前,我可以通过查看以下内容来可靠地判断出一个符号sym(在宏展开时)是否指的是一个协议:
sym
(:protocol-symbol (cljs.analyzer.api/resolve &env sym))
自CLJS-3276提交以来,这在我的代码中不再生效。据我所知,defprotocol仍然附加这个数据,并且,cljs.core仍然内部使用此方法。是否存在更好的/受支持的检测一个符号是否指向协议的方法?我非常希望这种行为能够重新引入,或者有其他可靠的方法。
defprotocol
我想知道你为什么需要问这个问题?