Account for missing classes in member rebinding

Bug: 212377892
Change-Id: I9db54c7fceb3f1027d09f375e769b9c25d0e4dd0
diff --git a/src/main/java/com/android/tools/r8/optimize/MemberRebindingAnalysis.java b/src/main/java/com/android/tools/r8/optimize/MemberRebindingAnalysis.java
index 834e879..de68c75 100644
--- a/src/main/java/com/android/tools/r8/optimize/MemberRebindingAnalysis.java
+++ b/src/main/java/com/android/tools/r8/optimize/MemberRebindingAnalysis.java
@@ -197,11 +197,12 @@
   }
 
   private static DexType firstLibraryClass(DexDefinitionSupplier definitions, DexType bottom) {
-    DexClass searchClass = definitions.definitionFor(bottom);
-    while (searchClass.isProgramClass()) {
-      searchClass = definitions.definitionFor(searchClass.superType);
+    DexClass searchClass = definitions.contextIndependentDefinitionFor(bottom);
+    while (searchClass != null && searchClass.isProgramClass()) {
+      searchClass =
+          definitions.definitionFor(searchClass.getSuperType(), searchClass.asProgramClass());
     }
-    return searchClass.type;
+    return searchClass != null ? searchClass.getType() : null;
   }
 
   private MethodResolutionResult resolveMethodOnClass(DexMethod method) {