Skip to content

Commit f947058

Browse files
committed
- preserve the :unaliased-name when resolving goog.module vars
- check for the unaliased-name when warning about arity in parse-invoke*
1 parent b42550d commit f947058

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/main/clojure/cljs/analyzer.cljc

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1218,7 +1218,8 @@
12181218
(merge sym-ast
12191219
{:name (symbol (str current-ns) (str (munge-goog-module-lib full-ns) "." (name sym)))
12201220
:ns current-ns
1221-
:op :var})))
1221+
:op :var
1222+
:unaliased-name (symbol (str full-ns) (name sym))})))
12221223

12231224
(defmethod resolve* :global
12241225
[env sym full-ns current-ns]
@@ -3889,15 +3890,15 @@
38893890
bind-args? (and HO-invoke?
38903891
(not (all-values? args)))]
38913892
(when ^boolean fn-var?
3892-
(let [{^boolean variadic :variadic? :keys [max-fixed-arity method-params name ns macro]} (:info fexpr)]
3893-
;; don't warn about invalid arity when when compiling a macros namespace
3893+
(let [{^boolean variadic :variadic? :keys [max-fixed-arity method-params name unaliased-name ns macro]} (:info fexpr)]
3894+
;; don't warn about invalid arity when compiling a macros namespace
38943895
;; that requires itself, as that code is not meant to be executed in the
38953896
;; `$macros` ns - António Monteiro
38963897
(when (and #?(:cljs (not (and (gstring/endsWith (str cur-ns) "$macros")
38973898
(symbol-identical? cur-ns ns)
38983899
(true? macro))))
38993900
(invalid-arity? argc method-params variadic max-fixed-arity))
3900-
(warning :fn-arity env {:name name :argc argc}))))
3901+
(warning :fn-arity env {:name (or unaliased-name name) :argc argc}))))
39013902
(when (and kw? (not (or (== 1 argc) (== 2 argc))))
39023903
(warning :fn-arity env {:name (first form) :argc argc}))
39033904
(let [deprecated? (-> fexpr :info :deprecated)

0 commit comments

Comments
 (0)