Revert "Backport ExecutorService#close"

This reverts commit d2cb03b9f31d90d51d28aad3892c72dd42b84f2c.

Reason for revert: red bots

Change-Id: I0d415eaa9c4887efd96dbd1a7169488bf2c2e20b
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java b/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java
index 5ac8f30..6750b52 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java
@@ -1800,18 +1800,6 @@
               field,
               // Template code calls the method again.
               BackportedMethods::AndroidOsBuildVersionMethods_getSdkIntFull));
-
-      // void java.util.concurrent.ExecutorService.close()
-      type = factory.createType("Ljava/util/concurrent/ExecutorService;");
-      name = factory.createString("close");
-      DexProto proto = factory.createProto(factory.voidType);
-      DexMethod method = factory.createMethod(type, proto, name);
-      addProvider(
-          new StatifyingMethodGenerator(
-              method,
-              BackportedMethods::ExecutorServiceMethods_closeExecutorService,
-              "closeExecutorService",
-              type));
     }
 
     private void initializeAndroidUMethodProviders(DexItemFactory factory) {
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/backports/BackportedMethods.java b/src/main/java/com/android/tools/r8/ir/desugar/backports/BackportedMethods.java
index a1078a8..494c6c9 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/backports/BackportedMethods.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/backports/BackportedMethods.java
@@ -68,7 +68,6 @@
     factory.createSynthesizedType("Ljava/lang/IllegalArgumentException;");
     factory.createSynthesizedType("Ljava/lang/IndexOutOfBoundsException;");
     factory.createSynthesizedType("Ljava/lang/Integer;");
-    factory.createSynthesizedType("Ljava/lang/InterruptedException;");
     factory.createSynthesizedType("Ljava/lang/Iterable;");
     factory.createSynthesizedType("Ljava/lang/Long;");
     factory.createSynthesizedType("Ljava/lang/Math;");
@@ -79,7 +78,6 @@
     factory.createSynthesizedType("Ljava/lang/Runnable;");
     factory.createSynthesizedType("Ljava/lang/RuntimeException;");
     factory.createSynthesizedType("Ljava/lang/SecurityException;");
-    factory.createSynthesizedType("Ljava/lang/Thread;");
     factory.createSynthesizedType("Ljava/lang/reflect/Constructor;");
     factory.createSynthesizedType("Ljava/lang/reflect/InvocationTargetException;");
     factory.createSynthesizedType("Ljava/lang/reflect/Method;");
@@ -105,8 +103,6 @@
     factory.createSynthesizedType("Ljava/util/OptionalInt;");
     factory.createSynthesizedType("Ljava/util/OptionalLong;");
     factory.createSynthesizedType("Ljava/util/Set;");
-    factory.createSynthesizedType("Ljava/util/concurrent/ExecutorService;");
-    factory.createSynthesizedType("Ljava/util/concurrent/TimeUnit;");
     factory.createSynthesizedType("Ljava/util/concurrent/atomic/AtomicReference;");
     factory.createSynthesizedType("Ljava/util/concurrent/atomic/AtomicReferenceArray;");
     factory.createSynthesizedType("Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;");
@@ -2412,176 +2408,6 @@
         ImmutableList.of());
   }
 
-  public static CfCode ExecutorServiceMethods_closeExecutorService(
-      DexItemFactory factory, DexMethod method) {
-    CfLabel label0 = new CfLabel();
-    CfLabel label1 = new CfLabel();
-    CfLabel label2 = new CfLabel();
-    CfLabel label3 = new CfLabel();
-    CfLabel label4 = new CfLabel();
-    CfLabel label5 = new CfLabel();
-    CfLabel label6 = new CfLabel();
-    CfLabel label7 = new CfLabel();
-    CfLabel label8 = new CfLabel();
-    CfLabel label9 = new CfLabel();
-    CfLabel label10 = new CfLabel();
-    CfLabel label11 = new CfLabel();
-    CfLabel label12 = new CfLabel();
-    CfLabel label13 = new CfLabel();
-    CfLabel label14 = new CfLabel();
-    CfLabel label15 = new CfLabel();
-    return new CfCode(
-        method.holder,
-        4,
-        4,
-        ImmutableList.of(
-            label0,
-            new CfLoad(ValueType.OBJECT, 0),
-            new CfInvoke(
-                185,
-                factory.createMethod(
-                    factory.createType("Ljava/util/concurrent/ExecutorService;"),
-                    factory.createProto(factory.booleanType),
-                    factory.createString("isTerminated")),
-                true),
-            new CfStore(ValueType.INT, 1),
-            label1,
-            new CfLoad(ValueType.INT, 1),
-            new CfIf(IfType.NE, ValueType.INT, label14),
-            label2,
-            new CfLoad(ValueType.OBJECT, 0),
-            new CfInvoke(
-                185,
-                factory.createMethod(
-                    factory.createType("Ljava/util/concurrent/ExecutorService;"),
-                    factory.createProto(factory.voidType),
-                    factory.createString("shutdown")),
-                true),
-            label3,
-            new CfConstNumber(0, ValueType.INT),
-            new CfStore(ValueType.INT, 2),
-            label4,
-            new CfFrame(
-                new Int2ObjectAVLTreeMap<>(
-                    new int[] {0, 1, 2},
-                    new FrameType[] {
-                      FrameType.initializedNonNullReference(
-                          factory.createType("Ljava/util/concurrent/ExecutorService;")),
-                      FrameType.intType(),
-                      FrameType.intType()
-                    })),
-            new CfLoad(ValueType.INT, 1),
-            new CfIf(IfType.NE, ValueType.INT, label12),
-            label5,
-            new CfLoad(ValueType.OBJECT, 0),
-            new CfConstNumber(1, ValueType.LONG),
-            new CfStaticFieldRead(
-                factory.createField(
-                    factory.createType("Ljava/util/concurrent/TimeUnit;"),
-                    factory.createType("Ljava/util/concurrent/TimeUnit;"),
-                    factory.createString("DAYS"))),
-            new CfInvoke(
-                185,
-                factory.createMethod(
-                    factory.createType("Ljava/util/concurrent/ExecutorService;"),
-                    factory.createProto(
-                        factory.booleanType,
-                        factory.longType,
-                        factory.createType("Ljava/util/concurrent/TimeUnit;")),
-                    factory.createString("awaitTermination")),
-                true),
-            new CfStore(ValueType.INT, 1),
-            label6,
-            new CfGoto(label4),
-            label7,
-            new CfFrame(
-                new Int2ObjectAVLTreeMap<>(
-                    new int[] {0, 1, 2},
-                    new FrameType[] {
-                      FrameType.initializedNonNullReference(
-                          factory.createType("Ljava/util/concurrent/ExecutorService;")),
-                      FrameType.intType(),
-                      FrameType.intType()
-                    }),
-                new ArrayDeque<>(
-                    Arrays.asList(
-                        FrameType.initializedNonNullReference(
-                            factory.createType("Ljava/lang/InterruptedException;"))))),
-            new CfStore(ValueType.OBJECT, 3),
-            label8,
-            new CfLoad(ValueType.INT, 2),
-            new CfIf(IfType.NE, ValueType.INT, label11),
-            label9,
-            new CfLoad(ValueType.OBJECT, 0),
-            new CfInvoke(
-                185,
-                factory.createMethod(
-                    factory.createType("Ljava/util/concurrent/ExecutorService;"),
-                    factory.createProto(factory.createType("Ljava/util/List;")),
-                    factory.createString("shutdownNow")),
-                true),
-            new CfStackInstruction(CfStackInstruction.Opcode.Pop),
-            label10,
-            new CfConstNumber(1, ValueType.INT),
-            new CfStore(ValueType.INT, 2),
-            label11,
-            new CfFrame(
-                new Int2ObjectAVLTreeMap<>(
-                    new int[] {0, 1, 2},
-                    new FrameType[] {
-                      FrameType.initializedNonNullReference(
-                          factory.createType("Ljava/util/concurrent/ExecutorService;")),
-                      FrameType.intType(),
-                      FrameType.intType()
-                    })),
-            new CfGoto(label4),
-            label12,
-            new CfFrame(
-                new Int2ObjectAVLTreeMap<>(
-                    new int[] {0, 1, 2},
-                    new FrameType[] {
-                      FrameType.initializedNonNullReference(
-                          factory.createType("Ljava/util/concurrent/ExecutorService;")),
-                      FrameType.intType(),
-                      FrameType.intType()
-                    })),
-            new CfLoad(ValueType.INT, 2),
-            new CfIf(IfType.EQ, ValueType.INT, label14),
-            label13,
-            new CfInvoke(
-                184,
-                factory.createMethod(
-                    factory.createType("Ljava/lang/Thread;"),
-                    factory.createProto(factory.createType("Ljava/lang/Thread;")),
-                    factory.createString("currentThread")),
-                false),
-            new CfInvoke(
-                182,
-                factory.createMethod(
-                    factory.createType("Ljava/lang/Thread;"),
-                    factory.createProto(factory.voidType),
-                    factory.createString("interrupt")),
-                false),
-            label14,
-            new CfFrame(
-                new Int2ObjectAVLTreeMap<>(
-                    new int[] {0, 1},
-                    new FrameType[] {
-                      FrameType.initializedNonNullReference(
-                          factory.createType("Ljava/util/concurrent/ExecutorService;")),
-                      FrameType.intType()
-                    })),
-            new CfReturnVoid(),
-            label15),
-        ImmutableList.of(
-            new CfTryCatch(
-                label5,
-                label6,
-                ImmutableList.of(factory.createType("Ljava/lang/InterruptedException;")),
-                ImmutableList.of(label7))),
-        ImmutableList.of());
-  }
-
   public static CfCode FloatMethods_isFinite(DexItemFactory factory, DexMethod method) {
     CfLabel label0 = new CfLabel();
     CfLabel label1 = new CfLabel();
diff --git a/src/test/examplesJava21/twr/ExecutorServiceBackportTest.java b/src/test/examplesJava21/twr/ExecutorServiceBackportTest.java
deleted file mode 100644
index c55a8e4..0000000
--- a/src/test/examplesJava21/twr/ExecutorServiceBackportTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright (c) 2023, 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 twr;
-
-import com.android.tools.r8.TestParameters;
-import com.android.tools.r8.TestRuntime.CfVm;
-import com.android.tools.r8.ToolHelper.DexVm.Version;
-import com.android.tools.r8.desugar.backports.AbstractBackportTest;
-import com.android.tools.r8.utils.AndroidApiLevel;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.ForkJoinPool;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-@RunWith(Parameterized.class)
-public class ExecutorServiceBackportTest extends AbstractBackportTest {
-
-  @Parameters(name = "{0}")
-  public static Iterable<?> data() {
-    return getTestParameters()
-        .withCfRuntimesStartingFromIncluding(CfVm.JDK21)
-        .withDexRuntimesStartingFromExcluding(Version.V4_4_4)
-        .withAllApiLevelsAlsoForCf()
-        .build();
-  }
-
-  public ExecutorServiceBackportTest(TestParameters parameters) {
-    super(parameters, ExecutorService.class, Main.class);
-    registerTarget(AndroidApiLevel.BAKLAVA, 1);
-    ignoreInvokes("isTerminated");
-  }
-
-  public static class Main {
-
-    public static void main(String[] args) {
-      ExecutorService executorService = new ForkJoinPool();
-      System.out.println(executorService.isTerminated());
-      executorService.close();
-      System.out.println(executorService.isTerminated());
-    }
-  }
-}
diff --git a/src/test/examplesJava21/twr/LookUpCloseResourceTest.java b/src/test/examplesJava21/twr/LookUpCloseResourceTest.java
index d30e117..98f088d 100644
--- a/src/test/examplesJava21/twr/LookUpCloseResourceTest.java
+++ b/src/test/examplesJava21/twr/LookUpCloseResourceTest.java
@@ -25,7 +25,6 @@
 import com.android.tools.r8.utils.InternalOptions;
 import com.android.tools.r8.utils.OptionalBool;
 import com.android.tools.r8.utils.Timing;
-import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Sets;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -43,13 +42,6 @@
 @RunWith(Parameterized.class)
 public class LookUpCloseResourceTest extends TestBase {
 
-  private static final Set<String> CANNOT_FIX =
-      ImmutableSet.of(
-          "java.net.URLClassLoader",
-          "android.net.wifi.p2p.WifiP2pManager$Channel",
-          "android.content.res.AssetFileDescriptor$AutoCloseInputStream");
-  private static final Set<String> TOO_OLD_TO_FIX =
-      ImmutableSet.of("java.nio.channels.FileLock", "android.database.sqlite.SQLiteClosable");
   private static final boolean DEBUG_PRINT = false;
   private static int MAX_PROCESSED_ANDROID_API_LEVEL = 36;
 
@@ -142,15 +134,14 @@
     Assert.assertEquals(5, closeBackports.size());
 
     if (DEBUG_PRINT) {
-      print(closeBackports, classIntroducedBeforeClose, toSuper, appViewForMax);
+      print(closeBackports, classIntroducedBeforeClose, toSuper);
     }
   }
 
   private void print(
       List<DexMethod> closeBackports,
       Map<DexType, AndroidApiLevel> classIntroducedBeforeClose,
-      Map<DexType, DexType> toSuper,
-      AppView<?> appView) {
+      Map<DexType, DexType> toSuper) {
     Map<DexType, List<DexType>> toSub = new IdentityHashMap<>();
     toSuper.forEach(
         (sup, sub) -> {
@@ -159,26 +150,18 @@
     System.out.println("Classes introduced in android.jar before their close() method override :");
     classIntroducedBeforeClose.forEach(
         (type, api) -> {
-          System.out.print(api + " ");
-          System.out.print(appView.definitionFor(type).isFinal() ? "f " : "nf ");
           System.out.print(type + " ");
-          if (closeBackports.stream().anyMatch(m -> m.getHolderType() == type)) {
-            System.out.print("-- backport");
-          }
-          if (CANNOT_FIX.contains(type.toString())) {
-            System.out.print("-- cannotfix");
-          }
-          if (TOO_OLD_TO_FIX.contains(type.toString())) {
-            System.out.print("-- tooOldToFix");
-          }
-          System.out.println();
           if (toSub.containsKey(type)) {
             System.out.print("[");
             for (DexType sub : toSub.get(type)) {
               System.out.print(sub + ", ");
             }
-            System.out.println("] ");
+            System.out.print("] ");
           }
+          if (closeBackports.stream().anyMatch(m -> m.getHolderType() == type)) {
+            System.out.print("-- backport");
+          }
+          System.out.println();
         });
   }
 
diff --git a/src/test/java/com/android/tools/r8/ir/desugar/backports/ExecutorServiceMethods.java b/src/test/java/com/android/tools/r8/ir/desugar/backports/ExecutorServiceMethods.java
deleted file mode 100644
index 3d5a297..0000000
--- a/src/test/java/com/android/tools/r8/ir/desugar/backports/ExecutorServiceMethods.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.android.tools.r8.ir.desugar.backports;
-
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.TimeUnit;
-
-public class ExecutorServiceMethods {
-
-  public static void closeExecutorService(ExecutorService executorService) {
-    boolean terminated = executorService.isTerminated();
-    if (!terminated) {
-      executorService.shutdown();
-      boolean interrupted = false;
-      while (!terminated) {
-        try {
-          terminated = executorService.awaitTermination(1L, TimeUnit.DAYS);
-        } catch (InterruptedException e) {
-          if (!interrupted) {
-            executorService.shutdownNow();
-            interrupted = true;
-          }
-        }
-      }
-      if (interrupted) {
-        Thread.currentThread().interrupt();
-      }
-    }
-  }
-}
diff --git a/src/test/java/com/android/tools/r8/ir/desugar/backports/GenerateBackportMethods.java b/src/test/java/com/android/tools/r8/ir/desugar/backports/GenerateBackportMethods.java
index 5d9103c..9b3ae81 100644
--- a/src/test/java/com/android/tools/r8/ir/desugar/backports/GenerateBackportMethods.java
+++ b/src/test/java/com/android/tools/r8/ir/desugar/backports/GenerateBackportMethods.java
@@ -51,7 +51,6 @@
           CollectionMethods.class,
           CollectionsMethods.class,
           DoubleMethods.class,
-          ExecutorServiceMethods.class,
           FloatMethods.class,
           IntegerMethods.class,
           LongMethods.class,