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>