fix regression in cljs that causes warning for record fields named var and other reserved words
This commit is contained in:
parent
cfb191e1cd
commit
179d818503
2 changed files with 16 additions and 4 deletions
|
|
@ -421,8 +421,10 @@
|
||||||
(defrecord LocalSym
|
(defrecord LocalSym
|
||||||
[val sym])
|
[val sym])
|
||||||
|
|
||||||
|
;; needs to be named "avar" instead of "var" due to regression in cljs circa
|
||||||
|
;; 6/26/2017. See https://github.com/nathanmarz/specter/issues/215
|
||||||
(defrecord VarUse
|
(defrecord VarUse
|
||||||
[val var sym])
|
[val avar sym])
|
||||||
|
|
||||||
(defrecord SpecialFormUse
|
(defrecord SpecialFormUse
|
||||||
[val code])
|
[val code])
|
||||||
|
|
@ -686,14 +688,14 @@
|
||||||
(preserve-map magic-precompilation* o)
|
(preserve-map magic-precompilation* o)
|
||||||
|
|
||||||
(instance? VarUse o)
|
(instance? VarUse o)
|
||||||
(if (dynamic-var? (:var o))
|
(if (dynamic-var? (:avar o))
|
||||||
(->DynamicVal (maybe-direct-nav
|
(->DynamicVal (maybe-direct-nav
|
||||||
(:sym o)
|
(:sym o)
|
||||||
(or (-> o :var direct-nav?)
|
(or (-> o :avar direct-nav?)
|
||||||
(-> o :sym direct-nav?))))
|
(-> o :sym direct-nav?))))
|
||||||
(maybe-direct-nav
|
(maybe-direct-nav
|
||||||
(:val o)
|
(:val o)
|
||||||
(or (-> o :var direct-nav?)
|
(or (-> o :avar direct-nav?)
|
||||||
(-> o :sym direct-nav?)
|
(-> o :sym direct-nav?)
|
||||||
(-> o :val direct-nav?))))
|
(-> o :val direct-nav?))))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1577,6 +1577,16 @@
|
||||||
(is (= [1 3 3] (transform MIDDLE inc [1 2 3])))
|
(is (= [1 3 3] (transform MIDDLE inc [1 2 3])))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
(def ^:dynamic *dvar* :a)
|
||||||
|
|
||||||
|
(defn dvar-tester []
|
||||||
|
(select-any *dvar* {:a 1 :b 2}))
|
||||||
|
|
||||||
|
(deftest dynamic-var-ic-test
|
||||||
|
(is (= 1 (dvar-tester)))
|
||||||
|
(is (= 2 (binding [*dvar* :b] (dvar-tester))))
|
||||||
|
)
|
||||||
|
|
||||||
#?(:clj
|
#?(:clj
|
||||||
(do
|
(do
|
||||||
(defprotocolpath FooPP)
|
(defprotocolpath FooPP)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue