Tue Mar 9 14:04:00 GMT 2004
Christian Stuellenberg wrote:
> If I remind right, [coverant returns]
> is "only" at language level, since they
> did not want to change the VM (to stay compatible e.g.).
I never understood Sun's concern about not changing/extending the
JVM, yet being free to change the libraries ...
In any case, JDK 1.5's "load class literal" bytecode cannot be
executed by old JVMs, so they don't have that excuse.
> 1.5 does
> only translation of some syntactic sugar to other valid java code on
> the fly I think...
Well, I'm sure it it doesn't translate to "other java code". And
it most definitely generates .class files you could not create with
> Covariance has always existed at bytecode level. See also
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9861 .
I'd rather say "support for covariance in the sense of overloading based
on return type" as always existed. Covariance implies that the method
with the changed return types overrides the method in the base class;
in the bytecode they are completely unrelated.
More information about the Java