aboutsummaryrefslogtreecommitdiff
path: root/guava/src/com/google/common/collect/RegularImmutableList.java
diff options
context:
space:
mode:
Diffstat (limited to 'guava/src/com/google/common/collect/RegularImmutableList.java')
-rw-r--r--guava/src/com/google/common/collect/RegularImmutableList.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/guava/src/com/google/common/collect/RegularImmutableList.java b/guava/src/com/google/common/collect/RegularImmutableList.java
index 397147d70..915c6e2c7 100644
--- a/guava/src/com/google/common/collect/RegularImmutableList.java
+++ b/guava/src/com/google/common/collect/RegularImmutableList.java
@@ -17,6 +17,8 @@
package com.google.common.collect;
import com.google.common.annotations.GwtCompatible;
+import com.google.common.annotations.GwtIncompatible;
+import com.google.common.annotations.J2ktIncompatible;
import com.google.common.annotations.VisibleForTesting;
import java.util.Spliterator;
import java.util.Spliterators;
@@ -82,7 +84,7 @@ class RegularImmutableList<E> extends ImmutableList<E> {
public UnmodifiableListIterator<E> listIterator(int index) {
// for performance
// The fake cast to E is safe because the creation methods only allow E's
- return (UnmodifiableListIterator<E>) Iterators.forArray(array, 0, array.length, index);
+ return (UnmodifiableListIterator<E>) Iterators.forArrayWithPosition(array, index);
}
@Override
@@ -91,4 +93,13 @@ class RegularImmutableList<E> extends ImmutableList<E> {
}
// TODO(lowasser): benchmark optimizations for equals() and see if they're worthwhile
+
+ // redeclare to help optimizers with b/310253115
+ @SuppressWarnings("RedundantOverride")
+ @Override
+ @J2ktIncompatible // serialization
+ @GwtIncompatible // serialization
+ Object writeReplace() {
+ return super.writeReplace();
+ }
}