aboutsummaryrefslogtreecommitdiff
path: root/guava/src/com/google/common/collect/ImmutableSetMultimap.java
diff options
context:
space:
mode:
Diffstat (limited to 'guava/src/com/google/common/collect/ImmutableSetMultimap.java')
-rw-r--r--guava/src/com/google/common/collect/ImmutableSetMultimap.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/guava/src/com/google/common/collect/ImmutableSetMultimap.java b/guava/src/com/google/common/collect/ImmutableSetMultimap.java
index 4887ae79b..b1f8438cd 100644
--- a/guava/src/com/google/common/collect/ImmutableSetMultimap.java
+++ b/guava/src/com/google/common/collect/ImmutableSetMultimap.java
@@ -17,6 +17,7 @@
package com.google.common.collect;
import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.Objects.requireNonNull;
import com.google.common.annotations.GwtCompatible;
import com.google.common.annotations.GwtIncompatible;
@@ -552,6 +553,15 @@ public class ImmutableSetMultimap<K, V> extends ImmutableMultimap<K, V>
boolean isPartialView() {
return false;
}
+
+ // redeclare to help optimizers with b/310253115
+ @SuppressWarnings("RedundantOverride")
+ @Override
+ @J2ktIncompatible // serialization
+ @GwtIncompatible // serialization
+ Object writeReplace() {
+ return super.writeReplace();
+ }
}
private static <V> ImmutableSet<V> valueSet(
@@ -615,7 +625,7 @@ public class ImmutableSetMultimap<K, V> extends ImmutableMultimap<K, V>
int tmpSize = 0;
for (int i = 0; i < keyCount; i++) {
- Object key = stream.readObject();
+ Object key = requireNonNull(stream.readObject());
int valueCount = stream.readInt();
if (valueCount <= 0) {
throw new InvalidObjectException("Invalid value count " + valueCount);
@@ -623,7 +633,7 @@ public class ImmutableSetMultimap<K, V> extends ImmutableMultimap<K, V>
ImmutableSet.Builder<Object> valuesBuilder = valuesBuilder(valueComparator);
for (int j = 0; j < valueCount; j++) {
- valuesBuilder.add(stream.readObject());
+ valuesBuilder.add(requireNonNull(stream.readObject()));
}
ImmutableSet<Object> valueSet = valuesBuilder.build();
if (valueSet.size() != valueCount) {