Merge "Fix bug in shortening of live ranges."
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 489c78d..8c0626a 100644
--- a/src/main/java/com/android/tools/r8/bisect/BisectState.java
+++ b/src/main/java/com/android/tools/r8/bisect/BisectState.java
@@ -22,6 +22,7 @@
 import java.io.IOException;
 import java.io.Writer;
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
 
@@ -320,7 +321,7 @@
   private static List<DexProgramClass> getSortedClasses(DexApplication app) {
     List<DexProgramClass> classes = new ArrayList<>(app.classes());
     app.dexItemFactory.sort(NamingLens.getIdentityLens());
-    classes.sort((a, b) -> a.type.compareTo(b.type));
+    classes.sort(Comparator.comparing(DexProgramClass::getType));
     app.dexItemFactory.resetSortedIndices();
     return classes;
   }
@@ -331,6 +332,6 @@
     for (DexProgramClass clazz : classes) {
       builder.append(clazz.toString()).append(";");
     }
-    return Hashing.sha1().hashString(builder.toString(), Charsets.UTF_8).toString();
+    return Hashing.sha256().hashString(builder.toString(), Charsets.UTF_8).toString();
   }
 }
diff --git a/src/main/java/com/android/tools/r8/graph/DexClass.java b/src/main/java/com/android/tools/r8/graph/DexClass.java
index 50c22b8..e350c33 100644
--- a/src/main/java/com/android/tools/r8/graph/DexClass.java
+++ b/src/main/java/com/android/tools/r8/graph/DexClass.java
@@ -211,6 +211,10 @@
     return this.origin;
   }
 
+  public DexType getType() {
+    return this.type;
+  }
+
   public boolean hasClassInitializer() {
     return getClassInitializer() != null;
   }