2024 Clojure现状调查中分享您的想法!

欢迎!请参阅关于页面以获取有关如何使用此页面的更多信息。

0
tools.analyzer

问题

clojure.lang.Compiler/analyzer的速度远快于clojure.tools.analyzer.jvm/analyze。

如果我们能够采用jvm.tools.analyzer将clojure.lang.Compiler/analyze转换为map,并且返回与tools.analyzer.jvm相同的AST,那将会很棒。

备注

:env必须包含:context、:locals、:ns和源信息。

如果我们能够接受额外的性能消耗,我们可以创建一个额外的遍历来修复:env。

TAJ使用:form来查找类型提示,但是由于Compiler/analyze本身就会处理反射,这可能不是必须的。

分支: (链接:https://github.com/clojure/tools.analyzer.jvm/tree/TANAL-113 文字:TANAL-113)

1 答案

0
参考资料:https://clojure.atlassian.net/browse/TANAL-113 (由ambrosebs报告)
...