Fix tests to pass with Kotlin 2.1.0-dev-5441

Bug: b/362426281
Change-Id: I176ebaea955b027840ed72a423d5a7d389bf4398
diff --git a/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java b/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java
index e3944a9..be29d6d 100644
--- a/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java
@@ -8,6 +8,7 @@
 import static com.android.tools.r8.KotlinCompilerTool.KotlinCompilerVersion.KOTLINC_1_5_0;
 import static com.android.tools.r8.KotlinCompilerTool.KotlinCompilerVersion.KOTLINC_1_6_0;
 import static com.android.tools.r8.KotlinCompilerTool.KotlinCompilerVersion.KOTLINC_1_9_21;
+import static com.android.tools.r8.KotlinCompilerTool.KotlinCompilerVersion.KOTLIN_DEV;
 import static com.android.tools.r8.utils.codeinspector.Matchers.isAbsent;
 import static com.android.tools.r8.utils.codeinspector.Matchers.isAbsentIf;
 import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
@@ -212,12 +213,26 @@
                                     kotlinParameters
                                         .getCompiler()
                                         .getCompilerVersion()
-                                        .isGreaterThanOrEqualTo(KOTLINC_1_9_21),
+                                        .isEqualTo(KOTLINC_1_9_21),
                                     i ->
                                         i.assertIsCompleteMergeGroup(
                                             SyntheticItemsTestUtils.syntheticLambdaClass(mainKt, 0),
                                             SyntheticItemsTestUtils.syntheticLambdaClass(
-                                                mainKt, 1)))
+                                                mainKt, 1)),
+                                    kotlinParameters
+                                        .getCompiler()
+                                        .getCompilerVersion()
+                                        .isEqualTo(KOTLIN_DEV),
+                                    i -> {
+                                      ClassReference sequencesKt =
+                                          Reference.classFromTypeName(
+                                              "kotlin.sequences.SequencesKt__SequencesKt");
+                                      i.assertIsCompleteMergeGroup(
+                                          SyntheticItemsTestUtils.syntheticLambdaClass(mainKt, 0),
+                                          SyntheticItemsTestUtils.syntheticLambdaClass(mainKt, 1),
+                                          SyntheticItemsTestUtils.syntheticLambdaClass(
+                                              sequencesKt, 0));
+                                    })
                                 .assertNoOtherClassesMerged();
                           } else {
                             assert kotlinParameters.getLambdaGeneration().isInvokeDynamic()
diff --git a/src/test/java/com/android/tools/r8/kotlin/optimize/switches/KotlinEnumSwitchTest.java b/src/test/java/com/android/tools/r8/kotlin/optimize/switches/KotlinEnumSwitchTest.java
index bcb01da..4824bf1 100644
--- a/src/test/java/com/android/tools/r8/kotlin/optimize/switches/KotlinEnumSwitchTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/optimize/switches/KotlinEnumSwitchTest.java
@@ -55,6 +55,8 @@
     testForR8(parameters.getBackend())
         // Use android.jar with java.lang.ClassValue.
         .addLibraryFiles(ToolHelper.getAndroidJar(AndroidApiLevel.U))
+        // Add java.lang.invoke.LambdaMetafactory for class file generation.
+        .applyIf(parameters.isCfRuntime(), b -> b.addLibraryFiles(ToolHelper.getCoreLambdaStubs()))
         .addProgramFiles(
             kotlinJars.getForConfiguration(kotlinParameters), kotlinc.getKotlinAnnotationJar())
         .addKeepMainRule("enumswitch.EnumSwitchKt")
diff --git a/src/test/java/com/android/tools/r8/kotlin/reflection/ReflectiveConstructionWithInlineClassTest.java b/src/test/java/com/android/tools/r8/kotlin/reflection/ReflectiveConstructionWithInlineClassTest.java
index a5c6dd3..4d28c48 100644
--- a/src/test/java/com/android/tools/r8/kotlin/reflection/ReflectiveConstructionWithInlineClassTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/reflection/ReflectiveConstructionWithInlineClassTest.java
@@ -119,6 +119,8 @@
   @Test
   public void testR8KeepDataClass() throws Exception {
     configureR8(testForR8(parameters.getBackend()).addDontObfuscate())
+        // Add java.lang.invoke.LambdaMetafactory for class file generation.
+        .applyIf(parameters.isCfRuntime(), b -> b.addLibraryFiles(ToolHelper.getCoreLambdaStubs()))
         .compile()
         .assertNoErrorMessages()
         .apply(KotlinMetadataTestBase::verifyExpectedWarningsFromKotlinReflectAndStdLib)
@@ -130,6 +132,8 @@
   public void testR8KeepDataClassAndInlineClass() throws Exception {
     configureR8(testForR8(parameters.getBackend()))
         .addKeepRules("-keep class " + PKG + ".Value { *; }")
+        // Add java.lang.invoke.LambdaMetafactory for class file generation.
+        .applyIf(parameters.isCfRuntime(), b -> b.addLibraryFiles(ToolHelper.getCoreLambdaStubs()))
         .compile()
         .assertNoErrorMessages()
         .apply(KotlinMetadataTestBase::verifyExpectedWarningsFromKotlinReflectAndStdLib)
diff --git a/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/HorizontallyMergedClassesInspector.java b/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/HorizontallyMergedClassesInspector.java
index b3ca5e2..04663af 100644
--- a/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/HorizontallyMergedClassesInspector.java
+++ b/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/HorizontallyMergedClassesInspector.java
@@ -136,6 +136,19 @@
     return this;
   }
 
+  public HorizontallyMergedClassesInspector applyIf(
+      boolean condition,
+      ThrowableConsumer<HorizontallyMergedClassesInspector> thenConsumer,
+      boolean elseIfCondition,
+      ThrowableConsumer<HorizontallyMergedClassesInspector> elseIfThenConsumer) {
+    if (condition) {
+      thenConsumer.acceptWithRuntimeException(this);
+    } else if (elseIfCondition) {
+      elseIfThenConsumer.acceptWithRuntimeException(this);
+    }
+    return this;
+  }
+
   public HorizontallyMergedClassesInspector assertMergedInto(Class<?> from, Class<?> target) {
     return assertMergedInto(toDexType(from), toDexType(target));
   }