This commit is contained in:
Michiel Borkent 2021-03-06 01:00:15 +01:00
parent 2761f73b0d
commit 5e120d3240

View file

@ -23,25 +23,25 @@
prelude)] prelude)]
(assoc opts (assoc opts
(cond-> (set (map #(list 'quote %) (cond-> (set (map #(list 'quote %)
classes)) (map first classes)))
protocols? protocols?
(conj (list 'quote 'sci.impl.IReified))) (conj (list 'quote 'sci.impl.IReified)))
(list 'fn ['interfaces 'methods 'protocols] (list 'fn ['interfaces 'methods 'protocols]
(concat prelude (concat prelude
(mapcat (mapcat
(fn [[clazz methods]] (fn [[clazz methods]]
(cons clazz (cons clazz
(mapcat (mapcat
(fn [[meth arities]] (fn [[meth arities]]
(map (map
(fn [arity] (fn [arity]
(list meth arity (list meth arity
(list* (list*
(list 'get 'methods (list 'quote meth)) (list 'get 'methods (list 'quote meth))
arity))) arity)))
arities)) arities))
methods))) methods)))
classes)))))) classes))))))
{} {}
(concat (map (fn [subset bool] (concat (map (fn [subset bool]
[subset bool]) [subset bool])
@ -53,7 +53,7 @@
(repeat false)))))) (repeat false))))))
#_(prn (macroexpand '(gen-reify-combos #_(prn (macroexpand '(gen-reify-combos
{java.io.FileFilter {accept [[this f]]}}))) {java.io.FileFilter {accept [[this f]]}})))
#_:clj-kondo/ignore #_:clj-kondo/ignore
(def reify-opts (def reify-opts