Date: Sat, 14 Jun 2003 18:39:10 -0400 (EDT) From: C. Scott Ananian To: jsr14-prototype-comments@sun.com Subject: Broken array signature parsing in -novariance compiler. If this class is compiled (with any compiler you please): abstract class A { abstract void foo(A[] a); } and then this (correct) class is compiled with the 2.0 prototype's '-novariance' compiler: class B extends A { void foo(A[] a) { } } You will get this error message: B.java:1: B is not abstract and does not override abstract method foo(A[=]) in Aclass B extends A { Apparently the 'novariance' compiler is misparsing the signature attribute. This example works (no bug) if: 1) both classes are named at once on the command-line (instead of compiling first A, then B) 2) the 'variance' compiler is used to compile B (but perhaps the bug is more subtle and just isn't observable?) 3) the standard 1.4.2 compiler is used to compile B (obviously) The attached file 'sunbug1.tgz' contains both source files and a Makefile discussing and illustrating the bug. --scott Clinton Attache Indonesia DC OVER THE HORIZON RADAR jihad Marxist SEAL Team 6 SSBN 743 Blair assassination mail drop Flintlock Waco, Texas ( http://cscott.net/ ) [ Part 2, "" Application/OCTET-STREAM (Name: "sunbug1.tgz") 1.1KB. ]