Revert "Fix lambda desugaring using nest based access"

This reverts commit 44653ffdc517ce276e39d4e9a3dc3a9b3593a554.

Reason for revert: Breaking multiple test (Regress191296688, AppDeterminismTest)

Change-Id: Ib8e85782406e315e66ecac6b683291eced1851d5
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java b/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
index e348356..ac5addd 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
@@ -690,8 +690,6 @@
         assert !appView.options().isGeneratingClassFiles() || replacement.getCode().isCfCode();
         assert !appView.options().isGeneratingDex() || replacement.getCode().isDexCode();
         ProgramMethod newMethod = new ProgramMethod(implMethodHolder, replacement);
-        // TODO(b/236937595): Investigate why processing is needed here only in desugared library
-        // compilation.
         if (appView.options().isDesugaredLibraryCompilation()) {
           assert appView.options().isGeneratingClassFiles();
           needsProcessingConsumer.accept(newMethod);
@@ -780,8 +778,6 @@
         assert !appView.options().isGeneratingClassFiles() || replacement.getCode().isCfCode();
         assert !appView.options().isGeneratingDex() || replacement.getCode().isDexCode();
         ProgramMethod newMethod = new ProgramMethod(implMethodHolder, replacement);
-        // TODO(b/236937595): Investigate why processing is needed here only in desugared library
-        // compilation.
         if (appView.options().isDesugaredLibraryCompilation()) {
           assert appView.options().isGeneratingClassFiles();
           needsProcessingConsumer.accept(newMethod);
@@ -850,7 +846,10 @@
                   .disableAndroidApiLevelCheck()
                   .build());
       accessorClass.addDirectMethod(accessorMethod.getDefinition());
-      needsProcessingConsumer.accept(accessorMethod);
+      if (appView.options().isDesugaredLibraryCompilation()
+          || appView.options().isGeneratingDex()) {
+        needsProcessingConsumer.accept(accessorMethod);
+      }
       return accessorMethod;
     }
   }
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/nest/NestBasedAccessDesugaring.java b/src/main/java/com/android/tools/r8/ir/desugar/nest/NestBasedAccessDesugaring.java
index 37451f0..4da9973 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/nest/NestBasedAccessDesugaring.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/nest/NestBasedAccessDesugaring.java
@@ -10,7 +10,6 @@
 import com.android.tools.r8.cf.code.CfFieldInstruction;
 import com.android.tools.r8.cf.code.CfInstruction;
 import com.android.tools.r8.cf.code.CfInvoke;
-import com.android.tools.r8.cf.code.CfInvokeDynamic;
 import com.android.tools.r8.contexts.CompilationContext.MethodProcessingContext;
 import com.android.tools.r8.errors.Unreachable;
 import com.android.tools.r8.graph.AppView;
@@ -35,7 +34,6 @@
 import com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection;
 import com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer;
 import com.android.tools.r8.ir.desugar.FreshLocalProvider;
-import com.android.tools.r8.ir.desugar.LambdaDescriptor;
 import com.android.tools.r8.ir.desugar.LocalStackAllocator;
 import com.android.tools.r8.ir.desugar.ProgramAdditions;
 import com.android.tools.r8.utils.BooleanUtils;
@@ -148,20 +146,6 @@
                 if (needsDesugaring(invokedMethod, method)) {
                   prepareDesugarMethodInstruction(invokedMethod, method, programAdditions);
                 }
-              } else if (instruction.isInvokeDynamic()) {
-                // Starting from Java 17, lambda can use nest based access. We need to generate
-                // bridges for the targeted lambda method.
-                CfInvokeDynamic cfInvokeDynamic = instruction.asInvokeDynamic();
-                LambdaDescriptor lambdaDescriptor =
-                    LambdaDescriptor.tryInfer(
-                        cfInvokeDynamic.getCallSite(), appView.appInfoForDesugaring(), method);
-                if (lambdaDescriptor != null) {
-                  DexMember<?, ?> member = lambdaDescriptor.implHandle.member;
-                  if (needsDesugaring(member, method)) {
-                    assert member.isDexMethod();
-                    prepareDesugarMethodInstruction(member.asDexMethod(), method, programAdditions);
-                  }
-                }
               }
             });
   }
diff --git a/src/test/examplesJava17/nest/NestLambda.java b/src/test/examplesJava17/nest/NestLambda.java
deleted file mode 100644
index 2c690b5..0000000
--- a/src/test/examplesJava17/nest/NestLambda.java
+++ /dev/null
@@ -1,33 +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 nest;
-
-import java.util.function.Consumer;
-
-public class NestLambda {
-
-  private void print(Object o) {
-    System.out.println("printed: " + o);
-  }
-
-  Inner getInner() {
-    return new Inner();
-  }
-
-  class Inner {
-
-    void exec(Consumer<Object> consumer) {
-      consumer.accept("inner");
-    }
-
-    void execLambda() {
-      exec(NestLambda.this::print);
-    }
-  }
-
-  public static void main(String[] args) {
-    new NestLambda().getInner().execLambda();
-  }
-}
diff --git a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestLambdaJava17Test.java b/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestLambdaJava17Test.java
deleted file mode 100644
index 94fbe71..0000000
--- a/src/test/java/com/android/tools/r8/desugar/nestaccesscontrol/NestLambdaJava17Test.java
+++ /dev/null
@@ -1,81 +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.nestaccesscontrol;
-
-import static com.android.tools.r8.utils.AndroidApiLevel.B;
-import static com.android.tools.r8.utils.FileUtils.JAR_EXTENSION;
-
-import com.android.tools.r8.TestBase;
-import com.android.tools.r8.TestParameters;
-import com.android.tools.r8.TestParametersCollection;
-import com.android.tools.r8.TestRuntime.CfVm;
-import com.android.tools.r8.ToolHelper;
-import com.android.tools.r8.ToolHelper.DexVm.Version;
-import com.android.tools.r8.utils.AndroidApiLevel;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import org.junit.Assume;
-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 NestLambdaJava17Test extends TestBase {
-
-  public NestLambdaJava17Test(TestParameters parameters) {
-    this.parameters = parameters;
-  }
-
-  private static final Path JDK17_JAR =
-      Paths.get(ToolHelper.TESTS_BUILD_DIR, "examplesJava17").resolve("nest" + JAR_EXTENSION);
-  private static final String MAIN = "nest.NestLambda";
-  private static final String EXPECTED_RESULT = "printed: inner";
-
-  private final TestParameters parameters;
-
-  @Parameters(name = "{0}")
-  public static TestParametersCollection data() {
-    return getTestParameters()
-        .withCfRuntimesStartingFromIncluding(CfVm.JDK17)
-        // The test requires the java.util.function. package.
-        .withDexRuntimesStartingFromIncluding(Version.V7_0_0)
-        .withApiLevel(AndroidApiLevel.N)
-        .enableApiLevelsForCf()
-        .build();
-  }
-
-  @Test
-  public void testReference() throws Exception {
-    Assume.assumeTrue(parameters.isCfRuntime());
-    testForJvm()
-        .addProgramFiles(JDK17_JAR)
-        .run(parameters.getRuntime(), MAIN)
-        .assertSuccessWithOutputLines(EXPECTED_RESULT);
-  }
-
-  @Test
-  public void testJavaD8() throws Exception {
-    testForDesugaring(parameters)
-        .addProgramFiles(JDK17_JAR)
-        .run(parameters.getRuntime(), MAIN)
-        .assertSuccessWithOutputLines(EXPECTED_RESULT);
-  }
-
-  @Test
-  public void testR8() throws Exception {
-    Assume.assumeTrue(parameters.isDexRuntime() || parameters.getApiLevel().equals(B));
-    testForR8(parameters.getBackend())
-        .addProgramFiles(JDK17_JAR)
-        .applyIf(
-            parameters.isCfRuntime(),
-            // Alternatively we need to pass Jdk17 as library.
-            b -> b.addKeepRules("-dontwarn java.lang.invoke.StringConcatFactory"))
-        .setMinApi(parameters.getApiLevel())
-        .addKeepMainRule(MAIN)
-        .run(parameters.getRuntime(), MAIN)
-        .assertSuccessWithOutputLines(EXPECTED_RESULT);
-  }
-}