File tree Expand file tree Collapse file tree 2 files changed +23
-13
lines changed
test/clojure/cljs/analyzer Expand file tree Collapse file tree 2 files changed +23
-13
lines changed Original file line number Diff line number Diff line change 21432143 {:line line :column column})
21442144 param {:op :binding
21452145 :name name
2146+ :form name
21462147 :line line
21472148 :column column
21482149 :tag tag
22052206 shadow (or (handle-symbol-local name (get locals name))
22062207 (get-in env [:js-globals name]))
22072208 fn-scope (:fn-scope env)
2208- name-var {:name name
2209- :op :binding
2209+ name-var {:op :binding
2210+ :env env
2211+ :form name
2212+ :name name
22102213 :local :fn
22112214 :info {:fn-self-name true
22122215 :fn-scope fn-scope
23262329 (let [ret-tag (-> n meta :tag )
23272330 fexpr (no-warn (analyze env (n->fexpr n)))
23282331 be (cond->
2329- {:name n
2330- :op :binding
2332+ {:op :binding
2333+ :name n
2334+ :form n
2335+ :env env
23312336 :fn-var true
23322337 :line (get-line n env)
23332338 :column (get-col n env)
24162421 col (get-col name env)
24172422 shadow (or (handle-symbol-local name (get-in env [:locals name]))
24182423 (get-in env [:js-globals name]))
2419- be {:name name
2424+ be {:op :binding
2425+ :name name
24202426 :form name
24212427 :line line
24222428 :column col
24262432 :shadow shadow
24272433 ; ; Give let* bindings same shape as var so
24282434 ; ; they get routed correctly in the compiler
2429- :op :binding
24302435 :env {:line line :column col}
24312436 :info {:name name
24322437 :shadow shadow}
Original file line number Diff line number Diff line change 3333(deftest test-def
3434 (is (s/valid? ::a/node (no-warn (analyze ns-env '(def x)))))
3535 (is (s/valid? ::a/node (no-warn (analyze ns-env '(def x 1 )))))
36+ (is (s/valid? ::a/node (no-warn (analyze ns-env '(def x (fn []))))))
37+ (is (s/valid? ::a/node (no-warn (analyze ns-env '(def x (fn [y] y)))))))
38+
39+ (deftest test-fn
3640 (is (s/valid? ::a/node (no-warn (analyze ns-env '(fn [])))))
37- (is (s/valid? ::a/node (no-warn (analyze ns-env '(fn [] 1 ))))))
41+ (is (s/valid? ::a/node (no-warn (analyze ns-env '(fn [] 1 )))))
42+ (is (s/valid? ::a/node (no-warn (analyze ns-env '(fn [x])))))
43+ (is (s/valid? ::a/node (no-warn (analyze ns-env '(fn [x] 1 ))))))
44+
45+ (deftest test-defn
46+ (is (s/valid? ::a/node (no-warn (analyze ns-env '(defn x [])))))
47+ (is (s/valid? ::a/node (no-warn (analyze ns-env '(defn x [] 1 )))))
48+ (is (s/valid? ::a/node (no-warn (analyze ns-env '(defn x [y] y))))))
3849
3950(deftest test-new
4051 (is (s/valid? ::a/node (no-warn (analyze ns-env '(new String)))))
4960 (s/valid? ::a/node (no-warn (analyze ns-env '(case x 1 :foo 2 :bar ))))
5061 (s/explain ::a/node (no-warn (analyze ns-env '(case x 1 :foo 2 :bar ))))
5162
52- (s/valid? ::a/node (no-warn (analyze ns-env '(def x (fn [])))))
53- (s/explain ::a/node (no-warn (analyze ns-env '(def x (fn [])))))
54-
55- (s/valid? ::a/node (no-warn (analyze ns-env '(fn [x]))))
56- (s/valid? ::a/node (no-warn (analyze ns-env '(fn [x] 1 ))))
57-
5863 )
You can’t perform that action at this time.
0 commit comments