You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bcel-dev@jakarta.apache.org by bu...@apache.org on 2002/06/27 04:37:31 UTC
DO NOT REPLY [Bug 10269] New: -
Pass3b Verifier is corrupted
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: bcel-dev@jakarta.apache.org
ReportedBy: schneidp@lathanda.de
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.
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>