diff options
author | Rich Hickey <richhickey@gmail.com> | 2007-11-30 13:11:15 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2007-11-30 13:11:15 +0000 |
commit | 2c5046342298d7f8bf370c0dd5fc13e813936202 (patch) | |
tree | 817d33f6129bed237f30787fa287b92a057340f4 | |
parent | 6d881e2b6f8169605759c4f835d160c70a24a7e2 (diff) |
added char coercion function, removed implicit Number conversion to Character
-rw-r--r-- | src/boot.clj | 5 | ||||
-rw-r--r-- | src/jvm/clojure/lang/Reflector.java | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/boot.clj b/src/boot.clj index 5baf8898..ff9a0b65 100644 --- a/src/boot.clj +++ b/src/boot.clj @@ -666,6 +666,9 @@ (defn byte [#^Number x] (. x (byteValue))) +(defn char [x] + (. clojure.lang.RT (charCast x))) + (defn boolean [x] (if x (. Boolean TRUE) @@ -783,7 +786,7 @@ doto memfn read *in* time - int long float double short byte boolean + int long float double short byte boolean char aget aset aset-boolean aset-int aset-long aset-float aset-double aset-short aset-byte make-array actor actor-of ! diff --git a/src/jvm/clojure/lang/Reflector.java b/src/jvm/clojure/lang/Reflector.java index f789dbd8..0591e4f9 100644 --- a/src/jvm/clojure/lang/Reflector.java +++ b/src/jvm/clojure/lang/Reflector.java @@ -267,8 +267,8 @@ static Object boxArg(Class paramType, Object arg){ return n.doubleValue(); else if(paramType == long.class) return n.longValue(); - else if(paramType == char.class) - return (char) n.intValue(); +// else if(paramType == char.class) +// return (char) n.intValue(); else if(paramType == short.class) return n.shortValue(); else |