Add new @NoInliningOfDefaultInitializer testing annotation

Change-Id: Ic5807e110d13ecac1fc5b5aa3295149c6bb8a80b
diff --git a/src/test/java/com/android/tools/r8/NoInliningOfDefaultInitializer.java b/src/test/java/com/android/tools/r8/NoInliningOfDefaultInitializer.java
new file mode 100644
index 0000000..6067415
--- /dev/null
+++ b/src/test/java/com/android/tools/r8/NoInliningOfDefaultInitializer.java
@@ -0,0 +1,13 @@
+// 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 com.android.tools.r8;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.CLASS)
+@Target({ElementType.TYPE})
+public @interface NoInliningOfDefaultInitializer {}
diff --git a/src/test/java/com/android/tools/r8/R8TestBuilder.java b/src/test/java/com/android/tools/r8/R8TestBuilder.java
index 194d921..c6f1d08 100644
--- a/src/test/java/com/android/tools/r8/R8TestBuilder.java
+++ b/src/test/java/com/android/tools/r8/R8TestBuilder.java
@@ -556,6 +556,14 @@
             NoFieldTypeStrengtheningRule.RULE_NAME, NoFieldTypeStrengthening.class);
   }
 
+  public T enableNoInliningOfDefaultInitializerAnnotations() {
+    return addNoInliningOfDefaultInitializerAnnotation()
+        .addInternalKeepRules(
+            "-neverinline @"
+                + NoInliningOfDefaultInitializer.class.getTypeName()
+                + " class * { <init>(); }");
+  }
+
   public T enableNoMethodStaticizingAnnotations() {
     return addNoMethodStaticizingAnnotation()
         .addInternalMatchAnnotationOnMethodRule(
diff --git a/src/test/java/com/android/tools/r8/TestShrinkerBuilder.java b/src/test/java/com/android/tools/r8/TestShrinkerBuilder.java
index 7f96c42..d9e3f91 100644
--- a/src/test/java/com/android/tools/r8/TestShrinkerBuilder.java
+++ b/src/test/java/com/android/tools/r8/TestShrinkerBuilder.java
@@ -520,6 +520,10 @@
     return addTestingAnnotation(NoHorizontalClassMerging.class);
   }
 
+  public final T addNoInliningOfDefaultInitializerAnnotation() {
+    return addTestingAnnotation(NoInliningOfDefaultInitializer.class);
+  }
+
   public final T addNoMethodStaticizingAnnotation() {
     return addTestingAnnotation(NoMethodStaticizing.class);
   }