Skip to content

Commit 4e3f244

Browse files
committed
always elide toString Object methods in :lite-mode
1 parent d3beffe commit 4e3f244

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

src/main/clojure/cljs/core.cljc

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1507,13 +1507,18 @@
15071507
~@body))))
15081508

15091509
(core/defn- add-obj-methods [type type-sym sigs]
1510-
(map (core/fn [[f & meths :as form]]
1511-
(core/let [[f meths] (if (vector? (first meths))
1512-
[f [(rest form)]]
1513-
[f meths])]
1514-
`(set! ~(extend-prefix type-sym f)
1515-
~(with-meta `(fn ~@(map #(adapt-obj-params type %) meths)) (meta form)))))
1516-
sigs))
1510+
(->> sigs
1511+
;; Elide all toString methods in :lite-mode
1512+
(remove
1513+
(core/fn [[f]]
1514+
(and (comp/lite-mode?) (= 'toString f))))
1515+
(map
1516+
(core/fn [[f & meths :as form]]
1517+
(core/let [[f meths] (if (vector? (first meths))
1518+
[f [(rest form)]]
1519+
[f meths])]
1520+
`(set! ~(extend-prefix type-sym f)
1521+
~(with-meta `(fn ~@(map #(adapt-obj-params type %) meths)) (meta form))))))))
15171522

15181523
(core/defn- ifn-invoke-methods [type type-sym [f & meths :as form]]
15191524
(map

0 commit comments

Comments
 (0)