Revert "Add callback API to obtain the compilation unit for desugaring."

This reverts commit f27e33cbb1a39f90ad0c9d1f39e2f6d37c10238c.

Reason for revert: Breaks Regress167562221Test

Change-Id: Ie1d2063448e050d5e20c12f8353603561c308338
diff --git a/src/main/java/com/android/tools/r8/DesugarGraphConsumer.java b/src/main/java/com/android/tools/r8/DesugarGraphConsumer.java
index 6b0b719..2210490 100644
--- a/src/main/java/com/android/tools/r8/DesugarGraphConsumer.java
+++ b/src/main/java/com/android/tools/r8/DesugarGraphConsumer.java
@@ -10,27 +10,6 @@
 public interface DesugarGraphConsumer {
 
   /**
-   * Callback indicating that the {@code node} is a program input which is part of the current
-   * compilation unit.
-   *
-   * <p>Note: this callback is guaranteed to be called on every program input origin that could be
-   * passed as a {@code dependent} in a callback to {@code accept(Orign dependent, Origin
-   * dependency)}. It is also guaranteed to be called before any such call. In effect, this callback
-   * will receive the complete set of program input origins for the compilation unit and can
-   * reliably be used to remove any existing and potentially stale edges pertaining to those origins
-   * from a dependency graph maintained in the client.
-   *
-   * <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 node Origin of code that is part of the program input in the compilation unit.
-   */
-  default void acceptProgramNode(Origin node) {
-    // Default behavior ignores the node callbacks.
-  }
-
-  /**
    * Callback indicating that code originating from {@code dependency} is needed to correctly
    * desugar code originating from {@code dependent}.
    *
diff --git a/src/main/java/com/android/tools/r8/graph/JarClassFileReader.java b/src/main/java/com/android/tools/r8/graph/JarClassFileReader.java
index 8e5ec1f..afbda8d 100644
--- a/src/main/java/com/android/tools/r8/graph/JarClassFileReader.java
+++ b/src/main/java/com/android/tools/r8/graph/JarClassFileReader.java
@@ -106,12 +106,6 @@
       }
     }
 
-    if (classKind == ClassKind.PROGRAM
-        && application.options.isDesugaring()
-        && application.options.desugarGraphConsumer != null) {
-      application.options.desugarGraphConsumer.acceptProgramNode(origin);
-    }
-
     ClassReader reader = new ClassReader(bytes);
 
     int parsingOptions = SKIP_FRAMES | SKIP_CODE;
diff --git a/src/test/java/com/android/tools/r8/compilerapi/CompilerApiTestCollection.java b/src/test/java/com/android/tools/r8/compilerapi/CompilerApiTestCollection.java
index 2b37eed..1ca2f2b 100644
--- a/src/test/java/com/android/tools/r8/compilerapi/CompilerApiTestCollection.java
+++ b/src/test/java/com/android/tools/r8/compilerapi/CompilerApiTestCollection.java
@@ -9,7 +9,6 @@
 
 import com.android.tools.r8.ToolHelper;
 import com.android.tools.r8.compilerapi.assertionconfiguration.AssertionConfigurationTest;
-import com.android.tools.r8.compilerapi.desugardependencies.DesugarDependenciesTest;
 import com.android.tools.r8.compilerapi.inputdependencies.InputDependenciesTest;
 import com.android.tools.r8.compilerapi.mapid.CustomMapIdTest;
 import com.android.tools.r8.compilerapi.mockdata.MockClass;
@@ -37,9 +36,7 @@
 
   private static final List<Class<? extends CompilerApiTest>> CLASSES_PENDING_BINARY_COMPATIBILITY =
       ImmutableList.of(
-          AssertionConfigurationTest.ApiTest.class,
-          InputDependenciesTest.ApiTest.class,
-          DesugarDependenciesTest.ApiTest.class);
+          AssertionConfigurationTest.ApiTest.class, InputDependenciesTest.ApiTest.class);
 
   private final TemporaryFolder temp;
 
diff --git a/src/test/java/com/android/tools/r8/compilerapi/desugardependencies/DesugarDependenciesTest.java b/src/test/java/com/android/tools/r8/compilerapi/desugardependencies/DesugarDependenciesTest.java
deleted file mode 100644
index d361457..0000000
--- a/src/test/java/com/android/tools/r8/compilerapi/desugardependencies/DesugarDependenciesTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright (c) 2022, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-package com.android.tools.r8.compilerapi.desugardependencies;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import com.android.tools.r8.D8;
-import com.android.tools.r8.D8Command;
-import com.android.tools.r8.DesugarGraphConsumer;
-import com.android.tools.r8.DexIndexedConsumer;
-import com.android.tools.r8.TestParameters;
-import com.android.tools.r8.compilerapi.CompilerApiTest;
-import com.android.tools.r8.compilerapi.CompilerApiTestRunner;
-import com.android.tools.r8.origin.Origin;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import org.junit.Test;
-
-public class DesugarDependenciesTest extends CompilerApiTestRunner {
-
-  public DesugarDependenciesTest(TestParameters parameters) {
-    super(parameters);
-  }
-
-  @Override
-  public Class<? extends CompilerApiTest> binaryTestClass() {
-    return ApiTest.class;
-  }
-
-  @Test
-  public void testDesugarDependencies() throws Exception {
-    ApiTest test = new ApiTest(ApiTest.PARAMETERS);
-    runTest(test::run);
-  }
-
-  private interface Runner {
-    void run() throws Exception;
-  }
-
-  private void runTest(Runner test) throws Exception {
-    test.run();
-  }
-
-  public static class ApiTest extends CompilerApiTest {
-
-    public ApiTest(Object parameters) {
-      super(parameters);
-    }
-
-    public void run() throws Exception {
-      D8.run(
-          D8Command.builder()
-              .addClassProgramData(getBytesForClass(getMockClass()), Origin.unknown())
-              .addLibraryFiles(getJava8RuntimeJar())
-              .setProgramConsumer(DexIndexedConsumer.emptyConsumer())
-              .setDesugarGraphConsumer(
-                  new DesugarGraphConsumer() {
-                    private final Map<Origin, Origin> desugaringUnit = new ConcurrentHashMap<>();
-
-                    @Override
-                    public void acceptProgramNode(Origin node) {
-                      desugaringUnit.put(node, node);
-                    }
-
-                    @Override
-                    public void accept(Origin dependent, Origin dependency) {
-                      assertTrue(desugaringUnit.containsKey(dependent));
-                    }
-
-                    @Override
-                    public void finished() {
-                      // Input unit contains just the mock class.
-                      assertEquals(1, desugaringUnit.size());
-                    }
-                  })
-              .build());
-    }
-
-    @Test
-    public void testDesugarDependencies() throws Exception {
-      run();
-    }
-  }
-}
diff --git a/src/test/java/com/android/tools/r8/desugar/graph/CompilationDependentSetTest.java b/src/test/java/com/android/tools/r8/desugar/graph/CompilationDependentSetTest.java
deleted file mode 100644
index 58fafe6..0000000
--- a/src/test/java/com/android/tools/r8/desugar/graph/CompilationDependentSetTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright (c) 2022, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-package com.android.tools.r8.desugar.graph;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import com.android.tools.r8.D8TestBuilder;
-import com.android.tools.r8.TestBase;
-import com.android.tools.r8.TestParameters;
-import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.origin.Origin;
-import com.android.tools.r8.utils.AndroidApiLevel;
-import com.google.common.collect.ImmutableSet;
-import java.nio.file.Path;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-@RunWith(Parameterized.class)
-public class CompilationDependentSetTest extends TestBase {
-
-  public interface I {
-    // Emtpy.
-  }
-
-  public static class A implements I {
-    // Empty.
-  }
-
-  public static class B {
-    // Empty.
-  }
-
-  public static class TestClass {
-
-    public static void main(String[] args) {
-      System.out.println("Hello World!");
-    }
-  }
-
-  // Test runner follows.
-
-  @Parameters(name = "{0}")
-  public static TestParametersCollection data() {
-    return getTestParameters().withAllRuntimes().withAllApiLevels().build();
-  }
-
-  private final TestParameters parameters;
-
-  public CompilationDependentSetTest(TestParameters parameters) {
-    this.parameters = parameters;
-  }
-
-  @Test
-  public void test() throws Exception {
-    if (parameters.isCfRuntime()) {
-      testForJvm()
-          .addProgramClasses(I.class, A.class, B.class, TestClass.class)
-          .run(parameters.getRuntime(), TestClass.class)
-          .assertSuccessWithOutputLines("Hello World!");
-    } else {
-      Path dexInputForB =
-          testForD8()
-              .addProgramClasses(B.class)
-              .setMinApi(parameters.getApiLevel())
-              .compile()
-              .writeToZip();
-
-      D8TestBuilder builder = testForD8();
-      DesugarGraphTestConsumer consumer = new DesugarGraphTestConsumer();
-      builder.getBuilder().setDesugarGraphConsumer(consumer);
-      Origin originI = DesugarGraphUtils.addClassWithOrigin(I.class, builder);
-      Origin originA = DesugarGraphUtils.addClassWithOrigin(A.class, builder);
-      Origin originTestClass = DesugarGraphUtils.addClassWithOrigin(TestClass.class, builder);
-      builder
-          .addProgramFiles(dexInputForB)
-          .setMinApi(parameters.getApiLevel())
-          .run(parameters.getRuntime(), TestClass.class)
-          .assertSuccessWithOutputLines("Hello World!");
-      // If API level indicates desugaring is needed check the edges are reported.
-      if (parameters.getApiLevel().getLevel() < AndroidApiLevel.N.getLevel()) {
-        assertTrue(consumer.contains(originI, originA));
-        assertEquals(1, consumer.totalEdgeCount());
-      } else {
-        assertEquals(0, consumer.totalEdgeCount());
-      }
-      // Regardless of API the potential inputs are reported.
-      // Note that the DEX input is not a desugaring candidate and thus not included in the unit.
-      assertEquals(
-          ImmutableSet.of(originI, originA, originTestClass),
-          consumer.getDesugaringCompilationUnit());
-    }
-  }
-}
diff --git a/src/test/java/com/android/tools/r8/desugar/graph/DesugarGraphTestConsumer.java b/src/test/java/com/android/tools/r8/desugar/graph/DesugarGraphTestConsumer.java
index 4881e61..cb0da77 100644
--- a/src/test/java/com/android/tools/r8/desugar/graph/DesugarGraphTestConsumer.java
+++ b/src/test/java/com/android/tools/r8/desugar/graph/DesugarGraphTestConsumer.java
@@ -22,9 +22,6 @@
 
   private boolean finished = false;
 
-  // Set of all origins for the desugaring candidates in the compilation unit.
-  private final Set<Origin> desugaringCompilationUnit = new HashSet<>();
-
   // Map from a dependency to its immediate dependents.
   private final Map<Origin, Set<Origin>> dependents = new HashMap<>();
 
@@ -84,20 +81,9 @@
     return count;
   }
 
-  public Set<Origin> getDesugaringCompilationUnit() {
-    assertTrue(finished);
-    return desugaringCompilationUnit;
-  }
-
-  @Override
-  public synchronized void acceptProgramNode(Origin node) {
-    desugaringCompilationUnit.add(node);
-  }
-
   @Override
   public synchronized void accept(Origin dependent, Origin dependency) {
     assertFalse(finished);
-    assertTrue(desugaringCompilationUnit.contains(dependent));
     dependents.computeIfAbsent(dependency, s -> new HashSet<>()).add(dependent);
   }