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