Add reproducer for b/426351560

Bug: b/426351560

Change-Id: Ic60a6982b797ded669d490057fb61eff2f5fcf27
diff --git a/src/test/java/com/android/tools/r8/regress/b426351560/Regress426351560Test.java b/src/test/java/com/android/tools/r8/regress/b426351560/Regress426351560Test.java
new file mode 100644
index 0000000..7c5ec5f
--- /dev/null
+++ b/src/test/java/com/android/tools/r8/regress/b426351560/Regress426351560Test.java
@@ -0,0 +1,54 @@
+// Copyright (c) 2025, 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.regress.b426351560;
+
+import static org.junit.Assume.assumeFalse;
+
+import com.android.tools.r8.TestBase;
+import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.TestParametersCollection;
+import com.android.tools.r8.regress.b426351560.testclasses.Regress426351560TestClasses;
+import com.android.tools.r8.utils.AndroidApiLevel;
+import com.android.tools.r8.utils.StringUtils;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameter;
+import org.junit.runners.Parameterized.Parameters;
+
+@RunWith(Parameterized.class)
+public class Regress426351560Test extends TestBase {
+
+  @Parameter(0)
+  public TestParameters parameters;
+
+  @Parameters(name = "{0}")
+  public static TestParametersCollection data() {
+    return getTestParameters().withAllRuntimesAndApiLevels().withPartialCompilation().build();
+  }
+
+  private static final String EXPECTED_OUTPUT = StringUtils.lines("Hello, world!");
+
+  @Test
+  public void testR8() throws Exception {
+    // TODO(b/427887773)
+    assumeFalse(parameters.isRandomPartialCompilation());
+    testForR8(parameters)
+        .addInnerClasses(Regress426351560TestClasses.class, getClass())
+        .addKeepRules("-keep class " + Main.class.getTypeName() + " { *; }")
+        .run(parameters.getRuntime(), Main.class)
+        .applyIf(
+            parameters.isDexRuntime()
+                && parameters.getApiLevel().isGreaterThanOrEqualTo(AndroidApiLevel.N),
+            rr -> rr.assertFailureWithErrorThatThrows(IllegalAccessError.class),
+            rr -> rr.assertSuccessWithOutput(EXPECTED_OUTPUT));
+  }
+
+  public static class Main extends Regress426351560TestClasses.A {
+    public static void main(String[] strArr) {
+      Main test = new Main();
+      System.out.println(test.defaultMethod());
+    }
+  }
+}
diff --git a/src/test/java/com/android/tools/r8/regress/b426351560/testclasses/Regress426351560TestClasses.java b/src/test/java/com/android/tools/r8/regress/b426351560/testclasses/Regress426351560TestClasses.java
new file mode 100644
index 0000000..95e16df
--- /dev/null
+++ b/src/test/java/com/android/tools/r8/regress/b426351560/testclasses/Regress426351560TestClasses.java
@@ -0,0 +1,14 @@
+// Copyright (c) 2025, 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.regress.b426351560.testclasses;
+
+public class Regress426351560TestClasses {
+  interface I {
+    default String defaultMethod() {
+      return "Hello, world!";
+    }
+  }
+
+  public static class A implements I {}
+}