aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/changelog.markdown1
-rw-r--r--src/core/lombok/core/handlers/HandlerUtil.java14
-rw-r--r--src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java12
-rw-r--r--src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java8
-rw-r--r--test/transform/resource/after-delombok/Accessors.java2
-rw-r--r--test/transform/resource/after-delombok/DataExtended.java2
-rw-r--r--test/transform/resource/after-delombok/DataIgnore.java2
-rw-r--r--test/transform/resource/after-delombok/DataOnLocalClass.java6
-rw-r--r--test/transform/resource/after-delombok/DataPlain.java8
-rw-r--r--test/transform/resource/after-delombok/DataWithGetter.java2
-rw-r--r--test/transform/resource/after-delombok/DataWithGetterNone.java2
-rw-r--r--test/transform/resource/after-delombok/EqualsAndHashCode.java9
-rw-r--r--test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java2
-rw-r--r--test/transform/resource/after-delombok/GetterLazyBoolean.java4
-rw-r--r--test/transform/resource/after-delombok/GetterLazyEahcToString.java2
-rw-r--r--test/transform/resource/after-delombok/GetterSetterJavadoc.java2
-rw-r--r--test/transform/resource/after-delombok/ValuePlain.java6
-rw-r--r--test/transform/resource/after-ecj/Accessors.java2
-rw-r--r--test/transform/resource/after-ecj/DataExtended.java2
-rw-r--r--test/transform/resource/after-ecj/DataIgnore.java2
-rw-r--r--test/transform/resource/after-ecj/DataOnLocalClass.java6
-rw-r--r--test/transform/resource/after-ecj/DataPlain.java8
-rw-r--r--test/transform/resource/after-ecj/DataWithGetter.java2
-rw-r--r--test/transform/resource/after-ecj/DataWithGetterNone.java2
-rw-r--r--test/transform/resource/after-ecj/EqualsAndHashCode.java10
-rw-r--r--test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java2
-rw-r--r--test/transform/resource/after-ecj/GetterLazyBoolean.java4
-rw-r--r--test/transform/resource/after-ecj/GetterLazyEahcToString.java2
-rw-r--r--test/transform/resource/after-ecj/GetterSetterJavadoc.java2
-rw-r--r--test/transform/resource/after-ecj/ValuePlain.java6
-rw-r--r--test/transform/resource/before/EqualsAndHashCode.java1
-rw-r--r--usage_examples/DataExample_post.jpage4
-rw-r--r--usage_examples/EqualsAndHashCodeExample_post.jpage4
-rw-r--r--usage_examples/ValueExample_post.jpage4
34 files changed, 82 insertions, 65 deletions
diff --git a/doc/changelog.markdown b/doc/changelog.markdown
index d4a29177..72291c5b 100644
--- a/doc/changelog.markdown
+++ b/doc/changelog.markdown
@@ -3,6 +3,7 @@ Lombok Changelog
### v1.12.5 "Edgy Guinea Pig"
* DETAIL: {Delombok} Inside enum bodies the delombok formatter didn't respect the emptyLines directive [Issue #529](https://code.google.com/p/projectlombok/issues/detail?id=629).
+* DETAIL: Use smaller primes (<127) for generating hashcodes [Issue #625](https://code.google.com/p/projectlombok/issues/detail?id=625)
### v1.12.4 (January 15th, 2014)
* BUGFIX: v1.12.2's delombok turns all operator+assignments into just assignment. Fixed. [Issue #598](https://code.google.com/p/projectlombok/issues/detail?id=598)
diff --git a/src/core/lombok/core/handlers/HandlerUtil.java b/src/core/lombok/core/handlers/HandlerUtil.java
index c8076ab6..23b8ccc7 100644
--- a/src/core/lombok/core/handlers/HandlerUtil.java
+++ b/src/core/lombok/core/handlers/HandlerUtil.java
@@ -27,9 +27,17 @@ import lombok.core.LombokNode;
public class HandlerUtil {
private HandlerUtil() {}
- public static final int PRIME_FOR_HASHCODE = 277;
- public static final int PRIME_FOR_TRUE = 2591;
- public static final int PRIME_FOR_FALSE = 2609;
+ public static int primeForHashcode() {
+ return 59;
+ }
+
+ public static int primeForTrue() {
+ return 79;
+ }
+
+ public static int primeForFalse() {
+ return 97;
+ }
/** Checks if the given name is a valid identifier.
*
diff --git a/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java b/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java
index 8d95ca64..0cc0836e 100644
--- a/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java
+++ b/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java
@@ -272,7 +272,7 @@ public class HandleEqualsAndHashCode extends EclipseAnnotationHandler<EqualsAndH
final boolean isEmpty = fields.isEmpty();
- /* final int PRIME = 277; */ {
+ /* final int PRIME = X; */ {
/* Without fields, PRIME isn't used, and that would trigger a 'local variable not used' warning. */
if (!isEmpty || callSuper) {
LocalDeclaration primeDecl = new LocalDeclaration(PRIME, pS, pE);
@@ -281,7 +281,7 @@ public class HandleEqualsAndHashCode extends EclipseAnnotationHandler<EqualsAndH
primeDecl.type = TypeReference.baseTypeReference(TypeIds.T_int, 0);
primeDecl.type.sourceStart = pS; primeDecl.type.sourceEnd = pE;
setGeneratedBy(primeDecl.type, source);
- primeDecl.initialization = makeIntLiteral(String.valueOf(HandlerUtil.PRIME_FOR_HASHCODE).toCharArray(), source);
+ primeDecl.initialization = makeIntLiteral(String.valueOf(HandlerUtil.primeForHashcode()).toCharArray(), source);
statements.add(primeDecl);
}
}
@@ -313,10 +313,10 @@ public class HandleEqualsAndHashCode extends EclipseAnnotationHandler<EqualsAndH
Expression fieldAccessor = createFieldAccessor(field, fieldAccess, source);
if (fType.dimensions() == 0 && token != null) {
if (Arrays.equals(TypeConstants.BOOLEAN, token)) {
- /* booleanField ? 2591 : 2609 */
- IntLiteral intFalse = makeIntLiteral(String.valueOf(HandlerUtil.PRIME_FOR_FALSE).toCharArray(), source);
- IntLiteral intTrue = makeIntLiteral(String.valueOf(HandlerUtil.PRIME_FOR_TRUE).toCharArray(), source);
- ConditionalExpression intForBool = new ConditionalExpression(fieldAccessor, intFalse, intTrue);
+ /* booleanField ? X : Y */
+ IntLiteral intTrue = makeIntLiteral(String.valueOf(HandlerUtil.primeForTrue()).toCharArray(), source);
+ IntLiteral intFalse = makeIntLiteral(String.valueOf(HandlerUtil.primeForFalse()).toCharArray(), source);
+ ConditionalExpression intForBool = new ConditionalExpression(fieldAccessor, intTrue, intFalse);
setGeneratedBy(intForBool, source);
statements.add(createResultCalculation(source, intForBool));
} else if (Arrays.equals(TypeConstants.LONG, token)) {
diff --git a/src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java b/src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java
index 92eee893..05c07c7a 100644
--- a/src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java
+++ b/src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java
@@ -231,9 +231,9 @@ public class HandleEqualsAndHashCode extends JavacAnnotationHandler<EqualsAndHas
Name resultName = typeNode.toName(RESULT_NAME);
long finalFlag = JavacHandlerUtil.addFinalIfNeeded(0L, typeNode.getContext());
- /* final int PRIME = 277; */ {
+ /* final int PRIME = X; */ {
if (!fields.isEmpty() || callSuper) {
- statements.append(maker.VarDef(maker.Modifiers(finalFlag), primeName, maker.TypeIdent(CTC_INT), maker.Literal(HandlerUtil.PRIME_FOR_HASHCODE)));
+ statements.append(maker.VarDef(maker.Modifiers(finalFlag), primeName, maker.TypeIdent(CTC_INT), maker.Literal(HandlerUtil.primeForHashcode())));
}
}
@@ -255,9 +255,9 @@ public class HandleEqualsAndHashCode extends JavacAnnotationHandler<EqualsAndHas
if (fType instanceof JCPrimitiveTypeTree) {
switch (((JCPrimitiveTypeTree)fType).getPrimitiveTypeKind()) {
case BOOLEAN:
- /* this.fieldName ? 2591 : 2609 */
+ /* this.fieldName ? X : Y */
statements.append(createResultCalculation(typeNode, maker.Conditional(fieldAccessor,
- maker.Literal(HandlerUtil.PRIME_FOR_FALSE), maker.Literal(HandlerUtil.PRIME_FOR_TRUE))));
+ maker.Literal(HandlerUtil.primeForTrue()), maker.Literal(HandlerUtil.primeForFalse()))));
break;
case LONG: {
Name dollarFieldName = dollar.append(((JCVariableDecl)fieldNode.get()).name);
diff --git a/test/transform/resource/after-delombok/Accessors.java b/test/transform/resource/after-delombok/Accessors.java
index 33f31825..8b984236 100644
--- a/test/transform/resource/after-delombok/Accessors.java
+++ b/test/transform/resource/after-delombok/Accessors.java
@@ -84,7 +84,7 @@ class AccessorsPrefix3 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final java.lang.Object $fName = this.getName();
result = result * PRIME + ($fName == null ? 0 : $fName.hashCode());
diff --git a/test/transform/resource/after-delombok/DataExtended.java b/test/transform/resource/after-delombok/DataExtended.java
index 76967bdc..07aa1f7e 100644
--- a/test/transform/resource/after-delombok/DataExtended.java
+++ b/test/transform/resource/after-delombok/DataExtended.java
@@ -28,7 +28,7 @@ class DataExtended {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getX();
return result;
diff --git a/test/transform/resource/after-delombok/DataIgnore.java b/test/transform/resource/after-delombok/DataIgnore.java
index caf97974..fa729ada 100644
--- a/test/transform/resource/after-delombok/DataIgnore.java
+++ b/test/transform/resource/after-delombok/DataIgnore.java
@@ -27,7 +27,7 @@ class DataIgnore {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getX();
return result;
diff --git a/test/transform/resource/after-delombok/DataOnLocalClass.java b/test/transform/resource/after-delombok/DataOnLocalClass.java
index fae0e4a5..bbd9ae4b 100644
--- a/test/transform/resource/after-delombok/DataOnLocalClass.java
+++ b/test/transform/resource/after-delombok/DataOnLocalClass.java
@@ -39,7 +39,7 @@ class DataOnLocalClass1 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getX();
final java.lang.Object $name = this.getName();
@@ -99,7 +99,7 @@ class DataOnLocalClass2 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final java.lang.Object $name = this.getName();
result = result * PRIME + ($name == null ? 0 : $name.hashCode());
@@ -136,7 +136,7 @@ class DataOnLocalClass2 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getX();
return result;
diff --git a/test/transform/resource/after-delombok/DataPlain.java b/test/transform/resource/after-delombok/DataPlain.java
index 99df699d..6d536c8a 100644
--- a/test/transform/resource/after-delombok/DataPlain.java
+++ b/test/transform/resource/after-delombok/DataPlain.java
@@ -38,7 +38,7 @@ class Data1 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getX();
final java.lang.Object $name = this.getName();
@@ -91,7 +91,7 @@ class Data2 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getX();
final java.lang.Object $name = this.getName();
@@ -139,7 +139,7 @@ final class Data3 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getX();
final java.lang.Object $name = this.getName();
@@ -187,7 +187,7 @@ final class Data4 extends java.util.Timer {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + super.hashCode();
result = result * PRIME + this.getX();
diff --git a/test/transform/resource/after-delombok/DataWithGetter.java b/test/transform/resource/after-delombok/DataWithGetter.java
index 0aed0e12..b429fe53 100644
--- a/test/transform/resource/after-delombok/DataWithGetter.java
+++ b/test/transform/resource/after-delombok/DataWithGetter.java
@@ -36,7 +36,7 @@ class DataWithGetter {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getX();
result = result * PRIME + this.getY();
diff --git a/test/transform/resource/after-delombok/DataWithGetterNone.java b/test/transform/resource/after-delombok/DataWithGetterNone.java
index 8b5ecc01..b063b4ff 100644
--- a/test/transform/resource/after-delombok/DataWithGetterNone.java
+++ b/test/transform/resource/after-delombok/DataWithGetterNone.java
@@ -36,7 +36,7 @@ class DataWithGetterNone {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.x;
result = result * PRIME + this.y;
diff --git a/test/transform/resource/after-delombok/EqualsAndHashCode.java b/test/transform/resource/after-delombok/EqualsAndHashCode.java
index 73256edb..afe03dea 100644
--- a/test/transform/resource/after-delombok/EqualsAndHashCode.java
+++ b/test/transform/resource/after-delombok/EqualsAndHashCode.java
@@ -29,7 +29,7 @@ class EqualsAndHashCode {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.x;
result = result * PRIME + java.util.Arrays.hashCode(this.y);
@@ -46,6 +46,7 @@ final class EqualsAndHashCode2 {
long y;
float f;
double d;
+ boolean b;
@java.lang.Override
@java.lang.SuppressWarnings("all")
public boolean equals(final java.lang.Object o) {
@@ -56,12 +57,13 @@ final class EqualsAndHashCode2 {
if (this.y != other.y) return false;
if (java.lang.Float.compare(this.f, other.f) != 0) return false;
if (java.lang.Double.compare(this.d, other.d) != 0) return false;
+ if (this.b != other.b) return false;
return true;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.x;
final long $y = this.y;
@@ -69,6 +71,7 @@ final class EqualsAndHashCode2 {
result = result * PRIME + java.lang.Float.floatToIntBits(this.f);
final long $d = java.lang.Double.doubleToLongBits(this.d);
result = result * PRIME + (int)($d >>> 32 ^ $d);
+ result = result * PRIME + (this.b ? 79 : 97);
return result;
}
}
@@ -111,7 +114,7 @@ class EqualsAndHashCode4 extends EqualsAndHashCode {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + super.hashCode();
return result;
diff --git a/test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java b/test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java
index e1bdc7f7..aa9b984f 100644
--- a/test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java
+++ b/test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java
@@ -69,7 +69,7 @@ class EqualsAndHashCodeWithNoExistingMethods {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.x;
return result;
diff --git a/test/transform/resource/after-delombok/GetterLazyBoolean.java b/test/transform/resource/after-delombok/GetterLazyBoolean.java
index ba26e7b7..eb6662e2 100644
--- a/test/transform/resource/after-delombok/GetterLazyBoolean.java
+++ b/test/transform/resource/after-delombok/GetterLazyBoolean.java
@@ -21,9 +21,9 @@ class GetterLazyBoolean {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
- result = result * PRIME + (this.isBooleanValue() ? 2609 : 2591);
+ result = result * PRIME + (this.isBooleanValue() ? 79 : 97);
return result;
}
@java.lang.Override
diff --git a/test/transform/resource/after-delombok/GetterLazyEahcToString.java b/test/transform/resource/after-delombok/GetterLazyEahcToString.java
index 29e2f51c..3e98a25e 100644
--- a/test/transform/resource/after-delombok/GetterLazyEahcToString.java
+++ b/test/transform/resource/after-delombok/GetterLazyEahcToString.java
@@ -27,7 +27,7 @@ class GetterLazyEahcToString {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final java.lang.Object $value = this.getValue();
result = result * PRIME + ($value == null ? 0 : $value.hashCode());
diff --git a/test/transform/resource/after-delombok/GetterSetterJavadoc.java b/test/transform/resource/after-delombok/GetterSetterJavadoc.java
index 5b12a395..743a3aac 100644
--- a/test/transform/resource/after-delombok/GetterSetterJavadoc.java
+++ b/test/transform/resource/after-delombok/GetterSetterJavadoc.java
@@ -41,7 +41,7 @@ class GetterSetterJavadoc1 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getFieldName();
return result;
diff --git a/test/transform/resource/after-delombok/ValuePlain.java b/test/transform/resource/after-delombok/ValuePlain.java
index af87d1ba..e880454b 100644
--- a/test/transform/resource/after-delombok/ValuePlain.java
+++ b/test/transform/resource/after-delombok/ValuePlain.java
@@ -30,7 +30,7 @@ final class Value1 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getX();
final java.lang.Object $name = this.getName();
@@ -80,7 +80,7 @@ class Value2 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getX();
final java.lang.Object $name = this.getName();
@@ -123,7 +123,7 @@ final class Value3 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getX();
result = result * PRIME + this.getY();
diff --git a/test/transform/resource/after-ecj/Accessors.java b/test/transform/resource/after-ecj/Accessors.java
index 52a72d52..c8fdc3bf 100644
--- a/test/transform/resource/after-ecj/Accessors.java
+++ b/test/transform/resource/after-ecj/Accessors.java
@@ -90,7 +90,7 @@ class AccessorsChain {
return (other instanceof AccessorsPrefix3);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final java.lang.Object $fName = this.getName();
result = ((result * PRIME) + (($fName == null) ? 0 : $fName.hashCode()));
diff --git a/test/transform/resource/after-ecj/DataExtended.java b/test/transform/resource/after-ecj/DataExtended.java
index 35a7ca34..bcfd26e3 100644
--- a/test/transform/resource/after-ecj/DataExtended.java
+++ b/test/transform/resource/after-ecj/DataExtended.java
@@ -22,7 +22,7 @@
return (other instanceof DataExtended);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
return result;
diff --git a/test/transform/resource/after-ecj/DataIgnore.java b/test/transform/resource/after-ecj/DataIgnore.java
index 4a3c051b..d0e72e15 100644
--- a/test/transform/resource/after-ecj/DataIgnore.java
+++ b/test/transform/resource/after-ecj/DataIgnore.java
@@ -20,7 +20,7 @@
return (other instanceof DataIgnore);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
return result;
diff --git a/test/transform/resource/after-ecj/DataOnLocalClass.java b/test/transform/resource/after-ecj/DataOnLocalClass.java
index 4a247542..511291c2 100644
--- a/test/transform/resource/after-ecj/DataOnLocalClass.java
+++ b/test/transform/resource/after-ecj/DataOnLocalClass.java
@@ -36,7 +36,7 @@ class DataOnLocalClass1 {
return (other instanceof Local);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -86,7 +86,7 @@ class DataOnLocalClass2 {
return (other instanceof Local.InnerLocal);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final java.lang.Object $name = this.getName();
result = ((result * PRIME) + (($name == null) ? 0 : $name.hashCode()));
@@ -124,7 +124,7 @@ class DataOnLocalClass2 {
return (other instanceof Local);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
return result;
diff --git a/test/transform/resource/after-ecj/DataPlain.java b/test/transform/resource/after-ecj/DataPlain.java
index 2105c6f2..aa47fdaa 100644
--- a/test/transform/resource/after-ecj/DataPlain.java
+++ b/test/transform/resource/after-ecj/DataPlain.java
@@ -31,7 +31,7 @@ import lombok.Data;
return (other instanceof Data1);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -78,7 +78,7 @@ import lombok.Data;
return (other instanceof Data2);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -120,7 +120,7 @@ final @Data class Data3 {
return true;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -167,7 +167,7 @@ final @Data @lombok.EqualsAndHashCode(callSuper = true) class Data4 extends java
return (other instanceof Data4);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + super.hashCode());
result = ((result * PRIME) + this.getX());
diff --git a/test/transform/resource/after-ecj/DataWithGetter.java b/test/transform/resource/after-ecj/DataWithGetter.java
index 9676e851..2ce74ceb 100644
--- a/test/transform/resource/after-ecj/DataWithGetter.java
+++ b/test/transform/resource/after-ecj/DataWithGetter.java
@@ -30,7 +30,7 @@
return (other instanceof DataWithGetter);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
result = ((result * PRIME) + this.getY());
diff --git a/test/transform/resource/after-ecj/DataWithGetterNone.java b/test/transform/resource/after-ecj/DataWithGetterNone.java
index d5e190d8..087d0762 100644
--- a/test/transform/resource/after-ecj/DataWithGetterNone.java
+++ b/test/transform/resource/after-ecj/DataWithGetterNone.java
@@ -30,7 +30,7 @@
return (other instanceof DataWithGetterNone);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.x);
result = ((result * PRIME) + this.y);
diff --git a/test/transform/resource/after-ecj/EqualsAndHashCode.java b/test/transform/resource/after-ecj/EqualsAndHashCode.java
index 492f9344..625a0f87 100644
--- a/test/transform/resource/after-ecj/EqualsAndHashCode.java
+++ b/test/transform/resource/after-ecj/EqualsAndHashCode.java
@@ -35,7 +35,7 @@
return (other instanceof EqualsAndHashCode);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.x);
result = ((result * PRIME) + java.util.Arrays.hashCode(this.y));
@@ -52,6 +52,7 @@ final @lombok.EqualsAndHashCode class EqualsAndHashCode2 {
long y;
float f;
double d;
+ boolean b;
EqualsAndHashCode2() {
super();
}
@@ -69,10 +70,12 @@ final @lombok.EqualsAndHashCode class EqualsAndHashCode2 {
return false;
if ((java.lang.Double.compare(this.d, other.d) != 0))
return false;
+ if ((this.b != other.b))
+ return false;
return true;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.x);
final long $y = this.y;
@@ -80,6 +83,7 @@ final @lombok.EqualsAndHashCode class EqualsAndHashCode2 {
result = ((result * PRIME) + java.lang.Float.floatToIntBits(this.f));
final long $d = java.lang.Double.doubleToLongBits(this.d);
result = ((result * PRIME) + (int) ($d ^ ($d >>> 32)));
+ result = ((result * PRIME) + (this.b ? 79 : 97));
return result;
}
}
@@ -125,7 +129,7 @@ final @lombok.EqualsAndHashCode(callSuper = false) class EqualsAndHashCode3 exte
return (other instanceof EqualsAndHashCode4);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + super.hashCode());
return result;
diff --git a/test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java b/test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java
index 83878675..05f7ad97 100644
--- a/test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java
+++ b/test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java
@@ -57,7 +57,7 @@ import static lombok.AccessLevel.NONE;
return (other instanceof EqualsAndHashCodeWithNoExistingMethods);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.x);
return result;
diff --git a/test/transform/resource/after-ecj/GetterLazyBoolean.java b/test/transform/resource/after-ecj/GetterLazyBoolean.java
index d3b257a7..c37eece2 100644
--- a/test/transform/resource/after-ecj/GetterLazyBoolean.java
+++ b/test/transform/resource/after-ecj/GetterLazyBoolean.java
@@ -57,9 +57,9 @@
return (other instanceof GetterLazyBoolean);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
- result = ((result * PRIME) + (this.isBooleanValue() ? 2609 : 2591));
+ result = ((result * PRIME) + (this.isBooleanValue() ? 79 : 97));
return result;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
diff --git a/test/transform/resource/after-ecj/GetterLazyEahcToString.java b/test/transform/resource/after-ecj/GetterLazyEahcToString.java
index d8a90350..da9f6a83 100644
--- a/test/transform/resource/after-ecj/GetterLazyEahcToString.java
+++ b/test/transform/resource/after-ecj/GetterLazyEahcToString.java
@@ -46,7 +46,7 @@
return (other instanceof GetterLazyEahcToString);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final java.lang.Object $value = this.getValue();
result = ((result * PRIME) + (($value == null) ? 0 : $value.hashCode()));
diff --git a/test/transform/resource/after-ecj/GetterSetterJavadoc.java b/test/transform/resource/after-ecj/GetterSetterJavadoc.java
index 10d9a0be..b7fc15b8 100644
--- a/test/transform/resource/after-ecj/GetterSetterJavadoc.java
+++ b/test/transform/resource/after-ecj/GetterSetterJavadoc.java
@@ -22,7 +22,7 @@
return (other instanceof GetterSetterJavadoc1);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getFieldName());
return result;
diff --git a/test/transform/resource/after-ecj/ValuePlain.java b/test/transform/resource/after-ecj/ValuePlain.java
index a23944de..5ca32af8 100644
--- a/test/transform/resource/after-ecj/ValuePlain.java
+++ b/test/transform/resource/after-ecj/ValuePlain.java
@@ -23,7 +23,7 @@ final @lombok.Value class Value1 {
return true;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -68,7 +68,7 @@ final @lombok.Value class Value1 {
return (other instanceof Value2);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -106,7 +106,7 @@ final @Value class Value3 {
return true;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
result = ((result * PRIME) + this.getY());
diff --git a/test/transform/resource/before/EqualsAndHashCode.java b/test/transform/resource/before/EqualsAndHashCode.java
index 0a1e3290..660f923a 100644
--- a/test/transform/resource/before/EqualsAndHashCode.java
+++ b/test/transform/resource/before/EqualsAndHashCode.java
@@ -13,6 +13,7 @@ final class EqualsAndHashCode2 {
long y;
float f;
double d;
+ boolean b;
}
@lombok.EqualsAndHashCode(callSuper=false)
diff --git a/usage_examples/DataExample_post.jpage b/usage_examples/DataExample_post.jpage
index 896839de..29e7e328 100644
--- a/usage_examples/DataExample_post.jpage
+++ b/usage_examples/DataExample_post.jpage
@@ -55,7 +55,7 @@ public class DataExample {
}
@Override public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final long temp1 = Double.doubleToLongBits(this.getScore());
result = (result*PRIME) + (this.getName() == null ? 0 : this.getName().hashCode());
@@ -101,7 +101,7 @@ public class DataExample {
}
@Override public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = (result*PRIME) + (this.getName() == null ? 0 : this.getName().hashCode());
result = (result*PRIME) + (this.getValue() == null ? 0 : this.getValue().hashCode());
diff --git a/usage_examples/EqualsAndHashCodeExample_post.jpage b/usage_examples/EqualsAndHashCodeExample_post.jpage
index 57191f55..aa6a44ba 100644
--- a/usage_examples/EqualsAndHashCodeExample_post.jpage
+++ b/usage_examples/EqualsAndHashCodeExample_post.jpage
@@ -24,7 +24,7 @@ public class EqualsAndHashCodeExample {
}
@Override public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final long temp1 = Double.doubleToLongBits(this.score);
result = (result*PRIME) + (this.name == null ? 0 : this.name.hashCode());
@@ -57,7 +57,7 @@ public class EqualsAndHashCodeExample {
}
@Override public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = (result*PRIME) + super.hashCode();
result = (result*PRIME) + this.width;
diff --git a/usage_examples/ValueExample_post.jpage b/usage_examples/ValueExample_post.jpage
index c5971262..4ac8654e 100644
--- a/usage_examples/ValueExample_post.jpage
+++ b/usage_examples/ValueExample_post.jpage
@@ -46,7 +46,7 @@ public final class ValueExample {
@java.lang.Override
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final Object $name = this.getName();
result = result * PRIME + ($name == null ? 0 : $name.hashCode());
@@ -103,7 +103,7 @@ public final class ValueExample {
@java.lang.Override
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final Object $name = this.getName();
result = result * PRIME + ($name == null ? 0 : $name.hashCode());