Fix comments to keep rule processing

Change-Id: I98209a1a50b064190e11a0b5e04687aea51228ad
diff --git a/src/main/java/com/android/tools/r8/processkeeprules/ConsumerRuleDiagnostic.java b/src/main/java/com/android/tools/r8/processkeeprules/ConsumerRuleDiagnostic.java
new file mode 100644
index 0000000..1a119a4
--- /dev/null
+++ b/src/main/java/com/android/tools/r8/processkeeprules/ConsumerRuleDiagnostic.java
@@ -0,0 +1,31 @@
+// Copyright (c) 2025, the R8 project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+package com.android.tools.r8.processkeeprules;
+
+import com.android.tools.r8.Diagnostic;
+import com.android.tools.r8.keepanno.annotations.KeepForApi;
+import com.android.tools.r8.origin.Origin;
+import com.android.tools.r8.position.Position;
+
+@KeepForApi
+public abstract class ConsumerRuleDiagnostic implements Diagnostic {
+
+  private final Origin origin;
+  private final Position position;
+
+  public ConsumerRuleDiagnostic(Origin origin, Position position) {
+    this.origin = origin;
+    this.position = position;
+  }
+
+  @Override
+  public Origin getOrigin() {
+    return origin;
+  }
+
+  @Override
+  public Position getPosition() {
+    return position;
+  }
+}
diff --git a/src/main/java/com/android/tools/r8/processkeeprules/GlobalLibraryConsumerRuleDiagnostic.java b/src/main/java/com/android/tools/r8/processkeeprules/GlobalLibraryConsumerRuleDiagnostic.java
index 3921207..bc1a21d 100644
--- a/src/main/java/com/android/tools/r8/processkeeprules/GlobalLibraryConsumerRuleDiagnostic.java
+++ b/src/main/java/com/android/tools/r8/processkeeprules/GlobalLibraryConsumerRuleDiagnostic.java
@@ -3,34 +3,20 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.processkeeprules;
 
-import com.android.tools.r8.Diagnostic;
 import com.android.tools.r8.keepanno.annotations.KeepForApi;
 import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.position.Position;
 
 @KeepForApi
-public class GlobalLibraryConsumerRuleDiagnostic implements Diagnostic {
-  private final Origin origin;
-  private final Position position;
+public class GlobalLibraryConsumerRuleDiagnostic extends ConsumerRuleDiagnostic {
   private final String rule;
 
   public GlobalLibraryConsumerRuleDiagnostic(Origin origin, Position position, String rule) {
-    this.origin = origin;
-    this.position = position;
+    super(origin, position);
     this.rule = rule;
   }
 
   @Override
-  public Origin getOrigin() {
-    return origin;
-  }
-
-  @Override
-  public Position getPosition() {
-    return position;
-  }
-
-  @Override
   public String getDiagnosticMessage() {
     return rule + " not allowed in library consumer rules.";
   }
diff --git a/src/main/java/com/android/tools/r8/processkeeprules/KeepAttributeLibraryConsumerRuleDiagnostic.java b/src/main/java/com/android/tools/r8/processkeeprules/KeepAttributeLibraryConsumerRuleDiagnostic.java
index c7c1c1a..c1f3d5a 100644
--- a/src/main/java/com/android/tools/r8/processkeeprules/KeepAttributeLibraryConsumerRuleDiagnostic.java
+++ b/src/main/java/com/android/tools/r8/processkeeprules/KeepAttributeLibraryConsumerRuleDiagnostic.java
@@ -3,36 +3,22 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.processkeeprules;
 
-import com.android.tools.r8.Diagnostic;
 import com.android.tools.r8.keepanno.annotations.KeepForApi;
 import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.position.Position;
 
 @KeepForApi
-public class KeepAttributeLibraryConsumerRuleDiagnostic implements Diagnostic {
+public class KeepAttributeLibraryConsumerRuleDiagnostic extends ConsumerRuleDiagnostic {
 
-  private final Origin origin;
-  private final Position position;
   private final String attribute;
 
   public KeepAttributeLibraryConsumerRuleDiagnostic(
       Origin origin, Position position, String attribute) {
-    this.origin = origin;
-    this.position = position;
+    super(origin, position);
     this.attribute = attribute;
   }
 
   @Override
-  public Origin getOrigin() {
-    return origin;
-  }
-
-  @Override
-  public Position getPosition() {
-    return position;
-  }
-
-  @Override
   public String getDiagnosticMessage() {
     return "Illegal attempt to keep the attribute '" + attribute + "' in library consumer rules.";
   }
diff --git a/src/main/java/com/android/tools/r8/processkeeprules/ProcessKeepRules.java b/src/main/java/com/android/tools/r8/processkeeprules/ProcessKeepRules.java
index 158894d..d8c92ca 100644
--- a/src/main/java/com/android/tools/r8/processkeeprules/ProcessKeepRules.java
+++ b/src/main/java/com/android/tools/r8/processkeeprules/ProcessKeepRules.java
@@ -17,7 +17,7 @@
         command.getReporter(),
         () -> {
           // This is the only valid form of keep rule processing for now.
-          assert command.getValidateLibraryConsumerRules();
+          assert command.isValidateLibraryConsumerRules();
           DexItemFactory dexItemFactory = new DexItemFactory();
           ProguardConfigurationParserConsumer configurationConsumer =
               new ValidateLibraryConsumerRulesKeepRuleProcessor(command.getReporter());
diff --git a/src/main/java/com/android/tools/r8/processkeeprules/ProcessKeepRulesCommand.java b/src/main/java/com/android/tools/r8/processkeeprules/ProcessKeepRulesCommand.java
index 81f18f2..4a7ca10 100644
--- a/src/main/java/com/android/tools/r8/processkeeprules/ProcessKeepRulesCommand.java
+++ b/src/main/java/com/android/tools/r8/processkeeprules/ProcessKeepRulesCommand.java
@@ -10,6 +10,7 @@
 import com.android.tools.r8.utils.Reporter;
 import java.nio.file.Path;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 
@@ -49,7 +50,7 @@
     return reporter;
   }
 
-  boolean getValidateLibraryConsumerRules() {
+  boolean isValidateLibraryConsumerRules() {
     return validateLibraryConsumerRules;
   }
 
@@ -81,6 +82,10 @@
       return this;
     }
 
+    public Builder addKeepRuleFiles(Path... paths) {
+      return addKeepRuleFiles(Arrays.asList(paths));
+    }
+
     public Builder setLibraryConsumerRuleValidation(boolean enable) {
       validateLibraryConsumerRules = enable;
       return this;