Return specific types when possible as if-rule candidates.
Bug: 172999904
Change-Id: I575a37fe6dc342d332cd8ea541e851d60b7fe58e
diff --git a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationRule.java b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationRule.java
index 4a19c6f..aac168d 100644
--- a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationRule.java
+++ b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationRule.java
@@ -105,6 +105,10 @@
AppView<? extends AppInfoWithClassHierarchy> appView,
SubtypingInfo subtypingInfo,
Iterable<DexProgramClass> defaultValue) {
+ List<DexType> specificTypes = getClassNames().asSpecificDexTypes();
+ if (specificTypes != null) {
+ return DexProgramClass.asProgramClasses(specificTypes, appView);
+ }
if (hasInheritanceClassName() && getInheritanceClassName().hasSpecificType()) {
DexType type = getInheritanceClassName().getSpecificType();
if (appView.verticallyMergedClasses() != null