41 lines
2.9 KiB
Java
41 lines
2.9 KiB
Java
package kotlin.reflect.jvm.internal;
|
|
|
|
import java.util.concurrent.ConcurrentHashMap;
|
|
import kotlin.Metadata;
|
|
import kotlin.jvm.functions.Function1;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
import kotlin.jvm.internal.SourceDebugExtension;
|
|
|
|
@Metadata(d1 = {"\u0000&\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0004\b\u0002\u0018\u0000*\u0004\b\u0000\u0010\u00012\b\u0012\u0004\u0012\u0002H\u00010\u0002B\u001d\u0012\u0016\u0010\u0003\u001a\u0012\u0012\b\u0012\u0006\u0012\u0002\b\u00030\u0005\u0012\u0004\u0012\u00028\u00000\u0004¢\u0006\u0002\u0010\u0006J\b\u0010\t\u001a\u00020\nH\u0016J\u0019\u0010\u000b\u001a\u00028\u00002\n\u0010\f\u001a\u0006\u0012\u0002\b\u00030\u0005H\u0016¢\u0006\u0002\u0010\rR\u001e\u0010\u0007\u001a\u0012\u0012\b\u0012\u0006\u0012\u0002\b\u00030\u0005\u0012\u0004\u0012\u00028\u00000\bX\u0082\u0004¢\u0006\u0002\n\u0000R\u001e\u0010\u0003\u001a\u0012\u0012\b\u0012\u0006\u0012\u0002\b\u00030\u0005\u0012\u0004\u0012\u00028\u00000\u0004X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u000e"}, d2 = {"Lkotlin/reflect/jvm/internal/ConcurrentHashMapCache;", "V", "Lkotlin/reflect/jvm/internal/CacheByClass;", "compute", "Lkotlin/Function1;", "Ljava/lang/Class;", "(Lkotlin/jvm/functions/Function1;)V", "cache", "Ljava/util/concurrent/ConcurrentHashMap;", "clear", "", "get", "key", "(Ljava/lang/Class;)Ljava/lang/Object;", "kotlin-reflection"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
|
@SourceDebugExtension({"SMAP\nCacheByClass.kt\nKotlin\n*S Kotlin\n*F\n+ 1 CacheByClass.kt\nkotlin/reflect/jvm/internal/ConcurrentHashMapCache\n+ 2 MapsJVM.kt\nkotlin/collections/MapsKt__MapsJVMKt\n+ 3 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,98:1\n72#2,2:99\n1#3:101\n*S KotlinDebug\n*F\n+ 1 CacheByClass.kt\nkotlin/reflect/jvm/internal/ConcurrentHashMapCache\n*L\n92#1:99,2\n92#1:101\n*E\n"})
|
|
/* loaded from: classes3.dex */
|
|
final class ConcurrentHashMapCache<V> extends CacheByClass<V> {
|
|
private final ConcurrentHashMap<Class<?>, V> cache;
|
|
private final Function1<Class<?>, V> compute;
|
|
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
public ConcurrentHashMapCache(Function1<? super Class<?>, ? extends V> compute) {
|
|
Intrinsics.checkNotNullParameter(compute, "compute");
|
|
this.compute = compute;
|
|
this.cache = new ConcurrentHashMap<>();
|
|
}
|
|
|
|
@Override // kotlin.reflect.jvm.internal.CacheByClass
|
|
public void clear() {
|
|
this.cache.clear();
|
|
}
|
|
|
|
@Override // kotlin.reflect.jvm.internal.CacheByClass
|
|
public V get(Class<?> key) {
|
|
Intrinsics.checkNotNullParameter(key, "key");
|
|
ConcurrentHashMap<Class<?>, V> concurrentHashMap = this.cache;
|
|
V v3 = (V) concurrentHashMap.get(key);
|
|
if (v3 != null) {
|
|
return v3;
|
|
}
|
|
V invoke = this.compute.invoke(key);
|
|
V v4 = (V) concurrentHashMap.putIfAbsent(key, invoke);
|
|
return v4 == null ? invoke : v4;
|
|
}
|
|
}
|