Do not box result twice 20/77920/1
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 18 Nov 2018 20:58:17 +0000 (21:58 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 18 Nov 2018 20:59:16 +0000 (21:59 +0100)
result is an int while both cache and return type are Integer,
instantiate a local variable to hold the boxed value so we not
box twice.

Change-Id: I659b60b40d0d1dfa1eee25d214af4a096bf3e60e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/LazyDataObject.java

index be2c15fe50e77ff0d7bb2f5a1d95c1a4a1c95f54..e191054a7ea0dc8f878e3e28aab56e1ca6f3de2b 100644 (file)
@@ -142,9 +142,9 @@ class LazyDataObject<D extends DataObject> implements InvocationHandler, Augment
     }
 
     private Integer bindingHashCode() {
-        final Integer ret = cachedHashcode;
-        if (ret != null) {
-            return ret;
+        final Integer cached = cachedHashcode;
+        if (cached != null) {
+            return cached;
         }
 
         final int prime = 31;
@@ -156,8 +156,9 @@ class LazyDataObject<D extends DataObject> implements InvocationHandler, Augment
         if (Augmentable.class.isAssignableFrom(context.getBindingClass())) {
             result = prime * result + getAugmentationsImpl().hashCode();
         }
-        cachedHashcode = result;
-        return result;
+        final Integer ret = result;
+        cachedHashcode = ret;
+        return ret;
     }
 
     private Object getBindingData(final Method method) {