.class public final Lkotlin/reflect/jvm/internal/KClassCacheKt; .super Ljava/lang/Object; .source "kClassCache.kt" # annotations .annotation runtime Lkotlin/Metadata; d1 = { "\u0000&\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\u001a\u0008\u0010\u0005\u001a\u00020\u0006H\u0000\u001a&\u0010\u0007\u001a\u0008\u0012\u0004\u0012\u0002H\t0\u0008\"\u0008\u0008\u0000\u0010\t*\u00020\u00042\u000c\u0010\n\u001a\u0008\u0012\u0004\u0012\u0002H\t0\u000bH\u0000\"*\u0010\u0000\u001a\u001e\u0012\u000c\u0012\n \u0003*\u0004\u0018\u00010\u00020\u0002\u0012\u000c\u0012\n \u0003*\u0004\u0018\u00010\u00040\u00040\u0001X\u0082\u000e\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u000c" } d2 = { "K_CLASS_CACHE", "Lkotlin/reflect/jvm/internal/pcollections/HashPMap;", "", "kotlin.jvm.PlatformType", "", "clearKClassCache", "", "getOrCreateKotlinClass", "Lkotlin/reflect/jvm/internal/KClassImpl;", "T", "jClass", "Ljava/lang/Class;", "kotlin-reflection" } k = 0x2 mv = { 0x1, 0x5, 0x1 } .end annotation # static fields .field private static K_CLASS_CACHE:Lkotlin/reflect/jvm/internal/pcollections/HashPMap; .annotation system Ldalvik/annotation/Signature; value = { "Lkotlin/reflect/jvm/internal/pcollections/HashPMap<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;" } .end annotation .end field # direct methods .method static constructor ()V .registers 2 .line 27 invoke-static {}, Lkotlin/reflect/jvm/internal/pcollections/HashPMap;->empty()Lkotlin/reflect/jvm/internal/pcollections/HashPMap; move-result-object v0 const-string v1, "HashPMap.empty()" invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V sput-object v0, Lkotlin/reflect/jvm/internal/KClassCacheKt;->K_CLASS_CACHE:Lkotlin/reflect/jvm/internal/pcollections/HashPMap; return-void .end method .method public static final clearKClassCache()V .registers 2 .line 68 invoke-static {}, Lkotlin/reflect/jvm/internal/pcollections/HashPMap;->empty()Lkotlin/reflect/jvm/internal/pcollections/HashPMap; move-result-object v0 const-string v1, "HashPMap.empty()" invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V sput-object v0, Lkotlin/reflect/jvm/internal/KClassCacheKt;->K_CLASS_CACHE:Lkotlin/reflect/jvm/internal/pcollections/HashPMap; return-void .end method .method public static final getOrCreateKotlinClass(Ljava/lang/Class;)Lkotlin/reflect/jvm/internal/KClassImpl; .registers 10 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "TT;>;)", "Lkotlin/reflect/jvm/internal/KClassImpl<", "TT;>;" } .end annotation const-string v0, "jClass" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 31 invoke-virtual {p0}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object v0 .line 32 sget-object v1, Lkotlin/reflect/jvm/internal/KClassCacheKt;->K_CLASS_CACHE:Lkotlin/reflect/jvm/internal/pcollections/HashPMap; invoke-virtual {v1, v0}, Lkotlin/reflect/jvm/internal/pcollections/HashPMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 .line 33 instance-of v2, v1, Ljava/lang/ref/WeakReference; const/4 v3, 0x0 if-eqz v2, :cond_29 .line 35 check-cast v1, Ljava/lang/ref/WeakReference; invoke-virtual {v1}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object; move-result-object v1 check-cast v1, Lkotlin/reflect/jvm/internal/KClassImpl; if-eqz v1, :cond_22 .line 36 invoke-virtual {v1}, Lkotlin/reflect/jvm/internal/KClassImpl;->getJClass()Ljava/lang/Class; move-result-object v3 :cond_22 invoke-static {v3, p0}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_72 return-object v1 :cond_29 if-eqz v1, :cond_72 .line 42 move-object v2, v1 check-cast v2, [Ljava/lang/ref/WeakReference; .line 43 array-length v4, v2 const/4 v5, 0x0 move v6, v5 :goto_31 if-ge v6, v4, :cond_4d aget-object v7, v2, v6 .line 44 invoke-virtual {v7}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object; move-result-object v7 check-cast v7, Lkotlin/reflect/jvm/internal/KClassImpl; if-eqz v7, :cond_42 .line 45 invoke-virtual {v7}, Lkotlin/reflect/jvm/internal/KClassImpl;->getJClass()Ljava/lang/Class; move-result-object v8 goto :goto_43 :cond_42 move-object v8, v3 :goto_43 invoke-static {v8, p0}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v8 if-eqz v8, :cond_4a return-object v7 :cond_4a add-int/lit8 v6, v6, 0x1 goto :goto_31 .line 52 :cond_4d move-object v2, v1 check-cast v2, [Ljava/lang/Object; array-length v2, v2 add-int/lit8 v3, v2, 0x1 .line 53 new-array v3, v3, [Ljava/lang/ref/WeakReference; .line 55 invoke-static {v1, v5, v3, v5, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 56 new-instance v1, Lkotlin/reflect/jvm/internal/KClassImpl; invoke-direct {v1, p0}, Lkotlin/reflect/jvm/internal/KClassImpl;->(Ljava/lang/Class;)V .line 57 new-instance p0, Ljava/lang/ref/WeakReference; invoke-direct {p0, v1}, Ljava/lang/ref/WeakReference;->(Ljava/lang/Object;)V aput-object p0, v3, v2 .line 58 sget-object p0, Lkotlin/reflect/jvm/internal/KClassCacheKt;->K_CLASS_CACHE:Lkotlin/reflect/jvm/internal/pcollections/HashPMap; invoke-virtual {p0, v0, v3}, Lkotlin/reflect/jvm/internal/pcollections/HashPMap;->plus(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/reflect/jvm/internal/pcollections/HashPMap; move-result-object p0 const-string v0, "K_CLASS_CACHE.plus(name, newArray)" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V sput-object p0, Lkotlin/reflect/jvm/internal/KClassCacheKt;->K_CLASS_CACHE:Lkotlin/reflect/jvm/internal/pcollections/HashPMap; return-object v1 .line 62 :cond_72 new-instance v1, Lkotlin/reflect/jvm/internal/KClassImpl; invoke-direct {v1, p0}, Lkotlin/reflect/jvm/internal/KClassImpl;->(Ljava/lang/Class;)V .line 63 sget-object p0, Lkotlin/reflect/jvm/internal/KClassCacheKt;->K_CLASS_CACHE:Lkotlin/reflect/jvm/internal/pcollections/HashPMap; new-instance v2, Ljava/lang/ref/WeakReference; invoke-direct {v2, v1}, Ljava/lang/ref/WeakReference;->(Ljava/lang/Object;)V invoke-virtual {p0, v0, v2}, Lkotlin/reflect/jvm/internal/pcollections/HashPMap;->plus(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/reflect/jvm/internal/pcollections/HashPMap; move-result-object p0 const-string v0, "K_CLASS_CACHE.plus(name, WeakReference(newKClass))" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V sput-object p0, Lkotlin/reflect/jvm/internal/KClassCacheKt;->K_CLASS_CACHE:Lkotlin/reflect/jvm/internal/pcollections/HashPMap; return-object v1 .end method