Fix NPE in maindex tracing
Handle classes without definition.
Bug: 202173862
Change-Id: Id04483cbff63beda703d91be7f483effe32bfb7d
diff --git a/src/main/java/com/android/tools/r8/shaking/MainDexListBuilder.java b/src/main/java/com/android/tools/r8/shaking/MainDexListBuilder.java
index b648635..ffa265c 100644
--- a/src/main/java/com/android/tools/r8/shaking/MainDexListBuilder.java
+++ b/src/main/java/com/android/tools/r8/shaking/MainDexListBuilder.java
@@ -129,8 +129,9 @@
DexType valueType = proto.returnType.toBaseType(appView.dexItemFactory());
if (valueType.isClassType()) {
assert !value;
+ DexClass valueTypeClass = appInfo().definitionFor(valueType);
boolean notLibraryOrTakeBootClasspath =
- !appInfo().definitionFor(valueType).isLibraryClass()
+ (valueTypeClass != null && !valueTypeClass.isLibraryClass())
|| !appView.options().ignoreBootClasspathEnumsForMaindexTracing;
value =
(isEnum(valueType) && notLibraryOrTakeBootClasspath)