Handle SENTINEL return from findSingleTargetFromSubtypes

Change-Id: I36bfcfef1c46e7e33fcd65a6b7b773acda677667
diff --git a/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java b/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java
index e3cce51..45f5bed 100644
--- a/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java
+++ b/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java
@@ -884,7 +884,7 @@
       DexEncodedMethod singleTarget, DexEncodedMethod resolutionResult) {
     assert resolutionResult.isValidVirtualTarget(options());
 
-    if (singleTarget == null) {
+    if (singleTarget == null || singleTarget == DexEncodedMethod.SENTINEL) {
       return null;
     }
 
@@ -991,8 +991,7 @@
                 !refinedHolder.accessFlags.isAbstract(),
                 topIsFromInterface),
             topMethod.asSingleTarget());
-    // Map the failure case of SENTINEL to null.
-    result = result == DexEncodedMethod.SENTINEL ? null : result;
+    assert result != DexEncodedMethod.SENTINEL;
     method.setSingleVirtualMethodCache(refinedReceiverType, result);
     return result;
   }