Hi Petr,

tl;dr -- I've made the changes you've suggested and they're reflected in

    http://cr.openjdk.java.net/~darcy/8043548.1/

I'll start the internal ccc paperwork now.

More comments below.

Thanks,

-Joe

On 06/24/2014 01:26 AM, Petr Pchelko wrote:
Hello, Joe.

Sorry for the delay. A couple of small comments:

BasicOptionPaneUI:1235 - is the the SuppressWarning needed here?

No; upon double-checked the line

                JList<?>  list = (JList)e.getSource();

will compile without warning; I've removed the SuppressWarnings annotation.


BasicScrollBarUI:1269 - why are you using <Object> here? <?> would allow work 
the same and allow to avoid SuppressWarning

Yes; changed to just

                        JList<?> list = (JList)view;

without the annotation.

BasicTableHeaderUI, BasicTableUI - you can replace Enumeration<?> to 
Enumeration<TableColumn> and avoid casts later. This applies to multiple places in 
these files.
BasicTreeUI - you can replace Enumeration<?> with Enumeration<TreePath> and 
avoid several cats.

Good suggestion; changed.

NimbusStyle:307 - do we need this SuppressWarning?

No; deleted.

                    :472 - you could reuse a helper function here too

Yeah; I wanted to keep the helper function private.

                    :863 - is this comment a leftover from your work? I don't 
think it's good for production, it's not very self-explanatory.

Yes; it is a leftover comment which I've now removed. (The State type has a bug in how it is generified; using raw types in this method is the least-bad way of accommodating State.)


SynthComboBoxUI:223 - is this needed?

No; removed.

SynthTableHeaderUI:244 - is this SuppressWarning really needed? It looks like after 
you've changed RowSorter to RowSorter<?> theres no warning on line 245 any more.

Removed.



Thank you.
With best regards. Petr.

On 23 июня 2014 г., at 19:43, Joe Darcy <[email protected]> wrote:

*ping*

I'd like to push this change soon. (I know it is tedious to review; it was also 
tedious to generate ;-)

Thanks,

-Joe

On 06/18/2014 05:01 PM, Joe Darcy wrote:
Hello,

Any comments on these proposed changes?

Thanks,

-Joe

On 06/14/2014 06:13 PM, Joe Darcy wrote:
PS This change involves various API updates; once those are settled, I'll file 
the internal ccc paperwork.

PPS The javax.swing.plaf.nimbus.State class is generified in an odd manner.

-Joe

On 06/14/2014 04:44 PM, Joe Darcy wrote:
Hello,

Please review the (unexpected large) fix for

    JDK-8043548: Fix raw and unchecked lint warnings in javax.swing.plaf.*
    http://cr.openjdk.java.net/~darcy/8043548.0/

In most of the javax.swing.multi.MultiFoo.java type, I replaced a raw Vector with a 
Vector<ComponentUI> and was then able to delete a number of now redundant 
casts. In some of the MultiFoo classes,

src/share/classes/javax/swing/plaf/multi/MultiPopupMenuUI.java
src/share/classes/javax/swing/plaf/multi/MultiTabbedPaneUI.java
    src/share/classes/javax/swing/plaf/multi/MultiTextUI.java
    src/share/classes/javax/swing/plaf/multi/MultiTreeUI.java

all the elements stored are actually a more specific type than ComponentUI, say, 
PopupMenuUI. In those cases, I still used a Vector<ComponentUI> rather than, say, a 
Vector<PopupMenuUI> to deal with other aspects of the API. In particular, the 
MultiFoo classes have a method

    ComponentUI[] getUIs() methods

which is computed over in MultiLookAndFeel. Generifying methods in 
MultiLookAndFeel, particularly creatUIs, to work properly in the face of 
generics would unfortunately be problematic.

A few classes in javax.swing had to be updated now to fully clear the warnings 
in plaf; the rest of javax.swing will be handled in future work (JDK-8043550: 
Fix raw and unchecked lint warnings in javax.swing.*).

Some additional changes were needed in sun/swing/BakedArrayList.java, but that 
class should probably be removed from the platform.

I ran SwingSet2 with a build having these changes and nothing appeared 
obviously wrong.

Thanks,

-Joe

Reply via email to