Skip to content

Commit 96461b1

Browse files
committed
more bb support
1 parent e324013 commit 96461b1

File tree

5 files changed

+24
-9
lines changed

5 files changed

+24
-9
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
* #78(liquidz): Add missing chrono fields (v0.3.3 has breaking changes)
88
* #81(terop): Remove clj-tuple - no advantages over Clojure vector anymore
9+
* Remove java-time.util/get-static-fields-of-type
10+
* set Java property `java-time.util.get-static-fields-of-type=true` to revert
911

1012
## 0.3.3
1113

src/java_time.cljc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
format formatter]
6767

6868
[java-time.pre-java8
69-
java-date sql-date sql-timestamp instant->sql-timestamp sql-time]
69+
java-date sql-date sql-timestamp instant->sql-timestamp #?@(:bb [] :default [sql-time])]
7070

7171
[java-time.interval
7272
move-start-to move-end-to move-start-by move-end-by

src/java_time/potemkin/namespaces.cljc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
n (or name (:name m))
6464
arglists (:arglists m)]
6565
#?(:bb `(defmacro ~n [& args#]
66-
(list* #_'~sym args#))
66+
(list* '~sym args#))
6767
:default `(do
6868
(def ~n ~(resolve sym))
6969
(alter-meta! (var ~n) merge (dissoc (meta ~vr) :name))
@@ -75,11 +75,9 @@
7575
"Given a regular def'd var from another namespace, defined a new var with the
7676
same name in the current namespace."
7777
([sym]
78-
`(import-def ~sym nil))
79-
([sym name]
8078
(let [vr (find-var sym)
8179
m (meta vr)
82-
n (or name (:name m))
80+
n (or (:name m) (-> sym name symbol))
8381
n (if (:dynamic m) (with-meta n {:dynamic true}) n)
8482
nspace (:ns m)]
8583
#?(:bb `(def ~n ~sym)

src/java_time/single_field.cljc

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,15 @@
1010
[java.time.format DateTimeFormatter]
1111
[java.time Clock Year Month YearMonth MonthDay DayOfWeek ZoneId Instant]))
1212

13+
(defn- resolve-tag [tag]
14+
(if (symbol? tag)
15+
(let [cls (resolve tag)]
16+
(if (var? cls)
17+
;;primitive
18+
tag
19+
(symbol (.getName ^Class cls))))
20+
tag))
21+
1322
(defn- get-only-unit-value ^long [^TemporalAmount a, ^TemporalUnit u]
1423
(let [non-zero-units
1524
(->> (.getUnits a)
@@ -27,7 +36,8 @@
2736
(long our-value)))
2837

2938
(defmacro enumerated-entity [tp doc & {:keys [unit]}]
30-
(let [fname (with-meta (symbol (jt.u/dashize (str tp))) {:tag tp})
39+
(let [tp (resolve-tag tp)
40+
fname (with-meta (symbol (jt.u/dashize (-> (str tp) (string/split #"\.") last))) {:tag tp})
3141
fields (symbol (str fname "-fields"))]
3242
`(do
3343
(def ~fields
@@ -80,7 +90,9 @@
8090
o# os#)))))))))
8191

8292
(defmacro single-field-entity [tp doc & {:keys [parseable?]}]
83-
(let [fname (with-meta (symbol (jt.u/dashize (str tp))) {:tag tp})
93+
(let [^Class tpcls (resolve tp)
94+
tp (symbol (.getName tpcls))
95+
fname (with-meta (symbol (jt.u/dashize (-> (str tp) (string/split #"\.") last))) {:tag tp})
8496
arg (gensym)]
8597
`(do
8698
(defn ^{:doc ~(str "True if `" tp "`.")} ~(symbol (str fname "?"))
@@ -122,7 +134,10 @@
122134
minor-field-ctor minor-field-default]}]
123135
(let [[major-field-ctor major-field-type] major-field-ctor
124136
[minor-field-ctor minor-field-type] minor-field-ctor
125-
fname (with-meta (symbol (jt.u/dashize (str tp))) {:tag tp})
137+
major-field-type (resolve-tag major-field-type)
138+
minor-field-type (resolve-tag minor-field-type)
139+
tp (resolve-tag tp)
140+
fname (with-meta (symbol (jt.u/dashize (-> (str tp) (string/split #"\.") last))) {:tag tp})
126141
arg (gensym)
127142
tmp-major (with-meta (gensym) {:tag major-field-type})
128143
tmp-minor (with-meta (gensym) {:tag minor-field-type})]

src/java_time/util.cljc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
(:require [clojure.string :as string]))
33

44
#?(:bb nil
5-
:default (when (= "true" (System/getProperty "java-time.util.get-static-fields-of-type"))
5+
:default (when (some-> (System/getProperty "java-time.util.get-static-fields-of-type") (= "true"))
66
(defn ^:deprecated get-static-fields-of-type [^Class klass, ^Class of-type]
77
(->> (seq (.getFields klass))
88
(map (fn [^java.lang.reflect.Field f]

0 commit comments

Comments
 (0)