From 55e07132e93e1819d919dcff31269fdea72b5d18 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 27 Jan 2015 19:54:08 +0300 Subject: [PATCH] equals/hashCode templates: simplify guava/java 7 corresponding to arrays (IDEA-135684) --- .../intellij/codeInsight/generation/guavaEquals.vm | 8 -------- .../codeInsight/generation/guavaHashCode.vm | 10 ++++------ .../codeInsight/generation/objectsHashCode.vm | 10 ++++------ ...rDifferentTypesSuperEqualsAndHashCodeGuava.java | 14 ++++++-------- 4 files changed, 14 insertions(+), 28 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/guavaEquals.vm b/java/java-impl/src/com/intellij/codeInsight/generation/guavaEquals.vm index 9869409aff52..fce84f143d47 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/guavaEquals.vm +++ b/java/java-impl/src/com/intellij/codeInsight/generation/guavaEquals.vm @@ -13,15 +13,7 @@ Object $paramName){ && #end #set($i = $i + 1) - #if ($field.array) - #if ($field.nestedArray) -java.util.Arrays.deepEquals($field.accessor, ${classInstanceName}.$field.accessor)## - #else -java.util.Arrays.equals($field.accessor, ${classInstanceName}.$field.accessor)## - #end - #else com.google.common.base.Objects.equal($field.accessor, ${classInstanceName}.$field.accessor)## - #end #end ; } \ No newline at end of file diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/guavaHashCode.vm b/java/java-impl/src/com/intellij/codeInsight/generation/guavaHashCode.vm index 1cd5d480fd8a..13ad25a85650 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/guavaHashCode.vm +++ b/java/java-impl/src/com/intellij/codeInsight/generation/guavaHashCode.vm @@ -6,13 +6,11 @@ public int hashCode() { #set($i = 1) #end #foreach($field in $fields) - #if (!$field.static) - #if ($i > 0) - , ## - #end - $field.accessor ## - #set($i = $i + 1) + #if ($i > 0) + , ## #end + $field.accessor ## + #set($i = $i + 1) #end ); } \ No newline at end of file diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/objectsHashCode.vm b/java/java-impl/src/com/intellij/codeInsight/generation/objectsHashCode.vm index b86d346e1011..f48383dc5444 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/objectsHashCode.vm +++ b/java/java-impl/src/com/intellij/codeInsight/generation/objectsHashCode.vm @@ -6,13 +6,11 @@ public int hashCode() { #set($i = 1) #end #foreach($field in $fields) - #if (!$field.static) - #if ($i > 0) - , ## - #end - $field.accessor ## - #set($i = $i + 1) + #if ($i > 0) + , ## #end + $field.accessor ## + #set($i = $i + 1) #end ); } \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/generateEquals/afterDifferentTypesSuperEqualsAndHashCodeGuava.java b/java/java-tests/testData/codeInsight/generateEquals/afterDifferentTypesSuperEqualsAndHashCodeGuava.java index d9e7d2c2392d..0e9d2114aa94 100644 --- a/java/java-tests/testData/codeInsight/generateEquals/afterDifferentTypesSuperEqualsAndHashCodeGuava.java +++ b/java/java-tests/testData/codeInsight/generateEquals/afterDifferentTypesSuperEqualsAndHashCodeGuava.java @@ -1,5 +1,3 @@ -import java.util.Arrays; - class B { @Override public boolean equals(Object obj) { @@ -42,12 +40,12 @@ class A extends B { com.google.common.base.Objects.equal(a10, a.a10) && com.google.common.base.Objects.equal(a11, a.a11) && com.google.common.base.Objects.equal(a12, a.a12) && - Arrays.equals(a1, a.a1) && - Arrays.deepEquals(a2, a.a2) && - Arrays.equals(a3, a.a3) && - Arrays.deepEquals(a4, a.a4) && - Arrays.equals(a5, a.a5) && - Arrays.deepEquals(a6, a.a6) && + com.google.common.base.Objects.equal(a1, a.a1) && + com.google.common.base.Objects.equal(a2, a.a2) && + com.google.common.base.Objects.equal(a3, a.a3) && + com.google.common.base.Objects.equal(a4, a.a4) && + com.google.common.base.Objects.equal(a5, a.a5) && + com.google.common.base.Objects.equal(a6, a.a6) && com.google.common.base.Objects.equal(a13, a.a13) && com.google.common.base.Objects.equal(a14, a.a14); }