295 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			295 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package kotlin.collections;
 | |
| 
 | |
| import java.util.Collection;
 | |
| import java.util.Iterator;
 | |
| import java.util.List;
 | |
| import java.util.ListIterator;
 | |
| import java.util.NoSuchElementException;
 | |
| import java.util.RandomAccess;
 | |
| import kotlin.Metadata;
 | |
| import kotlin.jvm.internal.DefaultConstructorMarker;
 | |
| import kotlin.jvm.internal.Intrinsics;
 | |
| import kotlin.jvm.internal.markers.KMappedMarker;
 | |
| 
 | |
| /* compiled from: AbstractList.kt */
 | |
| @Metadata(d1 = {"\u00008\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010 \n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0002\b\b\n\u0002\u0010(\n\u0002\b\u0002\n\u0002\u0010*\n\u0002\b\b\b'\u0018\u0000 \u001c*\u0006\b\u0000\u0010\u0001 \u00012\b\u0012\u0004\u0012\u0002H\u00010\u00022\b\u0012\u0004\u0012\u0002H\u00010\u0003:\u0004\u001c\u001d\u001e\u001fB\u0007\b\u0004¢\u0006\u0002\u0010\u0004J\u0013\u0010\t\u001a\u00020\n2\b\u0010\u000b\u001a\u0004\u0018\u00010\fH\u0096\u0002J\u0016\u0010\r\u001a\u00028\u00002\u0006\u0010\u000e\u001a\u00020\u0006H¦\u0002¢\u0006\u0002\u0010\u000fJ\b\u0010\u0010\u001a\u00020\u0006H\u0016J\u0015\u0010\u0011\u001a\u00020\u00062\u0006\u0010\u0012\u001a\u00028\u0000H\u0016¢\u0006\u0002\u0010\u0013J\u000f\u0010\u0014\u001a\b\u0012\u0004\u0012\u00028\u00000\u0015H\u0096\u0002J\u0015\u0010\u0016\u001a\u00020\u00062\u0006\u0010\u0012\u001a\u00028\u0000H\u0016¢\u0006\u0002\u0010\u0013J\u000e\u0010\u0017\u001a\b\u0012\u0004\u0012\u00028\u00000\u0018H\u0016J\u0016\u0010\u0017\u001a\b\u0012\u0004\u0012\u00028\u00000\u00182\u0006\u0010\u000e\u001a\u00020\u0006H\u0016J\u001e\u0010\u0019\u001a\b\u0012\u0004\u0012\u00028\u00000\u00032\u0006\u0010\u001a\u001a\u00020\u00062\u0006\u0010\u001b\u001a\u00020\u0006H\u0016R\u0012\u0010\u0005\u001a\u00020\u0006X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0007\u0010\b¨\u0006 "}, d2 = {"Lkotlin/collections/AbstractList;", "E", "Lkotlin/collections/AbstractCollection;", "", "()V", "size", "", "getSize", "()I", "equals", "", "other", "", "get", "index", "(I)Ljava/lang/Object;", "hashCode", "indexOf", "element", "(Ljava/lang/Object;)I", "iterator", "", "lastIndexOf", "listIterator", "", "subList", "fromIndex", "toIndex", "Companion", "IteratorImpl", "ListIteratorImpl", "SubList", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
 | |
| /* loaded from: classes.dex */
 | |
| public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>, KMappedMarker {
 | |
| 
 | |
|     /* renamed from: Companion, reason: from kotlin metadata */
 | |
|     public static final Companion INSTANCE = new Companion(null);
 | |
| 
 | |
|     @Override // java.util.List
 | |
|     public void add(int i, E e) {
 | |
|         throw new UnsupportedOperationException("Operation is not supported for read-only collection");
 | |
|     }
 | |
| 
 | |
|     @Override // java.util.List
 | |
|     public boolean addAll(int i, Collection<? extends E> collection) {
 | |
|         throw new UnsupportedOperationException("Operation is not supported for read-only collection");
 | |
|     }
 | |
| 
 | |
|     @Override // java.util.List
 | |
|     public abstract E get(int index);
 | |
| 
 | |
|     @Override // kotlin.collections.AbstractCollection
 | |
|     /* renamed from: getSize */
 | |
|     public abstract int get_size();
 | |
| 
 | |
|     @Override // java.util.List
 | |
|     public E remove(int i) {
 | |
|         throw new UnsupportedOperationException("Operation is not supported for read-only collection");
 | |
|     }
 | |
| 
 | |
|     @Override // java.util.List
 | |
|     public E set(int i, E e) {
 | |
|         throw new UnsupportedOperationException("Operation is not supported for read-only collection");
 | |
|     }
 | |
| 
 | |
|     protected AbstractList() {
 | |
|     }
 | |
| 
 | |
|     @Override // kotlin.collections.AbstractCollection, java.util.Collection, java.lang.Iterable
 | |
|     public Iterator<E> iterator() {
 | |
|         return new IteratorImpl();
 | |
|     }
 | |
| 
 | |
|     @Override // java.util.List
 | |
|     public int indexOf(E element) {
 | |
|         Iterator<E> it = iterator();
 | |
|         int i = 0;
 | |
|         while (it.hasNext()) {
 | |
|             if (Intrinsics.areEqual(it.next(), element)) {
 | |
|                 return i;
 | |
|             }
 | |
|             i++;
 | |
|         }
 | |
|         return -1;
 | |
|     }
 | |
| 
 | |
|     @Override // java.util.List
 | |
|     public int lastIndexOf(E element) {
 | |
|         AbstractList<E> abstractList = this;
 | |
|         ListIterator<E> listIterator = abstractList.listIterator(abstractList.size());
 | |
|         while (listIterator.hasPrevious()) {
 | |
|             if (Intrinsics.areEqual(listIterator.previous(), element)) {
 | |
|                 return listIterator.nextIndex();
 | |
|             }
 | |
|         }
 | |
|         return -1;
 | |
|     }
 | |
| 
 | |
|     @Override // java.util.List
 | |
|     public ListIterator<E> listIterator() {
 | |
|         return new ListIteratorImpl(0);
 | |
|     }
 | |
| 
 | |
|     @Override // java.util.List
 | |
|     public ListIterator<E> listIterator(int index) {
 | |
|         return new ListIteratorImpl(index);
 | |
|     }
 | |
| 
 | |
|     @Override // java.util.List
 | |
|     public List<E> subList(int fromIndex, int toIndex) {
 | |
|         return new SubList(this, fromIndex, toIndex);
 | |
|     }
 | |
| 
 | |
|     /* compiled from: AbstractList.kt */
 | |
|     @Metadata(d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\n\b\u0002\u0018\u0000*\u0006\b\u0001\u0010\u0001 \u00012\b\u0012\u0004\u0012\u0002H\u00010\u00022\u00060\u0003j\u0002`\u0004B#\u0012\f\u0010\u0005\u001a\b\u0012\u0004\u0012\u00028\u00010\u0002\u0012\u0006\u0010\u0006\u001a\u00020\u0007\u0012\u0006\u0010\b\u001a\u00020\u0007¢\u0006\u0002\u0010\tJ\u0016\u0010\u000e\u001a\u00028\u00012\u0006\u0010\u000f\u001a\u00020\u0007H\u0096\u0002¢\u0006\u0002\u0010\u0010R\u000e\u0010\n\u001a\u00020\u0007X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0005\u001a\b\u0012\u0004\u0012\u00028\u00010\u0002X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u000b\u001a\u00020\u00078VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\f\u0010\r¨\u0006\u0011"}, d2 = {"Lkotlin/collections/AbstractList$SubList;", "E", "Lkotlin/collections/AbstractList;", "Ljava/util/RandomAccess;", "Lkotlin/collections/RandomAccess;", "list", "fromIndex", "", "toIndex", "(Lkotlin/collections/AbstractList;II)V", "_size", "size", "getSize", "()I", "get", "index", "(I)Ljava/lang/Object;", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
 | |
|     private static final class SubList<E> extends AbstractList<E> implements RandomAccess {
 | |
|         private int _size;
 | |
|         private final int fromIndex;
 | |
|         private final AbstractList<E> list;
 | |
| 
 | |
|         @Override // kotlin.collections.AbstractList, kotlin.collections.AbstractCollection
 | |
|         /* renamed from: getSize, reason: from getter */
 | |
|         public int get_size() {
 | |
|             return this._size;
 | |
|         }
 | |
| 
 | |
|         /* JADX WARN: Multi-variable type inference failed */
 | |
|         public SubList(AbstractList<? extends E> list, int i, int i2) {
 | |
|             Intrinsics.checkNotNullParameter(list, "list");
 | |
|             this.list = list;
 | |
|             this.fromIndex = i;
 | |
|             AbstractList.INSTANCE.checkRangeIndexes$kotlin_stdlib(i, i2, list.size());
 | |
|             this._size = i2 - i;
 | |
|         }
 | |
| 
 | |
|         @Override // kotlin.collections.AbstractList, java.util.List
 | |
|         public E get(int index) {
 | |
|             AbstractList.INSTANCE.checkElementIndex$kotlin_stdlib(index, this._size);
 | |
|             return this.list.get(this.fromIndex + index);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // java.util.Collection, java.util.List
 | |
|     public boolean equals(Object other) {
 | |
|         if (other == this) {
 | |
|             return true;
 | |
|         }
 | |
|         if (other instanceof List) {
 | |
|             return INSTANCE.orderedEquals$kotlin_stdlib(this, (Collection) other);
 | |
|         }
 | |
|         return false;
 | |
|     }
 | |
| 
 | |
|     @Override // java.util.Collection, java.util.List
 | |
|     public int hashCode() {
 | |
|         return INSTANCE.orderedHashCode$kotlin_stdlib(this);
 | |
|     }
 | |
| 
 | |
|     /* compiled from: AbstractList.kt */
 | |
|     @Metadata(d1 = {"\u0000\u001c\n\u0002\u0018\u0002\n\u0002\u0010(\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0005\n\u0002\u0010\u000b\n\u0002\b\u0003\b\u0092\u0004\u0018\u00002\b\u0012\u0004\u0012\u00028\u00000\u0001B\u0005¢\u0006\u0002\u0010\u0002J\t\u0010\t\u001a\u00020\nH\u0096\u0002J\u000e\u0010\u000b\u001a\u00028\u0000H\u0096\u0002¢\u0006\u0002\u0010\fR\u001a\u0010\u0003\u001a\u00020\u0004X\u0084\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0005\u0010\u0006\"\u0004\b\u0007\u0010\b¨\u0006\r"}, d2 = {"Lkotlin/collections/AbstractList$IteratorImpl;", "", "(Lkotlin/collections/AbstractList;)V", "index", "", "getIndex", "()I", "setIndex", "(I)V", "hasNext", "", "next", "()Ljava/lang/Object;", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
 | |
|     private class IteratorImpl implements Iterator<E>, KMappedMarker {
 | |
|         private int index;
 | |
| 
 | |
|         protected final int getIndex() {
 | |
|             return this.index;
 | |
|         }
 | |
| 
 | |
|         @Override // java.util.Iterator
 | |
|         public void remove() {
 | |
|             throw new UnsupportedOperationException("Operation is not supported for read-only collection");
 | |
|         }
 | |
| 
 | |
|         protected final void setIndex(int i) {
 | |
|             this.index = i;
 | |
|         }
 | |
| 
 | |
|         public IteratorImpl() {
 | |
|         }
 | |
| 
 | |
|         @Override // java.util.Iterator
 | |
|         public boolean hasNext() {
 | |
|             return this.index < AbstractList.this.size();
 | |
|         }
 | |
| 
 | |
|         @Override // java.util.Iterator
 | |
|         public E next() {
 | |
|             if (!hasNext()) {
 | |
|                 throw new NoSuchElementException();
 | |
|             }
 | |
|             AbstractList<E> abstractList = AbstractList.this;
 | |
|             int i = this.index;
 | |
|             this.index = i + 1;
 | |
|             return abstractList.get(i);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /* compiled from: AbstractList.kt */
 | |
|     @Metadata(d1 = {"\u0000\"\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010*\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0005\b\u0092\u0004\u0018\u00002\f0\u0001R\b\u0012\u0004\u0012\u00028\u00000\u00022\b\u0012\u0004\u0012\u00028\u00000\u0003B\r\u0012\u0006\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006J\b\u0010\u0007\u001a\u00020\bH\u0016J\b\u0010\t\u001a\u00020\u0005H\u0016J\r\u0010\n\u001a\u00028\u0000H\u0016¢\u0006\u0002\u0010\u000bJ\b\u0010\f\u001a\u00020\u0005H\u0016¨\u0006\r"}, d2 = {"Lkotlin/collections/AbstractList$ListIteratorImpl;", "Lkotlin/collections/AbstractList$IteratorImpl;", "Lkotlin/collections/AbstractList;", "", "index", "", "(Lkotlin/collections/AbstractList;I)V", "hasPrevious", "", "nextIndex", "previous", "()Ljava/lang/Object;", "previousIndex", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
 | |
|     private class ListIteratorImpl extends AbstractList<E>.IteratorImpl implements ListIterator<E>, KMappedMarker {
 | |
|         @Override // java.util.ListIterator
 | |
|         public void add(E e) {
 | |
|             throw new UnsupportedOperationException("Operation is not supported for read-only collection");
 | |
|         }
 | |
| 
 | |
|         @Override // java.util.ListIterator
 | |
|         public void set(E e) {
 | |
|             throw new UnsupportedOperationException("Operation is not supported for read-only collection");
 | |
|         }
 | |
| 
 | |
|         public ListIteratorImpl(int i) {
 | |
|             super();
 | |
|             AbstractList.INSTANCE.checkPositionIndex$kotlin_stdlib(i, AbstractList.this.size());
 | |
|             setIndex(i);
 | |
|         }
 | |
| 
 | |
|         @Override // java.util.ListIterator
 | |
|         public boolean hasPrevious() {
 | |
|             return getIndex() > 0;
 | |
|         }
 | |
| 
 | |
|         @Override // java.util.ListIterator
 | |
|         public int nextIndex() {
 | |
|             return getIndex();
 | |
|         }
 | |
| 
 | |
|         @Override // java.util.ListIterator
 | |
|         public E previous() {
 | |
|             if (!hasPrevious()) {
 | |
|                 throw new NoSuchElementException();
 | |
|             }
 | |
|             AbstractList<E> abstractList = AbstractList.this;
 | |
|             setIndex(getIndex() - 1);
 | |
|             return abstractList.get(getIndex());
 | |
|         }
 | |
| 
 | |
|         @Override // java.util.ListIterator
 | |
|         public int previousIndex() {
 | |
|             return getIndex() - 1;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /* compiled from: AbstractList.kt */
 | |
|     @Metadata(d1 = {"\u0000(\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\r\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u001e\n\u0002\b\u0005\b\u0080\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J%\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u00062\u0006\u0010\b\u001a\u00020\u0006H\u0000¢\u0006\u0002\b\tJ\u001d\u0010\n\u001a\u00020\u00042\u0006\u0010\u000b\u001a\u00020\u00062\u0006\u0010\b\u001a\u00020\u0006H\u0000¢\u0006\u0002\b\fJ\u001d\u0010\r\u001a\u00020\u00042\u0006\u0010\u000b\u001a\u00020\u00062\u0006\u0010\b\u001a\u00020\u0006H\u0000¢\u0006\u0002\b\u000eJ%\u0010\u000f\u001a\u00020\u00042\u0006\u0010\u0010\u001a\u00020\u00062\u0006\u0010\u0011\u001a\u00020\u00062\u0006\u0010\b\u001a\u00020\u0006H\u0000¢\u0006\u0002\b\u0012J%\u0010\u0013\u001a\u00020\u00142\n\u0010\u0015\u001a\u0006\u0012\u0002\b\u00030\u00162\n\u0010\u0017\u001a\u0006\u0012\u0002\b\u00030\u0016H\u0000¢\u0006\u0002\b\u0018J\u0019\u0010\u0019\u001a\u00020\u00062\n\u0010\u0015\u001a\u0006\u0012\u0002\b\u00030\u0016H\u0000¢\u0006\u0002\b\u001a¨\u0006\u001b"}, d2 = {"Lkotlin/collections/AbstractList$Companion;", "", "()V", "checkBoundsIndexes", "", "startIndex", "", "endIndex", "size", "checkBoundsIndexes$kotlin_stdlib", "checkElementIndex", "index", "checkElementIndex$kotlin_stdlib", "checkPositionIndex", "checkPositionIndex$kotlin_stdlib", "checkRangeIndexes", "fromIndex", "toIndex", "checkRangeIndexes$kotlin_stdlib", "orderedEquals", "", "c", "", "other", "orderedEquals$kotlin_stdlib", "orderedHashCode", "orderedHashCode$kotlin_stdlib", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
 | |
|     public static final class Companion {
 | |
|         public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
 | |
|             this();
 | |
|         }
 | |
| 
 | |
|         private Companion() {
 | |
|         }
 | |
| 
 | |
|         public final void checkElementIndex$kotlin_stdlib(int index, int size) {
 | |
|             if (index < 0 || index >= size) {
 | |
|                 throw new IndexOutOfBoundsException("index: " + index + ", size: " + size);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         public final void checkPositionIndex$kotlin_stdlib(int index, int size) {
 | |
|             if (index < 0 || index > size) {
 | |
|                 throw new IndexOutOfBoundsException("index: " + index + ", size: " + size);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         public final void checkRangeIndexes$kotlin_stdlib(int fromIndex, int toIndex, int size) {
 | |
|             if (fromIndex < 0 || toIndex > size) {
 | |
|                 throw new IndexOutOfBoundsException("fromIndex: " + fromIndex + ", toIndex: " + toIndex + ", size: " + size);
 | |
|             }
 | |
|             if (fromIndex <= toIndex) {
 | |
|                 return;
 | |
|             }
 | |
|             throw new IllegalArgumentException("fromIndex: " + fromIndex + " > toIndex: " + toIndex);
 | |
|         }
 | |
| 
 | |
|         public final void checkBoundsIndexes$kotlin_stdlib(int startIndex, int endIndex, int size) {
 | |
|             if (startIndex < 0 || endIndex > size) {
 | |
|                 throw new IndexOutOfBoundsException("startIndex: " + startIndex + ", endIndex: " + endIndex + ", size: " + size);
 | |
|             }
 | |
|             if (startIndex <= endIndex) {
 | |
|                 return;
 | |
|             }
 | |
|             throw new IllegalArgumentException("startIndex: " + startIndex + " > endIndex: " + endIndex);
 | |
|         }
 | |
| 
 | |
|         public final int orderedHashCode$kotlin_stdlib(Collection<?> c) {
 | |
|             Intrinsics.checkNotNullParameter(c, "c");
 | |
|             Iterator<?> it = c.iterator();
 | |
|             int i = 1;
 | |
|             while (it.hasNext()) {
 | |
|                 Object next = it.next();
 | |
|                 i = (i * 31) + (next != null ? next.hashCode() : 0);
 | |
|             }
 | |
|             return i;
 | |
|         }
 | |
| 
 | |
|         public final boolean orderedEquals$kotlin_stdlib(Collection<?> c, Collection<?> other) {
 | |
|             Intrinsics.checkNotNullParameter(c, "c");
 | |
|             Intrinsics.checkNotNullParameter(other, "other");
 | |
|             if (c.size() != other.size()) {
 | |
|                 return false;
 | |
|             }
 | |
|             Iterator<?> it = other.iterator();
 | |
|             Iterator<?> it2 = c.iterator();
 | |
|             while (it2.hasNext()) {
 | |
|                 if (!Intrinsics.areEqual(it2.next(), it.next())) {
 | |
|                     return false;
 | |
|                 }
 | |
|             }
 | |
|             return true;
 | |
|         }
 | |
|     }
 | |
| }
 |