2828import java .util .IdentityHashMap ;
2929import java .util .Iterator ;
3030import java .util .List ;
31+ import java .util .Map ;
3132import java .util .Optional ;
3233import java .util .Set ;
3334import java .util .concurrent .atomic .AtomicReference ;
3839import javax .swing .Icon ;
3940import javax .swing .JButton ;
4041import javax .swing .JList ;
41- import javax .swing .ListCellRenderer ;
4242import javax .swing .SwingUtilities ;
4343import javax .swing .event .ChangeEvent ;
4444import javax .swing .event .ChangeListener ;
@@ -103,6 +103,7 @@ protected String getItemValue(@NonNull final SymbolDescriptor item) {
103103 }
104104
105105 @ Override
106+ @ SuppressWarnings ("unchecked" )
106107 protected void update (@ NonNull final SymbolDescriptor item ) {
107108 String searchText = getSearchText ();
108109 if (searchText == null ) {
@@ -111,8 +112,8 @@ protected void update(@NonNull final SymbolDescriptor item) {
111112 SymbolProviderAccessor .DEFAULT .setHighlightText (item , searchText );
112113 final SymbolDescriptorAttrCopier copier = currentSearch .getAttribute (SymbolDescriptorAttrCopier .class );
113114 if (copier != null ) {
114- if (item instanceof AsyncDescriptor && !(( AsyncDescriptor < SymbolDescriptor >) item ) .hasCorrectCase ()) {
115- copier .reportWrongCase (( AsyncDescriptor < SymbolDescriptor >) item );
115+ if (item instanceof AsyncDescriptor ad && !ad .hasCorrectCase ()) {
116+ copier .reportWrongCase (ad );
116117 }
117118 }
118119 }
@@ -139,8 +140,8 @@ void setDialog(final Dialog dialog) {
139140
140141
141142 @ Override
142- public ListCellRenderer getListCellRenderer (
143- @ NonNull final JList list ,
143+ public ItemRenderer < SymbolDescriptor > getListCellRenderer (
144+ @ NonNull final JList < SymbolDescriptor > list ,
144145 @ NonNull final ButtonModel caseSensitive ) {
145146 Parameters .notNull ("list" , list ); //NOI18N
146147 Parameters .notNull ("caseSensitive" , caseSensitive ); //NOI18N
@@ -151,7 +152,7 @@ public ListCellRenderer getListCellRenderer(
151152 }
152153
153154 @ Override
154- public boolean setListModel (GoToPanel panel , String text ) {
155+ public boolean setListModel (GoToPanel < SymbolDescriptor > panel , String text ) {
155156 enableOK (false );
156157 final Worker workToCancel ;
157158 final RequestProcessor .Task taskToCancel ;
@@ -170,7 +171,7 @@ public boolean setListModel(GoToPanel panel, String text) {
170171
171172 if ( text == null ) {
172173 currentSearch .resetFilter ();
173- panel .setModel (new DefaultListModel (), true );
174+ panel .setModel (new DefaultListModel <> (), true );
174175 return false ;
175176 }
176177 final boolean exact = text .endsWith (" " ); // NOI18N
@@ -180,7 +181,7 @@ public boolean setListModel(GoToPanel panel, String text) {
180181 currentSearch .filter (
181182 SearchType .EXACT_NAME ,
182183 text ,
183- Collections . singletonMap (AbstractModelFilter .OPTION_CLEAR , Boolean .TRUE ));
184+ Map . of (AbstractModelFilter .OPTION_CLEAR , Boolean .TRUE ));
184185 panel .revalidateModel (true );
185186 return false ;
186187 }
@@ -197,7 +198,7 @@ public boolean setListModel(GoToPanel panel, String text) {
197198 if (name .isEmpty ()) {
198199 //Empty name, wait for next char
199200 currentSearch .resetFilter ();
200- panel .setModel (new DefaultListModel (), true );
201+ panel .setModel (new DefaultListModel <> (), true );
201202 return false ;
202203 }
203204 // Compute in other thread
@@ -245,7 +246,7 @@ public boolean hasValidContent() {
245246 Runnable createWorker (
246247 @ NonNull final String text ,
247248 @ NonNull final SearchType searchType ,
248- @ NonNull final GoToPanel panel ) {
249+ @ NonNull final GoToPanel < SymbolDescriptor > panel ) {
249250 return new Worker (text , text , searchType , panel );
250251 }
251252
@@ -268,7 +269,7 @@ private void cleanUp() {
268269 private Collection <? extends SymbolProvider > getTypeProviders () {
269270 Collection <? extends SymbolProvider > res = typeProviders .get ();
270271 if (res == null ) {
271- res = Arrays .asList (Lookup .getDefault ().lookupAll (SymbolProvider .class ).toArray (new SymbolProvider [0 ] ));
272+ res = Arrays .asList (Lookup .getDefault ().lookupAll (SymbolProvider .class ).toArray (SymbolProvider []:: new ));
272273 if (!typeProviders .compareAndSet (null , res )) {
273274 res = typeProviders .get ();
274275 }
@@ -324,7 +325,7 @@ private class Worker implements Runnable {
324325 private final String name ;
325326 private final SearchType searchType ;
326327 private final long createTime ;
327- private final GoToPanel panel ;
328+ private final GoToPanel < SymbolDescriptor > panel ;
328329
329330 private volatile boolean isCanceled = false ;
330331 private volatile SymbolProvider current ;
@@ -333,7 +334,7 @@ private class Worker implements Runnable {
333334 @ NonNull final String text ,
334335 @ NonNull final String name ,
335336 @ NonNull final SearchType searchType ,
336- @ NonNull final GoToPanel panel ) {
337+ @ NonNull final GoToPanel < SymbolDescriptor > panel ) {
337338 this .text = text ;
338339 this .name = name ;
339340 this .searchType = searchType ;
@@ -465,7 +466,7 @@ private Result getSymbolNames(
465466 items = new HashSet <>(128 );
466467 String [] message = new String [1 ];
467468 int retry = 0 ;
468- final Collection <SymbolProvider > nonFinishedProviders = Collections .newSetFromMap (new IdentityHashMap <SymbolProvider , Boolean >());
469+ final Collection <SymbolProvider > nonFinishedProviders = Collections .newSetFromMap (new IdentityHashMap <>());
469470 for (SymbolProvider provider : providers ) {
470471 current = provider ;
471472 try {
@@ -553,16 +554,17 @@ public boolean removeAll(Collection<?> c) {
553554 return modified ;
554555 }
555556 });
556- resolved = Collections .synchronizedSet (new HashSet <SymbolDescriptor >());
557+ resolved = Collections .synchronizedSet (new HashSet <>());
557558 }
558559
560+ @ SuppressWarnings ("unchecked" )
559561 void checkWrongCase (
560562 @ NonNull final Collection <? extends SymbolDescriptor > remove ,
561563 @ NonNull final Collection <? extends SymbolDescriptor > add ) {
562564 hasWrongCase .removeAll (remove );
563565 for (SymbolDescriptor d : add ) {
564- if (d instanceof AsyncDescriptor && !(( AsyncDescriptor < SymbolDescriptor >) d ) .hasCorrectCase ()) {
565- reportWrongCase (( AsyncDescriptor < SymbolDescriptor >) d );
566+ if (d instanceof AsyncDescriptor ad && !ad .hasCorrectCase ()) {
567+ reportWrongCase (ad );
566568 }
567569 }
568570 }
@@ -593,8 +595,8 @@ public SymbolDescriptor create(@NonNull final Pair<? extends SymbolDescriptor, ?
593595 final SymbolDescriptor source = p .first ();
594596 final SymbolDescriptor target = p .second ();
595597 resolved .add (source );
596- if (source instanceof AsyncDescriptor && !(( AsyncDescriptor < SymbolDescriptor >) source ) .hasCorrectCase ()) {
597- hasWrongCase .remove (source );
598+ if (source instanceof AsyncDescriptor ad && !ad .hasCorrectCase ()) {
599+ hasWrongCase .remove (ad );
598600 }
599601 SymbolProviderAccessor .DEFAULT .setHighlightText (
600602 target ,
0 commit comments