                  (munge))]
     (str "Namespace " name " contains a reserved JavaScript keyword,"
          " the corresponding Google Closure namespace will be munged to " munged)))
+
+(defmethod error-message :ns-var-clash
+  [warning-type {:keys [ns var] :as info}]
+  (str "Namespace " ns " clashes with var " var))
 
 (defn ^:private default-warning-handler [warning-type env extra]
   (when (warning-type *cljs-warnings*)

        protocol (-> sym meta :protocol)
        dynamic (-> sym meta :dynamic)
        ns-name (-> env :ns :name)
        locals (:locals env)]
    (when (namespace sym)
      (throw (error env "Can't def ns-qualified name")))
    (when-let [doc (:doc args)]

   :protocol-duped-method true
   :protocol-multiple-impls true
   :single-segment-namespace true
   :munged-namespace true
   :ns-var-clash true})

(def js-reserved
  #{"abstract" "boolean" "break" "byte" "case"
