.class public final Lkotlin/internal/PlatformImplementationsKt; .super Ljava/lang/Object; .source "PlatformImplementations.kt" # annotations .annotation runtime Lkotlin/Metadata; d1 = { "\u0000\u001e\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0008\n\u0002\u0008\u0004\n\u0002\u0010\u0000\n\u0002\u0008\u0003\u001a \u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u00052\u0006\u0010\u0007\u001a\u00020\u0005H\u0001\u001a\"\u0010\u0008\u001a\u0002H\t\"\n\u0008\u0000\u0010\t\u0018\u0001*\u00020\n2\u0006\u0010\u000b\u001a\u00020\nH\u0083\u0008\u00a2\u0006\u0002\u0010\u000c\"\u0010\u0010\u0000\u001a\u00020\u00018\u0000X\u0081\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006\r" } d2 = { "IMPLEMENTATIONS", "Lkotlin/internal/PlatformImplementations;", "apiVersionIsAtLeast", "", "major", "", "minor", "patch", "castToBaseType", "T", "", "instance", "(Ljava/lang/Object;)Ljava/lang/Object;", "kotlin-stdlib" } k = 0x2 mv = { 0x1, 0x8, 0x0 } xi = 0x30 .end annotation # static fields .field public static final IMPLEMENTATIONS:Lkotlin/internal/PlatformImplementations; # direct methods .method static constructor ()V .locals 9 .line 50 const-string v0, ", base type classloader: " const-string v1, "null cannot be cast to non-null type kotlin.internal.PlatformImplementations" const-string v2, "forName(\"kotlin.internal\u2026entations\").newInstance()" const-string v3, "Instance class was loaded from a different classloader: " .line 52 :try_start_0 const-string v4, "kotlin.internal.jdk8.JDK8PlatformImplementations" invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object v4 invoke-virtual {v4}, Ljava/lang/Class;->newInstance()Ljava/lang/Object; move-result-object v4 invoke-static {v4, v2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V :try_end_0 .catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_1 if-eqz v4, :cond_0 :try_start_1 check-cast v4, Lkotlin/internal/PlatformImplementations; goto/16 :goto_4 :catch_0 move-exception v5 goto :goto_0 :cond_0 new-instance v5, Ljava/lang/NullPointerException; invoke-direct {v5, v1}, Ljava/lang/NullPointerException;->(Ljava/lang/String;)V throw v5 :try_end_1 .catch Ljava/lang/ClassCastException; {:try_start_1 .. :try_end_1} :catch_0 .catch Ljava/lang/ClassNotFoundException; {:try_start_1 .. :try_end_1} :catch_1 :goto_0 :try_start_2 invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v4 invoke-virtual {v4}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v4 const-class v6, Lkotlin/internal/PlatformImplementations; invoke-virtual {v6}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v6 invoke-static {v4, v6}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v7 if-nez v7, :cond_1 new-instance v7, Ljava/lang/ClassNotFoundException; new-instance v8, Ljava/lang/StringBuilder; invoke-direct {v8, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v4 check-cast v5, Ljava/lang/Throwable; invoke-direct {v7, v4, v5}, Ljava/lang/ClassNotFoundException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw v7 :cond_1 throw v5 :try_end_2 .catch Ljava/lang/ClassNotFoundException; {:try_start_2 .. :try_end_2} :catch_1 .line 55 :catch_1 :try_start_3 const-string v4, "kotlin.internal.JRE8PlatformImplementations" invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object v4 invoke-virtual {v4}, Ljava/lang/Class;->newInstance()Ljava/lang/Object; move-result-object v4 invoke-static {v4, v2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V :try_end_3 .catch Ljava/lang/ClassNotFoundException; {:try_start_3 .. :try_end_3} :catch_3 if-eqz v4, :cond_2 :try_start_4 check-cast v4, Lkotlin/internal/PlatformImplementations; goto/16 :goto_4 :catch_2 move-exception v5 goto :goto_1 :cond_2 new-instance v5, Ljava/lang/NullPointerException; invoke-direct {v5, v1}, Ljava/lang/NullPointerException;->(Ljava/lang/String;)V throw v5 :try_end_4 .catch Ljava/lang/ClassCastException; {:try_start_4 .. :try_end_4} :catch_2 .catch Ljava/lang/ClassNotFoundException; {:try_start_4 .. :try_end_4} :catch_3 :goto_1 :try_start_5 invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v4 invoke-virtual {v4}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v4 const-class v6, Lkotlin/internal/PlatformImplementations; invoke-virtual {v6}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v6 invoke-static {v4, v6}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v7 if-nez v7, :cond_3 new-instance v7, Ljava/lang/ClassNotFoundException; new-instance v8, Ljava/lang/StringBuilder; invoke-direct {v8, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v4 check-cast v5, Ljava/lang/Throwable; invoke-direct {v7, v4, v5}, Ljava/lang/ClassNotFoundException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw v7 :cond_3 throw v5 :try_end_5 .catch Ljava/lang/ClassNotFoundException; {:try_start_5 .. :try_end_5} :catch_3 .line 58 :catch_3 :try_start_6 const-string v4, "kotlin.internal.jdk7.JDK7PlatformImplementations" invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object v4 invoke-virtual {v4}, Ljava/lang/Class;->newInstance()Ljava/lang/Object; move-result-object v4 invoke-static {v4, v2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V :try_end_6 .catch Ljava/lang/ClassNotFoundException; {:try_start_6 .. :try_end_6} :catch_5 if-eqz v4, :cond_4 :try_start_7 check-cast v4, Lkotlin/internal/PlatformImplementations; goto/16 :goto_4 :catch_4 move-exception v5 goto :goto_2 :cond_4 new-instance v5, Ljava/lang/NullPointerException; invoke-direct {v5, v1}, Ljava/lang/NullPointerException;->(Ljava/lang/String;)V throw v5 :try_end_7 .catch Ljava/lang/ClassCastException; {:try_start_7 .. :try_end_7} :catch_4 .catch Ljava/lang/ClassNotFoundException; {:try_start_7 .. :try_end_7} :catch_5 :goto_2 :try_start_8 invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v4 invoke-virtual {v4}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v4 const-class v6, Lkotlin/internal/PlatformImplementations; invoke-virtual {v6}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v6 invoke-static {v4, v6}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v7 if-nez v7, :cond_5 new-instance v7, Ljava/lang/ClassNotFoundException; new-instance v8, Ljava/lang/StringBuilder; invoke-direct {v8, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v8, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v4 check-cast v5, Ljava/lang/Throwable; invoke-direct {v7, v4, v5}, Ljava/lang/ClassNotFoundException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw v7 :cond_5 throw v5 :try_end_8 .catch Ljava/lang/ClassNotFoundException; {:try_start_8 .. :try_end_8} :catch_5 .line 61 :catch_5 :try_start_9 const-string v4, "kotlin.internal.JRE7PlatformImplementations" invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object v4 invoke-virtual {v4}, Ljava/lang/Class;->newInstance()Ljava/lang/Object; move-result-object v4 invoke-static {v4, v2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V :try_end_9 .catch Ljava/lang/ClassNotFoundException; {:try_start_9 .. :try_end_9} :catch_7 if-eqz v4, :cond_6 :try_start_a check-cast v4, Lkotlin/internal/PlatformImplementations; goto :goto_4 :catch_6 move-exception v1 goto :goto_3 :cond_6 new-instance v2, Ljava/lang/NullPointerException; invoke-direct {v2, v1}, Ljava/lang/NullPointerException;->(Ljava/lang/String;)V throw v2 :try_end_a .catch Ljava/lang/ClassCastException; {:try_start_a .. :try_end_a} :catch_6 .catch Ljava/lang/ClassNotFoundException; {:try_start_a .. :try_end_a} :catch_7 :goto_3 :try_start_b invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v2 invoke-virtual {v2}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v2 const-class v4, Lkotlin/internal/PlatformImplementations; invoke-virtual {v4}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v4 invoke-static {v2, v4}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v5 if-nez v5, :cond_7 new-instance v5, Ljava/lang/ClassNotFoundException; new-instance v6, Ljava/lang/StringBuilder; invoke-direct {v6, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 check-cast v1, Ljava/lang/Throwable; invoke-direct {v5, v0, v1}, Ljava/lang/ClassNotFoundException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw v5 :cond_7 throw v1 :try_end_b .catch Ljava/lang/ClassNotFoundException; {:try_start_b .. :try_end_b} :catch_7 .line 64 :catch_7 new-instance v4, Lkotlin/internal/PlatformImplementations; invoke-direct {v4}, Lkotlin/internal/PlatformImplementations;->()V .line 50 :goto_4 sput-object v4, Lkotlin/internal/PlatformImplementationsKt;->IMPLEMENTATIONS:Lkotlin/internal/PlatformImplementations; return-void .end method .method public static final apiVersionIsAtLeast(III)Z .locals 1 .line 92 sget-object v0, Lkotlin/KotlinVersion;->CURRENT:Lkotlin/KotlinVersion; invoke-virtual {v0, p0, p1, p2}, Lkotlin/KotlinVersion;->isAtLeast(III)Z move-result p0 return p0 .end method .method private static final synthetic castToBaseType(Ljava/lang/Object;)Ljava/lang/Object; .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Object;", ")TT;" } .end annotation .line 69 const-string v0, "T" const/4 v1, 0x1 .line 70 :try_start_0 invoke-static {v1, v0}, Lkotlin/jvm/internal/Intrinsics;->reifiedOperationMarker(ILjava/lang/String;)V move-object v1, p0 check-cast v1, Ljava/lang/Object; :try_end_0 .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0 return-object p0 :catch_0 move-exception v1 .line 72 invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object p0 invoke-virtual {p0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object p0 const/4 v2, 0x4 invoke-static {v2, v0}, Lkotlin/jvm/internal/Intrinsics;->reifiedOperationMarker(ILjava/lang/String;)V const-class v0, Ljava/lang/Object; move-object v2, v0 check-cast v2, Ljava/lang/Class; .line 73 invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v0 .line 74 invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v2 if-nez v2, :cond_0 .line 75 new-instance v2, Ljava/lang/ClassNotFoundException; new-instance v3, Ljava/lang/StringBuilder; const-string v4, "Instance class was loaded from a different classloader: " invoke-direct {v3, v4}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p0 const-string v3, ", base type classloader: " invoke-virtual {p0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 check-cast v1, Ljava/lang/Throwable; invoke-direct {v2, p0, v1}, Ljava/lang/ClassNotFoundException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw v2 .line 77 :cond_0 throw v1 .end method