]> source.dussan.org Git - jgit.git/commitdiff
[errorprone] Directly implement functional interface 60/204560/6
authorMatthias Sohn <matthias.sohn@sap.com>
Wed, 20 Sep 2023 07:59:30 +0000 (09:59 +0200)
committerMatthias Sohn <matthias.sohn@sap.com>
Mon, 25 Sep 2023 14:15:34 +0000 (16:15 +0200)
instead of saving it in a lambda. Prefer to implement the functional
interface method directly and use a method reference instead.

See https://errorprone.info/bugpattern/UnnecessaryLambda

Change-Id: I7f7ebd27cd6354545c157960718d9845882e1732

org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackWriter.java

index dcd360dbb3a05002f578f1465bbf817087c8bf50..fe3ab8b599280028daf26b6fb18079731c2724b1 100644 (file)
@@ -146,44 +146,46 @@ public class PackWriter implements AutoCloseable {
        private static final Map<WeakReference<PackWriter>, Boolean> instances =
                        new ConcurrentHashMap<>();
 
-       private static final Iterable<PackWriter> instancesIterable = () -> new Iterator<>() {
+       private static Iterator<PackWriter> instancesIterable() {
+               return new Iterator<>() {
 
-               private final Iterator<WeakReference<PackWriter>> it = instances
-                               .keySet().iterator();
+                       private final Iterator<WeakReference<PackWriter>> it = instances
+                                       .keySet().iterator();
 
-               private PackWriter next;
+                       private PackWriter next;
 
-               @Override
-               public boolean hasNext() {
-                       if (next != null) {
-                               return true;
-                       }
-                       while (it.hasNext()) {
-                               WeakReference<PackWriter> ref = it.next();
-                               next = ref.get();
+                       @Override
+                       public boolean hasNext() {
                                if (next != null) {
                                        return true;
                                }
-                               it.remove();
+                               while (it.hasNext()) {
+                                       WeakReference<PackWriter> ref = it.next();
+                                       next = ref.get();
+                                       if (next != null) {
+                                               return true;
+                                       }
+                                       it.remove();
+                               }
+                               return false;
                        }
-                       return false;
-               }
 
-               @Override
-               public PackWriter next() {
-                       if (hasNext()) {
-                               PackWriter result = next;
-                               next = null;
-                               return result;
+                       @Override
+                       public PackWriter next() {
+                               if (hasNext()) {
+                                       PackWriter result = next;
+                                       next = null;
+                                       return result;
+                               }
+                               throw new NoSuchElementException();
                        }
-                       throw new NoSuchElementException();
-               }
 
-               @Override
-               public void remove() {
-                       throw new UnsupportedOperationException();
-               }
-       };
+                       @Override
+                       public void remove() {
+                               throw new UnsupportedOperationException();
+                       }
+               };
+       }
 
        /**
         * Get all allocated, non-released PackWriters instances.
@@ -191,7 +193,7 @@ public class PackWriter implements AutoCloseable {
         * @return all allocated, non-released PackWriters instances.
         */
        public static Iterable<PackWriter> getInstances() {
-               return instancesIterable;
+               return PackWriter::instancesIterable;
        }
 
        @SuppressWarnings("unchecked")