Files
rr3-apk/decompiled-community/sources/com/google/common/collect/ImmutableList.java
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

387 lines
12 KiB
Java

package com.google.common.collect;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableCollection;
import java.io.InvalidObjectException;
import java.io.ObjectInputStream;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Collection;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.RandomAccess;
/* loaded from: classes3.dex */
public abstract class ImmutableList extends ImmutableCollection implements List, RandomAccess {
public static final UnmodifiableListIterator EMPTY_ITR = new Itr(RegularImmutableList.EMPTY, 0);
@Override // com.google.common.collect.ImmutableCollection
public final ImmutableList asList() {
return this;
}
public static ImmutableList of() {
return RegularImmutableList.EMPTY;
}
public static ImmutableList of(Object obj) {
return construct(obj);
}
public static ImmutableList of(Object obj, Object obj2) {
return construct(obj, obj2);
}
public static ImmutableList of(Object obj, Object obj2, Object obj3) {
return construct(obj, obj2, obj3);
}
public static ImmutableList of(Object obj, Object obj2, Object obj3, Object obj4, Object obj5, Object obj6, Object obj7) {
return construct(obj, obj2, obj3, obj4, obj5, obj6, obj7);
}
public static ImmutableList copyOf(Collection collection) {
if (collection instanceof ImmutableCollection) {
ImmutableList asList = ((ImmutableCollection) collection).asList();
return asList.isPartialView() ? asImmutableList(asList.toArray()) : asList;
}
return construct(collection.toArray());
}
public static ImmutableList copyOf(Object[] objArr) {
if (objArr.length == 0) {
return of();
}
return construct((Object[]) objArr.clone());
}
public static ImmutableList sortedCopyOf(Comparator comparator, Iterable iterable) {
Preconditions.checkNotNull(comparator);
Object[] array = Iterables.toArray(iterable);
ObjectArrays.checkElementsNotNull(array);
Arrays.sort(array, comparator);
return asImmutableList(array);
}
public static ImmutableList construct(Object... objArr) {
return asImmutableList(ObjectArrays.checkElementsNotNull(objArr));
}
public static ImmutableList asImmutableList(Object[] objArr) {
return asImmutableList(objArr, objArr.length);
}
public static ImmutableList asImmutableList(Object[] objArr, int i) {
if (i == 0) {
return of();
}
return new RegularImmutableList(objArr, i);
}
@Override // java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.List
public UnmodifiableIterator iterator() {
return listIterator();
}
@Override // java.util.List
public UnmodifiableListIterator listIterator() {
return listIterator(0);
}
@Override // java.util.List
public UnmodifiableListIterator listIterator(int i) {
Preconditions.checkPositionIndex(i, size());
return isEmpty() ? EMPTY_ITR : new Itr(this, i);
}
public static class Itr extends AbstractIndexedListIterator {
public final ImmutableList list;
public Itr(ImmutableList immutableList, int i) {
super(immutableList.size(), i);
this.list = immutableList;
}
@Override // com.google.common.collect.AbstractIndexedListIterator
public Object get(int i) {
return this.list.get(i);
}
}
@Override // java.util.List
public int indexOf(Object obj) {
if (obj == null) {
return -1;
}
return Lists.indexOfImpl(this, obj);
}
@Override // java.util.List
public int lastIndexOf(Object obj) {
if (obj == null) {
return -1;
}
return Lists.lastIndexOfImpl(this, obj);
}
@Override // com.google.common.collect.ImmutableCollection, java.util.AbstractCollection, java.util.Collection
public boolean contains(Object obj) {
return indexOf(obj) >= 0;
}
@Override // java.util.List
public ImmutableList subList(int i, int i2) {
Preconditions.checkPositionIndexes(i, i2, size());
int i3 = i2 - i;
if (i3 == size()) {
return this;
}
if (i3 == 0) {
return of();
}
return subListUnchecked(i, i2);
}
public ImmutableList subListUnchecked(int i, int i2) {
return new SubList(i, i2 - i);
}
public class SubList extends ImmutableList {
public final transient int length;
public final transient int offset;
@Override // com.google.common.collect.ImmutableCollection
public boolean isPartialView() {
return true;
}
@Override // java.util.AbstractCollection, java.util.Collection, java.util.List
public int size() {
return this.length;
}
@Override // com.google.common.collect.ImmutableList, java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.List
public /* bridge */ /* synthetic */ Iterator iterator() {
return super.iterator();
}
@Override // com.google.common.collect.ImmutableList, java.util.List
public /* bridge */ /* synthetic */ ListIterator listIterator() {
return super.listIterator();
}
@Override // com.google.common.collect.ImmutableList, java.util.List
public /* bridge */ /* synthetic */ ListIterator listIterator(int i) {
return super.listIterator(i);
}
public SubList(int i, int i2) {
this.offset = i;
this.length = i2;
}
@Override // com.google.common.collect.ImmutableCollection
public Object[] internalArray() {
return ImmutableList.this.internalArray();
}
@Override // com.google.common.collect.ImmutableCollection
public int internalArrayStart() {
return ImmutableList.this.internalArrayStart() + this.offset;
}
@Override // com.google.common.collect.ImmutableCollection
public int internalArrayEnd() {
return ImmutableList.this.internalArrayStart() + this.offset + this.length;
}
@Override // java.util.List
public Object get(int i) {
Preconditions.checkElementIndex(i, this.length);
return ImmutableList.this.get(i + this.offset);
}
@Override // com.google.common.collect.ImmutableList, java.util.List
public ImmutableList subList(int i, int i2) {
Preconditions.checkPositionIndexes(i, i2, this.length);
ImmutableList immutableList = ImmutableList.this;
int i3 = this.offset;
return immutableList.subList(i + i3, i2 + i3);
}
}
@Override // java.util.List
public final boolean addAll(int i, Collection collection) {
throw new UnsupportedOperationException();
}
@Override // java.util.List
public final Object set(int i, Object obj) {
throw new UnsupportedOperationException();
}
@Override // java.util.List
public final void add(int i, Object obj) {
throw new UnsupportedOperationException();
}
@Override // java.util.List
public final Object remove(int i) {
throw new UnsupportedOperationException();
}
@Override // com.google.common.collect.ImmutableCollection
public int copyIntoArray(Object[] objArr, int i) {
int size = size();
for (int i2 = 0; i2 < size; i2++) {
objArr[i + i2] = get(i2);
}
return i + size;
}
public ImmutableList reverse() {
return size() <= 1 ? this : new ReverseImmutableList(this);
}
public static class ReverseImmutableList extends ImmutableList {
public final transient ImmutableList forwardList;
@Override // com.google.common.collect.ImmutableList
public ImmutableList reverse() {
return this.forwardList;
}
@Override // com.google.common.collect.ImmutableList, java.util.AbstractCollection, java.util.Collection, java.lang.Iterable, java.util.List
public /* bridge */ /* synthetic */ Iterator iterator() {
return super.iterator();
}
@Override // com.google.common.collect.ImmutableList, java.util.List
public /* bridge */ /* synthetic */ ListIterator listIterator() {
return super.listIterator();
}
@Override // com.google.common.collect.ImmutableList, java.util.List
public /* bridge */ /* synthetic */ ListIterator listIterator(int i) {
return super.listIterator(i);
}
public ReverseImmutableList(ImmutableList immutableList) {
this.forwardList = immutableList;
}
public final int reverseIndex(int i) {
return (size() - 1) - i;
}
public final int reversePosition(int i) {
return size() - i;
}
@Override // com.google.common.collect.ImmutableList, com.google.common.collect.ImmutableCollection, java.util.AbstractCollection, java.util.Collection
public boolean contains(Object obj) {
return this.forwardList.contains(obj);
}
@Override // com.google.common.collect.ImmutableList, java.util.List
public int indexOf(Object obj) {
int lastIndexOf = this.forwardList.lastIndexOf(obj);
if (lastIndexOf >= 0) {
return reverseIndex(lastIndexOf);
}
return -1;
}
@Override // com.google.common.collect.ImmutableList, java.util.List
public int lastIndexOf(Object obj) {
int indexOf = this.forwardList.indexOf(obj);
if (indexOf >= 0) {
return reverseIndex(indexOf);
}
return -1;
}
@Override // com.google.common.collect.ImmutableList, java.util.List
public ImmutableList subList(int i, int i2) {
Preconditions.checkPositionIndexes(i, i2, size());
return this.forwardList.subList(reversePosition(i2), reversePosition(i)).reverse();
}
@Override // java.util.List
public Object get(int i) {
Preconditions.checkElementIndex(i, size());
return this.forwardList.get(reverseIndex(i));
}
@Override // java.util.AbstractCollection, java.util.Collection, java.util.List
public int size() {
return this.forwardList.size();
}
@Override // com.google.common.collect.ImmutableCollection
public boolean isPartialView() {
return this.forwardList.isPartialView();
}
}
@Override // java.util.Collection, java.util.List
public boolean equals(Object obj) {
return Lists.equalsImpl(this, obj);
}
@Override // java.util.Collection, java.util.List
public int hashCode() {
int size = size();
int i = 1;
for (int i2 = 0; i2 < size; i2++) {
i = ~(~((i * 31) + get(i2).hashCode()));
}
return i;
}
public static class SerializedForm implements Serializable {
private static final long serialVersionUID = 0;
public final Object[] elements;
public SerializedForm(Object[] objArr) {
this.elements = objArr;
}
public Object readResolve() {
return ImmutableList.copyOf(this.elements);
}
}
private void readObject(ObjectInputStream objectInputStream) throws InvalidObjectException {
throw new InvalidObjectException("Use SerializedForm");
}
@Override // com.google.common.collect.ImmutableCollection
public Object writeReplace() {
return new SerializedForm(toArray());
}
public static final class Builder extends ImmutableCollection.ArrayBasedBuilder {
public Builder() {
this(4);
}
public Builder(int i) {
super(i);
}
@Override // com.google.common.collect.ImmutableCollection.ArrayBasedBuilder
public Builder add(Object... objArr) {
super.add(objArr);
return this;
}
public ImmutableList build() {
this.forceCopy = true;
return ImmutableList.asImmutableList(this.contents, this.size);
}
}
}