Hmm. This seems to be a bug in jde.util.ClassPathZip.load():
void load() throws IOException {
ZipFile zipFile = new ZipFile(zipOrJar);
Enumeration enum = zipFile.entries();
while (enum.hasMoreElements()) {
ZipEntry zipEntry = (ZipEntry)enum.nextElement();
String current = zipEntry.getName();
if (current.toLowerCase().endsWith(".class")) {
current = current.substring(0, current.length() - 6);
current = current.replace('/', '.');
current = current.replace('\\', '.');
super.addClass(current);
}
}
setLoaded(true);
}
The inner-class .class file will be called "class$innerClass.class", leading
to the problem Henrik describes, so maybe another substitution should be
added:
current = current.replace('$', '.');
My JDE installation is lagging behind, so I haven't tested it, but this
seems to make sense. If so, the same change should be made to
jde.util.ClassPathDir.addRecursively.
/ Petter
-----Original Message-----
From: Henrik Kj�r [mailto:[EMAIL PROTECTED]]
Sent: den 29 november 2002 14:51
To: [EMAIL PROTECTED]
Subject: jde-wiz-implement-interface
There is a bug in the interface wizard - it insert $ when the interface to
be implemented
uses inner classes.
Example:
My interface -
import path.Class;
public interface MyInterface {
void myMethod(Class.innerClass)
}
will result in
import path.Class$innerClass;
MyInterfaceImpl implement MyInterface {
public void(Class$innerClass class$innerClass) {
}
Henrik Kj�r