Skip to content

Commit cab9213

Browse files
authored
CLJS-3477: add missing ns specs for :refer-global and :require-global (#315)
* add :refer-global, and :require-global to specs * just add an eval comment, bringing these into analyzer tests is a project for later
1 parent 5e0d80d commit cab9213

1 file changed

Lines changed: 29 additions & 6 deletions

File tree

src/main/cljs/cljs/core/specs/alpha.cljc

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -188,14 +188,24 @@
188188
:libs (s/+ (s/alt :libspec ::use-macros-libspec
189189
:flag #{:reload :reload-all :verbose})))))
190190

191+
(s/def ::ns-refer-global
192+
(s/spec (s/cat :clause #{:refer-global}
193+
:options (s/keys* :req-un [::only]))))
194+
195+
(s/def ::ns-require-global
196+
(s/spec (s/cat :clause #{:require-global}
197+
:body (s/+ ::libspec))))
191198

192199
(s/def ::ns-clauses
193-
(s/* (s/alt :refer-clojure ::ns-refer-clojure
194-
:require ::ns-require
195-
:require-macros ::ns-require-macros
196-
:import ::ns-import
197-
:use ::ns-use
198-
:use-macros ::ns-use-macros)))
200+
(s/* (s/alt
201+
:refer-clojure ::ns-refer-clojure
202+
:require ::ns-require
203+
:require-macros ::ns-require-macros
204+
:import ::ns-import
205+
:use ::ns-use
206+
:use-macros ::ns-use-macros
207+
:refer-global ::ns-refer-global
208+
:require-global ::ns-require-global)))
199209

200210
(s/def ::ns-form
201211
(s/cat :ns-name simple-symbol?
@@ -233,3 +243,16 @@
233243
(s/fdef core/use-macros
234244
:args (s/+ (s/alt :libspec (quoted ::use-macros-libspec)
235245
:flag #{:reload :reload-all :verbose})))
246+
247+
(comment
248+
249+
(s/valid? ::ns-refer-global
250+
'(:refer-global :only [Date] :rename {Date MyDate}))
251+
252+
(s/valid? ::ns-refer-global
253+
'(:refer-global :only))
254+
255+
(s/valid? ::ns-require-global
256+
'(:require-global [jquery :as jq :refer [carousel] :rename {carousel car}]))
257+
258+
)

0 commit comments

Comments
 (0)