Resolve NPE in proto optimization with missing proto classes
Bug: 199693523
Change-Id: Ic9889c0649ee90f95dbbbc4ea3a33a67104de3b0
diff --git a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
index 68fc3dc..c4e0518 100644
--- a/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
+++ b/src/main/java/com/android/tools/r8/shaking/Enqueuer.java
@@ -564,8 +564,10 @@
}
public void addDeadProtoTypeCandidate(DexType type) {
- assert type.isProgramType(appView);
- addDeadProtoTypeCandidate(appView.definitionFor(type).asProgramClass());
+ DexProgramClass clazz = asProgramClassOrNull(appView.definitionFor(type));
+ if (clazz != null) {
+ addDeadProtoTypeCandidate(clazz);
+ }
}
public void addDeadProtoTypeCandidate(DexProgramClass clazz) {