Skip to content

Commit 16395d2

Browse files
committed
lift passes into default-passes var, expose in cljs.analyzer.api,
add cljs.analyzer.api/with-passes helper
1 parent 2a2b472 commit 16395d2

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/main/clojure/cljs/analyzer.cljc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4220,11 +4220,14 @@
42204220
(cond-> {:op :const :val form :env env :form form}
42214221
tag (assoc :tag tag))))))
42224222

4223+
(def default-passes
4224+
#?(:clj [infer-type check-invoke-arg-types ns-side-effects]
4225+
:cljs [infer-type check-invoke-arg-types]))
4226+
42234227
(defn analyze* [env form name opts]
42244228
(let [passes *passes*
42254229
passes (if (nil? passes)
4226-
#?(:clj [infer-type check-invoke-arg-types ns-side-effects]
4227-
:cljs [infer-type check-invoke-arg-types])
4230+
default-passes
42284231
passes)
42294232
form (if (instance? LazySeq form)
42304233
(if (seq form) form ())

src/main/clojure/cljs/analyzer/api.cljc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,12 @@
9090
([state]
9191
(get @state :js-dependency-index)))
9292

93+
(def default-passes ana/default-passes)
94+
95+
(defn with-passes [passes & body]
96+
`(binding [ana/*passes* ~passes]
97+
~@body))
98+
9399
#?(:clj
94100
(defn analyze
95101
"Given an environment, a map containing {:locals (mapping of names to bindings), :context

0 commit comments

Comments
 (0)