Skip to content

Commit 189a988

Browse files
committed
fix: use t.r reader so it works on older clojure versions
1 parent ba3e7a4 commit 189a988

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

src/test/clojure/clojure/tools/analyzer/jvm/core_test.clj

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
[clojure.tools.analyzer.env :as env]
66
[clojure.tools.analyzer.passes.elide-meta :refer [elides elide-meta]]
77
[clojure.tools.analyzer.ast :refer [postwalk]]
8+
[clojure.tools.reader :as r]
89
[clojure.test :refer [deftest is]]))
910

1011
(defprotocol p (f [_]))
@@ -20,13 +21,16 @@
2021
(env/with-env (ana.jvm/global-env)
2122
(postwalk (ana/analyze '~form e) elide-meta))))
2223

24+
(defn ana [form]
25+
(binding [ana/macroexpand-1 ana.jvm/macroexpand-1
26+
ana/create-var ana.jvm/create-var
27+
ana/parse ana.jvm/parse
28+
ana/var? var?
29+
elides {:all #{:line :column :file}}]
30+
(ana.jvm/analyze form e)))
31+
2332
(defmacro ast1 [form]
24-
`(binding [ana/macroexpand-1 ana.jvm/macroexpand-1
25-
ana/create-var ana.jvm/create-var
26-
ana/parse ana.jvm/parse
27-
ana/var? var?
28-
elides {:all #{:line :column :file}}]
29-
(ana.jvm/analyze '~form e)))
33+
`(ana '~form))
3034

3135
(defmacro mexpand [form]
3236
`(ana.jvm/macroexpand-1 '~form e))
@@ -108,3 +112,6 @@
108112
(deftest analyze+eval-context-test
109113
(let [do-ast (ana.jvm/analyze+eval '(do 1 2 3))]
110114
(is (= :ctx/statement (-> do-ast :statements first :env :context)))))
115+
116+
(deftest array_class
117+
(is (ana (r/read-string "(fn [^{:tag int/2} x] (instance? int/2 x))"))))

0 commit comments

Comments
 (0)