Reorder arguments to the desugar graph consumer.

Bug: 138988172
Change-Id: I6ebd85eb05cd7c0c326179c64668646410c6e034
diff --git a/src/main/java/com/android/tools/r8/DesugarGraphConsumer.java b/src/main/java/com/android/tools/r8/DesugarGraphConsumer.java
index f771dd5..d75b2b0 100644
--- a/src/main/java/com/android/tools/r8/DesugarGraphConsumer.java
+++ b/src/main/java/com/android/tools/r8/DesugarGraphConsumer.java
@@ -10,17 +10,15 @@
 public interface DesugarGraphConsumer {
 
   /**
-   * Callback indicating that code originating from {@code src} was used to correctly desugar some
-   * code originating from {@code dst}.
-   *
-   * <p>In other words, {@code src} is a dependency for the desugaring of {@code dst}.
+   * Callback indicating that code originating from {@code dependency} is needed to correctly
+   * desugar code originating from {@code dependent}.
    *
    * <p>Note: this callback may be called on multiple threads.
    *
    * <p>Note: this callback places no guarantees on order of calls or on duplicate calls.
    *
-   * @param src Origin of some code input that is needed to desugar {@code dst}.
-   * @param dst Origin of some code that was dependent on code in {@code src}.
+   * @param dependent Origin of code that is dependent on code in {@code dependency}.
+   * @param dependency Origin of code that is a dependency to compile {@code dependent}.
    */
-  void accept(Origin src, Origin dst);
+  void accept(Origin dependent, Origin dependency);
 }
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/ClassProcessor.java b/src/main/java/com/android/tools/r8/ir/desugar/ClassProcessor.java
index dd95b28..6fb1c27 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/ClassProcessor.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/ClassProcessor.java
@@ -144,7 +144,7 @@
       // If the direct subclass is in the compilation unit, report its dependencies.
       if (clazz != directSubClass && directSubClass.isProgramClass()) {
         InterfaceMethodRewriter.reportDependencyEdge(
-            clazz, directSubClass.asProgramClass(), appView);
+            directSubClass.asProgramClass(), clazz, appView);
       }
     }
 
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/InterfaceMethodRewriter.java b/src/main/java/com/android/tools/r8/ir/desugar/InterfaceMethodRewriter.java
index a43d321..795755e 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/InterfaceMethodRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/InterfaceMethodRewriter.java
@@ -1115,7 +1115,7 @@
     // At this point we likely have a non-library type that may depend on default method information
     // from its interfaces and the dependency should be reported.
     if (!definedInterface.isLibraryClass()) {
-      reportDependencyEdge(definedInterface, implementing, appView);
+      reportDependencyEdge(implementing, definedInterface, appView);
     }
 
     // Merge information from all superinterfaces.
@@ -1139,13 +1139,13 @@
   }
 
   public static void reportDependencyEdge(
-      DexClass dependency, DexClass dependent, AppView<?> appView) {
+      DexClass dependent, DexClass dependency, AppView<?> appView) {
     DesugarGraphConsumer consumer = appView.options().desugarGraphConsumer;
     if (consumer != null) {
-      Origin dependencyOrigin = dependency.getOrigin();
       Origin dependentOrigin = dependent.getOrigin();
-      if (dependencyOrigin != dependentOrigin) {
-        consumer.accept(dependencyOrigin, dependentOrigin);
+      Origin dependencyOrigin = dependency.getOrigin();
+      if (dependentOrigin != dependencyOrigin) {
+        consumer.accept(dependentOrigin, dependencyOrigin);
       }
     }
   }
diff --git a/src/test/java/com/android/tools/r8/desugar/graph/InterfaceToImplementingClassDependencyTest.java b/src/test/java/com/android/tools/r8/desugar/graph/InterfaceToImplementingClassDependencyTest.java
index 703a237..64044e6 100644
--- a/src/test/java/com/android/tools/r8/desugar/graph/InterfaceToImplementingClassDependencyTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/graph/InterfaceToImplementingClassDependencyTest.java
@@ -111,8 +111,8 @@
     Map<Origin, Set<Origin>> edges = new HashMap<>();
 
     @Override
-    public synchronized void accept(Origin src, Origin dst) {
-      edges.computeIfAbsent(src, s -> new HashSet<>()).add(dst);
+    public synchronized void accept(Origin dependent, Origin dependency) {
+      edges.computeIfAbsent(dependency, s -> new HashSet<>()).add(dependent);
     }
   }
 }