Reserve and assign names of fields and methods in deterministic order

The name reservations can be different if we do this in different
orders, and give rise to non deterministic output

Bug: b/326837090
Change-Id: I718f0365a580ddbc52c8f2921416a414874b7917
Fixes: 326837090
diff --git a/src/main/java/com/android/tools/r8/naming/FieldNameMinifier.java b/src/main/java/com/android/tools/r8/naming/FieldNameMinifier.java
index 8bfa3ec..61433f2 100644
--- a/src/main/java/com/android/tools/r8/naming/FieldNameMinifier.java
+++ b/src/main/java/com/android/tools/r8/naming/FieldNameMinifier.java
@@ -104,7 +104,7 @@
     // For an in depth description see MethodNameMinifier.
     TopDownClassHierarchyTraversal.forAllClasses(appView)
         .visit(
-            appView.appInfo().classes(),
+            appView.appInfo().classesWithDeterministicOrder(),
             clazz -> {
               DexType frontier =
                   clazz.superType == null
@@ -181,7 +181,7 @@
     TopDownClassHierarchyTraversal.forAllClasses(appView)
         .excludeInterfaces()
         .visit(
-            appView.appInfo().classes(),
+            appView.appInfo().classesWithDeterministicOrder(),
             clazz -> {
               assert !clazz.isInterface();
 
diff --git a/src/main/java/com/android/tools/r8/naming/MethodNameMinifier.java b/src/main/java/com/android/tools/r8/naming/MethodNameMinifier.java
index ceb8d73b..943bd1f 100644
--- a/src/main/java/com/android/tools/r8/naming/MethodNameMinifier.java
+++ b/src/main/java/com/android/tools/r8/naming/MethodNameMinifier.java
@@ -211,7 +211,7 @@
     TopDownClassHierarchyTraversal.forAllClasses(appView)
         .excludeInterfaces()
         .visit(
-            appView.appInfo().classes(),
+            appView.appInfo().classesWithDeterministicOrder(),
             clazz -> {
               DexType type = clazz.type;
               MethodReservationState<?> reservationState =
@@ -280,7 +280,7 @@
         rootReservationState);
     TopDownClassHierarchyTraversal.forAllClasses(appView)
         .visit(
-            appView.appInfo().classes(),
+            appView.appInfo().classesWithDeterministicOrder(),
             clazz -> {
               DexType type = clazz.type;
               DexType frontier = frontiers.getOrDefault(clazz.superType, type);