File tree Expand file tree Collapse file tree 2 files changed +8
-26
lines changed
Expand file tree Collapse file tree 2 files changed +8
-26
lines changed Original file line number Diff line number Diff line change 501501 (filter (comp #{:code } :type )
502502 blocks))))
503503
504- (defn transitive-deps
505- ([id analysis-info]
506- (loop [seen #{}
507- deps #{id}
508- res #{}]
509- (if (seq deps)
510- (let [dep (first deps)]
511- (if (contains? seen dep)
512- (recur seen (rest deps) res)
513- (let [{new-deps :deps } (get analysis-info dep)
514- seen (conj seen dep)
515- deps (concat (rest deps) new-deps)
516- res (into res deps)]
517- (recur seen deps res))))
518- res))))
519-
520- #_(transitive-deps id analysis-info)
521-
522- #_(transitive-deps :main {:main {:deps [:main :other ]}
523- :other {:deps [:another ]}
524- :another {:deps [:another-one :another :main ]}})
525-
526504(defn run-macros [init-state]
527- (let [{:keys [blocks ->analysis-info ]} init-state
505+ (let [{:keys [blocks]} init-state
528506 macro-block-ids (keep #(when (:macro %)
529507 (:id %)) blocks)
530- deps (mapcat #(transitive-deps % ->analysis-info) macro-block-ids)
508+ {:keys [graph]} (analyze-doc-deps init-state)
509+ deps (mapcat (partial dep/transitive-dependencies graph) macro-block-ids)
531510 all-block-ids (into (set macro-block-ids) deps)
532511 all-blocks (filter #(contains? all-block-ids (:id %)) blocks)]
533512 (doseq [block all-blocks]
Original file line number Diff line number Diff line change 294294 (remove-ns 'fixture-ns)
295295 (clerk/clear-cache! )
296296 (let [ns " (ns my-random-namespace)
297+ (defn helper-compile-time1 [x] x)
298+ (defn helper-compile-time2 [x] (helper-compile-time1 x))
299+
297300(defn macro-helper* [x] x)
298301
299302(defmacro attempt1
300303 [& body]
304+ (helper-compile-time2
301305 `(macro-helper* (try
302306 (do ~@body)
303- (catch Exception e# e#))))
304-
307+ (catch Exception e# e#)))))
305308
306309(def a1
307310 (do
You can’t perform that action at this time.
0 commit comments