Utility for adding testing annotations as program/library classes
In addition, this also renames enableClassInliningAnnotations() to enableNeverClassInliningAnnotations().
Change-Id: I8b2dd62f84f402c3ae06949402a77011a2e6061c
diff --git a/src/test/java/com/android/tools/r8/R8TestBuilder.java b/src/test/java/com/android/tools/r8/R8TestBuilder.java
index 8e3e149..59ae602 100644
--- a/src/test/java/com/android/tools/r8/R8TestBuilder.java
+++ b/src/test/java/com/android/tools/r8/R8TestBuilder.java
@@ -35,7 +35,7 @@
}
private boolean enableInliningAnnotations = false;
- private boolean enableClassInliningAnnotations = false;
+ private boolean enableNeverClassInliningAnnotations = false;
private boolean enableMergeAnnotations = false;
private boolean enableMemberValuePropagationAnnotations = false;
private boolean enableConstantArgumentAnnotations = false;
@@ -51,7 +51,7 @@
Builder builder, Consumer<InternalOptions> optionsConsumer, Supplier<AndroidApp> app)
throws CompilationFailedException {
if (enableInliningAnnotations
- || enableClassInliningAnnotations
+ || enableNeverClassInliningAnnotations
|| enableMergeAnnotations
|| enableMemberValuePropagationAnnotations
|| enableConstantArgumentAnnotations
@@ -239,9 +239,9 @@
return self();
}
- public T enableClassInliningAnnotations() {
- if (!enableClassInliningAnnotations) {
- enableClassInliningAnnotations = true;
+ public T enableNeverClassInliningAnnotations() {
+ if (!enableNeverClassInliningAnnotations) {
+ enableNeverClassInliningAnnotations = true;
addInternalKeepRules("-neverclassinline @com.android.tools.r8.NeverClassInline class *");
}
return self();
diff --git a/src/test/java/com/android/tools/r8/TestBuilder.java b/src/test/java/com/android/tools/r8/TestBuilder.java
index 94b0afc..27af1aa 100644
--- a/src/test/java/com/android/tools/r8/TestBuilder.java
+++ b/src/test/java/com/android/tools/r8/TestBuilder.java
@@ -5,10 +5,12 @@
import com.android.tools.r8.debug.DebugTestConfig;
import com.android.tools.r8.utils.ListUtils;
+import com.google.common.collect.ImmutableList;
import java.io.IOException;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.Collection;
+import java.util.List;
import java.util.concurrent.ExecutionException;
public abstract class TestBuilder<RR extends TestRunResult, T extends TestBuilder<RR, T>> {
@@ -110,6 +112,26 @@
return addLibraryFiles(Arrays.asList(files));
}
+ public final T addTestingAnnotationsAsProgramClasses() {
+ return addProgramClasses(getTestingAnnotations());
+ }
+
+ public final T addTestingAnnotationsAsLibraryClasses() {
+ return addLibraryClasses(getTestingAnnotations());
+ }
+
+ private List<Class<?>> getTestingAnnotations() {
+ return ImmutableList.of(
+ AssumeMayHaveSideEffects.class,
+ ForceInline.class,
+ KeepConstantArguments.class,
+ KeepUnusedArguments.class,
+ NeverClassInline.class,
+ NeverInline.class,
+ NeverMerge.class,
+ NeverPropagateValue.class);
+ }
+
static Collection<Path> getFilesForClasses(Collection<Class<?>> classes) {
return ListUtils.map(classes, ToolHelper::getClassFileForTestClass);
}
diff --git a/src/test/java/com/android/tools/r8/accessrelaxation/NoRelaxationForSerializableTest.java b/src/test/java/com/android/tools/r8/accessrelaxation/NoRelaxationForSerializableTest.java
index 294ee96..b9883ef 100644
--- a/src/test/java/com/android/tools/r8/accessrelaxation/NoRelaxationForSerializableTest.java
+++ b/src/test/java/com/android/tools/r8/accessrelaxation/NoRelaxationForSerializableTest.java
@@ -82,8 +82,7 @@
@RunWith(Parameterized.class)
public class NoRelaxationForSerializableTest extends AccessRelaxationTestBase {
private static final Class<?> MAIN = NoRelaxationForSerializableTestRunner.class;
- private static final List<Class<?>> CLASSES = ImmutableList.of(
- NeverMerge.class, NeverInline.class, MySerializable.class, MAIN);
+ private static final List<Class<?>> CLASSES = ImmutableList.of(MySerializable.class, MAIN);
private static final String KEEPMEMBER_RULES = StringUtils.lines(
"-keepclassmembers class * implements java.io.Serializable {",
" private void writeObject(java.io.ObjectOutputStream);",
@@ -101,7 +100,8 @@
@Parameterized.Parameters(name = "{0}, access-modification: {1}")
public static List<Object[]> data() {
- return buildParameters(getTestParameters().withAllRuntimes().build(), BooleanUtils.values());
+ return buildParameters(
+ getTestParameters().withAllRuntimesAndApiLevels().build(), BooleanUtils.values());
}
public NoRelaxationForSerializableTest(TestParameters parameters, boolean accessModification) {
@@ -123,6 +123,7 @@
assumeTrue(parameters.isCfRuntime());
testForProguard()
.addProgramClasses(CLASSES)
+ .addTestingAnnotationsAsProgramClasses()
.addKeepRuleFiles(configuration)
.addKeepRules(KEEPMEMBER_RULES)
.compile()
@@ -133,14 +134,15 @@
@Test
public void testR8_withKeepRules() throws Exception {
- R8TestCompileResult result = testForR8(parameters.getBackend())
- .addProgramClasses(CLASSES)
- .enableInliningAnnotations()
- .addKeepRuleFiles(configuration)
- .addKeepRules(KEEPMEMBER_RULES)
- .setMinApi(parameters.getRuntime())
- .compile()
- .inspect(this::inspect);
+ R8TestCompileResult result =
+ testForR8(parameters.getBackend())
+ .addProgramClasses(CLASSES)
+ .enableInliningAnnotations()
+ .addKeepRuleFiles(configuration)
+ .addKeepRules(KEEPMEMBER_RULES)
+ .setMinApi(parameters.getApiLevel())
+ .compile()
+ .inspect(this::inspect);
// TODO(b/117302947): Need to update ART binary.
if (parameters.isCfRuntime()) {
result
@@ -154,20 +156,22 @@
assumeTrue(parameters.isCfRuntime());
testForProguard()
.addProgramClasses(CLASSES)
+ .addTestingAnnotationsAsProgramClasses()
.addKeepRuleFiles(configuration)
.compile()
- .run(MAIN)
+ .run(parameters.getRuntime(), MAIN)
.assertFailureWithErrorThatMatches(containsString("Could not deserialize"));
}
@Test
public void testR8_withoutKeepRules() throws Exception {
- R8TestCompileResult result = testForR8(parameters.getBackend())
- .addProgramClasses(CLASSES)
- .enableInliningAnnotations()
- .addKeepRuleFiles(configuration)
- .setMinApi(parameters.getRuntime())
- .compile();
+ R8TestCompileResult result =
+ testForR8(parameters.getBackend())
+ .addProgramClasses(CLASSES)
+ .enableInliningAnnotations()
+ .addKeepRuleFiles(configuration)
+ .setMinApi(parameters.getApiLevel())
+ .compile();
// TODO(b/117302947): Need to update ART binary.
if (parameters.isCfRuntime()) {
result
@@ -182,5 +186,4 @@
assertNotPublic(inspector, MySerializable.class,
new MethodSignature("readObject", "void", ImmutableList.of("java.io.ObjectInputStream")));
}
-
}
diff --git a/src/test/java/com/android/tools/r8/accessrelaxation/NonConstructorRelaxationTest.java b/src/test/java/com/android/tools/r8/accessrelaxation/NonConstructorRelaxationTest.java
index b8288d8..7756299 100644
--- a/src/test/java/com/android/tools/r8/accessrelaxation/NonConstructorRelaxationTest.java
+++ b/src/test/java/com/android/tools/r8/accessrelaxation/NonConstructorRelaxationTest.java
@@ -158,7 +158,7 @@
.addProgramFiles(ToolHelper.getClassFilesForTestPackage(mainClass.getPackage()))
.addKeepMainRule(mainClass)
.addOptionsModification(o -> o.enableVerticalClassMerging = enableVerticalClassMerging)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.enableMemberValuePropagationAnnotations()
.noMinification()
diff --git a/src/test/java/com/android/tools/r8/bridgeremoval/bridgestokeep/KeepNonVisibilityBridgeMethodsTest.java b/src/test/java/com/android/tools/r8/bridgeremoval/bridgestokeep/KeepNonVisibilityBridgeMethodsTest.java
index c188c87..3b7481b 100644
--- a/src/test/java/com/android/tools/r8/bridgeremoval/bridgestokeep/KeepNonVisibilityBridgeMethodsTest.java
+++ b/src/test/java/com/android/tools/r8/bridgeremoval/bridgestokeep/KeepNonVisibilityBridgeMethodsTest.java
@@ -51,7 +51,7 @@
" synthetic void registerObserver(...);",
"}")
.allowAccessModification()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
// TODO(b/120764902): MemberSubject.getOriginalName() is not working without the @NeverMerge
// annotation on DataAdapter.Observer.
.enableMergeAnnotations()
diff --git a/src/test/java/com/android/tools/r8/checkdiscarded/CheckDiscardedOverriddenMethodTest.java b/src/test/java/com/android/tools/r8/checkdiscarded/CheckDiscardedOverriddenMethodTest.java
index 851fff9..3f5b778 100644
--- a/src/test/java/com/android/tools/r8/checkdiscarded/CheckDiscardedOverriddenMethodTest.java
+++ b/src/test/java/com/android/tools/r8/checkdiscarded/CheckDiscardedOverriddenMethodTest.java
@@ -46,7 +46,7 @@
.addKeepMainRule(main)
.addKeepRules(
"-checkdiscard class **.*$" + targetClass.getSimpleName() + " { void gone(); }")
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.enableMergeAnnotations()
.minification(minification)
diff --git a/src/test/java/com/android/tools/r8/classmerging/B141942381.java b/src/test/java/com/android/tools/r8/classmerging/B141942381.java
index 438ab13..2c47534 100644
--- a/src/test/java/com/android/tools/r8/classmerging/B141942381.java
+++ b/src/test/java/com/android/tools/r8/classmerging/B141942381.java
@@ -51,7 +51,7 @@
.addKeepMainRule(TestClass.class)
.setMinApi(parameters.getRuntime())
.addKeepAttributes("Signatures")
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.noMinification()
.compile()
.inspect(this::inspect)
diff --git a/src/test/java/com/android/tools/r8/classmerging/InterfaceWithProxyTest.java b/src/test/java/com/android/tools/r8/classmerging/InterfaceWithProxyTest.java
index 8284d3f..03f5803 100644
--- a/src/test/java/com/android/tools/r8/classmerging/InterfaceWithProxyTest.java
+++ b/src/test/java/com/android/tools/r8/classmerging/InterfaceWithProxyTest.java
@@ -35,7 +35,7 @@
testForR8(parameters.getBackend())
.addInnerClasses(InterfaceWithProxyTest.class)
.addKeepMainRule(TestClass.class)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/classmerging/StaticClassMergerInterfaceTest.java b/src/test/java/com/android/tools/r8/classmerging/StaticClassMergerInterfaceTest.java
index f37eab0..b0557d3 100644
--- a/src/test/java/com/android/tools/r8/classmerging/StaticClassMergerInterfaceTest.java
+++ b/src/test/java/com/android/tools/r8/classmerging/StaticClassMergerInterfaceTest.java
@@ -44,7 +44,7 @@
.addKeepMainRule(TestClass.class)
.addKeepRules("-dontobfuscate")
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.run(TestClass.class)
.assertSuccessWithOutput(expectedOutput)
.inspector();
diff --git a/src/test/java/com/android/tools/r8/classmerging/VerticalClassMergerInitTest.java b/src/test/java/com/android/tools/r8/classmerging/VerticalClassMergerInitTest.java
index dd41bc9..b95a89a 100644
--- a/src/test/java/com/android/tools/r8/classmerging/VerticalClassMergerInitTest.java
+++ b/src/test/java/com/android/tools/r8/classmerging/VerticalClassMergerInitTest.java
@@ -46,7 +46,7 @@
.addInnerClasses(VerticalClassMergerInitTest.class)
.addKeepMainRule(Main.class)
.addMainDexRules("-keep class " + Main.class.getTypeName())
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.setMinApi(AndroidApiLevel.K_WATCH)
.addOptionsModification(
options -> {
diff --git a/src/test/java/com/android/tools/r8/debug/R8DebugNonMinifiedProgramTestRunner.java b/src/test/java/com/android/tools/r8/debug/R8DebugNonMinifiedProgramTestRunner.java
index ecfc8c1..3f61638 100644
--- a/src/test/java/com/android/tools/r8/debug/R8DebugNonMinifiedProgramTestRunner.java
+++ b/src/test/java/com/android/tools/r8/debug/R8DebugNonMinifiedProgramTestRunner.java
@@ -54,17 +54,19 @@
private static R8TestCompileResult compile(R8FullTestBuilder builder, AndroidApiLevel apiLevel)
throws Exception {
- return builder.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ return builder
+ .enableInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.addProgramClassesAndInnerClasses(CLASS)
.addKeepMainRule(CLASS)
.setMinApi(apiLevel)
.compile()
- .inspect(inspector -> {
- // Check that tree shaking is running (e.g., B is removed).
- assertTrue(inspector.clazz(R8DebugNonMinifiedProgramTest.A.class).isPresent());
- assertFalse(inspector.clazz(R8DebugNonMinifiedProgramTest.B.class).isPresent());
- });
+ .inspect(
+ inspector -> {
+ // Check that tree shaking is running (e.g., B is removed).
+ assertTrue(inspector.clazz(R8DebugNonMinifiedProgramTest.A.class).isPresent());
+ assertFalse(inspector.clazz(R8DebugNonMinifiedProgramTest.B.class).isPresent());
+ });
}
@Test
diff --git a/src/test/java/com/android/tools/r8/desugaring/interfacemethods/InvokeSuperInDefaultInterfaceMethodTest.java b/src/test/java/com/android/tools/r8/desugaring/interfacemethods/InvokeSuperInDefaultInterfaceMethodTest.java
index 3693f87..adaa55f 100644
--- a/src/test/java/com/android/tools/r8/desugaring/interfacemethods/InvokeSuperInDefaultInterfaceMethodTest.java
+++ b/src/test/java/com/android/tools/r8/desugaring/interfacemethods/InvokeSuperInDefaultInterfaceMethodTest.java
@@ -22,7 +22,7 @@
testForR8(Backend.DEX)
.addInnerClasses(InvokeSuperInDefaultInterfaceMethodTest.class)
.addKeepMainRule(TestClass.class)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableMergeAnnotations()
.setMinApi(AndroidApiLevel.M)
.run(TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/graph/initializedclasses/InitializedClassesInInstanceMethodsTest.java b/src/test/java/com/android/tools/r8/graph/initializedclasses/InitializedClassesInInstanceMethodsTest.java
index 0e19132..43015bf 100644
--- a/src/test/java/com/android/tools/r8/graph/initializedclasses/InitializedClassesInInstanceMethodsTest.java
+++ b/src/test/java/com/android/tools/r8/graph/initializedclasses/InitializedClassesInInstanceMethodsTest.java
@@ -51,7 +51,7 @@
enableInitializedClassesInInstanceMethodsAnalysis;
})
.allowAccessModification()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.setMinApi(parameters.getRuntime())
.compile()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/DefaultInterfaceIssue143628636Test.java b/src/test/java/com/android/tools/r8/ir/optimize/DefaultInterfaceIssue143628636Test.java
index 945e1af..94de4ba 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/DefaultInterfaceIssue143628636Test.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/DefaultInterfaceIssue143628636Test.java
@@ -42,7 +42,7 @@
public void test() throws Exception {
testForR8(parameters.getBackend())
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableMergeAnnotations()
.addInnerClasses(DefaultInterfaceIssue143628636Test.class)
.addKeepMainRule(TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/NonNullParamTest.java b/src/test/java/com/android/tools/r8/ir/optimize/NonNullParamTest.java
index cf379b3..e01ede5 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/NonNullParamTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/NonNullParamTest.java
@@ -7,7 +7,6 @@
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import com.android.tools.r8.NeverInline;
import com.android.tools.r8.R8FullTestBuilder;
import com.android.tools.r8.R8TestBuilder;
import com.android.tools.r8.TestBase;
@@ -66,6 +65,7 @@
.addProgramClasses(classes)
.addKeepMainRule(mainClass)
.addKeepRules(ImmutableList.of("-keepattributes InnerClasses,Signature,EnclosingMethod"))
+ .addTestingAnnotationsAsProgramClasses()
// All tests are checking if invocations to certain null-check utils are gone.
.noMinification()
.addOptionsModification(
@@ -85,9 +85,7 @@
Class<?> mainClass = IntrinsicsDeputy.class;
CodeInspector inspector =
buildAndRun(
- mainClass,
- ImmutableList.of(NeverInline.class, mainClass),
- R8TestBuilder::enableInliningAnnotations);
+ mainClass, ImmutableList.of(mainClass), R8TestBuilder::enableInliningAnnotations);
ClassSubject mainSubject = inspector.clazz(mainClass);
assertThat(mainSubject, isPresent());
@@ -121,8 +119,7 @@
CodeInspector inspector =
buildAndRun(
mainClass,
- ImmutableList.of(
- NeverInline.class, IntrinsicsDeputy.class, NotPinnedClass.class, mainClass),
+ ImmutableList.of(IntrinsicsDeputy.class, NotPinnedClass.class, mainClass),
R8TestBuilder::enableInliningAnnotations);
ClassSubject mainSubject = inspector.clazz(mainClass);
@@ -150,8 +147,7 @@
CodeInspector inspector =
buildAndRun(
mainClass,
- ImmutableList.of(
- NeverInline.class, IntrinsicsDeputy.class, NotPinnedClass.class, mainClass),
+ ImmutableList.of(IntrinsicsDeputy.class, NotPinnedClass.class, mainClass),
R8TestBuilder::enableInliningAnnotations);
ClassSubject mainSubject = inspector.clazz(mainClass);
@@ -180,12 +176,11 @@
buildAndRun(
mainClass,
ImmutableList.of(
- NeverInline.class,
IntrinsicsDeputy.class,
NonNullParamAfterInvokeVirtual.class,
NotPinnedClass.class,
mainClass),
- builder -> builder.enableClassInliningAnnotations().enableInliningAnnotations());
+ builder -> builder.enableNeverClassInliningAnnotations().enableInliningAnnotations());
ClassSubject mainSubject = inspector.clazz(NonNullParamAfterInvokeVirtual.class);
assertThat(mainSubject, isPresent());
@@ -218,7 +213,6 @@
buildAndRun(
mainClass,
ImmutableList.of(
- NeverInline.class,
IntrinsicsDeputy.class,
NonNullParamInterface.class,
NonNullParamInterfaceImpl.class,
@@ -229,7 +223,7 @@
builder
.addOptionsModification(this::disableDevirtualization)
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableMergeAnnotations());
ClassSubject mainSubject = inspector.clazz(NonNullParamAfterInvokeInterface.class);
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeInterfaceWithRefinedReceiverTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeInterfaceWithRefinedReceiverTest.java
index b804cbe..4890c6a 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeInterfaceWithRefinedReceiverTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeInterfaceWithRefinedReceiverTest.java
@@ -45,13 +45,15 @@
.addInnerClasses(InvokeInterfaceWithRefinedReceiverTest.class)
.addKeepMainRule(MAIN)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- // To prevent invoke-interface from being rewritten to invoke-virtual w/ a single target.
- o.enableDevirtualization = false;
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ // To prevent invoke-interface from being rewritten to invoke-virtual w/ a single
+ // target.
+ o.enableDevirtualization = false;
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("null", "C")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeVirtualWithRefinedReceiverTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeVirtualWithRefinedReceiverTest.java
index c69f0c1..a0a436d 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeVirtualWithRefinedReceiverTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/InvokeVirtualWithRefinedReceiverTest.java
@@ -45,11 +45,12 @@
.addInnerClasses(InvokeVirtualWithRefinedReceiverTest.class)
.addKeepMainRule(MAIN)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("null", "C")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/KeptMethodTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/KeptMethodTest.java
index 3e87f06..51797eb 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/KeptMethodTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/KeptMethodTest.java
@@ -43,11 +43,12 @@
.addInnerClasses(KeptMethodTest.class)
.addKeepMainRule(MAIN)
.addKeepClassAndMembersRules(A.class)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("non-null", "non-null")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/WithStaticizerTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/WithStaticizerTest.java
index 9b424d3..c1839b9 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/WithStaticizerTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/WithStaticizerTest.java
@@ -43,7 +43,7 @@
.addInnerClasses(WithStaticizerTest.class)
.addKeepMainRule(MAIN)
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("Input")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectNegativeTest.java
index a0bafae..19a9034 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectNegativeTest.java
@@ -43,11 +43,12 @@
testForR8(parameters.getBackend())
.addInnerClasses(InvokeDirectNegativeTest.class)
.addKeepMainRule(MAIN)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("null", "non-null")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectPositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectPositiveTest.java
index e4200b8..30aec5e 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectPositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeDirectPositiveTest.java
@@ -45,11 +45,12 @@
testForR8(parameters.getBackend())
.addInnerClasses(InvokeDirectPositiveTest.class)
.addKeepMainRule(MAIN)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.addOptionsModification(InternalOptions::enablePropagationOfConstantsAtCallSites)
.run(parameters.getRuntime(), MAIN)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfaceNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfaceNegativeTest.java
index 7f9aedb..ba6b644 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfaceNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfaceNegativeTest.java
@@ -45,13 +45,15 @@
.addInnerClasses(InvokeInterfaceNegativeTest.class)
.addKeepMainRule(MAIN)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- // To prevent invoke-interface from being rewritten to invoke-virtual w/ a single target.
- o.enableDevirtualization = false;
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ // To prevent invoke-interface from being rewritten to invoke-virtual w/ a single
+ // target.
+ o.enableDevirtualization = false;
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("null", "non-null")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfacePositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfacePositiveTest.java
index 76d8e03..a966e62 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfacePositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeInterfacePositiveTest.java
@@ -45,14 +45,16 @@
testForR8(parameters.getBackend())
.addInnerClasses(InvokeInterfacePositiveTest.class)
.addKeepMainRule(MAIN)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.addOptionsModification(InternalOptions::enablePropagationOfConstantsAtCallSites)
- .addOptionsModification(o -> {
- // To prevent invoke-interface from being rewritten to invoke-virtual w/ a single target.
- o.enableDevirtualization = false;
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ // To prevent invoke-interface from being rewritten to invoke-virtual w/ a single
+ // target.
+ o.enableDevirtualization = false;
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("non-null")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualNegativeTest.java
index b772bff..28523aa 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualNegativeTest.java
@@ -45,11 +45,12 @@
.addInnerClasses(InvokeVirtualNegativeTest.class)
.addKeepMainRule(MAIN)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("null", "non-null", "null", "non-null")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualPositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualPositiveTest.java
index 3541836..ab5d763 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualPositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/constants/InvokeVirtualPositiveTest.java
@@ -46,11 +46,12 @@
.addInnerClasses(InvokeVirtualPositiveTest.class)
.addKeepMainRule(MAIN)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.addOptionsModification(InternalOptions::enablePropagationOfConstantsAtCallSites)
.run(parameters.getRuntime(), MAIN)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectNegativeTest.java
index f350e73..27db8be 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectNegativeTest.java
@@ -43,11 +43,12 @@
testForR8(parameters.getBackend())
.addInnerClasses(InvokeDirectNegativeTest.class)
.addKeepMainRule(MAIN)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("Sub1", "Sub2")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectPositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectPositiveTest.java
index 5f0a56c..67bb7db 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectPositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeDirectPositiveTest.java
@@ -45,11 +45,12 @@
.addInnerClasses(InvokeDirectPositiveTest.class)
.addKeepMainRule(MAIN)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("Sub1")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfaceNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfaceNegativeTest.java
index 14f9b2f..1493d73 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfaceNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfaceNegativeTest.java
@@ -45,13 +45,15 @@
.addInnerClasses(InvokeInterfaceNegativeTest.class)
.addKeepMainRule(MAIN)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- // To prevent invoke-interface from being rewritten to invoke-virtual w/ a single target.
- o.enableDevirtualization = false;
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ // To prevent invoke-interface from being rewritten to invoke-virtual w/ a single
+ // target.
+ o.enableDevirtualization = false;
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("Sub1", "Sub2")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfacePositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfacePositiveTest.java
index 9f1308d..24cad5b 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfacePositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeInterfacePositiveTest.java
@@ -45,13 +45,15 @@
.addInnerClasses(InvokeInterfacePositiveTest.class)
.addKeepMainRule(MAIN)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- // To prevent invoke-interface from being rewritten to invoke-virtual w/ a single target.
- o.enableDevirtualization = false;
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ // To prevent invoke-interface from being rewritten to invoke-virtual w/ a single
+ // target.
+ o.enableDevirtualization = false;
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("A:Sub1", "B:Sub2")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualNegativeTest.java
index e62f6b4..cc0a69f 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualNegativeTest.java
@@ -45,11 +45,12 @@
.addInnerClasses(InvokeVirtualNegativeTest.class)
.addKeepMainRule(MAIN)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("A:Sub1", "A:Sub2", "B:Sub1", "B:Sub2")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualPositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualPositiveTest.java
index 81da3d5..f49d16e 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualPositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/dynamicupperboundtype/InvokeVirtualPositiveTest.java
@@ -45,11 +45,12 @@
.addInnerClasses(InvokeVirtualPositiveTest.class)
.addKeepMainRule(MAIN)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("A:Sub1", "B:Sub1")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectNegativeTest.java
index def280a..5b79156 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectNegativeTest.java
@@ -41,11 +41,12 @@
testForR8(parameters.getBackend())
.addInnerClasses(InvokeDirectNegativeTest.class)
.addKeepMainRule(MAIN)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("null", "non-null")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectPositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectPositiveTest.java
index e24eadd..9630bab 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectPositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeDirectPositiveTest.java
@@ -42,11 +42,12 @@
testForR8(parameters.getBackend())
.addInnerClasses(InvokeDirectPositiveTest.class)
.addKeepMainRule(MAIN)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("non-null")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfaceNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfaceNegativeTest.java
index 80b24a5..3fde0f1 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfaceNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfaceNegativeTest.java
@@ -45,13 +45,15 @@
.addInnerClasses(InvokeInterfaceNegativeTest.class)
.addKeepMainRule(MAIN)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- // To prevent invoke-interface from being rewritten to invoke-virtual w/ a single target.
- o.enableDevirtualization = false;
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ // To prevent invoke-interface from being rewritten to invoke-virtual w/ a single
+ // target.
+ o.enableDevirtualization = false;
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("null", "A")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfacePositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfacePositiveTest.java
index 6cbbad3..17cea42 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfacePositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeInterfacePositiveTest.java
@@ -42,13 +42,15 @@
testForR8(parameters.getBackend())
.addInnerClasses(InvokeInterfacePositiveTest.class)
.addKeepMainRule(MAIN)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- // To prevent invoke-interface from being rewritten to invoke-virtual w/ a single target.
- o.enableDevirtualization = false;
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ // To prevent invoke-interface from being rewritten to invoke-virtual w/ a single
+ // target.
+ o.enableDevirtualization = false;
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("A")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualCascadeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualCascadeTest.java
index c9b215a..d2181d5 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualCascadeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualCascadeTest.java
@@ -42,7 +42,7 @@
.addInnerClasses(InvokeVirtualCascadeTest.class)
.addKeepMainRule(MAIN)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualNegativeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualNegativeTest.java
index cd20498..e36d2e9 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualNegativeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualNegativeTest.java
@@ -45,11 +45,12 @@
.addInnerClasses(InvokeVirtualNegativeTest.class)
.addKeepMainRule(MAIN)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("null", "A", "null", "B")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualPositiveTest.java b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualPositiveTest.java
index 6ab99d7..e05b279 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualPositiveTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/callsites/nullability/InvokeVirtualPositiveTest.java
@@ -45,11 +45,12 @@
.addInnerClasses(InvokeVirtualPositiveTest.class)
.addKeepMainRule(MAIN)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
- .addOptionsModification(o -> {
- o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
- })
+ .addOptionsModification(
+ o -> {
+ o.testing.callSiteOptimizationInfoInspector = this::callSiteOptimizationInfoInspect;
+ })
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("A", "null")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/classinliner/ClassInliningOracleTest.java b/src/test/java/com/android/tools/r8/ir/optimize/classinliner/ClassInliningOracleTest.java
index 0ae036d..d35a11d 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/classinliner/ClassInliningOracleTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/classinliner/ClassInliningOracleTest.java
@@ -25,7 +25,7 @@
.addInnerClasses(ClassInliningOracleTest.class)
.addKeepMainRule(TestClass.class)
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableMergeAnnotations()
.enableUnusedArgumentAnnotations()
.compile()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/extrasubclasses/AbstractClassAlsoImplementedByMissingClassTest.java b/src/test/java/com/android/tools/r8/ir/optimize/extrasubclasses/AbstractClassAlsoImplementedByMissingClassTest.java
index d1d5d5f..65cc34d 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/extrasubclasses/AbstractClassAlsoImplementedByMissingClassTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/extrasubclasses/AbstractClassAlsoImplementedByMissingClassTest.java
@@ -52,7 +52,7 @@
// of A after the R8 compilation.
.addKeepRules(
"-keep class " + A.class.getTypeName() + " { void <init>(); void kept(); }")
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.setMinApi(parameters.getApiLevel())
.compile()
.inspect(this::inspect)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/extrasubclasses/InterfaceAlsoImplementedByMissingClassTest.java b/src/test/java/com/android/tools/r8/ir/optimize/extrasubclasses/InterfaceAlsoImplementedByMissingClassTest.java
index 818b1eb..89586d8 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/extrasubclasses/InterfaceAlsoImplementedByMissingClassTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/extrasubclasses/InterfaceAlsoImplementedByMissingClassTest.java
@@ -50,7 +50,7 @@
// Keeping I and I.kept() should make it possible to provide an implementation of
// I after the R8 compilation.
.addKeepRules("-keep class " + I.class.getTypeName() + " { void kept(); }")
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.setMinApi(parameters.getApiLevel())
.compile()
.inspect(this::inspect)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/inliner/DoubleInliningInvokeSuperTest.java b/src/test/java/com/android/tools/r8/ir/optimize/inliner/DoubleInliningInvokeSuperTest.java
index b5109d6..9bc40d7 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/inliner/DoubleInliningInvokeSuperTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/inliner/DoubleInliningInvokeSuperTest.java
@@ -37,7 +37,7 @@
.addInnerClasses(DoubleInliningInvokeSuperTest.class)
.addKeepMainRule(TestClass.class)
.addKeepRules("-keepclassmembers class * { void fooCaller(...); }")
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.enableMergeAnnotations()
.setMinApi(parameters.getRuntime())
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineFunctionalInterfaceMethodImplementedByLambdasTest.java b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineFunctionalInterfaceMethodImplementedByLambdasTest.java
index 4a9025a..8a999ff 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineFunctionalInterfaceMethodImplementedByLambdasTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineFunctionalInterfaceMethodImplementedByLambdasTest.java
@@ -36,7 +36,7 @@
testForR8(parameters.getBackend())
.addInnerClasses(InlineFunctionalInterfaceMethodImplementedByLambdasTest.class)
.addKeepMainRule(TestClass.class)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.setMinApi(parameters.getApiLevel())
.compile()
.inspect(this::inspect)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineNonReboundFieldTest.java b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineNonReboundFieldTest.java
index beb56a7..d0d52ec 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineNonReboundFieldTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineNonReboundFieldTest.java
@@ -27,7 +27,7 @@
.addProgramClasses(
TestClass.class, Greeter.class, Greeting.class, Greeting.getGreetingBase())
.addKeepMainRule(TestClass.class)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableMergeAnnotations()
.run(TestClass.class)
.assertSuccessWithOutput(expectedOutput)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineSynchronizedTest.java b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineSynchronizedTest.java
index b3a7ce8..1cb4d4f 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineSynchronizedTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InlineSynchronizedTest.java
@@ -39,7 +39,7 @@
testForR8(parameters.getBackend())
.addInnerClasses(InlineSynchronizedTest.class)
.addKeepMainRule(TestClass.class)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.setMinApi(parameters.getApiLevel())
.compile()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InliningOfVirtualMethodOnKeptClassTest.java b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InliningOfVirtualMethodOnKeptClassTest.java
index 2349809..cc347c5 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/inliner/InliningOfVirtualMethodOnKeptClassTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/inliner/InliningOfVirtualMethodOnKeptClassTest.java
@@ -40,7 +40,7 @@
.addKeepRules(
"-keep class " + A.class.getTypeName() + " { void bar(); }",
"-keep class " + I.class.getTypeName() + " { void baz(); }")
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.setMinApi(parameters.getRuntime())
.compile()
.inspect(this::verifyOutput)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/inliner/LibraryOverrideInliningTest.java b/src/test/java/com/android/tools/r8/ir/optimize/inliner/LibraryOverrideInliningTest.java
index 1a70cde..0b58101 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/inliner/LibraryOverrideInliningTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/inliner/LibraryOverrideInliningTest.java
@@ -47,7 +47,7 @@
options ->
options.disableInliningOfLibraryMethodOverrides =
disableInliningOfLibraryMethodOverrides)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.setMinApi(parameters.getRuntime())
.compile()
.inspect(
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/inliner/SingleTargetAfterInliningTest.java b/src/test/java/com/android/tools/r8/ir/optimize/inliner/SingleTargetAfterInliningTest.java
index 5f1b7a5..9ccdb7f 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/inliner/SingleTargetAfterInliningTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/inliner/SingleTargetAfterInliningTest.java
@@ -50,7 +50,7 @@
options.applyInliningToInlineeMaxDepth = maxInliningDepth;
})
.enableAlwaysInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableSideEffectAnnotations()
.setMinApi(parameters.getApiLevel())
.compile()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/inliner/SingleTargetFromExactReceiverTypeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/inliner/SingleTargetFromExactReceiverTypeTest.java
index 24f4402..7c9b7b7 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/inliner/SingleTargetFromExactReceiverTypeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/inliner/SingleTargetFromExactReceiverTypeTest.java
@@ -48,7 +48,7 @@
"-keepclassmembers class " + A.class.getTypeName() + " {",
" void cannotBeInlinedDueToKeepRule();",
"}")
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.setMinApi(parameters.getRuntime())
.compile()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/inliner/interfacemethods/InlineDefaultInterfaceMethodTest.java b/src/test/java/com/android/tools/r8/ir/optimize/inliner/interfacemethods/InlineDefaultInterfaceMethodTest.java
index df9ab8d..0e4627b 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/inliner/interfacemethods/InlineDefaultInterfaceMethodTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/inliner/interfacemethods/InlineDefaultInterfaceMethodTest.java
@@ -41,7 +41,7 @@
.addInnerClasses(InlineDefaultInterfaceMethodTest.class)
.addKeepMainRule(TestClass.class)
.setMinApi(parameters.getApiLevel())
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableMergeAnnotations()
.noMinification()
.run(parameters.getRuntime(), TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/InstanceFieldValuePropagationTest.java b/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/InstanceFieldValuePropagationTest.java
index b0bf180..5b4c540 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/InstanceFieldValuePropagationTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/InstanceFieldValuePropagationTest.java
@@ -42,12 +42,13 @@
testForR8(parameters.getBackend())
.addInnerClasses(InstanceFieldValuePropagationTest.class)
.addKeepMainRule(TestClass.class)
- .addOptionsModification(options -> {
- // TODO(b/125282093): Remove options modification once landed.
- assert !options.enableValuePropagationForInstanceFields;
- options.enableValuePropagationForInstanceFields = true;
- })
- .enableClassInliningAnnotations()
+ .addOptionsModification(
+ options -> {
+ // TODO(b/125282093): Remove options modification once landed.
+ assert !options.enableValuePropagationForInstanceFields;
+ options.enableValuePropagationForInstanceFields = true;
+ })
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.setMinApi(parameters.getApiLevel())
.compile()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/NoConstructorPropagationTest.java b/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/NoConstructorPropagationTest.java
index 904342a..63939b1 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/NoConstructorPropagationTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/membervaluepropagation/NoConstructorPropagationTest.java
@@ -37,7 +37,7 @@
"-assumenosideeffects class " + Greeter.class.getTypeName() + " {",
" <init>(...);",
"}")
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.setMinApi(parameters.getRuntime())
.run(parameters.getRuntime(), TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/outliner/OutlinesWithNonNullTest.java b/src/test/java/com/android/tools/r8/ir/optimize/outliner/OutlinesWithNonNullTest.java
index bea51f6..59602da 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/outliner/OutlinesWithNonNullTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/outliner/OutlinesWithNonNullTest.java
@@ -45,7 +45,7 @@
@Test
public void testNonNullOnOneSide() throws Exception {
testForR8(parameters.getBackend())
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.addProgramClasses(TestArg.class, TestClassWithNonNullOnOneSide.class)
.addKeepMainRule(TestClassWithNonNullOnOneSide.class)
@@ -70,7 +70,7 @@
@Test
public void testNonNullOnBothSides() throws Exception {
testForR8(parameters.getBackend())
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.addProgramClasses(TestArg.class, TestClassWithNonNullOnBothSides.class)
.addKeepMainRule(TestClassWithNonNullOnBothSides.class)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/outliner/b133215941/B133215941.java b/src/test/java/com/android/tools/r8/ir/optimize/outliner/b133215941/B133215941.java
index b380f62..5691577 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/outliner/b133215941/B133215941.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/outliner/b133215941/B133215941.java
@@ -62,7 +62,7 @@
String expectedOutput = StringUtils.lines("Hello, world 5");
testForR8(parameters.getBackend())
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableMergeAnnotations()
.enableSideEffectAnnotations()
.addInnerClasses(B133215941.class)
@@ -70,13 +70,14 @@
.addKeepClassAndMembersRules(ClassWithStaticMethod.class)
.setMinApi(parameters.getRuntime())
.noMinification()
- .addOptionsModification(options -> {
- if (parameters.isCfRuntime()) {
- assert !options.outline.enabled;
- options.outline.enabled = true;
- }
- options.outline.threshold = 2;
- })
+ .addOptionsModification(
+ options -> {
+ if (parameters.isCfRuntime()) {
+ assert !options.outline.enabled;
+ options.outline.enabled = true;
+ }
+ options.outline.threshold = 2;
+ })
.compile()
.inspect(this::validateOutlining)
.run(parameters.getRuntime(), TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/outliner/primitivetypes/PrimitiveTypesTest.java b/src/test/java/com/android/tools/r8/ir/optimize/outliner/primitivetypes/PrimitiveTypesTest.java
index f6e72b2..db3ef77 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/outliner/primitivetypes/PrimitiveTypesTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/outliner/primitivetypes/PrimitiveTypesTest.java
@@ -54,7 +54,7 @@
throws Exception {
testForR8(parameters.getBackend())
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.addProgramClasses(testClass)
.addProgramClasses(MyStringBuilder.class)
.addKeepMainRule(testClass)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/redundantfieldloadelimination/RedundantInstanceFieldLoadAfterStoreTest.java b/src/test/java/com/android/tools/r8/ir/optimize/redundantfieldloadelimination/RedundantInstanceFieldLoadAfterStoreTest.java
index 09f1326..7c39564 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/redundantfieldloadelimination/RedundantInstanceFieldLoadAfterStoreTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/redundantfieldloadelimination/RedundantInstanceFieldLoadAfterStoreTest.java
@@ -39,7 +39,7 @@
testForR8(parameters.getBackend())
.addInnerClasses(RedundantInstanceFieldLoadAfterStoreTest.class)
.addKeepMainRule(TestClass.class)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.setMinApi(parameters.getRuntime())
.compile()
.inspect(
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/staticizer/CompanionAsArgumentTest.java b/src/test/java/com/android/tools/r8/ir/optimize/staticizer/CompanionAsArgumentTest.java
index 92cc700..be47557 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/staticizer/CompanionAsArgumentTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/staticizer/CompanionAsArgumentTest.java
@@ -42,7 +42,7 @@
.addInnerClasses(CompanionAsArgumentTest.class)
.addKeepMainRule(MAIN)
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("Companion#foo(true)")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/staticizer/InstanceInsideCompanionTest.java b/src/test/java/com/android/tools/r8/ir/optimize/staticizer/InstanceInsideCompanionTest.java
index fe55066..f28235b 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/staticizer/InstanceInsideCompanionTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/staticizer/InstanceInsideCompanionTest.java
@@ -43,7 +43,7 @@
.addInnerClasses(InstanceInsideCompanionTest.class)
.addKeepMainRule(MAIN)
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("Candidate#foo(false)")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/staticizer/InvokeStaticWithNullOutvalueTest.java b/src/test/java/com/android/tools/r8/ir/optimize/staticizer/InvokeStaticWithNullOutvalueTest.java
index 2635741..e552581 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/staticizer/InvokeStaticWithNullOutvalueTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/staticizer/InvokeStaticWithNullOutvalueTest.java
@@ -44,7 +44,7 @@
.addInnerClasses(InvokeStaticWithNullOutvalueTest.class)
.addKeepMainRule(MAIN)
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("Companion#boo", "Companion#foo")
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/uninstantiatedtypes/PrivateInstanceMethodCollisionTest.java b/src/test/java/com/android/tools/r8/ir/optimize/uninstantiatedtypes/PrivateInstanceMethodCollisionTest.java
index c790d0a..41a1935 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/uninstantiatedtypes/PrivateInstanceMethodCollisionTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/uninstantiatedtypes/PrivateInstanceMethodCollisionTest.java
@@ -61,7 +61,7 @@
.addInnerClasses(PrivateInstanceMethodCollisionTest.class)
.addKeepMainRule(TestClass.class)
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.minification(minification)
.allowAccessModification(allowAccessModification)
.setMinApi(parameters.getRuntime())
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/uninstantiatedtypes/UninstantiatedAnnotatedArgumentsTest.java b/src/test/java/com/android/tools/r8/ir/optimize/uninstantiatedtypes/UninstantiatedAnnotatedArgumentsTest.java
index c92103e..035ab54 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/uninstantiatedtypes/UninstantiatedAnnotatedArgumentsTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/uninstantiatedtypes/UninstantiatedAnnotatedArgumentsTest.java
@@ -57,7 +57,7 @@
.addKeepMainRule(TestClass.class)
.addKeepClassRules(Instantiated.class, Uninstantiated.class)
.addKeepAttributes("RuntimeVisibleParameterAnnotations")
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableConstantArgumentAnnotations(keepUninstantiatedArguments)
.enableInliningAnnotations()
.enableUnusedArgumentAnnotations()
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/CollisionWithLibraryMethodsTest.java b/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/CollisionWithLibraryMethodsTest.java
index 5c89be9..45d858d 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/CollisionWithLibraryMethodsTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/CollisionWithLibraryMethodsTest.java
@@ -46,7 +46,7 @@
testForR8(parameters.getBackend())
.addInnerClasses(CollisionWithLibraryMethodsTest.class)
.addKeepMainRule(TestClass.class)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.minification(minification)
.setMinApi(parameters.getRuntime())
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/PrivateInstanceMethodCollisionTest.java b/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/PrivateInstanceMethodCollisionTest.java
index 25797a1..073c3b4 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/PrivateInstanceMethodCollisionTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/PrivateInstanceMethodCollisionTest.java
@@ -61,7 +61,7 @@
.addInnerClasses(PrivateInstanceMethodCollisionTest.class)
.addKeepMainRule(TestClass.class)
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.minification(minification)
.allowAccessModification(allowAccessModification)
.setMinApi(parameters.getRuntime())
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedAnnotatedArgumentsTest.java b/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedAnnotatedArgumentsTest.java
index 86e4d24..09c0de7 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedAnnotatedArgumentsTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedAnnotatedArgumentsTest.java
@@ -55,7 +55,7 @@
.addKeepMainRule(TestClass.class)
.addKeepClassRules(Used.class, Unused.class)
.addKeepAttributes("RuntimeVisibleParameterAnnotations")
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.enableUnusedArgumentAnnotations(keepUnusedArguments)
// TODO(b/123060011): Mapping not working in presence of unused argument removal.
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentRemovalWithOverridingTest.java b/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentRemovalWithOverridingTest.java
index a3f1b9b..461ec6b 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentRemovalWithOverridingTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentRemovalWithOverridingTest.java
@@ -46,7 +46,7 @@
testForR8(parameters.getBackend())
.addInnerClasses(UnusedArgumentRemovalWithOverridingTest.class)
.addKeepMainRule(TestClass.class)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.enableMergeAnnotations()
.minification(minification)
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentsCollisionTest.java b/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentsCollisionTest.java
index 003a06f..08d8c09 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentsCollisionTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentsCollisionTest.java
@@ -57,7 +57,7 @@
.addInnerClasses(UnusedArgumentsCollisionTest.class)
.addKeepMainRule(TestClass.class)
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableMergeAnnotations()
.minification(minification)
.setMinApi(parameters.getRuntime())
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentsInstanceConstructorTest.java b/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentsInstanceConstructorTest.java
index 5e303bc..ea67170 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentsInstanceConstructorTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentsInstanceConstructorTest.java
@@ -49,7 +49,7 @@
.addInnerClasses(UnusedArgumentsInstanceConstructorTest.class)
.addKeepMainRule(TestClass.class)
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.run(TestClass.class)
.assertSuccessWithOutput(expectedOutput)
.inspector();
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentsObjectTest.java b/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentsObjectTest.java
index 17287a4..794d588 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentsObjectTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/unusedarguments/UnusedArgumentsObjectTest.java
@@ -110,7 +110,7 @@
@Override
public void configure(R8FullTestBuilder builder) {
- builder.enableClassInliningAnnotations().enableInliningAnnotations();
+ builder.enableNeverClassInliningAnnotations().enableInliningAnnotations();
}
@Override
diff --git a/src/test/java/com/android/tools/r8/naming/FieldMinificationCollisionTest.java b/src/test/java/com/android/tools/r8/naming/FieldMinificationCollisionTest.java
index 7b89f71..69b4b03 100644
--- a/src/test/java/com/android/tools/r8/naming/FieldMinificationCollisionTest.java
+++ b/src/test/java/com/android/tools/r8/naming/FieldMinificationCollisionTest.java
@@ -29,7 +29,7 @@
.addKeepMainRule(TestClass.class)
.addKeepRules(
"-keep class " + B.class.getTypeName() + " { public java.lang.String f2; }")
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.enableMergeAnnotations()
.run(TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/naming/FieldNamingObfuscationDictionaryTest.java b/src/test/java/com/android/tools/r8/naming/FieldNamingObfuscationDictionaryTest.java
index 59b273a..be7230d 100644
--- a/src/test/java/com/android/tools/r8/naming/FieldNamingObfuscationDictionaryTest.java
+++ b/src/test/java/com/android/tools/r8/naming/FieldNamingObfuscationDictionaryTest.java
@@ -97,7 +97,7 @@
.addInnerClasses(FieldNamingObfuscationDictionaryTest.class)
.addKeepRules("-overloadaggressively", "-obfuscationdictionary " + dictionary.toString())
.addKeepMainRule(Runner.class)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.setMinApi(parameters.getApiLevel())
.compile()
.run(parameters.getRuntime(), Runner.class, "HELLO", "WORLD")
diff --git a/src/test/java/com/android/tools/r8/naming/InterfaceFieldMinificationTest.java b/src/test/java/com/android/tools/r8/naming/InterfaceFieldMinificationTest.java
index 2041fac..4d43352 100644
--- a/src/test/java/com/android/tools/r8/naming/InterfaceFieldMinificationTest.java
+++ b/src/test/java/com/android/tools/r8/naming/InterfaceFieldMinificationTest.java
@@ -23,7 +23,7 @@
TestClass.class, Greeter.class, Greeting.class, Greeting.getGreetingBase(), Tag.class)
.addKeepMainRule(TestClass.class)
.addKeepRules("-keep,allowobfuscation class " + Tag.class.getTypeName() + " { <fields>; }")
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.enableMergeAnnotations()
.run(TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterHorizontalMergingFieldTest.java b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterHorizontalMergingFieldTest.java
index 8503e9b..dc74758 100644
--- a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterHorizontalMergingFieldTest.java
+++ b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingAfterHorizontalMergingFieldTest.java
@@ -7,10 +7,10 @@
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertTrue;
-import com.android.tools.r8.NeverInline;
import com.android.tools.r8.R8TestCompileResult;
import com.android.tools.r8.TestBase;
-import com.android.tools.r8.ToolHelper;
+import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.TestParametersCollection;
import com.android.tools.r8.utils.StringUtils;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import org.junit.Assume;
@@ -56,7 +56,6 @@
// Test runner code follows.
private static final Class<?>[] LIBRARY_CLASSES = {
- NeverInline.class,
LibraryA.class,
LibraryB.class,
LibraryMain.class
@@ -66,33 +65,37 @@
ProgramClass.class
};
- private Backend backend;
+ private TestParameters parameters;
@Parameterized.Parameters(name = "{0}")
- public static Backend[] data() {
- return ToolHelper.getBackends();
+ public static TestParametersCollection data() {
+ return getTestParameters().withAllRuntimesAndApiLevels().build();
}
- public ApplyMappingAfterHorizontalMergingFieldTest(Backend backend) {
- this.backend = backend;
+ public ApplyMappingAfterHorizontalMergingFieldTest(TestParameters parameters) {
+ this.parameters = parameters;
}
@Test
public void runOnJvm() throws Throwable {
- Assume.assumeTrue(backend == Backend.CF);
+ Assume.assumeTrue(parameters.isCfRuntime());
testForJvm()
.addProgramClasses(LIBRARY_CLASSES)
.addProgramClasses(PROGRAM_CLASSES)
- .run(ProgramClass.class)
+ .addTestingAnnotationsAsProgramClasses()
+ .run(parameters.getRuntime(), ProgramClass.class)
.assertSuccessWithOutput(EXPECTED_SUCCESS);
}
@Test
public void b121042934() throws Exception {
- R8TestCompileResult libraryResult = testForR8(backend)
- .addProgramClasses(LIBRARY_CLASSES)
- .addKeepMainRule(LibraryMain.class)
- .compile();
+ R8TestCompileResult libraryResult =
+ testForR8(parameters.getBackend())
+ .addProgramClasses(LIBRARY_CLASSES)
+ .addTestingAnnotationsAsProgramClasses()
+ .addKeepMainRule(LibraryMain.class)
+ .setMinApi(parameters.getApiLevel())
+ .compile();
CodeInspector inspector = libraryResult.inspector();
assertThat(inspector.clazz(LibraryMain.class), isPresent());
@@ -100,16 +103,18 @@
assertTrue(inspector.clazz(LibraryA.class).isPresent()
!= inspector.clazz(LibraryB.class).isPresent());
- testForR8(backend)
+ testForR8(parameters.getBackend())
.noTreeShaking()
.noMinification()
.addProgramClasses(PROGRAM_CLASSES)
.addApplyMapping(libraryResult.getProguardMap())
.addLibraryClasses(LIBRARY_CLASSES)
- .addLibraryFiles(runtimeJar(backend))
+ .addTestingAnnotationsAsLibraryClasses()
+ .addLibraryFiles(runtimeJar(parameters.getBackend()))
+ .setMinApi(parameters.getApiLevel())
.compile()
.addRunClasspathFiles(libraryResult.writeToZip())
- .run(ProgramClass.class)
+ .run(parameters.getRuntime(), ProgramClass.class)
.assertSuccessWithOutput(EXPECTED_SUCCESS);
}
}
diff --git a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingKeepPrecedenceTest.java b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingKeepPrecedenceTest.java
index 854a730..da47d4c 100644
--- a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingKeepPrecedenceTest.java
+++ b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingKeepPrecedenceTest.java
@@ -74,7 +74,7 @@
public void testNaming() throws IOException, CompilationFailedException, ExecutionException {
testForR8(parameters.getBackend())
.addInnerClasses(ApplyMappingKeepPrecedenceTest.class)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.addApplyMapping(
A.class.getTypeName()
diff --git a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingMinificationTest.java b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingMinificationTest.java
index 572e070..d6382aa 100644
--- a/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingMinificationTest.java
+++ b/src/test/java/com/android/tools/r8/naming/applymapping/ApplyMappingMinificationTest.java
@@ -96,7 +96,7 @@
.addKeepRules(
"-keepclassmembers class " + A.class.getTypeName() + " { void methodC(); }")
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.addApplyMapping(StringUtils.lines(pgMap))
.setMinApi(parameters.getRuntime())
.run(parameters.getRuntime(), C.class)
diff --git a/src/test/java/com/android/tools/r8/naming/b128656974/B128656974.java b/src/test/java/com/android/tools/r8/naming/b128656974/B128656974.java
index 234d00c..f063f9e 100644
--- a/src/test/java/com/android/tools/r8/naming/b128656974/B128656974.java
+++ b/src/test/java/com/android/tools/r8/naming/b128656974/B128656974.java
@@ -25,9 +25,8 @@
public void testField() throws Exception {
Class<?> main = TestClassMainForField.class;
testForR8(Backend.DEX)
- .addProgramClasses(
- Greeting.class, Greeting.getGreetingBase(), TestClassSub.class, main)
- .enableClassInliningAnnotations()
+ .addProgramClasses(Greeting.class, Greeting.getGreetingBase(), TestClassSub.class, main)
+ .enableNeverClassInliningAnnotations()
.enableMergeAnnotations()
.addKeepMainRule(main)
.addKeepRules(
@@ -36,14 +35,15 @@
+ "{ static java.lang.String a; }")
.run(main)
.assertSuccessWithOutput(StringUtils.lines("TestClassSub.greeting", "TestClassSub.a"))
- .inspect(inspector -> {
- ClassSubject greetingBase = inspector.clazz(Greeting.getGreetingBase());
- assertThat(greetingBase, isPresent());
- FieldSubject greeting = greetingBase.uniqueFieldWithName("greeting");
- assertThat(greeting, isPresent());
- assertThat(greeting, isRenamed());
- assertNotEquals("a", greeting.getFinalName());
- });
+ .inspect(
+ inspector -> {
+ ClassSubject greetingBase = inspector.clazz(Greeting.getGreetingBase());
+ assertThat(greetingBase, isPresent());
+ FieldSubject greeting = greetingBase.uniqueFieldWithName("greeting");
+ assertThat(greeting, isPresent());
+ assertThat(greeting, isRenamed());
+ assertNotEquals("a", greeting.getFinalName());
+ });
}
@NeverClassInline
@@ -74,26 +74,24 @@
public void testMethod() throws Exception {
Class<?> main = TestClassMainForMethod.class;
testForR8(Backend.DEX)
- .addProgramClasses(
- TestClassBase.class, TestClassSub2.class, main)
+ .addProgramClasses(TestClassBase.class, TestClassSub2.class, main)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.addKeepMainRule(main)
.addKeepRules(
- "-keepclassmembernames class "
- + TestClassSub2.class.getTypeName()
- + "{ void a(...); }")
+ "-keepclassmembernames class " + TestClassSub2.class.getTypeName() + "{ void a(...); }")
.run(main)
.assertSuccessWithOutput(StringUtils.lines("TestClassSub2::a", "TestClassBase::foo"))
- .inspect(inspector -> {
- ClassSubject base = inspector.clazz(TestClassBase.class);
- assertThat(base, isPresent());
- MethodSubject foo = base.uniqueMethodWithName("foo");
- assertThat(foo, isPresent());
- assertThat(foo, isRenamed());
- assertNotEquals("a", foo.getFinalName());
- });
+ .inspect(
+ inspector -> {
+ ClassSubject base = inspector.clazz(TestClassBase.class);
+ assertThat(base, isPresent());
+ MethodSubject foo = base.uniqueMethodWithName("foo");
+ assertThat(foo, isPresent());
+ assertThat(foo, isRenamed());
+ assertNotEquals("a", foo.getFinalName());
+ });
}
@NeverMerge
diff --git a/src/test/java/com/android/tools/r8/naming/b130791310/B130791310.java b/src/test/java/com/android/tools/r8/naming/b130791310/B130791310.java
index 95e7430..b12b05f 100644
--- a/src/test/java/com/android/tools/r8/naming/b130791310/B130791310.java
+++ b/src/test/java/com/android/tools/r8/naming/b130791310/B130791310.java
@@ -83,8 +83,7 @@
public class B130791310 extends TestBase {
private static final Class<?> MAIN = TestClass.class;
private static final List<Class<?>> CLASSES =
- ImmutableList.of(
- MAIN, SomeLogic.class, SomeInterface.class, SomeClass.class, NeverClassInline.class);
+ ImmutableList.of(MAIN, SomeLogic.class, SomeInterface.class, SomeClass.class);
private static final String RULES = StringUtils.lines(
"-keepnames class **.SomeLogic {",
" **.SomeInterface someMethod(**.SomeClass);",
@@ -136,7 +135,8 @@
.addProgramClasses(CLASSES)
.addLibraryFiles(ToolHelper.getDefaultAndroidJar())
.addKeepClassAndMembersRules(MAIN)
- .addKeepRules(RULES);
+ .addKeepRules(RULES)
+ .addTestingAnnotationsAsProgramClasses();
if (!enableClassMerging) {
builder.addKeepRules("-optimizations !class/merging/*");
}
@@ -153,7 +153,7 @@
.addLibraryFiles(ToolHelper.getDefaultAndroidJar())
.addKeepClassAndMembersRules(MAIN)
.addKeepRules(RULES)
- .enableClassInliningAnnotations();
+ .enableNeverClassInliningAnnotations();
if (!enableClassMerging) {
builder.addOptionsModification(o -> o.enableVerticalClassMerging = false);
}
diff --git a/src/test/java/com/android/tools/r8/peephole/suffixsharing/IdenticalBlockSuffixSharingWithArrayTypesTest.java b/src/test/java/com/android/tools/r8/peephole/suffixsharing/IdenticalBlockSuffixSharingWithArrayTypesTest.java
index 3f89628..1781d9f 100644
--- a/src/test/java/com/android/tools/r8/peephole/suffixsharing/IdenticalBlockSuffixSharingWithArrayTypesTest.java
+++ b/src/test/java/com/android/tools/r8/peephole/suffixsharing/IdenticalBlockSuffixSharingWithArrayTypesTest.java
@@ -83,7 +83,7 @@
testForR8(parameters.getBackend())
.addInnerClasses(IdenticalBlockSuffixSharingWithArrayTypesTest.class)
.addKeepMainRule(clazz)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.setMinApi(parameters.getRuntime())
.compile()
diff --git a/src/test/java/com/android/tools/r8/shaking/EffectivelyFinalInstanceFieldsTest.java b/src/test/java/com/android/tools/r8/shaking/EffectivelyFinalInstanceFieldsTest.java
index 3985648..8ae759f 100644
--- a/src/test/java/com/android/tools/r8/shaking/EffectivelyFinalInstanceFieldsTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/EffectivelyFinalInstanceFieldsTest.java
@@ -58,7 +58,7 @@
options.enableValuePropagationForInstanceFields = true;
})
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableMergeAnnotations()
.setMinApi(parameters.getRuntime())
.compile()
diff --git a/src/test/java/com/android/tools/r8/shaking/EffectivelyFinalStaticFieldsTest.java b/src/test/java/com/android/tools/r8/shaking/EffectivelyFinalStaticFieldsTest.java
index 1b54e8a..6f18cdc 100644
--- a/src/test/java/com/android/tools/r8/shaking/EffectivelyFinalStaticFieldsTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/EffectivelyFinalStaticFieldsTest.java
@@ -52,46 +52,57 @@
.addInnerClasses(EffectivelyFinalStaticFieldsTest.class)
.addKeepMainRule(MAIN)
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableMergeAnnotations()
.setMinApi(parameters.getRuntime())
.compile()
- .inspect(codeInspector -> {
- ClassSubject main = codeInspector.clazz(MAIN);
- assertThat(main, isPresent());
+ .inspect(
+ codeInspector -> {
+ ClassSubject main = codeInspector.clazz(MAIN);
+ assertThat(main, isPresent());
- MethodSubject mainMethod = main.mainMethod();
- assertThat(mainMethod, isPresent());
+ MethodSubject mainMethod = main.mainMethod();
+ assertThat(mainMethod, isPresent());
- assertTrue(
- mainMethod.streamInstructions().noneMatch(
- i -> i.isConstString("Dead code: 1", JumboStringMode.ALLOW)));
- // TODO(b/138913138): effectively final, and default value is set.
- assertFalse(
- mainMethod.streamInstructions().noneMatch(
- i -> i.isConstString("Dead code: 2", JumboStringMode.ALLOW)));
- // TODO(b/138913138): not trivial; assigned multiple times, but can determine the value.
- assertFalse(
- mainMethod.streamInstructions().noneMatch(
- i -> i.isConstString("Dead code: 3", JumboStringMode.ALLOW)));
- assertTrue(
- mainMethod.streamInstructions().noneMatch(
- i -> i.isConstString("Dead code: 4", JumboStringMode.ALLOW)));
- assertTrue(
- mainMethod.streamInstructions().noneMatch(
- i -> i.isConstString("Dead code: 5", JumboStringMode.ALLOW)));
- // TODO(b/138913138): not trivial; assigned multiple times, but within a certain range.
- assertFalse(
- mainMethod.streamInstructions().noneMatch(
- i -> i.isConstString("Dead code: 6", JumboStringMode.ALLOW)));
- assertTrue(
- mainMethod.streamInstructions().noneMatch(
- i -> i.isConstString("Dead code: 7", JumboStringMode.ALLOW)));
- // TODO(b/138913138): effectively final, and default value is set.
- assertFalse(
- mainMethod.streamInstructions().noneMatch(
- i -> i.isConstString("Dead code: 8", JumboStringMode.ALLOW)));
- })
+ assertTrue(
+ mainMethod
+ .streamInstructions()
+ .noneMatch(i -> i.isConstString("Dead code: 1", JumboStringMode.ALLOW)));
+ // TODO(b/138913138): effectively final, and default value is set.
+ assertFalse(
+ mainMethod
+ .streamInstructions()
+ .noneMatch(i -> i.isConstString("Dead code: 2", JumboStringMode.ALLOW)));
+ // TODO(b/138913138): not trivial; assigned multiple times, but can determine the
+ // value.
+ assertFalse(
+ mainMethod
+ .streamInstructions()
+ .noneMatch(i -> i.isConstString("Dead code: 3", JumboStringMode.ALLOW)));
+ assertTrue(
+ mainMethod
+ .streamInstructions()
+ .noneMatch(i -> i.isConstString("Dead code: 4", JumboStringMode.ALLOW)));
+ assertTrue(
+ mainMethod
+ .streamInstructions()
+ .noneMatch(i -> i.isConstString("Dead code: 5", JumboStringMode.ALLOW)));
+ // TODO(b/138913138): not trivial; assigned multiple times, but within a certain
+ // range.
+ assertFalse(
+ mainMethod
+ .streamInstructions()
+ .noneMatch(i -> i.isConstString("Dead code: 6", JumboStringMode.ALLOW)));
+ assertTrue(
+ mainMethod
+ .streamInstructions()
+ .noneMatch(i -> i.isConstString("Dead code: 7", JumboStringMode.ALLOW)));
+ // TODO(b/138913138): effectively final, and default value is set.
+ assertFalse(
+ mainMethod
+ .streamInstructions()
+ .noneMatch(i -> i.isConstString("Dead code: 8", JumboStringMode.ALLOW)));
+ })
.run(parameters.getRuntime(), MAIN)
.assertSuccessWithOutputLines("The end");
}
diff --git a/src/test/java/com/android/tools/r8/shaking/annotations/AnnotationsOnFieldsTest.java b/src/test/java/com/android/tools/r8/shaking/annotations/AnnotationsOnFieldsTest.java
index 9398f79..d24d8c1 100644
--- a/src/test/java/com/android/tools/r8/shaking/annotations/AnnotationsOnFieldsTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/annotations/AnnotationsOnFieldsTest.java
@@ -46,7 +46,7 @@
@Test
public void test() throws Exception {
testForR8Compat(backend)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.addProgramClasses(CLASSES)
.addKeepMainRule(MainClass.class)
.addKeepRules(
diff --git a/src/test/java/com/android/tools/r8/shaking/annotations/PrunedOrMergedAnnotationTest.java b/src/test/java/com/android/tools/r8/shaking/annotations/PrunedOrMergedAnnotationTest.java
index 45b29f7..9b11b86 100644
--- a/src/test/java/com/android/tools/r8/shaking/annotations/PrunedOrMergedAnnotationTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/annotations/PrunedOrMergedAnnotationTest.java
@@ -52,7 +52,7 @@
.addKeepAttributes("*Annotation*")
.addKeepClassAndMembersRules(Factory.class)
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), Main.class)
.assertSuccessWithOutputLines("Hello", "World!")
diff --git a/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsVisibleMethodsTest.java b/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsVisibleMethodsTest.java
index 8928015..ebf633c 100644
--- a/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsVisibleMethodsTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsVisibleMethodsTest.java
@@ -151,7 +151,7 @@
.addKeepRules(config.getKeepRule())
.noMinification()
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.setMinApi(parameters.getRuntime())
.compile()
diff --git a/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsWithMultipleTargetsTest.java b/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsWithMultipleTargetsTest.java
index 6806661..29e4588 100644
--- a/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsWithMultipleTargetsTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/AssumenosideeffectsWithMultipleTargetsTest.java
@@ -94,7 +94,7 @@
testForR8(parameters.getBackend())
.addInnerClasses(AssumenosideeffectsWithMultipleTargetsTest.class)
.enableMergeAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.addKeepMainRule(MAIN)
.addKeepRules(config.getKeepRule())
diff --git a/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/StringBuildersAfterAssumenosideeffectsTest.java b/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/StringBuildersAfterAssumenosideeffectsTest.java
index 9507055..2787932 100644
--- a/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/StringBuildersAfterAssumenosideeffectsTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/assumenosideeffects/StringBuildersAfterAssumenosideeffectsTest.java
@@ -18,8 +18,8 @@
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.android.tools.r8.utils.codeinspector.MethodSubject;
import org.junit.Test;
-import org.junit.runners.Parameterized;
import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
@RunWith(Parameterized.class)
public class StringBuildersAfterAssumenosideeffectsTest extends TestBase {
@@ -43,7 +43,7 @@
testForR8(parameters.getBackend())
.addInnerClasses(StringBuildersAfterAssumenosideeffectsTest.class)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.addKeepMainRule(MAIN)
.addKeepRules(
diff --git a/src/test/java/com/android/tools/r8/shaking/assumevalues/AssumevaluesWithMultipleTargetsTest.java b/src/test/java/com/android/tools/r8/shaking/assumevalues/AssumevaluesWithMultipleTargetsTest.java
index f91de77..eb205d0 100644
--- a/src/test/java/com/android/tools/r8/shaking/assumevalues/AssumevaluesWithMultipleTargetsTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/assumevalues/AssumevaluesWithMultipleTargetsTest.java
@@ -155,7 +155,7 @@
public void testR8() throws Exception {
testForR8(parameters.getBackend())
.addProgramClasses(MAIN, Seed.class, Itf.class, Impl1.class, Impl2.class)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.addKeepMainRule(MAIN)
.addKeepRules(config.getKeepRule())
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnAccessModifierTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnAccessModifierTest.java
index 268a673..8cb1cf0 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnAccessModifierTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/IfOnAccessModifierTest.java
@@ -11,8 +11,6 @@
import static org.junit.Assert.assertTrue;
import static org.junit.Assume.assumeFalse;
-import com.android.tools.r8.NeverClassInline;
-import com.android.tools.r8.NeverInline;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestShrinkerBuilder;
import com.android.tools.r8.errors.Unreachable;
@@ -31,12 +29,7 @@
public class IfOnAccessModifierTest extends ProguardCompatibilityTestBase {
private static final List<Class<?>> CLASSES =
- ImmutableList.of(
- ClassForIf.class,
- ClassForSubsequent.class,
- MainForAccessModifierTest.class,
- NeverClassInline.class,
- NeverInline.class);
+ ImmutableList.of(ClassForIf.class, ClassForSubsequent.class, MainForAccessModifierTest.class);
private final TestParameters parameters;
private final Shrinker shrinker;
@@ -57,11 +50,12 @@
switch (shrinker) {
case PROGUARD6:
assertTrue(parameters.isCfRuntime());
- return testForProguard();
+ return testForProguard().addTestingAnnotationsAsProgramClasses();
case R8:
return testForR8(parameters.getBackend())
+ .addTestingAnnotationsAsProgramClasses()
.allowUnusedProguardConfigurationRules()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations();
default:
throw new Unreachable();
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/classstaticizer/IfRuleWithClassStaticizerTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/classstaticizer/IfRuleWithClassStaticizerTest.java
index 8d14c5d..b4e4fce 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/classstaticizer/IfRuleWithClassStaticizerTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/classstaticizer/IfRuleWithClassStaticizerTest.java
@@ -56,7 +56,7 @@
"}",
"-keep class " + Unused.class.getTypeName())
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.run(TestClass.class)
.assertSuccessWithOutput(expectedOutput)
.inspector();
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/interfacemethoddesugaring/IfRuleWithInterfaceMethodDesugaringTest.java b/src/test/java/com/android/tools/r8/shaking/ifrule/interfacemethoddesugaring/IfRuleWithInterfaceMethodDesugaringTest.java
index 32b5fdf..54fcadf 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/interfacemethoddesugaring/IfRuleWithInterfaceMethodDesugaringTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/interfacemethoddesugaring/IfRuleWithInterfaceMethodDesugaringTest.java
@@ -48,7 +48,7 @@
"-keep class " + Unused2.class.getTypeName())
.allowUnusedProguardConfigurationRules()
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableMergeAnnotations()
.setMinApi(AndroidApiLevel.M)
.run(TestClass.class)
diff --git a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/IfRuleWithVerticalClassMerging.java b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/IfRuleWithVerticalClassMerging.java
index 4dba762..1346579 100644
--- a/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/IfRuleWithVerticalClassMerging.java
+++ b/src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/IfRuleWithVerticalClassMerging.java
@@ -128,7 +128,7 @@
.addProgramClasses(CLASSES)
.addKeepMainRule(Main.class)
.addKeepRules(config)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.addOptionsModification(this::configure)
.run(Main.class)
.assertSuccessWithOutput("123456")
diff --git a/src/test/java/com/android/tools/r8/shaking/keepparameternames/KeepParameterNamesTest.java b/src/test/java/com/android/tools/r8/shaking/keepparameternames/KeepParameterNamesTest.java
index f618e93..888b231 100644
--- a/src/test/java/com/android/tools/r8/shaking/keepparameternames/KeepParameterNamesTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/keepparameternames/KeepParameterNamesTest.java
@@ -206,7 +206,7 @@
"In Api.api2",
"In Api.api3");
testForR8(parameters.getBackend())
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.enableUnusedArgumentAnnotations()
.addInnerClasses(KeepParameterNamesTest.class)
diff --git a/src/test/java/com/android/tools/r8/shaking/keptgraph/KeptByKeepClassMembersNonStaticTestRunner.java b/src/test/java/com/android/tools/r8/shaking/keptgraph/KeptByKeepClassMembersNonStaticTestRunner.java
index d4b5cdd..cd8f5ba 100644
--- a/src/test/java/com/android/tools/r8/shaking/keptgraph/KeptByKeepClassMembersNonStaticTestRunner.java
+++ b/src/test/java/com/android/tools/r8/shaking/keptgraph/KeptByKeepClassMembersNonStaticTestRunner.java
@@ -89,7 +89,7 @@
testForR8(parameters.getBackend())
.enableGraphInspector(whyAreYouKeepingConsumer)
.enableInliningAnnotations()
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableMemberValuePropagationAnnotations()
.addProgramClasses(CLASS)
.addKeepMainRule(CLASS)
diff --git a/src/test/java/com/android/tools/r8/shaking/keptgraph/KeptSingletonIsNotCyclicTest.java b/src/test/java/com/android/tools/r8/shaking/keptgraph/KeptSingletonIsNotCyclicTest.java
index 62ec020..ba1c576 100644
--- a/src/test/java/com/android/tools/r8/shaking/keptgraph/KeptSingletonIsNotCyclicTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/keptgraph/KeptSingletonIsNotCyclicTest.java
@@ -68,7 +68,7 @@
WhyAreYouKeepingConsumer whyAreYouKeepingConsumer = new WhyAreYouKeepingConsumer(null);
GraphInspector inspector =
testForR8(parameters.getBackend())
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableGraphInspector(whyAreYouKeepingConsumer)
.addProgramClasses(testClass, fooClass)
.addKeepMainRule(testClass)
diff --git a/src/test/java/com/android/tools/r8/shaking/librarymethodoverride/LibraryMethodOverrideTest.java b/src/test/java/com/android/tools/r8/shaking/librarymethodoverride/LibraryMethodOverrideTest.java
index 18188ff..0f8a6bd 100644
--- a/src/test/java/com/android/tools/r8/shaking/librarymethodoverride/LibraryMethodOverrideTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/librarymethodoverride/LibraryMethodOverrideTest.java
@@ -41,7 +41,7 @@
.addInnerClasses(LibraryMethodOverrideTest.class)
.addKeepMainRule(TestClass.class)
.addOptionsModification(options -> options.enableTreeShakingOfLibraryMethodOverrides = true)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableMergeAnnotations()
.setMinApi(parameters.getApiLevel())
.compile()
diff --git a/src/test/java/com/android/tools/r8/shaking/whyareyoukeeping/WhyAreYouKeepingOverriddenMethodTest.java b/src/test/java/com/android/tools/r8/shaking/whyareyoukeeping/WhyAreYouKeepingOverriddenMethodTest.java
index 8a28bdf..2914c4e 100644
--- a/src/test/java/com/android/tools/r8/shaking/whyareyoukeeping/WhyAreYouKeepingOverriddenMethodTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/whyareyoukeeping/WhyAreYouKeepingOverriddenMethodTest.java
@@ -51,7 +51,7 @@
.addKeepMainRule(main)
.addKeepRules(
"-whyareyoukeeping class **.*$" + targetClass.getSimpleName() + " { void gone(); }")
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.enableMergeAnnotations()
.minification(minification)
@@ -70,7 +70,7 @@
testForR8(Backend.DEX)
.addInnerClasses(WhyAreYouKeepingOverriddenMethodTest.class)
.addKeepMainRule(main)
- .enableClassInliningAnnotations()
+ .enableNeverClassInliningAnnotations()
.enableInliningAnnotations()
.enableMergeAnnotations()
.minification(minification)