Reflection bug?

Godmar Back kaffe@rufus.w3.org
Mon, 12 Jun 2000 14:36:50 -0600 (MDT)


> 
> I've noticed that Kaffe gives some strange results in some situations;
> one particular case that I noticed is java.io.BufferedWriter. Running
> the attached class as "kaffe net.wuffies.japi.Japize -c
> java.io.BufferedWriter" I get duplicate lines for some methods. In
> particular, the methods close() and flush() appear twice - once
> concrete, once abstract. I suspect that Kaffe is including all methods
> from all superclasses in the results of Class.getMethods(), even though
> some of the superclass methods have been overridden by corresponding
> methods in the class itself.
> 
> Can anyone confirm that this is or is not a bug? Blackdown JDK 1.1.8
> does not display this behavior, and I can't think of an easy workaround
> in my code to get the results I expect.

Well, yes that's probably a bug.

> 
> PS Would people here consider a class such as this to be legitimate
> "reverse engineering" that could be used to monitor Kaffe's progress
> towards complete JDK compatibility? It seems to me that, since it's all
> "black box" testing using public APIs, and I'm only using it to obtain
> information that is publically available in the JavaDoc anyway, there
> shouldn't be any reason not to make use of it. But I'd rather know what
> people here think before I post any results to the group and potentially
> "contaminate" everyone here with knowledge they shouldn't possess.

I think it's fine.

	- Godmar