Rename methods to control legacy full mode behavior in compiler API

Change-Id: Ia1714525ec110059f0489f7f55cc242a2f4f1158
diff --git a/src/main/java/com/android/tools/r8/L8Command.java b/src/main/java/com/android/tools/r8/L8Command.java
index 0bd58e6..1372ccb 100644
--- a/src/main/java/com/android/tools/r8/L8Command.java
+++ b/src/main/java/com/android/tools/r8/L8Command.java
@@ -387,7 +387,7 @@
         R8Command.Builder r8Builder =
             R8Command.builder(getReporter())
                 .addProgramResourceProvider((ProgramResourceProvider) l8CfConsumer)
-                .setEnableEmptyMemberRulesToDefaultInitRuleConversion(false)
+                .enableLegacyFullModeForKeepRules(false)
                 .setSynthesizedClassesPrefix(
                     desugaredLibrarySpecification.getSynthesizedLibraryClassesPackagePrefix())
                 .setMinApiLevel(getMinApiLevel())
diff --git a/src/main/java/com/android/tools/r8/R8Command.java b/src/main/java/com/android/tools/r8/R8Command.java
index 52ae388..489f9e0 100644
--- a/src/main/java/com/android/tools/r8/R8Command.java
+++ b/src/main/java/com/android/tools/r8/R8Command.java
@@ -506,10 +506,15 @@
      *
      * <p>This currently defaults to true in stable versions.
      */
-    public Builder setEnableEmptyMemberRulesToDefaultInitRuleConversion(
-        boolean enableEmptyMemberRulesToDefaultInitRuleConversion) {
-      parserOptionsBuilder.setEnableEmptyMemberRulesToDefaultInitRuleConversion(
-          enableEmptyMemberRulesToDefaultInitRuleConversion);
+    public Builder enableLegacyFullModeForKeepRules(boolean enableLegacyFullModeForKeepRules) {
+      parserOptionsBuilder.setEnableLegacyFullModeForKeepRules(enableLegacyFullModeForKeepRules);
+      return this;
+    }
+
+    public Builder enableLegacyFullModeForKeepRulesWarnings(
+        boolean enableLegacyFullModeForKeepRulesWarnings) {
+      parserOptionsBuilder.setEnableLegacyFullModeForKeepRulesWarnings(
+          enableLegacyFullModeForKeepRulesWarnings);
       return this;
     }
 
diff --git a/src/main/java/com/android/tools/r8/R8Partial.java b/src/main/java/com/android/tools/r8/R8Partial.java
index 42b5b5b..2fc67d4 100644
--- a/src/main/java/com/android/tools/r8/R8Partial.java
+++ b/src/main/java/com/android/tools/r8/R8Partial.java
@@ -220,7 +220,7 @@
             .addClasspathFiles(d8Program)
             .addProgramFiles(r8Program)
             .addProguardConfigurationFiles(dump.getProguardConfigFile(), traceReferencesRules)
-            .setEnableEmptyMemberRulesToDefaultInitRuleConversion(true)
+            .enableLegacyFullModeForKeepRules(true)
             .setMode(dump.getBuildProperties().getCompilationMode())
             .setOutput(r8Output, OutputMode.DexIndexed);
     if (dump.hasDesugaredLibrary()) {
diff --git a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java
index ceb9671..8c6aa57 100644
--- a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java
+++ b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java
@@ -129,7 +129,7 @@
         dexItemFactory,
         reporter,
         ProguardConfigurationParserOptions.builder()
-            .setEnableEmptyMemberRulesToDefaultInitRuleConversion(false)
+            .setEnableLegacyFullModeForKeepRules(false)
             .setEnableExperimentalCheckEnumUnboxed(false)
             .setEnableExperimentalConvertCheckNotNull(false)
             .setEnableExperimentalWhyAreYouNotInlining(false)
@@ -852,13 +852,12 @@
       Position end = getPosition();
       ProguardKeepRule rule =
           keepRuleBuilder.setSource(getSourceSnippet(contents, start, end)).setEnd(end).build();
-      if (options.isEmptyMemberRulesToDefaultInitRuleConversionEnabled(configurationBuilder)
+      if (options.isLegacyFullModeForKeepRulesEnabled(configurationBuilder)
           && rule.getMemberRules().isEmpty()
           && rule.getType() != ProguardKeepRuleType.KEEP_CLASSES_WITH_MEMBERS) {
         // If there are no member rules, a default rule for the parameterless constructor applies
         // in compatibility mode.
-        if (options.isEmptyMemberRulesToDefaultInitRuleConversionWarningsEnabled(
-            configurationBuilder)) {
+        if (options.isLegacyFullModeForKeepRulesWarningsEnabled(configurationBuilder)) {
           reporter.warning(
               EmptyMemberRulesToDefaultInitRuleConversionDiagnostic.Factory.create(rule));
         }
diff --git a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParserOptions.java b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParserOptions.java
index 02373b6..ab5db09 100644
--- a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParserOptions.java
+++ b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParserOptions.java
@@ -6,20 +6,18 @@
 
 import static com.android.tools.r8.utils.SystemPropertyUtils.parseSystemPropertyOrDefault;
 
-import com.android.tools.r8.utils.OptionalBool;
-
 public class ProguardConfigurationParserOptions {
 
-  private final OptionalBool enableEmptyMemberRulesToDefaultInitRuleConversion;
-  private final boolean enableEmptyMemberRulesToDefaultInitRuleConversionWarnings;
+  private final boolean enableLegacyFullModeForKeepRules;
+  private final boolean enableLegacyFullModeForKeepRulesWarnings;
   private final boolean enableExperimentalCheckEnumUnboxed;
   private final boolean enableExperimentalConvertCheckNotNull;
   private final boolean enableExperimentalWhyAreYouNotInlining;
   private final boolean enableTestingOptions;
 
   ProguardConfigurationParserOptions(
-      OptionalBool enableEmptyMemberRulesToDefaultInitRuleConversion,
-      boolean enableEmptyMemberRulesToDefaultInitRuleConversionWarnings,
+      boolean enableLegacyFullModeForKeepRules,
+      boolean enableLegacyFullModeForKeepRulesWarnings,
       boolean enableExperimentalCheckEnumUnboxed,
       boolean enableExperimentalConvertCheckNotNull,
       boolean enableExperimentalWhyAreYouNotInlining,
@@ -28,28 +26,25 @@
     this.enableExperimentalConvertCheckNotNull = enableExperimentalConvertCheckNotNull;
     this.enableExperimentalWhyAreYouNotInlining = enableExperimentalWhyAreYouNotInlining;
     this.enableTestingOptions = enableTestingOptions;
-    this.enableEmptyMemberRulesToDefaultInitRuleConversion =
-        enableEmptyMemberRulesToDefaultInitRuleConversion;
-    this.enableEmptyMemberRulesToDefaultInitRuleConversionWarnings =
-        enableEmptyMemberRulesToDefaultInitRuleConversionWarnings;
+    this.enableLegacyFullModeForKeepRules = enableLegacyFullModeForKeepRules;
+    this.enableLegacyFullModeForKeepRulesWarnings = enableLegacyFullModeForKeepRulesWarnings;
   }
 
   public static Builder builder() {
     return new Builder();
   }
 
-  public boolean isEmptyMemberRulesToDefaultInitRuleConversionEnabled(
+  public boolean isLegacyFullModeForKeepRulesEnabled(
       ProguardConfiguration.Builder configurationBuilder) {
     // TODO(b/356344563): Disable in full mode in the next major version.
-    return configurationBuilder.isForceProguardCompatibility()
-        || enableEmptyMemberRulesToDefaultInitRuleConversion.getOrDefault(true);
+    return configurationBuilder.isForceProguardCompatibility() || enableLegacyFullModeForKeepRules;
   }
 
-  public boolean isEmptyMemberRulesToDefaultInitRuleConversionWarningsEnabled(
+  public boolean isLegacyFullModeForKeepRulesWarningsEnabled(
       ProguardConfiguration.Builder configurationBuilder) {
-    assert isEmptyMemberRulesToDefaultInitRuleConversionEnabled(configurationBuilder);
+    assert isLegacyFullModeForKeepRulesEnabled(configurationBuilder);
     return !configurationBuilder.isForceProguardCompatibility()
-        && enableEmptyMemberRulesToDefaultInitRuleConversionWarnings;
+        && enableLegacyFullModeForKeepRulesWarnings;
   }
 
   public boolean isExperimentalCheckEnumUnboxedEnabled() {
@@ -70,22 +65,20 @@
 
   public static class Builder {
 
-    private OptionalBool enableEmptyMemberRulesToDefaultInitRuleConversion = OptionalBool.UNKNOWN;
-    private boolean enableEmptyMemberRulesToDefaultInitRuleConversionWarnings = false;
+    private boolean enableLegacyFullModeForKeepRules = true;
+    private boolean enableLegacyFullModeForKeepRulesWarnings = false;
     private boolean enableExperimentalCheckEnumUnboxed;
     private boolean enableExperimentalConvertCheckNotNull;
     private boolean enableExperimentalWhyAreYouNotInlining;
     private boolean enableTestingOptions;
 
     public Builder readEnvironment() {
-      enableEmptyMemberRulesToDefaultInitRuleConversion =
+      enableLegacyFullModeForKeepRules =
           parseSystemPropertyOrDefault(
-              "com.android.tools.r8.enableEmptyMemberRulesToDefaultInitRuleConversion",
-              OptionalBool.UNKNOWN);
-      enableEmptyMemberRulesToDefaultInitRuleConversionWarnings =
+              "com.android.tools.r8.enableLegacyFullModeForKeepRules", true);
+      enableLegacyFullModeForKeepRulesWarnings =
           parseSystemPropertyOrDefault(
-              "com.android.tools.r8.enableEmptyMemberRulesToDefaultInitRuleConversionWarnings",
-              false);
+              "com.android.tools.r8.enableLegacyFullModeForKeepRulesWarnings", false);
       enableExperimentalCheckEnumUnboxed =
           parseSystemPropertyOrDefault(
               "com.android.tools.r8.experimental.enablecheckenumunboxed", false);
@@ -100,10 +93,14 @@
       return this;
     }
 
-    public Builder setEnableEmptyMemberRulesToDefaultInitRuleConversion(
-        boolean enableEmptyMemberRulesToDefaultInitRuleConversion) {
-      this.enableEmptyMemberRulesToDefaultInitRuleConversion =
-          OptionalBool.of(enableEmptyMemberRulesToDefaultInitRuleConversion);
+    public Builder setEnableLegacyFullModeForKeepRules(boolean enableLegacyFullModeForKeepRules) {
+      this.enableLegacyFullModeForKeepRules = enableLegacyFullModeForKeepRules;
+      return this;
+    }
+
+    public Builder setEnableLegacyFullModeForKeepRulesWarnings(
+        boolean enableLegacyFullModeForKeepRulesWarnings) {
+      this.enableLegacyFullModeForKeepRulesWarnings = enableLegacyFullModeForKeepRulesWarnings;
       return this;
     }
 
@@ -132,8 +129,8 @@
 
     public ProguardConfigurationParserOptions build() {
       return new ProguardConfigurationParserOptions(
-          enableEmptyMemberRulesToDefaultInitRuleConversion,
-          enableEmptyMemberRulesToDefaultInitRuleConversionWarnings,
+          enableLegacyFullModeForKeepRules,
+          enableLegacyFullModeForKeepRulesWarnings,
           enableExperimentalCheckEnumUnboxed,
           enableExperimentalConvertCheckNotNull,
           enableExperimentalWhyAreYouNotInlining,
diff --git a/src/test/java/com/android/tools/r8/compilerapi/diagnostics/ProguardKeepRuleDiagnosticsApiTest.java b/src/test/java/com/android/tools/r8/compilerapi/diagnostics/ProguardKeepRuleDiagnosticsApiTest.java
index e4ed3bb..cb50996 100644
--- a/src/test/java/com/android/tools/r8/compilerapi/diagnostics/ProguardKeepRuleDiagnosticsApiTest.java
+++ b/src/test/java/com/android/tools/r8/compilerapi/diagnostics/ProguardKeepRuleDiagnosticsApiTest.java
@@ -98,7 +98,7 @@
               .addProguardConfiguration(
                   Collections.singletonList("-keep class NotPresent {}"), Origin.unknown())
               .addLibraryFiles(getJava8RuntimeJar())
-              .setEnableEmptyMemberRulesToDefaultInitRuleConversion(false)
+              .enableLegacyFullModeForKeepRules(false)
               .setProgramConsumer(DexIndexedConsumer.emptyConsumer())
               .setMinApiLevel(1)
               .build());
diff --git a/src/test/testbase/java/com/android/tools/r8/R8TestBuilder.java b/src/test/testbase/java/com/android/tools/r8/R8TestBuilder.java
index 72fd0ae..51174be 100644
--- a/src/test/testbase/java/com/android/tools/r8/R8TestBuilder.java
+++ b/src/test/testbase/java/com/android/tools/r8/R8TestBuilder.java
@@ -153,7 +153,7 @@
     libraryDesugaringTestConfiguration.configure(builder);
     builder.setAndroidPlatformBuild(androidPlatformBuild);
     if (!enableEmptyMemberRulesToDefaultInitRuleConversion.isUnknown()) {
-      builder.setEnableEmptyMemberRulesToDefaultInitRuleConversion(
+      builder.enableLegacyFullModeForKeepRules(
           enableEmptyMemberRulesToDefaultInitRuleConversion.toBoolean());
     }
     builder.setEnableIsolatedSplits(enableIsolatedSplits);
diff --git a/third_party/binary_compatibility_tests/compiler_api_tests.tar.gz.sha1 b/third_party/binary_compatibility_tests/compiler_api_tests.tar.gz.sha1
index b76801c..089244c 100644
--- a/third_party/binary_compatibility_tests/compiler_api_tests.tar.gz.sha1
+++ b/third_party/binary_compatibility_tests/compiler_api_tests.tar.gz.sha1
@@ -1 +1 @@
-9c8c027ae1cd5b8768574a7fb2bb0698ef09b907
\ No newline at end of file
+aa0b23115292ec22a24d4166101c1116d264e1cb
\ No newline at end of file