ADD week 5
This commit is contained in:
12
02-Easy5/E5/sources/kotlin/enums/EnumEntries.java
Normal file
12
02-Easy5/E5/sources/kotlin/enums/EnumEntries.java
Normal file
@ -0,0 +1,12 @@
|
||||
package kotlin.enums;
|
||||
|
||||
import java.lang.Enum;
|
||||
import java.util.List;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.markers.KMappedMarker;
|
||||
|
||||
/* compiled from: EnumEntries.kt */
|
||||
@Metadata(d1 = {"\u0000\u0014\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0010\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0000\bw\u0018\u0000*\u000e\b\u0000\u0010\u0001*\b\u0012\u0004\u0012\u0002H\u00010\u00022\b\u0012\u0004\u0012\u0002H\u00010\u0003\u0082\u0001\u0001\u0004¨\u0006\u0005"}, d2 = {"Lkotlin/enums/EnumEntries;", "E", "", "", "Lkotlin/enums/EnumEntriesList;", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public interface EnumEntries<E extends Enum<E>> extends List<E>, KMappedMarker {
|
||||
}
|
34
02-Easy5/E5/sources/kotlin/enums/EnumEntriesKt.java
Normal file
34
02-Easy5/E5/sources/kotlin/enums/EnumEntriesKt.java
Normal file
@ -0,0 +1,34 @@
|
||||
package kotlin.enums;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.functions.Function0;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* compiled from: EnumEntries.kt */
|
||||
@Metadata(d1 = {"\u0000\u001a\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0010\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\u0011\n\u0002\b\u0003\u001a2\u0010\u0000\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0001\"\u000e\b\u0000\u0010\u0002*\b\u0012\u0004\u0012\u0002H\u00020\u00032\u0012\u0010\u0004\u001a\u000e\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\u00020\u00060\u0005H\u0001\u001a1\u0010\u0000\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0001\"\u000e\b\u0000\u0010\u0002*\b\u0012\u0004\u0012\u0002H\u00020\u00032\f\u0010\u0007\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0006H\u0001¢\u0006\u0002\u0010\b¨\u0006\t"}, d2 = {"enumEntries", "Lkotlin/enums/EnumEntries;", "E", "", "entriesProvider", "Lkotlin/Function0;", "", "entries", "([Ljava/lang/Enum;)Lkotlin/enums/EnumEntries;", "kotlin-stdlib"}, k = 2, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public final class EnumEntriesKt {
|
||||
public static final <E extends Enum<E>> EnumEntries<E> enumEntries(Function0<E[]> entriesProvider) {
|
||||
Intrinsics.checkNotNullParameter(entriesProvider, "entriesProvider");
|
||||
return new EnumEntriesList(entriesProvider);
|
||||
}
|
||||
|
||||
public static final <E extends Enum<E>> EnumEntries<E> enumEntries(final E[] entries) {
|
||||
Intrinsics.checkNotNullParameter(entries, "entries");
|
||||
EnumEntriesList enumEntriesList = new EnumEntriesList(new Function0<E[]>() { // from class: kotlin.enums.EnumEntriesKt$enumEntries$1
|
||||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||||
/* JADX WARN: Incorrect types in method signature: ([TE;)V */
|
||||
{
|
||||
super(0);
|
||||
}
|
||||
|
||||
/* JADX WARN: Incorrect return type in method signature: ()[TE; */
|
||||
@Override // kotlin.jvm.functions.Function0
|
||||
public final Enum[] invoke() {
|
||||
return entries;
|
||||
}
|
||||
});
|
||||
enumEntriesList.size();
|
||||
return enumEntriesList;
|
||||
}
|
||||
}
|
95
02-Easy5/E5/sources/kotlin/enums/EnumEntriesList.java
Normal file
95
02-Easy5/E5/sources/kotlin/enums/EnumEntriesList.java
Normal file
@ -0,0 +1,95 @@
|
||||
package kotlin.enums;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.lang.Enum;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.collections.AbstractList;
|
||||
import kotlin.collections.ArraysKt;
|
||||
import kotlin.jvm.functions.Function0;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* compiled from: EnumEntries.kt */
|
||||
@Metadata(d1 = {"\u0000>\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0010\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\u0011\n\u0002\b\u0007\n\u0002\u0010\b\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\t\n\u0002\u0010\u0000\n\u0000\b\u0003\u0018\u0000*\u000e\b\u0000\u0010\u0001*\b\u0012\u0004\u0012\u0002H\u00010\u00022\b\u0012\u0004\u0012\u0002H\u00010\u00032\b\u0012\u0004\u0012\u0002H\u00010\u00042\u00060\u0005j\u0002`\u0006B\u0019\u0012\u0012\u0010\u0007\u001a\u000e\u0012\n\u0012\b\u0012\u0004\u0012\u00028\u00000\t0\b¢\u0006\u0002\u0010\nJ\u0016\u0010\u0014\u001a\u00020\u00152\u0006\u0010\u0016\u001a\u00028\u0000H\u0096\u0002¢\u0006\u0002\u0010\u0017J\u0016\u0010\u0018\u001a\u00028\u00002\u0006\u0010\u0019\u001a\u00020\u0011H\u0096\u0002¢\u0006\u0002\u0010\u001aJ\u0015\u0010\u001b\u001a\u00020\u00112\u0006\u0010\u0016\u001a\u00028\u0000H\u0016¢\u0006\u0002\u0010\u001cJ\u0015\u0010\u001d\u001a\u00020\u00112\u0006\u0010\u0016\u001a\u00028\u0000H\u0016¢\u0006\u0002\u0010\u001cJ\b\u0010\u001e\u001a\u00020\u001fH\u0002R\u0018\u0010\u000b\u001a\n\u0012\u0004\u0012\u00028\u0000\u0018\u00010\tX\u0082\u000e¢\u0006\u0004\n\u0002\u0010\fR\u001a\u0010\r\u001a\b\u0012\u0004\u0012\u00028\u00000\t8BX\u0082\u0004¢\u0006\u0006\u001a\u0004\b\u000e\u0010\u000fR\u001a\u0010\u0007\u001a\u000e\u0012\n\u0012\b\u0012\u0004\u0012\u00028\u00000\t0\bX\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0010\u001a\u00020\u00118VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0012\u0010\u0013¨\u0006 "}, d2 = {"Lkotlin/enums/EnumEntriesList;", "T", "", "Lkotlin/enums/EnumEntries;", "Lkotlin/collections/AbstractList;", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "entriesProvider", "Lkotlin/Function0;", "", "(Lkotlin/jvm/functions/Function0;)V", "_entries", "[Ljava/lang/Enum;", "entries", "getEntries", "()[Ljava/lang/Enum;", "size", "", "getSize", "()I", "contains", "", "element", "(Ljava/lang/Enum;)Z", "get", "index", "(I)Ljava/lang/Enum;", "indexOf", "(Ljava/lang/Enum;)I", "lastIndexOf", "writeReplace", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
final class EnumEntriesList<T extends Enum<T>> extends AbstractList<T> implements EnumEntries<T>, Serializable {
|
||||
private volatile T[] _entries;
|
||||
private final Function0<T[]> entriesProvider;
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
@Override // kotlin.collections.AbstractCollection, java.util.Collection
|
||||
public final /* bridge */ boolean contains(Object obj) {
|
||||
if (obj instanceof Enum) {
|
||||
return contains((EnumEntriesList<T>) obj);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
@Override // kotlin.collections.AbstractList, java.util.List
|
||||
public final /* bridge */ int indexOf(Object obj) {
|
||||
if (obj instanceof Enum) {
|
||||
return indexOf((EnumEntriesList<T>) obj);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
@Override // kotlin.collections.AbstractList, java.util.List
|
||||
public final /* bridge */ int lastIndexOf(Object obj) {
|
||||
if (obj instanceof Enum) {
|
||||
return lastIndexOf((EnumEntriesList<T>) obj);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public EnumEntriesList(Function0<T[]> entriesProvider) {
|
||||
Intrinsics.checkNotNullParameter(entriesProvider, "entriesProvider");
|
||||
this.entriesProvider = entriesProvider;
|
||||
}
|
||||
|
||||
private final T[] getEntries() {
|
||||
T[] tArr = this._entries;
|
||||
if (tArr != null) {
|
||||
return tArr;
|
||||
}
|
||||
T[] invoke = this.entriesProvider.invoke();
|
||||
this._entries = invoke;
|
||||
return invoke;
|
||||
}
|
||||
|
||||
@Override // kotlin.collections.AbstractList, kotlin.collections.AbstractCollection
|
||||
/* renamed from: getSize */
|
||||
public int get_size() {
|
||||
return getEntries().length;
|
||||
}
|
||||
|
||||
@Override // kotlin.collections.AbstractList, java.util.List
|
||||
public T get(int index) {
|
||||
T[] entries = getEntries();
|
||||
AbstractList.INSTANCE.checkElementIndex$kotlin_stdlib(index, entries.length);
|
||||
return entries[index];
|
||||
}
|
||||
|
||||
public boolean contains(T element) {
|
||||
Intrinsics.checkNotNullParameter(element, "element");
|
||||
return ((Enum) ArraysKt.getOrNull(getEntries(), element.ordinal())) == element;
|
||||
}
|
||||
|
||||
public int indexOf(T element) {
|
||||
Intrinsics.checkNotNullParameter(element, "element");
|
||||
int ordinal = element.ordinal();
|
||||
if (((Enum) ArraysKt.getOrNull(getEntries(), ordinal)) == element) {
|
||||
return ordinal;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public int lastIndexOf(T element) {
|
||||
Intrinsics.checkNotNullParameter(element, "element");
|
||||
return indexOf((Object) element);
|
||||
}
|
||||
|
||||
private final Object writeReplace() {
|
||||
return new EnumEntriesSerializationProxy(getEntries());
|
||||
}
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
package kotlin.enums;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.lang.Enum;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* compiled from: EnumEntriesSerializationProxy.kt */
|
||||
@Metadata(d1 = {"\u0000*\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0010\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0011\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0002\b\u0000\u0018\u0000 \f*\u000e\b\u0000\u0010\u0001*\b\u0012\u0004\u0012\u0002H\u00010\u00022\u00060\u0003j\u0002`\u0004:\u0001\fB\u0013\u0012\f\u0010\u0005\u001a\b\u0012\u0004\u0012\u00028\u00000\u0006¢\u0006\u0002\u0010\u0007J\b\u0010\n\u001a\u00020\u000bH\u0002R\u0014\u0010\b\u001a\b\u0012\u0004\u0012\u00028\u00000\tX\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\r"}, d2 = {"Lkotlin/enums/EnumEntriesSerializationProxy;", "E", "", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "entries", "", "([Ljava/lang/Enum;)V", "c", "Ljava/lang/Class;", "readResolve", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
/* loaded from: classes.dex */
|
||||
public final class EnumEntriesSerializationProxy<E extends Enum<E>> implements Serializable {
|
||||
private static final Companion Companion = new Companion(null);
|
||||
private static final long serialVersionUID = 0;
|
||||
private final Class<E> c;
|
||||
|
||||
public EnumEntriesSerializationProxy(E[] entries) {
|
||||
Intrinsics.checkNotNullParameter(entries, "entries");
|
||||
Class<E> cls = (Class<E>) entries.getClass().getComponentType();
|
||||
Intrinsics.checkNotNull(cls);
|
||||
this.c = cls;
|
||||
}
|
||||
|
||||
/* compiled from: EnumEntriesSerializationProxy.kt */
|
||||
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0082\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u0005"}, d2 = {"Lkotlin/enums/EnumEntriesSerializationProxy$Companion;", "", "()V", "serialVersionUID", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48)
|
||||
private static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
}
|
||||
|
||||
private final Object readResolve() {
|
||||
E[] enumConstants = this.c.getEnumConstants();
|
||||
Intrinsics.checkNotNullExpressionValue(enumConstants, "c.enumConstants");
|
||||
return EnumEntriesKt.enumEntries(enumConstants);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user