I think not. But upgrading to clojure 1.5 will do.

On Friday, March 1, 2013 1:20:57 PM UTC+4, Marko Topolnik wrote:
>
> I'd say it's a bug. You are invoking a public class's method, which 
> happens to be inherited from a package-private class. Clojure's reflective 
> code accesses the superclass method directly so there's no distinction 
> between direct invocation and invocation through inheritance. 
>
> If you are interseted in a workaround, type-hinting the code will work (my 
> guess).
>
> On Friday, March 1, 2013 10:13:57 AM UTC+1, bsmith.occs wrote:
>>
>> Simplified, from a more complex example:
>>
>> abstract class Bytes {
>>     public toHexString() { return "..."; }
>>     Bytes { }
>> }
>>
>> public class Hash extends Bytes {
>>     public Hash() { super(); }
>> }
>>
>> This works in Java:
>>
>>     new Hash().toHexString();
>>
>> This fails in Clojure:
>>
>>     (.toHexString (Hash.))
>>
>> IllegalArgumentException Can't call public method of non-public class: 
>> public final java.lang.String at.gv.brz.bjuvj.hashpass.Bytes.toHexString()  
>> clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:88)
>>
>> Bug?
>>
>> // ben
>>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to