Add test annotation to WhyAreYouNotInliningInvokeWithUnknownTargetTest
Change-Id: Ia08d5a0970023d2936957e4f98d9c1ea851fe371
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/info/MethodResolutionOptimizationInfoReprocessingEnqueuer.java b/src/main/java/com/android/tools/r8/ir/optimize/info/MethodResolutionOptimizationInfoReprocessingEnqueuer.java
index bf4b35d..9ad09b2 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/info/MethodResolutionOptimizationInfoReprocessingEnqueuer.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/info/MethodResolutionOptimizationInfoReprocessingEnqueuer.java
@@ -54,7 +54,8 @@
clazz.forEachProgramMethodMatching(
DexEncodedMethod::hasCode,
method -> {
- if (!postMethodProcessorBuilder.contains(method, currentGraphLens)) {
+ if (!postMethodProcessorBuilder.contains(method, currentGraphLens)
+ && !appView.appInfo().isNeverReprocessMethod(method)) {
AffectedMethodUseRegistry registry =
new AffectedMethodUseRegistry(appView, method);
if (method.registerCodeReferencesWithResult(registry)) {
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/inliner/whyareyounotinlining/WhyAreYouNotInliningInvokeWithUnknownTargetTest.java b/src/test/java/com/android/tools/r8/ir/optimize/inliner/whyareyounotinlining/WhyAreYouNotInliningInvokeWithUnknownTargetTest.java
index 5baa779..0cf839a 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/inliner/whyareyounotinlining/WhyAreYouNotInliningInvokeWithUnknownTargetTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/inliner/whyareyounotinlining/WhyAreYouNotInliningInvokeWithUnknownTargetTest.java
@@ -8,6 +8,7 @@
import static org.hamcrest.CoreMatchers.is;
import com.android.tools.r8.DiagnosticsMatcher;
+import com.android.tools.r8.NeverReprocessMethod;
import com.android.tools.r8.NoHorizontalClassMerging;
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestParameters;
@@ -38,6 +39,7 @@
.addKeepMainRule(TestClass.class)
.addKeepRules("-whyareyounotinlining class " + A.class.getTypeName() + " { void m(); }")
.enableExperimentalWhyAreYouNotInlining()
+ .enableNeverReprocessMethodAnnotations()
.enableNoHorizontalClassMergingAnnotations()
.setMinApi(parameters)
.allowDiagnosticInfoMessages()
@@ -59,6 +61,7 @@
static class TestClass {
+ @NeverReprocessMethod
public static void main(String[] args) {
(System.currentTimeMillis() >= 0 ? new A() : new B()).m();
}