Skip to content

Commit 00e9d46

Browse files
committed
TANAL-127: handle injected locals in add-binding-atom phase
1 parent d2c268a commit 00e9d46

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

src/main/clojure/clojure/tools/analyzer/passes/add_binding_atom.clj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424
(swap! state assoc (:name ast) a)
2525
(assoc ast :atom a))
2626
:local
27-
(assoc ast :atom (or (@state (:name ast))
28-
(atom {})))
27+
(if-let [a (@state (:name ast))]
28+
(assoc ast :atom a)
29+
;; handle injected locals
30+
(let [a (get-in ast [:env :locals (:name ast) :atom] (atom {}))]
31+
(swap! state assoc (:name ast) a)
32+
(assoc ast :atom a)))
2933
ast)))

0 commit comments

Comments
 (0)