diff --git a/sci b/sci index bf0fc870..a10c28f0 160000 --- a/sci +++ b/sci @@ -1 +1 @@ -Subproject commit bf0fc870e5d9060ea79dd49594487d600bb64571 +Subproject commit a10c28f012075a98dedb06f8158341a1b7baea9a diff --git a/src/babashka/impl/proxy.clj b/src/babashka/impl/proxy.clj index ad3aaba8..4ebfba60 100644 --- a/src/babashka/impl/proxy.clj +++ b/src/babashka/impl/proxy.clj @@ -12,8 +12,8 @@ (.getName clazz)) (defn proxy-fn [{:keys [class interfaces protocols methods]}] - (let [interfaces (set (map class-name interfaces))] - (case [(class-name class) interfaces ] + (let [interface-names (set (map class-name interfaces))] + (case [(class-name class) interface-names] ;; This combination is used by pathom3 ["clojure.lang.APersistentMap" #{"clojure.lang.IMeta" "clojure.lang.IObj"}] (proxy [clojure.lang.APersistentMap clojure.lang.IMeta clojure.lang.IObj sci.impl.types.IReified] [] diff --git a/test/babashka/proxy_test.clj b/test/babashka/proxy_test.clj index bfd05534..496f6449 100644 --- a/test/babashka/proxy_test.clj +++ b/test/babashka/proxy_test.clj @@ -63,6 +63,8 @@ (seq m) (meta (with-meta m {:a 1})) (d/datafy m) + (instance? clojure.lang.APersistentMap m) + (instance? java.io.FilenameFilter m) ,]))) (require 'clojure.pprint) @@ -72,5 +74,7 @@ 5 3 5 false '([:a 1] [:b 2] [:c 3]) {:a 1} - {:datafied true}] + {:datafied true} + true + false] (bb (with-out-str (clojure.pprint/pprint code))))))