|
2707 | 2707 | (let [src (if (symbol? src)
|
2708 | 2708 | (util/ns->source src)
|
2709 | 2709 | src)
|
2710 |
| - compiler-env @env/*compiler* |
2711 |
| - [ijs compiler-env'] |
2712 |
| - (binding [env/*compiler* (atom compiler-env) |
| 2710 | + ijs |
| 2711 | + (binding [env/*compiler* (if (false? (:restore opts)) |
| 2712 | + env/*compiler* |
| 2713 | + (atom @env/*compiler*)) |
2713 | 2714 | *cljs-ns* 'cljs.user
|
2714 | 2715 | *cljs-file* src
|
2715 | 2716 | *macro-infer*
|
|
2739 | 2740 | 'cljs.core$macros
|
2740 | 2741 | ns-name)
|
2741 | 2742 | deps (merge (:uses ast) (:requires ast))]
|
2742 |
| - [(merge |
2743 |
| - {:ns (or ns-name 'cljs.user) |
2744 |
| - :provides [ns-name] |
2745 |
| - :requires (if (= 'cljs.core ns-name) |
2746 |
| - (set (vals deps)) |
2747 |
| - (cond-> (conj (set (vals deps)) 'cljs.core) |
2748 |
| - (get-in compiler-env [:options :emit-constants]) |
2749 |
| - (conj 'constants-table))) |
2750 |
| - :file dest |
2751 |
| - :source-file (when rdr src) |
2752 |
| - :source-forms (when-not rdr src) |
2753 |
| - :ast ast |
2754 |
| - :macros-ns (or (:macros-ns opts) |
2755 |
| - (= 'cljs.core$macros ns-name))} |
2756 |
| - (when (and dest (.exists ^File dest)) |
2757 |
| - {:lines (with-open [reader (io/reader dest)] |
2758 |
| - (-> reader line-seq count))})) |
2759 |
| - @env/*compiler*]) |
| 2743 | + (merge |
| 2744 | + {:ns (or ns-name 'cljs.user) |
| 2745 | + :provides [ns-name] |
| 2746 | + :requires (if (= 'cljs.core ns-name) |
| 2747 | + (set (vals deps)) |
| 2748 | + (cond-> (conj (set (vals deps)) 'cljs.core) |
| 2749 | + (get-in @env/*compiler* [:options :emit-constants]) |
| 2750 | + (conj 'constants-table))) |
| 2751 | + :file dest |
| 2752 | + :source-file (when rdr src) |
| 2753 | + :source-forms (when-not rdr src) |
| 2754 | + :ast ast |
| 2755 | + :macros-ns (or (:macros-ns opts) |
| 2756 | + (= 'cljs.core$macros ns-name))} |
| 2757 | + (when (and dest (.exists ^File dest)) |
| 2758 | + {:lines (with-open [reader (io/reader dest)] |
| 2759 | + (-> reader line-seq count))}))) |
2760 | 2760 | (recur (rest forms))))
|
2761 | 2761 | (throw (AssertionError. (str "No ns form found in " src)))))
|
2762 | 2762 | (finally
|
2763 | 2763 | (when rdr
|
2764 | 2764 | (.close ^Reader rdr))))))]
|
2765 |
| - (when (false? (:restore opts)) |
2766 |
| - (swap! env/*compiler* |
2767 |
| - (fn [old-state] |
2768 |
| - (-> old-state |
2769 |
| - (update-in [::namespaces] merge (get compiler-env' ::namespaces)) |
2770 |
| - (update-in [::constant-table] merge (get compiler-env' ::constant-table)))))) |
2771 | 2765 | ijs)))))
|
2772 | 2766 |
|
2773 | 2767 | #?(:clj
|
|
0 commit comments