2024 年 Clojure 状态调查问卷!中分享您的想法。

欢迎!有关如何使用本论坛的更多信息,请参阅关于页面。

0 个投票
REPL
clj -Sdeps '{:deps {org.clojure/clojurescript {:mvn/version "RELEASE"}}}'
Clojure 1.10.3
user=> (require '[cljs.analyzer.api :as api])
nil
user=> (source api/ns-publics)
Execution error at user/eval138 (REPL:1).
Invalid token: ::ana/namespaces
user=>

不确定这是否是一个已知的问题。

ns-publics 的来源

(defn ns-publics
  "Given a namespace return all the public var analysis maps. Analagous to
  clojure.core/ns-publics but returns var analysis maps not vars."
  ([ns]
   (ns-publics env/*compiler* ns))
  ([state ns]
   {:pre [(symbol? ns)]}
   (->> (merge
          (get-in @state [::ana/namespaces ns :macros])
          (get-in @state [::ana/namespaces ns :defs]))
        (remove (fn [[k v]] (:private v)))
        (into {}))))

1 个答案

+1 个投票

被选中
 
最佳答案

我认为我们可能已经在某个地方记录了这个问题,这与源宏没有在读取时解析自动解析的关键字所缺少的 ns 上下文有关,现在我们有了可插拔解析器,这肯定是可以修复的。

...