Make RootSetBuilder independent of AppInfo variant.

Bug: 132204801
Change-Id: Iee3c8d586745cd56544934d99eb41cc14b166a02
diff --git a/src/main/java/com/android/tools/r8/shaking/RootSetBuilder.java b/src/main/java/com/android/tools/r8/shaking/RootSetBuilder.java
index 19c297c..d56efda 100644
--- a/src/main/java/com/android/tools/r8/shaking/RootSetBuilder.java
+++ b/src/main/java/com/android/tools/r8/shaking/RootSetBuilder.java
@@ -64,7 +64,7 @@
 
 public class RootSetBuilder {
 
-  private final AppView<?> appView;
+  private final AppView<? extends AppInfoWithSubtyping> appView;
   private final DirectMappedDexApplication application;
   private final Iterable<? extends ProguardConfigurationRule> rules;
   private final Map<DexReference, Set<ProguardKeepRule>> noShrinking = new IdentityHashMap<>();
@@ -96,7 +96,7 @@
   private final Set<ProguardIfRule> ifRules = Sets.newIdentityHashSet();
 
   public RootSetBuilder(
-      AppView<?> appView,
+      AppView<? extends AppInfoWithSubtyping> appView,
       DexApplication application,
       Iterable<? extends ProguardConfigurationRule> rules) {
     this.appView = appView;
@@ -105,7 +105,8 @@
     this.options = appView.options();
   }
 
-  RootSetBuilder(AppView<?> appView, Collection<ProguardIfRule> ifRules) {
+  RootSetBuilder(
+      AppView<? extends AppInfoWithSubtyping> appView, Collection<ProguardIfRule> ifRules) {
     this(appView, appView.appInfo().app(), ifRules);
   }
 
@@ -187,10 +188,8 @@
       } else if (rule instanceof ProguardAssumeMayHaveSideEffectsRule
           || rule instanceof ProguardAssumeNoSideEffectRule) {
         markMatchingVisibleMethods(clazz, memberKeepRules, rule, null, true);
-        if (appView.appInfo().hasSubtyping()) {
-          markMatchingOverriddenMethods(
-              appView.appInfo().withSubtyping(), clazz, memberKeepRules, rule, null, true);
-        }
+        markMatchingOverriddenMethods(
+            appView.appInfo(), clazz, memberKeepRules, rule, null, true);
         markMatchingVisibleFields(clazz, memberKeepRules, rule, null, true);
       } else if (rule instanceof ClassMergingRule) {
         if (allRulesSatisfied(memberKeepRules, clazz)) {