On 5/10/13 12:20 PM, Mike Matrigali wrote:
Just out of curiosity I was wondering what is the methodology for the
java 6 conversions going on.  Are there any other tools being used
other than running the build on java 6 with no compatibility flags
and fixing the compile errors?

I assume that not all Container uses need to be changed to generics,
is that true?

Hi Mike,

We're kind of feeling our way forward here. It's a big codebase and, unfortunately, not as tidily layered as we might hope. I'm trying to make incremental progress without pulling on the whole ball of yarn at once. I'm not aware of any tools which would speed this up.

The step we're on right now is converting the build to assume Java 6. My last swing at that resulted in 10 lint diagnostics in the build. We could live with those lint warnings if we don't want to convert to generics. But I think we want a clean build and, going forward, I think we also want the compile-time check that collections are correctly typed. That's because we have seen problems in this area and I think it's better to catch those errors at compile time.

I have removed the lint warnings from a couple packages. Most of the changes to the source code fall into the following categories:

1) Privilege blocks need to be typed because the privilege machinery was generified.

2) Vectors, Hashtables, and HashMaps need to be given type information.

So far, this has resulted in very few changes to source files. The changes are localized to a few lines and don't appear to me to present much of a hurdle to backporting. Right now, I'm expecting that the most extensive changes will be in the class loader support.

Thanks,
-Rick

Reply via email to