     ast))
 
 (defn hijacked-parse-ns [env form name opts]
-  (assoc (util/parse-ns form)
-    :env env
-    :form form
-    :op :ns))
+  (-> (util/parse-ns form)
+      (assoc :env env :form form :op :ns)))
 
 (def default-parse ana/parse)
 

                    (zero? last-modified)
                    (> (or (:compiled-at src) ;; js is not compiled but maybe modified
                           last-modified)
                      (.lastModified target)))]

    (io/make-parents target)


                 {:read-cond :allow :features #{:cljs}}))
        in (readers/indexing-push-back-reader (PushbackReader. (StringReader. cljs-source)) 1 name)]

    (binding [comp/*source-map-data*
              (atom {:source-map (sorted-map)
                     :gen-col 0
                     :gen-line 0})]

      (let [result
            (loop [{:keys [ns ns-info] :as compile-state} (assoc init :js "")]
              (let [form
                    (binding [*ns* (create-ns ns)
                              ana/*cljs-ns* ns
                              ana/*cljs-file* name
                              reader/*data-readers* tags/*cljs-data-readers*
                              reader/*alias-map*
                              (merge reader/*alias-map*
                                (:requires ns-info)
                                (:require-macros ns-info))]
                      (reader/read opts in))]

                (if (identical? form eof-sentinel)
                  ;; eof
