On Sat, 2013-03-09 at 12:26 +0200, Pekka Enberg wrote:
> On Sat, Mar 09, 2013 at 11:36:13AM +0200, Pekka Enberg wrote:
> >> Type parametrize uses of generic types in AnnotationInvocationHandler.
> 
> On Sat, Mar 9, 2013 at 12:09 PM, Mark Wielaard <m...@klomp.org> wrote:
> > Generally we avoided generics for VM interface files, so VMs can ignore
> > any "modern" class format extensions in their bootstrap classes.
> 
> It shouldn't make any difference to the VM classloader because of type
> erasure. What am I missing?

There are some other small changes in the class file format, class
access flags, attributes. But the main reason was source compatibility.
It was convenient if the VM and VM interface classes could be build with
any java language compiler out there (even these days only javac and ecj
support 1.5+ fully) since they were often build independently from the
rest of the core classes during bootstrapping of the VM. And keeping the
core class VM interface as simple as possible, since some of the VM
interface classes could be overridden by a VM is easier when not using
generics.

Anyway, I think this class isn't really a VM interface class, so it
should be fine.

I guess I am just not a big fan of using fancy new (haha, it is 2013
Mark...) language features unless really necessary.

Cheers,

Mark


Reply via email to