You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2019/04/05 19:24:35 UTC

[groovy] 02/02: Trivial refactoring: Simplify code by `Objects.equals()`

This is an automated email from the ASF dual-hosted git repository.

sunlan pushed a commit to branch GROOVY_2_5_X
in repository https://gitbox.apache.org/repos/asf/groovy.git

commit f510eba804b1fefb56f97afcc0418b4d6429b8ff
Author: Daniel Sun <su...@apache.org>
AuthorDate: Sat Apr 6 02:26:38 2019 +0800

    Trivial refactoring: Simplify code by `Objects.equals()`
    
    (cherry picked from commit 9833db6c25de2284d9470fadb190ab362c5644a5)
---
 src/main/groovy/groovy/util/ProxyGenerator.java                    | 7 ++++---
 src/main/java/org/codehaus/groovy/reflection/MixinInMetaClass.java | 3 ++-
 .../java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java     | 3 ++-
 .../groovy/runtime/typehandling/DefaultTypeTransformation.java     | 3 ++-
 .../org/codehaus/groovy/transform/stc/SecondPassExpression.java    | 4 +++-
 5 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/main/groovy/groovy/util/ProxyGenerator.java b/src/main/groovy/groovy/util/ProxyGenerator.java
index 22fa9b3..1aa79fc 100644
--- a/src/main/groovy/groovy/util/ProxyGenerator.java
+++ b/src/main/groovy/groovy/util/ProxyGenerator.java
@@ -39,6 +39,7 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 
 /**
@@ -287,10 +288,10 @@ public class ProxyGenerator {
 
             if (emptyMethods != cacheKey.emptyMethods) return false;
             if (useDelegate != cacheKey.useDelegate) return false;
-            if (baseClass != null ? !baseClass.equals(cacheKey.baseClass) : cacheKey.baseClass != null) return false;
-            if (delegateClass != null ? !delegateClass.equals(cacheKey.delegateClass) : cacheKey.delegateClass != null) return false;
+            if (!Objects.equals(baseClass, cacheKey.baseClass)) return false;
+            if (!Objects.equals(delegateClass, cacheKey.delegateClass)) return false;
             if (!Arrays.equals(interfaces, cacheKey.interfaces)) return false;
-            if (methods != null ? !methods.equals(cacheKey.methods) : cacheKey.methods != null) return false;
+            if (!Objects.equals(methods, cacheKey.methods)) return false;
 
             return true;
         }
diff --git a/src/main/java/org/codehaus/groovy/reflection/MixinInMetaClass.java b/src/main/java/org/codehaus/groovy/reflection/MixinInMetaClass.java
index 5cfacb0..6d8667a 100644
--- a/src/main/java/org/codehaus/groovy/reflection/MixinInMetaClass.java
+++ b/src/main/java/org/codehaus/groovy/reflection/MixinInMetaClass.java
@@ -38,6 +38,7 @@ import org.codehaus.groovy.util.ReferenceBundle;
 import java.lang.reflect.Modifier;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 public class MixinInMetaClass extends ManagedConcurrentMap {
     final ExpandoMetaClass emc;
@@ -199,7 +200,7 @@ public class MixinInMetaClass extends ManagedConcurrentMap {
 
         MixinInMetaClass that = (MixinInMetaClass) o;
 
-        if (mixinClass != null ? !mixinClass.equals(that.mixinClass) : that.mixinClass != null) return false;
+        if (!Objects.equals(mixinClass, that.mixinClass)) return false;
 
         return true;
     }
diff --git a/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java b/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
index b2ac0f7..6e5d1e8 100644
--- a/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
+++ b/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
@@ -153,6 +153,7 @@ import java.util.List;
 import java.util.ListIterator;
 import java.util.Map;
 import java.util.NoSuchElementException;
+import java.util.Objects;
 import java.util.Queue;
 import java.util.Set;
 import java.util.SortedMap;
@@ -4940,7 +4941,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
      */
     public static boolean contains(Iterable self, Object item) {
         for (Object e : self) {
-            if (item == null ? e == null : item.equals(e)) {
+            if (Objects.equals(item, e)) {
                 return true;
             }
         }
diff --git a/src/main/java/org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.java b/src/main/java/org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.java
index 320a2ed..3f974e9 100644
--- a/src/main/java/org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.java
+++ b/src/main/java/org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.java
@@ -48,6 +48,7 @@ import java.util.Iterator;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 /**
  * Class providing various type conversions, coercions and boxing/unboxing operations.
@@ -641,7 +642,7 @@ public class DefaultTypeTransformation {
         if (left instanceof Map.Entry && right instanceof Map.Entry) {
             Object k1 = ((Map.Entry) left).getKey();
             Object k2 = ((Map.Entry) right).getKey();
-            if (k1 == k2 || (k1 != null && k1.equals(k2))) {
+            if (Objects.equals(k1, k2)) {
                 Object v1 = ((Map.Entry) left).getValue();
                 Object v2 = ((Map.Entry) right).getValue();
                 if (v1 == v2 || (v1 != null && DefaultTypeTransformation.compareEqual(v1, v2)))
diff --git a/src/main/java/org/codehaus/groovy/transform/stc/SecondPassExpression.java b/src/main/java/org/codehaus/groovy/transform/stc/SecondPassExpression.java
index cde11a3..aafe263 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/SecondPassExpression.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/SecondPassExpression.java
@@ -20,6 +20,8 @@ package org.codehaus.groovy.transform.stc;
 
 import org.codehaus.groovy.ast.expr.Expression;
 
+import java.util.Objects;
+
 /**
  * An utility class used to wrap an expression with additional metadata used by the type checker.
  * In particular, this is used to detect closure shared variables misuses. We need in some circumstances
@@ -54,7 +56,7 @@ class SecondPassExpression<T> {
 
         final SecondPassExpression that = (SecondPassExpression) o;
 
-        if (data != null ? !data.equals(that.data) : that.data != null) return false;
+        if (!Objects.equals(data, that.data)) return false;
         if (!expression.equals(that.expression)) return false;
 
         return true;