Remove Depset.legacyOf
Uses in the tests are replaced with Depset.of(Class, Nestedset).
PiperOrigin-RevId: 513907058
Change-Id: If1097202d4cc8f13cb3f370ae49c6d85ee947601
diff --git a/src/main/java/com/google/devtools/build/lib/collect/nestedset/Depset.java b/src/main/java/com/google/devtools/build/lib/collect/nestedset/Depset.java
index 1d62db5..8031988 100644
--- a/src/main/java/com/google/devtools/build/lib/collect/nestedset/Depset.java
+++ b/src/main/java/com/google/devtools/build/lib/collect/nestedset/Depset.java
@@ -102,40 +102,6 @@
this.set = set;
}
- // Implementation of deprecated depset(items) constructor, where items is
- // supplied positionally. See https://github.com/bazelbuild/bazel/issues/9017.
- static Depset legacyOf(Order order, Object items) throws EvalException {
- Class<?> elemClass = null; // special value for empty depset
- NestedSetBuilder<Object> builder = new NestedSetBuilder<>(order);
-
- if (items instanceof Depset) {
- Depset nestedSet = (Depset) items;
- if (!nestedSet.isEmpty()) {
- elemClass = nestedSet.elemClass;
- try {
- builder.addTransitive(nestedSet.set);
- } catch (IllegalArgumentException e) {
- // Order mismatch between items and builder.
- throw Starlark.errorf("%s", e.getMessage());
- }
- }
-
- } else if (items instanceof Sequence) {
- for (Object x : (Sequence) items) {
- checkElement(x, /* strict= */ true);
- Class<?> xt = ElementType.getTypeClass(x.getClass());
- elemClass = checkType(elemClass, xt);
- builder.add(x);
- }
-
- } else {
- throw Starlark.errorf(
- "depset: got value of type '%s', want depset or sequence", Starlark.type(items));
- }
-
- return new Depset(elemClass, builder.build());
- }
-
private static void checkElement(Object x, boolean strict) throws EvalException {
// Historically the requirement for a depset element was isImmutable(x).
// However, this check is neither necessary not sufficient.
diff --git a/src/test/java/com/google/devtools/build/lib/collect/nestedset/DepsetTest.java b/src/test/java/com/google/devtools/build/lib/collect/nestedset/DepsetTest.java
index cc6d597..44b6a51 100644
--- a/src/test/java/com/google/devtools/build/lib/collect/nestedset/DepsetTest.java
+++ b/src/test/java/com/google/devtools/build/lib/collect/nestedset/DepsetTest.java
@@ -85,8 +85,10 @@
// getSet argument must be a legal Starlark value class, or Object,
// but not some superclass that doesn't implement StarlarkValue.
Depset ints =
- Depset.legacyOf(
- Order.STABLE_ORDER, Tuple.of(StarlarkInt.of(1), StarlarkInt.of(2), StarlarkInt.of(3)));
+ Depset.of(
+ StarlarkInt.class,
+ NestedSetBuilder.create(
+ Order.STABLE_ORDER, StarlarkInt.of(1), StarlarkInt.of(2), StarlarkInt.of(3)));
assertThat(ints.getSet(StarlarkInt.class).toString()).isEqualTo("[1, 2, 3]");
IllegalArgumentException ex =
assertThrows(IllegalArgumentException.class, () -> ints.getSet(Number.class));
@@ -278,10 +280,10 @@
// (b) at least one order is "default"
for (Order first : Order.values()) {
- Depset s1 = Depset.legacyOf(first, Tuple.of("1", "11"));
+ Depset s1 = Depset.of(String.class, NestedSetBuilder.create(first, "1", "11"));
for (Order second : Order.values()) {
- Depset s2 = Depset.legacyOf(second, Tuple.of("2", "22"));
+ Depset s2 = Depset.of(String.class, NestedSetBuilder.create(second, "2", "22"));
boolean compatible = true;