diff options
Diffstat (limited to 'android/guava/src/com/google/common/collect/ImmutableRangeSet.java')
-rw-r--r-- | android/guava/src/com/google/common/collect/ImmutableRangeSet.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/android/guava/src/com/google/common/collect/ImmutableRangeSet.java b/android/guava/src/com/google/common/collect/ImmutableRangeSet.java index 844c1c1dc..7d08c89e3 100644 --- a/android/guava/src/com/google/common/collect/ImmutableRangeSet.java +++ b/android/guava/src/com/google/common/collect/ImmutableRangeSet.java @@ -38,6 +38,7 @@ import java.util.Iterator; import java.util.List; import java.util.NoSuchElementException; import java.util.Set; +import java.util.stream.Collector; import javax.annotation.CheckForNull; /** @@ -59,6 +60,18 @@ public final class ImmutableRangeSet<C extends Comparable> extends AbstractRange new ImmutableRangeSet<>(ImmutableList.of(Range.<Comparable<?>>all())); /** + * Returns a {@code Collector} that accumulates the input elements into a new {@code + * ImmutableRangeSet}. As in {@link Builder}, overlapping ranges are not permitted and adjacent + * ranges will be merged. + */ + @SuppressWarnings({"AndroidJdkLibsChecker", "Java7ApiChecker"}) + @IgnoreJRERequirement // Users will use this only if they're already using streams. + static <E extends Comparable<? super E>> + Collector<Range<E>, ?, ImmutableRangeSet<E>> toImmutableRangeSet() { + return CollectCollectors.toImmutableRangeSet(); + } + + /** * Returns an empty immutable range set. * * <p><b>Performance note:</b> the instance returned is a singleton. @@ -355,6 +368,14 @@ public final class ImmutableRangeSet<C extends Comparable> extends AbstractRange boolean isPartialView() { return true; } + + // redeclare to help optimizers with b/310253115 + @SuppressWarnings("RedundantOverride") + @Override + @J2ktIncompatible // serialization + Object writeReplace() { + return super.writeReplace(); + } } @Override @@ -474,6 +495,15 @@ public final class ImmutableRangeSet<C extends Comparable> extends AbstractRange boolean isPartialView() { return true; } + + // redeclare to help optimizers with b/310253115 + @SuppressWarnings("RedundantOverride") + @Override + @J2ktIncompatible // serialization + @GwtIncompatible // serialization + Object writeReplace() { + return super.writeReplace(); + } }; } } |