BUG-7464: improve keySet()/entrySet() bytecode 35/50235/2
authorRobert Varga <rovarga@cisco.com>
Tue, 10 Jan 2017 22:20:44 +0000 (23:20 +0100)
committerRobert Varga <nite@hq.sk>
Tue, 10 Jan 2017 23:44:44 +0000 (23:44 +0000)
Shave off a few instructions by using expressions rather than
verbose assignment.

Change-Id: I12adc79be895cceea3feddfeb4cc100bcee0b883
Signed-off-by: Robert Varga <rovarga@cisco.com>
third-party/triemap/src/main/java/org/opendaylight/yangtools/triemap/TrieMap.java

index b0261bf0e871679dfbb097df4c93f03f197b8edb..5bcefcaa1e46f289e86bb6b606f9986d56cd8e93 100644 (file)
@@ -96,20 +96,14 @@ public abstract class TrieMap<K, V> extends AbstractMap<K, V> implements Concurr
 
     @Override
     public final Set<Entry<K, V>> entrySet() {
-        AbstractEntrySet<K, V> ret = entrySet;
-        if (ret == null) {
-            entrySet = ret = createEntrySet();
-        }
-        return ret;
+        final AbstractEntrySet<K, V> ret;
+        return (ret = entrySet) != null ? ret : (entrySet = createEntrySet());
     }
 
     @Override
     public final Set<K> keySet() {
-        AbstractKeySet<K> ret = keySet;
-        if (ret == null) {
-            keySet = ret = createKeySet();
-        }
-        return ret;
+        final AbstractKeySet<K> ret;
+        return (ret = keySet) != null ? ret : (keySet = createKeySet());
     }
 
     @Override