Enable errorprone check to ensure hashCode is implemented.
Bug:
Change-Id: I918fd87f5d0175cdff928a8be64c6686d6689dfa
diff --git a/build.gradle b/build.gradle
index ef09f76..e189e57 100644
--- a/build.gradle
+++ b/build.gradle
@@ -21,7 +21,8 @@
'-Xep:RemoveUnusedImports:WARN',
'-Xep:MissingOverride:WARN',
'-Xep:OvershadowingSubclassFields:WARN',
- '-Xep:IntLongMath:WARN']
+ '-Xep:IntLongMath:WARN',
+ '-Xep:EqualsHashCode:WARN']
apply from: 'copyAdditionalJctfCommonFiles.gradle'
diff --git a/src/main/java/com/android/tools/r8/bisect/BisectState.java b/src/main/java/com/android/tools/r8/bisect/BisectState.java
index b9359a3..f181022 100644
--- a/src/main/java/com/android/tools/r8/bisect/BisectState.java
+++ b/src/main/java/com/android/tools/r8/bisect/BisectState.java
@@ -104,6 +104,11 @@
return start == o.start && end == o.end;
}
+ @Override
+ public int hashCode() {
+ return 31 * start + end;
+ }
+
private boolean verify() {
return start <= end;
}
diff --git a/src/main/java/com/android/tools/r8/ir/code/Position.java b/src/main/java/com/android/tools/r8/ir/code/Position.java
index a8312fb..08298bb 100644
--- a/src/main/java/com/android/tools/r8/ir/code/Position.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Position.java
@@ -4,6 +4,7 @@
package com.android.tools.r8.ir.code;
import com.android.tools.r8.graph.DexString;
+import java.util.Objects;
public class Position {
@@ -53,6 +54,14 @@
}
@Override
+ public int hashCode() {
+ int result = line;
+ result = 31 * result + Objects.hashCode(file);
+ result = 31 * result + (synthetic ? 1 : 0);
+ return result;
+ }
+
+ @Override
public String toString() {
if (isNone()) {
return "--";