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

Benja Fallenstein b.fallenstein at gmx.de
Fri Mar 28 06:56:02 PST 2003


Hi all,

The following code:

--- snip ---
public class Bug {
     interface Interface {
	void foo();
     }

     static abstract class Abstract implements Interface {
	public void bug() { foo(); }
     }

     static class Impl extends Abstract {
	public void foo() {}
     }

     public static void main(String[] args) {
	new Impl().bug();
     }
}
--- snip ---

gives me the following error:

benja at joy:~/ff/fenfire$ /usr/local/kaffe/bin/kaffe -cp build Bug
java.lang.NoSuchMethodError: Bug$Abstract.foo()V
         at Bug$Abstract.bug(source file unknown:line unknown, pc 0x81ff788)
         at Bug.main(source file unknown:line unknown, pc 0x8220661)

My Kaffe version (compiled from CVS, on Debian / x86):

     Engine: Just-in-time v3   Version: 1.1.x-cvs   Java Version: 1.1

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.

Thanks,
- Benja





More information about the kaffe mailing list