I don’t know what to do about the ones which come from
getAllowableConfugreComponents(). We really should return a
Class, except that the language doesn’t seem to permit
that. Returning Class<?> won’t save us any casts, and the suggested
solution in that Bug you cited is an abomination.
Also, I wouldn’t bother with the ones left in the org tree, since we
might soon not be using the Wizard stuff.
In Deck, is there a reason why AvailablePiece implments Comparable
instead of Comparable<? extends GamePiece>?
In PieceIterator, should the Enumerations be Enumeration?
Can you verify that this doesn’t break any existing code that overrides the old method signature. If we can only fix these warnings by breaking custom code, then better to just add @SuppressWarnings, which Eclipse can do automatically.
I did some testing as I have a fair bit of custom code and as far as I can see, this is all compile-time warning stuff. If it actually causes custom code to fail to compile, then it is likely that either the custom code was already ‘silently’ broken, or the core modification is incorrect.
What we need to check is that custom code that was compiled against v3.0 still runs against the new code. For example, if you change the signature of a method to one that uses generics, and a custom class overrides that method, there could a runtime error when you call that method, or maybe the runtime won’t find the overriden implementation.
Class and Class<?> look the same to the JVM due to type erasure. This
only matters to the compiler. It should not result in any problems with
custom code.
248 warnings left, still all look to be generics-related.
The bulk of the ‘top 100’ seem to be getAllowableConfigureComponents()
returning Class - one warning for every class that extends
AbstractConfigurable?