Internal change.

PiperOrigin-RevId: 953305255
Change-Id: If5ec2c400c00556de9658d77ac9cc399f9b34e1a
diff --git a/src/main/java/com/google/devtools/build/lib/util/Bucket.java b/src/main/java/com/google/devtools/build/lib/util/Bucket.java
index 0542091..270f753 100644
--- a/src/main/java/com/google/devtools/build/lib/util/Bucket.java
+++ b/src/main/java/com/google/devtools/build/lib/util/Bucket.java
@@ -18,4 +18,10 @@
 
 /** A bucket of values. min is inclusive, max is exclusive. */
 @SkybridgeInterface
-public record Bucket(long minInclusive, long maxExclusive, long count) {}
+public interface Bucket {
+  long minInclusive();
+
+  long maxExclusive();
+
+  long count();
+}
diff --git a/src/main/java/com/google/devtools/build/lib/util/DecimalBucketer.java b/src/main/java/com/google/devtools/build/lib/util/DecimalBucketer.java
index a175ccb..3a3f857 100644
--- a/src/main/java/com/google/devtools/build/lib/util/DecimalBucketer.java
+++ b/src/main/java/com/google/devtools/build/lib/util/DecimalBucketer.java
@@ -14,6 +14,7 @@
 
 package com.google.devtools.build.lib.util;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.ImmutableList;
 import java.util.ArrayList;
 
@@ -61,7 +62,7 @@
       if (count > 0) {
         long min = base * leadingDigit;
         long max = Long.MAX_VALUE - base < min ? Long.MAX_VALUE : min + base;
-        builder.add(new Bucket(min, max, count));
+        builder.add(new BucketImpl(min, max, count));
       }
 
       leadingDigit += 1;
@@ -72,4 +73,7 @@
     }
     return builder.build();
   }
+
+  @VisibleForTesting
+  record BucketImpl(long minInclusive, long maxExclusive, long count) implements Bucket {}
 }
diff --git a/src/test/java/com/google/devtools/build/lib/util/DecimalBucketerTest.java b/src/test/java/com/google/devtools/build/lib/util/DecimalBucketerTest.java
index c7de94e..f72d03a 100644
--- a/src/test/java/com/google/devtools/build/lib/util/DecimalBucketerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/util/DecimalBucketerTest.java
@@ -34,14 +34,14 @@
   public void testSingleValue() {
     DecimalBucketer bucketer = new DecimalBucketer();
     bucketer.add(5);
-    assertThat(bucketer.getBuckets()).containsExactly(new Bucket(5, 6, 1));
+    assertThat(bucketer.getBuckets()).containsExactly(new DecimalBucketer.BucketImpl(5, 6, 1));
   }
 
   @Test
   public void testZero() {
     DecimalBucketer bucketer = new DecimalBucketer();
     bucketer.add(0);
-    assertThat(bucketer.getBuckets()).containsExactly(new Bucket(0, 1, 1));
+    assertThat(bucketer.getBuckets()).containsExactly(new DecimalBucketer.BucketImpl(0, 1, 1));
   }
 
   @Test
@@ -50,7 +50,7 @@
     bucketer.add(10);
     bucketer.add(15);
     bucketer.add(19);
-    assertThat(bucketer.getBuckets()).containsExactly(new Bucket(10, 20, 3));
+    assertThat(bucketer.getBuckets()).containsExactly(new DecimalBucketer.BucketImpl(10, 20, 3));
   }
 
   @Test
@@ -65,11 +65,11 @@
 
     assertThat(bucketer.getBuckets())
         .containsExactly(
-            new Bucket(5, 6, 1),
-            new Bucket(10, 20, 2),
-            new Bucket(20, 30, 1),
-            new Bucket(90, 100, 1),
-            new Bucket(100, 200, 1))
+            new DecimalBucketer.BucketImpl(5, 6, 1),
+            new DecimalBucketer.BucketImpl(10, 20, 2),
+            new DecimalBucketer.BucketImpl(20, 30, 1),
+            new DecimalBucketer.BucketImpl(90, 100, 1),
+            new DecimalBucketer.BucketImpl(100, 200, 1))
         .inOrder();
   }
 
@@ -81,7 +81,9 @@
     bucketer.add(69999);
 
     assertThat(bucketer.getBuckets())
-        .containsExactly(new Bucket(5, 6, 1), new Bucket(60000, 70000, 2))
+        .containsExactly(
+            new DecimalBucketer.BucketImpl(5, 6, 1),
+            new DecimalBucketer.BucketImpl(60000, 70000, 2))
         .inOrder();
   }
 
@@ -97,6 +99,7 @@
     long val = 9000000000000000000L; // 9 * 10^18
     bucketer.add(val);
 
-    assertThat(bucketer.getBuckets()).containsExactly(new Bucket(val, Long.MAX_VALUE, 1));
+    assertThat(bucketer.getBuckets())
+        .containsExactly(new DecimalBucketer.BucketImpl(val, Long.MAX_VALUE, 1));
   }
 }