From c48d2f7a90d0b650fd46dfb3ab3ddba843d4e482 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Tue, 9 Jan 2024 16:38:28 +0100 Subject: [PATCH] Add clojure.reflect/reflect --- CHANGELOG.md | 1 + deps.clj | 2 +- resources/META-INF/babashka/deps.edn | 2 +- src/babashka/impl/clojure/reflect.clj | 7 +++++++ src/babashka/main.clj | 2 ++ 5 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 src/babashka/impl/clojure/reflect.clj diff --git a/CHANGELOG.md b/CHANGELOG.md index 4963fdc7..1dd4328f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ A preview of the next release can be installed from ## Unreleased +- Add `clojure.reflect/reflect` - Add `java.util.ScheduledFuture` - Support `Runnable` to be used without import - Allow `catch` to be used as var name diff --git a/deps.clj b/deps.clj index 3f1714ed..3e5dcdfe 160000 --- a/deps.clj +++ b/deps.clj @@ -1 +1 @@ -Subproject commit 3f1714eddc3f136d4630769d8e1081d7657add42 +Subproject commit 3e5dcdfe7b32e0d358a6f48cd46120596e83f02f diff --git a/resources/META-INF/babashka/deps.edn b/resources/META-INF/babashka/deps.edn index ac4c1ea1..dd168de4 100644 --- a/resources/META-INF/babashka/deps.edn +++ b/resources/META-INF/babashka/deps.edn @@ -50,7 +50,7 @@ org.clojure/data.priority-map {:mvn/version "1.1.0"} insn/insn {:mvn/version "0.5.2"} org.clojure/core.rrb-vector {:mvn/version "0.1.2"} - org.babashka/cli {:mvn/version "0.7.53"} + org.babashka/cli {:mvn/version "0.8.55"} org.babashka/http-client {:mvn/version "0.4.15"} ;; native image bloat with ordered 1.5.10 org.flatland/ordered {:mvn/version "1.5.9"}} diff --git a/src/babashka/impl/clojure/reflect.clj b/src/babashka/impl/clojure/reflect.clj new file mode 100644 index 00000000..26e97244 --- /dev/null +++ b/src/babashka/impl/clojure/reflect.clj @@ -0,0 +1,7 @@ +(ns babashka.impl.clojure.reflect + (:require [clojure.reflect] + [sci.core :as sci])) + +(def rns (sci/create-ns 'clojure.reflect)) + +(def reflect-namespace {'reflect (sci/copy-var clojure.reflect/reflect rns)}) diff --git a/src/babashka/main.clj b/src/babashka/main.clj index 442a4eed..76707089 100644 --- a/src/babashka/main.clj +++ b/src/babashka/main.clj @@ -19,6 +19,7 @@ [babashka.impl.clojure.java.shell :refer [shell-namespace]] [babashka.impl.clojure.main :as clojure-main :refer [demunge]] [babashka.impl.clojure.math :refer [math-namespace]] + [babashka.impl.clojure.reflect :refer [reflect-namespace]] [babashka.impl.clojure.stacktrace :refer [stacktrace-namespace]] [babashka.impl.clojure.tools.reader :refer [reader-namespace]] [babashka.impl.clojure.tools.reader-types :refer [edn-namespace @@ -407,6 +408,7 @@ Use bb run --help to show this help output. 'clojure.tools.reader reader-namespace 'clojure.core.async async-namespace 'clojure.core.async.impl.protocols async-protocols-namespace + 'clojure.reflect reflect-namespace 'rewrite-clj.node rewrite/node-namespace 'rewrite-clj.paredit rewrite/paredit-namespace 'rewrite-clj.parser rewrite/parser-namespace