0.0-3178
Pre-release
Pre-release
CLJS-1188: multi-arity fns hinder cross-module code motion This patch makes all top level function definitions completely static, we never issue an invoke to produce a top-level function value. This is accomplished by duplicating and further enhancing the fn emission logic in cljs.compiler at the macro level. The enhancements are entirely around eliminating invokes and any property aliasing. While useful in expression contexts, at the top level both of these approaches in cljs.compiler defeat cross module code motion. - test-simple should clean builds - cljs.analyzer * remove :method info, never used * read fn information from :top-fn meta if available - cljs.closure * enhance module build reporting - cljs.core * move clojure.core/defn macro + helpers directly into macro ns * handle top level multi-arity & variadic fns - cjls.compiler-tests * include some examples