From 1d3cd975bac85861ce75108b50914b43e06b5dd3 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Sat, 4 Jan 2020 20:21:09 +0100 Subject: [PATCH] Add constructors for Delay and MapEntry --- src/babashka/impl/classes.clj | 11 +++++------ test/babashka/main_test.clj | 6 ++++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/babashka/impl/classes.clj b/src/babashka/impl/classes.clj index 12a5a291..d20af400 100644 --- a/src/babashka/impl/classes.clj +++ b/src/babashka/impl/classes.clj @@ -91,19 +91,18 @@ java.util.zip.GZIPInputStream java.util.zip.GZIPOutputStream ] - :constructors [] + :constructors [clojure.lang.Delay + clojure.lang.MapEntry + clojure.lang.LineNumberingPushbackReader] :methods [borkdude.graal.LockFix ;; support for locking sun.net.www.http.PosterOutputStream ;; support for clj-http-lite sun.net.www.protocol.https.HttpsURLConnectionImpl ;; support for clj-http-lite sun.net.www.protocol.http.HttpURLConnection$HttpInputStream ;; support for clj-http-lite ] :fields [clojure.lang.PersistentQueue] - :instance-checks [clojure.lang.Delay - clojure.lang.ExceptionInfo + :instance-checks [clojure.lang.ExceptionInfo clojure.lang.IObj - clojure.lang.IEditableCollection - clojure.lang.LineNumberingPushbackReader - clojure.lang.MapEntry] + clojure.lang.IEditableCollection] :custom {clojure.lang.LineNumberingPushbackReader {:allPublicConstructors true :allPublicMethods true} java.lang.Thread diff --git a/test/babashka/main_test.clj b/test/babashka/main_test.clj index c1a5d79b..8088e878 100644 --- a/test/babashka/main_test.clj +++ b/test/babashka/main_test.clj @@ -328,6 +328,12 @@ (is (true? (bb nil "(nil? *command-line-args*)"))) (is (= ["1" "2" "3"] (bb nil "*command-line-args*" "1" "2" "3")))) +(deftest need-constructors-test + (testing "the clojure.lang.Delay constructor works" + (is (= 1 (bb nil "@(delay 1)")))) + (testing "the clojure.lang.MapEntry constructor works" + (is (true? (bb nil "(= (first {1 2}) (clojure.lang.MapEntry. 1 2))"))))) + ;;;; Scratch (comment