On Mon, 26 Mar 2007 11:36:05 +0100, Chris Uppal wrote:
> I used [D[D[D as the signature in my test. Now I come to think about
> it, I can't see why the double[] array doesn't suffer from the same
> problem (double[] is a subclass of Object after all). But, since it
> doesn't (at least with a Sun 1.6 JVM), a neat way of getting a unique
> signature is to use something like
> not.defined.Anywhere[]
> as the parameter type (pass a null if you want to invoke it, of course).
Well, I am not entirely sure, but I think it is a bootstrap class loading
issue. java.lang.Object gets loaded anyway, but not.defined.Anywhere
requires a genuine ClassLoader to be loaded, unless put into the bootstrap
classpath. I just checked, if you put it in the bootstrap classpath,
things are working ok. Maybe a cleaner solution than using an "unlikely"
signature - I used "DIFFZIFF" ;-) If not.defined.Anywhere is not put into
the bootstrap classpath, the instrumented ClassLoader subclass gets
screwed, since it requires a loaded instance of not.defined.Anywhere to
get started, and this leads to very strange errors.
Regards,
Moritz


|