File tree Expand file tree Collapse file tree 2 files changed +10
-6
lines changed Expand file tree Collapse file tree 2 files changed +10
-6
lines changed Original file line number Diff line number Diff line change 2188
2188
(let [enve (assoc env :context :expr )
2189
2189
fexpr (analyze enve f)
2190
2190
argc (count args)
2191
- ^boolean fn-var? (-> fexpr :info :fn-var )]
2192
- (when fn-var?
2191
+ ^boolean fn-var? (-> fexpr :info :fn-var )
2192
+ kw? (= 'cljs.core/Keyword (:tag fexpr))]
2193
+ (when (or fn-var? kw?)
2193
2194
(let [{:keys [^boolean variadic max-fixed-arity method-params name]} (:info fexpr)]
2194
- (when (and (not (valid-arity? argc method-params))
2195
- (or (not variadic)
2196
- (and variadic (< argc max-fixed-arity))))
2195
+ (when (or (and kw? (zero? argc))
2196
+ (and (not kw?)
2197
+ (not (valid-arity? argc method-params))
2198
+ (or (not variadic)
2199
+ (and variadic (< argc max-fixed-arity)))))
2197
2200
(warning :fn-arity env {:name name :argc argc}))))
2198
2201
(let [deprecated? (-> fexpr :info :deprecated )
2199
2202
no-warn? (-> form meta :deprecation-nowarn )]
Original file line number Diff line number Diff line change 13
13
(def warning-forms
14
14
{:undeclared-var (let [v (gensym )] `(~v 1 2 3 ))
15
15
:fn-arity '(do (defn x [a b] (+ a b))
16
- (x 1 2 3 4 ))})
16
+ (x 1 2 3 4 ))
17
+ :keyword-arity '(do (:argumentless-keyword-invocation ))})
17
18
18
19
(defn warn-count [form]
19
20
(let [counter (atom 0 )
You can’t perform that action at this time.
0 commit comments