[kaffe] Bug [CVS version]: Calling non-implemented method in abstract class

Chris Gray chris@kiffer.eunet.be
Tue Apr 8 17:07:01 2003


On Monday 07 April 2003 02:50, Ito Kazumitsu wrote:
> In message "[kaffe] Bug [CVS version]: Calling non-implemented method
>
> in abstract class" Benja Fallenstein <b.fallenstein@gmx.de> writes:
> > Apparently, Kaffe doesn't like when an abstract class calls a method
> > from an interface the abstract class implements, if the abstract class
> > does not implement that method itself.

Earlier versions of javac would silently insert method declarations into the 
class file of the abstract class - si-called "Miranda methods", see e.g. 
<https://lists.xcf.berkeley.edu/lists/advanced-java/2001-September/017523.html>.

Stricly speaking this was a bug in early Sun VMs, and you can still get later 
versions of javac to operate the work-around by specifying a 1.1 target.  But 
the correct place to fix it is in Kaffe - either you modify the way you 
search the class hierarchy for inherited methods, or you hack the internal 
class structures to emulate what older compilers were doing. In Wonka we took 
the latter route, but it's not the only or even necessarily the best way.

Happy hacking,