![](https://secure.gravatar.com/avatar/1acb146697fe261dc4e0c1c04f7508ec.jpg?s=120&d=mm&r=g)
Hey guys, Have any of you had a chance to look into this? This is a showstopper for me using the latest ABCL as I have basic infrastructure code that is failing. Would much appreciate someone having a look. Thanks, Alan On Thu, Jul 19, 2012 at 3:54 PM, Jonathan P. Bona <jonathanbona@gmail.com>wrote:
Hello,
We found this issue while working with LSW. It seems to be a bug in how public methods are found for inner classes. The last line of code below results in an exception rather than finding and running the size() method:
;;;---------------- (require :abcl-contrib) (require :jss) (jss::ensure-compatibility) (setq headers (#"getHeaderFields" (#"openConnection" (jss::new 'java.net.url "http://google.com"))))
; a java.util.Collections$UnmodifiableRandomAccessList (setq ural (#"get" headers (second (jss::set-to-list (#"keySet" headers)))))
;finds: #<method public int java.util.Collections$UnmodifiableCollection.size()> (find "size" (#"getMethods" (#"getClass" ural) ) :test 'string-equal :key #"getName")
; Java exception 'java.lang.NoSuchMethodException: No applicable method named size found in java.lang.Object or java.util.Collections$UnmodifiableRandomAccessList'. (#"size" ural) ;;;----------------
I chased this into org.armedbear.lisp.Java, where findMethod is returning null.
- Jonathan Bona