         (= targetexpr ::set-unchecked-if) {:env env :op :no-op}
         :else {:env env :op :set! :form form :target targetexpr :val valexpr
                :children [targetexpr valexpr]})))))
-
-(defn munge-path [ss]
-  (clojure.lang.Compiler/munge (str ss)))
-
-(defn ns->relpath [s]
-  (str (string/replace (munge-path s) \. \/) ".cljs"))
 
 (declare analyze-file)
 


(defn confirm-ns [env ns-sym]
  (when (and (nil? (get '#{cljs.core goog Math} ns-sym))
             (nil? (get (-> env :ns :requires) ns-sym)) 
             (:undeclared *cljs-warnings*))
    (warning env
      (str "WARNING: No such namespace: " ns-sym))))

   :fn-arity true
   :fn-deprecated true
   :protocol-deprecated true})

(defn munge-path [ss]
  (clojure.lang.Compiler/munge (str ss)))

(defn ns->relpath [s]
  (str (string/replace (munge-path s) \. \/) ".cljs"))

(def constant-counter (atom 0))

