DO NOT REPLY [Bug 10269] New: - Pass3b Verifier is corrupted
| Newsgroups | gmane.comp.jakarta.bcel.devel |
|---|---|
| Message-ID | <[email protected]> |
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10269>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10269
Pass3b Verifier is corrupted
Summary: Pass3b Verifier is corrupted
Product: BCEL
Version: 5.0RC1
Platform: All
OS/Version: Windows NT/2K
Status: NEW
Severity: Major
Priority: Other
Component: Main
AssignedTo: [email protected]
ReportedBy: [email protected]
The Repostiroty method
public static boolean implementationOf(JavaClass clazz, JavaClass inter);
Isn't working correctly. Therefore the Cast checks performed in the Pass3b
verifier are wrong.
With this simple program the verifcation fails.
(tested with jdk1.4.0 W32)
<code>
class A implements B{
static C temp;
public static void main(String[] args){
temp = new A();
}
}
interface B extends C{
}
interface C{
}
</code>
The reason is simple. Interfaces are checked only directly. Interfaces
inherited indirectly are forgotten.
There is another version of this bug, where even direct implemented interfaces
are not recognized, but i wasn't able to reduce it to a simple example.