Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
5.0
-
None
-
None
-
Operating System: All
Platform: All
-
major
-
P3
-
10269
Description
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)
}
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.